@agents-ensemble/core 0.0.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 +21 -0
- package/dist/acp/acp-bridge.d.ts +42 -0
- package/dist/acp/acp-bridge.d.ts.map +1 -0
- package/dist/acp/acp-bridge.js +73 -0
- package/dist/acp/acp-bridge.js.map +1 -0
- package/dist/acp/acp-client.d.ts +45 -0
- package/dist/acp/acp-client.d.ts.map +1 -0
- package/dist/acp/acp-client.js +171 -0
- package/dist/acp/acp-client.js.map +1 -0
- package/dist/acp/acp-process.d.ts +33 -0
- package/dist/acp/acp-process.d.ts.map +1 -0
- package/dist/acp/acp-process.js +49 -0
- package/dist/acp/acp-process.js.map +1 -0
- package/dist/acp/json-rpc-peer.d.ts +31 -0
- package/dist/acp/json-rpc-peer.d.ts.map +1 -0
- package/dist/acp/json-rpc-peer.js +78 -0
- package/dist/acp/json-rpc-peer.js.map +1 -0
- package/dist/acp/json-rpc.d.ts +36 -0
- package/dist/acp/json-rpc.d.ts.map +1 -0
- package/dist/acp/json-rpc.js +46 -0
- package/dist/acp/json-rpc.js.map +1 -0
- package/dist/acp/process-stream-capture.d.ts +18 -0
- package/dist/acp/process-stream-capture.d.ts.map +1 -0
- package/dist/acp/process-stream-capture.js +48 -0
- package/dist/acp/process-stream-capture.js.map +1 -0
- package/dist/acp/testing/fake-acp-server.d.ts +45 -0
- package/dist/acp/testing/fake-acp-server.d.ts.map +1 -0
- package/dist/acp/testing/fake-acp-server.js +156 -0
- package/dist/acp/testing/fake-acp-server.js.map +1 -0
- package/dist/acp/testing/stream-pair.d.ts +10 -0
- package/dist/acp/testing/stream-pair.d.ts.map +1 -0
- package/dist/acp/testing/stream-pair.js +13 -0
- package/dist/acp/testing/stream-pair.js.map +1 -0
- package/dist/acp/types.d.ts +40 -0
- package/dist/acp/types.d.ts.map +1 -0
- package/dist/acp/types.js +5 -0
- package/dist/acp/types.js.map +1 -0
- package/dist/conductor/build-conductor-follow-up-prompt.d.ts +20 -0
- package/dist/conductor/build-conductor-follow-up-prompt.d.ts.map +1 -0
- package/dist/conductor/build-conductor-follow-up-prompt.js +17 -0
- package/dist/conductor/build-conductor-follow-up-prompt.js.map +1 -0
- package/dist/conductor/build-conductor-prompt.d.ts +22 -0
- package/dist/conductor/build-conductor-prompt.d.ts.map +1 -0
- package/dist/conductor/build-conductor-prompt.js +18 -0
- package/dist/conductor/build-conductor-prompt.js.map +1 -0
- package/dist/conductor/conductor-agent.d.ts +35 -0
- package/dist/conductor/conductor-agent.d.ts.map +1 -0
- package/dist/conductor/conductor-agent.js +90 -0
- package/dist/conductor/conductor-agent.js.map +1 -0
- package/dist/conductor/conductor-auth.d.ts +29 -0
- package/dist/conductor/conductor-auth.d.ts.map +1 -0
- package/dist/conductor/conductor-auth.js +80 -0
- package/dist/conductor/conductor-auth.js.map +1 -0
- package/dist/conductor/conductor-send-reconnect.d.ts +17 -0
- package/dist/conductor/conductor-send-reconnect.d.ts.map +1 -0
- package/dist/conductor/conductor-send-reconnect.js +21 -0
- package/dist/conductor/conductor-send-reconnect.js.map +1 -0
- package/dist/conductor/conductor-session-driver.d.ts +75 -0
- package/dist/conductor/conductor-session-driver.d.ts.map +1 -0
- package/dist/conductor/conductor-session-driver.js +230 -0
- package/dist/conductor/conductor-session-driver.js.map +1 -0
- package/dist/conductor/conductor-session-loop.d.ts +6 -0
- package/dist/conductor/conductor-session-loop.d.ts.map +1 -0
- package/dist/conductor/conductor-session-loop.js +6 -0
- package/dist/conductor/conductor-session-loop.js.map +1 -0
- package/dist/conductor/conductor-session.d.ts +109 -0
- package/dist/conductor/conductor-session.d.ts.map +1 -0
- package/dist/conductor/conductor-session.js +579 -0
- package/dist/conductor/conductor-session.js.map +1 -0
- package/dist/conductor/conductor-tool-name.d.ts +4 -0
- package/dist/conductor/conductor-tool-name.d.ts.map +1 -0
- package/dist/conductor/conductor-tool-name.js +10 -0
- package/dist/conductor/conductor-tool-name.js.map +1 -0
- package/dist/conductor/configure-cursor-sdk-env.d.ts +12 -0
- package/dist/conductor/configure-cursor-sdk-env.d.ts.map +1 -0
- package/dist/conductor/configure-cursor-sdk-env.js +64 -0
- package/dist/conductor/configure-cursor-sdk-env.js.map +1 -0
- package/dist/conductor/dispatch-tools.d.ts +19 -0
- package/dist/conductor/dispatch-tools.d.ts.map +1 -0
- package/dist/conductor/dispatch-tools.js +209 -0
- package/dist/conductor/dispatch-tools.js.map +1 -0
- package/dist/conductor/issue-loop.d.ts +7 -0
- package/dist/conductor/issue-loop.d.ts.map +1 -0
- package/dist/conductor/issue-loop.js +6 -0
- package/dist/conductor/issue-loop.js.map +1 -0
- package/dist/conductor/issue-session.d.ts +5 -0
- package/dist/conductor/issue-session.d.ts.map +1 -0
- package/dist/conductor/issue-session.js +5 -0
- package/dist/conductor/issue-session.js.map +1 -0
- package/dist/conductor/list-conductor-models.d.ts +7 -0
- package/dist/conductor/list-conductor-models.d.ts.map +1 -0
- package/dist/conductor/list-conductor-models.js +16 -0
- package/dist/conductor/list-conductor-models.js.map +1 -0
- package/dist/conductor/operator-exit.d.ts +3 -0
- package/dist/conductor/operator-exit.d.ts.map +1 -0
- package/dist/conductor/operator-exit.js +6 -0
- package/dist/conductor/operator-exit.js.map +1 -0
- package/dist/conductor/operator-input-binding.d.ts +20 -0
- package/dist/conductor/operator-input-binding.d.ts.map +1 -0
- package/dist/conductor/operator-input-binding.js +2 -0
- package/dist/conductor/operator-input-binding.js.map +1 -0
- package/dist/conductor/operator-post-loop-gate.d.ts +10 -0
- package/dist/conductor/operator-post-loop-gate.d.ts.map +1 -0
- package/dist/conductor/operator-post-loop-gate.js +28 -0
- package/dist/conductor/operator-post-loop-gate.js.map +1 -0
- package/dist/conductor/prompt/compile-conductor-prompt.d.ts +6 -0
- package/dist/conductor/prompt/compile-conductor-prompt.d.ts.map +1 -0
- package/dist/conductor/prompt/compile-conductor-prompt.js +14 -0
- package/dist/conductor/prompt/compile-conductor-prompt.js.map +1 -0
- package/dist/conductor/prompt/format-session-summaries.d.ts +7 -0
- package/dist/conductor/prompt/format-session-summaries.d.ts.map +1 -0
- package/dist/conductor/prompt/format-session-summaries.js +31 -0
- package/dist/conductor/prompt/format-session-summaries.js.map +1 -0
- package/dist/conductor/prompt/materials.d.ts +8 -0
- package/dist/conductor/prompt/materials.d.ts.map +1 -0
- package/dist/conductor/prompt/materials.js +23 -0
- package/dist/conductor/prompt/materials.js.map +1 -0
- package/dist/conductor/prompt/modules/conductor-base-module.d.ts +5 -0
- package/dist/conductor/prompt/modules/conductor-base-module.d.ts.map +1 -0
- package/dist/conductor/prompt/modules/conductor-base-module.js +45 -0
- package/dist/conductor/prompt/modules/conductor-base-module.js.map +1 -0
- package/dist/conductor/prompt/modules/conductor-follow-up-module.d.ts +6 -0
- package/dist/conductor/prompt/modules/conductor-follow-up-module.d.ts.map +1 -0
- package/dist/conductor/prompt/modules/conductor-follow-up-module.js +15 -0
- package/dist/conductor/prompt/modules/conductor-follow-up-module.js.map +1 -0
- package/dist/conductor/prompt/modules/conductor-human-guidance-module.d.ts +4 -0
- package/dist/conductor/prompt/modules/conductor-human-guidance-module.d.ts.map +1 -0
- package/dist/conductor/prompt/modules/conductor-human-guidance-module.js +22 -0
- package/dist/conductor/prompt/modules/conductor-human-guidance-module.js.map +1 -0
- package/dist/conductor/prompt/modules/conductor-initial-module.d.ts +4 -0
- package/dist/conductor/prompt/modules/conductor-initial-module.d.ts.map +1 -0
- package/dist/conductor/prompt/modules/conductor-initial-module.js +12 -0
- package/dist/conductor/prompt/modules/conductor-initial-module.js.map +1 -0
- package/dist/conductor/prompt/modules/conductor-system-module.d.ts +4 -0
- package/dist/conductor/prompt/modules/conductor-system-module.d.ts.map +1 -0
- package/dist/conductor/prompt/modules/conductor-system-module.js +28 -0
- package/dist/conductor/prompt/modules/conductor-system-module.js.map +1 -0
- package/dist/conductor/prompt/modules/conductor-turn-module.d.ts +5 -0
- package/dist/conductor/prompt/modules/conductor-turn-module.d.ts.map +1 -0
- package/dist/conductor/prompt/modules/conductor-turn-module.js +71 -0
- package/dist/conductor/prompt/modules/conductor-turn-module.js.map +1 -0
- package/dist/conductor/prompt/types.d.ts +31 -0
- package/dist/conductor/prompt/types.d.ts.map +1 -0
- package/dist/conductor/prompt/types.js +9 -0
- package/dist/conductor/prompt/types.js.map +1 -0
- package/dist/conductor/resolve-conductor-model-id.d.ts +12 -0
- package/dist/conductor/resolve-conductor-model-id.d.ts.map +1 -0
- package/dist/conductor/resolve-conductor-model-id.js +23 -0
- package/dist/conductor/resolve-conductor-model-id.js.map +1 -0
- package/dist/conductor/session/format-session-event.d.ts +6 -0
- package/dist/conductor/session/format-session-event.d.ts.map +1 -0
- package/dist/conductor/session/format-session-event.js +99 -0
- package/dist/conductor/session/format-session-event.js.map +1 -0
- package/dist/conductor/session/select-dispatch-batch.d.ts +41 -0
- package/dist/conductor/session/select-dispatch-batch.d.ts.map +1 -0
- package/dist/conductor/session/select-dispatch-batch.js +143 -0
- package/dist/conductor/session/select-dispatch-batch.js.map +1 -0
- package/dist/conductor/session/session-event-queue.d.ts +35 -0
- package/dist/conductor/session/session-event-queue.d.ts.map +1 -0
- package/dist/conductor/session/session-event-queue.js +99 -0
- package/dist/conductor/session/session-event-queue.js.map +1 -0
- package/dist/conductor/session/session-event.d.ts +28 -0
- package/dist/conductor/session/session-event.d.ts.map +1 -0
- package/dist/conductor/session/session-event.js +8 -0
- package/dist/conductor/session/session-event.js.map +1 -0
- package/dist/conductor/session/session-logger.d.ts +151 -0
- package/dist/conductor/session/session-logger.d.ts.map +1 -0
- package/dist/conductor/session/session-logger.js +86 -0
- package/dist/conductor/session/session-logger.js.map +1 -0
- package/dist/conductor/session-policy.d.ts +45 -0
- package/dist/conductor/session-policy.d.ts.map +1 -0
- package/dist/conductor/session-policy.js +78 -0
- package/dist/conductor/session-policy.js.map +1 -0
- package/dist/conductor/submit-operator-input.d.ts +17 -0
- package/dist/conductor/submit-operator-input.d.ts.map +1 -0
- package/dist/conductor/submit-operator-input.js +38 -0
- package/dist/conductor/submit-operator-input.js.map +1 -0
- package/dist/conductor/testing/test-operator-input-binding.d.ts +16 -0
- package/dist/conductor/testing/test-operator-input-binding.d.ts.map +1 -0
- package/dist/conductor/testing/test-operator-input-binding.js +29 -0
- package/dist/conductor/testing/test-operator-input-binding.js.map +1 -0
- package/dist/dispatch/attach-worker.d.ts +31 -0
- package/dist/dispatch/attach-worker.d.ts.map +1 -0
- package/dist/dispatch/attach-worker.js +49 -0
- package/dist/dispatch/attach-worker.js.map +1 -0
- package/dist/dispatch/librarian-dispatch.d.ts +22 -0
- package/dist/dispatch/librarian-dispatch.d.ts.map +1 -0
- package/dist/dispatch/librarian-dispatch.js +35 -0
- package/dist/dispatch/librarian-dispatch.js.map +1 -0
- package/dist/dispatch/prompt-worker-tool.d.ts +8 -0
- package/dist/dispatch/prompt-worker-tool.d.ts.map +1 -0
- package/dist/dispatch/prompt-worker-tool.js +60 -0
- package/dist/dispatch/prompt-worker-tool.js.map +1 -0
- package/dist/dispatch/reviewer-dispatch.d.ts +23 -0
- package/dist/dispatch/reviewer-dispatch.d.ts.map +1 -0
- package/dist/dispatch/reviewer-dispatch.js +43 -0
- package/dist/dispatch/reviewer-dispatch.js.map +1 -0
- package/dist/dispatch/session-usage-tool.d.ts +8 -0
- package/dist/dispatch/session-usage-tool.d.ts.map +1 -0
- package/dist/dispatch/session-usage-tool.js +67 -0
- package/dist/dispatch/session-usage-tool.js.map +1 -0
- package/dist/dispatch/worker-acp-session.d.ts +43 -0
- package/dist/dispatch/worker-acp-session.d.ts.map +1 -0
- package/dist/dispatch/worker-acp-session.js +64 -0
- package/dist/dispatch/worker-acp-session.js.map +1 -0
- package/dist/dispatch/worker-dispatch.d.ts +23 -0
- package/dist/dispatch/worker-dispatch.d.ts.map +1 -0
- package/dist/dispatch/worker-dispatch.js +15 -0
- package/dist/dispatch/worker-dispatch.js.map +1 -0
- package/dist/dispatch/worker-status-tool.d.ts +10 -0
- package/dist/dispatch/worker-status-tool.d.ts.map +1 -0
- package/dist/dispatch/worker-status-tool.js +74 -0
- package/dist/dispatch/worker-status-tool.js.map +1 -0
- package/dist/escalation/answer-open-question-tool.d.ts +8 -0
- package/dist/escalation/answer-open-question-tool.d.ts.map +1 -0
- package/dist/escalation/answer-open-question-tool.js +84 -0
- package/dist/escalation/answer-open-question-tool.js.map +1 -0
- package/dist/escalation/apply-operator-message.d.ts +13 -0
- package/dist/escalation/apply-operator-message.d.ts.map +1 -0
- package/dist/escalation/apply-operator-message.js +32 -0
- package/dist/escalation/apply-operator-message.js.map +1 -0
- package/dist/escalation/ask-human-tool.d.ts +8 -0
- package/dist/escalation/ask-human-tool.d.ts.map +1 -0
- package/dist/escalation/ask-human-tool.js +79 -0
- package/dist/escalation/ask-human-tool.js.map +1 -0
- package/dist/escalation/build-human-guidance-prompt.d.ts +8 -0
- package/dist/escalation/build-human-guidance-prompt.d.ts.map +1 -0
- package/dist/escalation/build-human-guidance-prompt.js +26 -0
- package/dist/escalation/build-human-guidance-prompt.js.map +1 -0
- package/dist/escalation/build-max-turns-escalation.d.ts +4 -0
- package/dist/escalation/build-max-turns-escalation.d.ts.map +1 -0
- package/dist/escalation/build-max-turns-escalation.js +22 -0
- package/dist/escalation/build-max-turns-escalation.js.map +1 -0
- package/dist/escalation/create-permission-ask-handler.d.ts +4 -0
- package/dist/escalation/create-permission-ask-handler.d.ts.map +1 -0
- package/dist/escalation/create-permission-ask-handler.js +10 -0
- package/dist/escalation/create-permission-ask-handler.js.map +1 -0
- package/dist/escalation/dialogue-log.d.ts +15 -0
- package/dist/escalation/dialogue-log.d.ts.map +1 -0
- package/dist/escalation/dialogue-log.js +29 -0
- package/dist/escalation/dialogue-log.js.map +1 -0
- package/dist/escalation/enqueue-max-turns-question.d.ts +14 -0
- package/dist/escalation/enqueue-max-turns-question.d.ts.map +1 -0
- package/dist/escalation/enqueue-max-turns-question.js +29 -0
- package/dist/escalation/enqueue-max-turns-question.js.map +1 -0
- package/dist/escalation/escalation-unavailable-error.d.ts +5 -0
- package/dist/escalation/escalation-unavailable-error.d.ts.map +1 -0
- package/dist/escalation/escalation-unavailable-error.js +8 -0
- package/dist/escalation/escalation-unavailable-error.js.map +1 -0
- package/dist/escalation/format-open-questions.d.ts +4 -0
- package/dist/escalation/format-open-questions.d.ts.map +1 -0
- package/dist/escalation/format-open-questions.js +23 -0
- package/dist/escalation/format-open-questions.js.map +1 -0
- package/dist/escalation/format-registry-update.d.ts +5 -0
- package/dist/escalation/format-registry-update.d.ts.map +1 -0
- package/dist/escalation/format-registry-update.js +16 -0
- package/dist/escalation/format-registry-update.js.map +1 -0
- package/dist/escalation/human-inquiry.d.ts +23 -0
- package/dist/escalation/human-inquiry.d.ts.map +1 -0
- package/dist/escalation/human-inquiry.js +2 -0
- package/dist/escalation/human-inquiry.js.map +1 -0
- package/dist/escalation/open-question-list-tools.d.ts +7 -0
- package/dist/escalation/open-question-list-tools.d.ts.map +1 -0
- package/dist/escalation/open-question-list-tools.js +100 -0
- package/dist/escalation/open-question-list-tools.js.map +1 -0
- package/dist/escalation/open-question-to-escalation.d.ts +4 -0
- package/dist/escalation/open-question-to-escalation.d.ts.map +1 -0
- package/dist/escalation/open-question-to-escalation.js +13 -0
- package/dist/escalation/open-question-to-escalation.js.map +1 -0
- package/dist/escalation/open-question.d.ts +53 -0
- package/dist/escalation/open-question.d.ts.map +1 -0
- package/dist/escalation/open-question.js +66 -0
- package/dist/escalation/open-question.js.map +1 -0
- package/dist/escalation/permission-inquiry.d.ts +4 -0
- package/dist/escalation/permission-inquiry.d.ts.map +1 -0
- package/dist/escalation/permission-inquiry.js +11 -0
- package/dist/escalation/permission-inquiry.js.map +1 -0
- package/dist/escalation/record-open-question-answer.d.ts +11 -0
- package/dist/escalation/record-open-question-answer.d.ts.map +1 -0
- package/dist/escalation/record-open-question-answer.js +17 -0
- package/dist/escalation/record-open-question-answer.js.map +1 -0
- package/dist/escalation/resolve-human-inquiry.d.ts +8 -0
- package/dist/escalation/resolve-human-inquiry.d.ts.map +1 -0
- package/dist/escalation/resolve-human-inquiry.js +37 -0
- package/dist/escalation/resolve-human-inquiry.js.map +1 -0
- package/dist/git/run-git.d.ts +5 -0
- package/dist/git/run-git.d.ts.map +1 -0
- package/dist/git/run-git.js +19 -0
- package/dist/git/run-git.js.map +1 -0
- package/dist/github/debounce-buffer.d.ts +22 -0
- package/dist/github/debounce-buffer.d.ts.map +1 -0
- package/dist/github/debounce-buffer.js +61 -0
- package/dist/github/debounce-buffer.js.map +1 -0
- package/dist/github/fetch-github-updates.d.ts +19 -0
- package/dist/github/fetch-github-updates.d.ts.map +1 -0
- package/dist/github/fetch-github-updates.js +274 -0
- package/dist/github/fetch-github-updates.js.map +1 -0
- package/dist/github/format-issue-context-prompt.d.ts +9 -0
- package/dist/github/format-issue-context-prompt.d.ts.map +1 -0
- package/dist/github/format-issue-context-prompt.js +53 -0
- package/dist/github/format-issue-context-prompt.js.map +1 -0
- package/dist/github/github-monitor-cursor.d.ts +21 -0
- package/dist/github/github-monitor-cursor.d.ts.map +1 -0
- package/dist/github/github-monitor-cursor.js +25 -0
- package/dist/github/github-monitor-cursor.js.map +1 -0
- package/dist/github/github-monitor.d.ts +27 -0
- package/dist/github/github-monitor.d.ts.map +1 -0
- package/dist/github/github-monitor.js +98 -0
- package/dist/github/github-monitor.js.map +1 -0
- package/dist/github/github-test-fixtures.d.ts +17 -0
- package/dist/github/github-test-fixtures.d.ts.map +1 -0
- package/dist/github/github-test-fixtures.js +23 -0
- package/dist/github/github-test-fixtures.js.map +1 -0
- package/dist/github/github-update-types.d.ts +22 -0
- package/dist/github/github-update-types.d.ts.map +1 -0
- package/dist/github/github-update-types.js +2 -0
- package/dist/github/github-update-types.js.map +1 -0
- package/dist/github/issue-context.d.ts +16 -0
- package/dist/github/issue-context.d.ts.map +1 -0
- package/dist/github/issue-context.js +26 -0
- package/dist/github/issue-context.js.map +1 -0
- package/dist/github/run-gh.d.ts +4 -0
- package/dist/github/run-gh.d.ts.map +1 -0
- package/dist/github/run-gh.js +19 -0
- package/dist/github/run-gh.js.map +1 -0
- package/dist/index.d.ts +128 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +72 -0
- package/dist/index.js.map +1 -0
- package/dist/issue/issue-ref.d.ts +9 -0
- package/dist/issue/issue-ref.d.ts.map +1 -0
- package/dist/issue/issue-ref.js +18 -0
- package/dist/issue/issue-ref.js.map +1 -0
- package/dist/issue/resolve-issue-url.d.ts +6 -0
- package/dist/issue/resolve-issue-url.d.ts.map +1 -0
- package/dist/issue/resolve-issue-url.js +46 -0
- package/dist/issue/resolve-issue-url.js.map +1 -0
- package/dist/permission/format-pending-permissions.d.ts +3 -0
- package/dist/permission/format-pending-permissions.d.ts.map +1 -0
- package/dist/permission/format-pending-permissions.js +12 -0
- package/dist/permission/format-pending-permissions.js.map +1 -0
- package/dist/permission/format-permission-summary-for-operator.d.ts +15 -0
- package/dist/permission/format-permission-summary-for-operator.d.ts.map +1 -0
- package/dist/permission/format-permission-summary-for-operator.js +89 -0
- package/dist/permission/format-permission-summary-for-operator.js.map +1 -0
- package/dist/permission/pending-permission.d.ts +17 -0
- package/dist/permission/pending-permission.d.ts.map +1 -0
- package/dist/permission/pending-permission.js +23 -0
- package/dist/permission/pending-permission.js.map +1 -0
- package/dist/permission/permission-broker.d.ts +29 -0
- package/dist/permission/permission-broker.d.ts.map +1 -0
- package/dist/permission/permission-broker.js +53 -0
- package/dist/permission/permission-broker.js.map +1 -0
- package/dist/permission/permission-pipeline.d.ts +28 -0
- package/dist/permission/permission-pipeline.d.ts.map +1 -0
- package/dist/permission/permission-pipeline.js +41 -0
- package/dist/permission/permission-pipeline.js.map +1 -0
- package/dist/permission/permission-policy.d.ts +15 -0
- package/dist/permission/permission-policy.d.ts.map +1 -0
- package/dist/permission/permission-policy.js +32 -0
- package/dist/permission/permission-policy.js.map +1 -0
- package/dist/permission/permission-request.d.ts +8 -0
- package/dist/permission/permission-request.d.ts.map +1 -0
- package/dist/permission/permission-request.js +16 -0
- package/dist/permission/permission-request.js.map +1 -0
- package/dist/permission/resolve-permission-tool.d.ts +15 -0
- package/dist/permission/resolve-permission-tool.d.ts.map +1 -0
- package/dist/permission/resolve-permission-tool.js +62 -0
- package/dist/permission/resolve-permission-tool.js.map +1 -0
- package/dist/profile/load-profile.d.ts +35 -0
- package/dist/profile/load-profile.d.ts.map +1 -0
- package/dist/profile/load-profile.js +139 -0
- package/dist/profile/load-profile.js.map +1 -0
- package/dist/profile/types.d.ts +70 -0
- package/dist/profile/types.d.ts.map +1 -0
- package/dist/profile/types.js +61 -0
- package/dist/profile/types.js.map +1 -0
- package/dist/profiles/default/conductor.md +35 -0
- package/dist/profiles/default/implementer.md +17 -0
- package/dist/profiles/default/profile.yaml +22 -0
- package/dist/profiles/default/reviewer.md +18 -0
- package/dist/profiles/default/team.md +345 -0
- package/dist/prompt/build-prompt.d.ts +14 -0
- package/dist/prompt/build-prompt.d.ts.map +1 -0
- package/dist/prompt/build-prompt.js +16 -0
- package/dist/prompt/build-prompt.js.map +1 -0
- package/dist/prompt/build-worker-attach-prompt.d.ts +12 -0
- package/dist/prompt/build-worker-attach-prompt.d.ts.map +1 -0
- package/dist/prompt/build-worker-attach-prompt.js +32 -0
- package/dist/prompt/build-worker-attach-prompt.js.map +1 -0
- package/dist/prompt/build-worker-prompt.d.ts +11 -0
- package/dist/prompt/build-worker-prompt.d.ts.map +1 -0
- package/dist/prompt/build-worker-prompt.js +22 -0
- package/dist/prompt/build-worker-prompt.js.map +1 -0
- package/dist/prompt/compile-system-prompt.d.ts +12 -0
- package/dist/prompt/compile-system-prompt.d.ts.map +1 -0
- package/dist/prompt/compile-system-prompt.js +21 -0
- package/dist/prompt/compile-system-prompt.js.map +1 -0
- package/dist/prompt/contexts/kind.d.ts +14 -0
- package/dist/prompt/contexts/kind.d.ts.map +1 -0
- package/dist/prompt/contexts/kind.js +12 -0
- package/dist/prompt/contexts/kind.js.map +1 -0
- package/dist/prompt/issue-context-material.d.ts +5 -0
- package/dist/prompt/issue-context-material.d.ts.map +1 -0
- package/dist/prompt/issue-context-material.js +10 -0
- package/dist/prompt/issue-context-material.js.map +1 -0
- package/dist/prompt/modules/bootstrap.d.ts +5 -0
- package/dist/prompt/modules/bootstrap.d.ts.map +1 -0
- package/dist/prompt/modules/bootstrap.js +6 -0
- package/dist/prompt/modules/bootstrap.js.map +1 -0
- package/dist/prompt/modules/default-agent-module.d.ts +10 -0
- package/dist/prompt/modules/default-agent-module.d.ts.map +1 -0
- package/dist/prompt/modules/default-agent-module.js +19 -0
- package/dist/prompt/modules/default-agent-module.js.map +1 -0
- package/dist/prompt/modules/ensemble/base-module.d.ts +9 -0
- package/dist/prompt/modules/ensemble/base-module.d.ts.map +1 -0
- package/dist/prompt/modules/ensemble/base-module.js +70 -0
- package/dist/prompt/modules/ensemble/base-module.js.map +1 -0
- package/dist/prompt/modules/ensemble/conductor-base-module.d.ts +8 -0
- package/dist/prompt/modules/ensemble/conductor-base-module.d.ts.map +1 -0
- package/dist/prompt/modules/ensemble/conductor-base-module.js +96 -0
- package/dist/prompt/modules/ensemble/conductor-base-module.js.map +1 -0
- package/dist/prompt/modules/ensemble/index.d.ts +12 -0
- package/dist/prompt/modules/ensemble/index.d.ts.map +1 -0
- package/dist/prompt/modules/ensemble/index.js +23 -0
- package/dist/prompt/modules/ensemble/index.js.map +1 -0
- package/dist/prompt/modules/ensemble/worker-base-module.d.ts +8 -0
- package/dist/prompt/modules/ensemble/worker-base-module.d.ts.map +1 -0
- package/dist/prompt/modules/ensemble/worker-base-module.js +17 -0
- package/dist/prompt/modules/ensemble/worker-base-module.js.map +1 -0
- package/dist/prompt/modules/librarian-module.d.ts +10 -0
- package/dist/prompt/modules/librarian-module.d.ts.map +1 -0
- package/dist/prompt/modules/librarian-module.js +16 -0
- package/dist/prompt/modules/librarian-module.js.map +1 -0
- package/dist/prompt/modules/reviewer-module.d.ts +9 -0
- package/dist/prompt/modules/reviewer-module.d.ts.map +1 -0
- package/dist/prompt/modules/reviewer-module.js +14 -0
- package/dist/prompt/modules/reviewer-module.js.map +1 -0
- package/dist/prompt/modules/shared/profile-prompt-module.d.ts +11 -0
- package/dist/prompt/modules/shared/profile-prompt-module.d.ts.map +1 -0
- package/dist/prompt/modules/shared/profile-prompt-module.js +28 -0
- package/dist/prompt/modules/shared/profile-prompt-module.js.map +1 -0
- package/dist/prompt/modules/worker-module.d.ts +12 -0
- package/dist/prompt/modules/worker-module.d.ts.map +1 -0
- package/dist/prompt/modules/worker-module.js +20 -0
- package/dist/prompt/modules/worker-module.js.map +1 -0
- package/dist/prompt/render-compiled-prompt.d.ts +4 -0
- package/dist/prompt/render-compiled-prompt.d.ts.map +1 -0
- package/dist/prompt/render-compiled-prompt.js +48 -0
- package/dist/prompt/render-compiled-prompt.js.map +1 -0
- package/dist/prompt/testing/test-profile.d.ts +5 -0
- package/dist/prompt/testing/test-profile.d.ts.map +1 -0
- package/dist/prompt/testing/test-profile.js +15 -0
- package/dist/prompt/testing/test-profile.js.map +1 -0
- package/dist/runtime/conductor-inbox.d.ts +19 -0
- package/dist/runtime/conductor-inbox.d.ts.map +1 -0
- package/dist/runtime/conductor-inbox.js +64 -0
- package/dist/runtime/conductor-inbox.js.map +1 -0
- package/dist/runtime/inbox-processor.d.ts +17 -0
- package/dist/runtime/inbox-processor.d.ts.map +1 -0
- package/dist/runtime/inbox-processor.js +37 -0
- package/dist/runtime/inbox-processor.js.map +1 -0
- package/dist/runtime/send-worker-message.d.ts +14 -0
- package/dist/runtime/send-worker-message.d.ts.map +1 -0
- package/dist/runtime/send-worker-message.js +2 -0
- package/dist/runtime/send-worker-message.js.map +1 -0
- package/dist/runtime/types.d.ts +51 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/runtime/worker-outbound-queue.d.ts +9 -0
- package/dist/runtime/worker-outbound-queue.d.ts.map +1 -0
- package/dist/runtime/worker-outbound-queue.js +11 -0
- package/dist/runtime/worker-outbound-queue.js.map +1 -0
- package/dist/runtime/worker-runtime.d.ts +53 -0
- package/dist/runtime/worker-runtime.d.ts.map +1 -0
- package/dist/runtime/worker-runtime.js +349 -0
- package/dist/runtime/worker-runtime.js.map +1 -0
- package/dist/runtime/worker-session.d.ts +49 -0
- package/dist/runtime/worker-session.d.ts.map +1 -0
- package/dist/runtime/worker-session.js +69 -0
- package/dist/runtime/worker-session.js.map +1 -0
- package/dist/runtime/worker-status.d.ts +27 -0
- package/dist/runtime/worker-status.d.ts.map +1 -0
- package/dist/runtime/worker-status.js +3 -0
- package/dist/runtime/worker-status.js.map +1 -0
- package/dist/session/session-sidecar.d.ts +54 -0
- package/dist/session/session-sidecar.d.ts.map +1 -0
- package/dist/session/session-sidecar.js +158 -0
- package/dist/session/session-sidecar.js.map +1 -0
- package/dist/usage/estimate-token-usage.d.ts +7 -0
- package/dist/usage/estimate-token-usage.d.ts.map +1 -0
- package/dist/usage/estimate-token-usage.js +18 -0
- package/dist/usage/estimate-token-usage.js.map +1 -0
- package/dist/usage/session-usage-tracker.d.ts +33 -0
- package/dist/usage/session-usage-tracker.d.ts.map +1 -0
- package/dist/usage/session-usage-tracker.js +184 -0
- package/dist/usage/session-usage-tracker.js.map +1 -0
- package/dist/usage/types.d.ts +53 -0
- package/dist/usage/types.d.ts.map +1 -0
- package/dist/usage/types.js +2 -0
- package/dist/usage/types.js.map +1 -0
- package/dist/worktree/worktree.d.ts +46 -0
- package/dist/worktree/worktree.d.ts.map +1 -0
- package/dist/worktree/worktree.js +212 -0
- package/dist/worktree/worktree.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Profile } from './types.js';
|
|
2
|
+
export declare const PROFILES_DIR = "profiles";
|
|
3
|
+
export declare const PROFILE_FILE = "profile.yaml";
|
|
4
|
+
export declare const DEFAULT_PROFILE_NAME = "default";
|
|
5
|
+
export declare function parseProfile(source: unknown, label: string): Profile;
|
|
6
|
+
export declare function resolveProfileFilePath(profileDir: string, fileRef: string): string;
|
|
7
|
+
/** `file` / `systemPromptFile` を読み込み、インラインに解決する。 */
|
|
8
|
+
export declare function resolveProfile(profile: Profile, profileDir: string): Promise<Profile>;
|
|
9
|
+
export declare function loadProfileFromFile(filePath: string): Promise<Profile>;
|
|
10
|
+
/** `@agents-ensemble/core` パッケージルート(`src/profile` または `dist/profile` から算出)。 */
|
|
11
|
+
export declare function corePackageRoot(): string;
|
|
12
|
+
/**
|
|
13
|
+
* 同梱プロファイルのルート。
|
|
14
|
+
* 正本はリポジトリ直下の `profiles/`。`build` で `dist/profiles/` にコピー済みなら dist を使う。
|
|
15
|
+
*/
|
|
16
|
+
export declare function bundledProfilesRoot(): string;
|
|
17
|
+
export declare function bundledProfilePath(name: string): string;
|
|
18
|
+
export declare function bundledDefaultProfilePath(): string;
|
|
19
|
+
export declare function profileDirectoryPath(cwd: string, name: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* プロファイル参照をファイルパスに解決する。
|
|
22
|
+
* - `default` などの名前 → 同梱 `profiles/<name>/profile.yaml`(無ければ `<cwd>/profiles/<name>/profile.yaml`)
|
|
23
|
+
* - `profiles/foo/profile.yaml` や絶対パスは cwd 基準でそのまま
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveProfilePath(ref: string, cwd: string): string;
|
|
26
|
+
/** --profile 未指定時は同梱 default。 */
|
|
27
|
+
export declare function resolveDefaultProfilePath(): string;
|
|
28
|
+
export declare function loadProfile(options: {
|
|
29
|
+
profile?: string;
|
|
30
|
+
cwd?: string;
|
|
31
|
+
}): Promise<{
|
|
32
|
+
profile: Profile;
|
|
33
|
+
profilePath: string;
|
|
34
|
+
}>;
|
|
35
|
+
//# sourceMappingURL=load-profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-profile.d.ts","sourceRoot":"","sources":["../../src/profile/load-profile.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,OAAO,EAGR,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAmCpE;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKlF;AAyCD,oDAAoD;AACpD,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK5E;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAO5C;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAcnE;AAED,iCAAiC;AACjC,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAOrD"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { dirname, isAbsolute, join } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import yaml from 'js-yaml';
|
|
6
|
+
import { normalizeProfileWorkers } from './types.js';
|
|
7
|
+
export const PROFILES_DIR = 'profiles';
|
|
8
|
+
export const PROFILE_FILE = 'profile.yaml';
|
|
9
|
+
export const DEFAULT_PROFILE_NAME = 'default';
|
|
10
|
+
export function parseProfile(source, label) {
|
|
11
|
+
if (!source || typeof source !== 'object' || !Array.isArray(source.workers)) {
|
|
12
|
+
throw new Error(`Invalid profile: ${label} (expected YAML with "workers" array)`);
|
|
13
|
+
}
|
|
14
|
+
const raw = source;
|
|
15
|
+
const workers = normalizeProfileWorkers(raw.workers, label);
|
|
16
|
+
const profile = { ...raw, workers };
|
|
17
|
+
for (const [name, agent] of Object.entries(profile.agents ?? {})) {
|
|
18
|
+
if (!agent || typeof agent !== 'object') {
|
|
19
|
+
throw new Error(`Invalid profile agent "${name}" in ${label}`);
|
|
20
|
+
}
|
|
21
|
+
if (agent.systemPrompt && agent.systemPromptFile) {
|
|
22
|
+
throw new Error(`Invalid profile agent "${name}" in ${label}: use either systemPrompt or systemPromptFile`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
for (const [index, material] of (profile.materials ?? []).entries()) {
|
|
26
|
+
if (!material.content && !material.file) {
|
|
27
|
+
throw new Error(`Invalid profile material[${index}] in ${label}: needs "content" or "file"`);
|
|
28
|
+
}
|
|
29
|
+
if (material.content && material.file) {
|
|
30
|
+
throw new Error(`Invalid profile material[${index}] in ${label}: use either content or file`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return profile;
|
|
34
|
+
}
|
|
35
|
+
export function resolveProfileFilePath(profileDir, fileRef) {
|
|
36
|
+
if (isAbsolute(fileRef)) {
|
|
37
|
+
return fileRef;
|
|
38
|
+
}
|
|
39
|
+
return join(profileDir, fileRef);
|
|
40
|
+
}
|
|
41
|
+
async function readProfileFile(profileDir, fileRef) {
|
|
42
|
+
const path = resolveProfileFilePath(profileDir, fileRef);
|
|
43
|
+
return readFile(path, 'utf8');
|
|
44
|
+
}
|
|
45
|
+
async function resolveAgent(name, agent, profileDir, label) {
|
|
46
|
+
if (!agent.systemPromptFile) {
|
|
47
|
+
return { systemPrompt: agent.systemPrompt };
|
|
48
|
+
}
|
|
49
|
+
const systemPrompt = await readProfileFile(profileDir, agent.systemPromptFile);
|
|
50
|
+
return { systemPrompt };
|
|
51
|
+
}
|
|
52
|
+
async function resolveMaterial(material, profileDir, label) {
|
|
53
|
+
const content = material.content ??
|
|
54
|
+
(material.file
|
|
55
|
+
? await readProfileFile(profileDir, material.file)
|
|
56
|
+
: (() => {
|
|
57
|
+
throw new Error(`Invalid profile material in ${label}`);
|
|
58
|
+
})());
|
|
59
|
+
return {
|
|
60
|
+
id: material.id,
|
|
61
|
+
title: material.title,
|
|
62
|
+
content,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/** `file` / `systemPromptFile` を読み込み、インラインに解決する。 */
|
|
66
|
+
export async function resolveProfile(profile, profileDir) {
|
|
67
|
+
const label = join(profileDir, PROFILE_FILE);
|
|
68
|
+
const agents = {};
|
|
69
|
+
for (const [name, agent] of Object.entries(profile.agents ?? {})) {
|
|
70
|
+
agents[name] = await resolveAgent(name, agent, profileDir, label);
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
workers: profile.workers,
|
|
74
|
+
agents: Object.keys(agents).length > 0 ? agents : undefined,
|
|
75
|
+
materials: await Promise.all((profile.materials ?? []).map((material) => resolveMaterial(material, profileDir, label))),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export async function loadProfileFromFile(filePath) {
|
|
79
|
+
const raw = await readFile(filePath, 'utf8');
|
|
80
|
+
const parsed = yaml.load(raw);
|
|
81
|
+
const profile = parseProfile(parsed, filePath);
|
|
82
|
+
return resolveProfile(profile, dirname(filePath));
|
|
83
|
+
}
|
|
84
|
+
/** `@agents-ensemble/core` パッケージルート(`src/profile` または `dist/profile` から算出)。 */
|
|
85
|
+
export function corePackageRoot() {
|
|
86
|
+
return join(dirname(fileURLToPath(import.meta.url)), '../..');
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 同梱プロファイルのルート。
|
|
90
|
+
* 正本はリポジトリ直下の `profiles/`。`build` で `dist/profiles/` にコピー済みなら dist を使う。
|
|
91
|
+
*/
|
|
92
|
+
export function bundledProfilesRoot() {
|
|
93
|
+
const packageRoot = corePackageRoot();
|
|
94
|
+
const distProfiles = join(packageRoot, 'dist/profiles');
|
|
95
|
+
if (existsSync(join(distProfiles, DEFAULT_PROFILE_NAME, PROFILE_FILE))) {
|
|
96
|
+
return distProfiles;
|
|
97
|
+
}
|
|
98
|
+
return join(packageRoot, '../../profiles');
|
|
99
|
+
}
|
|
100
|
+
export function bundledProfilePath(name) {
|
|
101
|
+
return join(bundledProfilesRoot(), name, PROFILE_FILE);
|
|
102
|
+
}
|
|
103
|
+
export function bundledDefaultProfilePath() {
|
|
104
|
+
return bundledProfilePath(DEFAULT_PROFILE_NAME);
|
|
105
|
+
}
|
|
106
|
+
export function profileDirectoryPath(cwd, name) {
|
|
107
|
+
return join(cwd, PROFILES_DIR, name, PROFILE_FILE);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* プロファイル参照をファイルパスに解決する。
|
|
111
|
+
* - `default` などの名前 → 同梱 `profiles/<name>/profile.yaml`(無ければ `<cwd>/profiles/<name>/profile.yaml`)
|
|
112
|
+
* - `profiles/foo/profile.yaml` や絶対パスは cwd 基準でそのまま
|
|
113
|
+
*/
|
|
114
|
+
export function resolveProfilePath(ref, cwd) {
|
|
115
|
+
if (isAbsolute(ref)) {
|
|
116
|
+
return ref;
|
|
117
|
+
}
|
|
118
|
+
if (ref.endsWith('.yaml') || ref.endsWith('.yml') || ref.includes('/')) {
|
|
119
|
+
return join(cwd, ref);
|
|
120
|
+
}
|
|
121
|
+
const bundled = bundledProfilePath(ref);
|
|
122
|
+
if (existsSync(bundled)) {
|
|
123
|
+
return bundled;
|
|
124
|
+
}
|
|
125
|
+
return profileDirectoryPath(cwd, ref);
|
|
126
|
+
}
|
|
127
|
+
/** --profile 未指定時は同梱 default。 */
|
|
128
|
+
export function resolveDefaultProfilePath() {
|
|
129
|
+
return bundledDefaultProfilePath();
|
|
130
|
+
}
|
|
131
|
+
export async function loadProfile(options) {
|
|
132
|
+
const cwd = options.cwd ?? process.cwd();
|
|
133
|
+
const profilePath = options.profile
|
|
134
|
+
? resolveProfilePath(options.profile, cwd)
|
|
135
|
+
: resolveDefaultProfilePath();
|
|
136
|
+
const profile = await loadProfileFromFile(profilePath);
|
|
137
|
+
return { profile, profilePath };
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=load-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-profile.js","sourceRoot":"","sources":["../../src/profile/load-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/** kind ごとの agent 定義(system prompt)。`conductor` は暗黙起動の SDK agent、他は worker bootstrap 用。 */
|
|
2
|
+
export interface AgentDefinition {
|
|
3
|
+
systemPrompt?: string;
|
|
4
|
+
/** プロファイルディレクトリ基準のファイルパス。`systemPrompt` と排他。 */
|
|
5
|
+
systemPromptFile?: string;
|
|
6
|
+
}
|
|
7
|
+
/** プロファイル YAML の worker エントリ(文字列は name=kind のショートハンド)。 */
|
|
8
|
+
export type ProfileWorkerRef = string | ProfileWorkerRefObject;
|
|
9
|
+
export interface ProfileWorkerRefObject {
|
|
10
|
+
/** セッション内の識別名(一意)。省略時は kind と同じ。 */
|
|
11
|
+
name?: string;
|
|
12
|
+
kind: string;
|
|
13
|
+
}
|
|
14
|
+
/** parse 後の worker 定義。 */
|
|
15
|
+
export interface ProfileWorkerEntry {
|
|
16
|
+
name: string;
|
|
17
|
+
kind: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 作業手順・役割分担の定義。
|
|
21
|
+
* agent 定義と、セッション開始時に起動する worker の一覧を返す。
|
|
22
|
+
*/
|
|
23
|
+
export interface Profile {
|
|
24
|
+
/** kind 名 → agent 定義。`default` はフォールバック用。 */
|
|
25
|
+
agents?: Record<string, AgentDefinition>;
|
|
26
|
+
/** セッション開始時に起動する worker(name + kind)。 */
|
|
27
|
+
workers: ProfileWorkerEntry[];
|
|
28
|
+
/** profile 付属文書(team.md 等)。compile 時に Prepared Materials へ載せる。 */
|
|
29
|
+
materials?: ProfileMaterial[];
|
|
30
|
+
}
|
|
31
|
+
export interface ProfileMaterial {
|
|
32
|
+
id?: string;
|
|
33
|
+
title?: string;
|
|
34
|
+
/** インライン本文。`file` と排他(どちらか一方)。 */
|
|
35
|
+
content?: string;
|
|
36
|
+
/** `content` の代わりに、プロファイルディレクトリ基準のファイルパス。 */
|
|
37
|
+
file?: string;
|
|
38
|
+
}
|
|
39
|
+
/** load 後: materials の本文が解決済み。 */
|
|
40
|
+
export interface ResolvedProfileMaterial {
|
|
41
|
+
id: string;
|
|
42
|
+
title: string;
|
|
43
|
+
content: string;
|
|
44
|
+
}
|
|
45
|
+
/** load 後: agent 定義の systemPrompt が解決済み。 */
|
|
46
|
+
export interface ResolvedAgentDefinition {
|
|
47
|
+
systemPrompt?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface ResolvedProfile extends Profile {
|
|
50
|
+
agents?: Record<string, ResolvedAgentDefinition>;
|
|
51
|
+
}
|
|
52
|
+
export interface SessionWorkerSpec {
|
|
53
|
+
name: string;
|
|
54
|
+
kind: string;
|
|
55
|
+
systemPrompt: string;
|
|
56
|
+
}
|
|
57
|
+
/** compile 時に state へ載せる worker 構成と kind 一覧。 */
|
|
58
|
+
export interface EnsembleSessionState {
|
|
59
|
+
workers: Array<Pick<ProfileWorkerEntry, 'name' | 'kind'>>;
|
|
60
|
+
kinds: string[];
|
|
61
|
+
materials?: ResolvedProfileMaterial[];
|
|
62
|
+
}
|
|
63
|
+
export declare function resolvedProfileMaterials(materials?: ProfileMaterial[]): ResolvedProfileMaterial[] | undefined;
|
|
64
|
+
export declare function sessionStateFromProfile(profile: Pick<Profile, 'workers' | 'agents' | 'materials'>): EnsembleSessionState;
|
|
65
|
+
export declare function normalizeProfileWorker(entry: unknown, label: string, index: number): ProfileWorkerEntry;
|
|
66
|
+
export declare function normalizeProfileWorkers(workers: unknown[], label: string): ProfileWorkerEntry[];
|
|
67
|
+
export declare function profileWorkersToSessionSpecs(profile: Profile): SessionWorkerSpec[];
|
|
68
|
+
/** kind に対応する system prompt。agents[kind] → agents.default → 空(コード側デフォルトのみ)。 */
|
|
69
|
+
export declare function resolveAgentSystemPrompt(kind: string, agents: Record<string, ResolvedAgentDefinition> | undefined): string;
|
|
70
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,sBAAsB,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0BAA0B;AAC1B,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,yCAAyC;IACzC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,kEAAkE;IAClE,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,gDAAgD;AAChD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAC1D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACvC;AAED,wBAAgB,wBAAwB,CACtC,SAAS,CAAC,EAAE,eAAe,EAAE,GAC5B,uBAAuB,EAAE,GAAG,SAAS,CAWvC;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC,GACzD,oBAAoB,CAStB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAmBpB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAAE,EAClB,KAAK,EAAE,MAAM,GACZ,kBAAkB,EAAE,CAgBtB;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,EAAE,CAMlF;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,SAAS,GAC1D,MAAM,CAGR"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export function resolvedProfileMaterials(materials) {
|
|
2
|
+
const resolved = (materials ?? []).flatMap((material, index) => {
|
|
3
|
+
const content = material.content?.trim();
|
|
4
|
+
if (!content)
|
|
5
|
+
return [];
|
|
6
|
+
const id = material.id ?? `material-${index + 1}`;
|
|
7
|
+
const title = material.title ?? material.id ?? `Material ${index + 1}`;
|
|
8
|
+
return [{ id, title, content }];
|
|
9
|
+
});
|
|
10
|
+
return resolved.length > 0 ? resolved : undefined;
|
|
11
|
+
}
|
|
12
|
+
export function sessionStateFromProfile(profile) {
|
|
13
|
+
return {
|
|
14
|
+
workers: profile.workers.map((worker) => ({
|
|
15
|
+
name: worker.name,
|
|
16
|
+
kind: worker.kind,
|
|
17
|
+
})),
|
|
18
|
+
kinds: Object.keys(profile.agents ?? {}).sort(),
|
|
19
|
+
materials: resolvedProfileMaterials(profile.materials),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function normalizeProfileWorker(entry, label, index) {
|
|
23
|
+
if (typeof entry === 'string') {
|
|
24
|
+
if (!entry) {
|
|
25
|
+
throw new Error(`Invalid profile worker[${index}] in ${label}: empty kind string`);
|
|
26
|
+
}
|
|
27
|
+
return { name: entry, kind: entry };
|
|
28
|
+
}
|
|
29
|
+
if (entry && typeof entry === 'object' && 'kind' in entry) {
|
|
30
|
+
const worker = entry;
|
|
31
|
+
if (!worker.kind) {
|
|
32
|
+
throw new Error(`Invalid profile worker[${index}] in ${label}: needs "kind"`);
|
|
33
|
+
}
|
|
34
|
+
return { name: worker.name ?? worker.kind, kind: worker.kind };
|
|
35
|
+
}
|
|
36
|
+
throw new Error(`Invalid profile worker[${index}] in ${label}: expected kind string or { name?, kind }`);
|
|
37
|
+
}
|
|
38
|
+
export function normalizeProfileWorkers(workers, label) {
|
|
39
|
+
const normalized = workers.map((entry, index) => normalizeProfileWorker(entry, label, index));
|
|
40
|
+
const names = new Set();
|
|
41
|
+
for (const worker of normalized) {
|
|
42
|
+
if (names.has(worker.name)) {
|
|
43
|
+
throw new Error(`Invalid profile workers in ${label}: duplicate worker name "${worker.name}"`);
|
|
44
|
+
}
|
|
45
|
+
names.add(worker.name);
|
|
46
|
+
}
|
|
47
|
+
return normalized;
|
|
48
|
+
}
|
|
49
|
+
export function profileWorkersToSessionSpecs(profile) {
|
|
50
|
+
return profile.workers.map((worker) => ({
|
|
51
|
+
name: worker.name,
|
|
52
|
+
kind: worker.kind,
|
|
53
|
+
systemPrompt: resolveAgentSystemPrompt(worker.kind, profile.agents),
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
/** kind に対応する system prompt。agents[kind] → agents.default → 空(コード側デフォルトのみ)。 */
|
|
57
|
+
export function resolveAgentSystemPrompt(kind, agents) {
|
|
58
|
+
const agent = agents?.[kind] ?? agents?.default;
|
|
59
|
+
return agent?.systemPrompt ?? '';
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
あなたは **conductor** です。セッション開始時に起動し、すでにいる worker を制御します。
|
|
2
|
+
|
|
3
|
+
## 読み方
|
|
4
|
+
|
|
5
|
+
同梱の `team.md`(標準動作モード)を読んでください。
|
|
6
|
+
|
|
7
|
+
- **§3 conductor** — 指示として従う
|
|
8
|
+
- その他の章 — 相手(implementer / reviewer)への期待として読む
|
|
9
|
+
- §1 全員の前提、§6 連携 — 全員共通のルール
|
|
10
|
+
|
|
11
|
+
`team.md` は手順書ではなく、役割の境界と連携の作法を決める。いま何をすべきかの正本は **Issue / PR** と、指示のあった **Skill**。
|
|
12
|
+
|
|
13
|
+
## 起動時の立場
|
|
14
|
+
|
|
15
|
+
- 実装・検証は行わず、Issue / PR を正本として worker を調整する
|
|
16
|
+
- implementer / reviewer との会話は簡潔に。worker への作業指示は `prompt_worker`、詳細な状態・報告の正本は Issue / PR
|
|
17
|
+
- implementer / reviewer はセッション開始時にすでにいる。追加起動はできない
|
|
18
|
+
- 自分で判断できないことは open question でオペレータの最終判断を仰ぐ
|
|
19
|
+
|
|
20
|
+
## `prompt_worker` の書き方(worker-and-reviewer)
|
|
21
|
+
|
|
22
|
+
- **implementer** へ: 対象 Issue、今回のゴール、スコープ、使う Skill 等
|
|
23
|
+
- **reviewer** へ: 対象 PR URL、レビュー観点、再レビューなら前回ブロッカー
|
|
24
|
+
|
|
25
|
+
## worker 状態照会(`list_workers` / `get_worker_status`)
|
|
26
|
+
|
|
27
|
+
- オペレータの「起動状況」「誰が動いているか」は **作業指示ではない**。`list_workers` / `get_worker_status` で harness 状態を読む
|
|
28
|
+
- 作業指示は `prompt_worker`、状態照会は上記ツール — 混同しない
|
|
29
|
+
- Issue / PR を読まず tool 結果で答える
|
|
30
|
+
- **スナップショットのみ**。`attachInFlight` や worker の idle / processing を **ポーリング・`Await` で待たない**。変化は harness の SessionEvent(`permission.pending` / `worker.completed` 等)で届く([ADR 0016](../../docs/adr/0016-bootstrap-permission-conductor-wait.md))
|
|
31
|
+
|
|
32
|
+
## permission(init prompt 中も同様)
|
|
33
|
+
|
|
34
|
+
- `permission.pending` が届いたら **init prompt 未完了・worker が processing 中でも先に処理する**(`resolve_permission` または `ask_human`)
|
|
35
|
+
- permission を放置したまま worker の idle を待たない
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
あなたは **implementer** です。セッション開始時に起動し、conductor からの作業指示を待ちます。
|
|
2
|
+
|
|
3
|
+
## 読み方
|
|
4
|
+
|
|
5
|
+
同梱の `team.md`(標準動作モード)を読んでください。
|
|
6
|
+
|
|
7
|
+
- **§4 implementer** — 指示として従う
|
|
8
|
+
- その他の章 — 相手(conductor / reviewer)への期待として読む
|
|
9
|
+
- §1 全員の前提、§6 連携 — 全員共通のルール
|
|
10
|
+
|
|
11
|
+
手順の細部の正本は **Skill(指示があれば)と Issue / PR**。
|
|
12
|
+
|
|
13
|
+
## 起動時の立場
|
|
14
|
+
|
|
15
|
+
- worktree を作成し、実装・テスト・ドキュメント・PR 作成を担う
|
|
16
|
+
- reviewer と直接会話しない。伝えることは Issue / PR に書く
|
|
17
|
+
- 気づき・違和感・未解決は解決できなくても Issue に残す
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# デフォルト動作モード: worker-and-reviewer
|
|
2
|
+
# conductor は SDK 経由で暗黙起動、worker は profile 定義どおりセッション開始時に bootstrap する。
|
|
3
|
+
# 詳細は team.md(3者共通)。役割別の起動文書は agents.<kind>.systemPromptFile。
|
|
4
|
+
|
|
5
|
+
agents:
|
|
6
|
+
conductor:
|
|
7
|
+
systemPromptFile: conductor.md
|
|
8
|
+
implementer:
|
|
9
|
+
systemPromptFile: implementer.md
|
|
10
|
+
reviewer:
|
|
11
|
+
systemPromptFile: reviewer.md
|
|
12
|
+
|
|
13
|
+
workers:
|
|
14
|
+
- name: implementer
|
|
15
|
+
kind: implementer
|
|
16
|
+
- name: reviewer
|
|
17
|
+
kind: reviewer
|
|
18
|
+
|
|
19
|
+
materials:
|
|
20
|
+
- id: team
|
|
21
|
+
title: 標準動作モード(conductor / implementer / reviewer)
|
|
22
|
+
file: team.md
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
あなたは **reviewer** です。セッション開始時に起動し、conductor からの検証指示を待ちます。PR ができるまでは待機してよい。
|
|
2
|
+
|
|
3
|
+
## 読み方
|
|
4
|
+
|
|
5
|
+
同梱の `team.md`(標準動作モード)を読んでください。
|
|
6
|
+
|
|
7
|
+
- **§5 reviewer** — 指示として従う
|
|
8
|
+
- その他の章 — 相手(conductor / implementer)への期待として読む
|
|
9
|
+
- §1 全員の前提、§6 連携 — 全員共通のルール
|
|
10
|
+
|
|
11
|
+
`team.md` 全文は conductor の materials にも載る。検証のたびに **Issue / PR から読み直す**(会話の記憶や前回の approve を前提にしない)。
|
|
12
|
+
|
|
13
|
+
## 起動時の立場
|
|
14
|
+
|
|
15
|
+
- **コードは書かない。** 成果物は判定と根拠(PR コメント)
|
|
16
|
+
- implementer が作成した worktree に入って独立検証する
|
|
17
|
+
- implementer と直接会話しない
|
|
18
|
+
- conductor から PR URL とレビュー観点の指示を受けてから動く
|