@stoneforge/smithy 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/LICENSE +13 -0
- package/README.md +114 -0
- package/dist/api/index.d.ts +7 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +7 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/orchestrator-api.d.ts +153 -0
- package/dist/api/orchestrator-api.d.ts.map +1 -0
- package/dist/api/orchestrator-api.js +374 -0
- package/dist/api/orchestrator-api.js.map +1 -0
- package/dist/bin/sf.d.ts +3 -0
- package/dist/bin/sf.d.ts.map +1 -0
- package/dist/bin/sf.js +10 -0
- package/dist/bin/sf.js.map +1 -0
- package/dist/cli/commands/agent.d.ts +20 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +861 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/daemon.d.ts +14 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -0
- package/dist/cli/commands/daemon.js +272 -0
- package/dist/cli/commands/daemon.js.map +1 -0
- package/dist/cli/commands/dispatch.d.ts +9 -0
- package/dist/cli/commands/dispatch.d.ts.map +1 -0
- package/dist/cli/commands/dispatch.js +128 -0
- package/dist/cli/commands/dispatch.js.map +1 -0
- package/dist/cli/commands/merge.d.ts +11 -0
- package/dist/cli/commands/merge.d.ts.map +1 -0
- package/dist/cli/commands/merge.js +246 -0
- package/dist/cli/commands/merge.js.map +1 -0
- package/dist/cli/commands/pool.d.ts +21 -0
- package/dist/cli/commands/pool.d.ts.map +1 -0
- package/dist/cli/commands/pool.js +762 -0
- package/dist/cli/commands/pool.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +54 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +57 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/task.d.ts +36 -0
- package/dist/cli/commands/task.d.ts.map +1 -0
- package/dist/cli/commands/task.js +889 -0
- package/dist/cli/commands/task.js.map +1 -0
- package/dist/cli/commands/test-orchestration.d.ts +32 -0
- package/dist/cli/commands/test-orchestration.d.ts.map +1 -0
- package/dist/cli/commands/test-orchestration.js +392 -0
- package/dist/cli/commands/test-orchestration.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +15 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/plugin.d.ts +23 -0
- package/dist/cli/plugin.d.ts.map +1 -0
- package/dist/cli/plugin.js +36 -0
- package/dist/cli/plugin.js.map +1 -0
- package/dist/git/index.d.ts +10 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +12 -0
- package/dist/git/index.js.map +1 -0
- package/dist/git/merge.d.ts +79 -0
- package/dist/git/merge.d.ts.map +1 -0
- package/dist/git/merge.js +254 -0
- package/dist/git/merge.js.map +1 -0
- package/dist/git/worktree-manager.d.ts +299 -0
- package/dist/git/worktree-manager.d.ts.map +1 -0
- package/dist/git/worktree-manager.js +744 -0
- package/dist/git/worktree-manager.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/director.md +272 -0
- package/dist/prompts/index.d.ts +100 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +294 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/message-triage.md +50 -0
- package/dist/prompts/persistent-worker.md +240 -0
- package/dist/prompts/steward-base.md +64 -0
- package/dist/prompts/steward-docs.md +118 -0
- package/dist/prompts/steward-health.md +39 -0
- package/dist/prompts/steward-merge.md +168 -0
- package/dist/prompts/steward-ops.md +28 -0
- package/dist/prompts/steward-reminder.md +26 -0
- package/dist/prompts/worker.md +282 -0
- package/dist/providers/claude/headless.d.ts +18 -0
- package/dist/providers/claude/headless.d.ts.map +1 -0
- package/dist/providers/claude/headless.js +307 -0
- package/dist/providers/claude/headless.js.map +1 -0
- package/dist/providers/claude/index.d.ts +24 -0
- package/dist/providers/claude/index.d.ts.map +1 -0
- package/dist/providers/claude/index.js +80 -0
- package/dist/providers/claude/index.js.map +1 -0
- package/dist/providers/claude/interactive.d.ts +21 -0
- package/dist/providers/claude/interactive.d.ts.map +1 -0
- package/dist/providers/claude/interactive.js +142 -0
- package/dist/providers/claude/interactive.js.map +1 -0
- package/dist/providers/codex/event-mapper.d.ts +91 -0
- package/dist/providers/codex/event-mapper.d.ts.map +1 -0
- package/dist/providers/codex/event-mapper.js +299 -0
- package/dist/providers/codex/event-mapper.js.map +1 -0
- package/dist/providers/codex/headless.d.ts +20 -0
- package/dist/providers/codex/headless.d.ts.map +1 -0
- package/dist/providers/codex/headless.js +174 -0
- package/dist/providers/codex/headless.js.map +1 -0
- package/dist/providers/codex/index.d.ts +30 -0
- package/dist/providers/codex/index.d.ts.map +1 -0
- package/dist/providers/codex/index.js +55 -0
- package/dist/providers/codex/index.js.map +1 -0
- package/dist/providers/codex/interactive.d.ts +21 -0
- package/dist/providers/codex/interactive.d.ts.map +1 -0
- package/dist/providers/codex/interactive.js +141 -0
- package/dist/providers/codex/interactive.js.map +1 -0
- package/dist/providers/codex/jsonrpc-client.d.ts +52 -0
- package/dist/providers/codex/jsonrpc-client.d.ts.map +1 -0
- package/dist/providers/codex/jsonrpc-client.js +141 -0
- package/dist/providers/codex/jsonrpc-client.js.map +1 -0
- package/dist/providers/codex/server-manager.d.ts +100 -0
- package/dist/providers/codex/server-manager.d.ts.map +1 -0
- package/dist/providers/codex/server-manager.js +153 -0
- package/dist/providers/codex/server-manager.js.map +1 -0
- package/dist/providers/index.d.ts +15 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +19 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/opencode/async-queue.d.ts +21 -0
- package/dist/providers/opencode/async-queue.d.ts.map +1 -0
- package/dist/providers/opencode/async-queue.js +51 -0
- package/dist/providers/opencode/async-queue.js.map +1 -0
- package/dist/providers/opencode/event-mapper.d.ts +132 -0
- package/dist/providers/opencode/event-mapper.d.ts.map +1 -0
- package/dist/providers/opencode/event-mapper.js +204 -0
- package/dist/providers/opencode/event-mapper.js.map +1 -0
- package/dist/providers/opencode/headless.d.ts +25 -0
- package/dist/providers/opencode/headless.d.ts.map +1 -0
- package/dist/providers/opencode/headless.js +190 -0
- package/dist/providers/opencode/headless.js.map +1 -0
- package/dist/providers/opencode/index.d.ts +33 -0
- package/dist/providers/opencode/index.d.ts.map +1 -0
- package/dist/providers/opencode/index.js +42 -0
- package/dist/providers/opencode/index.js.map +1 -0
- package/dist/providers/opencode/interactive.d.ts +21 -0
- package/dist/providers/opencode/interactive.d.ts.map +1 -0
- package/dist/providers/opencode/interactive.js +135 -0
- package/dist/providers/opencode/interactive.js.map +1 -0
- package/dist/providers/opencode/server-manager.d.ts +145 -0
- package/dist/providers/opencode/server-manager.d.ts.map +1 -0
- package/dist/providers/opencode/server-manager.js +163 -0
- package/dist/providers/opencode/server-manager.js.map +1 -0
- package/dist/providers/registry.d.ts +38 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +82 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/providers/types.d.ts +144 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +25 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/runtime/event-utils.d.ts +8 -0
- package/dist/runtime/event-utils.d.ts.map +1 -0
- package/dist/runtime/event-utils.js +23 -0
- package/dist/runtime/event-utils.js.map +1 -0
- package/dist/runtime/handoff.d.ts +195 -0
- package/dist/runtime/handoff.d.ts.map +1 -0
- package/dist/runtime/handoff.js +332 -0
- package/dist/runtime/handoff.js.map +1 -0
- package/dist/runtime/index.d.ts +17 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +60 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/message-mapper.d.ts +99 -0
- package/dist/runtime/message-mapper.d.ts.map +1 -0
- package/dist/runtime/message-mapper.js +202 -0
- package/dist/runtime/message-mapper.js.map +1 -0
- package/dist/runtime/predecessor-query.d.ts +212 -0
- package/dist/runtime/predecessor-query.d.ts.map +1 -0
- package/dist/runtime/predecessor-query.js +283 -0
- package/dist/runtime/predecessor-query.js.map +1 -0
- package/dist/runtime/session-manager.d.ts +466 -0
- package/dist/runtime/session-manager.d.ts.map +1 -0
- package/dist/runtime/session-manager.js +986 -0
- package/dist/runtime/session-manager.js.map +1 -0
- package/dist/runtime/spawner.d.ts +407 -0
- package/dist/runtime/spawner.d.ts.map +1 -0
- package/dist/runtime/spawner.js +781 -0
- package/dist/runtime/spawner.js.map +1 -0
- package/dist/server/config.d.ts +22 -0
- package/dist/server/config.d.ts.map +1 -0
- package/dist/server/config.js +59 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/daemon-state.d.ts +50 -0
- package/dist/server/daemon-state.d.ts.map +1 -0
- package/dist/server/daemon-state.js +100 -0
- package/dist/server/daemon-state.js.map +1 -0
- package/dist/server/events-websocket.d.ts +32 -0
- package/dist/server/events-websocket.d.ts.map +1 -0
- package/dist/server/events-websocket.js +96 -0
- package/dist/server/events-websocket.js.map +1 -0
- package/dist/server/formatters.d.ts +94 -0
- package/dist/server/formatters.d.ts.map +1 -0
- package/dist/server/formatters.js +142 -0
- package/dist/server/formatters.js.map +1 -0
- package/dist/server/index.d.ts +17 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +153 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/lsp-websocket.d.ts +33 -0
- package/dist/server/lsp-websocket.d.ts.map +1 -0
- package/dist/server/lsp-websocket.js +161 -0
- package/dist/server/lsp-websocket.js.map +1 -0
- package/dist/server/routes/agents.d.ts +9 -0
- package/dist/server/routes/agents.d.ts.map +1 -0
- package/dist/server/routes/agents.js +369 -0
- package/dist/server/routes/agents.js.map +1 -0
- package/dist/server/routes/daemon.d.ts +13 -0
- package/dist/server/routes/daemon.d.ts.map +1 -0
- package/dist/server/routes/daemon.js +187 -0
- package/dist/server/routes/daemon.js.map +1 -0
- package/dist/server/routes/events.d.ts +23 -0
- package/dist/server/routes/events.d.ts.map +1 -0
- package/dist/server/routes/events.js +282 -0
- package/dist/server/routes/events.js.map +1 -0
- package/dist/server/routes/extensions.d.ts +9 -0
- package/dist/server/routes/extensions.d.ts.map +1 -0
- package/dist/server/routes/extensions.js +202 -0
- package/dist/server/routes/extensions.js.map +1 -0
- package/dist/server/routes/health.d.ts +7 -0
- package/dist/server/routes/health.d.ts.map +1 -0
- package/dist/server/routes/health.js +33 -0
- package/dist/server/routes/health.js.map +1 -0
- package/dist/server/routes/index.d.ts +21 -0
- package/dist/server/routes/index.d.ts.map +1 -0
- package/dist/server/routes/index.js +21 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/lsp.d.ts +9 -0
- package/dist/server/routes/lsp.d.ts.map +1 -0
- package/dist/server/routes/lsp.js +50 -0
- package/dist/server/routes/lsp.js.map +1 -0
- package/dist/server/routes/plugins.d.ts +9 -0
- package/dist/server/routes/plugins.d.ts.map +1 -0
- package/dist/server/routes/plugins.js +109 -0
- package/dist/server/routes/plugins.js.map +1 -0
- package/dist/server/routes/pools.d.ts +9 -0
- package/dist/server/routes/pools.d.ts.map +1 -0
- package/dist/server/routes/pools.js +189 -0
- package/dist/server/routes/pools.js.map +1 -0
- package/dist/server/routes/scheduler.d.ts +9 -0
- package/dist/server/routes/scheduler.d.ts.map +1 -0
- package/dist/server/routes/scheduler.js +162 -0
- package/dist/server/routes/scheduler.js.map +1 -0
- package/dist/server/routes/sessions.d.ts +27 -0
- package/dist/server/routes/sessions.d.ts.map +1 -0
- package/dist/server/routes/sessions.js +773 -0
- package/dist/server/routes/sessions.js.map +1 -0
- package/dist/server/routes/tasks.d.ts +9 -0
- package/dist/server/routes/tasks.d.ts.map +1 -0
- package/dist/server/routes/tasks.js +954 -0
- package/dist/server/routes/tasks.js.map +1 -0
- package/dist/server/routes/upload.d.ts +8 -0
- package/dist/server/routes/upload.d.ts.map +1 -0
- package/dist/server/routes/upload.js +40 -0
- package/dist/server/routes/upload.js.map +1 -0
- package/dist/server/routes/workflows.d.ts +9 -0
- package/dist/server/routes/workflows.d.ts.map +1 -0
- package/dist/server/routes/workflows.js +532 -0
- package/dist/server/routes/workflows.js.map +1 -0
- package/dist/server/routes/workspace-files.d.ts +12 -0
- package/dist/server/routes/workspace-files.d.ts.map +1 -0
- package/dist/server/routes/workspace-files.js +520 -0
- package/dist/server/routes/workspace-files.js.map +1 -0
- package/dist/server/routes/worktrees.d.ts +9 -0
- package/dist/server/routes/worktrees.d.ts.map +1 -0
- package/dist/server/routes/worktrees.js +94 -0
- package/dist/server/routes/worktrees.js.map +1 -0
- package/dist/server/server.d.ts +14 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +258 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/services/lsp-manager.d.ts +93 -0
- package/dist/server/services/lsp-manager.d.ts.map +1 -0
- package/dist/server/services/lsp-manager.js +291 -0
- package/dist/server/services/lsp-manager.js.map +1 -0
- package/dist/server/services/session-messages.d.ts +61 -0
- package/dist/server/services/session-messages.d.ts.map +1 -0
- package/dist/server/services/session-messages.js +101 -0
- package/dist/server/services/session-messages.js.map +1 -0
- package/dist/server/services.d.ts +35 -0
- package/dist/server/services.d.ts.map +1 -0
- package/dist/server/services.js +159 -0
- package/dist/server/services.js.map +1 -0
- package/dist/server/static.d.ts +18 -0
- package/dist/server/static.d.ts.map +1 -0
- package/dist/server/static.js +71 -0
- package/dist/server/static.js.map +1 -0
- package/dist/server/types.d.ts +20 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +7 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/websocket.d.ts +16 -0
- package/dist/server/websocket.d.ts.map +1 -0
- package/dist/server/websocket.js +143 -0
- package/dist/server/websocket.js.map +1 -0
- package/dist/services/agent-pool-service.d.ts +181 -0
- package/dist/services/agent-pool-service.d.ts.map +1 -0
- package/dist/services/agent-pool-service.js +590 -0
- package/dist/services/agent-pool-service.js.map +1 -0
- package/dist/services/agent-registry.d.ts +185 -0
- package/dist/services/agent-registry.d.ts.map +1 -0
- package/dist/services/agent-registry.js +432 -0
- package/dist/services/agent-registry.js.map +1 -0
- package/dist/services/dispatch-daemon.d.ts +429 -0
- package/dist/services/dispatch-daemon.d.ts.map +1 -0
- package/dist/services/dispatch-daemon.js +1833 -0
- package/dist/services/dispatch-daemon.js.map +1 -0
- package/dist/services/dispatch-service.d.ts +148 -0
- package/dist/services/dispatch-service.d.ts.map +1 -0
- package/dist/services/dispatch-service.js +170 -0
- package/dist/services/dispatch-service.js.map +1 -0
- package/dist/services/docs-steward-service.d.ts +199 -0
- package/dist/services/docs-steward-service.d.ts.map +1 -0
- package/dist/services/docs-steward-service.js +599 -0
- package/dist/services/docs-steward-service.js.map +1 -0
- package/dist/services/health-steward-service.d.ts +446 -0
- package/dist/services/health-steward-service.d.ts.map +1 -0
- package/dist/services/health-steward-service.js +866 -0
- package/dist/services/health-steward-service.js.map +1 -0
- package/dist/services/index.d.ts +26 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +111 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/merge-request-provider.d.ts +59 -0
- package/dist/services/merge-request-provider.d.ts.map +1 -0
- package/dist/services/merge-request-provider.js +89 -0
- package/dist/services/merge-request-provider.js.map +1 -0
- package/dist/services/merge-steward-service.d.ts +268 -0
- package/dist/services/merge-steward-service.d.ts.map +1 -0
- package/dist/services/merge-steward-service.js +568 -0
- package/dist/services/merge-steward-service.js.map +1 -0
- package/dist/services/plugin-executor.d.ts +247 -0
- package/dist/services/plugin-executor.d.ts.map +1 -0
- package/dist/services/plugin-executor.js +451 -0
- package/dist/services/plugin-executor.js.map +1 -0
- package/dist/services/role-definition-service.d.ts +117 -0
- package/dist/services/role-definition-service.d.ts.map +1 -0
- package/dist/services/role-definition-service.js +289 -0
- package/dist/services/role-definition-service.js.map +1 -0
- package/dist/services/steward-scheduler.d.ts +336 -0
- package/dist/services/steward-scheduler.d.ts.map +1 -0
- package/dist/services/steward-scheduler.js +732 -0
- package/dist/services/steward-scheduler.js.map +1 -0
- package/dist/services/task-assignment-service.d.ts +291 -0
- package/dist/services/task-assignment-service.d.ts.map +1 -0
- package/dist/services/task-assignment-service.js +454 -0
- package/dist/services/task-assignment-service.js.map +1 -0
- package/dist/services/worker-task-service.d.ts +202 -0
- package/dist/services/worker-task-service.d.ts.map +1 -0
- package/dist/services/worker-task-service.js +228 -0
- package/dist/services/worker-task-service.js.map +1 -0
- package/dist/testing/index.d.ts +13 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +17 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/orchestration-tests.d.ts +62 -0
- package/dist/testing/orchestration-tests.d.ts.map +1 -0
- package/dist/testing/orchestration-tests.js +1115 -0
- package/dist/testing/orchestration-tests.js.map +1 -0
- package/dist/testing/test-context.d.ts +171 -0
- package/dist/testing/test-context.d.ts.map +1 -0
- package/dist/testing/test-context.js +665 -0
- package/dist/testing/test-context.js.map +1 -0
- package/dist/testing/test-prompts.d.ts +46 -0
- package/dist/testing/test-prompts.d.ts.map +1 -0
- package/dist/testing/test-prompts.js +140 -0
- package/dist/testing/test-prompts.js.map +1 -0
- package/dist/testing/test-utils.d.ts +200 -0
- package/dist/testing/test-utils.d.ts.map +1 -0
- package/dist/testing/test-utils.js +378 -0
- package/dist/testing/test-utils.js.map +1 -0
- package/dist/types/agent-pool.d.ts +215 -0
- package/dist/types/agent-pool.d.ts.map +1 -0
- package/dist/types/agent-pool.js +143 -0
- package/dist/types/agent-pool.js.map +1 -0
- package/dist/types/agent.d.ts +265 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +127 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +40 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/message-types.d.ts +294 -0
- package/dist/types/message-types.d.ts.map +1 -0
- package/dist/types/message-types.js +354 -0
- package/dist/types/message-types.js.map +1 -0
- package/dist/types/role-definition.d.ts +272 -0
- package/dist/types/role-definition.d.ts.map +1 -0
- package/dist/types/role-definition.js +144 -0
- package/dist/types/role-definition.js.map +1 -0
- package/dist/types/task-meta.d.ts +248 -0
- package/dist/types/task-meta.d.ts.map +1 -0
- package/dist/types/task-meta.js +213 -0
- package/dist/types/task-meta.js.map +1 -0
- package/package.json +120 -0
- package/web/assets/abap-BrgZPUOV.js +6 -0
- package/web/assets/apex-DyP6w7ZV.js +6 -0
- package/web/assets/azcli-BaLxmfj-.js +6 -0
- package/web/assets/bat-CFOPXBzS.js +6 -0
- package/web/assets/bicep-BfEKNvv3.js +7 -0
- package/web/assets/cameligo-BFG1Mk7z.js +6 -0
- package/web/assets/clojure-DTECt2xU.js +6 -0
- package/web/assets/codicon-DCmgc-ay.ttf +0 -0
- package/web/assets/coffee-CDGzqUPQ.js +6 -0
- package/web/assets/cpp-CLLBncYj.js +6 -0
- package/web/assets/csharp-dUCx_-0o.js +6 -0
- package/web/assets/csp-5Rap-vPy.js +6 -0
- package/web/assets/css-D3h14YRZ.js +8 -0
- package/web/assets/cssMode-DMo-5YLA.js +9 -0
- package/web/assets/cypher-DrQuvNYM.js +6 -0
- package/web/assets/dart-CFKIUWau.js +6 -0
- package/web/assets/dockerfile-Zznr-cwX.js +6 -0
- package/web/assets/ecl-Ce3n6wWz.js +6 -0
- package/web/assets/elixir-deUWdS0T.js +6 -0
- package/web/assets/flow9-i9-g7ZhI.js +6 -0
- package/web/assets/freemarker2-D4qgkQzN.js +8 -0
- package/web/assets/fsharp-CzKuDChf.js +6 -0
- package/web/assets/go-Cphgjts3.js +6 -0
- package/web/assets/graphql-Cg7bfA9N.js +6 -0
- package/web/assets/handlebars-CXFvNjQC.js +6 -0
- package/web/assets/hcl-0cvrggvQ.js +6 -0
- package/web/assets/html-oyuB_D-B.js +6 -0
- package/web/assets/htmlMode-iWuZ24-r.js +9 -0
- package/web/assets/index-DqP-_E4F.css +32 -0
- package/web/assets/index-R1cylSgw.js +1665 -0
- package/web/assets/ini-Drc7WvVn.js +6 -0
- package/web/assets/java-B_fMsGYe.js +6 -0
- package/web/assets/javascript-CRIkN2Pg.js +6 -0
- package/web/assets/jsonMode-DVDkDgex.js +15 -0
- package/web/assets/julia-Bqgm2twL.js +6 -0
- package/web/assets/kotlin-BSkB5QuD.js +6 -0
- package/web/assets/less-BsTHnhdd.js +7 -0
- package/web/assets/lexon-YWi4-JPR.js +6 -0
- package/web/assets/liquid-CSfldbB5.js +6 -0
- package/web/assets/lua-nf6ki56Z.js +6 -0
- package/web/assets/m3-Cpb6xl2v.js +6 -0
- package/web/assets/markdown-DSZPf7rp.js +6 -0
- package/web/assets/mdx-Dd58iymR.js +6 -0
- package/web/assets/mips-B_c3zf-v.js +6 -0
- package/web/assets/monaco-editor-B4lwqA13.js +751 -0
- package/web/assets/monaco-editor-CQpyCxOA.css +1 -0
- package/web/assets/msdax-rUNN04Wq.js +6 -0
- package/web/assets/mysql-DDwshQtU.js +6 -0
- package/web/assets/objective-c-B5zXfXm9.js +6 -0
- package/web/assets/pascal-CXOwvkN_.js +6 -0
- package/web/assets/pascaligo-Bc-ZgV77.js +6 -0
- package/web/assets/perl-CwNk8-XU.js +6 -0
- package/web/assets/pgsql-tGk8EFnU.js +6 -0
- package/web/assets/php-CpIb_Oan.js +6 -0
- package/web/assets/pla-B03wrqEc.js +6 -0
- package/web/assets/postiats-BKlk5iyT.js +6 -0
- package/web/assets/powerquery-Bhzvs7bI.js +6 -0
- package/web/assets/powershell-Dd3NCNK9.js +6 -0
- package/web/assets/protobuf-COyEY5Pt.js +7 -0
- package/web/assets/pug-BaJupSGV.js +6 -0
- package/web/assets/python-XWrMqdhO.js +6 -0
- package/web/assets/qsharp-DXyYeYxl.js +6 -0
- package/web/assets/r-CdQndTaG.js +6 -0
- package/web/assets/razor-DPlhCpIs.js +6 -0
- package/web/assets/redis-CVwtpugi.js +6 -0
- package/web/assets/redshift-25W9uPmb.js +6 -0
- package/web/assets/restructuredtext-DfzH4Xui.js +6 -0
- package/web/assets/router-vendor-DHlGizSU.js +41 -0
- package/web/assets/ruby-Cp1zYvxS.js +6 -0
- package/web/assets/rust-D5C2fndG.js +6 -0
- package/web/assets/sb-CDntyWJ8.js +6 -0
- package/web/assets/scala-BoFRg7Ot.js +6 -0
- package/web/assets/scheme-Bio4gycK.js +6 -0
- package/web/assets/scss-4Ik7cdeQ.js +8 -0
- package/web/assets/shell-CX-rkNHf.js +6 -0
- package/web/assets/solidity-Tw7wswEv.js +6 -0
- package/web/assets/sophia-C5WLch3f.js +6 -0
- package/web/assets/sparql-DHaeiCBh.js +6 -0
- package/web/assets/sql-CCSDG5nI.js +6 -0
- package/web/assets/st-pnP8ivHi.js +6 -0
- package/web/assets/swift-DwJ7jVG9.js +8 -0
- package/web/assets/systemverilog-B9Xyijhd.js +6 -0
- package/web/assets/tcl-DnHyzjbg.js +6 -0
- package/web/assets/tsMode-BbA1Jbf3.js +16 -0
- package/web/assets/twig-CPajHgWi.js +6 -0
- package/web/assets/typescript-DcLHYzvH.js +6 -0
- package/web/assets/typespec-D-MeaMDU.js +6 -0
- package/web/assets/ui-vendor-BSco96uv.js +51 -0
- package/web/assets/utils-vendor-DaJ2Dubl.js +911 -0
- package/web/assets/vb-DgyLZaXg.js +6 -0
- package/web/assets/wgsl-DYQUnd45.js +303 -0
- package/web/assets/xml-xKYS3dO6.js +6 -0
- package/web/assets/yaml-CNmlXqzH.js +6 -0
- package/web/favicon.ico +0 -0
- package/web/index.html +22 -0
- package/web/logo.png +0 -0
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Role Definition Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines the types for agent role definitions, which store
|
|
5
|
+
* system prompts and behavioral configurations for agents.
|
|
6
|
+
*
|
|
7
|
+
* Role definitions allow agents to be configured with:
|
|
8
|
+
* - System prompts stored as Documents
|
|
9
|
+
* - Behavioral hooks for startup, task assignment, and stuck scenarios
|
|
10
|
+
*
|
|
11
|
+
* The system prompt is stored as a Document element, allowing versioning
|
|
12
|
+
* and easy editing. The role definition references this document via its ID.
|
|
13
|
+
*/
|
|
14
|
+
import type { DocumentId, EntityId, Timestamp, ElementId } from '@stoneforge/core';
|
|
15
|
+
import type { AgentRole, WorkerMode, StewardFocus } from './agent.js';
|
|
16
|
+
/**
|
|
17
|
+
* Behavioral hooks for agents - scripts or prompts to execute on specific events
|
|
18
|
+
*/
|
|
19
|
+
export interface AgentBehaviors {
|
|
20
|
+
/**
|
|
21
|
+
* Instruction/prompt fragment appended to the agent's context on startup.
|
|
22
|
+
* This can include workspace-specific context, conventions, or guidelines.
|
|
23
|
+
*/
|
|
24
|
+
readonly onStartup?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Instruction/prompt fragment appended when a task is assigned to the agent.
|
|
27
|
+
* Can include task-specific guidelines or workflow requirements.
|
|
28
|
+
*/
|
|
29
|
+
readonly onTaskAssigned?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Instruction/prompt fragment appended when the agent appears stuck
|
|
32
|
+
* (detected by Health Steward). Can include debugging hints or escalation paths.
|
|
33
|
+
*/
|
|
34
|
+
readonly onStuck?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Instruction/prompt fragment appended before the agent creates a handoff.
|
|
37
|
+
* Can include guidelines for context preservation.
|
|
38
|
+
*/
|
|
39
|
+
readonly onHandoff?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Instruction/prompt fragment for handling errors or failures.
|
|
42
|
+
*/
|
|
43
|
+
readonly onError?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Base interface for all role definitions
|
|
47
|
+
*/
|
|
48
|
+
export interface BaseRoleDefinition {
|
|
49
|
+
/**
|
|
50
|
+
* The role type this definition applies to
|
|
51
|
+
*/
|
|
52
|
+
readonly role: AgentRole;
|
|
53
|
+
/**
|
|
54
|
+
* Human-readable name for this role definition (e.g., "Default Director", "Frontend Worker")
|
|
55
|
+
*/
|
|
56
|
+
readonly name: string;
|
|
57
|
+
/**
|
|
58
|
+
* Optional description of this role definition
|
|
59
|
+
*/
|
|
60
|
+
readonly description?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Reference to the Document containing the system prompt for this role.
|
|
63
|
+
* The document should contain the full system prompt text.
|
|
64
|
+
*/
|
|
65
|
+
readonly systemPromptRef: DocumentId;
|
|
66
|
+
/**
|
|
67
|
+
* Maximum number of concurrent tasks for agents using this role.
|
|
68
|
+
* Default is 1.
|
|
69
|
+
*/
|
|
70
|
+
readonly maxConcurrentTasks?: number;
|
|
71
|
+
/**
|
|
72
|
+
* Behavioral hooks - prompts/instructions for specific events
|
|
73
|
+
*/
|
|
74
|
+
readonly behaviors?: AgentBehaviors;
|
|
75
|
+
/**
|
|
76
|
+
* Optional tags for categorization
|
|
77
|
+
*/
|
|
78
|
+
readonly tags?: readonly string[];
|
|
79
|
+
/**
|
|
80
|
+
* When this role definition was created
|
|
81
|
+
*/
|
|
82
|
+
readonly createdAt: Timestamp;
|
|
83
|
+
/**
|
|
84
|
+
* Who created this role definition
|
|
85
|
+
*/
|
|
86
|
+
readonly createdBy: EntityId;
|
|
87
|
+
/**
|
|
88
|
+
* When this role definition was last updated
|
|
89
|
+
*/
|
|
90
|
+
readonly updatedAt: Timestamp;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Director-specific role definition
|
|
94
|
+
*/
|
|
95
|
+
export interface DirectorRoleDefinition extends BaseRoleDefinition {
|
|
96
|
+
readonly role: 'director';
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Worker-specific role definition
|
|
100
|
+
*/
|
|
101
|
+
export interface WorkerRoleDefinition extends BaseRoleDefinition {
|
|
102
|
+
readonly role: 'worker';
|
|
103
|
+
/**
|
|
104
|
+
* The worker mode this definition is designed for.
|
|
105
|
+
* If not specified, applies to both ephemeral and persistent workers.
|
|
106
|
+
*/
|
|
107
|
+
readonly workerMode?: WorkerMode;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Steward-specific role definition
|
|
111
|
+
*/
|
|
112
|
+
export interface StewardRoleDefinition extends BaseRoleDefinition {
|
|
113
|
+
readonly role: 'steward';
|
|
114
|
+
/**
|
|
115
|
+
* The steward focus area this definition is designed for.
|
|
116
|
+
* If not specified, applies to all steward types.
|
|
117
|
+
*/
|
|
118
|
+
readonly stewardFocus?: StewardFocus;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Union type for all role definitions
|
|
122
|
+
*/
|
|
123
|
+
export type AgentRoleDefinition = DirectorRoleDefinition | WorkerRoleDefinition | StewardRoleDefinition;
|
|
124
|
+
/**
|
|
125
|
+
* Input for creating a role definition
|
|
126
|
+
*/
|
|
127
|
+
export interface CreateRoleDefinitionInput {
|
|
128
|
+
/**
|
|
129
|
+
* The role type this definition applies to
|
|
130
|
+
*/
|
|
131
|
+
readonly role: AgentRole;
|
|
132
|
+
/**
|
|
133
|
+
* Human-readable name for this role definition
|
|
134
|
+
*/
|
|
135
|
+
readonly name: string;
|
|
136
|
+
/**
|
|
137
|
+
* Optional description
|
|
138
|
+
*/
|
|
139
|
+
readonly description?: string;
|
|
140
|
+
/**
|
|
141
|
+
* The system prompt content (will be stored as a Document)
|
|
142
|
+
*/
|
|
143
|
+
readonly systemPrompt: string;
|
|
144
|
+
/**
|
|
145
|
+
* Maximum number of concurrent tasks (default: 1)
|
|
146
|
+
*/
|
|
147
|
+
readonly maxConcurrentTasks?: number;
|
|
148
|
+
/**
|
|
149
|
+
* Behavioral hooks
|
|
150
|
+
*/
|
|
151
|
+
readonly behaviors?: AgentBehaviors;
|
|
152
|
+
/**
|
|
153
|
+
* Optional tags
|
|
154
|
+
*/
|
|
155
|
+
readonly tags?: string[];
|
|
156
|
+
/**
|
|
157
|
+
* Who is creating this definition
|
|
158
|
+
*/
|
|
159
|
+
readonly createdBy: EntityId;
|
|
160
|
+
/**
|
|
161
|
+
* For workers: the specific worker mode this applies to
|
|
162
|
+
*/
|
|
163
|
+
readonly workerMode?: WorkerMode;
|
|
164
|
+
/**
|
|
165
|
+
* For stewards: the specific steward focus this applies to
|
|
166
|
+
*/
|
|
167
|
+
readonly stewardFocus?: StewardFocus;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Input for updating a role definition
|
|
171
|
+
*/
|
|
172
|
+
export interface UpdateRoleDefinitionInput {
|
|
173
|
+
/**
|
|
174
|
+
* New name
|
|
175
|
+
*/
|
|
176
|
+
readonly name?: string;
|
|
177
|
+
/**
|
|
178
|
+
* New description
|
|
179
|
+
*/
|
|
180
|
+
readonly description?: string;
|
|
181
|
+
/**
|
|
182
|
+
* New system prompt content (will create new Document version)
|
|
183
|
+
*/
|
|
184
|
+
readonly systemPrompt?: string;
|
|
185
|
+
/**
|
|
186
|
+
* Updated max concurrent tasks
|
|
187
|
+
*/
|
|
188
|
+
readonly maxConcurrentTasks?: number;
|
|
189
|
+
/**
|
|
190
|
+
* Updated behaviors (merged with existing)
|
|
191
|
+
*/
|
|
192
|
+
readonly behaviors?: Partial<AgentBehaviors>;
|
|
193
|
+
/**
|
|
194
|
+
* New tags (replaces existing)
|
|
195
|
+
*/
|
|
196
|
+
readonly tags?: string[];
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* A role definition as stored in the database.
|
|
200
|
+
* Role definitions are stored as Documents with JSON content type.
|
|
201
|
+
*/
|
|
202
|
+
export interface StoredRoleDefinition {
|
|
203
|
+
/**
|
|
204
|
+
* The element ID of the Document storing this role definition
|
|
205
|
+
*/
|
|
206
|
+
readonly id: ElementId;
|
|
207
|
+
/**
|
|
208
|
+
* The role definition data
|
|
209
|
+
*/
|
|
210
|
+
readonly definition: AgentRoleDefinition;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Type guard for AgentBehaviors
|
|
214
|
+
*/
|
|
215
|
+
export declare function isAgentBehaviors(value: unknown): value is AgentBehaviors;
|
|
216
|
+
/**
|
|
217
|
+
* Type guard for DirectorRoleDefinition
|
|
218
|
+
*/
|
|
219
|
+
export declare function isDirectorRoleDefinition(value: unknown): value is DirectorRoleDefinition;
|
|
220
|
+
/**
|
|
221
|
+
* Type guard for WorkerRoleDefinition
|
|
222
|
+
*/
|
|
223
|
+
export declare function isWorkerRoleDefinition(value: unknown): value is WorkerRoleDefinition;
|
|
224
|
+
/**
|
|
225
|
+
* Type guard for StewardRoleDefinition
|
|
226
|
+
*/
|
|
227
|
+
export declare function isStewardRoleDefinition(value: unknown): value is StewardRoleDefinition;
|
|
228
|
+
/**
|
|
229
|
+
* Type guard for any AgentRoleDefinition
|
|
230
|
+
*/
|
|
231
|
+
export declare function isAgentRoleDefinition(value: unknown): value is AgentRoleDefinition;
|
|
232
|
+
/**
|
|
233
|
+
* Filter options for querying role definitions
|
|
234
|
+
*/
|
|
235
|
+
export interface RoleDefinitionFilter {
|
|
236
|
+
/**
|
|
237
|
+
* Filter by role type
|
|
238
|
+
*/
|
|
239
|
+
readonly role?: AgentRole;
|
|
240
|
+
/**
|
|
241
|
+
* Filter by worker mode (only applies when role is 'worker')
|
|
242
|
+
*/
|
|
243
|
+
readonly workerMode?: WorkerMode;
|
|
244
|
+
/**
|
|
245
|
+
* Filter by steward focus (only applies when role is 'steward')
|
|
246
|
+
*/
|
|
247
|
+
readonly stewardFocus?: StewardFocus;
|
|
248
|
+
/**
|
|
249
|
+
* Filter by tags (must have ALL specified tags)
|
|
250
|
+
*/
|
|
251
|
+
readonly tags?: readonly string[];
|
|
252
|
+
/**
|
|
253
|
+
* Filter by name (partial match, case-insensitive)
|
|
254
|
+
*/
|
|
255
|
+
readonly nameContains?: string;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Tags used to identify role definition documents
|
|
259
|
+
*/
|
|
260
|
+
export declare const ROLE_DEFINITION_TAGS: {
|
|
261
|
+
/** Main tag for all role definition documents */
|
|
262
|
+
readonly ROLE_DEFINITION: "role-definition";
|
|
263
|
+
/** Tag prefix for role type (e.g., 'role:director') */
|
|
264
|
+
readonly ROLE_PREFIX: "role:";
|
|
265
|
+
/** Tag prefix for agent prompt documents */
|
|
266
|
+
readonly AGENT_PROMPT: "agent-prompt";
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* Generates tags for a role definition document
|
|
270
|
+
*/
|
|
271
|
+
export declare function generateRoleDefinitionTags(role: AgentRole, additionalTags?: string[]): string[];
|
|
272
|
+
//# sourceMappingURL=role-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-definition.d.ts","sourceRoot":"","sources":["../../src/types/role-definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Role Definition Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines the types for agent role definitions, which store
|
|
5
|
+
* system prompts and behavioral configurations for agents.
|
|
6
|
+
*
|
|
7
|
+
* Role definitions allow agents to be configured with:
|
|
8
|
+
* - System prompts stored as Documents
|
|
9
|
+
* - Behavioral hooks for startup, task assignment, and stuck scenarios
|
|
10
|
+
*
|
|
11
|
+
* The system prompt is stored as a Document element, allowing versioning
|
|
12
|
+
* and easy editing. The role definition references this document via its ID.
|
|
13
|
+
*/
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Type Guards
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Type guard for AgentBehaviors
|
|
19
|
+
*/
|
|
20
|
+
export function isAgentBehaviors(value) {
|
|
21
|
+
if (typeof value !== 'object' || value === null) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
const obj = value;
|
|
25
|
+
// All fields are optional strings
|
|
26
|
+
const optionalStringFields = ['onStartup', 'onTaskAssigned', 'onStuck', 'onHandoff', 'onError'];
|
|
27
|
+
for (const field of optionalStringFields) {
|
|
28
|
+
if (obj[field] !== undefined && typeof obj[field] !== 'string') {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Type guard for DirectorRoleDefinition
|
|
36
|
+
*/
|
|
37
|
+
export function isDirectorRoleDefinition(value) {
|
|
38
|
+
if (!isBaseRoleDefinition(value)) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return value.role === 'director';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Type guard for WorkerRoleDefinition
|
|
45
|
+
*/
|
|
46
|
+
export function isWorkerRoleDefinition(value) {
|
|
47
|
+
if (!isBaseRoleDefinition(value)) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const def = value;
|
|
51
|
+
if (def.role !== 'worker') {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
// workerMode is optional, but if present must be valid
|
|
55
|
+
if (def.workerMode !== undefined && def.workerMode !== 'ephemeral' && def.workerMode !== 'persistent') {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Type guard for StewardRoleDefinition
|
|
62
|
+
*/
|
|
63
|
+
export function isStewardRoleDefinition(value) {
|
|
64
|
+
if (!isBaseRoleDefinition(value)) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
const def = value;
|
|
68
|
+
if (def.role !== 'steward') {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
// stewardFocus is optional, but if present must be valid
|
|
72
|
+
const validFoci = ['merge', 'health', 'reminder', 'ops', 'docs'];
|
|
73
|
+
if (def.stewardFocus !== undefined && !validFoci.includes(def.stewardFocus)) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Type guard for any AgentRoleDefinition
|
|
80
|
+
*/
|
|
81
|
+
export function isAgentRoleDefinition(value) {
|
|
82
|
+
return isDirectorRoleDefinition(value) || isWorkerRoleDefinition(value) || isStewardRoleDefinition(value);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Type guard for base role definition structure
|
|
86
|
+
*/
|
|
87
|
+
function isBaseRoleDefinition(value) {
|
|
88
|
+
if (typeof value !== 'object' || value === null) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
const obj = value;
|
|
92
|
+
// Required fields
|
|
93
|
+
if (typeof obj.role !== 'string')
|
|
94
|
+
return false;
|
|
95
|
+
if (typeof obj.name !== 'string')
|
|
96
|
+
return false;
|
|
97
|
+
if (typeof obj.systemPromptRef !== 'string')
|
|
98
|
+
return false;
|
|
99
|
+
if (typeof obj.createdAt !== 'string')
|
|
100
|
+
return false;
|
|
101
|
+
if (typeof obj.createdBy !== 'string')
|
|
102
|
+
return false;
|
|
103
|
+
if (typeof obj.updatedAt !== 'string')
|
|
104
|
+
return false;
|
|
105
|
+
// Optional fields
|
|
106
|
+
if (obj.maxConcurrentTasks !== undefined && typeof obj.maxConcurrentTasks !== 'number')
|
|
107
|
+
return false;
|
|
108
|
+
if (obj.description !== undefined && typeof obj.description !== 'string')
|
|
109
|
+
return false;
|
|
110
|
+
if (obj.behaviors !== undefined && !isAgentBehaviors(obj.behaviors))
|
|
111
|
+
return false;
|
|
112
|
+
if (obj.tags !== undefined && !Array.isArray(obj.tags))
|
|
113
|
+
return false;
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
// ============================================================================
|
|
117
|
+
// Constants
|
|
118
|
+
// ============================================================================
|
|
119
|
+
/**
|
|
120
|
+
* Tags used to identify role definition documents
|
|
121
|
+
*/
|
|
122
|
+
export const ROLE_DEFINITION_TAGS = {
|
|
123
|
+
/** Main tag for all role definition documents */
|
|
124
|
+
ROLE_DEFINITION: 'role-definition',
|
|
125
|
+
/** Tag prefix for role type (e.g., 'role:director') */
|
|
126
|
+
ROLE_PREFIX: 'role:',
|
|
127
|
+
/** Tag prefix for agent prompt documents */
|
|
128
|
+
AGENT_PROMPT: 'agent-prompt',
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Generates tags for a role definition document
|
|
132
|
+
*/
|
|
133
|
+
export function generateRoleDefinitionTags(role, additionalTags) {
|
|
134
|
+
const tags = [
|
|
135
|
+
ROLE_DEFINITION_TAGS.ROLE_DEFINITION,
|
|
136
|
+
ROLE_DEFINITION_TAGS.AGENT_PROMPT,
|
|
137
|
+
`${ROLE_DEFINITION_TAGS.ROLE_PREFIX}${role}`,
|
|
138
|
+
];
|
|
139
|
+
if (additionalTags) {
|
|
140
|
+
tags.push(...additionalTags);
|
|
141
|
+
}
|
|
142
|
+
return tags;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=role-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-definition.js","sourceRoot":"","sources":["../../src/types/role-definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orchestrator Task Metadata Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines the metadata structure for tasks in the orchestration system.
|
|
5
|
+
* Tasks gain additional metadata when managed by the orchestrator to track:
|
|
6
|
+
* - Git branch association
|
|
7
|
+
* - Worktree location
|
|
8
|
+
* - Claude Code session ID for resumption
|
|
9
|
+
*
|
|
10
|
+
* This metadata is stored in the task's `metadata` field alongside any existing
|
|
11
|
+
* task metadata.
|
|
12
|
+
*/
|
|
13
|
+
import type { EntityId, ElementId, Timestamp } from '@stoneforge/core';
|
|
14
|
+
/**
|
|
15
|
+
* Orchestrator-specific metadata attached to tasks managed by the orchestration system.
|
|
16
|
+
*
|
|
17
|
+
* This is stored in the task's `metadata` field under the `orchestrator` key:
|
|
18
|
+
* ```typescript
|
|
19
|
+
* task.metadata = {
|
|
20
|
+
* ...existingMetadata,
|
|
21
|
+
* orchestrator: OrchestratorTaskMeta
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export interface OrchestratorTaskMeta {
|
|
26
|
+
/** Git branch created for this task (e.g., "agent/alice/task-123-implement-feature") */
|
|
27
|
+
readonly branch?: string;
|
|
28
|
+
/** Path to the worktree where the agent is working (e.g., ".stoneforge/.worktrees/alice-implement-feature/") */
|
|
29
|
+
readonly worktree?: string;
|
|
30
|
+
/** Claude Code session ID for this task, enabling session resumption */
|
|
31
|
+
readonly sessionId?: string;
|
|
32
|
+
/** Entity ID of the agent assigned to this task */
|
|
33
|
+
readonly assignedAgent?: EntityId;
|
|
34
|
+
/** When the agent started working on this task */
|
|
35
|
+
readonly startedAt?: Timestamp;
|
|
36
|
+
/** When the agent completed this task (before merge) */
|
|
37
|
+
readonly completedAt?: Timestamp;
|
|
38
|
+
/** When the branch was merged */
|
|
39
|
+
readonly mergedAt?: Timestamp;
|
|
40
|
+
/** Merge status tracking */
|
|
41
|
+
readonly mergeStatus?: MergeStatus;
|
|
42
|
+
/** If merge failed, the reason */
|
|
43
|
+
readonly mergeFailureReason?: string;
|
|
44
|
+
/** Number of times tests have been run on this branch */
|
|
45
|
+
readonly testRunCount?: number;
|
|
46
|
+
/** Last test result */
|
|
47
|
+
readonly lastTestResult?: TestResult;
|
|
48
|
+
/** Number of times this task has been reconciled from a closed-but-unmerged state */
|
|
49
|
+
readonly reconciliationCount?: number;
|
|
50
|
+
/** Number of times this task has been recovered from a stuck merging/testing state */
|
|
51
|
+
readonly stuckMergeRecoveryCount?: number;
|
|
52
|
+
/**
|
|
53
|
+
* Set of issue types that have been reported for this task.
|
|
54
|
+
* Prevents duplicate messages/fix tasks for the same type of issue.
|
|
55
|
+
* Format: "test_failure", "merge_conflict", etc.
|
|
56
|
+
*/
|
|
57
|
+
readonly reportedIssues?: readonly string[];
|
|
58
|
+
/** Branch preserved from handoff (may differ from current branch if not yet continued) */
|
|
59
|
+
readonly handoffBranch?: string;
|
|
60
|
+
/** Worktree path preserved from handoff */
|
|
61
|
+
readonly handoffWorktree?: string;
|
|
62
|
+
/** Session ID of the last agent that worked on this task before handoff */
|
|
63
|
+
readonly lastSessionId?: string;
|
|
64
|
+
/** Timestamp when the task was handed off */
|
|
65
|
+
readonly handoffAt?: Timestamp;
|
|
66
|
+
/** Entity ID of the agent who handed off the task */
|
|
67
|
+
readonly handoffFrom?: EntityId;
|
|
68
|
+
/** URL of the merge request created for this task */
|
|
69
|
+
readonly mergeRequestUrl?: string;
|
|
70
|
+
/** Merge request identifier (e.g. PR number) */
|
|
71
|
+
readonly mergeRequestId?: number;
|
|
72
|
+
/** Which provider created the merge request (e.g. 'github', 'local') */
|
|
73
|
+
readonly mergeRequestProvider?: string;
|
|
74
|
+
/** Completion summary provided by the agent */
|
|
75
|
+
readonly completionSummary?: string;
|
|
76
|
+
/** Last commit hash before completion */
|
|
77
|
+
readonly lastCommitHash?: string;
|
|
78
|
+
/** History of all handoffs for this task */
|
|
79
|
+
readonly handoffHistory?: HandoffHistoryEntry[];
|
|
80
|
+
/** History of all sessions (worker and steward) that worked on this task */
|
|
81
|
+
readonly sessionHistory?: readonly TaskSessionHistoryEntry[];
|
|
82
|
+
/** Result of the most recent branch sync with master */
|
|
83
|
+
readonly lastSyncResult?: SyncResultMeta;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Metadata about a branch sync operation result
|
|
87
|
+
*/
|
|
88
|
+
export interface SyncResultMeta {
|
|
89
|
+
/** Whether the sync succeeded without conflicts */
|
|
90
|
+
readonly success: boolean;
|
|
91
|
+
/** List of conflicted file paths (if any) */
|
|
92
|
+
readonly conflicts?: string[];
|
|
93
|
+
/** Error message (if sync failed for non-conflict reasons) */
|
|
94
|
+
readonly error?: string;
|
|
95
|
+
/** Human-readable message */
|
|
96
|
+
readonly message: string;
|
|
97
|
+
/** When the sync was performed */
|
|
98
|
+
readonly syncedAt: Timestamp;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* An entry in the handoff history for a task
|
|
102
|
+
*/
|
|
103
|
+
export interface HandoffHistoryEntry {
|
|
104
|
+
/** Session ID of the agent that handed off */
|
|
105
|
+
readonly sessionId: string;
|
|
106
|
+
/** Message explaining why the handoff occurred */
|
|
107
|
+
readonly message?: string;
|
|
108
|
+
/** Branch at time of handoff */
|
|
109
|
+
readonly branch?: string;
|
|
110
|
+
/** Worktree at time of handoff */
|
|
111
|
+
readonly worktree?: string;
|
|
112
|
+
/** When the handoff occurred */
|
|
113
|
+
readonly handoffAt: Timestamp;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* An entry in the session history for a task, tracking all sessions (worker and steward)
|
|
117
|
+
* that have worked on this task.
|
|
118
|
+
*/
|
|
119
|
+
export interface TaskSessionHistoryEntry {
|
|
120
|
+
/** Internal session ID (used to fetch messages via GET /api/sessions/:id/messages) */
|
|
121
|
+
readonly sessionId: string;
|
|
122
|
+
/** Provider session ID (for resume) */
|
|
123
|
+
readonly providerSessionId?: string;
|
|
124
|
+
/** Entity ID of the agent */
|
|
125
|
+
readonly agentId: EntityId;
|
|
126
|
+
/** Display name of the agent */
|
|
127
|
+
readonly agentName: string;
|
|
128
|
+
/** Role of the agent */
|
|
129
|
+
readonly agentRole: 'worker' | 'steward';
|
|
130
|
+
/** Timestamp when the session started */
|
|
131
|
+
readonly startedAt: Timestamp;
|
|
132
|
+
/** Timestamp when the session ended (undefined if still running) */
|
|
133
|
+
readonly endedAt?: Timestamp;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Status of the merge process for a completed task's branch
|
|
137
|
+
*/
|
|
138
|
+
export type MergeStatus = 'pending' | 'testing' | 'merging' | 'merged' | 'conflict' | 'test_failed' | 'failed' | 'not_applicable';
|
|
139
|
+
/**
|
|
140
|
+
* All valid merge status values
|
|
141
|
+
*/
|
|
142
|
+
export declare const MergeStatusValues: readonly ["pending", "testing", "merging", "merged", "conflict", "test_failed", "failed", "not_applicable"];
|
|
143
|
+
/**
|
|
144
|
+
* Type guard to check if a value is a valid MergeStatus
|
|
145
|
+
*/
|
|
146
|
+
export declare function isMergeStatus(value: unknown): value is MergeStatus;
|
|
147
|
+
/**
|
|
148
|
+
* Result of running tests on a task's branch
|
|
149
|
+
*/
|
|
150
|
+
export interface TestResult {
|
|
151
|
+
/** Whether tests passed */
|
|
152
|
+
readonly passed: boolean;
|
|
153
|
+
/** Total number of tests run */
|
|
154
|
+
readonly totalTests?: number;
|
|
155
|
+
/** Number of tests that passed */
|
|
156
|
+
readonly passedTests?: number;
|
|
157
|
+
/** Number of tests that failed */
|
|
158
|
+
readonly failedTests?: number;
|
|
159
|
+
/** Number of tests that were skipped */
|
|
160
|
+
readonly skippedTests?: number;
|
|
161
|
+
/** When the test run completed */
|
|
162
|
+
readonly completedAt: Timestamp;
|
|
163
|
+
/** Duration of the test run in milliseconds */
|
|
164
|
+
readonly durationMs?: number;
|
|
165
|
+
/** Error message if tests failed to run */
|
|
166
|
+
readonly errorMessage?: string;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Type guard to check if a value is a valid TestResult
|
|
170
|
+
*/
|
|
171
|
+
export declare function isTestResult(value: unknown): value is TestResult;
|
|
172
|
+
/**
|
|
173
|
+
* Extracts orchestrator metadata from a task's metadata field
|
|
174
|
+
*/
|
|
175
|
+
export declare function getOrchestratorTaskMeta(taskMetadata: Record<string, unknown> | undefined): OrchestratorTaskMeta | undefined;
|
|
176
|
+
/**
|
|
177
|
+
* Sets orchestrator metadata on a task's metadata field
|
|
178
|
+
*/
|
|
179
|
+
export declare function setOrchestratorTaskMeta(existingMetadata: Record<string, unknown> | undefined, orchestratorMeta: OrchestratorTaskMeta): Record<string, unknown>;
|
|
180
|
+
/**
|
|
181
|
+
* Updates orchestrator metadata on a task's metadata field
|
|
182
|
+
*/
|
|
183
|
+
export declare function updateOrchestratorTaskMeta(existingMetadata: Record<string, unknown> | undefined, updates: Partial<OrchestratorTaskMeta>): Record<string, unknown>;
|
|
184
|
+
/**
|
|
185
|
+
* Type guard to validate OrchestratorTaskMeta structure
|
|
186
|
+
*/
|
|
187
|
+
export declare function isOrchestratorTaskMeta(value: unknown): value is OrchestratorTaskMeta;
|
|
188
|
+
/**
|
|
189
|
+
* Appends a session history entry to the task's orchestrator metadata.
|
|
190
|
+
* Caps the history at MAX_SESSION_HISTORY_ENTRIES entries.
|
|
191
|
+
*
|
|
192
|
+
* @param existingMetadata - The task's existing metadata
|
|
193
|
+
* @param entry - The session history entry to append
|
|
194
|
+
* @returns Updated task metadata with the new session history entry
|
|
195
|
+
*/
|
|
196
|
+
export declare function appendTaskSessionHistory(existingMetadata: Record<string, unknown> | undefined, entry: TaskSessionHistoryEntry): Record<string, unknown>;
|
|
197
|
+
/**
|
|
198
|
+
* Closes a session history entry by setting the endedAt timestamp.
|
|
199
|
+
* Finds the session history entry matching the sessionId that has no endedAt.
|
|
200
|
+
*
|
|
201
|
+
* @param existingMetadata - The task's existing metadata
|
|
202
|
+
* @param sessionId - The session ID to close
|
|
203
|
+
* @param endedAt - The timestamp when the session ended
|
|
204
|
+
* @returns Updated task metadata with the closed session history entry
|
|
205
|
+
*/
|
|
206
|
+
export declare function closeTaskSessionHistory(existingMetadata: Record<string, unknown> | undefined, sessionId: string, endedAt: Timestamp): Record<string, unknown>;
|
|
207
|
+
/**
|
|
208
|
+
* Generates a branch name for an agent working on a task
|
|
209
|
+
*
|
|
210
|
+
* Format: agent/{worker-name}/{task-id}-{slug}
|
|
211
|
+
*
|
|
212
|
+
* @param workerName - The agent's name
|
|
213
|
+
* @param taskId - The task ID
|
|
214
|
+
* @param slug - URL-friendly slug derived from task title (optional)
|
|
215
|
+
*/
|
|
216
|
+
export declare function generateBranchName(workerName: string, taskId: ElementId, slug?: string): string;
|
|
217
|
+
/**
|
|
218
|
+
* Generates a worktree path for an agent working on a task
|
|
219
|
+
*
|
|
220
|
+
* Format: .stoneforge/.worktrees/{worker-name}-{task-slug}/
|
|
221
|
+
*
|
|
222
|
+
* @param workerName - The agent's name
|
|
223
|
+
* @param slug - URL-friendly slug derived from task title (optional)
|
|
224
|
+
*/
|
|
225
|
+
export declare function generateWorktreePath(workerName: string, slug?: string): string;
|
|
226
|
+
/**
|
|
227
|
+
* Generates a branch name for a persistent worker session
|
|
228
|
+
*
|
|
229
|
+
* Format: session/{worker-name}-{timestamp}
|
|
230
|
+
*
|
|
231
|
+
* @param workerName - The agent's name
|
|
232
|
+
* @param timestamp - Timestamp string (e.g. '20240115143022')
|
|
233
|
+
*/
|
|
234
|
+
export declare function generateSessionBranchName(workerName: string, timestamp: string): string;
|
|
235
|
+
/**
|
|
236
|
+
* Generates a worktree path for a persistent worker session
|
|
237
|
+
*
|
|
238
|
+
* Format: .stoneforge/.worktrees/{worker-name}-session-{timestamp}/
|
|
239
|
+
*
|
|
240
|
+
* @param workerName - The agent's name
|
|
241
|
+
* @param timestamp - Timestamp string (e.g. '20240115143022')
|
|
242
|
+
*/
|
|
243
|
+
export declare function generateSessionWorktreePath(workerName: string, timestamp: string): string;
|
|
244
|
+
/**
|
|
245
|
+
* Creates a URL-friendly slug from a task title
|
|
246
|
+
*/
|
|
247
|
+
export declare function createSlugFromTitle(title: string): string;
|
|
248
|
+
//# sourceMappingURL=task-meta.d.ts.map
|