squadfoundry 0.1.0
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.md +76 -0
- package/PROJECT.md +79 -0
- package/README.md +255 -0
- package/dist/orchestrator/adapters/context/IContextAdapter.d.ts +65 -0
- package/dist/orchestrator/adapters/context/IContextAdapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/context/IContextAdapter.js +12 -0
- package/dist/orchestrator/adapters/context/IContextAdapter.js.map +1 -0
- package/dist/orchestrator/adapters/context/filesystem.context-adapter.d.ts +33 -0
- package/dist/orchestrator/adapters/context/filesystem.context-adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/context/filesystem.context-adapter.js +179 -0
- package/dist/orchestrator/adapters/context/filesystem.context-adapter.js.map +1 -0
- package/dist/orchestrator/adapters/deploy/IDeployAdapter.d.ts +78 -0
- package/dist/orchestrator/adapters/deploy/IDeployAdapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/deploy/IDeployAdapter.js +14 -0
- package/dist/orchestrator/adapters/deploy/IDeployAdapter.js.map +1 -0
- package/dist/orchestrator/adapters/deploy/vercel.adapter.d.ts +31 -0
- package/dist/orchestrator/adapters/deploy/vercel.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/deploy/vercel.adapter.js +83 -0
- package/dist/orchestrator/adapters/deploy/vercel.adapter.js.map +1 -0
- package/dist/orchestrator/adapters/host/IHostAdapter.d.ts +89 -0
- package/dist/orchestrator/adapters/host/IHostAdapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/host/IHostAdapter.js +10 -0
- package/dist/orchestrator/adapters/host/IHostAdapter.js.map +1 -0
- package/dist/orchestrator/adapters/host/anthropic.adapter.d.ts +27 -0
- package/dist/orchestrator/adapters/host/anthropic.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/host/anthropic.adapter.js +118 -0
- package/dist/orchestrator/adapters/host/anthropic.adapter.js.map +1 -0
- package/dist/orchestrator/adapters/host/antigravity.adapter.d.ts +53 -0
- package/dist/orchestrator/adapters/host/antigravity.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/host/antigravity.adapter.js +148 -0
- package/dist/orchestrator/adapters/host/antigravity.adapter.js.map +1 -0
- package/dist/orchestrator/adapters/host/claude-code.adapter.d.ts +13 -0
- package/dist/orchestrator/adapters/host/claude-code.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/host/claude-code.adapter.js +27 -0
- package/dist/orchestrator/adapters/host/claude-code.adapter.js.map +1 -0
- package/dist/orchestrator/adapters/host/command-model-invoker.d.ts +8 -0
- package/dist/orchestrator/adapters/host/command-model-invoker.d.ts.map +1 -0
- package/dist/orchestrator/adapters/host/command-model-invoker.js +46 -0
- package/dist/orchestrator/adapters/host/command-model-invoker.js.map +1 -0
- package/dist/orchestrator/adapters/host/ide.adapter.d.ts +61 -0
- package/dist/orchestrator/adapters/host/ide.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/host/ide.adapter.js +173 -0
- package/dist/orchestrator/adapters/host/ide.adapter.js.map +1 -0
- package/dist/orchestrator/adapters/host/local.adapter.d.ts +26 -0
- package/dist/orchestrator/adapters/host/local.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/host/local.adapter.js +82 -0
- package/dist/orchestrator/adapters/host/local.adapter.js.map +1 -0
- package/dist/orchestrator/adapters/host/openai.adapter.d.ts +26 -0
- package/dist/orchestrator/adapters/host/openai.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/host/openai.adapter.js +77 -0
- package/dist/orchestrator/adapters/host/openai.adapter.js.map +1 -0
- package/dist/orchestrator/adapters/host/opencode.adapter.d.ts +13 -0
- package/dist/orchestrator/adapters/host/opencode.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/host/opencode.adapter.js +27 -0
- package/dist/orchestrator/adapters/host/opencode.adapter.js.map +1 -0
- package/dist/orchestrator/adapters/model/IModelAdapter.d.ts +68 -0
- package/dist/orchestrator/adapters/model/IModelAdapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/model/IModelAdapter.js +11 -0
- package/dist/orchestrator/adapters/model/IModelAdapter.js.map +1 -0
- package/dist/orchestrator/adapters/publishing/ISocialMediaAdapter.d.ts +93 -0
- package/dist/orchestrator/adapters/publishing/ISocialMediaAdapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/publishing/ISocialMediaAdapter.js +10 -0
- package/dist/orchestrator/adapters/publishing/ISocialMediaAdapter.js.map +1 -0
- package/dist/orchestrator/adapters/publishing/instagram.adapter.d.ts +34 -0
- package/dist/orchestrator/adapters/publishing/instagram.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/publishing/instagram.adapter.js +105 -0
- package/dist/orchestrator/adapters/publishing/instagram.adapter.js.map +1 -0
- package/dist/orchestrator/adapters/tools/IToolAdapter.d.ts +52 -0
- package/dist/orchestrator/adapters/tools/IToolAdapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/tools/IToolAdapter.js +10 -0
- package/dist/orchestrator/adapters/tools/IToolAdapter.js.map +1 -0
- package/dist/orchestrator/adapters/vcs/IVCSAdapter.d.ts +89 -0
- package/dist/orchestrator/adapters/vcs/IVCSAdapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/vcs/IVCSAdapter.js +11 -0
- package/dist/orchestrator/adapters/vcs/IVCSAdapter.js.map +1 -0
- package/dist/orchestrator/adapters/vcs/github.adapter.d.ts +36 -0
- package/dist/orchestrator/adapters/vcs/github.adapter.d.ts.map +1 -0
- package/dist/orchestrator/adapters/vcs/github.adapter.js +110 -0
- package/dist/orchestrator/adapters/vcs/github.adapter.js.map +1 -0
- package/dist/orchestrator/artifacts/artifact-store.d.ts +47 -0
- package/dist/orchestrator/artifacts/artifact-store.d.ts.map +1 -0
- package/dist/orchestrator/artifacts/artifact-store.js +135 -0
- package/dist/orchestrator/artifacts/artifact-store.js.map +1 -0
- package/dist/orchestrator/builder/domain-classifier.d.ts +24 -0
- package/dist/orchestrator/builder/domain-classifier.d.ts.map +1 -0
- package/dist/orchestrator/builder/domain-classifier.js +156 -0
- package/dist/orchestrator/builder/domain-classifier.js.map +1 -0
- package/dist/orchestrator/builder/interview-questions.d.ts +13 -0
- package/dist/orchestrator/builder/interview-questions.d.ts.map +1 -0
- package/dist/orchestrator/builder/interview-questions.js +127 -0
- package/dist/orchestrator/builder/interview-questions.js.map +1 -0
- package/dist/orchestrator/builder/squad-builder.d.ts +53 -0
- package/dist/orchestrator/builder/squad-builder.d.ts.map +1 -0
- package/dist/orchestrator/builder/squad-builder.js +107 -0
- package/dist/orchestrator/builder/squad-builder.js.map +1 -0
- package/dist/orchestrator/builder/squad-generator.d.ts +33 -0
- package/dist/orchestrator/builder/squad-generator.d.ts.map +1 -0
- package/dist/orchestrator/builder/squad-generator.js +360 -0
- package/dist/orchestrator/builder/squad-generator.js.map +1 -0
- package/dist/orchestrator/cli/index.d.ts +3 -0
- package/dist/orchestrator/cli/index.d.ts.map +1 -0
- package/dist/orchestrator/cli/index.js +8 -0
- package/dist/orchestrator/cli/index.js.map +1 -0
- package/dist/orchestrator/context/context-index.d.ts +48 -0
- package/dist/orchestrator/context/context-index.d.ts.map +1 -0
- package/dist/orchestrator/context/context-index.js +116 -0
- package/dist/orchestrator/context/context-index.js.map +1 -0
- package/dist/orchestrator/context/context-loader.d.ts +49 -0
- package/dist/orchestrator/context/context-loader.d.ts.map +1 -0
- package/dist/orchestrator/context/context-loader.js +111 -0
- package/dist/orchestrator/context/context-loader.js.map +1 -0
- package/dist/orchestrator/core/guardrails.d.ts +33 -0
- package/dist/orchestrator/core/guardrails.d.ts.map +1 -0
- package/dist/orchestrator/core/guardrails.js +272 -0
- package/dist/orchestrator/core/guardrails.js.map +1 -0
- package/dist/orchestrator/core/state-machine.d.ts +65 -0
- package/dist/orchestrator/core/state-machine.d.ts.map +1 -0
- package/dist/orchestrator/core/state-machine.js +227 -0
- package/dist/orchestrator/core/state-machine.js.map +1 -0
- package/dist/orchestrator/core/types.d.ts +364 -0
- package/dist/orchestrator/core/types.d.ts.map +1 -0
- package/dist/orchestrator/core/types.js +10 -0
- package/dist/orchestrator/core/types.js.map +1 -0
- package/dist/orchestrator/index.d.ts +75 -0
- package/dist/orchestrator/index.d.ts.map +1 -0
- package/dist/orchestrator/index.js +64 -0
- package/dist/orchestrator/index.js.map +1 -0
- package/dist/orchestrator/mcp/server.d.ts +35 -0
- package/dist/orchestrator/mcp/server.d.ts.map +1 -0
- package/dist/orchestrator/mcp/server.js +378 -0
- package/dist/orchestrator/mcp/server.js.map +1 -0
- package/dist/orchestrator/runtime/agent-dispatcher.d.ts +25 -0
- package/dist/orchestrator/runtime/agent-dispatcher.d.ts.map +1 -0
- package/dist/orchestrator/runtime/agent-dispatcher.js +82 -0
- package/dist/orchestrator/runtime/agent-dispatcher.js.map +1 -0
- package/dist/orchestrator/runtime/approval-gate.d.ts +55 -0
- package/dist/orchestrator/runtime/approval-gate.d.ts.map +1 -0
- package/dist/orchestrator/runtime/approval-gate.js +104 -0
- package/dist/orchestrator/runtime/approval-gate.js.map +1 -0
- package/dist/orchestrator/runtime/handoff-manager.d.ts +29 -0
- package/dist/orchestrator/runtime/handoff-manager.d.ts.map +1 -0
- package/dist/orchestrator/runtime/handoff-manager.js +80 -0
- package/dist/orchestrator/runtime/handoff-manager.js.map +1 -0
- package/dist/orchestrator/runtime/job-manager.d.ts +39 -0
- package/dist/orchestrator/runtime/job-manager.d.ts.map +1 -0
- package/dist/orchestrator/runtime/job-manager.js +132 -0
- package/dist/orchestrator/runtime/job-manager.js.map +1 -0
- package/dist/orchestrator/runtime/squad-runtime.d.ts +70 -0
- package/dist/orchestrator/runtime/squad-runtime.d.ts.map +1 -0
- package/dist/orchestrator/runtime/squad-runtime.js +249 -0
- package/dist/orchestrator/runtime/squad-runtime.js.map +1 -0
- package/dist/orchestrator/shell/cli.d.ts +4 -0
- package/dist/orchestrator/shell/cli.d.ts.map +1 -0
- package/dist/orchestrator/shell/cli.js +27 -0
- package/dist/orchestrator/shell/cli.js.map +1 -0
- package/dist/orchestrator/shell/commands/create.command.d.ts +3 -0
- package/dist/orchestrator/shell/commands/create.command.d.ts.map +1 -0
- package/dist/orchestrator/shell/commands/create.command.js +41 -0
- package/dist/orchestrator/shell/commands/create.command.js.map +1 -0
- package/dist/orchestrator/shell/commands/edit.command.d.ts +3 -0
- package/dist/orchestrator/shell/commands/edit.command.d.ts.map +1 -0
- package/dist/orchestrator/shell/commands/edit.command.js +49 -0
- package/dist/orchestrator/shell/commands/edit.command.js.map +1 -0
- package/dist/orchestrator/shell/commands/hosts.command.d.ts +3 -0
- package/dist/orchestrator/shell/commands/hosts.command.d.ts.map +1 -0
- package/dist/orchestrator/shell/commands/hosts.command.js +27 -0
- package/dist/orchestrator/shell/commands/hosts.command.js.map +1 -0
- package/dist/orchestrator/shell/commands/init.command.d.ts +3 -0
- package/dist/orchestrator/shell/commands/init.command.d.ts.map +1 -0
- package/dist/orchestrator/shell/commands/init.command.js +13 -0
- package/dist/orchestrator/shell/commands/init.command.js.map +1 -0
- package/dist/orchestrator/shell/commands/list.command.d.ts +3 -0
- package/dist/orchestrator/shell/commands/list.command.d.ts.map +1 -0
- package/dist/orchestrator/shell/commands/list.command.js +18 -0
- package/dist/orchestrator/shell/commands/list.command.js.map +1 -0
- package/dist/orchestrator/shell/commands/run.command.d.ts +3 -0
- package/dist/orchestrator/shell/commands/run.command.d.ts.map +1 -0
- package/dist/orchestrator/shell/commands/run.command.js +71 -0
- package/dist/orchestrator/shell/commands/run.command.js.map +1 -0
- package/dist/orchestrator/shell/commands/status.command.d.ts +3 -0
- package/dist/orchestrator/shell/commands/status.command.d.ts.map +1 -0
- package/dist/orchestrator/shell/commands/status.command.js +29 -0
- package/dist/orchestrator/shell/commands/status.command.js.map +1 -0
- package/dist/orchestrator/shell/services/active-host-detector.service.d.ts +25 -0
- package/dist/orchestrator/shell/services/active-host-detector.service.d.ts.map +1 -0
- package/dist/orchestrator/shell/services/active-host-detector.service.js +128 -0
- package/dist/orchestrator/shell/services/active-host-detector.service.js.map +1 -0
- package/dist/orchestrator/shell/services/host-resolution.service.d.ts +42 -0
- package/dist/orchestrator/shell/services/host-resolution.service.d.ts.map +1 -0
- package/dist/orchestrator/shell/services/host-resolution.service.js +108 -0
- package/dist/orchestrator/shell/services/host-resolution.service.js.map +1 -0
- package/dist/orchestrator/shell/services/host-runtime.service.d.ts +23 -0
- package/dist/orchestrator/shell/services/host-runtime.service.d.ts.map +1 -0
- package/dist/orchestrator/shell/services/host-runtime.service.js +167 -0
- package/dist/orchestrator/shell/services/host-runtime.service.js.map +1 -0
- package/dist/orchestrator/shell/services/interview-host-bridge.service.d.ts +14 -0
- package/dist/orchestrator/shell/services/interview-host-bridge.service.d.ts.map +1 -0
- package/dist/orchestrator/shell/services/interview-host-bridge.service.js +16 -0
- package/dist/orchestrator/shell/services/interview-host-bridge.service.js.map +1 -0
- package/dist/orchestrator/shell/services/job-execution.service.d.ts +22 -0
- package/dist/orchestrator/shell/services/job-execution.service.d.ts.map +1 -0
- package/dist/orchestrator/shell/services/job-execution.service.js +39 -0
- package/dist/orchestrator/shell/services/job-execution.service.js.map +1 -0
- package/dist/orchestrator/shell/services/project-bootstrap.service.d.ts +6 -0
- package/dist/orchestrator/shell/services/project-bootstrap.service.d.ts.map +1 -0
- package/dist/orchestrator/shell/services/project-bootstrap.service.js +111 -0
- package/dist/orchestrator/shell/services/project-bootstrap.service.js.map +1 -0
- package/dist/orchestrator/shell/services/squad-scaffold.service.d.ts +3 -0
- package/dist/orchestrator/shell/services/squad-scaffold.service.d.ts.map +1 -0
- package/dist/orchestrator/shell/services/squad-scaffold.service.js +30 -0
- package/dist/orchestrator/shell/services/squad-scaffold.service.js.map +1 -0
- package/dist/tests/integration/instagram-squad.test.d.ts +8 -0
- package/dist/tests/integration/instagram-squad.test.d.ts.map +1 -0
- package/dist/tests/integration/instagram-squad.test.js +187 -0
- package/dist/tests/integration/instagram-squad.test.js.map +1 -0
- package/dist/tests/integration/shell/cli-run-host-native.test.d.ts +2 -0
- package/dist/tests/integration/shell/cli-run-host-native.test.d.ts.map +1 -0
- package/dist/tests/integration/shell/cli-run-host-native.test.js +42 -0
- package/dist/tests/integration/shell/cli-run-host-native.test.js.map +1 -0
- package/dist/tests/integration/software-squad.test.d.ts +8 -0
- package/dist/tests/integration/software-squad.test.d.ts.map +1 -0
- package/dist/tests/integration/software-squad.test.js +207 -0
- package/dist/tests/integration/software-squad.test.js.map +1 -0
- package/dist/tests/unit/artifact-store.test.d.ts +2 -0
- package/dist/tests/unit/artifact-store.test.d.ts.map +1 -0
- package/dist/tests/unit/artifact-store.test.js +137 -0
- package/dist/tests/unit/artifact-store.test.js.map +1 -0
- package/dist/tests/unit/context-loader.test.d.ts +2 -0
- package/dist/tests/unit/context-loader.test.d.ts.map +1 -0
- package/dist/tests/unit/context-loader.test.js +109 -0
- package/dist/tests/unit/context-loader.test.js.map +1 -0
- package/dist/tests/unit/docs/host-native-docs.test.d.ts +2 -0
- package/dist/tests/unit/docs/host-native-docs.test.d.ts.map +1 -0
- package/dist/tests/unit/docs/host-native-docs.test.js +18 -0
- package/dist/tests/unit/docs/host-native-docs.test.js.map +1 -0
- package/dist/tests/unit/guardrails.test.d.ts +2 -0
- package/dist/tests/unit/guardrails.test.d.ts.map +1 -0
- package/dist/tests/unit/guardrails.test.js +202 -0
- package/dist/tests/unit/guardrails.test.js.map +1 -0
- package/dist/tests/unit/host/host-adapter-contract.test.d.ts +2 -0
- package/dist/tests/unit/host/host-adapter-contract.test.d.ts.map +1 -0
- package/dist/tests/unit/host/host-adapter-contract.test.js +53 -0
- package/dist/tests/unit/host/host-adapter-contract.test.js.map +1 -0
- package/dist/tests/unit/host/ide.adapter.test.d.ts +2 -0
- package/dist/tests/unit/host/ide.adapter.test.d.ts.map +1 -0
- package/dist/tests/unit/host/ide.adapter.test.js +17 -0
- package/dist/tests/unit/host/ide.adapter.test.js.map +1 -0
- package/dist/tests/unit/host/native-ide-adapters.test.d.ts +2 -0
- package/dist/tests/unit/host/native-ide-adapters.test.d.ts.map +1 -0
- package/dist/tests/unit/host/native-ide-adapters.test.js +26 -0
- package/dist/tests/unit/host/native-ide-adapters.test.js.map +1 -0
- package/dist/tests/unit/runtime/squad-runtime-host-metadata.test.d.ts +2 -0
- package/dist/tests/unit/runtime/squad-runtime-host-metadata.test.d.ts.map +1 -0
- package/dist/tests/unit/runtime/squad-runtime-host-metadata.test.js +128 -0
- package/dist/tests/unit/runtime/squad-runtime-host-metadata.test.js.map +1 -0
- package/dist/tests/unit/shell/active-host-detector.test.d.ts +2 -0
- package/dist/tests/unit/shell/active-host-detector.test.d.ts.map +1 -0
- package/dist/tests/unit/shell/active-host-detector.test.js +85 -0
- package/dist/tests/unit/shell/active-host-detector.test.js.map +1 -0
- package/dist/tests/unit/shell/host-resolution.service.test.d.ts +2 -0
- package/dist/tests/unit/shell/host-resolution.service.test.d.ts.map +1 -0
- package/dist/tests/unit/shell/host-resolution.service.test.js +252 -0
- package/dist/tests/unit/shell/host-resolution.service.test.js.map +1 -0
- package/dist/tests/unit/shell/interview-host-bridge.test.d.ts +2 -0
- package/dist/tests/unit/shell/interview-host-bridge.test.d.ts.map +1 -0
- package/dist/tests/unit/shell/interview-host-bridge.test.js +58 -0
- package/dist/tests/unit/shell/interview-host-bridge.test.js.map +1 -0
- package/dist/tests/unit/shell/project-bootstrap.service.test.d.ts +2 -0
- package/dist/tests/unit/shell/project-bootstrap.service.test.d.ts.map +1 -0
- package/dist/tests/unit/shell/project-bootstrap.service.test.js +58 -0
- package/dist/tests/unit/shell/project-bootstrap.service.test.js.map +1 -0
- package/dist/tests/unit/shell/squad-scaffold.service.test.d.ts +2 -0
- package/dist/tests/unit/shell/squad-scaffold.service.test.d.ts.map +1 -0
- package/dist/tests/unit/shell/squad-scaffold.service.test.js +40 -0
- package/dist/tests/unit/shell/squad-scaffold.service.test.js.map +1 -0
- package/dist/tests/unit/squad-builder.test.d.ts +2 -0
- package/dist/tests/unit/squad-builder.test.d.ts.map +1 -0
- package/dist/tests/unit/squad-builder.test.js +126 -0
- package/dist/tests/unit/squad-builder.test.js.map +1 -0
- package/dist/tests/unit/state-machine.test.d.ts +2 -0
- package/dist/tests/unit/state-machine.test.d.ts.map +1 -0
- package/dist/tests/unit/state-machine.test.js +133 -0
- package/dist/tests/unit/state-machine.test.js.map +1 -0
- package/docs/architecture/overview.md +115 -0
- package/docs/development/adding-agents.md +75 -0
- package/docs/development/adding-hosts.md +104 -0
- package/docs/development/adding-integrations.md +83 -0
- package/docs/development/host-detection-and-resolution.md +59 -0
- package/docs/squads/how-to-create.md +85 -0
- package/docs/squads/how-to-execute.md +139 -0
- package/docs/superpowers/plans/2026-04-01-host-native-cli-shell-implementation.md +617 -0
- package/docs/superpowers/specs/2026-04-01-host-native-cli-shell-design.md +253 -0
- package/package.json +103 -0
- package/squads/examples/instagram-content/AGENTS.md +63 -0
- package/squads/examples/instagram-content/POLICIES.md +45 -0
- package/squads/examples/instagram-content/SQUAD.md +63 -0
- package/squads/examples/instagram-content/WORKFLOW.md +58 -0
- package/squads/examples/instagram-content/config/squad.json +474 -0
- package/squads/examples/software-development/AGENTS.md +88 -0
- package/squads/examples/software-development/POLICIES.md +44 -0
- package/squads/examples/software-development/SQUAD.md +65 -0
- package/squads/examples/software-development/WORKFLOW.md +78 -0
- package/squads/examples/software-development/config/squad.json +442 -0
- package/templates/AGENTS.md +46 -0
- package/templates/POLICIES.md +24 -0
- package/templates/PROJECT.md +52 -0
- package/templates/SQUAD.md +52 -0
- package/templates/TASKS.md +31 -0
- package/templates/WORKFLOW.md +35 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISocialMediaAdapter.d.ts","sourceRoot":"","sources":["../../../../orchestrator/adapters/publishing/ISocialMediaAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ISocialMediaAdapter — Social Media Publishing Adapter Interface
|
|
3
|
+
*
|
|
4
|
+
* Abstracts publishing operations across social media platforms
|
|
5
|
+
* (Instagram, Twitter/X, LinkedIn, TikTok, etc.).
|
|
6
|
+
*
|
|
7
|
+
* STATUS: Interface defined. Concrete adapters: instagram (stub)
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=ISocialMediaAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISocialMediaAdapter.js","sourceRoot":"","sources":["../../../../orchestrator/adapters/publishing/ISocialMediaAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InstagramAdapter — Stub
|
|
3
|
+
*
|
|
4
|
+
* Adapter for Instagram publishing via the Instagram Graph API.
|
|
5
|
+
*
|
|
6
|
+
* CRITICAL SAFETY NOTE:
|
|
7
|
+
* Publishing to Instagram is a real, irreversible action.
|
|
8
|
+
* This adapter MUST only be called after explicit human approval
|
|
9
|
+
* has been recorded via the ApprovalGate.
|
|
10
|
+
*
|
|
11
|
+
* STATUS: STUB — all methods log and return mock data.
|
|
12
|
+
* To activate: set INSTAGRAM_ACCESS_TOKEN and INSTAGRAM_ACCOUNT_ID.
|
|
13
|
+
*/
|
|
14
|
+
import type { ISocialMediaAdapter, PostDraft, PublishedPost, PostAnalytics, AccountInfo, PublishingCapabilities } from './ISocialMediaAdapter.js';
|
|
15
|
+
export declare class InstagramAdapter implements ISocialMediaAdapter {
|
|
16
|
+
readonly id = "instagram";
|
|
17
|
+
readonly platform = "Instagram";
|
|
18
|
+
private accessToken;
|
|
19
|
+
private accountId;
|
|
20
|
+
constructor(opts?: {
|
|
21
|
+
accessToken?: string;
|
|
22
|
+
accountId?: string;
|
|
23
|
+
});
|
|
24
|
+
initialize(): Promise<void>;
|
|
25
|
+
getAccountInfo(): Promise<AccountInfo>;
|
|
26
|
+
publishPost(draft: PostDraft): Promise<PublishedPost>;
|
|
27
|
+
schedulePost(draft: PostDraft, publishAt: string): Promise<PublishedPost>;
|
|
28
|
+
getPostAnalytics(postId: string): Promise<PostAnalytics>;
|
|
29
|
+
listPosts(_limit?: number): Promise<PublishedPost[]>;
|
|
30
|
+
cancelScheduledPost(postId: string): Promise<void>;
|
|
31
|
+
getCapabilities(): PublishingCapabilities;
|
|
32
|
+
healthCheck(): Promise<boolean>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=instagram.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instagram.adapter.d.ts","sourceRoot":"","sources":["../../../../orchestrator/adapters/publishing/instagram.adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjJ,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,QAAQ,CAAC,EAAE,eAAc;IACzB,QAAQ,CAAC,QAAQ,eAAc;IAE/B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAoB;gBAEzB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAKzD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAatC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBrD,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAczE,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAexD,SAAS,CAAC,MAAM,SAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIhD,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,eAAe,IAAI,sBAAsB;IAYnC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAItC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InstagramAdapter — Stub
|
|
3
|
+
*
|
|
4
|
+
* Adapter for Instagram publishing via the Instagram Graph API.
|
|
5
|
+
*
|
|
6
|
+
* CRITICAL SAFETY NOTE:
|
|
7
|
+
* Publishing to Instagram is a real, irreversible action.
|
|
8
|
+
* This adapter MUST only be called after explicit human approval
|
|
9
|
+
* has been recorded via the ApprovalGate.
|
|
10
|
+
*
|
|
11
|
+
* STATUS: STUB — all methods log and return mock data.
|
|
12
|
+
* To activate: set INSTAGRAM_ACCESS_TOKEN and INSTAGRAM_ACCOUNT_ID.
|
|
13
|
+
*/
|
|
14
|
+
export class InstagramAdapter {
|
|
15
|
+
id = 'instagram';
|
|
16
|
+
platform = 'Instagram';
|
|
17
|
+
accessToken;
|
|
18
|
+
accountId;
|
|
19
|
+
constructor(opts) {
|
|
20
|
+
this.accessToken = opts?.accessToken ?? process.env['INSTAGRAM_ACCESS_TOKEN'];
|
|
21
|
+
this.accountId = opts?.accountId ?? process.env['INSTAGRAM_ACCOUNT_ID'];
|
|
22
|
+
}
|
|
23
|
+
async initialize() {
|
|
24
|
+
if (!this.accessToken || !this.accountId) {
|
|
25
|
+
console.warn('[InstagramAdapter] INSTAGRAM_ACCESS_TOKEN or INSTAGRAM_ACCOUNT_ID not set — running in stub mode');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async getAccountInfo() {
|
|
29
|
+
// STUB: GET /{account-id}?fields=id,username,name,followers_count
|
|
30
|
+
return {
|
|
31
|
+
id: this.accountId ?? 'stub-account-id',
|
|
32
|
+
username: 'stub_account',
|
|
33
|
+
displayName: 'Stub Account',
|
|
34
|
+
platform: 'Instagram',
|
|
35
|
+
followerCount: 0,
|
|
36
|
+
followingCount: 0,
|
|
37
|
+
postCount: 0,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async publishPost(draft) {
|
|
41
|
+
// SAFETY: This method must only be called after ApprovalGate confirms human approval.
|
|
42
|
+
// STUB: POST /{account-id}/media + /{account-id}/media_publish
|
|
43
|
+
console.log(`[InstagramAdapter][STUB] publishPost: ${draft.caption.slice(0, 60)}...`);
|
|
44
|
+
console.warn('[InstagramAdapter][STUB] Real publishing NOT executed — stub mode active');
|
|
45
|
+
return {
|
|
46
|
+
id: `stub-post-${Date.now()}`,
|
|
47
|
+
platformPostId: 'stub-platform-id',
|
|
48
|
+
url: 'https://www.instagram.com/p/stub/',
|
|
49
|
+
caption: draft.caption,
|
|
50
|
+
publishedAt: new Date().toISOString(),
|
|
51
|
+
status: 'pending_review',
|
|
52
|
+
platform: 'Instagram',
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
async schedulePost(draft, publishAt) {
|
|
56
|
+
// STUB: Requires Content Publishing API with scheduling support
|
|
57
|
+
console.log(`[InstagramAdapter][STUB] schedulePost for ${publishAt}: ${draft.caption.slice(0, 60)}`);
|
|
58
|
+
return {
|
|
59
|
+
id: `stub-scheduled-${Date.now()}`,
|
|
60
|
+
platformPostId: 'stub-scheduled-platform-id',
|
|
61
|
+
url: 'https://www.instagram.com/p/stub/',
|
|
62
|
+
caption: draft.caption,
|
|
63
|
+
publishedAt: publishAt,
|
|
64
|
+
status: 'scheduled',
|
|
65
|
+
platform: 'Instagram',
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
async getPostAnalytics(postId) {
|
|
69
|
+
// STUB: GET /{media-id}/insights
|
|
70
|
+
return {
|
|
71
|
+
postId,
|
|
72
|
+
impressions: 0,
|
|
73
|
+
reach: 0,
|
|
74
|
+
engagement: 0,
|
|
75
|
+
likes: 0,
|
|
76
|
+
comments: 0,
|
|
77
|
+
shares: 0,
|
|
78
|
+
saves: 0,
|
|
79
|
+
measuredAt: new Date().toISOString(),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
async listPosts(_limit = 10) {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
async cancelScheduledPost(postId) {
|
|
86
|
+
console.log(`[InstagramAdapter][STUB] cancelScheduledPost: ${postId}`);
|
|
87
|
+
}
|
|
88
|
+
getCapabilities() {
|
|
89
|
+
return {
|
|
90
|
+
supportsScheduling: true,
|
|
91
|
+
supportsCarousel: true,
|
|
92
|
+
supportsVideo: true,
|
|
93
|
+
supportsStories: true,
|
|
94
|
+
supportsAnalytics: true,
|
|
95
|
+
maxCaptionLength: 2200,
|
|
96
|
+
maxHashtags: 30,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
async healthCheck() {
|
|
100
|
+
if (!this.accessToken)
|
|
101
|
+
return false;
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=instagram.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instagram.adapter.js","sourceRoot":"","sources":["../../../../orchestrator/adapters/publishing/instagram.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IToolAdapter — Tool/Integration Adapter Interface
|
|
3
|
+
*
|
|
4
|
+
* Abstracts external tool invocations (web search, code execution,
|
|
5
|
+
* file operations, API calls, MCP tools, etc.).
|
|
6
|
+
*
|
|
7
|
+
* STATUS: Interface defined. Concrete adapters are domain-specific stubs.
|
|
8
|
+
*/
|
|
9
|
+
export interface ToolInput {
|
|
10
|
+
name: string;
|
|
11
|
+
arguments: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface ToolOutput {
|
|
14
|
+
name: string;
|
|
15
|
+
result: unknown;
|
|
16
|
+
error?: string;
|
|
17
|
+
metadata?: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
export interface AvailableTool {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
description: string;
|
|
23
|
+
inputSchema: Record<string, unknown>;
|
|
24
|
+
category: ToolCategory;
|
|
25
|
+
}
|
|
26
|
+
export type ToolCategory = 'filesystem' | 'web' | 'code' | 'git' | 'api' | 'media' | 'database' | 'mcp' | 'custom';
|
|
27
|
+
/**
|
|
28
|
+
* Generic tool adapter interface.
|
|
29
|
+
* Each integration (filesystem, GitHub, web search, etc.) implements this.
|
|
30
|
+
*/
|
|
31
|
+
export interface IToolAdapter {
|
|
32
|
+
readonly id: string;
|
|
33
|
+
readonly name: string;
|
|
34
|
+
readonly category: ToolCategory;
|
|
35
|
+
/**
|
|
36
|
+
* List tools provided by this adapter.
|
|
37
|
+
*/
|
|
38
|
+
listTools(): AvailableTool[];
|
|
39
|
+
/**
|
|
40
|
+
* Execute a tool call.
|
|
41
|
+
*/
|
|
42
|
+
invoke(input: ToolInput): Promise<ToolOutput>;
|
|
43
|
+
/**
|
|
44
|
+
* Check if a specific tool is supported.
|
|
45
|
+
*/
|
|
46
|
+
supports(toolName: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Health check — verify the integration is operational.
|
|
49
|
+
*/
|
|
50
|
+
healthCheck(): Promise<boolean>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=IToolAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IToolAdapter.d.ts","sourceRoot":"","sources":["../../../../orchestrator/adapters/tools/IToolAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,QAAQ,EAAE,YAAY,CAAA;CACvB;AAED,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,KAAK,GACL,MAAM,GACN,KAAK,GACL,KAAK,GACL,OAAO,GACP,UAAU,GACV,KAAK,GACL,QAAQ,CAAA;AAEZ;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAE/B;;OAEG;IACH,SAAS,IAAI,aAAa,EAAE,CAAA;IAE5B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE7C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAEnC;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAChC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IToolAdapter — Tool/Integration Adapter Interface
|
|
3
|
+
*
|
|
4
|
+
* Abstracts external tool invocations (web search, code execution,
|
|
5
|
+
* file operations, API calls, MCP tools, etc.).
|
|
6
|
+
*
|
|
7
|
+
* STATUS: Interface defined. Concrete adapters are domain-specific stubs.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=IToolAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IToolAdapter.js","sourceRoot":"","sources":["../../../../orchestrator/adapters/tools/IToolAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IVCSAdapter — Version Control System Adapter Interface
|
|
3
|
+
*
|
|
4
|
+
* Abstracts VCS operations (git, GitHub, GitLab, Bitbucket, etc.).
|
|
5
|
+
* The core orchestrator only interacts with this interface — never with
|
|
6
|
+
* specific VCS clients or APIs.
|
|
7
|
+
*
|
|
8
|
+
* STATUS: Interface defined. Concrete adapters: github (stub)
|
|
9
|
+
*/
|
|
10
|
+
export interface BranchOptions {
|
|
11
|
+
baseBranch?: string;
|
|
12
|
+
checkout?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface CommitOptions {
|
|
15
|
+
message: string;
|
|
16
|
+
/** Files to stage. If empty, stages all changes */
|
|
17
|
+
files?: string[];
|
|
18
|
+
allowEmpty?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface PullRequestOptions {
|
|
21
|
+
title: string;
|
|
22
|
+
body: string;
|
|
23
|
+
baseBranch: string;
|
|
24
|
+
headBranch: string;
|
|
25
|
+
draft?: boolean;
|
|
26
|
+
labels?: string[];
|
|
27
|
+
reviewers?: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface PullRequestInfo {
|
|
30
|
+
id: string;
|
|
31
|
+
number: number;
|
|
32
|
+
url: string;
|
|
33
|
+
title: string;
|
|
34
|
+
status: 'open' | 'closed' | 'merged' | 'draft';
|
|
35
|
+
baseBranch: string;
|
|
36
|
+
headBranch: string;
|
|
37
|
+
createdAt: string;
|
|
38
|
+
}
|
|
39
|
+
export interface CommitInfo {
|
|
40
|
+
sha: string;
|
|
41
|
+
message: string;
|
|
42
|
+
author: string;
|
|
43
|
+
timestamp: string;
|
|
44
|
+
url?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface BranchInfo {
|
|
47
|
+
name: string;
|
|
48
|
+
sha: string;
|
|
49
|
+
isDefault: boolean;
|
|
50
|
+
isProtected: boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface VCSCapabilities {
|
|
53
|
+
supportsPullRequests: boolean;
|
|
54
|
+
supportsReviews: boolean;
|
|
55
|
+
supportsLabels: boolean;
|
|
56
|
+
supportsWebhooks: boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Interface for VCS (version control) adapters.
|
|
60
|
+
* Implement this to add GitHub, GitLab, Bitbucket, or bare git support.
|
|
61
|
+
*/
|
|
62
|
+
export interface IVCSAdapter {
|
|
63
|
+
readonly id: string;
|
|
64
|
+
readonly name: string;
|
|
65
|
+
initialize(): Promise<void>;
|
|
66
|
+
/** Get current branch name */
|
|
67
|
+
getCurrentBranch(): Promise<string>;
|
|
68
|
+
/** List all branches */
|
|
69
|
+
listBranches(): Promise<BranchInfo[]>;
|
|
70
|
+
/** Create and optionally checkout a new branch */
|
|
71
|
+
createBranch(name: string, options?: BranchOptions): Promise<BranchInfo>;
|
|
72
|
+
/** Stage and commit files */
|
|
73
|
+
commit(options: CommitOptions): Promise<CommitInfo>;
|
|
74
|
+
/** Push branch to remote */
|
|
75
|
+
push(branch: string, force?: boolean): Promise<void>;
|
|
76
|
+
/** Create a pull request / merge request */
|
|
77
|
+
createPullRequest(options: PullRequestOptions): Promise<PullRequestInfo>;
|
|
78
|
+
/** Get pull request info by number */
|
|
79
|
+
getPullRequest(number: number): Promise<PullRequestInfo>;
|
|
80
|
+
/** List open pull requests */
|
|
81
|
+
listPullRequests(state?: 'open' | 'closed' | 'all'): Promise<PullRequestInfo[]>;
|
|
82
|
+
/** Add a comment to a pull request */
|
|
83
|
+
commentOnPullRequest(number: number, body: string): Promise<void>;
|
|
84
|
+
/** Get recent commit history */
|
|
85
|
+
getCommitHistory(branch?: string, limit?: number): Promise<CommitInfo[]>;
|
|
86
|
+
getCapabilities(): VCSCapabilities;
|
|
87
|
+
healthCheck(): Promise<boolean>;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=IVCSAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IVCSAdapter.d.ts","sourceRoot":"","sources":["../../../../orchestrator/adapters/vcs/IVCSAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IVCSAdapter — Version Control System Adapter Interface
|
|
3
|
+
*
|
|
4
|
+
* Abstracts VCS operations (git, GitHub, GitLab, Bitbucket, etc.).
|
|
5
|
+
* The core orchestrator only interacts with this interface — never with
|
|
6
|
+
* specific VCS clients or APIs.
|
|
7
|
+
*
|
|
8
|
+
* STATUS: Interface defined. Concrete adapters: github (stub)
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=IVCSAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IVCSAdapter.js","sourceRoot":"","sources":["../../../../orchestrator/adapters/vcs/IVCSAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHubVCSAdapter — Stub
|
|
3
|
+
*
|
|
4
|
+
* Adapter for GitHub operations: branches, commits, PRs, comments.
|
|
5
|
+
* Uses the GitHub REST API (via GITHUB_TOKEN).
|
|
6
|
+
*
|
|
7
|
+
* STATUS: STUB — all methods log and return mock data.
|
|
8
|
+
* To activate: set GITHUB_TOKEN and GITHUB_REPO, then implement API calls.
|
|
9
|
+
*/
|
|
10
|
+
import type { IVCSAdapter, BranchOptions, CommitOptions, PullRequestOptions, PullRequestInfo, CommitInfo, BranchInfo, VCSCapabilities } from './IVCSAdapter.js';
|
|
11
|
+
export declare class GitHubVCSAdapter implements IVCSAdapter {
|
|
12
|
+
readonly id = "github";
|
|
13
|
+
readonly name = "GitHub";
|
|
14
|
+
private token;
|
|
15
|
+
private repo;
|
|
16
|
+
private owner;
|
|
17
|
+
constructor(opts?: {
|
|
18
|
+
token?: string;
|
|
19
|
+
owner?: string;
|
|
20
|
+
repo?: string;
|
|
21
|
+
});
|
|
22
|
+
initialize(): Promise<void>;
|
|
23
|
+
getCurrentBranch(): Promise<string>;
|
|
24
|
+
listBranches(): Promise<BranchInfo[]>;
|
|
25
|
+
createBranch(name: string, _options?: BranchOptions): Promise<BranchInfo>;
|
|
26
|
+
commit(options: CommitOptions): Promise<CommitInfo>;
|
|
27
|
+
push(branch: string, _force?: boolean): Promise<void>;
|
|
28
|
+
createPullRequest(options: PullRequestOptions): Promise<PullRequestInfo>;
|
|
29
|
+
getPullRequest(number: number): Promise<PullRequestInfo>;
|
|
30
|
+
listPullRequests(_state?: 'open' | 'closed' | 'all'): Promise<PullRequestInfo[]>;
|
|
31
|
+
commentOnPullRequest(number: number, body: string): Promise<void>;
|
|
32
|
+
getCommitHistory(_branch?: string, limit?: number): Promise<CommitInfo[]>;
|
|
33
|
+
getCapabilities(): VCSCapabilities;
|
|
34
|
+
healthCheck(): Promise<boolean>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=github.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.adapter.d.ts","sourceRoot":"","sources":["../../../../orchestrator/adapters/vcs/github.adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE/J,qBAAa,gBAAiB,YAAW,WAAW;IAClD,QAAQ,CAAC,EAAE,YAAW;IACtB,QAAQ,CAAC,IAAI,YAAW;IAExB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,KAAK,CAAoB;gBAErB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAQ9D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC,YAAY,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAKrC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAMzE,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAWnD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IAexE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAcxD,gBAAgB,CAAC,MAAM,GAAE,MAAM,GAAG,QAAQ,GAAG,KAAc,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAIxF,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAS3E,eAAe,IAAI,eAAe;IAS5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAKtC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHubVCSAdapter — Stub
|
|
3
|
+
*
|
|
4
|
+
* Adapter for GitHub operations: branches, commits, PRs, comments.
|
|
5
|
+
* Uses the GitHub REST API (via GITHUB_TOKEN).
|
|
6
|
+
*
|
|
7
|
+
* STATUS: STUB — all methods log and return mock data.
|
|
8
|
+
* To activate: set GITHUB_TOKEN and GITHUB_REPO, then implement API calls.
|
|
9
|
+
*/
|
|
10
|
+
export class GitHubVCSAdapter {
|
|
11
|
+
id = 'github';
|
|
12
|
+
name = 'GitHub';
|
|
13
|
+
token;
|
|
14
|
+
repo;
|
|
15
|
+
owner;
|
|
16
|
+
constructor(opts) {
|
|
17
|
+
this.token = opts?.token ?? process.env['GITHUB_TOKEN'];
|
|
18
|
+
const fullRepo = opts?.repo ?? process.env['GITHUB_REPO'] ?? '';
|
|
19
|
+
const [owner, repo] = fullRepo.split('/');
|
|
20
|
+
this.owner = opts?.owner ?? owner;
|
|
21
|
+
this.repo = repo;
|
|
22
|
+
}
|
|
23
|
+
async initialize() {
|
|
24
|
+
if (!this.token) {
|
|
25
|
+
console.warn('[GitHubVCSAdapter] GITHUB_TOKEN not set — running in stub mode');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async getCurrentBranch() {
|
|
29
|
+
// STUB: In real impl, run `git rev-parse --abbrev-ref HEAD`
|
|
30
|
+
return 'main';
|
|
31
|
+
}
|
|
32
|
+
async listBranches() {
|
|
33
|
+
// STUB: GET /repos/{owner}/{repo}/branches
|
|
34
|
+
return [{ name: 'main', sha: 'abc123', isDefault: true, isProtected: true }];
|
|
35
|
+
}
|
|
36
|
+
async createBranch(name, _options) {
|
|
37
|
+
// STUB: POST /repos/{owner}/{repo}/git/refs
|
|
38
|
+
console.log(`[GitHubVCSAdapter][STUB] createBranch: ${name}`);
|
|
39
|
+
return { name, sha: 'stub-sha', isDefault: false, isProtected: false };
|
|
40
|
+
}
|
|
41
|
+
async commit(options) {
|
|
42
|
+
// STUB: In real impl, git add + git commit
|
|
43
|
+
console.log(`[GitHubVCSAdapter][STUB] commit: ${options.message}`);
|
|
44
|
+
return {
|
|
45
|
+
sha: `stub-${Date.now()}`,
|
|
46
|
+
message: options.message,
|
|
47
|
+
author: 'squad-foundry[bot]',
|
|
48
|
+
timestamp: new Date().toISOString(),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async push(branch, _force = false) {
|
|
52
|
+
console.log(`[GitHubVCSAdapter][STUB] push: ${branch}`);
|
|
53
|
+
}
|
|
54
|
+
async createPullRequest(options) {
|
|
55
|
+
// STUB: POST /repos/{owner}/{repo}/pulls
|
|
56
|
+
console.log(`[GitHubVCSAdapter][STUB] createPullRequest: ${options.title}`);
|
|
57
|
+
return {
|
|
58
|
+
id: `stub-pr-${Date.now()}`,
|
|
59
|
+
number: 1,
|
|
60
|
+
url: `https://github.com/${this.owner}/${this.repo}/pull/1`,
|
|
61
|
+
title: options.title,
|
|
62
|
+
status: 'open',
|
|
63
|
+
baseBranch: options.baseBranch,
|
|
64
|
+
headBranch: options.headBranch,
|
|
65
|
+
createdAt: new Date().toISOString(),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
async getPullRequest(number) {
|
|
69
|
+
// STUB: GET /repos/{owner}/{repo}/pulls/{number}
|
|
70
|
+
return {
|
|
71
|
+
id: `stub-pr-${number}`,
|
|
72
|
+
number,
|
|
73
|
+
url: `https://github.com/${this.owner}/${this.repo}/pull/${number}`,
|
|
74
|
+
title: 'Stub PR',
|
|
75
|
+
status: 'open',
|
|
76
|
+
baseBranch: 'main',
|
|
77
|
+
headBranch: 'feature/stub',
|
|
78
|
+
createdAt: new Date().toISOString(),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
async listPullRequests(_state = 'open') {
|
|
82
|
+
return [];
|
|
83
|
+
}
|
|
84
|
+
async commentOnPullRequest(number, body) {
|
|
85
|
+
console.log(`[GitHubVCSAdapter][STUB] commentOnPullRequest #${number}: ${body.slice(0, 80)}`);
|
|
86
|
+
}
|
|
87
|
+
async getCommitHistory(_branch, limit = 10) {
|
|
88
|
+
return Array.from({ length: Math.min(limit, 3) }, (_, i) => ({
|
|
89
|
+
sha: `stub-sha-${i}`,
|
|
90
|
+
message: `Stub commit ${i}`,
|
|
91
|
+
author: 'squad-foundry[bot]',
|
|
92
|
+
timestamp: new Date().toISOString(),
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
getCapabilities() {
|
|
96
|
+
return {
|
|
97
|
+
supportsPullRequests: true,
|
|
98
|
+
supportsReviews: true,
|
|
99
|
+
supportsLabels: true,
|
|
100
|
+
supportsWebhooks: true,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
async healthCheck() {
|
|
104
|
+
if (!this.token)
|
|
105
|
+
return false;
|
|
106
|
+
// STUB: GET /user
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=github.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.adapter.js","sourceRoot":"","sources":["../../../../orchestrator/adapters/vcs/github.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ArtifactStore
|
|
3
|
+
*
|
|
4
|
+
* Filesystem-based artifact persistence for squad jobs.
|
|
5
|
+
* All job state, handoffs, events, outputs, and approvals are stored
|
|
6
|
+
* as human-readable JSON/Markdown files under:
|
|
7
|
+
*
|
|
8
|
+
* artifacts/<squad_id>/<job_id>/
|
|
9
|
+
* state.json
|
|
10
|
+
* handoffs.json
|
|
11
|
+
* events.json
|
|
12
|
+
* approvals.json
|
|
13
|
+
* outputs/
|
|
14
|
+
* reports/
|
|
15
|
+
*/
|
|
16
|
+
import type { JobDefinition, HandoffEvent, HistoryEntry, ApprovalRecord, ArtifactRef, PendingArtifact, JobId, SquadId, AgentId, StepId } from '../core/types.js';
|
|
17
|
+
export declare class ArtifactStore {
|
|
18
|
+
private baseDir;
|
|
19
|
+
constructor(baseDir?: string);
|
|
20
|
+
private jobDir;
|
|
21
|
+
private ensureDir;
|
|
22
|
+
private write;
|
|
23
|
+
private read;
|
|
24
|
+
/** Persist the full job state */
|
|
25
|
+
saveJob(job: JobDefinition): void;
|
|
26
|
+
/** Load a job state from disk */
|
|
27
|
+
loadJob(squadId: SquadId, jobId: JobId): JobDefinition | null;
|
|
28
|
+
/** List all job IDs for a squad */
|
|
29
|
+
listJobs(squadId: SquadId): JobId[];
|
|
30
|
+
appendHandoff(squadId: SquadId, jobId: JobId, handoff: HandoffEvent): void;
|
|
31
|
+
loadHandoffs(squadId: SquadId, jobId: JobId): HandoffEvent[];
|
|
32
|
+
appendEvent(squadId: SquadId, jobId: JobId, event: HistoryEntry): void;
|
|
33
|
+
loadEvents(squadId: SquadId, jobId: JobId): HistoryEntry[];
|
|
34
|
+
saveApprovals(squadId: SquadId, jobId: JobId, approvals: ApprovalRecord[]): void;
|
|
35
|
+
loadApprovals(squadId: SquadId, jobId: JobId): ApprovalRecord[];
|
|
36
|
+
/**
|
|
37
|
+
* Persist a pending artifact (content produced by an agent) to disk.
|
|
38
|
+
* Returns an ArtifactRef that can be stored in the job.
|
|
39
|
+
*/
|
|
40
|
+
persistArtifact(squadId: SquadId, jobId: JobId, artifact: PendingArtifact, agentId: AgentId, stepId: StepId): ArtifactRef;
|
|
41
|
+
/** Save a Markdown report to artifacts/<squad_id>/<job_id>/reports/ */
|
|
42
|
+
saveReport(squadId: SquadId, jobId: JobId, name: string, content: string): string;
|
|
43
|
+
/** List all artifact refs from the job's outputs directory */
|
|
44
|
+
listArtifacts(squadId: SquadId, jobId: JobId): string[];
|
|
45
|
+
}
|
|
46
|
+
export declare function createArtifactStore(baseDir?: string): ArtifactStore;
|
|
47
|
+
//# sourceMappingURL=artifact-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-store.d.ts","sourceRoot":"","sources":["../../../orchestrator/artifacts/artifact-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,EACf,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACP,MAAM,kBAAkB,CAAA;AAMzB,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,SAAc;IAIjC,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,IAAI;IAWZ,iCAAiC;IACjC,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAKjC,iCAAiC;IACjC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,IAAI;IAI7D,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE;IAUnC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAO1E,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,YAAY,EAAE;IAM5D,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAOtE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,YAAY,EAAE;IAM1D,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI;IAKhF,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,cAAc,EAAE;IAM/D;;;OAGG;IACH,eAAe,CACb,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,WAAW;IAsBd,uEAAuE;IACvE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAQjF,8DAA8D;IAC9D,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE;CAKxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAEnE"}
|