- New tools/oci_bom_gen.py: generates .xlsx BOM from YAML spec with
Oracle Redwood styling, Excel formulas, and Oracle disclaimer.
Supports standard BOM (--output) and AppCA import format (--appca)
- New tools/refresh_sku_catalog.py: refreshes SKU catalog prices from
Oracle's public pricing API (apexapps.oracle.com)
- New kb/pricing/oci-sku-catalog.yaml: ~160 OCI SKUs across 14
categories, validated against Oracle API
- New templates/bom-spec.yaml: input spec template for BOM generation
- Add SA TOOLS section to SKILL.md (options 13-14)
- Register BOM generator in oci_output.py
81 lines
7.5 KiB
JSON
81 lines
7.5 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(python:*)",
|
|
"Bash(which python3:*)",
|
|
"Read(//mnt/c/Users/Diego/Downloads/gol-ecommerce-oci-1-oracle/gol-ecommerce-on-oci-1-oracle/**)",
|
|
"Bash(python3:*)",
|
|
"Bash(pip search:*)",
|
|
"WebFetch(domain:pypi.org)",
|
|
"WebSearch",
|
|
"Bash(python3.12 -c \"\nfrom drawpyo.diagram.edges import line_ends_db\nprint\\('open:', line_ends_db['open']\\)\nprint\\('none:', line_ends_db['none']\\)\nprint\\('classic:', line_ends_db['classic']\\)\n\" 2>&1)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/simple-hybrid-adb-gg.yaml --output /tmp/test-hybrid.drawio 2>&1)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/diagram-spec.yaml --output /tmp/test-ecommerce.drawio 2>&1)",
|
|
"Bash(python3.12 -c \"from tools.oci_diagram_gen import OCIDiagramGenerator; print\\('Diagram Generator OK'\\)\" 2>&1)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/migration-adb-ha-dr.yaml --output /tmp/test-migration.drawio 2>&1)",
|
|
"Bash(git:*)",
|
|
"Bash(python3.12 tools/oci_deck_gen.py --spec examples/farma-sa-proposal-spec.yaml --output examples/farma-sa-proposal-v2.pptx --template '/mnt/c/Users/Diego/Downloads/Oracle Database Icon Library [July, 2024].pptx' 2>&1)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/simple-hybrid-adb-gg.yaml --output examples/simple-hybrid-adb-gg.drawio 2>&1)",
|
|
"Bash(python3.12 tools/oci_deck_gen.py --spec examples/farma-sa-proposal-spec.yaml --output examples/farma-sa-proposal-v3.pptx --template '/mnt/c/Users/Diego/Downloads/Oracle Database Icon Library [July, 2024].pptx' 2>&1)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/diagram-spec.yaml --output examples/ecommerce-architecture.drawio 2>&1)",
|
|
"Bash(chmod:*)",
|
|
"Bash(pip install:*)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/diagram-spec-select-ai-apex.yaml --output examples/select-ai-apex-architecture.drawio)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/diagram-spec.yaml --output examples/e-commerce-architecture.drawio)",
|
|
"Bash(SVG=\"/mnt/c/Users/Diego/Downloads/select-ai-apex-architecture-oracle/select-ai-apex-architecture-oracle/select-ai-apex-architecture-skill.svg\" grep -oP 'viewBox=\"\"\"\"[^\"\"\"\"]*\"\"\"\"' \"$SVG\" grep -oP 'width=\"\"\"\"[^\"\"\"\"]*\"\"\"\"' \"$SVG\")",
|
|
"Bash(SVG=\"/mnt/c/Users/Diego/Downloads/select-ai-apex-architecture-oracle/select-ai-apex-architecture-oracle/select-ai-apex-architecture-skill.svg\")",
|
|
"Read(//mnt/c/Users/Diego/Documents/oci-deal-accelerator/oci-deal-accelerator/**)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/diagram-spec-aws-oci-exacs.yaml --output examples/aws-oci-exacs-architecture.drawio)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/diagram-spec-adb-mysql-prod-test.yaml --output examples/adb-mysql-prod-test-architecture.drawio)",
|
|
"WebFetch(domain:www.oracle.com)",
|
|
"WebFetch(domain:aws.amazon.com)",
|
|
"WebFetch(domain:blogs.oracle.com)",
|
|
"WebFetch(domain:www.ateam-oracle.com)",
|
|
"Bash(python3.12 tools/oci_deck_gen.py --spec examples/proposal-spec-multicloud-dr.yaml --output examples/proposal-multicloud-dr.pptx 2>&1)",
|
|
"WebFetch(domain:apexadb.oracle.com)",
|
|
"Bash(curl -v --max-time 10 \"https://apexadb.oracle.com/ords/dbexpert/\")",
|
|
"Bash(curl -s --http1.1 --max-time 15 -w \"\\\\n---HTTP_CODE:%{http_code}---\" \"https://apexadb.oracle.com/ords/dbexpert/\")",
|
|
"Bash(curl -s --http1.1 --max-time 15 -H \"Accept: application/json\" -w \"\\\\n---HTTP_CODE:%{http_code}---\" \"https://apexadb.oracle.com/ords/dbexpert/metadata-catalog/\")",
|
|
"WebFetch(domain:www.thatjeffsmith.com)",
|
|
"WebFetch(domain:oracle-base.com)",
|
|
"Bash(curl -v -s -X GET 'https://apexadb.oracle.com/ords/dbexpert/db-services/v1/all' -H 'accept: application/json' -H 'User-Agent: Mozilla/5.0' --http1.1 --max-time 30 -o /tmp/dbexpert.json -w \"\\\\nHTTP_CODE:%{http_code}\\\\n\")",
|
|
"Bash(python3.12 tools/oci_bizcase_gen.py --spec examples/business-case-acme-retail.yaml --output examples/business-case-acme-retail.pptx 2>&1)",
|
|
"Bash(python3.12 tools/oci_bizcase_gen.py --spec examples/business-case-acme-retail.yaml --output examples/business-case-acme-retail-v2.pptx 2>&1)",
|
|
"Bash(python3.12 tools/oci_deck_gen.py --spec examples/proposal-spec.yaml --output examples/proposal-acme-retail.pptx 2>&1)",
|
|
"Read(//usr/local/bin/**)",
|
|
"Read(//usr/bin/**)",
|
|
"Bash(/usr/bin/python3.12 tools/oci_pdf_gen.py --spec examples/proposal-spec.yaml --output examples/proposal-customer.pdf 2>&1)",
|
|
"Bash(apt-get install:*)",
|
|
"Bash(python3.12 -c \"\nfrom pptx import Presentation\nprs = Presentation\\('templates/Oracle_PPT-template_FY26.pptx'\\)\nprint\\(f'Total layouts: {len\\(prs.slide_layouts\\)}'\\)\nfor i, layout in enumerate\\(prs.slide_layouts\\):\n print\\(f' {i:3d}: {layout.name}'\\)\n\" 2>&1)",
|
|
"Bash(pip3 show:*)",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/diagram-spec-aws-adb-dr-toronto.yaml --output examples/aws-adb-dr-toronto.drawio 2>&1)",
|
|
"Bash(dpkg -l)",
|
|
"Bash(npm list:*)",
|
|
"Bash(pip list:*)",
|
|
"Bash(pip3 install:*)",
|
|
"Read(//usr/local/lib/**)",
|
|
"Bash(find / -name python3* -type f -executable)",
|
|
"Bash(/usr/bin/python3 -m pip install python-pptx)",
|
|
"Bash(PYTHONPATH=/tmp/pptx_lib python3 -c \"from pptx import Presentation; print\\(''''OK''''\\)\")",
|
|
"Bash(PYTHONPATH=/tmp/pptx_ok python3 -c \"from pptx import Presentation; print\\(''''OK''''\\)\")",
|
|
"Bash(PYTHONPATH=/tmp/pptx_ok python3 /tmp/migrate_to_oracle.py)",
|
|
"Bash(PYTHONPATH=/tmp/pptx_ok python3 -c \"\nfrom pptx import Presentation\nprs = Presentation\\('/mnt/c/Users/Diego/Documents/oci-deal-accelerator/oci-deal-accelerator/templates/Oracle_PPT-template_FY26.pptx'\\)\nprint\\('Template has {} existing slides'.format\\(len\\(prs.slides\\)\\)\\)\n\")",
|
|
"Bash(grep:*)",
|
|
"Bash(ls \"/mnt/c/Users/Diego/Documents/oci-deal-accelerator-oracle/oci-deal-accelerator/templates/Oracle_PPT\"*)",
|
|
"Bash(ls \"/mnt/c/Users/Diego/Documents/oci-deal-accelerator-oracle/oci-deal-accelerator/templates/\"*.pptx)",
|
|
"Bash(ls \"/mnt/c/Users/Diego/Documents/oci-deal-accelerator-oracle/oci-deal-accelerator/templates/\"*.potx)",
|
|
"Bash(python3.12 -c \"import drawpyo\")",
|
|
"Bash(python3.12 tools/oci_diagram_gen.py --spec examples/output-meli-kvs/diagram-spec.yaml --output examples/output-meli-kvs/architecture.drawio)",
|
|
"Bash(python3.12 tools/oci_pdf_gen.py --spec examples/output-meli-kvs/proposal-spec.yaml --output examples/output-meli-kvs/customer-proposal.pdf)",
|
|
"Bash(python3.12 -c \":*)",
|
|
"Bash(python3.12 tools/oci_deck_gen.py --spec examples/output-meli-kvs/proposal-spec.yaml --output examples/output-meli-kvs/architecture-proposal.pptx)",
|
|
"Bash(python3.12 tools/oci_bizcase_gen.py --spec examples/output-meli-kvs/business-case.yaml --output examples/output-meli-kvs/business-case.pptx)",
|
|
"Bash(python3 -c \":*)",
|
|
"WebFetch(domain:github.com)",
|
|
"Bash(curl -s --max-time 15 -H \"X-Oracle-Accept-CurrencyCode: USD\" \"https://itra.oraclecloud.com/itas/.anon/myservices/api/v1/products?limit=2&partNumber=B110627\")",
|
|
"Bash(curl -v --max-time 10 -H \"X-Oracle-Accept-CurrencyCode: USD\" \"https://itra.oraclecloud.com/itas/.anon/myservices/api/v1/products?limit=1\")",
|
|
"Bash(curl -s --max-time 15 \"https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/?partNumber=B110627¤cyCode=USD\")"
|
|
]
|
|
}
|
|
}
|