@excitedjs/dreamux 0.26.0-beta.265 → 0.26.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/CHANGELOG.json +393 -0
- package/CHANGELOG.md +71 -1
- package/README.md +47 -34
- package/dist/admin/client.js +18 -7
- package/dist/admin/client.js.map +1 -1
- package/dist/admin/socket.js +15 -104
- package/dist/admin/socket.js.map +1 -1
- package/dist/agent-runtime/capabilities.js +4 -17
- package/dist/agent-runtime/capabilities.js.map +1 -1
- package/dist/agent-runtime/catalog.js.map +1 -1
- package/dist/agent-runtime/external-provider.js.map +1 -1
- package/dist/agent-runtime/host-context.js +1 -12
- package/dist/agent-runtime/host-context.js.map +1 -1
- package/dist/agent-runtime/host-paths.js +1 -1
- package/dist/agent-runtime/host-paths.js.map +1 -1
- package/dist/agent-runtime/index.js +7 -0
- package/dist/agent-runtime/index.js.map +1 -1
- package/dist/agent-runtime/skill-sources.js +23 -6
- package/dist/agent-runtime/skill-sources.js.map +1 -1
- package/dist/channel/catalog.js.map +1 -1
- package/dist/channel/external-channel-provider.js.map +1 -1
- package/dist/cli/commands/daemon.js +5 -8
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/dispatcher.js +11 -15
- package/dist/cli/commands/dispatcher.js.map +1 -1
- package/dist/cli/commands/index.js +4 -4
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/mcp.js +2 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/onboard.js +0 -4
- package/dist/cli/commands/onboard.js.map +1 -1
- package/dist/cli/commands/parse.js +1 -1
- package/dist/cli/commands/parse.js.map +1 -1
- package/dist/cli/commands/serve.js +3 -2
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/status.js +3 -3
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/types.js +25 -3
- package/dist/cli/commands/types.js.map +1 -1
- package/dist/cli/commands/uninstall.js +2 -8
- package/dist/cli/commands/uninstall.js.map +1 -1
- package/dist/cli/doctor-plugins.js +44 -0
- package/dist/cli/doctor-plugins.js.map +1 -0
- package/dist/cli/doctor-types.js +2 -0
- package/dist/cli/doctor-types.js.map +1 -0
- package/dist/cli/doctor.js +48 -125
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/dreamux.js +2 -30
- package/dist/cli/dreamux.js.map +1 -1
- package/dist/cli/server.js +55 -70
- package/dist/cli/server.js.map +1 -1
- package/dist/command/errors.js +43 -2
- package/dist/command/errors.js.map +1 -1
- package/dist/command/host.js +10 -17
- package/dist/command/host.js.map +1 -1
- package/dist/command/payload.js +0 -9
- package/dist/command/payload.js.map +1 -1
- package/dist/command/port.js +0 -4
- package/dist/command/port.js.map +1 -1
- package/dist/command/registry.js +0 -4
- package/dist/command/registry.js.map +1 -1
- package/dist/command/schema.js.map +1 -1
- package/dist/command/types.js.map +1 -0
- package/dist/command/validate.js +22 -41
- package/dist/command/validate.js.map +1 -1
- package/dist/config/commands.js +46 -0
- package/dist/config/commands.js.map +1 -0
- package/dist/config/config.js +155 -169
- package/dist/config/config.js.map +1 -1
- package/dist/config/load.js +138 -0
- package/dist/config/load.js.map +1 -0
- package/dist/config/service.js +196 -0
- package/dist/config/service.js.map +1 -0
- package/dist/daemon/{service-control.js → control.js} +15 -16
- package/dist/daemon/control.js.map +1 -0
- package/dist/daemon/environment.js +353 -0
- package/dist/daemon/environment.js.map +1 -0
- package/dist/daemon/host.js +16 -0
- package/dist/daemon/host.js.map +1 -0
- package/dist/daemon/install.js +167 -69
- package/dist/daemon/install.js.map +1 -1
- package/dist/daemon/status.js +87 -0
- package/dist/daemon/status.js.map +1 -0
- package/dist/{cli/service-status-parse.js → daemon/unit.js} +90 -12
- package/dist/daemon/unit.js.map +1 -0
- package/dist/{service/mcp/descriptor.js → mcp/launch.js} +3 -7
- package/dist/mcp/launch.js.map +1 -0
- package/dist/mcp/server.js +9 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/shim.js +18 -16
- package/dist/mcp/shim.js.map +1 -1
- package/dist/onboard/config-files.js +12 -26
- package/dist/onboard/config-files.js.map +1 -1
- package/dist/onboard/run.js +47 -66
- package/dist/onboard/run.js.map +1 -1
- package/dist/onboard/uninstall.js +59 -42
- package/dist/onboard/uninstall.js.map +1 -1
- package/dist/onboard/wizard.js +33 -18
- package/dist/onboard/wizard.js.map +1 -1
- package/dist/{onboard/commands.js → platform/command-runner.js} +7 -3
- package/dist/platform/command-runner.js.map +1 -0
- package/dist/platform/deduplicate.js +32 -0
- package/dist/platform/deduplicate.js.map +1 -0
- package/dist/{state → platform}/dispatcher-id.js +1 -1
- package/dist/platform/dispatcher-id.js.map +1 -0
- package/dist/platform/errors.js +23 -23
- package/dist/platform/errors.js.map +1 -1
- package/dist/{onboard/ledger.js → platform/file-ledger.js} +13 -38
- package/dist/platform/file-ledger.js.map +1 -0
- package/dist/platform/history-page.js +62 -0
- package/dist/platform/history-page.js.map +1 -0
- package/dist/platform/in-flight-work.js.map +1 -0
- package/dist/platform/instance-lock.js +95 -0
- package/dist/platform/instance-lock.js.map +1 -0
- package/dist/platform/json-value.js +26 -15
- package/dist/platform/json-value.js.map +1 -1
- package/dist/platform/jsonl.js.map +1 -1
- package/dist/platform/logger.js +5 -5
- package/dist/platform/logger.js.map +1 -1
- package/dist/platform/package-bin.js +3 -1
- package/dist/platform/package-bin.js.map +1 -1
- package/dist/platform/paths.js +42 -69
- package/dist/platform/paths.js.map +1 -1
- package/dist/platform/runtime-sockets.js +7 -2
- package/dist/platform/runtime-sockets.js.map +1 -1
- package/dist/platform/serial-queue.js +22 -0
- package/dist/platform/serial-queue.js.map +1 -0
- package/dist/platform/shutdown-errors.js.map +1 -0
- package/dist/platform/work-fence.js +30 -0
- package/dist/platform/work-fence.js.map +1 -0
- package/dist/plugin/hooks.js +407 -0
- package/dist/plugin/hooks.js.map +1 -0
- package/dist/plugin/host.js +97 -0
- package/dist/plugin/host.js.map +1 -0
- package/dist/plugin/loader.js +250 -0
- package/dist/plugin/loader.js.map +1 -0
- package/dist/provider-diagnostics.js +12 -8
- package/dist/provider-diagnostics.js.map +1 -1
- package/dist/registry/builtins.js +49 -45
- package/dist/registry/builtins.js.map +1 -1
- package/dist/registry/index.js +10 -2
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/provider-loader.js +41 -61
- package/dist/registry/provider-loader.js.map +1 -1
- package/dist/registry/provider-ref.js.map +1 -1
- package/dist/registry/registry.js +14 -22
- package/dist/registry/registry.js.map +1 -1
- package/dist/{command/catalog.js → server/command-catalog.js} +14 -5
- package/dist/server/command-catalog.js.map +1 -0
- package/dist/server/command-host.js +2 -0
- package/dist/server/command-host.js.map +1 -0
- package/dist/server-commands.js +1 -1
- package/dist/server-commands.js.map +1 -1
- package/dist/server.js +70 -129
- package/dist/server.js.map +1 -1
- package/dist/service/{agent-entity/activity-reader.js → agent/activity.js} +86 -34
- package/dist/service/agent/activity.js.map +1 -0
- package/dist/service/{teammate-service/admission-ledger.js → agent/admission.js} +66 -1
- package/dist/service/agent/admission.js.map +1 -0
- package/dist/service/{channel-submission.js → agent/channel-submission.js} +5 -5
- package/dist/service/agent/channel-submission.js.map +1 -0
- package/dist/service/{teammate-collection → agent}/commands.js +38 -50
- package/dist/service/agent/commands.js.map +1 -0
- package/dist/service/{teammate-service → agent}/completion-renderer.js +30 -5
- package/dist/service/agent/completion-renderer.js.map +1 -0
- package/dist/service/agent/errors.js.map +1 -0
- package/dist/service/agent/factory.js +78 -0
- package/dist/service/agent/factory.js.map +1 -0
- package/dist/service/{agent-entity/types.js → agent/identity.js} +28 -34
- package/dist/service/agent/identity.js.map +1 -0
- package/dist/service/agent/index.js +769 -0
- package/dist/service/agent/index.js.map +1 -0
- package/dist/service/agent/mcp.js +420 -0
- package/dist/service/agent/mcp.js.map +1 -0
- package/dist/service/agent/records.js +74 -0
- package/dist/service/agent/records.js.map +1 -0
- package/dist/service/agent/requests.js +172 -0
- package/dist/service/agent/requests.js.map +1 -0
- package/dist/service/{teammate-service/runtime-owner.js → agent/runtime-generation.js} +81 -79
- package/dist/service/agent/runtime-generation.js.map +1 -0
- package/dist/service/agent/runtime-id.js +22 -0
- package/dist/service/agent/runtime-id.js.map +1 -0
- package/dist/service/{agent-entity → agent}/runtime-state.js +33 -40
- package/dist/service/agent/runtime-state.js.map +1 -0
- package/dist/service/agent/service-types.js +28 -0
- package/dist/service/agent/service-types.js.map +1 -0
- package/dist/service/{teammate-service/index.js → agent/service.js} +236 -102
- package/dist/service/agent/service.js.map +1 -0
- package/dist/service/{agent-entity/identity-store.js → agent/store.js} +175 -96
- package/dist/service/agent/store.js.map +1 -0
- package/dist/service/agent/submission.js.map +1 -0
- package/dist/service/{teammate-collection → agent}/system-prompt.js +7 -3
- package/dist/service/agent/system-prompt.js.map +1 -0
- package/dist/service/agent/turn.js +89 -0
- package/dist/service/agent/turn.js.map +1 -0
- package/dist/service/agent/types.js.map +1 -0
- package/dist/service/channel-service/commands.js +7 -3
- package/dist/service/channel-service/commands.js.map +1 -1
- package/dist/{channel → service/channel-service}/core-port.js +6 -5
- package/dist/service/channel-service/core-port.js.map +1 -0
- package/dist/service/channel-service/index.js +211 -93
- package/dist/service/channel-service/index.js.map +1 -1
- package/dist/service/channel-service/mcp-delegate.js +8 -9
- package/dist/service/channel-service/mcp-delegate.js.map +1 -1
- package/dist/service/completion-router/index.js +27 -27
- package/dist/service/completion-router/index.js.map +1 -1
- package/dist/{channel → service/dispatcher-core-events}/conversation-projection.js +9 -7
- package/dist/service/dispatcher-core-events/conversation-projection.js.map +1 -0
- package/dist/service/dispatcher-core-events/index.js +76 -68
- package/dist/service/dispatcher-core-events/index.js.map +1 -1
- package/dist/service/dispatcher-core-events/seal.js +1 -24
- package/dist/service/dispatcher-core-events/seal.js.map +1 -1
- package/dist/service/dispatcher-service/agent.js +267 -45
- package/dist/service/dispatcher-service/agent.js.map +1 -1
- package/dist/service/dispatcher-service/base-prompt.js +2 -2
- package/dist/service/dispatcher-service/base-prompt.js.map +1 -1
- package/dist/service/dispatcher-service/index.js +139 -378
- package/dist/service/dispatcher-service/index.js.map +1 -1
- package/dist/service/dispatcher-service/lifecycle.js +230 -0
- package/dist/service/dispatcher-service/lifecycle.js.map +1 -0
- package/dist/{daemon → service/dispatcher-service}/restart-intent.js +17 -38
- package/dist/service/dispatcher-service/restart-intent.js.map +1 -0
- package/dist/service/dispatcher-workspace.js +10 -23
- package/dist/service/dispatcher-workspace.js.map +1 -1
- package/dist/service/dispatchers/commands.js +30 -31
- package/dist/service/dispatchers/commands.js.map +1 -1
- package/dist/service/dispatchers/index.js +92 -64
- package/dist/service/dispatchers/index.js.map +1 -1
- package/dist/service/index.js +2 -2
- package/dist/service/index.js.map +1 -1
- package/dist/{mcp → service/mcp}/catalog.js +11 -48
- package/dist/service/mcp/catalog.js.map +1 -0
- package/dist/service/mcp/commands.js +3 -3
- package/dist/service/mcp/commands.js.map +1 -1
- package/dist/service/mcp/dispatch-reminders.js +1 -1
- package/dist/service/mcp/dispatch-reminders.js.map +1 -1
- package/dist/service/mcp/identity-version.js +14 -0
- package/dist/service/mcp/identity-version.js.map +1 -1
- package/dist/service/mcp/leases.js +12 -33
- package/dist/service/mcp/leases.js.map +1 -1
- package/dist/service/mcp/tool-metadata.js +15 -76
- package/dist/service/mcp/tool-metadata.js.map +1 -1
- package/dist/service/name-allocator.js +2 -3
- package/dist/service/name-allocator.js.map +1 -1
- package/dist/service/scheduler/commands.js +7 -19
- package/dist/service/scheduler/commands.js.map +1 -1
- package/dist/service/scheduler/errors.js +1 -1
- package/dist/service/scheduler/errors.js.map +1 -1
- package/dist/service/scheduler/{service.js → index.js} +175 -142
- package/dist/service/scheduler/index.js.map +1 -0
- package/dist/service/scheduler/{mcp-delegate.js → mcp.js} +61 -58
- package/dist/service/scheduler/mcp.js.map +1 -0
- package/dist/service/scheduler/requests.js +60 -0
- package/dist/service/scheduler/requests.js.map +1 -0
- package/dist/service/scheduler/store.js +183 -151
- package/dist/service/scheduler/store.js.map +1 -1
- package/dist/service/scheduler/types.js +1 -33
- package/dist/service/scheduler/types.js.map +1 -1
- package/dist/service/{team-collection → team}/commands.js +45 -59
- package/dist/service/team/commands.js.map +1 -0
- package/dist/service/{team-collection → team}/create-request.js +8 -20
- package/dist/service/team/create-request.js.map +1 -0
- package/dist/service/{team-collection → team}/errors.js +7 -10
- package/dist/service/team/errors.js.map +1 -0
- package/dist/service/team/index.js +817 -0
- package/dist/service/team/index.js.map +1 -0
- package/dist/service/team/leader-mcp.js +42 -0
- package/dist/service/team/leader-mcp.js.map +1 -0
- package/dist/service/team/leader.js +157 -0
- package/dist/service/team/leader.js.map +1 -0
- package/dist/service/team/mcp.js +328 -0
- package/dist/service/team/mcp.js.map +1 -0
- package/dist/service/{team-collection/types.js → team/requests.js} +64 -15
- package/dist/service/team/requests.js.map +1 -0
- package/dist/service/team/service.js +903 -0
- package/dist/service/team/service.js.map +1 -0
- package/dist/service/team/store.js +373 -0
- package/dist/service/team/store.js.map +1 -0
- package/dist/service/team/team-summary.js.map +1 -0
- package/dist/service/team/teams-port.js +2 -0
- package/dist/service/team/teams-port.js.map +1 -0
- package/dist/service/team/types.js +22 -0
- package/dist/service/team/types.js.map +1 -0
- package/dist/service/workflow-service/commands.js +5 -6
- package/dist/service/workflow-service/commands.js.map +1 -1
- package/dist/service/workflow-service/errors.js +2 -0
- package/dist/service/workflow-service/errors.js.map +1 -1
- package/dist/service/workflow-service/index.js +80 -112
- package/dist/service/workflow-service/index.js.map +1 -1
- package/dist/service/workflow-service/journal.js +90 -6
- package/dist/service/workflow-service/journal.js.map +1 -1
- package/dist/service/workflow-service/limits.js +20 -9
- package/dist/service/workflow-service/limits.js.map +1 -1
- package/dist/service/workflow-service/mcp.js +171 -0
- package/dist/service/workflow-service/mcp.js.map +1 -0
- package/dist/service/workflow-service/protocol.js +72 -1
- package/dist/service/workflow-service/protocol.js.map +1 -1
- package/dist/service/workflow-service/requests.js +70 -0
- package/dist/service/workflow-service/requests.js.map +1 -0
- package/dist/service/workflow-service/run.js +258 -145
- package/dist/service/workflow-service/run.js.map +1 -1
- package/dist/service/workflow-service/runner-process.js +0 -19
- package/dist/service/workflow-service/runner-process.js.map +1 -1
- package/dist/service/workflow-service/runner.js +6 -30
- package/dist/service/workflow-service/runner.js.map +1 -1
- package/dist/service/workflow-service/script-compiler.js +7 -9
- package/dist/service/workflow-service/script-compiler.js.map +1 -1
- package/dist/service/workflow-service/{run-support.js → semaphore.js} +1 -30
- package/dist/service/workflow-service/semaphore.js.map +1 -0
- package/dist/service/workflow-service/store.js +105 -25
- package/dist/service/workflow-service/store.js.map +1 -1
- package/dist/service/workflow-service/types.js +1 -77
- package/dist/service/workflow-service/types.js.map +1 -1
- package/dist/service/worktree/manager.js +29 -62
- package/dist/service/worktree/manager.js.map +1 -1
- package/dist/service/worktree/paths.js +4 -1
- package/dist/service/worktree/paths.js.map +1 -1
- package/dist/service/worktree/repo-request.js +38 -14
- package/dist/service/worktree/repo-request.js.map +1 -1
- package/dist/service/worktree/types.js +2 -0
- package/dist/service/worktree/types.js.map +1 -0
- package/dist/service/worktree/workspaces.js +27 -34
- package/dist/service/worktree/workspaces.js.map +1 -1
- package/package.json +13 -8
- package/skills/dispatcher/dreamux-maintenance/SKILL.md +5 -4
- package/skills/dispatcher/dreamux-maintenance/references/builtin-bootstrap.md +50 -0
- package/skills/dispatcher/dreamux-maintenance/references/builtin-codex.md +4 -5
- package/skills/dispatcher/dreamux-maintenance/references/builtin-feishu.md +69 -11
- package/skills/dispatcher/dreamux-maintenance/references/config-envelope.md +77 -12
- package/skills/dispatcher/dreamux-maintenance/references/feishu-access-v3.md +39 -24
- package/skills/dispatcher/dreamux-maintenance/references/service-lifecycle.md +105 -37
- package/dist/channel/conversation-projection.js.map +0 -1
- package/dist/channel/core-port.js.map +0 -1
- package/dist/cli/server-ctl.js +0 -163
- package/dist/cli/server-ctl.js.map +0 -1
- package/dist/cli/service-status-parse.js.map +0 -1
- package/dist/command/catalog.js.map +0 -1
- package/dist/config/config-helpers.js +0 -100
- package/dist/config/config-helpers.js.map +0 -1
- package/dist/daemon/restart-intent.js.map +0 -1
- package/dist/daemon/service-control.js.map +0 -1
- package/dist/mcp/catalog.js.map +0 -1
- package/dist/mcp/failure-text.js +0 -46
- package/dist/mcp/failure-text.js.map +0 -1
- package/dist/onboard/commands.js.map +0 -1
- package/dist/onboard/ledger.js.map +0 -1
- package/dist/onboard/service-node.js +0 -183
- package/dist/onboard/service-node.js.map +0 -1
- package/dist/onboard/service.js +0 -310
- package/dist/onboard/service.js.map +0 -1
- package/dist/platform/atomic-write.js +0 -63
- package/dist/platform/atomic-write.js.map +0 -1
- package/dist/platform/error-info.js +0 -11
- package/dist/platform/error-info.js.map +0 -1
- package/dist/platform/json-document-store.js +0 -54
- package/dist/platform/json-document-store.js.map +0 -1
- package/dist/service/agent-entity/activity-errors.js +0 -71
- package/dist/service/agent-entity/activity-errors.js.map +0 -1
- package/dist/service/agent-entity/activity-reader.js.map +0 -1
- package/dist/service/agent-entity/agent-config.js +0 -48
- package/dist/service/agent-entity/agent-config.js.map +0 -1
- package/dist/service/agent-entity/history-query.js +0 -60
- package/dist/service/agent-entity/history-query.js.map +0 -1
- package/dist/service/agent-entity/identity-store.js.map +0 -1
- package/dist/service/agent-entity/read-helpers.js +0 -172
- package/dist/service/agent-entity/read-helpers.js.map +0 -1
- package/dist/service/agent-entity/runtime-profile.js +0 -53
- package/dist/service/agent-entity/runtime-profile.js.map +0 -1
- package/dist/service/agent-entity/runtime-state.js.map +0 -1
- package/dist/service/agent-entity/types.js.map +0 -1
- package/dist/service/channel-service/mcp-delegates.js +0 -21
- package/dist/service/channel-service/mcp-delegates.js.map +0 -1
- package/dist/service/channel-service/types.js.map +0 -1
- package/dist/service/channel-submission.js.map +0 -1
- package/dist/service/closed-fact.js +0 -49
- package/dist/service/closed-fact.js.map +0 -1
- package/dist/service/deduplicate.js +0 -42
- package/dist/service/deduplicate.js.map +0 -1
- package/dist/service/dispatcher-core-events/scoped-source.js +0 -59
- package/dist/service/dispatcher-core-events/scoped-source.js.map +0 -1
- package/dist/service/dispatcher-service/dispatcher-workflows.js +0 -50
- package/dist/service/dispatcher-service/dispatcher-workflows.js.map +0 -1
- package/dist/service/dispatcher-service/identity.js +0 -97
- package/dist/service/dispatcher-service/identity.js.map +0 -1
- package/dist/service/dispatcher-service/inbound-task-drain.js +0 -37
- package/dist/service/dispatcher-service/inbound-task-drain.js.map +0 -1
- package/dist/service/dispatcher-service/input-source-lifecycle.js +0 -312
- package/dist/service/dispatcher-service/input-source-lifecycle.js.map +0 -1
- package/dist/service/dispatcher-service/input-source-start-rollback.js +0 -53
- package/dist/service/dispatcher-service/input-source-start-rollback.js.map +0 -1
- package/dist/service/dispatcher-service/mcp-delegates.js +0 -67
- package/dist/service/dispatcher-service/mcp-delegates.js.map +0 -1
- package/dist/service/dispatcher-service/restart-notice.js +0 -27
- package/dist/service/dispatcher-service/restart-notice.js.map +0 -1
- package/dist/service/dispatcher-service/runnable-channel.js +0 -13
- package/dist/service/dispatcher-service/runnable-channel.js.map +0 -1
- package/dist/service/dispatcher-service/runtime-helpers.js +0 -11
- package/dist/service/dispatcher-service/runtime-helpers.js.map +0 -1
- package/dist/service/dispatcher-service/runtime-status.js +0 -35
- package/dist/service/dispatcher-service/runtime-status.js.map +0 -1
- package/dist/service/dispatcher-service/team-leader-handle.js +0 -29
- package/dist/service/dispatcher-service/team-leader-handle.js.map +0 -1
- package/dist/service/dispatcher-service/team-runtime-stop.js +0 -13
- package/dist/service/dispatcher-service/team-runtime-stop.js.map +0 -1
- package/dist/service/dispatcher-service/teammate-ops.js +0 -14
- package/dist/service/dispatcher-service/teammate-ops.js.map +0 -1
- package/dist/service/frozen-snapshot.js +0 -16
- package/dist/service/frozen-snapshot.js.map +0 -1
- package/dist/service/in-flight-work.js.map +0 -1
- package/dist/service/legacy-state.js +0 -119
- package/dist/service/legacy-state.js.map +0 -1
- package/dist/service/mcp/descriptor.js.map +0 -1
- package/dist/service/scheduler/mcp-delegate.js.map +0 -1
- package/dist/service/scheduler/service.js.map +0 -1
- package/dist/service/serial-queue.js +0 -64
- package/dist/service/serial-queue.js.map +0 -1
- package/dist/service/shutdown-errors.js.map +0 -1
- package/dist/service/team-collection/commands.js.map +0 -1
- package/dist/service/team-collection/create-request.js.map +0 -1
- package/dist/service/team-collection/errors.js.map +0 -1
- package/dist/service/team-collection/index.js +0 -304
- package/dist/service/team-collection/index.js.map +0 -1
- package/dist/service/team-collection/mcp-delegate.js +0 -389
- package/dist/service/team-collection/mcp-delegate.js.map +0 -1
- package/dist/service/team-collection/read-helpers.js +0 -66
- package/dist/service/team-collection/read-helpers.js.map +0 -1
- package/dist/service/team-collection/read-model.js +0 -120
- package/dist/service/team-collection/read-model.js.map +0 -1
- package/dist/service/team-collection/roster-reader.js +0 -52
- package/dist/service/team-collection/roster-reader.js.map +0 -1
- package/dist/service/team-collection/runtime-registry.js +0 -369
- package/dist/service/team-collection/runtime-registry.js.map +0 -1
- package/dist/service/team-collection/store.js +0 -320
- package/dist/service/team-collection/store.js.map +0 -1
- package/dist/service/team-collection/types.js.map +0 -1
- package/dist/service/team-collection/worktree-cleanup.js +0 -45
- package/dist/service/team-collection/worktree-cleanup.js.map +0 -1
- package/dist/service/team-service/closing.js +0 -279
- package/dist/service/team-service/closing.js.map +0 -1
- package/dist/service/team-service/collaborators.js +0 -82
- package/dist/service/team-service/collaborators.js.map +0 -1
- package/dist/service/team-service/completion-targets.js +0 -72
- package/dist/service/team-service/completion-targets.js.map +0 -1
- package/dist/service/team-service/index.js +0 -559
- package/dist/service/team-service/index.js.map +0 -1
- package/dist/service/team-service/leader-agent.js +0 -170
- package/dist/service/team-service/leader-agent.js.map +0 -1
- package/dist/service/team-service/roster-projection.js +0 -69
- package/dist/service/team-service/roster-projection.js.map +0 -1
- package/dist/service/team-service/team-summary.js.map +0 -1
- package/dist/service/team-service/types.js +0 -61
- package/dist/service/team-service/types.js.map +0 -1
- package/dist/service/teammate-collection/commands.js.map +0 -1
- package/dist/service/teammate-collection/dissolve-members.js +0 -44
- package/dist/service/teammate-collection/dissolve-members.js.map +0 -1
- package/dist/service/teammate-collection/errors.js.map +0 -1
- package/dist/service/teammate-collection/index.js +0 -497
- package/dist/service/teammate-collection/index.js.map +0 -1
- package/dist/service/teammate-collection/mcp-delegate.js +0 -210
- package/dist/service/teammate-collection/mcp-delegate.js.map +0 -1
- package/dist/service/teammate-collection/mcp-tool-descriptors.js +0 -421
- package/dist/service/teammate-collection/mcp-tool-descriptors.js.map +0 -1
- package/dist/service/teammate-collection/system-prompt.js.map +0 -1
- package/dist/service/teammate-collection/types.js.map +0 -1
- package/dist/service/teammate-service/admission-ledger.js.map +0 -1
- package/dist/service/teammate-service/completion-renderer.js.map +0 -1
- package/dist/service/teammate-service/factory.js +0 -5
- package/dist/service/teammate-service/factory.js.map +0 -1
- package/dist/service/teammate-service/index.js.map +0 -1
- package/dist/service/teammate-service/runtime-owner.js.map +0 -1
- package/dist/service/teammate-service/submission.js.map +0 -1
- package/dist/service/teammate-service/turn-coordinator.js +0 -93
- package/dist/service/teammate-service/turn-coordinator.js.map +0 -1
- package/dist/service/teammate-service/turn-recording.js +0 -178
- package/dist/service/teammate-service/turn-recording.js.map +0 -1
- package/dist/service/teammate-service/types.js +0 -12
- package/dist/service/teammate-service/types.js.map +0 -1
- package/dist/service/workflow-service/agent-policy.js +0 -6
- package/dist/service/workflow-service/agent-policy.js.map +0 -1
- package/dist/service/workflow-service/json-args.js +0 -72
- package/dist/service/workflow-service/json-args.js.map +0 -1
- package/dist/service/workflow-service/run-support.js.map +0 -1
- package/dist/service/workflow-service/run-terminal.js +0 -111
- package/dist/service/workflow-service/run-terminal.js.map +0 -1
- package/dist/state/dispatcher-id.js.map +0 -1
- package/dist/state/dispatcher-store.js +0 -73
- package/dist/state/dispatcher-store.js.map +0 -1
- /package/dist/{service/channel-service → command}/types.js +0 -0
- /package/dist/{service → platform}/in-flight-work.js +0 -0
- /package/dist/{service → platform}/shutdown-errors.js +0 -0
- /package/dist/service/{teammate-collection → agent}/errors.js +0 -0
- /package/dist/service/{teammate-service → agent}/submission.js +0 -0
- /package/dist/service/{teammate-collection → agent}/types.js +0 -0
- /package/dist/service/{team-service → team}/team-summary.js +0 -0
package/dist/cli/doctor.js
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { userInfo } from 'node:os';
|
|
2
|
+
import { BUILT_IN_DEFAULTS, globalConfigFile, } from '../config/config.js';
|
|
3
|
+
import { loadConfig } from '../config/load.js';
|
|
4
4
|
import { AgentRuntimeProviderCatalog } from '../agent-runtime/catalog.js';
|
|
5
5
|
import { ChannelProviderCatalog } from '../channel/catalog.js';
|
|
6
|
-
import {
|
|
6
|
+
import { ProviderRegistry } from '../registry/index.js';
|
|
7
|
+
import { createLogger } from '../platform/logger.js';
|
|
8
|
+
import { PluginLoadError } from '../plugin/loader.js';
|
|
9
|
+
import { pluginDoctorChecks, pluginLoadFailureCheck, } from './doctor-plugins.js';
|
|
7
10
|
import { providerBinChecksForConfig, runDispatcherProviderDiagnostics, } from '../provider-diagnostics.js';
|
|
8
11
|
import { pathExists } from '../platform/fs-errors.js';
|
|
9
|
-
import { dispatcherCronJobsPath, dispatcherTeamCronJobsPath, dispatcherTeamDir,
|
|
12
|
+
import { dispatcherCronJobsPath, dispatcherTeamCronJobsPath, dispatcherTeamDir, stateRoot, } from '../platform/paths.js';
|
|
10
13
|
import { diagnoseDispatcherWorkspace } from '../service/dispatcher-workspace.js';
|
|
11
|
-
import { detectLegacyDispatcherState, legacyDispatcherStateMessage, } from '../service/legacy-state.js';
|
|
12
14
|
import { detectLegacyCronJobStore } from '../service/scheduler/store.js';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
15
|
+
import { readTeamRecords } from '../service/team/store.js';
|
|
16
|
+
import { defaultServiceNodeProbe, detectServiceNodeVersionManager, MIN_SERVICE_NODE_VERSION, nodeVersionSatisfies, } from '../daemon/environment.js';
|
|
17
|
+
import { createServiceHost } from '../daemon/host.js';
|
|
18
|
+
import { getServiceStatus } from '../daemon/status.js';
|
|
17
19
|
export async function runDreamuxDoctor(options = {}) {
|
|
18
|
-
const
|
|
20
|
+
const host = createServiceHost(options);
|
|
19
21
|
const checks = [];
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
const { config, configFile, catalogs, plugins } = await readConfigForDoctor(checks);
|
|
23
|
+
// Before the channel diagnostics below: api publication is where extensions
|
|
24
|
+
// register into their channel provider.
|
|
25
|
+
checks.push(...pluginDoctorChecks(plugins, createLogger({ name: 'doctor' })));
|
|
23
26
|
checks.push({
|
|
24
27
|
name: 'state directory',
|
|
25
28
|
ok: await pathExists(stateRoot()),
|
|
@@ -29,7 +32,7 @@ export async function runDreamuxDoctor(options = {}) {
|
|
|
29
32
|
for (const check of providerBinaryChecks(catalogs, config, doctorEnv, false)) {
|
|
30
33
|
checks.push({
|
|
31
34
|
name: check.name,
|
|
32
|
-
ok: await runner.check(check.bin, check.args, { env: doctorEnv }),
|
|
35
|
+
ok: await host.runner.check(check.bin, check.args, { env: doctorEnv }),
|
|
33
36
|
detail: check.bin,
|
|
34
37
|
});
|
|
35
38
|
}
|
|
@@ -49,28 +52,20 @@ export async function runDreamuxDoctor(options = {}) {
|
|
|
49
52
|
detail: diagnosis.detail,
|
|
50
53
|
});
|
|
51
54
|
}
|
|
52
|
-
const
|
|
53
|
-
checks.push({
|
|
54
|
-
name: `dispatcher ${dispatcher.id} legacy state`,
|
|
55
|
-
ok: legacy.length === 0,
|
|
56
|
-
detail: legacy.length === 0
|
|
57
|
-
? 'no removed state paths found'
|
|
58
|
-
: legacyDispatcherStateMessage(dispatcher.id, legacy),
|
|
59
|
-
});
|
|
60
|
-
const cronLegacy = await detectLegacyCronJobStore(dispatcherCronJobsPath(dispatcher.id), dispatcher.id);
|
|
55
|
+
const cronLegacy = await detectLegacyCronJobStore(dispatcherCronJobsPath(dispatcher.id));
|
|
61
56
|
checks.push({
|
|
62
57
|
name: `dispatcher ${dispatcher.id} cron jobs`,
|
|
63
58
|
ok: cronLegacy === null,
|
|
64
59
|
detail: cronLegacy ?? 'cron job store is current (v1) or absent',
|
|
65
60
|
});
|
|
66
|
-
const teams =
|
|
61
|
+
const teams = await readTeamRecords({
|
|
67
62
|
root: dispatcherTeamDir(dispatcher.id),
|
|
68
63
|
dispatcherId: dispatcher.id,
|
|
69
64
|
});
|
|
70
|
-
for (const team of
|
|
65
|
+
for (const team of teams) {
|
|
71
66
|
if (team.status === 'closed')
|
|
72
67
|
continue;
|
|
73
|
-
const teamCronLegacy = await detectLegacyCronJobStore(dispatcherTeamCronJobsPath(dispatcher.id, team.team_id)
|
|
68
|
+
const teamCronLegacy = await detectLegacyCronJobStore(dispatcherTeamCronJobsPath(dispatcher.id, team.team_id));
|
|
74
69
|
checks.push({
|
|
75
70
|
name: `dispatcher ${dispatcher.id} team ${team.team_id} cron jobs`,
|
|
76
71
|
ok: teamCronLegacy === null,
|
|
@@ -78,12 +73,7 @@ export async function runDreamuxDoctor(options = {}) {
|
|
|
78
73
|
});
|
|
79
74
|
}
|
|
80
75
|
}
|
|
81
|
-
const service = await getServiceStatus(
|
|
82
|
-
runner,
|
|
83
|
-
platform: options.platform,
|
|
84
|
-
homeDir: options.homeDir,
|
|
85
|
-
uid: options.uid,
|
|
86
|
-
});
|
|
76
|
+
const service = await getServiceStatus(host);
|
|
87
77
|
checks.push({
|
|
88
78
|
name: 'user service',
|
|
89
79
|
ok: true,
|
|
@@ -92,10 +82,10 @@ export async function runDreamuxDoctor(options = {}) {
|
|
|
92
82
|
: `not installed at ${service.unitPath}`,
|
|
93
83
|
});
|
|
94
84
|
if (service.platform === 'systemd' && service.installed) {
|
|
95
|
-
checks.push(await systemdLingerCheck(runner, options.userName ?? userInfo().username));
|
|
85
|
+
checks.push(await systemdLingerCheck(host.runner, options.userName ?? userInfo().username));
|
|
96
86
|
}
|
|
97
|
-
await addManagedServiceLaunchChecks(checks, service, runner, options.nodeProbe ?? defaultServiceNodeProbe, catalogs, config);
|
|
98
|
-
const dispatchers = await readDispatchers(catalogs, config, runner, options.env ?? process.env, service);
|
|
87
|
+
await addManagedServiceLaunchChecks(checks, service, host.runner, options.nodeProbe ?? defaultServiceNodeProbe, catalogs, config);
|
|
88
|
+
const dispatchers = await readDispatchers(catalogs, config, host.runner, options.env ?? process.env, service);
|
|
99
89
|
if (dispatchers.length === 0) {
|
|
100
90
|
checks.push({
|
|
101
91
|
name: 'dispatchers',
|
|
@@ -130,9 +120,9 @@ export function printDoctorResult(result) {
|
|
|
130
120
|
printDispatcherDoctor(dispatcher);
|
|
131
121
|
}
|
|
132
122
|
}
|
|
133
|
-
async function readConfigForDoctor(
|
|
123
|
+
async function readConfigForDoctor(checks) {
|
|
134
124
|
try {
|
|
135
|
-
const loaded = await loadConfig(
|
|
125
|
+
const loaded = await loadConfig();
|
|
136
126
|
checks.push({
|
|
137
127
|
name: 'config',
|
|
138
128
|
ok: true,
|
|
@@ -142,19 +132,26 @@ async function readConfigForDoctor(configDir, checks) {
|
|
|
142
132
|
config: loaded.config,
|
|
143
133
|
configFile: loaded.configFile,
|
|
144
134
|
catalogs: catalogsFromRegistry(loaded.providerRegistry),
|
|
135
|
+
plugins: loaded.plugins,
|
|
145
136
|
};
|
|
146
137
|
}
|
|
147
138
|
catch (err) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
139
|
+
if (err instanceof PluginLoadError) {
|
|
140
|
+
checks.push({
|
|
141
|
+
name: 'config',
|
|
142
|
+
ok: false,
|
|
143
|
+
detail: `not loaded: plugin "${err.plugin}" failed`,
|
|
144
|
+
}, pluginLoadFailureCheck(err));
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
148
|
+
checks.push({ name: 'config', ok: false, detail });
|
|
149
|
+
}
|
|
154
150
|
return {
|
|
155
151
|
config: BUILT_IN_DEFAULTS,
|
|
156
|
-
configFile: globalConfigFile(
|
|
157
|
-
catalogs: catalogsFromRegistry(
|
|
152
|
+
configFile: globalConfigFile(),
|
|
153
|
+
catalogs: catalogsFromRegistry(new ProviderRegistry()),
|
|
154
|
+
plugins: [],
|
|
158
155
|
};
|
|
159
156
|
}
|
|
160
157
|
}
|
|
@@ -167,6 +164,7 @@ function catalogsFromRegistry(registry) {
|
|
|
167
164
|
async function readDispatchers(catalogs, config, runner, env, service) {
|
|
168
165
|
return Promise.all(config.dispatchers.map(async (dispatcher) => {
|
|
169
166
|
const foreground = await runDispatcherProviderDiagnostics({
|
|
167
|
+
config,
|
|
170
168
|
dispatcher,
|
|
171
169
|
catalogs,
|
|
172
170
|
runner,
|
|
@@ -175,6 +173,7 @@ async function readDispatchers(catalogs, config, runner, env, service) {
|
|
|
175
173
|
});
|
|
176
174
|
const managedService = service.installed
|
|
177
175
|
? await runDispatcherProviderDiagnostics({
|
|
176
|
+
config,
|
|
178
177
|
dispatcher,
|
|
179
178
|
catalogs,
|
|
180
179
|
runner,
|
|
@@ -188,84 +187,6 @@ async function readDispatchers(catalogs, config, runner, env, service) {
|
|
|
188
187
|
};
|
|
189
188
|
}));
|
|
190
189
|
}
|
|
191
|
-
async function getServiceStatus(options) {
|
|
192
|
-
const runner = options.runner ?? new ExecaCommandRunner();
|
|
193
|
-
const unit = serviceUnitPath(options.platform, options.homeDir ?? homedir());
|
|
194
|
-
if (unit.platform === 'launchd') {
|
|
195
|
-
return launchdStatus(unit.path, runner, options.uid);
|
|
196
|
-
}
|
|
197
|
-
return systemdStatus(unit.path, runner);
|
|
198
|
-
}
|
|
199
|
-
async function launchdStatus(unitPath, runner, uid) {
|
|
200
|
-
const installed = await pathExists(unitPath);
|
|
201
|
-
const target = launchdTarget(uid);
|
|
202
|
-
let raw = '';
|
|
203
|
-
let loaded = false;
|
|
204
|
-
try {
|
|
205
|
-
raw = await runner.capture('launchctl', ['print', target]);
|
|
206
|
-
loaded = true;
|
|
207
|
-
}
|
|
208
|
-
catch {
|
|
209
|
-
loaded = false;
|
|
210
|
-
}
|
|
211
|
-
const pid = parseLaunchdPid(raw);
|
|
212
|
-
const unitFile = installed
|
|
213
|
-
? parseLaunchdPlist(await readFile(unitPath, 'utf8'))
|
|
214
|
-
: { environment: null, execStart: null };
|
|
215
|
-
return {
|
|
216
|
-
platform: 'launchd',
|
|
217
|
-
unitPath,
|
|
218
|
-
installed,
|
|
219
|
-
enabled: installed,
|
|
220
|
-
loaded,
|
|
221
|
-
running: pid !== null || /\bstate = running\b/.test(raw),
|
|
222
|
-
pid,
|
|
223
|
-
detail: parseLaunchdDetail(raw),
|
|
224
|
-
environment: unitFile.environment,
|
|
225
|
-
execStart: unitFile.execStart,
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
async function systemdStatus(unitPath, runner) {
|
|
229
|
-
const enabled = await runner.check('systemctl', [
|
|
230
|
-
'--user',
|
|
231
|
-
'is-enabled',
|
|
232
|
-
SYSTEMD_UNIT,
|
|
233
|
-
]);
|
|
234
|
-
const active = await runner.check('systemctl', [
|
|
235
|
-
'--user',
|
|
236
|
-
'is-active',
|
|
237
|
-
SYSTEMD_UNIT,
|
|
238
|
-
]);
|
|
239
|
-
let raw = '';
|
|
240
|
-
try {
|
|
241
|
-
raw = await runner.capture('systemctl', [
|
|
242
|
-
'--user',
|
|
243
|
-
'show',
|
|
244
|
-
SYSTEMD_UNIT,
|
|
245
|
-
'--property=LoadState,ActiveState,SubState,MainPID,Result',
|
|
246
|
-
]);
|
|
247
|
-
}
|
|
248
|
-
catch {
|
|
249
|
-
raw = '';
|
|
250
|
-
}
|
|
251
|
-
const installed = await pathExists(unitPath);
|
|
252
|
-
const unitFile = installed
|
|
253
|
-
? parseSystemdUnit(await readFile(unitPath, 'utf8'))
|
|
254
|
-
: { environment: null, execStart: null };
|
|
255
|
-
const props = parseSystemdProperties(raw);
|
|
256
|
-
return {
|
|
257
|
-
platform: 'systemd',
|
|
258
|
-
unitPath,
|
|
259
|
-
installed,
|
|
260
|
-
enabled,
|
|
261
|
-
loaded: props['LoadState'] === 'loaded',
|
|
262
|
-
running: active || props['ActiveState'] === 'active',
|
|
263
|
-
pid: parsePositiveInt(props['MainPID']),
|
|
264
|
-
detail: systemdDetail(props),
|
|
265
|
-
environment: unitFile.environment,
|
|
266
|
-
execStart: unitFile.execStart,
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
190
|
async function systemdLingerCheck(runner, userName) {
|
|
270
191
|
const fix = 'enable it with `loginctl enable-linger` (or rerun `dreamux daemon install`)';
|
|
271
192
|
try {
|
|
@@ -367,7 +288,9 @@ async function checkHelpLaunch(name, command, args, env, runner, missingDetail)
|
|
|
367
288
|
return {
|
|
368
289
|
name,
|
|
369
290
|
ok,
|
|
370
|
-
detail: ok
|
|
291
|
+
detail: ok
|
|
292
|
+
? command
|
|
293
|
+
: `${command} failed under installed service environment; rerun dreamux onboard`,
|
|
371
294
|
};
|
|
372
295
|
}
|
|
373
296
|
function printDispatcherDoctor(dispatcher) {
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/dreamux.js
CHANGED
|
@@ -5,42 +5,14 @@
|
|
|
5
5
|
* owns only root parser setup. Every top-level command is registered through a
|
|
6
6
|
* yargs CommandModule from `commands/`.
|
|
7
7
|
*/
|
|
8
|
-
import { spawn } from 'node:child_process';
|
|
9
|
-
import { dirname, join } from 'node:path';
|
|
10
|
-
import { fileURLToPath } from 'node:url';
|
|
11
8
|
import yargs from 'yargs';
|
|
12
9
|
import { hideBin } from 'yargs/helpers';
|
|
13
|
-
import { createDreamuxCommands
|
|
14
|
-
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
15
|
-
const SERVER_ENTRY = join(HERE, 'server.js');
|
|
16
|
-
const SERVER_CTL_ENTRY = join(HERE, 'server-ctl.js');
|
|
17
|
-
const execEntry = async function execEntry(entry, argv, env = process.env) {
|
|
18
|
-
const child = spawn(process.execPath, [entry, ...argv], {
|
|
19
|
-
env,
|
|
20
|
-
stdio: 'inherit',
|
|
21
|
-
});
|
|
22
|
-
await new Promise((_resolve, reject) => {
|
|
23
|
-
child.once('error', reject);
|
|
24
|
-
child.once('exit', (code, signal) => {
|
|
25
|
-
if (signal !== null) {
|
|
26
|
-
process.kill(process.pid, signal);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
process.exit(code ?? 0);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
process.exit(0);
|
|
33
|
-
};
|
|
10
|
+
import { createDreamuxCommands } from './commands/index.js';
|
|
34
11
|
async function main() {
|
|
35
|
-
const deps = {
|
|
36
|
-
serverEntry: SERVER_ENTRY,
|
|
37
|
-
serverCtlEntry: SERVER_CTL_ENTRY,
|
|
38
|
-
execEntry,
|
|
39
|
-
};
|
|
40
12
|
await yargs(hideBin(process.argv))
|
|
41
13
|
.scriptName('dreamux')
|
|
42
14
|
.usage('$0 <command> [options]')
|
|
43
|
-
.command(createDreamuxCommands(
|
|
15
|
+
.command(createDreamuxCommands())
|
|
44
16
|
.demandCommand(1, 'Choose a command')
|
|
45
17
|
.strict()
|
|
46
18
|
.help()
|
package/dist/cli/dreamux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreamux.js","sourceRoot":"","sources":["../../src/cli/dreamux.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"dreamux.js","sourceRoot":"","sources":["../../src/cli/dreamux.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/B,UAAU,CAAC,SAAS,CAAC;SACrB,KAAK,CAAC,wBAAwB,CAAC;SAC/B,OAAO,CAAC,qBAAqB,EAAE,CAAC;SAChC,aAAa,CAAC,CAAC,EAAE,kBAAkB,CAAC;SACpC,MAAM,EAAE;SACR,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;SACD,UAAU,EAAE,CAAC;AAClB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/cli/server.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* dreamux serve # run in foreground; logs to stderr
|
|
6
|
-
* dreamux serve --help
|
|
2
|
+
* `dreamux serve`'s implementation: {@link runServe} runs in-process inside
|
|
3
|
+
* the `dreamux` CLI process — `cli/commands/serve.ts` calls it directly, no
|
|
4
|
+
* child process involved. It logs to stderr for a foreground run.
|
|
7
5
|
*
|
|
8
6
|
* Configuration sources:
|
|
9
7
|
* - ~/.dreamux/config.json — named agents[], dispatcher declarations, and
|
|
@@ -12,33 +10,46 @@
|
|
|
12
10
|
* referenced via dispatchers[].agentRuntime
|
|
13
11
|
* - built-in defaults compiled into the binary
|
|
14
12
|
*
|
|
13
|
+
* Plugins (the optional top-level plugins[] plus the always-loaded built-in
|
|
14
|
+
* plugins) load and contribute providers inside ConfigService.open; their
|
|
15
|
+
* `server` entries run once the file logger exists, before the Server is
|
|
16
|
+
* constructed, so every host hook is tapped before the first Dispatcher exists.
|
|
17
|
+
*
|
|
15
18
|
* Per-dispatcher channel secrets live in the dreamux JSON config.
|
|
16
19
|
*/
|
|
17
20
|
import { mkdir } from 'node:fs/promises';
|
|
18
21
|
import { Server } from '../server.js';
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
22
|
+
import { ConfigService } from '../config/service.js';
|
|
23
|
+
import { ProviderRegistry } from '../registry/index.js';
|
|
24
|
+
import { startPlugins } from '../plugin/host.js';
|
|
21
25
|
import { createLogger } from '../platform/logger.js';
|
|
22
|
-
import { errorInfo } from '
|
|
23
|
-
import { adminSocketPath, channelLogDir, channelLogPath, legacyAdminSocketPath, logsRoot, serverLogPath, stateRoot, workflowLogDir, workflowLogPath, } from '../platform/paths.js';
|
|
26
|
+
import { errorInfo } from '@excitedjs/dreamux-utils';
|
|
27
|
+
import { adminSocketLockPath, adminSocketPath, channelLogDir, channelLogPath, legacyAdminSocketPath, logsRoot, serverLogPath, stateRoot, workflowLogDir, workflowLogPath, } from '../platform/paths.js';
|
|
24
28
|
import { sweepRuntimeSocketDirs } from '../platform/runtime-sockets.js';
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
|
|
39
|
-
//
|
|
29
|
+
/**
|
|
30
|
+
* Upper bound on a signal-initiated shutdown. A healthy shutdown reaps each
|
|
31
|
+
* runtime child within a couple of seconds (SIGTERM, then SIGKILL, one second
|
|
32
|
+
* each), so this only fires for a shutdown that is stuck. It stays below both
|
|
33
|
+
* service managers' default stop timeouts (launchd's ExitTimeOut is 20s,
|
|
34
|
+
* systemd's TimeoutStopSec is 90s; the installed units set neither), so the
|
|
35
|
+
* daemon reports its own hang before the manager kills it.
|
|
36
|
+
*/
|
|
37
|
+
const SHUTDOWN_DEADLINE_MS = 15_000;
|
|
38
|
+
export async function runServe() {
|
|
39
|
+
// Hand an empty registry to ConfigService.open, which loads plugins first —
|
|
40
|
+
// contributing codex/claude-code/feishu, the always-loaded built-ins, each
|
|
41
|
+
// with its descriptor and implementation registered together — then loads
|
|
42
|
+
// any npm:-ref provider agents[]/channels[] name, before parsing them (each
|
|
43
|
+
// entry's config is parsed through its provider's readConfig, so the
|
|
44
|
+
// implementation must be present first). The populated registry then backs
|
|
45
|
+
// the Server's runtime + channel catalogs (Server builds them from it).
|
|
46
|
+
const providerRegistry = new ProviderRegistry();
|
|
47
|
+
// Open ~/.dreamux/config.json before anything else starts. Missing or invalid
|
|
40
48
|
// config is a setup error; `dreamux serve` must not silently create defaults.
|
|
41
|
-
|
|
49
|
+
// The ConfigService is this process's single authority over config.json for
|
|
50
|
+
// the rest of its life — every long-lived object that needs the current
|
|
51
|
+
// config holds it, rather than a DreamuxConfig value read once here.
|
|
52
|
+
const configService = await ConfigService.open({ providerRegistry });
|
|
42
53
|
await mkdir(stateRoot(), { recursive: true });
|
|
43
54
|
await mkdir(logsRoot(), { recursive: true });
|
|
44
55
|
await mkdir(channelLogDir(), { recursive: true });
|
|
@@ -47,64 +58,38 @@ async function main() {
|
|
|
47
58
|
// (tests) gets stderr-only defaults. Both stream to stderr too, so a
|
|
48
59
|
// foreground `serve` stays visible.
|
|
49
60
|
const logger = createLogger({ name: 'server', filePath: serverLogPath() });
|
|
50
|
-
logger.info({ config_file:
|
|
61
|
+
logger.info({ config_file: configService.file }, 'loaded global config');
|
|
62
|
+
const { hooks } = startPlugins(configService.plugins, logger);
|
|
51
63
|
const server = new Server({
|
|
52
|
-
config,
|
|
64
|
+
config: configService,
|
|
53
65
|
providerRegistry,
|
|
66
|
+
hooks,
|
|
54
67
|
logger,
|
|
55
68
|
channelLoggerFactory: (id) => createLogger({ name: `channel/${id}`, filePath: channelLogPath(id) }),
|
|
56
69
|
workflowLoggerFactory: (id) => createLogger({ name: `workflow/${id}`, filePath: workflowLogPath(id) }),
|
|
57
70
|
runtimeSocketSweep: () => sweepRuntimeSocketDirs(),
|
|
58
|
-
legacyAdminLockPath:
|
|
71
|
+
legacyAdminLockPath: adminSocketLockPath(legacyAdminSocketPath()),
|
|
59
72
|
});
|
|
60
73
|
await server.start();
|
|
61
74
|
logger.info({ admin_socket: adminSocketPath() }, 'server up');
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
75
|
+
// A termination signal always ends the process, whatever shutdown does: a
|
|
76
|
+
// rejected shutdown exits non-zero, and a shutdown that never settles (it
|
|
77
|
+
// drains admitted work, and a runtime start has no timeout of its own) is cut
|
|
78
|
+
// off by the deadline, which does not depend on the shutdown promise. A
|
|
79
|
+
// dispatcher's own close retry serves a daemon that keeps running after a
|
|
80
|
+
// failed start; it is not a reason for the process to outlive a signal.
|
|
67
81
|
const requestShutdown = (signal) => {
|
|
68
|
-
|
|
69
|
-
|
|
82
|
+
logger.info({ signal }, 'received signal');
|
|
83
|
+
setTimeout(() => {
|
|
84
|
+
logger.error({ signal, deadline_ms: SHUTDOWN_DEADLINE_MS }, 'server shutdown did not settle before its deadline; exiting');
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}, SHUTDOWN_DEADLINE_MS);
|
|
87
|
+
server.shutdown().then(() => process.exit(0), (error) => {
|
|
88
|
+
logger.error({ signal, err: errorInfo(error) }, 'server shutdown failed; exiting');
|
|
89
|
+
process.exit(1);
|
|
70
90
|
});
|
|
71
91
|
};
|
|
72
92
|
process.on('SIGTERM', () => requestShutdown('SIGTERM'));
|
|
73
93
|
process.on('SIGINT', () => requestShutdown('SIGINT'));
|
|
74
94
|
}
|
|
75
|
-
function printHelp() {
|
|
76
|
-
console.log(`dreamux serve — local dreamux server
|
|
77
|
-
|
|
78
|
-
Usage:
|
|
79
|
-
dreamux serve [--help]
|
|
80
|
-
|
|
81
|
-
Global config:
|
|
82
|
-
~/.dreamux/config.json Created by 'dreamux onboard'. Override with the
|
|
83
|
-
DREAMUX_CONFIG_DIR env var. Edit and restart to
|
|
84
|
-
apply. Holds named agents[], dispatcher
|
|
85
|
-
declarations (channels[] + agentRuntime), and
|
|
86
|
-
channel secrets.
|
|
87
|
-
|
|
88
|
-
Runtime data:
|
|
89
|
-
~/.dreamux/run/ volatile run files: admin socket + lock, one-shot
|
|
90
|
-
restart marker, and runtime rendezvous sockets.
|
|
91
|
-
Safe to clear while no server is running.
|
|
92
|
-
~/.dreamux/state/ durable server state: per-dispatcher status/access
|
|
93
|
-
files and TeamMate records.
|
|
94
|
-
~/.dreamux/logs/ server, channel, agent runtime, and MCP
|
|
95
|
-
shim logs.
|
|
96
|
-
|
|
97
|
-
Environment overrides:
|
|
98
|
-
DREAMUX_CONFIG_DIR Overrides ~/.dreamux (where config.json lives)
|
|
99
|
-
|
|
100
|
-
Dispatcher declarations:
|
|
101
|
-
Edit ~/.dreamux/config.json dispatchers[] and restart dreamux serve.
|
|
102
|
-
Provider refs load through the registry before config validation.
|
|
103
|
-
Built-in refs are resolved through the same provider loading path as npm:<package>[#export].
|
|
104
|
-
`);
|
|
105
|
-
}
|
|
106
|
-
main().catch((err) => {
|
|
107
|
-
console.error('[server] fatal:', err);
|
|
108
|
-
process.exit(1);
|
|
109
|
-
});
|
|
110
95
|
//# sourceMappingURL=server.js.map
|
package/dist/cli/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/cli/server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/cli/server.ts"],"names":[],"mappings":"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"}
|
package/dist/command/errors.js
CHANGED
|
@@ -11,8 +11,12 @@
|
|
|
11
11
|
* so a domain Command module has one import for the base, the generic failures,
|
|
12
12
|
* and the one failure the registry owns.
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
15
|
-
|
|
14
|
+
import { errorMessage, RuleViolation } from '@excitedjs/dreamux-utils';
|
|
15
|
+
import { DreamuxError, StatedFailure, ValidationError, } from '../platform/errors.js';
|
|
16
|
+
// eslint-disable-next-line no-restricted-syntax -- callers import the Command failure vocabulary from this module today (see file-level comment above), not from platform/errors.js or dreamux-utils directly
|
|
17
|
+
export { DreamuxError, InternalError, ServerShuttingDownError, StatedFailure, TransportError, ValidationError, } from '../platform/errors.js';
|
|
18
|
+
// eslint-disable-next-line no-restricted-syntax -- same one-import convenience re-export as above, for the canonical helper's new home and the one shared rule-violation class
|
|
19
|
+
export { errorMessage, RuleViolation } from '@excitedjs/dreamux-utils';
|
|
16
20
|
export function commandFailure(error) {
|
|
17
21
|
if (error instanceof StatedFailure) {
|
|
18
22
|
return { code: error.code, message: error.message, action: error.action };
|
|
@@ -22,6 +26,43 @@ export function commandFailure(error) {
|
|
|
22
26
|
}
|
|
23
27
|
return { code: 'INTERNAL', message: errorMessage(error) };
|
|
24
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* The sentence for one already-classified Command failure.
|
|
31
|
+
*
|
|
32
|
+
* `commandFailure` sets `action` for exactly the failures a domain stated for
|
|
33
|
+
* itself, so `action === undefined` here means exactly "not one of those" —
|
|
34
|
+
* the code and message travel as given, with no next step invented for a
|
|
35
|
+
* failure that never authored one. When it is set, the reason is turned into
|
|
36
|
+
* a full sentence and the action follows it, so a caller reads the same three
|
|
37
|
+
* parts a stated failure's own author wrote.
|
|
38
|
+
*
|
|
39
|
+
* Takes a {@link CommandFailure} directly rather than only `unknown`, because
|
|
40
|
+
* a value that already carries that exact shape — a Command failure that
|
|
41
|
+
* crossed a wire and was reconstructed on the other side, for instance —
|
|
42
|
+
* needs the same rendering without being re-classified as if it were a fresh
|
|
43
|
+
* thrown value.
|
|
44
|
+
*/
|
|
45
|
+
export function commandFailureText(failure) {
|
|
46
|
+
return failure.action === undefined
|
|
47
|
+
? `${failure.code}: ${failure.message}`
|
|
48
|
+
: `${failure.code}: ${sentence(failure.message)} ${failure.action}`;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The sentence for any thrown value, by the class it already is.
|
|
52
|
+
*
|
|
53
|
+
* Built on {@link commandFailure}'s own classification, so every caller gets
|
|
54
|
+
* the same answer `commandFailure(err)` would already commit to, in one call.
|
|
55
|
+
*/
|
|
56
|
+
export function failureText(error) {
|
|
57
|
+
return commandFailureText(commandFailure(error));
|
|
58
|
+
}
|
|
59
|
+
/** A reason always ends as a sentence, whether or not its author ended it. */
|
|
60
|
+
function sentence(reason) {
|
|
61
|
+
const stated = reason.trim();
|
|
62
|
+
if (stated === '')
|
|
63
|
+
return 'No further detail is available.';
|
|
64
|
+
return /[.!?]$/.test(stated) ? stated : `${stated}.`;
|
|
65
|
+
}
|
|
25
66
|
/**
|
|
26
67
|
* Re-type one broken domain rule as the caller's mistake.
|
|
27
68
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/command/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/command/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,8MAA8M;AAC9M,OAAO,EACL,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,+KAA+K;AAC/K,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAsBvE,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACxD,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS;QACjC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE;QACvC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,SAAS,QAAQ,CAAC,MAAc;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,iCAAiC,CAAC;IAC5D,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,KAAK,YAAY,aAAa;QAAE,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,KAAK,CAAC;AACd,CAAC;AAED,yDAAyD;AACzD,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD,YAAY,IAAY;QACtB,KAAK,CACH,gBAAgB,EAChB,mBAAmB,IAAI,GAAG,EAC1B,uEAAuE;YACrE,wBAAwB,CAC3B,CAAC;IACJ,CAAC;CACF"}
|