@canhta/dsh-autopilot 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +41 -0
- package/CONTEXT.md +39 -0
- package/LICENSE +21 -0
- package/README.md +95 -0
- package/cordis.patch.yml +13 -0
- package/deploy/dsh-autopilot.service +26 -0
- package/docs/CONTRIBUTING.md +60 -0
- package/docs/README.md +34 -0
- package/docs/agents/domain.md +7 -0
- package/docs/agents/issue-tracker.md +21 -0
- package/docs/agents/triage-labels.md +13 -0
- package/docs/assets/banner.png +0 -0
- package/docs/deployment.md +138 -0
- package/docs/engineering.md +43 -0
- package/docs/specs/execution.md +65 -0
- package/docs/specs/integrations.md +89 -0
- package/docs/specs/lifecycle.md +81 -0
- package/docs/specs/operations.md +89 -0
- package/docs/specs/plugin.md +49 -0
- package/docs/specs/providers.md +62 -0
- package/docs/specs/scope.md +35 -0
- package/docs/specs/ui-components.md +96 -0
- package/docs/specs/web-ui.md +64 -0
- package/lib/admission/cancellation-control.d.ts +11 -0
- package/lib/admission/cancellation-control.js +72 -0
- package/lib/admission/cancellation-control.js.map +1 -0
- package/lib/admission/candidates.d.ts +2 -0
- package/lib/admission/candidates.js +23 -0
- package/lib/admission/candidates.js.map +1 -0
- package/lib/admission/composition-claim.d.ts +10 -0
- package/lib/admission/composition-claim.js +13 -0
- package/lib/admission/composition-claim.js.map +1 -0
- package/lib/admission/constants.d.ts +12 -0
- package/lib/admission/constants.js +13 -0
- package/lib/admission/constants.js.map +1 -0
- package/lib/admission/deliveries.d.ts +6 -0
- package/lib/admission/deliveries.js +175 -0
- package/lib/admission/deliveries.js.map +1 -0
- package/lib/admission/delivery-control.d.ts +28 -0
- package/lib/admission/delivery-control.js +294 -0
- package/lib/admission/delivery-control.js.map +1 -0
- package/lib/admission/execution-control.d.ts +29 -0
- package/lib/admission/execution-control.js +177 -0
- package/lib/admission/execution-control.js.map +1 -0
- package/lib/admission/index.d.ts +4 -0
- package/lib/admission/index.js +4 -0
- package/lib/admission/index.js.map +1 -0
- package/lib/admission/model.d.ts +296 -0
- package/lib/admission/model.js +13 -0
- package/lib/admission/model.js.map +1 -0
- package/lib/admission/pause-control.d.ts +44 -0
- package/lib/admission/pause-control.js +220 -0
- package/lib/admission/pause-control.js.map +1 -0
- package/lib/admission/policy.d.ts +39 -0
- package/lib/admission/policy.js +238 -0
- package/lib/admission/policy.js.map +1 -0
- package/lib/admission/ports.d.ts +13 -0
- package/lib/admission/ports.js +2 -0
- package/lib/admission/ports.js.map +1 -0
- package/lib/admission/publication-control.d.ts +16 -0
- package/lib/admission/publication-control.js +153 -0
- package/lib/admission/publication-control.js.map +1 -0
- package/lib/admission/reconciler.d.ts +7 -0
- package/lib/admission/reconciler.js +121 -0
- package/lib/admission/reconciler.js.map +1 -0
- package/lib/admission/resume-control.d.ts +27 -0
- package/lib/admission/resume-control.js +213 -0
- package/lib/admission/resume-control.js.map +1 -0
- package/lib/admission/run-fence.d.ts +11 -0
- package/lib/admission/run-fence.js +49 -0
- package/lib/admission/run-fence.js.map +1 -0
- package/lib/admission/service.d.ts +130 -0
- package/lib/admission/service.js +415 -0
- package/lib/admission/service.js.map +1 -0
- package/lib/admission/state-domain.d.ts +11 -0
- package/lib/admission/state-domain.js +33 -0
- package/lib/admission/state-domain.js.map +1 -0
- package/lib/admission/state-integrity.d.ts +19 -0
- package/lib/admission/state-integrity.js +102 -0
- package/lib/admission/state-integrity.js.map +1 -0
- package/lib/admission/state-migration.d.ts +4 -0
- package/lib/admission/state-migration.js +46 -0
- package/lib/admission/state-migration.js.map +1 -0
- package/lib/admission/state.d.ts +4524 -0
- package/lib/admission/state.js +394 -0
- package/lib/admission/state.js.map +1 -0
- package/lib/admission.d.ts +1 -0
- package/lib/admission.js +2 -0
- package/lib/admission.js.map +1 -0
- package/lib/client-types/client/OperationsAtoms.d.ts +30 -0
- package/lib/client-types/client/OperationsPanel.d.ts +34 -0
- package/lib/client-types/client/RunsView.d.ts +14 -0
- package/lib/client-types/client/SettingsCapabilitySections.d.ts +16 -0
- package/lib/client-types/client/SettingsPanel.d.ts +40 -0
- package/lib/client-types/client/SettingsPolicySections.d.ts +13 -0
- package/lib/client-types/client/SettingsProviderSection.d.ts +21 -0
- package/lib/client-types/client/SummaryView.d.ts +10 -0
- package/lib/client-types/client/WorktreesView.d.ts +9 -0
- package/lib/client-types/client/index.d.ts +9 -0
- package/lib/client-types/client/locales/en.d.ts +154 -0
- package/lib/client-types/client/locales/index.d.ts +9 -0
- package/lib/client-types/client/locales/zh.d.ts +155 -0
- package/lib/client-types/client/settings-draft.d.ts +29 -0
- package/lib/client-types/client/state.d.ts +63 -0
- package/lib/client-types/code-host/index.d.ts +2 -0
- package/lib/client-types/code-host/model.d.ts +118 -0
- package/lib/client-types/code-host/registry.d.ts +23 -0
- package/lib/client-types/code-host/validation.d.ts +51 -0
- package/lib/client-types/code-host.d.ts +2 -0
- package/lib/client-types/config/index.d.ts +2 -0
- package/lib/client-types/config/settings.d.ts +51 -0
- package/lib/client-types/config.d.ts +2 -0
- package/lib/client-types/notification/index.d.ts +2 -0
- package/lib/client-types/notification/model.d.ts +57 -0
- package/lib/client-types/notification/registry.d.ts +16 -0
- package/lib/client-types/notification.d.ts +2 -0
- package/lib/client-types/providers/generation-registry.d.ts +20 -0
- package/lib/client-types/remote.d.ts +65 -0
- package/lib/client-types/tracker/index.d.ts +2 -0
- package/lib/client-types/tracker/model.d.ts +222 -0
- package/lib/client-types/tracker/registry.d.ts +49 -0
- package/lib/client-types/tracker/validation.d.ts +60 -0
- package/lib/client-types/tracker.d.ts +2 -0
- package/lib/client-types/web/contract.d.ts +958 -0
- package/lib/client.js +7961 -0
- package/lib/client.js.map +1 -0
- package/lib/code-host/index.d.ts +2 -0
- package/lib/code-host/index.js +3 -0
- package/lib/code-host/index.js.map +1 -0
- package/lib/code-host/model.d.ts +118 -0
- package/lib/code-host/model.js +23 -0
- package/lib/code-host/model.js.map +1 -0
- package/lib/code-host/registry.d.ts +23 -0
- package/lib/code-host/registry.js +90 -0
- package/lib/code-host/registry.js.map +1 -0
- package/lib/code-host/validation.d.ts +51 -0
- package/lib/code-host/validation.js +30 -0
- package/lib/code-host/validation.js.map +1 -0
- package/lib/code-host.d.ts +2 -0
- package/lib/code-host.js +3 -0
- package/lib/code-host.js.map +1 -0
- package/lib/config/index.d.ts +2 -0
- package/lib/config/index.js +3 -0
- package/lib/config/index.js.map +1 -0
- package/lib/config/settings.d.ts +51 -0
- package/lib/config/settings.js +195 -0
- package/lib/config/settings.js.map +1 -0
- package/lib/config.d.ts +2 -0
- package/lib/config.js +3 -0
- package/lib/config.js.map +1 -0
- package/lib/delivery/index.d.ts +1 -0
- package/lib/delivery/index.js +2 -0
- package/lib/delivery/index.js.map +1 -0
- package/lib/delivery/service.d.ts +29 -0
- package/lib/delivery/service.js +140 -0
- package/lib/delivery/service.js.map +1 -0
- package/lib/delivery.d.ts +2 -0
- package/lib/delivery.js +3 -0
- package/lib/delivery.js.map +1 -0
- package/lib/dispatch/composition.d.ts +18 -0
- package/lib/dispatch/composition.js +109 -0
- package/lib/dispatch/composition.js.map +1 -0
- package/lib/dispatch/contract.d.ts +2 -0
- package/lib/dispatch/contract.js +2 -0
- package/lib/dispatch/contract.js.map +1 -0
- package/lib/dispatch/execute.d.ts +10 -0
- package/lib/dispatch/execute.js +138 -0
- package/lib/dispatch/execute.js.map +1 -0
- package/lib/dispatch/execution-state.d.ts +12 -0
- package/lib/dispatch/execution-state.js +24 -0
- package/lib/dispatch/execution-state.js.map +1 -0
- package/lib/dispatch/git.d.ts +5 -0
- package/lib/dispatch/git.js +95 -0
- package/lib/dispatch/git.js.map +1 -0
- package/lib/dispatch/index.d.ts +2 -0
- package/lib/dispatch/index.js +2 -0
- package/lib/dispatch/index.js.map +1 -0
- package/lib/dispatch/report.d.ts +11 -0
- package/lib/dispatch/report.js +141 -0
- package/lib/dispatch/report.js.map +1 -0
- package/lib/dispatch/resume.d.ts +17 -0
- package/lib/dispatch/resume.js +89 -0
- package/lib/dispatch/resume.js.map +1 -0
- package/lib/dispatch/service.d.ts +56 -0
- package/lib/dispatch/service.js +231 -0
- package/lib/dispatch/service.js.map +1 -0
- package/lib/dispatch/usage.d.ts +10 -0
- package/lib/dispatch/usage.js +47 -0
- package/lib/dispatch/usage.js.map +1 -0
- package/lib/dispatch.d.ts +2 -0
- package/lib/dispatch.js +3 -0
- package/lib/dispatch.js.map +1 -0
- package/lib/github-code-host.d.ts +1 -0
- package/lib/github-code-host.js +2 -0
- package/lib/github-code-host.js.map +1 -0
- package/lib/github-issues.d.ts +1 -0
- package/lib/github-issues.js +2 -0
- package/lib/github-issues.js.map +1 -0
- package/lib/index.d.ts +21 -0
- package/lib/index.js +48 -0
- package/lib/index.js.map +1 -0
- package/lib/ingress.d.ts +2 -0
- package/lib/ingress.js +3 -0
- package/lib/ingress.js.map +1 -0
- package/lib/jira.d.ts +1 -0
- package/lib/jira.js +2 -0
- package/lib/jira.js.map +1 -0
- package/lib/mcp/contracts.d.ts +21 -0
- package/lib/mcp/contracts.js +33 -0
- package/lib/mcp/contracts.js.map +1 -0
- package/lib/mcp/cursor.d.ts +10 -0
- package/lib/mcp/cursor.js +68 -0
- package/lib/mcp/cursor.js.map +1 -0
- package/lib/mcp/definition.d.ts +8 -0
- package/lib/mcp/definition.js +43 -0
- package/lib/mcp/definition.js.map +1 -0
- package/lib/mcp/index.d.ts +6 -0
- package/lib/mcp/index.js +7 -0
- package/lib/mcp/index.js.map +1 -0
- package/lib/mcp/json.d.ts +4 -0
- package/lib/mcp/json.js +20 -0
- package/lib/mcp/json.js.map +1 -0
- package/lib/mcp/mount.d.ts +17 -0
- package/lib/mcp/mount.js +79 -0
- package/lib/mcp/mount.js.map +1 -0
- package/lib/mcp/read-tools.d.ts +27 -0
- package/lib/mcp/read-tools.js +149 -0
- package/lib/mcp/read-tools.js.map +1 -0
- package/lib/notification/index.d.ts +2 -0
- package/lib/notification/index.js +3 -0
- package/lib/notification/index.js.map +1 -0
- package/lib/notification/model.d.ts +57 -0
- package/lib/notification/model.js +20 -0
- package/lib/notification/model.js.map +1 -0
- package/lib/notification/registry.d.ts +16 -0
- package/lib/notification/registry.js +67 -0
- package/lib/notification/registry.js.map +1 -0
- package/lib/notification.d.ts +2 -0
- package/lib/notification.js +3 -0
- package/lib/notification.js.map +1 -0
- package/lib/ntfy-notification.d.ts +1 -0
- package/lib/ntfy-notification.js +2 -0
- package/lib/ntfy-notification.js.map +1 -0
- package/lib/operations/cleanup-inspector.d.ts +16 -0
- package/lib/operations/cleanup-inspector.js +132 -0
- package/lib/operations/cleanup-inspector.js.map +1 -0
- package/lib/operations/cleanup.d.ts +25 -0
- package/lib/operations/cleanup.js +151 -0
- package/lib/operations/cleanup.js.map +1 -0
- package/lib/operations/disposition.d.ts +46 -0
- package/lib/operations/disposition.js +89 -0
- package/lib/operations/disposition.js.map +1 -0
- package/lib/operations/health.d.ts +6 -0
- package/lib/operations/health.js +41 -0
- package/lib/operations/health.js.map +1 -0
- package/lib/operations/index.d.ts +6 -0
- package/lib/operations/index.js +7 -0
- package/lib/operations/index.js.map +1 -0
- package/lib/operations/inspection.d.ts +35 -0
- package/lib/operations/inspection.js +183 -0
- package/lib/operations/inspection.js.map +1 -0
- package/lib/operations/model.d.ts +77 -0
- package/lib/operations/model.js +2 -0
- package/lib/operations/model.js.map +1 -0
- package/lib/operations/recovery.d.ts +11 -0
- package/lib/operations/recovery.js +101 -0
- package/lib/operations/recovery.js.map +1 -0
- package/lib/operations/retention.d.ts +28 -0
- package/lib/operations/retention.js +105 -0
- package/lib/operations/retention.js.map +1 -0
- package/lib/operations/runtime-owner.d.ts +54 -0
- package/lib/operations/runtime-owner.js +281 -0
- package/lib/operations/runtime-owner.js.map +1 -0
- package/lib/operations/service.d.ts +55 -0
- package/lib/operations/service.js +154 -0
- package/lib/operations/service.js.map +1 -0
- package/lib/operations/state.d.ts +79 -0
- package/lib/operations/state.js +51 -0
- package/lib/operations/state.js.map +1 -0
- package/lib/operations/storage-composition.d.ts +16 -0
- package/lib/operations/storage-composition.js +61 -0
- package/lib/operations/storage-composition.js.map +1 -0
- package/lib/operations/store.d.ts +16 -0
- package/lib/operations/store.js +84 -0
- package/lib/operations/store.js.map +1 -0
- package/lib/operations.d.ts +2 -0
- package/lib/operations.js +3 -0
- package/lib/operations.js.map +1 -0
- package/lib/providers/generation-registry.d.ts +20 -0
- package/lib/providers/generation-registry.js +72 -0
- package/lib/providers/generation-registry.js.map +1 -0
- package/lib/providers/github-code-host/contracts.d.ts +224 -0
- package/lib/providers/github-code-host/contracts.js +144 -0
- package/lib/providers/github-code-host/contracts.js.map +1 -0
- package/lib/providers/github-code-host/index.d.ts +2 -0
- package/lib/providers/github-code-host/index.js +2 -0
- package/lib/providers/github-code-host/index.js.map +1 -0
- package/lib/providers/github-code-host/provider.d.ts +5 -0
- package/lib/providers/github-code-host/provider.js +289 -0
- package/lib/providers/github-code-host/provider.js.map +1 -0
- package/lib/providers/github-code-host/schemas.d.ts +81 -0
- package/lib/providers/github-code-host/schemas.js +39 -0
- package/lib/providers/github-code-host/schemas.js.map +1 -0
- package/lib/providers/github-code-host/settings.d.ts +16 -0
- package/lib/providers/github-code-host/settings.js +65 -0
- package/lib/providers/github-code-host/settings.js.map +1 -0
- package/lib/providers/github-issues/contracts.d.ts +151 -0
- package/lib/providers/github-issues/contracts.js +141 -0
- package/lib/providers/github-issues/contracts.js.map +1 -0
- package/lib/providers/github-issues/index.d.ts +1 -0
- package/lib/providers/github-issues/index.js +2 -0
- package/lib/providers/github-issues/index.js.map +1 -0
- package/lib/providers/github-issues/ingress.d.ts +8 -0
- package/lib/providers/github-issues/ingress.js +80 -0
- package/lib/providers/github-issues/ingress.js.map +1 -0
- package/lib/providers/github-issues/normalization.d.ts +11 -0
- package/lib/providers/github-issues/normalization.js +115 -0
- package/lib/providers/github-issues/normalization.js.map +1 -0
- package/lib/providers/github-issues/provider.d.ts +6 -0
- package/lib/providers/github-issues/provider.js +235 -0
- package/lib/providers/github-issues/provider.js.map +1 -0
- package/lib/providers/github-issues/schemas.d.ts +123 -0
- package/lib/providers/github-issues/schemas.js +58 -0
- package/lib/providers/github-issues/schemas.js.map +1 -0
- package/lib/providers/github-issues/settings.d.ts +27 -0
- package/lib/providers/github-issues/settings.js +154 -0
- package/lib/providers/github-issues/settings.js.map +1 -0
- package/lib/providers/jira/contracts.d.ts +193 -0
- package/lib/providers/jira/contracts.js +133 -0
- package/lib/providers/jira/contracts.js.map +1 -0
- package/lib/providers/jira/index.d.ts +1 -0
- package/lib/providers/jira/index.js +2 -0
- package/lib/providers/jira/index.js.map +1 -0
- package/lib/providers/jira/ingress.d.ts +4 -0
- package/lib/providers/jira/ingress.js +60 -0
- package/lib/providers/jira/ingress.js.map +1 -0
- package/lib/providers/jira/normalization.d.ts +8 -0
- package/lib/providers/jira/normalization.js +121 -0
- package/lib/providers/jira/normalization.js.map +1 -0
- package/lib/providers/jira/provider.d.ts +6 -0
- package/lib/providers/jira/provider.js +317 -0
- package/lib/providers/jira/provider.js.map +1 -0
- package/lib/providers/jira/schemas.d.ts +134 -0
- package/lib/providers/jira/schemas.js +76 -0
- package/lib/providers/jira/schemas.js.map +1 -0
- package/lib/providers/jira/settings.d.ts +32 -0
- package/lib/providers/jira/settings.js +163 -0
- package/lib/providers/jira/settings.js.map +1 -0
- package/lib/providers/notification-http.d.ts +13 -0
- package/lib/providers/notification-http.js +136 -0
- package/lib/providers/notification-http.js.map +1 -0
- package/lib/providers/ntfy-notification/index.d.ts +2 -0
- package/lib/providers/ntfy-notification/index.js +2 -0
- package/lib/providers/ntfy-notification/index.js.map +1 -0
- package/lib/providers/ntfy-notification/provider.d.ts +4 -0
- package/lib/providers/ntfy-notification/provider.js +89 -0
- package/lib/providers/ntfy-notification/provider.js.map +1 -0
- package/lib/providers/ntfy-notification/settings.d.ts +12 -0
- package/lib/providers/ntfy-notification/settings.js +34 -0
- package/lib/providers/ntfy-notification/settings.js.map +1 -0
- package/lib/providers/webhook-notification/index.d.ts +2 -0
- package/lib/providers/webhook-notification/index.js +2 -0
- package/lib/providers/webhook-notification/index.js.map +1 -0
- package/lib/providers/webhook-notification/provider.d.ts +4 -0
- package/lib/providers/webhook-notification/provider.js +57 -0
- package/lib/providers/webhook-notification/provider.js.map +1 -0
- package/lib/providers/webhook-notification/settings.d.ts +11 -0
- package/lib/providers/webhook-notification/settings.js +31 -0
- package/lib/providers/webhook-notification/settings.js.map +1 -0
- package/lib/publication/git.d.ts +7 -0
- package/lib/publication/git.js +154 -0
- package/lib/publication/git.js.map +1 -0
- package/lib/publication/index.d.ts +1 -0
- package/lib/publication/index.js +2 -0
- package/lib/publication/index.js.map +1 -0
- package/lib/publication/service.d.ts +27 -0
- package/lib/publication/service.js +166 -0
- package/lib/publication/service.js.map +1 -0
- package/lib/publication.d.ts +2 -0
- package/lib/publication.js +3 -0
- package/lib/publication.js.map +1 -0
- package/lib/reconciliation/index.d.ts +3 -0
- package/lib/reconciliation/index.js +4 -0
- package/lib/reconciliation/index.js.map +1 -0
- package/lib/reconciliation/ingress.d.ts +21 -0
- package/lib/reconciliation/ingress.js +168 -0
- package/lib/reconciliation/ingress.js.map +1 -0
- package/lib/reconciliation/service.d.ts +75 -0
- package/lib/reconciliation/service.js +228 -0
- package/lib/reconciliation/service.js.map +1 -0
- package/lib/reconciliation.d.ts +2 -0
- package/lib/reconciliation.js +3 -0
- package/lib/reconciliation.js.map +1 -0
- package/lib/remote.d.ts +65 -0
- package/lib/remote.js +135 -0
- package/lib/remote.js.map +1 -0
- package/lib/tracker/index.d.ts +2 -0
- package/lib/tracker/index.js +3 -0
- package/lib/tracker/index.js.map +1 -0
- package/lib/tracker/model.d.ts +222 -0
- package/lib/tracker/model.js +66 -0
- package/lib/tracker/model.js.map +1 -0
- package/lib/tracker/registry.d.ts +49 -0
- package/lib/tracker/registry.js +213 -0
- package/lib/tracker/registry.js.map +1 -0
- package/lib/tracker/validation.d.ts +60 -0
- package/lib/tracker/validation.js +52 -0
- package/lib/tracker/validation.js.map +1 -0
- package/lib/tracker.d.ts +2 -0
- package/lib/tracker.js +3 -0
- package/lib/tracker.js.map +1 -0
- package/lib/typert.d.ts +1 -0
- package/lib/typert.js +2 -0
- package/lib/typert.js.map +1 -0
- package/lib/web/commands.d.ts +18 -0
- package/lib/web/commands.js +231 -0
- package/lib/web/commands.js.map +1 -0
- package/lib/web/contract.d.ts +958 -0
- package/lib/web/contract.js +230 -0
- package/lib/web/contract.js.map +1 -0
- package/lib/web/contributions.d.ts +41 -0
- package/lib/web/contributions.js +61 -0
- package/lib/web/contributions.js.map +1 -0
- package/lib/web/integrations.d.ts +13 -0
- package/lib/web/integrations.js +95 -0
- package/lib/web/integrations.js.map +1 -0
- package/lib/web/projection.d.ts +10 -0
- package/lib/web/projection.js +192 -0
- package/lib/web/projection.js.map +1 -0
- package/lib/web/service.d.ts +31 -0
- package/lib/web/service.js +141 -0
- package/lib/web/service.js.map +1 -0
- package/lib/web.d.ts +5 -0
- package/lib/web.js +6 -0
- package/lib/web.js.map +1 -0
- package/lib/webhook-notification.d.ts +1 -0
- package/lib/webhook-notification.js +2 -0
- package/lib/webhook-notification.js.map +1 -0
- package/lib/workflow/index.d.ts +1 -0
- package/lib/workflow/index.js +2 -0
- package/lib/workflow/index.js.map +1 -0
- package/lib/workflow/service.d.ts +31 -0
- package/lib/workflow/service.js +220 -0
- package/lib/workflow/service.js.map +1 -0
- package/lib/workflow.d.ts +2 -0
- package/lib/workflow.js +3 -0
- package/lib/workflow.js.map +1 -0
- package/package.json +276 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type Context, Service } from '@deepseek-ai/cordis';
|
|
2
|
+
import { type AdmissionSource, type ReconcileResult } from '../admission.js';
|
|
3
|
+
import { type TrackerIngressRequest, type TrackerProviderErrorCode } from '../tracker.js';
|
|
4
|
+
export type ReconciliationErrorCode = 'overloaded' | 'unavailable';
|
|
5
|
+
/** A caller-safe failure raised by the reconciliation owner itself. */
|
|
6
|
+
export declare class ReconciliationError extends Error {
|
|
7
|
+
readonly code: ReconciliationErrorCode;
|
|
8
|
+
constructor(code: ReconciliationErrorCode);
|
|
9
|
+
}
|
|
10
|
+
export interface ReconciliationFailure {
|
|
11
|
+
readonly code: TrackerProviderErrorCode | ReconciliationErrorCode | 'internal';
|
|
12
|
+
readonly message: string;
|
|
13
|
+
readonly retryAfterMs?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface ReconciliationAttemptSnapshot {
|
|
16
|
+
readonly source: AdmissionSource;
|
|
17
|
+
readonly startedAt: string;
|
|
18
|
+
readonly completedAt: string;
|
|
19
|
+
readonly outcome: 'succeeded' | 'failed';
|
|
20
|
+
readonly admitted: number;
|
|
21
|
+
readonly deferred: number;
|
|
22
|
+
readonly rejected: number;
|
|
23
|
+
readonly failure?: ReconciliationFailure;
|
|
24
|
+
}
|
|
25
|
+
export interface ReconciliationSnapshot {
|
|
26
|
+
readonly active: number;
|
|
27
|
+
readonly nextScheduledAt?: string;
|
|
28
|
+
readonly lastAttempt?: ReconciliationAttemptSnapshot;
|
|
29
|
+
}
|
|
30
|
+
declare module '@deepseek-ai/cordis' {
|
|
31
|
+
interface Context {
|
|
32
|
+
autopilotReconciliation: Reconciliation;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** Own startup/periodic admission timing and expose bounded operator diagnostics. */
|
|
36
|
+
export declare class Reconciliation extends Service {
|
|
37
|
+
static readonly inject: string[];
|
|
38
|
+
private timer;
|
|
39
|
+
private lifecycleAttempt;
|
|
40
|
+
private startupPending;
|
|
41
|
+
private readonly ingressAttempts;
|
|
42
|
+
private readonly controller;
|
|
43
|
+
private stopping;
|
|
44
|
+
private active;
|
|
45
|
+
private nextScheduledAt;
|
|
46
|
+
private lastAttempt;
|
|
47
|
+
constructor(ctx: Context);
|
|
48
|
+
[Service.init](): AsyncGenerator<() => Promise<void>, void, void>;
|
|
49
|
+
/**
|
|
50
|
+
* Return a detached, bounded view of reconciliation activity and its most recent sanitized outcome.
|
|
51
|
+
*
|
|
52
|
+
* Preconditions: none; a retained module reference remains inspectable during shutdown. This operation has no side
|
|
53
|
+
* effects, performs no I/O, does not fail under normal operation, and is not cancellable.
|
|
54
|
+
*/
|
|
55
|
+
snapshot(): ReconciliationSnapshot;
|
|
56
|
+
/**
|
|
57
|
+
* Authenticate and durably reconcile one provider delivery.
|
|
58
|
+
*
|
|
59
|
+
* The request must preserve the HTTP method, raw header multiplicity, and exact body bytes expected by the selected
|
|
60
|
+
* tracker provider. A successful promise means the delivery identity and resulting admission decisions were committed
|
|
61
|
+
* before acknowledgement is safe. The operation updates aggregate diagnostics but never records request or ticket
|
|
62
|
+
* content. It rejects with `ReconciliationError('overloaded')` before launching work when 32 ingress attempts are
|
|
63
|
+
* already active or admission capacity cannot consume the delivery, and with `ReconciliationError('unavailable')` when
|
|
64
|
+
* admission is not accepting deliveries. Provider and durable-write failures are propagated while the diagnostics view
|
|
65
|
+
* exposes only their sanitized classification. `signal` is combined with owner disposal; cancellation is cooperative
|
|
66
|
+
* and fences persistent mutation before commit, but callers must still await the rejected promise before releasing owned
|
|
67
|
+
* resources.
|
|
68
|
+
*/
|
|
69
|
+
acceptIngress(request: TrackerIngressRequest, signal?: AbortSignal): Promise<ReconcileResult>;
|
|
70
|
+
private runIngress;
|
|
71
|
+
private runTimed;
|
|
72
|
+
private scheduleNext;
|
|
73
|
+
private clearTimer;
|
|
74
|
+
}
|
|
75
|
+
export default Reconciliation;
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { Service } from '@deepseek-ai/cordis';
|
|
2
|
+
import { AdmissionIngressError } from '../admission.js';
|
|
3
|
+
import { publicTrackerFailureMessage, TrackerProviderError, trackerProviderId, } from '../tracker.js';
|
|
4
|
+
// Admission serializes durable commits. This permits a useful webhook burst while
|
|
5
|
+
// bounding retained 256 KiB ingress bodies to roughly 8 MiB per process.
|
|
6
|
+
const MAX_CONCURRENT_INGRESS_ATTEMPTS = 32;
|
|
7
|
+
const reconciliationErrorMessages = {
|
|
8
|
+
overloaded: 'Autopilot ingress is temporarily at capacity.',
|
|
9
|
+
unavailable: 'Autopilot is not accepting tracker ingress.',
|
|
10
|
+
};
|
|
11
|
+
/** A caller-safe failure raised by the reconciliation owner itself. */
|
|
12
|
+
export class ReconciliationError extends Error {
|
|
13
|
+
code;
|
|
14
|
+
constructor(code) {
|
|
15
|
+
super(reconciliationErrorMessages[code]);
|
|
16
|
+
this.code = code;
|
|
17
|
+
this.name = 'ReconciliationError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** Own startup/periodic admission timing and expose bounded operator diagnostics. */
|
|
21
|
+
export class Reconciliation extends Service {
|
|
22
|
+
static inject = ['admission', 'autopilotConfig', 'tracker'];
|
|
23
|
+
timer;
|
|
24
|
+
lifecycleAttempt;
|
|
25
|
+
startupPending = false;
|
|
26
|
+
ingressAttempts = new Set();
|
|
27
|
+
controller = new AbortController();
|
|
28
|
+
stopping = false;
|
|
29
|
+
active = 0;
|
|
30
|
+
nextScheduledAt;
|
|
31
|
+
lastAttempt;
|
|
32
|
+
constructor(ctx) {
|
|
33
|
+
super(ctx, 'autopilotReconciliation');
|
|
34
|
+
}
|
|
35
|
+
async *[Service.init]() {
|
|
36
|
+
const stopSettingsWatch = this.ctx.autopilotConfig.watch(() => {
|
|
37
|
+
this.clearTimer();
|
|
38
|
+
if (this.lifecycleAttempt === undefined)
|
|
39
|
+
this.scheduleNext();
|
|
40
|
+
});
|
|
41
|
+
const stopProviderWatch = this.ctx.tracker.watchProviders((event) => {
|
|
42
|
+
if (event.kind === 'available' &&
|
|
43
|
+
event.providerId === trackerProviderId(this.ctx.autopilotConfig.get().trackerProvider)) {
|
|
44
|
+
if (this.lifecycleAttempt === undefined)
|
|
45
|
+
void this.runTimed('startup');
|
|
46
|
+
else
|
|
47
|
+
this.startupPending = true;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
yield async () => {
|
|
51
|
+
this.stopping = true;
|
|
52
|
+
this.controller.abort(new Error('reconciliation owner was disposed'));
|
|
53
|
+
stopSettingsWatch();
|
|
54
|
+
stopProviderWatch();
|
|
55
|
+
this.clearTimer();
|
|
56
|
+
await Promise.allSettled([
|
|
57
|
+
...(this.lifecycleAttempt === undefined ? [] : [this.lifecycleAttempt]),
|
|
58
|
+
...this.ingressAttempts,
|
|
59
|
+
]);
|
|
60
|
+
};
|
|
61
|
+
queueMicrotask(() => {
|
|
62
|
+
void this.runTimed('startup');
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Return a detached, bounded view of reconciliation activity and its most recent sanitized outcome.
|
|
67
|
+
*
|
|
68
|
+
* Preconditions: none; a retained module reference remains inspectable during shutdown. This operation has no side
|
|
69
|
+
* effects, performs no I/O, does not fail under normal operation, and is not cancellable.
|
|
70
|
+
*/
|
|
71
|
+
snapshot() {
|
|
72
|
+
return {
|
|
73
|
+
active: this.active,
|
|
74
|
+
...(this.nextScheduledAt === undefined ? {} : { nextScheduledAt: this.nextScheduledAt }),
|
|
75
|
+
...(this.lastAttempt === undefined ? {} : { lastAttempt: structuredClone(this.lastAttempt) }),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Authenticate and durably reconcile one provider delivery.
|
|
80
|
+
*
|
|
81
|
+
* The request must preserve the HTTP method, raw header multiplicity, and exact body bytes expected by the selected
|
|
82
|
+
* tracker provider. A successful promise means the delivery identity and resulting admission decisions were committed
|
|
83
|
+
* before acknowledgement is safe. The operation updates aggregate diagnostics but never records request or ticket
|
|
84
|
+
* content. It rejects with `ReconciliationError('overloaded')` before launching work when 32 ingress attempts are
|
|
85
|
+
* already active or admission capacity cannot consume the delivery, and with `ReconciliationError('unavailable')` when
|
|
86
|
+
* admission is not accepting deliveries. Provider and durable-write failures are propagated while the diagnostics view
|
|
87
|
+
* exposes only their sanitized classification. `signal` is combined with owner disposal; cancellation is cooperative
|
|
88
|
+
* and fences persistent mutation before commit, but callers must still await the rejected promise before releasing owned
|
|
89
|
+
* resources.
|
|
90
|
+
*/
|
|
91
|
+
acceptIngress(request, signal) {
|
|
92
|
+
if (this.stopping) {
|
|
93
|
+
return Promise.reject(new ReconciliationError('unavailable'));
|
|
94
|
+
}
|
|
95
|
+
if (this.ingressAttempts.size >= MAX_CONCURRENT_INGRESS_ATTEMPTS) {
|
|
96
|
+
const error = new ReconciliationError('overloaded');
|
|
97
|
+
this.lastAttempt = failedAttempt('webhook', new Date().toISOString(), error);
|
|
98
|
+
return Promise.reject(error);
|
|
99
|
+
}
|
|
100
|
+
const attempt = this.runIngress(request, signal);
|
|
101
|
+
this.ingressAttempts.add(attempt);
|
|
102
|
+
return attempt.then((result) => {
|
|
103
|
+
this.ingressAttempts.delete(attempt);
|
|
104
|
+
return result;
|
|
105
|
+
}, (error) => {
|
|
106
|
+
this.ingressAttempts.delete(attempt);
|
|
107
|
+
throw error;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
async runIngress(request, callerSignal) {
|
|
111
|
+
const source = 'webhook';
|
|
112
|
+
const startedAt = new Date().toISOString();
|
|
113
|
+
const signal = callerSignal === undefined ? this.controller.signal : AbortSignal.any([this.controller.signal, callerSignal]);
|
|
114
|
+
this.active += 1;
|
|
115
|
+
try {
|
|
116
|
+
const result = await this.ctx.admission.reconcileIngress(request, signal);
|
|
117
|
+
this.lastAttempt = successfulAttempt(source, startedAt, result);
|
|
118
|
+
return result;
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
const failure = translateIngressFailure(error);
|
|
122
|
+
this.lastAttempt = failedAttempt(source, startedAt, failure);
|
|
123
|
+
throw failure;
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
this.active -= 1;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
runTimed(source) {
|
|
130
|
+
if (this.stopping)
|
|
131
|
+
return Promise.resolve();
|
|
132
|
+
if (this.lifecycleAttempt !== undefined)
|
|
133
|
+
return this.lifecycleAttempt;
|
|
134
|
+
this.clearTimer();
|
|
135
|
+
const startedAt = new Date().toISOString();
|
|
136
|
+
this.active += 1;
|
|
137
|
+
const workflow = this.ctx.get('autopilotWorkflow');
|
|
138
|
+
const attempt = (workflow === undefined
|
|
139
|
+
? this.ctx.admission.reconcile({ source, signal: this.controller.signal })
|
|
140
|
+
: workflow.reconcile(source, this.controller.signal))
|
|
141
|
+
.then((result) => {
|
|
142
|
+
this.lastAttempt = successfulAttempt(source, startedAt, result);
|
|
143
|
+
})
|
|
144
|
+
.catch((error) => {
|
|
145
|
+
this.lastAttempt = failedAttempt(source, startedAt, error);
|
|
146
|
+
const failure = this.lastAttempt.failure;
|
|
147
|
+
if (failure === undefined)
|
|
148
|
+
throw new Error('failed reconciliation lost its diagnostic');
|
|
149
|
+
this.ctx.logger.warn(`autopilot ${source} reconciliation failed: ${failure.code}`);
|
|
150
|
+
})
|
|
151
|
+
.finally(() => {
|
|
152
|
+
this.active -= 1;
|
|
153
|
+
if (this.lifecycleAttempt === attempt)
|
|
154
|
+
this.lifecycleAttempt = undefined;
|
|
155
|
+
if (this.stopping)
|
|
156
|
+
return;
|
|
157
|
+
if (this.startupPending) {
|
|
158
|
+
this.startupPending = false;
|
|
159
|
+
void this.runTimed('startup');
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
this.scheduleNext();
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
this.lifecycleAttempt = attempt;
|
|
166
|
+
return attempt;
|
|
167
|
+
}
|
|
168
|
+
scheduleNext() {
|
|
169
|
+
if (this.stopping || this.timer !== undefined)
|
|
170
|
+
return;
|
|
171
|
+
const delay = this.ctx.autopilotConfig.get().reconcileIntervalSeconds * 1000;
|
|
172
|
+
this.nextScheduledAt = new Date(Date.now() + delay).toISOString();
|
|
173
|
+
this.timer = setTimeout(() => {
|
|
174
|
+
this.timer = undefined;
|
|
175
|
+
this.nextScheduledAt = undefined;
|
|
176
|
+
void this.runTimed('scheduled');
|
|
177
|
+
}, delay);
|
|
178
|
+
}
|
|
179
|
+
clearTimer() {
|
|
180
|
+
if (this.timer !== undefined)
|
|
181
|
+
clearTimeout(this.timer);
|
|
182
|
+
this.timer = undefined;
|
|
183
|
+
this.nextScheduledAt = undefined;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
function translateIngressFailure(error) {
|
|
187
|
+
if (!(error instanceof AdmissionIngressError))
|
|
188
|
+
return error;
|
|
189
|
+
return new ReconciliationError(error.code === 'queue-capacity' ? 'overloaded' : 'unavailable');
|
|
190
|
+
}
|
|
191
|
+
function successfulAttempt(source, startedAt, result) {
|
|
192
|
+
return {
|
|
193
|
+
source,
|
|
194
|
+
startedAt,
|
|
195
|
+
completedAt: new Date().toISOString(),
|
|
196
|
+
outcome: 'succeeded',
|
|
197
|
+
admitted: result.decisions.filter((decision) => decision.outcome === 'queued').length,
|
|
198
|
+
deferred: result.decisions.filter((decision) => decision.outcome === 'deferred').length,
|
|
199
|
+
rejected: result.decisions.filter((decision) => decision.outcome === 'rejected').length,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
function failedAttempt(source, startedAt, error) {
|
|
203
|
+
return {
|
|
204
|
+
source,
|
|
205
|
+
startedAt,
|
|
206
|
+
completedAt: new Date().toISOString(),
|
|
207
|
+
outcome: 'failed',
|
|
208
|
+
admitted: 0,
|
|
209
|
+
deferred: 0,
|
|
210
|
+
rejected: 0,
|
|
211
|
+
failure: sanitizedFailure(error),
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
function sanitizedFailure(error) {
|
|
215
|
+
if (error instanceof ReconciliationError) {
|
|
216
|
+
return { code: error.code, message: error.message };
|
|
217
|
+
}
|
|
218
|
+
if (error instanceof TrackerProviderError) {
|
|
219
|
+
return {
|
|
220
|
+
code: error.code,
|
|
221
|
+
message: publicTrackerFailureMessage(error.code),
|
|
222
|
+
...(error.retryAfterMs === undefined ? {} : { retryAfterMs: error.retryAfterMs }),
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
return { code: 'internal', message: 'Reconciliation failed before it could commit.' };
|
|
226
|
+
}
|
|
227
|
+
export default Reconciliation;
|
|
228
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/reconciliation/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconciliation.js","sourceRoot":"","sources":["../src/reconciliation.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA"}
|
package/lib/remote.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { RemoteResult, TypertRemoteContribution } from '@deepseek-ai/dsh-typert-protocol';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { type CleanupPreviewView, type CommandReceipt, type CommandRequest, type OperationsQuery, type OperationsSnapshot, type ProviderTestResult, type RunDetailView, type WorktreeView } from './web/contract.js';
|
|
4
|
+
export interface AutopilotRemoteNamespace {
|
|
5
|
+
operations: (query: OperationsQuery, signal?: AbortSignal) => Promise<RemoteResult<OperationsSnapshot>>;
|
|
6
|
+
run: (runId: string, signal?: AbortSignal) => Promise<RemoteResult<RunDetailView | null>>;
|
|
7
|
+
worktree: (runId: string, signal?: AbortSignal) => Promise<RemoteResult<WorktreeView | null>>;
|
|
8
|
+
previewCleanup: (runId: string, signal?: AbortSignal) => Promise<RemoteResult<CleanupPreviewView | null>>;
|
|
9
|
+
command: (request: CommandRequest, signal?: AbortSignal) => Promise<RemoteResult<CommandReceipt>>;
|
|
10
|
+
commandStatus: (requestId: string, signal?: AbortSignal) => Promise<RemoteResult<CommandReceipt | null>>;
|
|
11
|
+
testProvider: (providerId: string, signal?: AbortSignal) => Promise<RemoteResult<ProviderTestResult>>;
|
|
12
|
+
}
|
|
13
|
+
declare module '@deepseek-ai/dsh-typert-protocol' {
|
|
14
|
+
interface TypertRemoteMap {
|
|
15
|
+
'autopilot/operations': AutopilotRemoteNamespace['operations'];
|
|
16
|
+
'autopilot/run': AutopilotRemoteNamespace['run'];
|
|
17
|
+
'autopilot/worktree': AutopilotRemoteNamespace['worktree'];
|
|
18
|
+
'autopilot/previewCleanup': AutopilotRemoteNamespace['previewCleanup'];
|
|
19
|
+
'autopilot/command': AutopilotRemoteNamespace['command'];
|
|
20
|
+
'autopilot/commandStatus': AutopilotRemoteNamespace['commandStatus'];
|
|
21
|
+
'autopilot/testProvider': AutopilotRemoteNamespace['testProvider'];
|
|
22
|
+
}
|
|
23
|
+
interface TypertRemoteNamespaceMap {
|
|
24
|
+
autopilot: AutopilotRemoteNamespace;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export declare const TYPERT_REMOTE: TypertRemoteContribution;
|
|
28
|
+
export declare const TYPERT: {
|
|
29
|
+
package: string;
|
|
30
|
+
face: string;
|
|
31
|
+
schemas: never[];
|
|
32
|
+
model: {
|
|
33
|
+
services: never[];
|
|
34
|
+
events: never[];
|
|
35
|
+
objects: never[];
|
|
36
|
+
};
|
|
37
|
+
invocations: {
|
|
38
|
+
id: string;
|
|
39
|
+
service: string;
|
|
40
|
+
namespace: string;
|
|
41
|
+
method: string;
|
|
42
|
+
invocation: {
|
|
43
|
+
kind: 'direct';
|
|
44
|
+
};
|
|
45
|
+
parameters: {
|
|
46
|
+
name: string;
|
|
47
|
+
wire: string;
|
|
48
|
+
source: 'json';
|
|
49
|
+
codec: {
|
|
50
|
+
mode: 'strict';
|
|
51
|
+
typeSymbol: string;
|
|
52
|
+
schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
53
|
+
};
|
|
54
|
+
}[];
|
|
55
|
+
cancellation: {
|
|
56
|
+
parameter: 'signal';
|
|
57
|
+
};
|
|
58
|
+
result: {
|
|
59
|
+
mode: 'strict';
|
|
60
|
+
typeSymbol: string;
|
|
61
|
+
schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
62
|
+
};
|
|
63
|
+
}[];
|
|
64
|
+
};
|
|
65
|
+
export default TYPERT_REMOTE;
|
package/lib/remote.js
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { cleanupPreviewViewSchema, commandReceiptSchema, commandRequestSchema, operationsQuerySchema, operationsSnapshotSchema, providerTestResultSchema, runDetailSchema, worktreeViewSchema, } from './web/contract.js';
|
|
3
|
+
const strict = (typeSymbol, schema) => ({ mode: 'strict', typeSymbol, schema });
|
|
4
|
+
const stringSchema = z.string();
|
|
5
|
+
const descriptors = [
|
|
6
|
+
{
|
|
7
|
+
id: 'dsh-autopilot#autopilot/operations',
|
|
8
|
+
service: 'autopilotWeb',
|
|
9
|
+
namespace: 'autopilot',
|
|
10
|
+
method: 'operations',
|
|
11
|
+
invocation: { kind: 'direct' },
|
|
12
|
+
parameters: [
|
|
13
|
+
{
|
|
14
|
+
name: 'query',
|
|
15
|
+
wire: 'query',
|
|
16
|
+
source: 'json',
|
|
17
|
+
codec: strict('dsh-autopilot#autopilot/operations:query', operationsQuerySchema),
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
cancellation: { parameter: 'signal' },
|
|
21
|
+
result: strict('dsh-autopilot#autopilot/operations:result', operationsSnapshotSchema),
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: 'dsh-autopilot#autopilot/run',
|
|
25
|
+
service: 'autopilotWeb',
|
|
26
|
+
namespace: 'autopilot',
|
|
27
|
+
method: 'run',
|
|
28
|
+
invocation: { kind: 'direct' },
|
|
29
|
+
parameters: [
|
|
30
|
+
{
|
|
31
|
+
name: 'runId',
|
|
32
|
+
wire: 'runId',
|
|
33
|
+
source: 'json',
|
|
34
|
+
codec: strict('dsh-autopilot#autopilot/run:runId', stringSchema),
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
cancellation: { parameter: 'signal' },
|
|
38
|
+
result: strict('dsh-autopilot#autopilot/run:result', runDetailSchema.nullable()),
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: 'dsh-autopilot#autopilot/worktree',
|
|
42
|
+
service: 'autopilotWeb',
|
|
43
|
+
namespace: 'autopilot',
|
|
44
|
+
method: 'worktree',
|
|
45
|
+
invocation: { kind: 'direct' },
|
|
46
|
+
parameters: [
|
|
47
|
+
{
|
|
48
|
+
name: 'runId',
|
|
49
|
+
wire: 'runId',
|
|
50
|
+
source: 'json',
|
|
51
|
+
codec: strict('dsh-autopilot#autopilot/worktree:runId', stringSchema),
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
cancellation: { parameter: 'signal' },
|
|
55
|
+
result: strict('dsh-autopilot#autopilot/worktree:result', worktreeViewSchema.nullable()),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: 'dsh-autopilot#autopilot/previewCleanup',
|
|
59
|
+
service: 'autopilotWeb',
|
|
60
|
+
namespace: 'autopilot',
|
|
61
|
+
method: 'previewCleanup',
|
|
62
|
+
invocation: { kind: 'direct' },
|
|
63
|
+
parameters: [
|
|
64
|
+
{
|
|
65
|
+
name: 'runId',
|
|
66
|
+
wire: 'runId',
|
|
67
|
+
source: 'json',
|
|
68
|
+
codec: strict('dsh-autopilot#autopilot/previewCleanup:runId', stringSchema),
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
cancellation: { parameter: 'signal' },
|
|
72
|
+
result: strict('dsh-autopilot#autopilot/previewCleanup:result', cleanupPreviewViewSchema.nullable()),
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: 'dsh-autopilot#autopilot/command',
|
|
76
|
+
service: 'autopilotWeb',
|
|
77
|
+
namespace: 'autopilot',
|
|
78
|
+
method: 'command',
|
|
79
|
+
invocation: { kind: 'direct' },
|
|
80
|
+
parameters: [
|
|
81
|
+
{
|
|
82
|
+
name: 'input',
|
|
83
|
+
wire: 'input',
|
|
84
|
+
source: 'json',
|
|
85
|
+
codec: strict('dsh-autopilot#autopilot/command:input', commandRequestSchema),
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
cancellation: { parameter: 'signal' },
|
|
89
|
+
result: strict('dsh-autopilot#autopilot/command:result', commandReceiptSchema),
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
id: 'dsh-autopilot#autopilot/commandStatus',
|
|
93
|
+
service: 'autopilotWeb',
|
|
94
|
+
namespace: 'autopilot',
|
|
95
|
+
method: 'commandStatus',
|
|
96
|
+
invocation: { kind: 'direct' },
|
|
97
|
+
parameters: [
|
|
98
|
+
{
|
|
99
|
+
name: 'requestId',
|
|
100
|
+
wire: 'requestId',
|
|
101
|
+
source: 'json',
|
|
102
|
+
codec: strict('dsh-autopilot#autopilot/commandStatus:requestId', stringSchema.uuid()),
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
cancellation: { parameter: 'signal' },
|
|
106
|
+
result: strict('dsh-autopilot#autopilot/commandStatus:result', commandReceiptSchema.nullable()),
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: 'dsh-autopilot#autopilot/testProvider',
|
|
110
|
+
service: 'autopilotWeb',
|
|
111
|
+
namespace: 'autopilot',
|
|
112
|
+
method: 'testProvider',
|
|
113
|
+
invocation: { kind: 'direct' },
|
|
114
|
+
parameters: [
|
|
115
|
+
{
|
|
116
|
+
name: 'providerId',
|
|
117
|
+
wire: 'providerId',
|
|
118
|
+
source: 'json',
|
|
119
|
+
codec: strict('dsh-autopilot#autopilot/testProvider:providerId', stringSchema),
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
cancellation: { parameter: 'signal' },
|
|
123
|
+
result: strict('dsh-autopilot#autopilot/testProvider:result', providerTestResultSchema),
|
|
124
|
+
},
|
|
125
|
+
];
|
|
126
|
+
export const TYPERT_REMOTE = { package: '@canhta/dsh-autopilot', descriptors };
|
|
127
|
+
export const TYPERT = {
|
|
128
|
+
package: '@canhta/dsh-autopilot',
|
|
129
|
+
face: 'host',
|
|
130
|
+
schemas: [],
|
|
131
|
+
model: { services: [], events: [], objects: [] },
|
|
132
|
+
invocations: descriptors,
|
|
133
|
+
};
|
|
134
|
+
export default TYPERT_REMOTE;
|
|
135
|
+
//# sourceMappingURL=remote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
|