@fidelios/server 0.0.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/dist/adapters/codex-models.d.ts +4 -0
- package/dist/adapters/codex-models.d.ts.map +1 -0
- package/dist/adapters/codex-models.js +98 -0
- package/dist/adapters/codex-models.js.map +1 -0
- package/dist/adapters/cursor-models.d.ts +13 -0
- package/dist/adapters/cursor-models.d.ts.map +1 -0
- package/dist/adapters/cursor-models.js +148 -0
- package/dist/adapters/cursor-models.js.map +1 -0
- package/dist/adapters/http/execute.d.ts +3 -0
- package/dist/adapters/http/execute.d.ts.map +1 -0
- package/dist/adapters/http/execute.js +39 -0
- package/dist/adapters/http/execute.js.map +1 -0
- package/dist/adapters/http/index.d.ts +3 -0
- package/dist/adapters/http/index.d.ts.map +1 -0
- package/dist/adapters/http/index.js +20 -0
- package/dist/adapters/http/index.js.map +1 -0
- package/dist/adapters/http/test.d.ts +3 -0
- package/dist/adapters/http/test.d.ts.map +1 -0
- package/dist/adapters/http/test.js +106 -0
- package/dist/adapters/http/test.js.map +1 -0
- package/dist/adapters/index.d.ts +4 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +3 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/process/execute.d.ts +3 -0
- package/dist/adapters/process/execute.d.ts.map +1 -0
- package/dist/adapters/process/execute.js +63 -0
- package/dist/adapters/process/execute.js.map +1 -0
- package/dist/adapters/process/index.d.ts +3 -0
- package/dist/adapters/process/index.d.ts.map +1 -0
- package/dist/adapters/process/index.js +23 -0
- package/dist/adapters/process/index.js.map +1 -0
- package/dist/adapters/process/test.d.ts +3 -0
- package/dist/adapters/process/test.d.ts.map +1 -0
- package/dist/adapters/process/test.js +77 -0
- package/dist/adapters/process/test.js.map +1 -0
- package/dist/adapters/registry.d.ts +14 -0
- package/dist/adapters/registry.d.ts.map +1 -0
- package/dist/adapters/registry.js +164 -0
- package/dist/adapters/registry.js.map +1 -0
- package/dist/adapters/types.d.ts +2 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +2 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/adapters/utils.d.ts +10 -0
- package/dist/adapters/utils.d.ts.map +1 -0
- package/dist/adapters/utils.js +14 -0
- package/dist/adapters/utils.js.map +1 -0
- package/dist/agent-auth-jwt.d.ts +14 -0
- package/dist/agent-auth-jwt.d.ts.map +1 -0
- package/dist/agent-auth-jwt.js +117 -0
- package/dist/agent-auth-jwt.js.map +1 -0
- package/dist/app.d.ts +25 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +265 -0
- package/dist/app.js.map +1 -0
- package/dist/attachment-types.d.ts +33 -0
- package/dist/attachment-types.d.ts.map +1 -0
- package/dist/attachment-types.js +67 -0
- package/dist/attachment-types.js.map +1 -0
- package/dist/auth/better-auth.d.ts +24 -0
- package/dist/auth/better-auth.d.ts.map +1 -0
- package/dist/auth/better-auth.js +108 -0
- package/dist/auth/better-auth.js.map +1 -0
- package/dist/board-claim.d.ts +23 -0
- package/dist/board-claim.d.ts.map +1 -0
- package/dist/board-claim.js +115 -0
- package/dist/board-claim.js.map +1 -0
- package/dist/config-file.d.ts +3 -0
- package/dist/config-file.d.ts.map +1 -0
- package/dist/config-file.js +16 -0
- package/dist/config-file.js.map +1 -0
- package/dist/config.d.ts +45 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +171 -0
- package/dist/config.js.map +1 -0
- package/dist/dev-server-status.d.ts +27 -0
- package/dist/dev-server-status.d.ts.map +1 -0
- package/dist/dev-server-status.js +70 -0
- package/dist/dev-server-status.js.map +1 -0
- package/dist/dev-watch-ignore.d.ts +2 -0
- package/dist/dev-watch-ignore.d.ts.map +1 -0
- package/dist/dev-watch-ignore.js +33 -0
- package/dist/dev-watch-ignore.js.map +1 -0
- package/dist/errors.d.ts +12 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +28 -0
- package/dist/errors.js.map +1 -0
- package/dist/home-paths.d.ts +17 -0
- package/dist/home-paths.d.ts.map +1 -0
- package/dist/home-paths.js +75 -0
- package/dist/home-paths.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +642 -0
- package/dist/index.js.map +1 -0
- package/dist/log-redaction.d.ts +11 -0
- package/dist/log-redaction.d.ts.map +1 -0
- package/dist/log-redaction.js +118 -0
- package/dist/log-redaction.js.map +1 -0
- package/dist/middleware/auth.d.ts +12 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +144 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/board-mutation-guard.d.ts +3 -0
- package/dist/middleware/board-mutation-guard.d.ts.map +1 -0
- package/dist/middleware/board-mutation-guard.js +59 -0
- package/dist/middleware/board-mutation-guard.js.map +1 -0
- package/dist/middleware/error-handler.d.ts +17 -0
- package/dist/middleware/error-handler.d.ts.map +1 -0
- package/dist/middleware/error-handler.js +37 -0
- package/dist/middleware/error-handler.js.map +1 -0
- package/dist/middleware/index.d.ts +4 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +4 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/logger.d.ts +4 -0
- package/dist/middleware/logger.d.ts.map +1 -0
- package/dist/middleware/logger.js +87 -0
- package/dist/middleware/logger.js.map +1 -0
- package/dist/middleware/private-hostname-guard.d.ts +11 -0
- package/dist/middleware/private-hostname-guard.d.ts.map +1 -0
- package/dist/middleware/private-hostname-guard.js +78 -0
- package/dist/middleware/private-hostname-guard.js.map +1 -0
- package/dist/middleware/validate.d.ts +4 -0
- package/dist/middleware/validate.d.ts.map +1 -0
- package/dist/middleware/validate.js +7 -0
- package/dist/middleware/validate.js.map +1 -0
- package/dist/onboarding-assets/ceo/AGENTS.md +54 -0
- package/dist/onboarding-assets/ceo/HEARTBEAT.md +72 -0
- package/dist/onboarding-assets/ceo/SOUL.md +33 -0
- package/dist/onboarding-assets/ceo/TOOLS.md +3 -0
- package/dist/onboarding-assets/default/AGENTS.md +3 -0
- package/dist/paths.d.ts +3 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +31 -0
- package/dist/paths.js.map +1 -0
- package/dist/realtime/live-events-ws.d.ts +28 -0
- package/dist/realtime/live-events-ws.d.ts.map +1 -0
- package/dist/realtime/live-events-ws.js +187 -0
- package/dist/realtime/live-events-ws.js.map +1 -0
- package/dist/redaction.d.ts +4 -0
- package/dist/redaction.d.ts.map +1 -0
- package/dist/redaction.js +63 -0
- package/dist/redaction.js.map +1 -0
- package/dist/routes/access.d.ts +61 -0
- package/dist/routes/access.d.ts.map +1 -0
- package/dist/routes/access.js +2265 -0
- package/dist/routes/access.js.map +1 -0
- package/dist/routes/activity.d.ts +3 -0
- package/dist/routes/activity.d.ts.map +1 -0
- package/dist/routes/activity.js +78 -0
- package/dist/routes/activity.js.map +1 -0
- package/dist/routes/agents.d.ts +3 -0
- package/dist/routes/agents.d.ts.map +1 -0
- package/dist/routes/agents.js +1828 -0
- package/dist/routes/agents.js.map +1 -0
- package/dist/routes/approvals.d.ts +3 -0
- package/dist/routes/approvals.d.ts.map +1 -0
- package/dist/routes/approvals.js +275 -0
- package/dist/routes/approvals.js.map +1 -0
- package/dist/routes/assets.d.ts +4 -0
- package/dist/routes/assets.d.ts.map +1 -0
- package/dist/routes/assets.js +309 -0
- package/dist/routes/assets.js.map +1 -0
- package/dist/routes/authz.d.ts +16 -0
- package/dist/routes/authz.d.ts.map +1 -0
- package/dist/routes/authz.js +47 -0
- package/dist/routes/authz.js.map +1 -0
- package/dist/routes/companies.d.ts +4 -0
- package/dist/routes/companies.d.ts.map +1 -0
- package/dist/routes/companies.js +303 -0
- package/dist/routes/companies.js.map +1 -0
- package/dist/routes/company-skills.d.ts +3 -0
- package/dist/routes/company-skills.d.ts.map +1 -0
- package/dist/routes/company-skills.js +228 -0
- package/dist/routes/company-skills.js.map +1 -0
- package/dist/routes/costs.d.ts +3 -0
- package/dist/routes/costs.d.ts.map +1 -0
- package/dist/routes/costs.js +268 -0
- package/dist/routes/costs.js.map +1 -0
- package/dist/routes/dashboard.d.ts +3 -0
- package/dist/routes/dashboard.d.ts.map +1 -0
- package/dist/routes/dashboard.js +15 -0
- package/dist/routes/dashboard.js.map +1 -0
- package/dist/routes/execution-workspaces.d.ts +3 -0
- package/dist/routes/execution-workspaces.d.ts.map +1 -0
- package/dist/routes/execution-workspaces.js +165 -0
- package/dist/routes/execution-workspaces.js.map +1 -0
- package/dist/routes/goals.d.ts +3 -0
- package/dist/routes/goals.d.ts.map +1 -0
- package/dist/routes/goals.js +95 -0
- package/dist/routes/goals.js.map +1 -0
- package/dist/routes/health.d.ts +9 -0
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +69 -0
- package/dist/routes/health.js.map +1 -0
- package/dist/routes/index.d.ts +18 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +18 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/instance-settings.d.ts +3 -0
- package/dist/routes/instance-settings.d.ts.map +1 -0
- package/dist/routes/instance-settings.js +71 -0
- package/dist/routes/instance-settings.js.map +1 -0
- package/dist/routes/issues-checkout-wakeup.d.ts +9 -0
- package/dist/routes/issues-checkout-wakeup.d.ts.map +1 -0
- package/dist/routes/issues-checkout-wakeup.js +12 -0
- package/dist/routes/issues-checkout-wakeup.js.map +1 -0
- package/dist/routes/issues.d.ts +4 -0
- package/dist/routes/issues.d.ts.map +1 -0
- package/dist/routes/issues.js +1520 -0
- package/dist/routes/issues.js.map +1 -0
- package/dist/routes/llms.d.ts +3 -0
- package/dist/routes/llms.d.ts.map +1 -0
- package/dist/routes/llms.js +78 -0
- package/dist/routes/llms.js.map +1 -0
- package/dist/routes/org-chart-svg.d.ts +25 -0
- package/dist/routes/org-chart-svg.d.ts.map +1 -0
- package/dist/routes/org-chart-svg.js +656 -0
- package/dist/routes/org-chart-svg.js.map +1 -0
- package/dist/routes/plugin-ui-static.d.ts +69 -0
- package/dist/routes/plugin-ui-static.d.ts.map +1 -0
- package/dist/routes/plugin-ui-static.js +411 -0
- package/dist/routes/plugin-ui-static.js.map +1 -0
- package/dist/routes/plugins.d.ts +120 -0
- package/dist/routes/plugins.d.ts.map +1 -0
- package/dist/routes/plugins.js +1784 -0
- package/dist/routes/plugins.js.map +1 -0
- package/dist/routes/projects.d.ts +3 -0
- package/dist/routes/projects.d.ts.map +1 -0
- package/dist/routes/projects.js +257 -0
- package/dist/routes/projects.js.map +1 -0
- package/dist/routes/routines.d.ts +3 -0
- package/dist/routes/routines.d.ts.map +1 -0
- package/dist/routes/routines.js +277 -0
- package/dist/routes/routines.js.map +1 -0
- package/dist/routes/secrets.d.ts +3 -0
- package/dist/routes/secrets.d.ts.map +1 -0
- package/dist/routes/secrets.js +128 -0
- package/dist/routes/secrets.js.map +1 -0
- package/dist/routes/sidebar-badges.d.ts +3 -0
- package/dist/routes/sidebar-badges.d.ts.map +1 -0
- package/dist/routes/sidebar-badges.js +45 -0
- package/dist/routes/sidebar-badges.js.map +1 -0
- package/dist/secrets/external-stub-providers.d.ts +5 -0
- package/dist/secrets/external-stub-providers.d.ts.map +1 -0
- package/dist/secrets/external-stub-providers.js +21 -0
- package/dist/secrets/external-stub-providers.js.map +1 -0
- package/dist/secrets/local-encrypted-provider.d.ts +3 -0
- package/dist/secrets/local-encrypted-provider.d.ts.map +1 -0
- package/dist/secrets/local-encrypted-provider.js +116 -0
- package/dist/secrets/local-encrypted-provider.js.map +1 -0
- package/dist/secrets/provider-registry.d.ts +5 -0
- package/dist/secrets/provider-registry.d.ts.map +1 -0
- package/dist/secrets/provider-registry.js +20 -0
- package/dist/secrets/provider-registry.js.map +1 -0
- package/dist/secrets/types.d.ts +21 -0
- package/dist/secrets/types.d.ts.map +1 -0
- package/dist/secrets/types.js +2 -0
- package/dist/secrets/types.js.map +1 -0
- package/dist/services/access.d.ts +113 -0
- package/dist/services/access.d.ts.map +1 -0
- package/dist/services/access.js +247 -0
- package/dist/services/access.js.map +1 -0
- package/dist/services/activity-log.d.ts +17 -0
- package/dist/services/activity-log.d.ts.map +1 -0
- package/dist/services/activity-log.js +74 -0
- package/dist/services/activity-log.js.map +1 -0
- package/dist/services/activity.d.ts +764 -0
- package/dist/services/activity.d.ts.map +1 -0
- package/dist/services/activity.js +105 -0
- package/dist/services/activity.js.map +1 -0
- package/dist/services/agent-instructions.d.ts +91 -0
- package/dist/services/agent-instructions.d.ts.map +1 -0
- package/dist/services/agent-instructions.js +580 -0
- package/dist/services/agent-instructions.js.map +1 -0
- package/dist/services/agent-permissions.d.ts +6 -0
- package/dist/services/agent-permissions.d.ts.map +1 -0
- package/dist/services/agent-permissions.js +18 -0
- package/dist/services/agent-permissions.js.map +1 -0
- package/dist/services/agents.d.ts +1670 -0
- package/dist/services/agents.d.ts.map +1 -0
- package/dist/services/agents.js +566 -0
- package/dist/services/agents.js.map +1 -0
- package/dist/services/approvals.d.ts +546 -0
- package/dist/services/approvals.d.ts.map +1 -0
- package/dist/services/approvals.js +212 -0
- package/dist/services/approvals.js.map +1 -0
- package/dist/services/assets.d.ts +33 -0
- package/dist/services/assets.d.ts.map +1 -0
- package/dist/services/assets.js +17 -0
- package/dist/services/assets.js.map +1 -0
- package/dist/services/board-auth.d.ts +234 -0
- package/dist/services/board-auth.d.ts.map +1 -0
- package/dist/services/board-auth.js +295 -0
- package/dist/services/board-auth.js.map +1 -0
- package/dist/services/budgets.d.ts +38 -0
- package/dist/services/budgets.d.ts.map +1 -0
- package/dist/services/budgets.js +784 -0
- package/dist/services/budgets.js.map +1 -0
- package/dist/services/companies.d.ts +124 -0
- package/dist/services/companies.d.ts.map +1 -0
- package/dist/services/companies.js +256 -0
- package/dist/services/companies.js.map +1 -0
- package/dist/services/company-export-readme.d.ts +17 -0
- package/dist/services/company-export-readme.d.ts.map +1 -0
- package/dist/services/company-export-readme.js +148 -0
- package/dist/services/company-export-readme.js.map +1 -0
- package/dist/services/company-portability.d.ts +23 -0
- package/dist/services/company-portability.d.ts.map +1 -0
- package/dist/services/company-portability.js +3739 -0
- package/dist/services/company-portability.js.map +1 -0
- package/dist/services/company-skills.d.ts +77 -0
- package/dist/services/company-skills.d.ts.map +1 -0
- package/dist/services/company-skills.js +2042 -0
- package/dist/services/company-skills.js.map +1 -0
- package/dist/services/costs.d.ts +114 -0
- package/dist/services/costs.d.ts.map +1 -0
- package/dist/services/costs.js +294 -0
- package/dist/services/costs.js.map +1 -0
- package/dist/services/cron.d.ts +80 -0
- package/dist/services/cron.d.ts.map +1 -0
- package/dist/services/cron.js +300 -0
- package/dist/services/cron.js.map +1 -0
- package/dist/services/dashboard.d.ts +26 -0
- package/dist/services/dashboard.d.ts.map +1 -0
- package/dist/services/dashboard.js +98 -0
- package/dist/services/dashboard.js.map +1 -0
- package/dist/services/default-agent-instructions.d.ts +9 -0
- package/dist/services/default-agent-instructions.d.ts.map +1 -0
- package/dist/services/default-agent-instructions.js +20 -0
- package/dist/services/default-agent-instructions.js.map +1 -0
- package/dist/services/documents.d.ts +164 -0
- package/dist/services/documents.d.ts.map +1 -0
- package/dist/services/documents.js +382 -0
- package/dist/services/documents.js.map +1 -0
- package/dist/services/execution-workspace-policy.d.ts +21 -0
- package/dist/services/execution-workspace-policy.d.ts.map +1 -0
- package/dist/services/execution-workspace-policy.js +177 -0
- package/dist/services/execution-workspace-policy.js.map +1 -0
- package/dist/services/execution-workspaces.d.ts +19 -0
- package/dist/services/execution-workspaces.d.ts.map +1 -0
- package/dist/services/execution-workspaces.js +87 -0
- package/dist/services/execution-workspaces.js.map +1 -0
- package/dist/services/finance.d.ts +93 -0
- package/dist/services/finance.d.ts.map +1 -0
- package/dist/services/finance.js +120 -0
- package/dist/services/finance.js.map +1 -0
- package/dist/services/goals.d.ts +433 -0
- package/dist/services/goals.d.ts.map +1 -0
- package/dist/services/goals.js +54 -0
- package/dist/services/goals.js.map +1 -0
- package/dist/services/heartbeat-run-summary.d.ts +2 -0
- package/dist/services/heartbeat-run-summary.d.ts.map +1 -0
- package/dist/services/heartbeat-run-summary.js +30 -0
- package/dist/services/heartbeat-run-summary.js.map +1 -0
- package/dist/services/heartbeat.d.ts +812 -0
- package/dist/services/heartbeat.d.ts.map +1 -0
- package/dist/services/heartbeat.js +3156 -0
- package/dist/services/heartbeat.js.map +1 -0
- package/dist/services/hire-hook.d.ts +14 -0
- package/dist/services/hire-hook.d.ts.map +1 -0
- package/dist/services/hire-hook.js +85 -0
- package/dist/services/hire-hook.js.map +1 -0
- package/dist/services/index.d.ts +33 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +33 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/instance-settings.d.ts +11 -0
- package/dist/services/instance-settings.d.ts.map +1 -0
- package/dist/services/instance-settings.js +116 -0
- package/dist/services/instance-settings.js.map +1 -0
- package/dist/services/issue-approvals.d.ts +56 -0
- package/dist/services/issue-approvals.d.ts.map +1 -0
- package/dist/services/issue-approvals.js +153 -0
- package/dist/services/issue-approvals.js.map +1 -0
- package/dist/services/issue-assignment-wakeup.d.ts +29 -0
- package/dist/services/issue-assignment-wakeup.d.ts.map +1 -0
- package/dist/services/issue-assignment-wakeup.js +22 -0
- package/dist/services/issue-assignment-wakeup.js.map +1 -0
- package/dist/services/issue-goal-fallback.d.ts +18 -0
- package/dist/services/issue-goal-fallback.d.ts.map +1 -0
- package/dist/services/issue-goal-fallback.js +33 -0
- package/dist/services/issue-goal-fallback.js.map +1 -0
- package/dist/services/issues.d.ts +560 -0
- package/dist/services/issues.d.ts.map +1 -0
- package/dist/services/issues.js +1478 -0
- package/dist/services/issues.js.map +1 -0
- package/dist/services/live-events.d.ts +17 -0
- package/dist/services/live-events.d.ts.map +1 -0
- package/dist/services/live-events.js +33 -0
- package/dist/services/live-events.js.map +1 -0
- package/dist/services/plugin-capability-validator.d.ts +108 -0
- package/dist/services/plugin-capability-validator.d.ts.map +1 -0
- package/dist/services/plugin-capability-validator.js +268 -0
- package/dist/services/plugin-capability-validator.js.map +1 -0
- package/dist/services/plugin-config-validator.d.ts +26 -0
- package/dist/services/plugin-config-validator.d.ts.map +1 -0
- package/dist/services/plugin-config-validator.js +41 -0
- package/dist/services/plugin-config-validator.js.map +1 -0
- package/dist/services/plugin-dev-watcher.d.ts +30 -0
- package/dist/services/plugin-dev-watcher.d.ts.map +1 -0
- package/dist/services/plugin-dev-watcher.js +241 -0
- package/dist/services/plugin-dev-watcher.js.map +1 -0
- package/dist/services/plugin-event-bus.d.ts +149 -0
- package/dist/services/plugin-event-bus.d.ts.map +1 -0
- package/dist/services/plugin-event-bus.js +258 -0
- package/dist/services/plugin-event-bus.js.map +1 -0
- package/dist/services/plugin-host-service-cleanup.d.ts +14 -0
- package/dist/services/plugin-host-service-cleanup.d.ts.map +1 -0
- package/dist/services/plugin-host-service-cleanup.js +37 -0
- package/dist/services/plugin-host-service-cleanup.js.map +1 -0
- package/dist/services/plugin-host-services.d.ts +13 -0
- package/dist/services/plugin-host-services.d.ts.map +1 -0
- package/dist/services/plugin-host-services.js +969 -0
- package/dist/services/plugin-host-services.js.map +1 -0
- package/dist/services/plugin-job-coordinator.d.ts +81 -0
- package/dist/services/plugin-job-coordinator.d.ts.map +1 -0
- package/dist/services/plugin-job-coordinator.js +172 -0
- package/dist/services/plugin-job-coordinator.js.map +1 -0
- package/dist/services/plugin-job-scheduler.d.ts +163 -0
- package/dist/services/plugin-job-scheduler.d.ts.map +1 -0
- package/dist/services/plugin-job-scheduler.js +454 -0
- package/dist/services/plugin-job-scheduler.js.map +1 -0
- package/dist/services/plugin-job-store.d.ts +208 -0
- package/dist/services/plugin-job-store.d.ts.map +1 -0
- package/dist/services/plugin-job-store.js +350 -0
- package/dist/services/plugin-job-store.js.map +1 -0
- package/dist/services/plugin-lifecycle.d.ts +203 -0
- package/dist/services/plugin-lifecycle.d.ts.map +1 -0
- package/dist/services/plugin-lifecycle.js +476 -0
- package/dist/services/plugin-lifecycle.js.map +1 -0
- package/dist/services/plugin-loader.d.ts +441 -0
- package/dist/services/plugin-loader.d.ts.map +1 -0
- package/dist/services/plugin-loader.js +1192 -0
- package/dist/services/plugin-loader.js.map +1 -0
- package/dist/services/plugin-log-retention.d.ts +20 -0
- package/dist/services/plugin-log-retention.d.ts.map +1 -0
- package/dist/services/plugin-log-retention.js +63 -0
- package/dist/services/plugin-log-retention.js.map +1 -0
- package/dist/services/plugin-manifest-validator.d.ts +79 -0
- package/dist/services/plugin-manifest-validator.d.ts.map +1 -0
- package/dist/services/plugin-manifest-validator.js +84 -0
- package/dist/services/plugin-manifest-validator.js.map +1 -0
- package/dist/services/plugin-registry.d.ts +2542 -0
- package/dist/services/plugin-registry.d.ts.map +1 -0
- package/dist/services/plugin-registry.js +539 -0
- package/dist/services/plugin-registry.js.map +1 -0
- package/dist/services/plugin-runtime-sandbox.d.ts +40 -0
- package/dist/services/plugin-runtime-sandbox.d.ts.map +1 -0
- package/dist/services/plugin-runtime-sandbox.js +154 -0
- package/dist/services/plugin-runtime-sandbox.js.map +1 -0
- package/dist/services/plugin-secrets-handler.d.ts +81 -0
- package/dist/services/plugin-secrets-handler.d.ts.map +1 -0
- package/dist/services/plugin-secrets-handler.js +275 -0
- package/dist/services/plugin-secrets-handler.js.map +1 -0
- package/dist/services/plugin-state-store.d.ts +92 -0
- package/dist/services/plugin-state-store.d.ts.map +1 -0
- package/dist/services/plugin-state-store.js +190 -0
- package/dist/services/plugin-state-store.js.map +1 -0
- package/dist/services/plugin-stream-bus.d.ts +29 -0
- package/dist/services/plugin-stream-bus.d.ts.map +1 -0
- package/dist/services/plugin-stream-bus.js +48 -0
- package/dist/services/plugin-stream-bus.js.map +1 -0
- package/dist/services/plugin-tool-dispatcher.d.ts +180 -0
- package/dist/services/plugin-tool-dispatcher.d.ts.map +1 -0
- package/dist/services/plugin-tool-dispatcher.js +224 -0
- package/dist/services/plugin-tool-dispatcher.js.map +1 -0
- package/dist/services/plugin-tool-registry.d.ts +192 -0
- package/dist/services/plugin-tool-registry.d.ts.map +1 -0
- package/dist/services/plugin-tool-registry.js +224 -0
- package/dist/services/plugin-tool-registry.js.map +1 -0
- package/dist/services/plugin-worker-manager.d.ts +260 -0
- package/dist/services/plugin-worker-manager.d.ts.map +1 -0
- package/dist/services/plugin-worker-manager.js +835 -0
- package/dist/services/plugin-worker-manager.js.map +1 -0
- package/dist/services/projects.d.ts +87 -0
- package/dist/services/projects.d.ts.map +1 -0
- package/dist/services/projects.js +656 -0
- package/dist/services/projects.js.map +1 -0
- package/dist/services/quota-windows.d.ts +9 -0
- package/dist/services/quota-windows.d.ts.map +1 -0
- package/dist/services/quota-windows.js +56 -0
- package/dist/services/quota-windows.js.map +1 -0
- package/dist/services/routines.d.ts +135 -0
- package/dist/services/routines.d.ts.map +1 -0
- package/dist/services/routines.js +1105 -0
- package/dist/services/routines.js.map +1 -0
- package/dist/services/run-log-store.d.ts +34 -0
- package/dist/services/run-log-store.d.ts.map +1 -0
- package/dist/services/run-log-store.js +109 -0
- package/dist/services/run-log-store.js.map +1 -0
- package/dist/services/secrets.d.ts +511 -0
- package/dist/services/secrets.d.ts.map +1 -0
- package/dist/services/secrets.js +289 -0
- package/dist/services/secrets.js.map +1 -0
- package/dist/services/sidebar-badges.d.ts +9 -0
- package/dist/services/sidebar-badges.d.ts.map +1 -0
- package/dist/services/sidebar-badges.js +33 -0
- package/dist/services/sidebar-badges.js.map +1 -0
- package/dist/services/work-products.d.ts +14 -0
- package/dist/services/work-products.d.ts.map +1 -0
- package/dist/services/work-products.js +100 -0
- package/dist/services/work-products.js.map +1 -0
- package/dist/services/workspace-operation-log-store.d.ts +33 -0
- package/dist/services/workspace-operation-log-store.d.ts.map +1 -0
- package/dist/services/workspace-operation-log-store.js +110 -0
- package/dist/services/workspace-operation-log-store.js.map +1 -0
- package/dist/services/workspace-operations.d.ts +44 -0
- package/dist/services/workspace-operations.d.ts.map +1 -0
- package/dist/services/workspace-operations.js +211 -0
- package/dist/services/workspace-operations.js.map +1 -0
- package/dist/services/workspace-runtime.d.ts +164 -0
- package/dist/services/workspace-runtime.d.ts.map +1 -0
- package/dist/services/workspace-runtime.js +1235 -0
- package/dist/services/workspace-runtime.js.map +1 -0
- package/dist/startup-banner.d.ts +31 -0
- package/dist/startup-banner.d.ts.map +1 -0
- package/dist/startup-banner.js +117 -0
- package/dist/startup-banner.js.map +1 -0
- package/dist/storage/index.d.ts +6 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +29 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/local-disk-provider.d.ts +3 -0
- package/dist/storage/local-disk-provider.d.ts.map +1 -0
- package/dist/storage/local-disk-provider.js +79 -0
- package/dist/storage/local-disk-provider.js.map +1 -0
- package/dist/storage/provider-registry.d.ts +4 -0
- package/dist/storage/provider-registry.d.ts.map +1 -0
- package/dist/storage/provider-registry.js +15 -0
- package/dist/storage/provider-registry.js.map +1 -0
- package/dist/storage/s3-provider.d.ts +11 -0
- package/dist/storage/s3-provider.d.ts.map +1 -0
- package/dist/storage/s3-provider.js +123 -0
- package/dist/storage/s3-provider.js.map +1 -0
- package/dist/storage/service.d.ts +3 -0
- package/dist/storage/service.d.ts.map +1 -0
- package/dist/storage/service.js +120 -0
- package/dist/storage/service.js.map +1 -0
- package/dist/storage/types.d.ts +55 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +2 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/ui-branding.d.ts +13 -0
- package/dist/ui-branding.d.ts.map +1 -0
- package/dist/ui-branding.js +187 -0
- package/dist/ui-branding.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/dist/worktree-config.d.ts +19 -0
- package/dist/worktree-config.d.ts.map +1 -0
- package/dist/worktree-config.js +365 -0
- package/dist/worktree-config.js.map +1 -0
- package/package.json +95 -0
- package/ui-dist/android-chrome-192x192.png +0 -0
- package/ui-dist/android-chrome-512x512.png +0 -0
- package/ui-dist/apple-touch-icon.png +0 -0
- package/ui-dist/assets/_basePickBy-BB1S19s0.js +1 -0
- package/ui-dist/assets/_baseUniq-BNk0p-bq.js +1 -0
- package/ui-dist/assets/apl-B4CMkyY2.js +1 -0
- package/ui-dist/assets/arc-Ds13x1NW.js +1 -0
- package/ui-dist/assets/architectureDiagram-VXUJARFQ-D8Br-_jt.js +36 -0
- package/ui-dist/assets/asciiarmor-Df11BRmG.js +1 -0
- package/ui-dist/assets/asn1-EdZsLKOL.js +1 -0
- package/ui-dist/assets/asterisk-B-8jnY81.js +1 -0
- package/ui-dist/assets/blockDiagram-VD42YOAC-CCYsAhQ5.js +122 -0
- package/ui-dist/assets/brainfuck-C4LP7Hcl.js +1 -0
- package/ui-dist/assets/c4Diagram-YG6GDRKO-CsrnTJYB.js +10 -0
- package/ui-dist/assets/channel-Df4ReTUQ.js +1 -0
- package/ui-dist/assets/chunk-4BX2VUAB-s-S3bm2a.js +1 -0
- package/ui-dist/assets/chunk-55IACEB6-AlPeSG3C.js +1 -0
- package/ui-dist/assets/chunk-B4BG7PRW-Dlv3zmp0.js +165 -0
- package/ui-dist/assets/chunk-DI55MBZ5-y3Hfc2F6.js +220 -0
- package/ui-dist/assets/chunk-FMBD7UC4-ZbmFZ8uD.js +15 -0
- package/ui-dist/assets/chunk-QN33PNHL-g7XrAaL5.js +1 -0
- package/ui-dist/assets/chunk-QZHKN3VN-DQz2X_ZR.js +1 -0
- package/ui-dist/assets/chunk-TZMSLE5B-NRbDhryd.js +1 -0
- package/ui-dist/assets/classDiagram-2ON5EDUG-CdLb01dH.js +1 -0
- package/ui-dist/assets/classDiagram-v2-WZHVMYZB-CdLb01dH.js +1 -0
- package/ui-dist/assets/clike-B9uivgTg.js +1 -0
- package/ui-dist/assets/clojure-BMjYHr_A.js +1 -0
- package/ui-dist/assets/clone-ycTwxHSX.js +1 -0
- package/ui-dist/assets/cmake-BQqOBYOt.js +1 -0
- package/ui-dist/assets/cobol-CWcv1MsR.js +1 -0
- package/ui-dist/assets/coffeescript-S37ZYGWr.js +1 -0
- package/ui-dist/assets/commonlisp-DBKNyK5s.js +1 -0
- package/ui-dist/assets/cose-bilkent-S5V4N54A-CifA3UGC.js +1 -0
- package/ui-dist/assets/crystal-SjHAIU92.js +1 -0
- package/ui-dist/assets/css-BnMrqG3P.js +1 -0
- package/ui-dist/assets/cypher-C_CwsFkJ.js +1 -0
- package/ui-dist/assets/cytoscape.esm-BQaXIfA_.js +331 -0
- package/ui-dist/assets/d-pRatUO7H.js +1 -0
- package/ui-dist/assets/dagre-6UL2VRFP-Cy4_402x.js +4 -0
- package/ui-dist/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/ui-dist/assets/diagram-PSM6KHXK-CUA-Vqxe.js +24 -0
- package/ui-dist/assets/diagram-QEK2KX5R-D763Ackt.js +43 -0
- package/ui-dist/assets/diagram-S2PKOQOG-Cu1xEKHt.js +24 -0
- package/ui-dist/assets/diff-DbItnlRl.js +1 -0
- package/ui-dist/assets/dockerfile-BKs6k2Af.js +1 -0
- package/ui-dist/assets/dtd-DF_7sFjM.js +1 -0
- package/ui-dist/assets/dylan-DwRh75JA.js +1 -0
- package/ui-dist/assets/ebnf-CDyGwa7X.js +1 -0
- package/ui-dist/assets/ecl-Cabwm37j.js +1 -0
- package/ui-dist/assets/eiffel-CnydiIhH.js +1 -0
- package/ui-dist/assets/elm-vLlmbW-K.js +1 -0
- package/ui-dist/assets/erDiagram-Q2GNP2WA-9RlN9oCi.js +60 -0
- package/ui-dist/assets/erlang-BNw1qcRV.js +1 -0
- package/ui-dist/assets/factor-kuTfRLto.js +1 -0
- package/ui-dist/assets/fcl-Kvtd6kyn.js +1 -0
- package/ui-dist/assets/flowDiagram-NV44I4VS-Ddv1tq-H.js +162 -0
- package/ui-dist/assets/forth-Ffai-XNe.js +1 -0
- package/ui-dist/assets/fortran-DYz_wnZ1.js +1 -0
- package/ui-dist/assets/ganttDiagram-JELNMOA3-DAw7UfVT.js +267 -0
- package/ui-dist/assets/gas-Bneqetm1.js +1 -0
- package/ui-dist/assets/gherkin-heZmZLOM.js +1 -0
- package/ui-dist/assets/gitGraphDiagram-V2S2FVAM-CLPkzwpF.js +65 -0
- package/ui-dist/assets/graph-B1ThnnK5.js +1 -0
- package/ui-dist/assets/groovy-D9Dt4D0W.js +1 -0
- package/ui-dist/assets/haskell-Cw1EW3IL.js +1 -0
- package/ui-dist/assets/haxe-H-WmDvRZ.js +1 -0
- package/ui-dist/assets/http-DBlCnlav.js +1 -0
- package/ui-dist/assets/idl-BEugSyMb.js +1 -0
- package/ui-dist/assets/index-0DYmQxT3.js +2 -0
- package/ui-dist/assets/index-1BRIjwwa.js +1 -0
- package/ui-dist/assets/index-4pxn9bje.js +1 -0
- package/ui-dist/assets/index-B02pjBpR.js +7 -0
- package/ui-dist/assets/index-BGjMkZzC.js +1 -0
- package/ui-dist/assets/index-BHsjaYJ1.js +1 -0
- package/ui-dist/assets/index-BTwpjL-6.js +1 -0
- package/ui-dist/assets/index-BZ72uG4K.js +6 -0
- package/ui-dist/assets/index-BpC8VHcj.js +3 -0
- package/ui-dist/assets/index-BrvXvCkd.js +1 -0
- package/ui-dist/assets/index-CEBcI-2f.js +1 -0
- package/ui-dist/assets/index-CkmjCahV.js +1 -0
- package/ui-dist/assets/index-Cp84QmJD.css +1 -0
- package/ui-dist/assets/index-CpVjtxma.js +1 -0
- package/ui-dist/assets/index-D3AJPUjv.js +1 -0
- package/ui-dist/assets/index-DRkeP4vs.js +13 -0
- package/ui-dist/assets/index-DXeNhnre.js +1180 -0
- package/ui-dist/assets/index-DXvXmooU.js +1 -0
- package/ui-dist/assets/index-DZdwValG.js +1 -0
- package/ui-dist/assets/index-DbWj5-qO.js +1 -0
- package/ui-dist/assets/index-DbcKBTbp.js +1 -0
- package/ui-dist/assets/index-DdAQdjTR.js +1 -0
- package/ui-dist/assets/index-DlImcHKo.js +1 -0
- package/ui-dist/assets/index-X9LdJDbl.js +1 -0
- package/ui-dist/assets/infoDiagram-HS3SLOUP-CbJm6kuq.js +2 -0
- package/ui-dist/assets/init-Gi6I4Gst.js +1 -0
- package/ui-dist/assets/javascript-iXu5QeM3.js +1 -0
- package/ui-dist/assets/journeyDiagram-XKPGCS4Q-CeNVFpGu.js +139 -0
- package/ui-dist/assets/julia-DuME0IfC.js +1 -0
- package/ui-dist/assets/kanban-definition-3W4ZIXB7-DRqPoDRI.js +89 -0
- package/ui-dist/assets/katex-O9d3_IXG.js +261 -0
- package/ui-dist/assets/layout-CZTKj8OD.js +1 -0
- package/ui-dist/assets/linear-BDJjeIco.js +1 -0
- package/ui-dist/assets/livescript-BwQOo05w.js +1 -0
- package/ui-dist/assets/lua-BgMRiT3U.js +1 -0
- package/ui-dist/assets/mathematica-DTrFuWx2.js +1 -0
- package/ui-dist/assets/mbox-CNhZ1qSd.js +1 -0
- package/ui-dist/assets/mermaid.core-B5v7dPHY.js +256 -0
- package/ui-dist/assets/mindmap-definition-VGOIOE7T-zjw0AyzL.js +68 -0
- package/ui-dist/assets/mirc-CjQqDB4T.js +1 -0
- package/ui-dist/assets/mllike-CXdrOF99.js +1 -0
- package/ui-dist/assets/modelica-Dc1JOy9r.js +1 -0
- package/ui-dist/assets/mscgen-BA5vi2Kp.js +1 -0
- package/ui-dist/assets/mumps-BT43cFF4.js +1 -0
- package/ui-dist/assets/nginx-DdIZxoE0.js +1 -0
- package/ui-dist/assets/nsis-LdVXkNf5.js +1 -0
- package/ui-dist/assets/ntriples-BfvgReVJ.js +1 -0
- package/ui-dist/assets/octave-Ck1zUtKM.js +1 -0
- package/ui-dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/ui-dist/assets/oz-BzwKVEFT.js +1 -0
- package/ui-dist/assets/pascal--L3eBynH.js +1 -0
- package/ui-dist/assets/perl-CdXCOZ3F.js +1 -0
- package/ui-dist/assets/pieDiagram-ADFJNKIX-ojNQ8Ukr.js +30 -0
- package/ui-dist/assets/pig-CevX1Tat.js +1 -0
- package/ui-dist/assets/powershell-CFHJl5sT.js +1 -0
- package/ui-dist/assets/properties-C78fOPTZ.js +1 -0
- package/ui-dist/assets/protobuf-ChK-085T.js +1 -0
- package/ui-dist/assets/pug-DeIclll2.js +1 -0
- package/ui-dist/assets/puppet-DMA9R1ak.js +1 -0
- package/ui-dist/assets/python-BuPzkPfP.js +1 -0
- package/ui-dist/assets/q-pXgVlZs6.js +1 -0
- package/ui-dist/assets/quadrantDiagram-AYHSOK5B-B8K2F86x.js +7 -0
- package/ui-dist/assets/r-B6wPVr8A.js +1 -0
- package/ui-dist/assets/requirementDiagram-UZGBJVZJ-DA_Bjcpk.js +64 -0
- package/ui-dist/assets/rpm-CTu-6PCP.js +1 -0
- package/ui-dist/assets/ruby-B2Rjki9n.js +1 -0
- package/ui-dist/assets/sankeyDiagram-TZEHDZUN-yQfMgroQ.js +10 -0
- package/ui-dist/assets/sas-B4kiWyti.js +1 -0
- package/ui-dist/assets/scheme-C41bIUwD.js +1 -0
- package/ui-dist/assets/sequenceDiagram-WL72ISMW-CWQm0UQc.js +145 -0
- package/ui-dist/assets/shell-CjFT_Tl9.js +1 -0
- package/ui-dist/assets/sieve-C3Gn_uJK.js +1 -0
- package/ui-dist/assets/simple-mode-GW_nhZxv.js +1 -0
- package/ui-dist/assets/smalltalk-CnHTOXQT.js +1 -0
- package/ui-dist/assets/solr-DehyRSwq.js +1 -0
- package/ui-dist/assets/sparql-DkYu6x3z.js +1 -0
- package/ui-dist/assets/spreadsheet-BCZA_wO0.js +1 -0
- package/ui-dist/assets/sql-D0XecflT.js +1 -0
- package/ui-dist/assets/stateDiagram-FKZM4ZOC-C9L_ELvE.js +1 -0
- package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-D3i22gRM.js +1 -0
- package/ui-dist/assets/stex-C3f8Ysf7.js +1 -0
- package/ui-dist/assets/stylus-B533Al4x.js +1 -0
- package/ui-dist/assets/swift-BzpIVaGY.js +1 -0
- package/ui-dist/assets/tcl-DVfN8rqt.js +1 -0
- package/ui-dist/assets/textile-CnDTJFAw.js +1 -0
- package/ui-dist/assets/tiddlywiki-DO-Gjzrf.js +1 -0
- package/ui-dist/assets/tiki-DGYXhP31.js +1 -0
- package/ui-dist/assets/timeline-definition-IT6M3QCI-Bfva-2zq.js +61 -0
- package/ui-dist/assets/toml-Bm5Em-hy.js +1 -0
- package/ui-dist/assets/treemap-GDKQZRPO-6wTQWQt4.js +162 -0
- package/ui-dist/assets/troff-wAsdV37c.js +1 -0
- package/ui-dist/assets/ttcn-CfJYG6tj.js +1 -0
- package/ui-dist/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- package/ui-dist/assets/turtle-B1tBg_DP.js +1 -0
- package/ui-dist/assets/vb-CmGdzxic.js +1 -0
- package/ui-dist/assets/vbscript-BuJXcnF6.js +1 -0
- package/ui-dist/assets/velocity-D8B20fx6.js +1 -0
- package/ui-dist/assets/verilog-C6RDOZhf.js +1 -0
- package/ui-dist/assets/vhdl-lSbBsy5d.js +1 -0
- package/ui-dist/assets/webidl-ZXfAyPTL.js +1 -0
- package/ui-dist/assets/xquery-DzFWVndE.js +1 -0
- package/ui-dist/assets/xychartDiagram-PRI3JC2R-DNsmIw3v.js +7 -0
- package/ui-dist/assets/yacas-BJ4BC0dw.js +1 -0
- package/ui-dist/assets/z80-Hz9HOZM7.js +1 -0
- package/ui-dist/brands/opencode-logo-dark-square.svg +18 -0
- package/ui-dist/brands/opencode-logo-light-square.svg +18 -0
- package/ui-dist/favicon-16x16.png +0 -0
- package/ui-dist/favicon-32x32.png +0 -0
- package/ui-dist/favicon.ico +0 -0
- package/ui-dist/favicon.svg +9 -0
- package/ui-dist/index.html +48 -0
- package/ui-dist/site.webmanifest +30 -0
- package/ui-dist/sw.js +42 -0
- package/ui-dist/worktree-favicon-16x16.png +0 -0
- package/ui-dist/worktree-favicon-32x32.png +0 -0
- package/ui-dist/worktree-favicon.ico +0 -0
- package/ui-dist/worktree-favicon.svg +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-job-store.d.ts","sourceRoot":"","sources":["../../src/services/plugin-job-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAW,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAG1B;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAMrD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE;IAwBjC;;;;;;;;;;;;;;;;OAgBG;kCAES,MAAM,gBACF,oBAAoB,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IA4DhB;;;;;OAKG;uBAES,MAAM,WACP,mBAAmB,GAC3B,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;IAW9C;;;;;;OAMG;0BAES,MAAM,UACR,MAAM,GACb,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAanD;;;;;OAKG;sBAEM,MAAM,GACZ,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAQnD;;;;;OAKG;kCAES,MAAM,SACT,MAAM,GACZ,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAQnD;;;;;OAKG;2BAEM,MAAM,UACL,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;;;;;OASG;+BAEM,MAAM,aACF,IAAI,aACJ,IAAI,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;;OAMG;4BAC2B,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD;;;;;;;;;OASG;qBAEM,iBAAiB,GACvB,OAAO,CAAC,OAAO,aAAa,CAAC,YAAY,CAAC;IAc7C;;;;OAIG;uBACsB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C;;;;;;OAMG;uBAEM,MAAM,SACN,mBAAmB,GACzB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;OAKG;sBAEM,MAAM,GACZ,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAQtD;;;;;OAKG;yBAEM,MAAM,mBAEZ,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;IASjD;;;;;;OAMG;+BAES,MAAM,WACP,kBAAkB,mBAE1B,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;EAapD;AAED,6DAA6D;AAC7D,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Job Store — persistence layer for scheduled plugin jobs and their
|
|
3
|
+
* execution history.
|
|
4
|
+
*
|
|
5
|
+
* This service manages the `plugin_jobs` and `plugin_job_runs` tables. It is
|
|
6
|
+
* the server-side backing store for the `ctx.jobs` SDK surface exposed to
|
|
7
|
+
* plugin workers.
|
|
8
|
+
*
|
|
9
|
+
* ## Responsibilities
|
|
10
|
+
*
|
|
11
|
+
* 1. **Sync job declarations** — When a plugin is installed or started, the
|
|
12
|
+
* host calls `syncJobDeclarations()` to upsert the manifest's declared jobs
|
|
13
|
+
* into the `plugin_jobs` table. Jobs removed from the manifest are marked
|
|
14
|
+
* `paused` (not deleted) to preserve history.
|
|
15
|
+
*
|
|
16
|
+
* 2. **Job CRUD** — List, get, pause, and resume jobs for a given plugin.
|
|
17
|
+
*
|
|
18
|
+
* 3. **Run lifecycle** — Create job run records, update their status, and
|
|
19
|
+
* record results (duration, errors, logs).
|
|
20
|
+
*
|
|
21
|
+
* 4. **Next-run calculation** — After a run completes the host should call
|
|
22
|
+
* `updateNextRunAt()` with the next cron tick so the scheduler knows when
|
|
23
|
+
* to fire next.
|
|
24
|
+
*
|
|
25
|
+
* The capability check (`jobs.schedule`) is enforced upstream by the host
|
|
26
|
+
* client factory and manifest validator — this store trusts that the caller
|
|
27
|
+
* has already been authorised.
|
|
28
|
+
*
|
|
29
|
+
* @see PLUGIN_SPEC.md §17 — Scheduled Jobs
|
|
30
|
+
* @see PLUGIN_SPEC.md §21.3 — `plugin_jobs` / `plugin_job_runs` tables
|
|
31
|
+
*/
|
|
32
|
+
import { and, desc, eq } from "drizzle-orm";
|
|
33
|
+
import { plugins, pluginJobs, pluginJobRuns } from "@fidelios/db";
|
|
34
|
+
import { notFound } from "../errors.js";
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// Service
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
/**
|
|
39
|
+
* Create a PluginJobStore backed by the given Drizzle database instance.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* const jobStore = pluginJobStore(db);
|
|
44
|
+
*
|
|
45
|
+
* // On plugin install/start — sync declared jobs into the DB
|
|
46
|
+
* await jobStore.syncJobDeclarations(pluginId, manifest.jobs ?? []);
|
|
47
|
+
*
|
|
48
|
+
* // Before dispatching a runJob RPC — create a run record
|
|
49
|
+
* const run = await jobStore.createRun({ jobId, pluginId, trigger: "schedule" });
|
|
50
|
+
*
|
|
51
|
+
* // After the RPC completes — record the result
|
|
52
|
+
* await jobStore.completeRun(run.id, {
|
|
53
|
+
* status: "succeeded",
|
|
54
|
+
* durationMs: Date.now() - startedAt,
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export function pluginJobStore(db) {
|
|
59
|
+
// -----------------------------------------------------------------------
|
|
60
|
+
// Internal helpers
|
|
61
|
+
// -----------------------------------------------------------------------
|
|
62
|
+
async function assertPluginExists(pluginId) {
|
|
63
|
+
const rows = await db
|
|
64
|
+
.select({ id: plugins.id })
|
|
65
|
+
.from(plugins)
|
|
66
|
+
.where(eq(plugins.id, pluginId));
|
|
67
|
+
if (rows.length === 0) {
|
|
68
|
+
throw notFound(`Plugin not found: ${pluginId}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// -----------------------------------------------------------------------
|
|
72
|
+
// Public API
|
|
73
|
+
// -----------------------------------------------------------------------
|
|
74
|
+
return {
|
|
75
|
+
// =====================================================================
|
|
76
|
+
// Job declarations (plugin_jobs)
|
|
77
|
+
// =====================================================================
|
|
78
|
+
/**
|
|
79
|
+
* Sync declared jobs from a plugin manifest into the `plugin_jobs` table.
|
|
80
|
+
*
|
|
81
|
+
* This is called at plugin install and on each worker startup so the DB
|
|
82
|
+
* always reflects the manifest's declared jobs:
|
|
83
|
+
*
|
|
84
|
+
* - **New jobs** are inserted with status `active`.
|
|
85
|
+
* - **Existing jobs** have their `schedule` updated if it changed.
|
|
86
|
+
* - **Removed jobs** (present in DB but absent from the manifest) are
|
|
87
|
+
* set to `paused` so their history is preserved.
|
|
88
|
+
*
|
|
89
|
+
* The unique constraint `(pluginId, jobKey)` is used for conflict
|
|
90
|
+
* resolution.
|
|
91
|
+
*
|
|
92
|
+
* @param pluginId - UUID of the owning plugin
|
|
93
|
+
* @param declarations - Job declarations from the plugin manifest
|
|
94
|
+
*/
|
|
95
|
+
async syncJobDeclarations(pluginId, declarations) {
|
|
96
|
+
await assertPluginExists(pluginId);
|
|
97
|
+
// Fetch existing jobs for this plugin
|
|
98
|
+
const existingJobs = await db
|
|
99
|
+
.select()
|
|
100
|
+
.from(pluginJobs)
|
|
101
|
+
.where(eq(pluginJobs.pluginId, pluginId));
|
|
102
|
+
const existingByKey = new Map(existingJobs.map((j) => [j.jobKey, j]));
|
|
103
|
+
const declaredKeys = new Set();
|
|
104
|
+
// Upsert each declared job
|
|
105
|
+
for (const decl of declarations) {
|
|
106
|
+
declaredKeys.add(decl.jobKey);
|
|
107
|
+
const existing = existingByKey.get(decl.jobKey);
|
|
108
|
+
const schedule = decl.schedule ?? "";
|
|
109
|
+
if (existing) {
|
|
110
|
+
// Update schedule if it changed; re-activate if it was paused
|
|
111
|
+
const updates = {
|
|
112
|
+
updatedAt: new Date(),
|
|
113
|
+
};
|
|
114
|
+
if (existing.schedule !== schedule) {
|
|
115
|
+
updates.schedule = schedule;
|
|
116
|
+
}
|
|
117
|
+
if (existing.status === "paused") {
|
|
118
|
+
updates.status = "active";
|
|
119
|
+
}
|
|
120
|
+
await db
|
|
121
|
+
.update(pluginJobs)
|
|
122
|
+
.set(updates)
|
|
123
|
+
.where(eq(pluginJobs.id, existing.id));
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
// Insert new job
|
|
127
|
+
await db.insert(pluginJobs).values({
|
|
128
|
+
pluginId,
|
|
129
|
+
jobKey: decl.jobKey,
|
|
130
|
+
schedule,
|
|
131
|
+
status: "active",
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Pause jobs that are no longer declared in the manifest
|
|
136
|
+
for (const existing of existingJobs) {
|
|
137
|
+
if (!declaredKeys.has(existing.jobKey) && existing.status !== "paused") {
|
|
138
|
+
await db
|
|
139
|
+
.update(pluginJobs)
|
|
140
|
+
.set({ status: "paused", updatedAt: new Date() })
|
|
141
|
+
.where(eq(pluginJobs.id, existing.id));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
/**
|
|
146
|
+
* List all jobs for a plugin, optionally filtered by status.
|
|
147
|
+
*
|
|
148
|
+
* @param pluginId - UUID of the owning plugin
|
|
149
|
+
* @param status - Optional status filter
|
|
150
|
+
*/
|
|
151
|
+
async listJobs(pluginId, status) {
|
|
152
|
+
const conditions = [eq(pluginJobs.pluginId, pluginId)];
|
|
153
|
+
if (status) {
|
|
154
|
+
conditions.push(eq(pluginJobs.status, status));
|
|
155
|
+
}
|
|
156
|
+
return db
|
|
157
|
+
.select()
|
|
158
|
+
.from(pluginJobs)
|
|
159
|
+
.where(and(...conditions));
|
|
160
|
+
},
|
|
161
|
+
/**
|
|
162
|
+
* Get a single job by its composite key `(pluginId, jobKey)`.
|
|
163
|
+
*
|
|
164
|
+
* @param pluginId - UUID of the owning plugin
|
|
165
|
+
* @param jobKey - Stable job identifier from the manifest
|
|
166
|
+
* @returns The job row, or `null` if not found
|
|
167
|
+
*/
|
|
168
|
+
async getJobByKey(pluginId, jobKey) {
|
|
169
|
+
const rows = await db
|
|
170
|
+
.select()
|
|
171
|
+
.from(pluginJobs)
|
|
172
|
+
.where(and(eq(pluginJobs.pluginId, pluginId), eq(pluginJobs.jobKey, jobKey)));
|
|
173
|
+
return rows[0] ?? null;
|
|
174
|
+
},
|
|
175
|
+
/**
|
|
176
|
+
* Get a single job by its primary key (UUID).
|
|
177
|
+
*
|
|
178
|
+
* @param jobId - UUID of the job row
|
|
179
|
+
* @returns The job row, or `null` if not found
|
|
180
|
+
*/
|
|
181
|
+
async getJobById(jobId) {
|
|
182
|
+
const rows = await db
|
|
183
|
+
.select()
|
|
184
|
+
.from(pluginJobs)
|
|
185
|
+
.where(eq(pluginJobs.id, jobId));
|
|
186
|
+
return rows[0] ?? null;
|
|
187
|
+
},
|
|
188
|
+
/**
|
|
189
|
+
* Fetch a single job by ID, scoped to a specific plugin.
|
|
190
|
+
*
|
|
191
|
+
* Returns `null` if the job does not exist or does not belong to the
|
|
192
|
+
* given plugin — callers should treat both cases as "not found".
|
|
193
|
+
*/
|
|
194
|
+
async getJobByIdForPlugin(pluginId, jobId) {
|
|
195
|
+
const rows = await db
|
|
196
|
+
.select()
|
|
197
|
+
.from(pluginJobs)
|
|
198
|
+
.where(and(eq(pluginJobs.id, jobId), eq(pluginJobs.pluginId, pluginId)));
|
|
199
|
+
return rows[0] ?? null;
|
|
200
|
+
},
|
|
201
|
+
/**
|
|
202
|
+
* Update a job's status.
|
|
203
|
+
*
|
|
204
|
+
* @param jobId - UUID of the job row
|
|
205
|
+
* @param status - New status
|
|
206
|
+
*/
|
|
207
|
+
async updateJobStatus(jobId, status) {
|
|
208
|
+
await db
|
|
209
|
+
.update(pluginJobs)
|
|
210
|
+
.set({ status, updatedAt: new Date() })
|
|
211
|
+
.where(eq(pluginJobs.id, jobId));
|
|
212
|
+
},
|
|
213
|
+
/**
|
|
214
|
+
* Update the `lastRunAt` and `nextRunAt` timestamps on a job.
|
|
215
|
+
*
|
|
216
|
+
* Called by the scheduler after a run completes to advance the
|
|
217
|
+
* scheduling pointer.
|
|
218
|
+
*
|
|
219
|
+
* @param jobId - UUID of the job row
|
|
220
|
+
* @param lastRunAt - When the last run started
|
|
221
|
+
* @param nextRunAt - When the next run should fire
|
|
222
|
+
*/
|
|
223
|
+
async updateRunTimestamps(jobId, lastRunAt, nextRunAt) {
|
|
224
|
+
await db
|
|
225
|
+
.update(pluginJobs)
|
|
226
|
+
.set({
|
|
227
|
+
lastRunAt,
|
|
228
|
+
nextRunAt,
|
|
229
|
+
updatedAt: new Date(),
|
|
230
|
+
})
|
|
231
|
+
.where(eq(pluginJobs.id, jobId));
|
|
232
|
+
},
|
|
233
|
+
/**
|
|
234
|
+
* Delete all jobs (and cascaded runs) owned by a plugin.
|
|
235
|
+
*
|
|
236
|
+
* Called during plugin uninstall when `removeData = true`.
|
|
237
|
+
*
|
|
238
|
+
* @param pluginId - UUID of the owning plugin
|
|
239
|
+
*/
|
|
240
|
+
async deleteAllJobs(pluginId) {
|
|
241
|
+
await db
|
|
242
|
+
.delete(pluginJobs)
|
|
243
|
+
.where(eq(pluginJobs.pluginId, pluginId));
|
|
244
|
+
},
|
|
245
|
+
// =====================================================================
|
|
246
|
+
// Job runs (plugin_job_runs)
|
|
247
|
+
// =====================================================================
|
|
248
|
+
/**
|
|
249
|
+
* Create a new job run record with status `queued`.
|
|
250
|
+
*
|
|
251
|
+
* The caller should create the run record *before* dispatching the
|
|
252
|
+
* `runJob` RPC to the worker, then update it to `running` once the
|
|
253
|
+
* worker begins execution.
|
|
254
|
+
*
|
|
255
|
+
* @param input - Job run input (jobId, pluginId, trigger)
|
|
256
|
+
* @returns The newly created run row
|
|
257
|
+
*/
|
|
258
|
+
async createRun(input) {
|
|
259
|
+
const rows = await db
|
|
260
|
+
.insert(pluginJobRuns)
|
|
261
|
+
.values({
|
|
262
|
+
jobId: input.jobId,
|
|
263
|
+
pluginId: input.pluginId,
|
|
264
|
+
trigger: input.trigger,
|
|
265
|
+
status: "queued",
|
|
266
|
+
})
|
|
267
|
+
.returning();
|
|
268
|
+
return rows[0];
|
|
269
|
+
},
|
|
270
|
+
/**
|
|
271
|
+
* Mark a run as `running` and set its `startedAt` timestamp.
|
|
272
|
+
*
|
|
273
|
+
* @param runId - UUID of the run row
|
|
274
|
+
*/
|
|
275
|
+
async markRunning(runId) {
|
|
276
|
+
await db
|
|
277
|
+
.update(pluginJobRuns)
|
|
278
|
+
.set({
|
|
279
|
+
status: "running",
|
|
280
|
+
startedAt: new Date(),
|
|
281
|
+
})
|
|
282
|
+
.where(eq(pluginJobRuns.id, runId));
|
|
283
|
+
},
|
|
284
|
+
/**
|
|
285
|
+
* Complete a run — set its final status, error, duration, and
|
|
286
|
+
* `finishedAt` timestamp.
|
|
287
|
+
*
|
|
288
|
+
* @param runId - UUID of the run row
|
|
289
|
+
* @param input - Completion details
|
|
290
|
+
*/
|
|
291
|
+
async completeRun(runId, input) {
|
|
292
|
+
await db
|
|
293
|
+
.update(pluginJobRuns)
|
|
294
|
+
.set({
|
|
295
|
+
status: input.status,
|
|
296
|
+
error: input.error ?? null,
|
|
297
|
+
durationMs: input.durationMs ?? null,
|
|
298
|
+
finishedAt: new Date(),
|
|
299
|
+
})
|
|
300
|
+
.where(eq(pluginJobRuns.id, runId));
|
|
301
|
+
},
|
|
302
|
+
/**
|
|
303
|
+
* Get a run by its primary key.
|
|
304
|
+
*
|
|
305
|
+
* @param runId - UUID of the run row
|
|
306
|
+
* @returns The run row, or `null` if not found
|
|
307
|
+
*/
|
|
308
|
+
async getRunById(runId) {
|
|
309
|
+
const rows = await db
|
|
310
|
+
.select()
|
|
311
|
+
.from(pluginJobRuns)
|
|
312
|
+
.where(eq(pluginJobRuns.id, runId));
|
|
313
|
+
return rows[0] ?? null;
|
|
314
|
+
},
|
|
315
|
+
/**
|
|
316
|
+
* List runs for a specific job, ordered by creation time descending.
|
|
317
|
+
*
|
|
318
|
+
* @param jobId - UUID of the job
|
|
319
|
+
* @param limit - Maximum number of rows to return (default: 50)
|
|
320
|
+
*/
|
|
321
|
+
async listRunsByJob(jobId, limit = 50) {
|
|
322
|
+
return db
|
|
323
|
+
.select()
|
|
324
|
+
.from(pluginJobRuns)
|
|
325
|
+
.where(eq(pluginJobRuns.jobId, jobId))
|
|
326
|
+
.orderBy(desc(pluginJobRuns.createdAt))
|
|
327
|
+
.limit(limit);
|
|
328
|
+
},
|
|
329
|
+
/**
|
|
330
|
+
* List runs for a plugin, optionally filtered by status.
|
|
331
|
+
*
|
|
332
|
+
* @param pluginId - UUID of the owning plugin
|
|
333
|
+
* @param status - Optional status filter
|
|
334
|
+
* @param limit - Maximum number of rows to return (default: 50)
|
|
335
|
+
*/
|
|
336
|
+
async listRunsByPlugin(pluginId, status, limit = 50) {
|
|
337
|
+
const conditions = [eq(pluginJobRuns.pluginId, pluginId)];
|
|
338
|
+
if (status) {
|
|
339
|
+
conditions.push(eq(pluginJobRuns.status, status));
|
|
340
|
+
}
|
|
341
|
+
return db
|
|
342
|
+
.select()
|
|
343
|
+
.from(pluginJobRuns)
|
|
344
|
+
.where(and(...conditions))
|
|
345
|
+
.orderBy(desc(pluginJobRuns.createdAt))
|
|
346
|
+
.limit(limit);
|
|
347
|
+
},
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
//# sourceMappingURL=plugin-job-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-job-store.js","sourceRoot":"","sources":["../../src/services/plugin-job-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import type { Db } from "@fidelios/db";
|
|
2
|
+
import type { PluginStatus, PluginRecord } from "@fidelios/shared";
|
|
3
|
+
import { type PluginLoader } from "./plugin-loader.js";
|
|
4
|
+
import type { PluginWorkerManager, WorkerStartOptions } from "./plugin-worker-manager.js";
|
|
5
|
+
/**
|
|
6
|
+
* Events emitted by the PluginLifecycleManager.
|
|
7
|
+
* Consumers can subscribe to these for routing-table updates, UI refresh
|
|
8
|
+
* notifications, and observability.
|
|
9
|
+
*/
|
|
10
|
+
export interface PluginLifecycleEvents {
|
|
11
|
+
/** Emitted after a plugin is loaded (installed → ready). */
|
|
12
|
+
"plugin.loaded": {
|
|
13
|
+
pluginId: string;
|
|
14
|
+
pluginKey: string;
|
|
15
|
+
};
|
|
16
|
+
/** Emitted after a plugin transitions to ready (enabled). */
|
|
17
|
+
"plugin.enabled": {
|
|
18
|
+
pluginId: string;
|
|
19
|
+
pluginKey: string;
|
|
20
|
+
};
|
|
21
|
+
/** Emitted after a plugin is disabled (ready → disabled). */
|
|
22
|
+
"plugin.disabled": {
|
|
23
|
+
pluginId: string;
|
|
24
|
+
pluginKey: string;
|
|
25
|
+
reason?: string;
|
|
26
|
+
};
|
|
27
|
+
/** Emitted after a plugin is unloaded (any → uninstalled). */
|
|
28
|
+
"plugin.unloaded": {
|
|
29
|
+
pluginId: string;
|
|
30
|
+
pluginKey: string;
|
|
31
|
+
removeData: boolean;
|
|
32
|
+
};
|
|
33
|
+
/** Emitted on any status change. */
|
|
34
|
+
"plugin.status_changed": {
|
|
35
|
+
pluginId: string;
|
|
36
|
+
pluginKey: string;
|
|
37
|
+
previousStatus: PluginStatus;
|
|
38
|
+
newStatus: PluginStatus;
|
|
39
|
+
};
|
|
40
|
+
/** Emitted when a plugin enters an error state. */
|
|
41
|
+
"plugin.error": {
|
|
42
|
+
pluginId: string;
|
|
43
|
+
pluginKey: string;
|
|
44
|
+
error: string;
|
|
45
|
+
};
|
|
46
|
+
/** Emitted when a plugin enters upgrade_pending. */
|
|
47
|
+
"plugin.upgrade_pending": {
|
|
48
|
+
pluginId: string;
|
|
49
|
+
pluginKey: string;
|
|
50
|
+
};
|
|
51
|
+
/** Emitted when a plugin worker process has been started. */
|
|
52
|
+
"plugin.worker_started": {
|
|
53
|
+
pluginId: string;
|
|
54
|
+
pluginKey: string;
|
|
55
|
+
};
|
|
56
|
+
/** Emitted when a plugin worker process has been stopped. */
|
|
57
|
+
"plugin.worker_stopped": {
|
|
58
|
+
pluginId: string;
|
|
59
|
+
pluginKey: string;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
type LifecycleEventName = keyof PluginLifecycleEvents;
|
|
63
|
+
type LifecycleEventPayload<K extends LifecycleEventName> = PluginLifecycleEvents[K];
|
|
64
|
+
export interface PluginLifecycleManager {
|
|
65
|
+
/**
|
|
66
|
+
* Load a newly installed plugin – transitions `installed` → `ready`.
|
|
67
|
+
*
|
|
68
|
+
* This is called after the registry has persisted the initial install record.
|
|
69
|
+
* The caller should have already spawned the worker and performed health
|
|
70
|
+
* checks before calling this. If the worker fails, call `markError` instead.
|
|
71
|
+
*/
|
|
72
|
+
load(pluginId: string): Promise<PluginRecord>;
|
|
73
|
+
/**
|
|
74
|
+
* Enable a plugin that is in `disabled`, `error`, or `upgrade_pending` state.
|
|
75
|
+
* Transitions → `ready`.
|
|
76
|
+
*/
|
|
77
|
+
enable(pluginId: string): Promise<PluginRecord>;
|
|
78
|
+
/**
|
|
79
|
+
* Disable a running plugin.
|
|
80
|
+
* Transitions `ready` → `disabled`.
|
|
81
|
+
*/
|
|
82
|
+
disable(pluginId: string, reason?: string): Promise<PluginRecord>;
|
|
83
|
+
/**
|
|
84
|
+
* Unload (uninstall) a plugin from any active state.
|
|
85
|
+
* Transitions → `uninstalled`.
|
|
86
|
+
*
|
|
87
|
+
* When `removeData` is true, the plugin row and cascaded config are
|
|
88
|
+
* hard-deleted. Otherwise a soft-delete sets status to `uninstalled`.
|
|
89
|
+
*/
|
|
90
|
+
unload(pluginId: string, removeData?: boolean): Promise<PluginRecord | null>;
|
|
91
|
+
/**
|
|
92
|
+
* Mark a plugin as errored (e.g. worker crash, health-check failure).
|
|
93
|
+
* Transitions → `error`.
|
|
94
|
+
*/
|
|
95
|
+
markError(pluginId: string, error: string): Promise<PluginRecord>;
|
|
96
|
+
/**
|
|
97
|
+
* Mark a plugin as requiring upgrade approval.
|
|
98
|
+
* Transitions `ready` → `upgrade_pending`.
|
|
99
|
+
*/
|
|
100
|
+
markUpgradePending(pluginId: string): Promise<PluginRecord>;
|
|
101
|
+
/**
|
|
102
|
+
* Upgrade a plugin to a newer version.
|
|
103
|
+
* This is a placeholder that handles the lifecycle state transition.
|
|
104
|
+
* The actual package installation is handled by plugin-loader.
|
|
105
|
+
*
|
|
106
|
+
* If the upgrade adds new capabilities, transitions to `upgrade_pending`.
|
|
107
|
+
* Otherwise, transitions to `ready` directly.
|
|
108
|
+
*/
|
|
109
|
+
upgrade(pluginId: string, version?: string): Promise<PluginRecord>;
|
|
110
|
+
/**
|
|
111
|
+
* Start the worker process for a plugin that is already in `ready` state.
|
|
112
|
+
*
|
|
113
|
+
* This is used by the server startup orchestration to start workers for
|
|
114
|
+
* plugins that were persisted as `ready`. It requires a `PluginWorkerManager`
|
|
115
|
+
* to have been provided at construction time.
|
|
116
|
+
*
|
|
117
|
+
* @param pluginId - The UUID of the plugin to start
|
|
118
|
+
* @param options - Worker start options (entrypoint path, config, etc.)
|
|
119
|
+
* @throws if no worker manager is configured or the plugin is not ready
|
|
120
|
+
*/
|
|
121
|
+
startWorker(pluginId: string, options: WorkerStartOptions): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Stop the worker process for a plugin without changing lifecycle state.
|
|
124
|
+
*
|
|
125
|
+
* This is used during server shutdown to gracefully stop all workers.
|
|
126
|
+
* It does not transition the plugin state — plugins remain in their
|
|
127
|
+
* current status so they can be restarted on next server boot.
|
|
128
|
+
*
|
|
129
|
+
* @param pluginId - The UUID of the plugin to stop
|
|
130
|
+
*/
|
|
131
|
+
stopWorker(pluginId: string): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Restart the worker process for a running plugin.
|
|
134
|
+
*
|
|
135
|
+
* Stops and re-starts the worker process. The plugin remains in `ready`
|
|
136
|
+
* state throughout. This is typically called after a config change.
|
|
137
|
+
*
|
|
138
|
+
* @param pluginId - The UUID of the plugin to restart
|
|
139
|
+
* @throws if no worker manager is configured or the plugin is not ready
|
|
140
|
+
*/
|
|
141
|
+
restartWorker(pluginId: string): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Get the current lifecycle state for a plugin.
|
|
144
|
+
*/
|
|
145
|
+
getStatus(pluginId: string): Promise<PluginStatus | null>;
|
|
146
|
+
/**
|
|
147
|
+
* Check whether a transition is allowed from the plugin's current state.
|
|
148
|
+
*/
|
|
149
|
+
canTransition(pluginId: string, to: PluginStatus): Promise<boolean>;
|
|
150
|
+
/**
|
|
151
|
+
* Subscribe to lifecycle events.
|
|
152
|
+
*/
|
|
153
|
+
on<K extends LifecycleEventName>(event: K, listener: (payload: LifecycleEventPayload<K>) => void): void;
|
|
154
|
+
/**
|
|
155
|
+
* Unsubscribe from lifecycle events.
|
|
156
|
+
*/
|
|
157
|
+
off<K extends LifecycleEventName>(event: K, listener: (payload: LifecycleEventPayload<K>) => void): void;
|
|
158
|
+
/**
|
|
159
|
+
* Subscribe to a lifecycle event once.
|
|
160
|
+
*/
|
|
161
|
+
once<K extends LifecycleEventName>(event: K, listener: (payload: LifecycleEventPayload<K>) => void): void;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Options for constructing a PluginLifecycleManager.
|
|
165
|
+
*/
|
|
166
|
+
export interface PluginLifecycleManagerOptions {
|
|
167
|
+
/** Plugin loader instance. Falls back to the default if omitted. */
|
|
168
|
+
loader?: PluginLoader;
|
|
169
|
+
/**
|
|
170
|
+
* Worker process manager. When provided, lifecycle transitions that bring
|
|
171
|
+
* a plugin online (load, enable, upgrade-to-ready) will start the worker
|
|
172
|
+
* process, and transitions that take a plugin offline (disable, unload,
|
|
173
|
+
* markError) will stop it.
|
|
174
|
+
*
|
|
175
|
+
* When omitted the lifecycle manager operates in state-only mode — the
|
|
176
|
+
* caller is responsible for managing worker processes externally.
|
|
177
|
+
*/
|
|
178
|
+
workerManager?: PluginWorkerManager;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Create a PluginLifecycleManager.
|
|
182
|
+
*
|
|
183
|
+
* This service orchestrates plugin state transitions on top of the
|
|
184
|
+
* `pluginRegistryService` (which handles raw DB persistence). It enforces
|
|
185
|
+
* the lifecycle state machine, emits events for downstream consumers
|
|
186
|
+
* (routing tables, UI, observability), and manages worker processes via
|
|
187
|
+
* the `PluginWorkerManager` when one is provided.
|
|
188
|
+
*
|
|
189
|
+
* Usage:
|
|
190
|
+
* ```ts
|
|
191
|
+
* const lifecycle = pluginLifecycleManager(db, {
|
|
192
|
+
* workerManager: createPluginWorkerManager(),
|
|
193
|
+
* });
|
|
194
|
+
* lifecycle.on("plugin.enabled", ({ pluginId }) => { ... });
|
|
195
|
+
* await lifecycle.load(pluginId);
|
|
196
|
+
* ```
|
|
197
|
+
*
|
|
198
|
+
* @see PLUGIN_SPEC.md §21.3 — `plugins.status` column
|
|
199
|
+
* @see PLUGIN_SPEC.md §12 — Process Model
|
|
200
|
+
*/
|
|
201
|
+
export declare function pluginLifecycleManager(db: Db, options?: PluginLoader | PluginLifecycleManagerOptions): PluginLifecycleManager;
|
|
202
|
+
export {};
|
|
203
|
+
//# sourceMappingURL=plugin-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-lifecycle.d.ts","sourceRoot":"","sources":["../../src/services/plugin-lifecycle.ts"],"names":[],"mappings":"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"}
|