@hybridlabor-api/aos 4.4.1 → 4.4.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/firecrawl/SKILL.md +149 -0
- package/.agents/skills/firecrawl/rules/install.md +82 -0
- package/.agents/skills/firecrawl/rules/security.md +26 -0
- package/.agents/skills/firecrawl-agent/SKILL.md +58 -0
- package/.agents/skills/firecrawl-build/SKILL.md +39 -0
- package/.agents/skills/firecrawl-build-interact/SKILL.md +68 -0
- package/.agents/skills/firecrawl-build-onboarding/SKILL.md +103 -0
- package/.agents/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
- package/.agents/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
- package/.agents/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
- package/.agents/skills/firecrawl-build-scrape/SKILL.md +69 -0
- package/.agents/skills/firecrawl-build-search/SKILL.md +69 -0
- package/.agents/skills/firecrawl-crawl/SKILL.md +59 -0
- package/.agents/skills/firecrawl-download/SKILL.md +70 -0
- package/.agents/skills/firecrawl-interact/SKILL.md +84 -0
- package/.agents/skills/firecrawl-map/SKILL.md +51 -0
- package/.agents/skills/firecrawl-scrape/SKILL.md +69 -0
- package/.agents/skills/firecrawl-search/SKILL.md +60 -0
- package/CLAUDE.md +573 -0
- package/README.de.md +0 -8
- package/README.md +0 -8
- package/README.pt.md +0 -8
- package/assets/brand/ao-ant-mark.svg +91 -0
- package/assets/brand/bdb-core-mark.svg +34 -0
- package/assets/brand/heimdall-guardian-mark.svg +16 -0
- package/assets/brand/memb-crystal-mark.svg +18 -0
- package/bin/aos-config.mjs +89 -0
- package/bin/aos-dashboard.mjs +608 -0
- package/bin/aos-uninstall.mjs +227 -0
- package/docs/sessions/audit-2026-09-14-silent-failures.md +114 -0
- package/docs/skills_table.md +0 -3
- package/installer.js +471 -237
- package/mcps/RhinoMCP/cc-plugin/.claude/settings.json +10 -0
- package/mcps/after-effects-mcp/build/index.js +840 -0
- package/mcps/after-effects-mcp/build/scripts/applyEffect.jsx +153 -0
- package/mcps/after-effects-mcp/build/scripts/applyEffectTemplate.jsx +218 -0
- package/mcps/after-effects-mcp/build/scripts/createComposition.jsx +71 -0
- package/mcps/after-effects-mcp/build/scripts/createShapeLayer.jsx +147 -0
- package/mcps/after-effects-mcp/build/scripts/createSolidLayer.jsx +114 -0
- package/mcps/after-effects-mcp/build/scripts/createTextLayer.jsx +115 -0
- package/mcps/after-effects-mcp/build/scripts/getLayerInfo.jsx +192 -0
- package/mcps/after-effects-mcp/build/scripts/getProjectInfo.jsx +90 -0
- package/mcps/after-effects-mcp/build/scripts/listCompositions.jsx +50 -0
- package/mcps/after-effects-mcp/build/scripts/mcp-bridge-auto.jsx +1773 -0
- package/mcps/after-effects-mcp/build/scripts/setLayerProperties.jsx +160 -0
- package/mcps/computer-use-mcp/dist/client.d.ts +150 -0
- package/mcps/computer-use-mcp/dist/client.js +136 -0
- package/mcps/computer-use-mcp/dist/entrypoint.d.ts +16 -0
- package/mcps/computer-use-mcp/dist/entrypoint.js +26 -0
- package/mcps/computer-use-mcp/dist/native.d.ts +212 -0
- package/mcps/computer-use-mcp/dist/native.js +50 -0
- package/mcps/computer-use-mcp/dist/server.d.ts +32 -0
- package/mcps/computer-use-mcp/dist/server.js +342 -0
- package/mcps/computer-use-mcp/dist/session.d.ts +101 -0
- package/mcps/computer-use-mcp/dist/session.js +2372 -0
- package/package.json +13 -4
- package/skills/global_config/aos-project-init/SKILL.md +97 -130
- package/skills/global_config/aos-project-init/assets/openwikiignore.template +62 -0
- package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +38 -1
- package/skills/global_config/aos-setup/SKILL.md +98 -8
- package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +21 -2
- package/skills/global_config/ask-tim/SKILL.md +2 -7
- package/skills/global_config/openwiki-skill/scripts/openwiki_daemon.py +65 -12
- package/bin/setup-saas.mjs +0 -792
- package/mcps/blender-mcp-server/.dockerignore +0 -19
- package/mcps/blender-mcp-server/.github/workflows/ci.yml +0 -67
- package/mcps/blender-mcp-server/.github/workflows/publish-pypi.yml +0 -54
- package/mcps/blender-mcp-server/CHANGELOG.md +0 -64
- package/mcps/blender-mcp-server/CONTRIBUTING.md +0 -107
- package/mcps/blender-mcp-server/Dockerfile +0 -19
- package/mcps/blender-mcp-server/LICENSE +0 -21
- package/mcps/blender-mcp-server/README.md +0 -409
- package/mcps/blender-mcp-server/addon/__init__.py +0 -1440
- package/mcps/blender-mcp-server/addon/models.py +0 -223
- package/mcps/blender-mcp-server/pyproject.toml +0 -120
- package/mcps/blender-mcp-server/scripts/blender_bridge_request.py +0 -71
- package/mcps/blender-mcp-server/scripts/blender_create_test_cube.py +0 -49
- package/mcps/blender-mcp-server/scripts/blender_scene_info.py +0 -38
- package/mcps/blender-mcp-server/scripts/build_addon_zip.sh +0 -29
- package/mcps/blender-mcp-server/scripts/demos/README.md +0 -186
- package/mcps/blender-mcp-server/scripts/demos/dam_break_scene.py +0 -276
- package/mcps/blender-mcp-server/scripts/demos/open_dam_break_gui.py +0 -33
- package/mcps/blender-mcp-server/scripts/demos/pipe_movement_study.py +0 -518
- package/mcps/blender-mcp-server/scripts/demos/pipe_pressure_failure_scene.py +0 -806
- package/mcps/blender-mcp-server/scripts/demos/procedural_dam_break_scene.py +0 -600
- package/mcps/blender-mcp-server/scripts/demos/run_dam_break.py +0 -510
- package/mcps/blender-mcp-server/scripts/launch_blender_gui.py +0 -41
- package/mcps/blender-mcp-server/scripts/library/README.md +0 -64
- package/mcps/blender-mcp-server/scripts/library/apply_transforms.py +0 -46
- package/mcps/blender-mcp-server/scripts/library/camera.py +0 -51
- package/mcps/blender-mcp-server/scripts/library/collections.py +0 -65
- package/mcps/blender-mcp-server/scripts/library/create_mesh.py +0 -41
- package/mcps/blender-mcp-server/scripts/library/effector.py +0 -48
- package/mcps/blender-mcp-server/scripts/library/fluid_domain.py +0 -80
- package/mcps/blender-mcp-server/scripts/library/fluid_inflow.py +0 -98
- package/mcps/blender-mcp-server/scripts/library/frame_range.py +0 -35
- package/mcps/blender-mcp-server/scripts/library/keyframes.py +0 -59
- package/mcps/blender-mcp-server/scripts/library/rigid_body.py +0 -52
- package/mcps/blender-mcp-server/scripts/library/save_blend.py +0 -40
- package/mcps/blender-mcp-server/scripts/server_start.sh +0 -26
- package/mcps/blender-mcp-server/src/blender_mcp_server/__init__.py +0 -3
- package/mcps/blender-mcp-server/src/blender_mcp_server/headless.py +0 -330
- package/mcps/blender-mcp-server/src/blender_mcp_server/server.py +0 -606
- package/mcps/davinci-mcp-professional/.bandit +0 -35
- package/mcps/davinci-mcp-professional/.claude/commands/security-review.md +0 -191
- package/mcps/davinci-mcp-professional/.claude/settings.json +0 -1
- package/mcps/davinci-mcp-professional/.editorconfig +0 -27
- package/mcps/davinci-mcp-professional/.gitattributes +0 -207
- package/mcps/davinci-mcp-professional/.github/CODEOWNERS +0 -2
- package/mcps/davinci-mcp-professional/.github/ISSUE_TEMPLATE/bug_report.md +0 -33
- package/mcps/davinci-mcp-professional/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
- package/mcps/davinci-mcp-professional/.github/PULL_REQUEST_TEMPLATE.md +0 -20
- package/mcps/davinci-mcp-professional/.github/SECURITY.md +0 -97
- package/mcps/davinci-mcp-professional/.github/dependabot.yml +0 -27
- package/mcps/davinci-mcp-professional/.github/workflows/ci.yml +0 -39
- package/mcps/davinci-mcp-professional/ATTRIBUTION.md +0 -4
- package/mcps/davinci-mcp-professional/AUTHORS.md +0 -9
- package/mcps/davinci-mcp-professional/BUGS.md +0 -55
- package/mcps/davinci-mcp-professional/CLAUDE.md +0 -229
- package/mcps/davinci-mcp-professional/CONTRIBUTING.md +0 -51
- package/mcps/davinci-mcp-professional/COPYING.md +0 -228
- package/mcps/davinci-mcp-professional/Doxyfile +0 -379
- package/mcps/davinci-mcp-professional/README.md +0 -143
- package/mcps/davinci-mcp-professional/SECURITY.md +0 -40
- package/mcps/davinci-mcp-professional/USING.md +0 -301
- package/mcps/davinci-mcp-professional/VERSION.md +0 -13
- package/mcps/davinci-mcp-professional/build.py +0 -169
- package/mcps/davinci-mcp-professional/claude_desktop_config_template.json +0 -11
- package/mcps/davinci-mcp-professional/hooks/ci-check.sh +0 -29
- package/mcps/davinci-mcp-professional/hooks/pre-push +0 -46
- package/mcps/davinci-mcp-professional/main.py +0 -40
- package/mcps/davinci-mcp-professional/mcp_server.py +0 -30
- package/mcps/davinci-mcp-professional/pyproject.toml +0 -115
- package/mcps/davinci-mcp-professional/security_audit.py +0 -379
- package/mcps/davinci-mcp-professional/src/davinci_mcp/__init__.py +0 -19
- package/mcps/davinci-mcp-professional/src/davinci_mcp/cli.py +0 -138
- package/mcps/davinci-mcp-professional/src/davinci_mcp/resolve_client.py +0 -342
- package/mcps/davinci-mcp-professional/src/davinci_mcp/resources/__init__.py +0 -60
- package/mcps/davinci-mcp-professional/src/davinci_mcp/server.py +0 -185
- package/mcps/davinci-mcp-professional/src/davinci_mcp/tools/__init__.py +0 -146
- package/mcps/davinci-mcp-professional/src/davinci_mcp/types.py +0 -125
- package/mcps/davinci-mcp-professional/src/davinci_mcp/utils/__init__.py +0 -19
- package/mcps/davinci-mcp-professional/src/davinci_mcp/utils/platform.py +0 -239
- package/mcps/davinci-mcp-professional/test.py +0 -186
- package/mcps/davinci-mcp-professional/uv.lock +0 -2073
- package/mcps/davinci-resolve-mcp/.claude/skills/media-analysis.md +0 -44
- package/mcps/davinci-resolve-mcp/.clinerules +0 -17
- package/mcps/davinci-resolve-mcp/.cursorrules +0 -17
- package/mcps/davinci-resolve-mcp/.github/copilot-instructions.md +0 -17
- package/mcps/davinci-resolve-mcp/.github/workflows/npm-publish.yml +0 -109
- package/mcps/davinci-resolve-mcp/.windsurfrules +0 -17
- package/mcps/davinci-resolve-mcp/AGENTS.md +0 -114
- package/mcps/davinci-resolve-mcp/CHANGELOG.md +0 -2648
- package/mcps/davinci-resolve-mcp/CLAUDE.md +0 -15
- package/mcps/davinci-resolve-mcp/LICENSE +0 -21
- package/mcps/davinci-resolve-mcp/README.md +0 -173
- package/mcps/davinci-resolve-mcp/SECURITY.md +0 -53
- package/mcps/davinci-resolve-mcp/bin/davinci-resolve-mcp.mjs +0 -450
- package/mcps/davinci-resolve-mcp/examples/README.md +0 -53
- package/mcps/davinci-resolve-mcp/examples/markers/README.md +0 -81
- package/mcps/davinci-resolve-mcp/examples/media/README.md +0 -94
- package/mcps/davinci-resolve-mcp/examples/timeline/README.md +0 -98
- package/mcps/davinci-resolve-mcp/install.py +0 -1687
- package/mcps/davinci-resolve-mcp/package.json +0 -52
- package/mcps/davinci-resolve-mcp/release-notes/v2.22.0.md +0 -51
- package/mcps/davinci-resolve-mcp/release-notes/v2.23.0.md +0 -51
- package/mcps/davinci-resolve-mcp/release-notes/v2.23.1.md +0 -35
- package/mcps/davinci-resolve-mcp/release-notes/v2.24.1.md +0 -32
- package/mcps/davinci-resolve-mcp/scripts/audit_api_parity.py +0 -275
- package/mcps/davinci-resolve-mcp/scripts/audit_readwrite_symmetry.py +0 -80
- package/mcps/davinci-resolve-mcp/scripts/doctor.py +0 -227
- package/mcps/davinci-resolve-mcp/scripts/gen_api_limitations.py +0 -144
- package/mcps/davinci-resolve-mcp/scripts/live_media_analysis_polish_probe.py +0 -65
- package/mcps/davinci-resolve-mcp/scripts/measure_bridge_cost.py +0 -65
- package/mcps/davinci-resolve-mcp/scripts/regen_panel_screenshots.py +0 -76
- package/mcps/davinci-resolve-mcp/src/__init__.py +0 -3
- package/mcps/davinci-resolve-mcp/src/analysis_dashboard.py +0 -15505
- package/mcps/davinci-resolve-mcp/src/batch_cli.py +0 -540
- package/mcps/davinci-resolve-mcp/src/control_panel.py +0 -13
- package/mcps/davinci-resolve-mcp/src/granular/__init__.py +0 -17
- package/mcps/davinci-resolve-mcp/src/granular/common.py +0 -741
- package/mcps/davinci-resolve-mcp/src/granular/folder.py +0 -420
- package/mcps/davinci-resolve-mcp/src/granular/gallery.py +0 -306
- package/mcps/davinci-resolve-mcp/src/granular/graph.py +0 -309
- package/mcps/davinci-resolve-mcp/src/granular/media_pool.py +0 -679
- package/mcps/davinci-resolve-mcp/src/granular/media_pool_item.py +0 -1020
- package/mcps/davinci-resolve-mcp/src/granular/media_storage.py +0 -179
- package/mcps/davinci-resolve-mcp/src/granular/project.py +0 -1654
- package/mcps/davinci-resolve-mcp/src/granular/resolve_control.py +0 -538
- package/mcps/davinci-resolve-mcp/src/granular/timeline.py +0 -1075
- package/mcps/davinci-resolve-mcp/src/granular/timeline_item.py +0 -2251
- package/mcps/davinci-resolve-mcp/src/resolve_mcp_server.py +0 -43
- package/mcps/davinci-resolve-mcp/src/server.py +0 -24116
- package/mcps/davinci-resolve-mcp/src/utils/__init__.py +0 -3
- package/mcps/davinci-resolve-mcp/src/utils/actor_identity.py +0 -46
- package/mcps/davinci-resolve-mcp/src/utils/analysis_caps.py +0 -678
- package/mcps/davinci-resolve-mcp/src/utils/analysis_memory.py +0 -755
- package/mcps/davinci-resolve-mcp/src/utils/analysis_runs.py +0 -307
- package/mcps/davinci-resolve-mcp/src/utils/analysis_store.py +0 -945
- package/mcps/davinci-resolve-mcp/src/utils/api_truth.py +0 -525
- package/mcps/davinci-resolve-mcp/src/utils/app_control.py +0 -319
- package/mcps/davinci-resolve-mcp/src/utils/audio_fairlight_live_probe.py +0 -263
- package/mcps/davinci-resolve-mcp/src/utils/brain_edits.py +0 -387
- package/mcps/davinci-resolve-mcp/src/utils/bridge_metrics.py +0 -76
- package/mcps/davinci-resolve-mcp/src/utils/cdl.py +0 -20
- package/mcps/davinci-resolve-mcp/src/utils/clip_query.py +0 -85
- package/mcps/davinci-resolve-mcp/src/utils/cloud_operations.py +0 -192
- package/mcps/davinci-resolve-mcp/src/utils/color_grade_live_probe.py +0 -444
- package/mcps/davinci-resolve-mcp/src/utils/contracts.py +0 -102
- package/mcps/davinci-resolve-mcp/src/utils/cut_ir.py +0 -115
- package/mcps/davinci-resolve-mcp/src/utils/dctl_templates.py +0 -368
- package/mcps/davinci-resolve-mcp/src/utils/deep_vision.py +0 -643
- package/mcps/davinci-resolve-mcp/src/utils/destructive_hook.py +0 -606
- package/mcps/davinci-resolve-mcp/src/utils/edit_engine.py +0 -737
- package/mcps/davinci-resolve-mcp/src/utils/embeddings.py +0 -922
- package/mcps/davinci-resolve-mcp/src/utils/entities.py +0 -579
- package/mcps/davinci-resolve-mcp/src/utils/extension_authoring_live_probe.py +0 -292
- package/mcps/davinci-resolve-mcp/src/utils/failure_tracker.py +0 -119
- package/mcps/davinci-resolve-mcp/src/utils/fuse_templates.py +0 -1968
- package/mcps/davinci-resolve-mcp/src/utils/fusion_composition_live_probe.py +0 -284
- package/mcps/davinci-resolve-mcp/src/utils/fusion_group_settings.py +0 -334
- package/mcps/davinci-resolve-mcp/src/utils/layout_presets.py +0 -333
- package/mcps/davinci-resolve-mcp/src/utils/mcp_stdio.py +0 -32
- package/mcps/davinci-resolve-mcp/src/utils/mcp_transport.py +0 -128
- package/mcps/davinci-resolve-mcp/src/utils/media_analysis.py +0 -7690
- package/mcps/davinci-resolve-mcp/src/utils/media_analysis_jobs.py +0 -805
- package/mcps/davinci-resolve-mcp/src/utils/media_pool_changes.py +0 -121
- package/mcps/davinci-resolve-mcp/src/utils/media_pool_ingest_live_probe.py +0 -592
- package/mcps/davinci-resolve-mcp/src/utils/multicam.py +0 -393
- package/mcps/davinci-resolve-mcp/src/utils/object_inspection.py +0 -301
- package/mcps/davinci-resolve-mcp/src/utils/page_lock.py +0 -75
- package/mcps/davinci-resolve-mcp/src/utils/platform.py +0 -157
- package/mcps/davinci-resolve-mcp/src/utils/proc.py +0 -26
- package/mcps/davinci-resolve-mcp/src/utils/project_cleanup.py +0 -73
- package/mcps/davinci-resolve-mcp/src/utils/project_lifecycle_live_probe.py +0 -376
- package/mcps/davinci-resolve-mcp/src/utils/project_lint.py +0 -131
- package/mcps/davinci-resolve-mcp/src/utils/project_properties.py +0 -601
- package/mcps/davinci-resolve-mcp/src/utils/project_spec.py +0 -459
- package/mcps/davinci-resolve-mcp/src/utils/readback.py +0 -91
- package/mcps/davinci-resolve-mcp/src/utils/render_deliver_live_probe.py +0 -384
- package/mcps/davinci-resolve-mcp/src/utils/resolve_ai_governance.py +0 -214
- package/mcps/davinci-resolve-mcp/src/utils/resolve_ai_ledger.py +0 -244
- package/mcps/davinci-resolve-mcp/src/utils/resolve_busy.py +0 -171
- package/mcps/davinci-resolve-mcp/src/utils/resolve_connection.py +0 -77
- package/mcps/davinci-resolve-mcp/src/utils/review_annotation_live_probe.py +0 -352
- package/mcps/davinci-resolve-mcp/src/utils/script_templates.py +0 -1193
- package/mcps/davinci-resolve-mcp/src/utils/shot_relationships.py +0 -544
- package/mcps/davinci-resolve-mcp/src/utils/structural_diff.py +0 -175
- package/mcps/davinci-resolve-mcp/src/utils/sync_detection.py +0 -889
- package/mcps/davinci-resolve-mcp/src/utils/timeline_brain_db.py +0 -826
- package/mcps/davinci-resolve-mcp/src/utils/timeline_conform_live_probe.py +0 -280
- package/mcps/davinci-resolve-mcp/src/utils/timeline_kernel_live_probe.py +0 -1092
- package/mcps/davinci-resolve-mcp/src/utils/timeline_kernel_probe.py +0 -185
- package/mcps/davinci-resolve-mcp/src/utils/timeline_title_text.py +0 -87
- package/mcps/davinci-resolve-mcp/src/utils/timeline_versioning.py +0 -730
- package/mcps/davinci-resolve-mcp/src/utils/update_check.py +0 -685
- package/mcps/vectorworks-mcp/.dockerignore +0 -8
- package/mcps/vectorworks-mcp/Dockerfile +0 -28
- package/mcps/vectorworks-mcp/README.md +0 -156
- package/mcps/vectorworks-mcp/app/__init__.py +0 -2
- package/mcps/vectorworks-mcp/app/api.py +0 -52
- package/mcps/vectorworks-mcp/app/chunking.py +0 -56
- package/mcps/vectorworks-mcp/app/config.py +0 -29
- package/mcps/vectorworks-mcp/app/embeddings.py +0 -28
- package/mcps/vectorworks-mcp/app/indexer.py +0 -106
- package/mcps/vectorworks-mcp/app/main.py +0 -33
- package/mcps/vectorworks-mcp/app/mcp_server.py +0 -71
- package/mcps/vectorworks-mcp/app/search.py +0 -54
- package/mcps/vectorworks-mcp/app/utils.py +0 -14
- package/mcps/vectorworks-mcp/data/.gitkeep +0 -1
- package/mcps/vectorworks-mcp/data/vw-app-help/VW2022_PluginScript.htm +0 -95
- package/mcps/vectorworks-mcp/data/vw-app-help/VW2022_ScriptEditor.htm +0 -266
- package/mcps/vectorworks-mcp/data/vw-app-help/VW2022_Scripting.htm +0 -106
- package/mcps/vectorworks-mcp/data/vw-app-help/VW2023_CreatingScriptedPlugins.htm +0 -327
- package/mcps/vectorworks-mcp/data/vw-app-help/VW2024_RunningScripts.htm +0 -116
- package/mcps/vectorworks-mcp/data/vw-devwiki/VS_Function_Reference_category.html +0 -2129
- package/mcps/vectorworks-mcp/data/vw-jp-ref/ObjectsSymbols.html +0 -2035
- package/mcps/vectorworks-mcp/data/vw-jp-ref/ScriptFunctionReference.html +0 -29
- package/mcps/vectorworks-mcp/design.md +0 -57
- package/mcps/vectorworks-mcp/docker-compose.yml +0 -18
- package/mcps/vectorworks-mcp/index/.gitkeep +0 -1
- package/mcps/vectorworks-mcp/index/meta.jsonl +0 -3956
- package/mcps/vectorworks-mcp/index/vw.faiss +0 -0
- package/mcps/vectorworks-mcp/requirements.txt +0 -10
- package/mcps/vectorworks-mcp/scripts/fetch_docs_minimal.sh +0 -84
- package/mcps/vectorworks-mcp/scripts/fetch_github_vectorworks.sh +0 -85
- package/mcps/vectorworks-mcp/templates/index.html +0 -40
- package/scripts/ecosystem-health-audit.js +0 -257
- package/skills/bdb-dev-os-skill/SKILL.md +0 -49
- package/skills/bdb-dev-os-skill/package.json +0 -11
- package/skills/bdbsaastraining/SKILL.md +0 -316
- package/skills/bdbsaastraining/references/exam-pool.md +0 -313
- package/skills/bdbsaastraining/references/interaction-modes.md +0 -94
- package/skills/bdbsaastraining/references/track-a-ai-agent.md +0 -111
- package/skills/bdbsaastraining/references/track-b-wordpress.md +0 -111
- package/skills/bdbsaastraining/references/track-c-mailserver.md +0 -107
- package/skills/bdbsaastraining/references/track-d-debian.md +0 -109
- package/skills/bdbsaastraining/references/track-e-custom.md +0 -83
- package/skills/bdbsaastraining/scripts/build_profile.py +0 -529
- package/skills/bdbsaastraining/scripts/generate_certificate.py +0 -161
- package/skills/bdbsaastraining/scripts/preflight_check.sh +0 -150
- package/skills/bdbsaastraining/templates/certificate_template.html +0 -508
- package/skills/global_config/bdb-ecosystem-health/SKILL.md +0 -68
- package/skills/global_config/bdbsaas-ops/SKILL.md +0 -16
- package/skills/global_config/bdbsaashost/SKILL.md +0 -125
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: resolve-media-analysis
|
|
3
|
-
description: Media intelligence layer for the DaVinci Resolve MCP. Uses FFprobe, FFmpeg, and optionally Whisper to READ and ANALYZE source media — never modify, transcode, convert, or create derivatives. Provides the MCP with full context of what footage actually is so it can take informed actions within Resolve.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Resolve Media Analysis — Claude Code Skill
|
|
7
|
-
|
|
8
|
-
This skill wraps the project's canonical media analysis guide with Claude Code-specific integration.
|
|
9
|
-
|
|
10
|
-
**Read `docs/media-analysis-guide.md` for the complete guide.** Everything below is Claude Code-specific context.
|
|
11
|
-
|
|
12
|
-
## The First Rule
|
|
13
|
-
|
|
14
|
-
**Never touch the source.** Your relationship to source media is READ-ONLY. See `docs/media-analysis-guide.md` section "The First Rule: Never Touch the Source" for the full rationale from every post-production department.
|
|
15
|
-
|
|
16
|
-
## MCP Integration
|
|
17
|
-
|
|
18
|
-
When using the DaVinci Resolve MCP tools alongside media analysis:
|
|
19
|
-
|
|
20
|
-
### Getting File Paths from Resolve
|
|
21
|
-
|
|
22
|
-
1. **From media pool clips:** `media_pool_item` -> `get_clip_property(clip_id)` returns `"File Path"`
|
|
23
|
-
2. **From timeline items:** `timeline_item` -> `get_media_pool_item(item_id)` -> then get clip properties
|
|
24
|
-
3. **From media storage:** `media_storage` -> `get_files(path)` lists files in a directory
|
|
25
|
-
|
|
26
|
-
### Workflow: Analyze Before Acting
|
|
27
|
-
|
|
28
|
-
1. **Identify the media** — Use MCP to get clip IDs and file paths
|
|
29
|
-
2. **Check for existing analysis** — Look for sidecar JSON files
|
|
30
|
-
3. **Analyze if needed** — Run FFprobe (+ optional tools) on the files
|
|
31
|
-
4. **Act with context** — Use MCP tools with full knowledge of what the media is
|
|
32
|
-
|
|
33
|
-
Analysis informs Resolve actions. At no point do we create intermediate files that enter the media pipeline.
|
|
34
|
-
|
|
35
|
-
## Setup
|
|
36
|
-
|
|
37
|
-
On first use, ask the user the three setup questions documented in the guide:
|
|
38
|
-
1. Where to save analysis files (alongside / directory / project)
|
|
39
|
-
2. Tool detection (FFprobe required, FFmpeg/Whisper optional)
|
|
40
|
-
3. Analysis depth (quick / standard / deep)
|
|
41
|
-
|
|
42
|
-
## Full Reference
|
|
43
|
-
|
|
44
|
-
All analysis commands, output format, examples, proactive warnings, and principles are in `docs/media-analysis-guide.md`. Do not duplicate that content — read and follow it.
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# DaVinci Resolve MCP Server — Cline Rules
|
|
2
|
-
|
|
3
|
-
## Project
|
|
4
|
-
Python MCP server (30 compound tools, 328 granular tools in `--full` mode) for controlling DaVinci Resolve via its Scripting API. See `AGENTS.md` for full project overview and the README for the 109-action kernel coverage map.
|
|
5
|
-
|
|
6
|
-
## Critical Rule: Source Media Integrity
|
|
7
|
-
NEVER modify, transcode, convert, or create derivatives of source media files unless the user explicitly requests it. All analysis is read-only. See `docs/media-analysis-guide.md` for the complete media analysis workflow and rationale.
|
|
8
|
-
|
|
9
|
-
## Media Analysis
|
|
10
|
-
When working with media files, use FFprobe/FFmpeg to analyze (read-only) before taking actions in Resolve. The full guide is at `docs/media-analysis-guide.md`.
|
|
11
|
-
|
|
12
|
-
## Key Files
|
|
13
|
-
- `src/server.py` — Main compound MCP server (30 tools)
|
|
14
|
-
- `src/resolve_mcp_server.py` — Full server (328 tools)
|
|
15
|
-
- `src/utils/` — Platform detection, Resolve connection, helpers
|
|
16
|
-
- `docs/media-analysis-guide.md` — Media analysis workflow guide
|
|
17
|
-
- `install.py` — Universal installer for 10+ MCP clients
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# DaVinci Resolve MCP Server — Cursor Rules
|
|
2
|
-
|
|
3
|
-
## Project
|
|
4
|
-
Python MCP server (30 compound tools, 328 granular tools in `--full` mode) for controlling DaVinci Resolve via its Scripting API. See `AGENTS.md` for full project overview and the README for the 109-action kernel coverage map.
|
|
5
|
-
|
|
6
|
-
## Critical Rule: Source Media Integrity
|
|
7
|
-
NEVER modify, transcode, convert, or create derivatives of source media files unless the user explicitly requests it. All analysis is read-only. See `docs/media-analysis-guide.md` for the complete media analysis workflow and rationale.
|
|
8
|
-
|
|
9
|
-
## Media Analysis
|
|
10
|
-
When working with media files, use FFprobe/FFmpeg to analyze (read-only) before taking actions in Resolve. The full guide is at `docs/media-analysis-guide.md`.
|
|
11
|
-
|
|
12
|
-
## Key Files
|
|
13
|
-
- `src/server.py` — Main compound MCP server (30 tools)
|
|
14
|
-
- `src/resolve_mcp_server.py` — Full server (328 tools)
|
|
15
|
-
- `src/utils/` — Platform detection, Resolve connection, helpers
|
|
16
|
-
- `docs/media-analysis-guide.md` — Media analysis workflow guide
|
|
17
|
-
- `install.py` — Universal installer for 10+ MCP clients
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# DaVinci Resolve MCP Server — GitHub Copilot Instructions
|
|
2
|
-
|
|
3
|
-
## Project
|
|
4
|
-
Python MCP server (30 compound tools, 328 granular tools in `--full` mode) for controlling DaVinci Resolve via its Scripting API. See `AGENTS.md` for full project overview and the README for the 109-action kernel coverage map.
|
|
5
|
-
|
|
6
|
-
## Critical Rule: Source Media Integrity
|
|
7
|
-
NEVER modify, transcode, convert, or create derivatives of source media files unless the user explicitly requests it. All analysis is read-only. See `docs/media-analysis-guide.md` for the complete media analysis workflow and rationale.
|
|
8
|
-
|
|
9
|
-
## Media Analysis
|
|
10
|
-
When working with media files, use FFprobe/FFmpeg to analyze (read-only) before taking actions in Resolve. The full guide is at `docs/media-analysis-guide.md`.
|
|
11
|
-
|
|
12
|
-
## Key Files
|
|
13
|
-
- `src/server.py` — Main compound MCP server (30 tools)
|
|
14
|
-
- `src/resolve_mcp_server.py` — Full server (328 tools)
|
|
15
|
-
- `src/utils/` — Platform detection, Resolve connection, helpers
|
|
16
|
-
- `docs/media-analysis-guide.md` — Media analysis workflow guide
|
|
17
|
-
- `install.py` — Universal installer for 10+ MCP clients
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
name: Publish npm package
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- "v*"
|
|
7
|
-
|
|
8
|
-
permissions:
|
|
9
|
-
contents: read
|
|
10
|
-
id-token: write
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
publish:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
steps:
|
|
16
|
-
- name: Check out repository
|
|
17
|
-
uses: actions/checkout@v5
|
|
18
|
-
|
|
19
|
-
- name: Set up Python
|
|
20
|
-
uses: actions/setup-python@v6
|
|
21
|
-
with:
|
|
22
|
-
python-version: "3.11"
|
|
23
|
-
|
|
24
|
-
- name: Set up Node
|
|
25
|
-
uses: actions/setup-node@v5
|
|
26
|
-
with:
|
|
27
|
-
node-version: "24"
|
|
28
|
-
registry-url: "https://registry.npmjs.org"
|
|
29
|
-
|
|
30
|
-
- name: Run Python smoke tests
|
|
31
|
-
run: python tests/test_import.py
|
|
32
|
-
|
|
33
|
-
- name: Run static guard tests
|
|
34
|
-
# Drift guards that gate every publish: no undefined names in src/,
|
|
35
|
-
# tool action lists in sync with dispatch, control-panel guide in
|
|
36
|
-
# sync with the panel's navigation and screenshots, and the
|
|
37
|
-
# Blackmagic-facing api-limitations.md in sync with the api_truth ledger.
|
|
38
|
-
run: |
|
|
39
|
-
pip install pyflakes
|
|
40
|
-
python -m unittest tests.test_static_undefined_names tests.test_action_list_drift tests.test_panel_docs_drift tests.test_api_limitations_doc
|
|
41
|
-
|
|
42
|
-
- name: Run Node CLI smoke tests
|
|
43
|
-
run: |
|
|
44
|
-
node bin/davinci-resolve-mcp.mjs --help
|
|
45
|
-
node bin/davinci-resolve-mcp.mjs --version
|
|
46
|
-
|
|
47
|
-
- name: Run setup dry run
|
|
48
|
-
run: |
|
|
49
|
-
export DAVINCI_RESOLVE_MCP_INSTALL_ROOT="$(mktemp -d)"
|
|
50
|
-
node bin/davinci-resolve-mcp.mjs setup --dry-run --no-venv --clients manual --update-policy never
|
|
51
|
-
|
|
52
|
-
- name: Check npm package contents
|
|
53
|
-
run: npm pack --dry-run
|
|
54
|
-
|
|
55
|
-
- name: Check npm version availability
|
|
56
|
-
id: npm_version
|
|
57
|
-
shell: bash
|
|
58
|
-
run: |
|
|
59
|
-
package_name="$(node -p "require('./package.json').name")"
|
|
60
|
-
package_version="$(node -p "require('./package.json').version")"
|
|
61
|
-
if npm view "${package_name}@${package_version}" version >/dev/null 2>&1; then
|
|
62
|
-
echo "publish=false" >> "$GITHUB_OUTPUT"
|
|
63
|
-
echo "${package_name}@${package_version} is already published; skipping npm publish."
|
|
64
|
-
else
|
|
65
|
-
echo "publish=true" >> "$GITHUB_OUTPUT"
|
|
66
|
-
echo "${package_name}@${package_version} is not published yet."
|
|
67
|
-
fi
|
|
68
|
-
|
|
69
|
-
- name: Compute expected tarball checksum
|
|
70
|
-
id: pack_meta
|
|
71
|
-
if: steps.npm_version.outputs.publish == 'true'
|
|
72
|
-
shell: bash
|
|
73
|
-
run: |
|
|
74
|
-
shasum="$(npm pack --dry-run --json | node -p "JSON.parse(require('fs').readFileSync(0, 'utf8'))[0].shasum")"
|
|
75
|
-
echo "shasum=${shasum}" >> "$GITHUB_OUTPUT"
|
|
76
|
-
echo "Expected tarball shasum: ${shasum}"
|
|
77
|
-
|
|
78
|
-
- name: Publish to npm
|
|
79
|
-
id: npm_publish
|
|
80
|
-
if: steps.npm_version.outputs.publish == 'true'
|
|
81
|
-
continue-on-error: true
|
|
82
|
-
run: npm publish --provenance --access public
|
|
83
|
-
|
|
84
|
-
- name: Verify publish landed
|
|
85
|
-
if: steps.npm_version.outputs.publish == 'true' && steps.npm_publish.outcome == 'failure'
|
|
86
|
-
shell: bash
|
|
87
|
-
run: |
|
|
88
|
-
# npm publish can exit nonzero after the registry has already accepted
|
|
89
|
-
# the PUT: a retried request re-presents the consumed single-use OIDC
|
|
90
|
-
# exchange token and gets 401 "token is invalid" (observed on the
|
|
91
|
-
# v2.37.0 run). Only fail the job if the exact tarball is not live.
|
|
92
|
-
package_name="$(node -p "require('./package.json').name")"
|
|
93
|
-
package_version="$(node -p "require('./package.json').version")"
|
|
94
|
-
expected="${{ steps.pack_meta.outputs.shasum }}"
|
|
95
|
-
for attempt in 1 2 3 4 5 6; do
|
|
96
|
-
published="$(npm view "${package_name}@${package_version}" dist.shasum 2>/dev/null || true)"
|
|
97
|
-
if [ -n "${published}" ]; then
|
|
98
|
-
if [ "${published}" = "${expected}" ]; then
|
|
99
|
-
echo "npm publish reported failure, but ${package_name}@${package_version} is live with the expected shasum ${expected}. Treating as success."
|
|
100
|
-
exit 0
|
|
101
|
-
fi
|
|
102
|
-
echo "::error::${package_name}@${package_version} exists on the registry with shasum ${published}, expected ${expected}. Refusing to mask the publish failure."
|
|
103
|
-
exit 1
|
|
104
|
-
fi
|
|
105
|
-
echo "Attempt ${attempt}: ${package_name}@${package_version} not visible on the registry yet; retrying in 10s."
|
|
106
|
-
sleep 10
|
|
107
|
-
done
|
|
108
|
-
echo "::error::npm publish failed and ${package_name}@${package_version} never appeared on the registry."
|
|
109
|
-
exit 1
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# DaVinci Resolve MCP Server — Windsurf Rules
|
|
2
|
-
|
|
3
|
-
## Project
|
|
4
|
-
Python MCP server (30 compound tools, 328 granular tools in `--full` mode) for controlling DaVinci Resolve via its Scripting API. See `AGENTS.md` for full project overview and the README for the 109-action kernel coverage map.
|
|
5
|
-
|
|
6
|
-
## Critical Rule: Source Media Integrity
|
|
7
|
-
NEVER modify, transcode, convert, or create derivatives of source media files unless the user explicitly requests it. All analysis is read-only. See `docs/media-analysis-guide.md` for the complete media analysis workflow and rationale.
|
|
8
|
-
|
|
9
|
-
## Media Analysis
|
|
10
|
-
When working with media files, use FFprobe/FFmpeg to analyze (read-only) before taking actions in Resolve. The full guide is at `docs/media-analysis-guide.md`.
|
|
11
|
-
|
|
12
|
-
## Key Files
|
|
13
|
-
- `src/server.py` — Main compound MCP server (30 tools)
|
|
14
|
-
- `src/resolve_mcp_server.py` — Full server (328 tools)
|
|
15
|
-
- `src/utils/` — Platform detection, Resolve connection, helpers
|
|
16
|
-
- `docs/media-analysis-guide.md` — Media analysis workflow guide
|
|
17
|
-
- `install.py` — Universal installer for 10+ MCP clients
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
# DaVinci Resolve MCP Server — Agent Instructions
|
|
2
|
-
|
|
3
|
-
This is the canonical short operating brief for AI coding agents working in this
|
|
4
|
-
repository. Keep it durable: do not duplicate version numbers, tool counts,
|
|
5
|
-
kernel-action counts, release notes, or long reference tables here.
|
|
6
|
-
|
|
7
|
-
## Non-Negotiable Source Media Safety
|
|
8
|
-
|
|
9
|
-
Never modify, transcode, convert, proxy, relink, replace, or create derivatives
|
|
10
|
-
of source media unless the user explicitly asks for that exact operation.
|
|
11
|
-
|
|
12
|
-
Analysis workflows may read source media, but file outputs must go to sidecar
|
|
13
|
-
files, session scratch space, or the configured
|
|
14
|
-
`davinci-resolve-mcp-analysis` project root. Resolve-target analysis should run
|
|
15
|
-
visual analysis, transcription, metadata writeback, and Media Pool marker
|
|
16
|
-
writeback by default unless the user opts out; those writes are Resolve project
|
|
17
|
-
database changes, not source-media changes. Preserve the chain from camera
|
|
18
|
-
original to final delivery.
|
|
19
|
-
|
|
20
|
-
See `docs/guides/media-analysis-guide.md` for the full source-safe workflow.
|
|
21
|
-
|
|
22
|
-
## Media Analysis Defaults Are Mandatory
|
|
23
|
-
|
|
24
|
-
Do not translate source-safe into underpowered, read-only, no-writeback analysis.
|
|
25
|
-
When the user asks to analyze Resolve media, run the requested analysis directly
|
|
26
|
-
with visual analysis, transcription, persisted artifacts, metadata writeback, and
|
|
27
|
-
Media Pool marker writeback enabled by default. Do not add
|
|
28
|
-
`include_visuals=false`, `include_transcription=false`,
|
|
29
|
-
`publish_metadata=false`, `timed_markers=no`, `session_only=true`, or
|
|
30
|
-
`dry_run=true` unless the user explicitly asks for that opt-out, the target is a
|
|
31
|
-
raw file path that cannot receive Resolve project writeback. Vision uses
|
|
32
|
-
`host_chat_paths` by default — analyze actions return a deferred payload with
|
|
33
|
-
absolute `frame_paths` and a JSON schema; the host chat must read those frames
|
|
34
|
-
as local images, produce JSON per the schema, and call
|
|
35
|
-
`media_analysis(action="commit_vision", params={clip_id, visual, vision_token})`
|
|
36
|
-
to merge the result and trigger metadata + Media Pool clip-marker writeback.
|
|
37
|
-
Not completing `commit_vision` leaves the analysis in
|
|
38
|
-
`pending_host_vision_analysis` — that is a failure mode, not a success. Users
|
|
39
|
-
must explicitly opt out with `include_visuals=false` for a technical-only run.
|
|
40
|
-
|
|
41
|
-
## Frame-Referenced Color Work
|
|
42
|
-
|
|
43
|
-
Before applying a grade, look, shot match, LUT, CDL, DRX, or copied grade to an
|
|
44
|
-
existing Resolve timeline, inspect representative Resolve-rendered frames for
|
|
45
|
-
the target shot or shots. Use thumbnails, contact sheets, Gallery stills, marker
|
|
46
|
-
frames, or visual analysis reports written only to scratch/analysis locations.
|
|
47
|
-
When the API can safely provide them, compare matched untreated/bypass, current,
|
|
48
|
-
and after frames at the same timecodes; restore the previous active version or
|
|
49
|
-
node-enabled state after any temporary bypass capture.
|
|
50
|
-
|
|
51
|
-
Do not grade only from clip metadata, graph availability, or a requested style
|
|
52
|
-
label unless the user explicitly asks for a blind/global pass. Preserve or create
|
|
53
|
-
a recoverable grade version, and report which frame references informed the
|
|
54
|
-
change. Do not describe Resolve's default one-node graph as an existing creative
|
|
55
|
-
grade unless active grade tools, LUTs, or other grade state are present.
|
|
56
|
-
|
|
57
|
-
When the user asks to build on or adjust an existing grade, treat the current
|
|
58
|
-
grade as creative work to preserve. Inspect the active grade version and node
|
|
59
|
-
graph first, create or switch to a recoverable adjustment version, and make
|
|
60
|
-
incremental changes only through supported controls. Do not reset grades, replace
|
|
61
|
-
graphs, or apply whole-grade artifacts unless the user explicitly asks for that
|
|
62
|
-
semantics.
|
|
63
|
-
|
|
64
|
-
## Source Of Truth
|
|
65
|
-
|
|
66
|
-
- Public overview, current stats, and docs map: `README.md`
|
|
67
|
-
- Historical release notes: `CHANGELOG.md`
|
|
68
|
-
- AI assistant operating reference: `docs/SKILL.md`
|
|
69
|
-
- Release checklist and validation rules: `docs/process/release-process.md`
|
|
70
|
-
- Kernel workflow support maps: `docs/kernels/`
|
|
71
|
-
- API coverage and live-test status: `docs/reference/api-coverage.md`
|
|
72
|
-
- Blackmagic-facing API gaps/bugs (generated from `api_truth`):
|
|
73
|
-
`docs/reference/api-limitations.md` — when you document a new Resolve API
|
|
74
|
-
limitation, add a `submit`-tagged entry to `src/utils/api_truth.py` and
|
|
75
|
-
regenerate with `scripts/gen_api_limitations.py` (a drift guard enforces it)
|
|
76
|
-
- Bundled Resolve API text: `docs/reference/resolve_scripting_api.txt`
|
|
77
|
-
|
|
78
|
-
## Key Paths
|
|
79
|
-
|
|
80
|
-
- Compound server: `src/server.py`
|
|
81
|
-
- Granular server entrypoint: `src/resolve_mcp_server.py`
|
|
82
|
-
- Local control panel launcher: `src/control_panel.py`
|
|
83
|
-
- Granular implementation: `src/granular/`
|
|
84
|
-
- Utilities: `src/utils/`
|
|
85
|
-
- Installer: `install.py`
|
|
86
|
-
- Tests: `tests/`
|
|
87
|
-
- Examples: `examples/`
|
|
88
|
-
|
|
89
|
-
## Common Commands
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
python src/server.py
|
|
93
|
-
python src/server.py --full
|
|
94
|
-
venv/bin/python -m src.control_panel
|
|
95
|
-
python install.py
|
|
96
|
-
venv/bin/python tests/test_import.py
|
|
97
|
-
venv/bin/python scripts/audit_api_parity.py
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
Python 3.10+ is required (the MCP SDK floor). 3.10-3.12 is the lowest-risk range
|
|
101
|
-
for Resolve scripting; 3.13/3.14 are accepted and verified on Resolve Studio
|
|
102
|
-
20.3.2, but older Resolve builds may fail to connect on 3.13+.
|
|
103
|
-
|
|
104
|
-
## Development Notes
|
|
105
|
-
|
|
106
|
-
- Prefer the compound server unless a task specifically needs granular tools.
|
|
107
|
-
- Use existing action-dispatch patterns and helper functions before adding new
|
|
108
|
-
abstractions.
|
|
109
|
-
- All Resolve-facing temp or export paths should use the repo's safe path
|
|
110
|
-
helpers; do not invent ad hoc temp paths for files Resolve writes.
|
|
111
|
-
- For changes touching Resolve behavior, update focused tests and follow the
|
|
112
|
-
live-validation guidance in `docs/process/release-process.md`.
|
|
113
|
-
- For docs changes, keep the README concise and move durable detail into
|
|
114
|
-
dedicated files under `docs/`.
|