@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,154 @@
|
|
|
1
|
+
export declare const en: {
|
|
2
|
+
panelTitle: string;
|
|
3
|
+
panelNav: string;
|
|
4
|
+
panelDescription: string;
|
|
5
|
+
queueRuns: string;
|
|
6
|
+
schedule: string;
|
|
7
|
+
budget: string;
|
|
8
|
+
notifications: string;
|
|
9
|
+
worktrees: string;
|
|
10
|
+
settingsNav: string;
|
|
11
|
+
settingsTitle: string;
|
|
12
|
+
loading: string;
|
|
13
|
+
refresh: string;
|
|
14
|
+
retry: string;
|
|
15
|
+
disconnected: string;
|
|
16
|
+
stale: string;
|
|
17
|
+
noRuns: string;
|
|
18
|
+
clearFilters: string;
|
|
19
|
+
searchRuns: string;
|
|
20
|
+
allStates: string;
|
|
21
|
+
attentionOnly: string;
|
|
22
|
+
results: string;
|
|
23
|
+
pagination: string;
|
|
24
|
+
previousPage: string;
|
|
25
|
+
nextPage: string;
|
|
26
|
+
pageOf: string;
|
|
27
|
+
ticket: string;
|
|
28
|
+
state: string;
|
|
29
|
+
priority: string;
|
|
30
|
+
phase: string;
|
|
31
|
+
spend: string;
|
|
32
|
+
updated: string;
|
|
33
|
+
unknown: string;
|
|
34
|
+
reservedSettled: string;
|
|
35
|
+
selectedRun: string;
|
|
36
|
+
backToRuns: string;
|
|
37
|
+
brief: string;
|
|
38
|
+
timeline: string;
|
|
39
|
+
resources: string;
|
|
40
|
+
worktree: string;
|
|
41
|
+
outcome: string;
|
|
42
|
+
unavailable: string;
|
|
43
|
+
waitingHuman: string;
|
|
44
|
+
pauseRun: string;
|
|
45
|
+
resumeRun: string;
|
|
46
|
+
cancelRun: string;
|
|
47
|
+
schedulerEnabled: string;
|
|
48
|
+
schedulerDisabled: string;
|
|
49
|
+
schedulerDraining: string;
|
|
50
|
+
pauseScheduler: string;
|
|
51
|
+
resumeScheduler: string;
|
|
52
|
+
drainScheduler: string;
|
|
53
|
+
reconcileNow: string;
|
|
54
|
+
commandPending: string;
|
|
55
|
+
commandAccepted: string;
|
|
56
|
+
commandProgress: string;
|
|
57
|
+
commandSucceeded: string;
|
|
58
|
+
commandRejected: string;
|
|
59
|
+
attention: string;
|
|
60
|
+
providerMissing: string;
|
|
61
|
+
scheduleTimezone: string;
|
|
62
|
+
reconcileEvery: string;
|
|
63
|
+
nextReconcile: string;
|
|
64
|
+
noReconcile: string;
|
|
65
|
+
cap: string;
|
|
66
|
+
settled: string;
|
|
67
|
+
reserved: string;
|
|
68
|
+
remaining: string;
|
|
69
|
+
unknownRemaining: string;
|
|
70
|
+
notificationsUnavailable: string;
|
|
71
|
+
noDeliveries: string;
|
|
72
|
+
worktreesUnavailable: string;
|
|
73
|
+
noWorktrees: string;
|
|
74
|
+
cleanupUnavailable: string;
|
|
75
|
+
cleanupPreviewReady: string;
|
|
76
|
+
inspectFailed: string;
|
|
77
|
+
previewCleanup: string;
|
|
78
|
+
removeWorktree: string;
|
|
79
|
+
settingsIntro: string;
|
|
80
|
+
providerSection: string;
|
|
81
|
+
policySection: string;
|
|
82
|
+
budgetSection: string;
|
|
83
|
+
provider: string;
|
|
84
|
+
codeHostProviderReference: string;
|
|
85
|
+
allowWorkflowChanges: string;
|
|
86
|
+
providerSettingsOwnership: string;
|
|
87
|
+
providerAvailable: string;
|
|
88
|
+
providerUnavailable: string;
|
|
89
|
+
providerConfigUnknown: string;
|
|
90
|
+
configurationNamespace: string;
|
|
91
|
+
mcpNotice: string;
|
|
92
|
+
testConnection: string;
|
|
93
|
+
testReady: string;
|
|
94
|
+
testFailed: string;
|
|
95
|
+
maxQueued: string;
|
|
96
|
+
maxRunning: string;
|
|
97
|
+
reconcileSeconds: string;
|
|
98
|
+
budgetNotice: string;
|
|
99
|
+
deploymentCap: string;
|
|
100
|
+
perRunCap: string;
|
|
101
|
+
runAllowance: string;
|
|
102
|
+
saveSettings: string;
|
|
103
|
+
settingsSaved: string;
|
|
104
|
+
settingsConflict: string;
|
|
105
|
+
settingsReadOnly: string;
|
|
106
|
+
settingsLoading: string;
|
|
107
|
+
invalidNumber: string;
|
|
108
|
+
invalidSettings: string;
|
|
109
|
+
openDshSettings: string;
|
|
110
|
+
openSettingsFailed: string;
|
|
111
|
+
briefLimit: string;
|
|
112
|
+
executionSection: string;
|
|
113
|
+
executionMode: string;
|
|
114
|
+
disabled: string;
|
|
115
|
+
native: string;
|
|
116
|
+
targetRepository: string;
|
|
117
|
+
targetBaseBranch: string;
|
|
118
|
+
managedWorktreeRoot: string;
|
|
119
|
+
notificationsSection: string;
|
|
120
|
+
notificationOwnership: string;
|
|
121
|
+
runUrlTemplate: string;
|
|
122
|
+
issueUrlTemplate: string;
|
|
123
|
+
noNotificationSubscriptions: string;
|
|
124
|
+
addNotificationDestination: string;
|
|
125
|
+
removeNotificationDestination: string;
|
|
126
|
+
notificationDestinationNumber: string;
|
|
127
|
+
notificationProviderReference: string;
|
|
128
|
+
notificationDestinationReference: string;
|
|
129
|
+
summaryDisclosure: string;
|
|
130
|
+
redactedDisclosure: string;
|
|
131
|
+
fullDisclosure: string;
|
|
132
|
+
notificationEvents: string;
|
|
133
|
+
notificationEvent_started: string;
|
|
134
|
+
notificationEvent_blocked: string;
|
|
135
|
+
notificationEvent_paused: string;
|
|
136
|
+
notificationEvent_failed: string;
|
|
137
|
+
notificationEvent_completed: string;
|
|
138
|
+
retentionSection: string;
|
|
139
|
+
cleanupRetentionDays: string;
|
|
140
|
+
autoCleanupEnabled: string;
|
|
141
|
+
cleanupSafetyNotice: string;
|
|
142
|
+
mcpConnection: string;
|
|
143
|
+
notConfigured: string;
|
|
144
|
+
credentialUnavailable: string;
|
|
145
|
+
credentialConfigured: string;
|
|
146
|
+
credentialMissing: string;
|
|
147
|
+
credentialValue: string;
|
|
148
|
+
storeCredential: string;
|
|
149
|
+
removeCredential: string;
|
|
150
|
+
credentialSaving: string;
|
|
151
|
+
credentialSaved: string;
|
|
152
|
+
credentialFailed: string;
|
|
153
|
+
configureHint: string;
|
|
154
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { en } from './en.js';
|
|
2
|
+
import { type AutopilotLocaleKey, zh } from './zh.js';
|
|
3
|
+
export type { AutopilotLocaleKey };
|
|
4
|
+
export { en, zh };
|
|
5
|
+
declare module '@deepseek-ai/dsh-client-ui-slots' {
|
|
6
|
+
interface LocaleNamespaceMap {
|
|
7
|
+
autopilot: AutopilotLocaleKey;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
export declare const zh: {
|
|
2
|
+
panelTitle: string;
|
|
3
|
+
panelNav: string;
|
|
4
|
+
panelDescription: string;
|
|
5
|
+
queueRuns: string;
|
|
6
|
+
schedule: string;
|
|
7
|
+
budget: string;
|
|
8
|
+
notifications: string;
|
|
9
|
+
worktrees: string;
|
|
10
|
+
settingsNav: string;
|
|
11
|
+
settingsTitle: string;
|
|
12
|
+
loading: string;
|
|
13
|
+
refresh: string;
|
|
14
|
+
retry: string;
|
|
15
|
+
disconnected: string;
|
|
16
|
+
stale: string;
|
|
17
|
+
noRuns: string;
|
|
18
|
+
clearFilters: string;
|
|
19
|
+
searchRuns: string;
|
|
20
|
+
allStates: string;
|
|
21
|
+
attentionOnly: string;
|
|
22
|
+
results: string;
|
|
23
|
+
pagination: string;
|
|
24
|
+
previousPage: string;
|
|
25
|
+
nextPage: string;
|
|
26
|
+
pageOf: string;
|
|
27
|
+
ticket: string;
|
|
28
|
+
state: string;
|
|
29
|
+
priority: string;
|
|
30
|
+
phase: string;
|
|
31
|
+
spend: string;
|
|
32
|
+
updated: string;
|
|
33
|
+
unknown: string;
|
|
34
|
+
reservedSettled: string;
|
|
35
|
+
selectedRun: string;
|
|
36
|
+
backToRuns: string;
|
|
37
|
+
brief: string;
|
|
38
|
+
timeline: string;
|
|
39
|
+
resources: string;
|
|
40
|
+
worktree: string;
|
|
41
|
+
outcome: string;
|
|
42
|
+
unavailable: string;
|
|
43
|
+
waitingHuman: string;
|
|
44
|
+
pauseRun: string;
|
|
45
|
+
resumeRun: string;
|
|
46
|
+
cancelRun: string;
|
|
47
|
+
schedulerEnabled: string;
|
|
48
|
+
schedulerDisabled: string;
|
|
49
|
+
schedulerDraining: string;
|
|
50
|
+
pauseScheduler: string;
|
|
51
|
+
resumeScheduler: string;
|
|
52
|
+
drainScheduler: string;
|
|
53
|
+
reconcileNow: string;
|
|
54
|
+
commandPending: string;
|
|
55
|
+
commandAccepted: string;
|
|
56
|
+
commandProgress: string;
|
|
57
|
+
commandSucceeded: string;
|
|
58
|
+
commandRejected: string;
|
|
59
|
+
attention: string;
|
|
60
|
+
providerMissing: string;
|
|
61
|
+
scheduleTimezone: string;
|
|
62
|
+
reconcileEvery: string;
|
|
63
|
+
nextReconcile: string;
|
|
64
|
+
noReconcile: string;
|
|
65
|
+
cap: string;
|
|
66
|
+
settled: string;
|
|
67
|
+
reserved: string;
|
|
68
|
+
remaining: string;
|
|
69
|
+
unknownRemaining: string;
|
|
70
|
+
notificationsUnavailable: string;
|
|
71
|
+
noDeliveries: string;
|
|
72
|
+
worktreesUnavailable: string;
|
|
73
|
+
noWorktrees: string;
|
|
74
|
+
cleanupUnavailable: string;
|
|
75
|
+
cleanupPreviewReady: string;
|
|
76
|
+
inspectFailed: string;
|
|
77
|
+
previewCleanup: string;
|
|
78
|
+
removeWorktree: string;
|
|
79
|
+
settingsIntro: string;
|
|
80
|
+
providerSection: string;
|
|
81
|
+
policySection: string;
|
|
82
|
+
budgetSection: string;
|
|
83
|
+
provider: string;
|
|
84
|
+
codeHostProviderReference: string;
|
|
85
|
+
allowWorkflowChanges: string;
|
|
86
|
+
providerSettingsOwnership: string;
|
|
87
|
+
providerAvailable: string;
|
|
88
|
+
providerUnavailable: string;
|
|
89
|
+
providerConfigUnknown: string;
|
|
90
|
+
configurationNamespace: string;
|
|
91
|
+
mcpNotice: string;
|
|
92
|
+
testConnection: string;
|
|
93
|
+
testReady: string;
|
|
94
|
+
testFailed: string;
|
|
95
|
+
maxQueued: string;
|
|
96
|
+
maxRunning: string;
|
|
97
|
+
reconcileSeconds: string;
|
|
98
|
+
budgetNotice: string;
|
|
99
|
+
deploymentCap: string;
|
|
100
|
+
perRunCap: string;
|
|
101
|
+
runAllowance: string;
|
|
102
|
+
saveSettings: string;
|
|
103
|
+
settingsSaved: string;
|
|
104
|
+
settingsConflict: string;
|
|
105
|
+
settingsReadOnly: string;
|
|
106
|
+
settingsLoading: string;
|
|
107
|
+
invalidNumber: string;
|
|
108
|
+
invalidSettings: string;
|
|
109
|
+
openDshSettings: string;
|
|
110
|
+
openSettingsFailed: string;
|
|
111
|
+
briefLimit: string;
|
|
112
|
+
executionSection: string;
|
|
113
|
+
executionMode: string;
|
|
114
|
+
disabled: string;
|
|
115
|
+
native: string;
|
|
116
|
+
targetRepository: string;
|
|
117
|
+
targetBaseBranch: string;
|
|
118
|
+
managedWorktreeRoot: string;
|
|
119
|
+
notificationsSection: string;
|
|
120
|
+
notificationOwnership: string;
|
|
121
|
+
runUrlTemplate: string;
|
|
122
|
+
issueUrlTemplate: string;
|
|
123
|
+
noNotificationSubscriptions: string;
|
|
124
|
+
addNotificationDestination: string;
|
|
125
|
+
removeNotificationDestination: string;
|
|
126
|
+
notificationDestinationNumber: string;
|
|
127
|
+
notificationProviderReference: string;
|
|
128
|
+
notificationDestinationReference: string;
|
|
129
|
+
summaryDisclosure: string;
|
|
130
|
+
redactedDisclosure: string;
|
|
131
|
+
fullDisclosure: string;
|
|
132
|
+
notificationEvents: string;
|
|
133
|
+
notificationEvent_started: string;
|
|
134
|
+
notificationEvent_blocked: string;
|
|
135
|
+
notificationEvent_paused: string;
|
|
136
|
+
notificationEvent_failed: string;
|
|
137
|
+
notificationEvent_completed: string;
|
|
138
|
+
retentionSection: string;
|
|
139
|
+
cleanupRetentionDays: string;
|
|
140
|
+
autoCleanupEnabled: string;
|
|
141
|
+
cleanupSafetyNotice: string;
|
|
142
|
+
mcpConnection: string;
|
|
143
|
+
notConfigured: string;
|
|
144
|
+
credentialUnavailable: string;
|
|
145
|
+
credentialConfigured: string;
|
|
146
|
+
credentialMissing: string;
|
|
147
|
+
credentialValue: string;
|
|
148
|
+
storeCredential: string;
|
|
149
|
+
removeCredential: string;
|
|
150
|
+
credentialSaving: string;
|
|
151
|
+
credentialSaved: string;
|
|
152
|
+
credentialFailed: string;
|
|
153
|
+
configureHint: string;
|
|
154
|
+
};
|
|
155
|
+
export type AutopilotLocaleKey = keyof typeof zh;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots';
|
|
2
|
+
import type { AutopilotSettings, NotificationSubscription } from '../config.js';
|
|
3
|
+
export interface SettingsDraft {
|
|
4
|
+
trackerProvider: string;
|
|
5
|
+
codeHostProvider: string;
|
|
6
|
+
allowWorkflowChanges: boolean;
|
|
7
|
+
notificationSubscriptions: NotificationSubscriptionDraft[];
|
|
8
|
+
runUrlTemplate: string;
|
|
9
|
+
issueUrlTemplate: string;
|
|
10
|
+
maxQueued: string;
|
|
11
|
+
maxRunning: string;
|
|
12
|
+
maxBriefBytes: string;
|
|
13
|
+
reconcileIntervalSeconds: string;
|
|
14
|
+
executionMode: 'disabled' | 'native';
|
|
15
|
+
targetRepository: string;
|
|
16
|
+
targetBaseBranch: string;
|
|
17
|
+
managedWorktreeRoot: string;
|
|
18
|
+
autoCleanupEnabled: boolean;
|
|
19
|
+
cleanupRetentionDays: string;
|
|
20
|
+
deploymentTokenCap: string;
|
|
21
|
+
perRunTokenCap: string;
|
|
22
|
+
runTokenAllowance: string;
|
|
23
|
+
}
|
|
24
|
+
export interface NotificationSubscriptionDraft extends NotificationSubscription {
|
|
25
|
+
readonly draftId: string;
|
|
26
|
+
}
|
|
27
|
+
export type AutopilotTranslate = PropsLocale<'autopilot'>['t'];
|
|
28
|
+
export declare function toSettingsDraft(value: AutopilotSettings): SettingsDraft;
|
|
29
|
+
export declare function parseSettingsDraft(draft: SettingsDraft, current: AutopilotSettings): AutopilotSettings | undefined;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ConnectionHandle, ConnectionState } from '@deepseek-ai/dsh-client-connection/client';
|
|
2
|
+
import { type SnapshotStore } from '@deepseek-ai/dsh-client-store';
|
|
3
|
+
import type { AutopilotRemoteNamespace } from '../remote.js';
|
|
4
|
+
import type { CleanupPreviewView, CommandKind, CommandReceipt, CommandRequest, OperationsQuery, OperationsSnapshot, ProviderTestResult, RunDetailView, WorktreeView } from '../web/contract.js';
|
|
5
|
+
export type QueryState<T> = {
|
|
6
|
+
readonly status: 'loading';
|
|
7
|
+
readonly data?: T;
|
|
8
|
+
} | {
|
|
9
|
+
readonly status: 'ready';
|
|
10
|
+
readonly data: T;
|
|
11
|
+
} | {
|
|
12
|
+
readonly status: 'stale';
|
|
13
|
+
readonly data: T;
|
|
14
|
+
readonly message: string;
|
|
15
|
+
} | {
|
|
16
|
+
readonly status: 'error';
|
|
17
|
+
readonly message: string;
|
|
18
|
+
};
|
|
19
|
+
type PendingCommand = {
|
|
20
|
+
readonly requestId: string;
|
|
21
|
+
readonly status: 'pending';
|
|
22
|
+
readonly kind: CommandKind;
|
|
23
|
+
readonly runId?: string;
|
|
24
|
+
readonly deliveryId?: string;
|
|
25
|
+
readonly previewId?: string;
|
|
26
|
+
readonly message?: string;
|
|
27
|
+
};
|
|
28
|
+
export interface OperationsClientState {
|
|
29
|
+
query: OperationsQuery;
|
|
30
|
+
operations: QueryState<OperationsSnapshot>;
|
|
31
|
+
connection: ConnectionState | 'unknown';
|
|
32
|
+
command?: CommandReceipt | PendingCommand;
|
|
33
|
+
}
|
|
34
|
+
/** Shared cancellable query/command state for the Operations panel and Settings contribution. */
|
|
35
|
+
export declare class OperationsController {
|
|
36
|
+
private readonly remote;
|
|
37
|
+
private readonly connection;
|
|
38
|
+
readonly store: SnapshotStore<OperationsClientState>;
|
|
39
|
+
private activeViews;
|
|
40
|
+
private refreshTimer;
|
|
41
|
+
private refreshRequest;
|
|
42
|
+
private readonly lifetime;
|
|
43
|
+
private readonly following;
|
|
44
|
+
private pendingRequest;
|
|
45
|
+
private requestGeneration;
|
|
46
|
+
private disposed;
|
|
47
|
+
constructor(remote: AutopilotRemoteNamespace, connection: ConnectionHandle, subscribeReset: (listener: () => void) => () => void);
|
|
48
|
+
private readonly disposeSubscriptions;
|
|
49
|
+
connect(): () => void;
|
|
50
|
+
setQuery(patch: Partial<OperationsQuery>): void;
|
|
51
|
+
refresh(): Promise<void>;
|
|
52
|
+
runCommand(kind: CommandKind, target?: Pick<CommandRequest, 'runId' | 'deliveryId' | 'previewId'>): Promise<void>;
|
|
53
|
+
loadRun(runId: string, signal?: AbortSignal): Promise<RunDetailView | null>;
|
|
54
|
+
inspectWorktree(runId: string, signal?: AbortSignal): Promise<WorktreeView | null>;
|
|
55
|
+
previewCleanup(runId: string, signal?: AbortSignal): Promise<CleanupPreviewView | null>;
|
|
56
|
+
testProvider(providerId: string, signal?: AbortSignal): Promise<ProviderTestResult>;
|
|
57
|
+
dispose(): void;
|
|
58
|
+
private submitCommand;
|
|
59
|
+
private recoverCommand;
|
|
60
|
+
private followCommand;
|
|
61
|
+
private setPending;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
declare const codeHostProviderIdBrand: unique symbol;
|
|
2
|
+
declare const codeHostBindingIdBrand: unique symbol;
|
|
3
|
+
declare const codeHostRepositoryIdBrand: unique symbol;
|
|
4
|
+
declare const pullRequestIdBrand: unique symbol;
|
|
5
|
+
export type CodeHostProviderId = string & {
|
|
6
|
+
readonly [codeHostProviderIdBrand]: true;
|
|
7
|
+
};
|
|
8
|
+
export type CodeHostBindingId = string & {
|
|
9
|
+
readonly [codeHostBindingIdBrand]: true;
|
|
10
|
+
};
|
|
11
|
+
export type CodeHostRepositoryId = string & {
|
|
12
|
+
readonly [codeHostRepositoryIdBrand]: true;
|
|
13
|
+
};
|
|
14
|
+
export type PullRequestId = string & {
|
|
15
|
+
readonly [pullRequestIdBrand]: true;
|
|
16
|
+
};
|
|
17
|
+
export declare const codeHostProviderId: (value: string) => CodeHostProviderId;
|
|
18
|
+
export declare const codeHostBindingId: (value: string) => CodeHostBindingId;
|
|
19
|
+
export declare const codeHostRepositoryId: (value: string) => CodeHostRepositoryId;
|
|
20
|
+
export declare const pullRequestId: (value: string) => PullRequestId;
|
|
21
|
+
export declare const CODE_HOST_INTERFACE_VERSION: 1;
|
|
22
|
+
export declare const codeHostCapabilities: readonly ['repository', 'branch', 'pull-request', 'reconciliation'];
|
|
23
|
+
export type CodeHostCapability = (typeof codeHostCapabilities)[number];
|
|
24
|
+
/** Provider-owned publication target selected before a run allocates execution resources. */
|
|
25
|
+
export interface CodeHostBinding {
|
|
26
|
+
readonly providerId: CodeHostProviderId;
|
|
27
|
+
readonly bindingId: CodeHostBindingId;
|
|
28
|
+
readonly repositoryId: CodeHostRepositoryId;
|
|
29
|
+
readonly repository: string;
|
|
30
|
+
}
|
|
31
|
+
export interface CodeHostTreeEntry {
|
|
32
|
+
readonly path: string;
|
|
33
|
+
readonly mode: '100644' | '100755';
|
|
34
|
+
readonly type: 'blob';
|
|
35
|
+
readonly sha: string;
|
|
36
|
+
}
|
|
37
|
+
export interface CodeHostFile {
|
|
38
|
+
readonly path: string;
|
|
39
|
+
readonly content: string;
|
|
40
|
+
}
|
|
41
|
+
/** Complete bounded publication input, reconstructed from the durable intent and verified local Git state. */
|
|
42
|
+
export interface CodeHostPublication {
|
|
43
|
+
readonly bindingId: CodeHostBindingId;
|
|
44
|
+
readonly repositoryId: CodeHostRepositoryId;
|
|
45
|
+
readonly repository: string;
|
|
46
|
+
readonly baseBranch: string;
|
|
47
|
+
readonly headBranch: string;
|
|
48
|
+
readonly baseHead: string;
|
|
49
|
+
readonly localHead: string;
|
|
50
|
+
readonly tree: readonly CodeHostTreeEntry[];
|
|
51
|
+
readonly files: readonly CodeHostFile[];
|
|
52
|
+
readonly title: string;
|
|
53
|
+
readonly body: string;
|
|
54
|
+
readonly marker: string;
|
|
55
|
+
}
|
|
56
|
+
export interface PullRequestReceipt {
|
|
57
|
+
readonly id: PullRequestId;
|
|
58
|
+
readonly number: number;
|
|
59
|
+
readonly url: string;
|
|
60
|
+
readonly state: 'open' | 'merged' | 'closed-unmerged';
|
|
61
|
+
readonly baseBranch: string;
|
|
62
|
+
readonly headBranch: string;
|
|
63
|
+
readonly remoteHead: string;
|
|
64
|
+
}
|
|
65
|
+
export type CodeHostBranchObservation = {
|
|
66
|
+
readonly kind: 'missing';
|
|
67
|
+
} | {
|
|
68
|
+
readonly kind: 'base';
|
|
69
|
+
readonly remoteHead: string;
|
|
70
|
+
} | {
|
|
71
|
+
readonly kind: 'published';
|
|
72
|
+
readonly remoteHead: string;
|
|
73
|
+
} | {
|
|
74
|
+
readonly kind: 'conflict';
|
|
75
|
+
readonly remoteHead: string;
|
|
76
|
+
};
|
|
77
|
+
export type CodeHostPullRequestObservation = {
|
|
78
|
+
readonly kind: 'missing';
|
|
79
|
+
} | {
|
|
80
|
+
readonly kind: 'matching';
|
|
81
|
+
readonly receipt: PullRequestReceipt;
|
|
82
|
+
} | {
|
|
83
|
+
readonly kind: 'conflict';
|
|
84
|
+
readonly reason: string;
|
|
85
|
+
};
|
|
86
|
+
export interface CodeHostReconciliation {
|
|
87
|
+
readonly baseHead: string;
|
|
88
|
+
readonly branch: CodeHostBranchObservation;
|
|
89
|
+
readonly pullRequest: CodeHostPullRequestObservation;
|
|
90
|
+
}
|
|
91
|
+
export interface CodeHostProviderRequest {
|
|
92
|
+
readonly publication: CodeHostPublication;
|
|
93
|
+
readonly signal: AbortSignal;
|
|
94
|
+
}
|
|
95
|
+
export interface CodeHostProvider {
|
|
96
|
+
readonly id: CodeHostProviderId;
|
|
97
|
+
readonly interfaceVersion: typeof CODE_HOST_INTERFACE_VERSION;
|
|
98
|
+
readonly displayName: string;
|
|
99
|
+
readonly configurationNamespace: string;
|
|
100
|
+
readonly capabilities: readonly CodeHostCapability[];
|
|
101
|
+
reconcile(request: CodeHostProviderRequest): Promise<CodeHostReconciliation>;
|
|
102
|
+
createBranch(request: CodeHostProviderRequest): Promise<void>;
|
|
103
|
+
publishChanges(request: CodeHostProviderRequest): Promise<void>;
|
|
104
|
+
createPullRequest(request: CodeHostProviderRequest): Promise<PullRequestReceipt>;
|
|
105
|
+
}
|
|
106
|
+
export interface CodeHostPublisher {
|
|
107
|
+
reconcile(publication: CodeHostPublication, signal?: AbortSignal): Promise<CodeHostReconciliation>;
|
|
108
|
+
createBranch(publication: CodeHostPublication, signal?: AbortSignal): Promise<void>;
|
|
109
|
+
publishChanges(publication: CodeHostPublication, signal?: AbortSignal): Promise<void>;
|
|
110
|
+
createPullRequest(publication: CodeHostPublication, signal?: AbortSignal): Promise<PullRequestReceipt>;
|
|
111
|
+
}
|
|
112
|
+
export type CodeHostProviderErrorCode = 'authentication' | 'permission' | 'invalid-configuration' | 'not-found' | 'conflict' | 'rate-limit' | 'timeout' | 'transient' | 'unsupported-capability' | 'ambiguous-acknowledgement' | 'invalid-response' | 'provider-unavailable';
|
|
113
|
+
export declare class CodeHostProviderError extends Error {
|
|
114
|
+
readonly code: CodeHostProviderErrorCode;
|
|
115
|
+
readonly retryAfterMs?: number | undefined;
|
|
116
|
+
constructor(code: CodeHostProviderErrorCode, message: string, retryAfterMs?: number | undefined);
|
|
117
|
+
}
|
|
118
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Context, Service } from '@deepseek-ai/cordis';
|
|
2
|
+
import { type CodeHostBinding, type CodeHostProvider, type CodeHostProviderId, type CodeHostPublisher } from './model.js';
|
|
3
|
+
declare module '@deepseek-ai/cordis' {
|
|
4
|
+
interface Context {
|
|
5
|
+
codeHost: CodeHost;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/** Generation-fenced normalized code-host seam used only by the Host publication owner. */
|
|
9
|
+
export declare class CodeHost extends Service {
|
|
10
|
+
private readonly providers;
|
|
11
|
+
private readonly bindings;
|
|
12
|
+
constructor(ctx: Context);
|
|
13
|
+
/** Register one complete provider generation; the disposer fences new calls, aborts active work, and drains it. */
|
|
14
|
+
register(provider: CodeHostProvider): () => Promise<void>;
|
|
15
|
+
/** Register the single provider-owned target snapshot used for future execution claims. */
|
|
16
|
+
registerBinding(binding: CodeHostBinding): () => void;
|
|
17
|
+
/** Return the current provider-owned target, or fail before a run can snapshot an unavailable binding. */
|
|
18
|
+
binding(id: CodeHostProviderId): CodeHostBinding;
|
|
19
|
+
/** Retain one provider generation for a publication sequence; provider withdrawal fences every late result. */
|
|
20
|
+
withProvider<T>(id: CodeHostProviderId, operation: (publisher: CodeHostPublisher) => Promise<T>): Promise<T>;
|
|
21
|
+
private invoke;
|
|
22
|
+
}
|
|
23
|
+
export default CodeHost;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const receiptSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodPipe<z.ZodString, z.ZodTransform<import("./model.js").PullRequestId, string>>;
|
|
4
|
+
number: z.ZodNumber;
|
|
5
|
+
url: z.ZodURL;
|
|
6
|
+
state: z.ZodEnum<{
|
|
7
|
+
"closed-unmerged": "closed-unmerged";
|
|
8
|
+
merged: "merged";
|
|
9
|
+
open: "open";
|
|
10
|
+
}>;
|
|
11
|
+
baseBranch: z.ZodString;
|
|
12
|
+
headBranch: z.ZodString;
|
|
13
|
+
remoteHead: z.ZodString;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export declare const reconciliationSchema: z.ZodObject<{
|
|
16
|
+
baseHead: z.ZodString;
|
|
17
|
+
branch: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
18
|
+
kind: z.ZodLiteral<"missing">;
|
|
19
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
20
|
+
kind: z.ZodLiteral<"base">;
|
|
21
|
+
remoteHead: z.ZodString;
|
|
22
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
23
|
+
kind: z.ZodLiteral<"published">;
|
|
24
|
+
remoteHead: z.ZodString;
|
|
25
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
26
|
+
kind: z.ZodLiteral<"conflict">;
|
|
27
|
+
remoteHead: z.ZodString;
|
|
28
|
+
}, z.core.$strip>], "kind">;
|
|
29
|
+
pullRequest: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
30
|
+
kind: z.ZodLiteral<"missing">;
|
|
31
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
32
|
+
kind: z.ZodLiteral<"matching">;
|
|
33
|
+
receipt: z.ZodObject<{
|
|
34
|
+
id: z.ZodPipe<z.ZodString, z.ZodTransform<import("./model.js").PullRequestId, string>>;
|
|
35
|
+
number: z.ZodNumber;
|
|
36
|
+
url: z.ZodURL;
|
|
37
|
+
state: z.ZodEnum<{
|
|
38
|
+
"closed-unmerged": "closed-unmerged";
|
|
39
|
+
merged: "merged";
|
|
40
|
+
open: "open";
|
|
41
|
+
}>;
|
|
42
|
+
baseBranch: z.ZodString;
|
|
43
|
+
headBranch: z.ZodString;
|
|
44
|
+
remoteHead: z.ZodString;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
47
|
+
kind: z.ZodLiteral<"conflict">;
|
|
48
|
+
reason: z.ZodString;
|
|
49
|
+
}, z.core.$strip>], "kind">;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
export { receiptSchema as pullRequestReceiptSchema };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type Context, Service } from '@deepseek-ai/cordis';
|
|
2
|
+
import { type NotificationEvent } from '../notification.js';
|
|
3
|
+
export interface NotificationSubscription {
|
|
4
|
+
providerId: string;
|
|
5
|
+
destinationId: string;
|
|
6
|
+
events: NotificationEvent['type'][];
|
|
7
|
+
summaryDisclosure: 'redacted' | 'full';
|
|
8
|
+
}
|
|
9
|
+
export interface AutopilotSettings {
|
|
10
|
+
trackerProvider: string;
|
|
11
|
+
codeHostProvider: string;
|
|
12
|
+
allowWorkflowChanges: boolean;
|
|
13
|
+
notificationSubscriptions: NotificationSubscription[];
|
|
14
|
+
runUrlTemplate: string;
|
|
15
|
+
issueUrlTemplate: string;
|
|
16
|
+
maxQueued: number;
|
|
17
|
+
maxRunning: number;
|
|
18
|
+
maxBriefBytes: number;
|
|
19
|
+
reconcileIntervalSeconds: number;
|
|
20
|
+
executionMode: 'disabled' | 'native';
|
|
21
|
+
targetRepository: string;
|
|
22
|
+
targetBaseBranch: string;
|
|
23
|
+
managedWorktreeRoot: string;
|
|
24
|
+
runtimeStorePath: string;
|
|
25
|
+
autoCleanupEnabled: boolean;
|
|
26
|
+
cleanupRetentionDays: number;
|
|
27
|
+
deploymentTokenCap: number;
|
|
28
|
+
perRunTokenCap: number;
|
|
29
|
+
runTokenAllowance: number;
|
|
30
|
+
}
|
|
31
|
+
declare module '@deepseek-ai/cordis' {
|
|
32
|
+
interface Context {
|
|
33
|
+
autopilotConfig: AutopilotConfig;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** Own and validate the one root Autopilot Settings namespace. */
|
|
37
|
+
export declare class AutopilotConfig extends Service {
|
|
38
|
+
static readonly inject: string[];
|
|
39
|
+
private settings?;
|
|
40
|
+
constructor(ctx: Context);
|
|
41
|
+
/** Return the current validated Settings snapshot; the caller receives no credential values and performs no I/O. */
|
|
42
|
+
get(): AutopilotSettings;
|
|
43
|
+
/**
|
|
44
|
+
* Observe successfully persisted Settings changes until the returned disposer is called.
|
|
45
|
+
* The Settings service serializes callbacks; callback failures propagate according to its watcher contract.
|
|
46
|
+
*/
|
|
47
|
+
watch(callback: (next: AutopilotSettings, previous: AutopilotSettings) => void | Promise<void>): () => void;
|
|
48
|
+
}
|
|
49
|
+
/** Validate execution routing and budget settings before any resource is acquired. */
|
|
50
|
+
export declare function validateExecutionSettings(settings: AutopilotSettings): void;
|
|
51
|
+
export default AutopilotConfig;
|