@fideliosai/server 2026.331.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- 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 +657 -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 +188 -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 +90 -0
- package/skills/fidelios/SKILL.md +365 -0
- package/skills/fidelios/references/api-reference.md +647 -0
- package/skills/fidelios/references/company-skills.md +193 -0
- package/skills/fidelios-create-agent/SKILL.md +142 -0
- package/skills/fidelios-create-agent/references/api-reference.md +105 -0
- package/skills/fidelios-create-plugin/SKILL.md +101 -0
- package/skills/para-memory-files/SKILL.md +104 -0
- package/skills/para-memory-files/references/schemas.md +35 -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-DDS8rFE9.js +1 -0
- package/ui-dist/assets/_baseUniq-BTIdqnfJ.js +1 -0
- package/ui-dist/assets/apl-B4CMkyY2.js +1 -0
- package/ui-dist/assets/arc-CER6ytAf.js +1 -0
- package/ui-dist/assets/architectureDiagram-VXUJARFQ-CrJvVSPh.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-p-DB7nkA.js +122 -0
- package/ui-dist/assets/brainfuck-C4LP7Hcl.js +1 -0
- package/ui-dist/assets/c4Diagram-YG6GDRKO-D1K75fYz.js +10 -0
- package/ui-dist/assets/channel-B1viE-VZ.js +1 -0
- package/ui-dist/assets/chunk-4BX2VUAB-C1J-fCaK.js +1 -0
- package/ui-dist/assets/chunk-55IACEB6-CjEOgVYA.js +1 -0
- package/ui-dist/assets/chunk-B4BG7PRW-CGZwFaze.js +165 -0
- package/ui-dist/assets/chunk-DI55MBZ5-Dp2ZahPN.js +220 -0
- package/ui-dist/assets/chunk-FMBD7UC4-nXC1OkzD.js +15 -0
- package/ui-dist/assets/chunk-QN33PNHL-D_uFCkMK.js +1 -0
- package/ui-dist/assets/chunk-QZHKN3VN-CG3WK_AN.js +1 -0
- package/ui-dist/assets/chunk-TZMSLE5B-COlBSWdP.js +1 -0
- package/ui-dist/assets/classDiagram-2ON5EDUG-Cs4NEMXI.js +1 -0
- package/ui-dist/assets/classDiagram-v2-WZHVMYZB-Cs4NEMXI.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-CGwZV8ud.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-B9XYqCMb.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-DcCdBLC7.js +4 -0
- package/ui-dist/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/ui-dist/assets/diagram-PSM6KHXK-np1kLquy.js +24 -0
- package/ui-dist/assets/diagram-QEK2KX5R-C-b4qIN1.js +43 -0
- package/ui-dist/assets/diagram-S2PKOQOG-Ba-173Ug.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-BBmkHiJP.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-Dj_iTDkp.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-Bn1hanTg.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-BjmRpty0.js +65 -0
- package/ui-dist/assets/graph-CWBOAGTW.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-B52MtqBm.js +1 -0
- package/ui-dist/assets/index-BEBYIFOJ.js +1 -0
- package/ui-dist/assets/index-BIvl9YFB.js +1 -0
- package/ui-dist/assets/index-BNyP1gwD.js +1 -0
- package/ui-dist/assets/index-BRW6bV_B.js +6 -0
- package/ui-dist/assets/index-BcQTWaKH.js +1 -0
- package/ui-dist/assets/index-BfKYbH5T.js +13 -0
- package/ui-dist/assets/index-BhX49pA0.js +1 -0
- package/ui-dist/assets/index-BoFaTgOC.js +2 -0
- package/ui-dist/assets/index-C-Es83iE.js +7 -0
- package/ui-dist/assets/index-C3LG8kvr.js +1 -0
- package/ui-dist/assets/index-C5Z9j0rD.js +1 -0
- package/ui-dist/assets/index-CFlEF-gp.js +1 -0
- package/ui-dist/assets/index-Cjm12V39.js +1 -0
- package/ui-dist/assets/index-Cp84QmJD.css +1 -0
- package/ui-dist/assets/index-D2t01AH0.js +1 -0
- package/ui-dist/assets/index-DEt1jkxJ.js +1 -0
- package/ui-dist/assets/index-DeAKBJuz.js +3 -0
- package/ui-dist/assets/index-Du65R_Zq.js +1 -0
- package/ui-dist/assets/index-WUHteAuP.js +1 -0
- package/ui-dist/assets/index-Y_jO6IK_.js +1180 -0
- package/ui-dist/assets/index-ZQU9QA5y.js +1 -0
- package/ui-dist/assets/index-f6wRGThx.js +1 -0
- package/ui-dist/assets/index-hMuLlvYa.js +1 -0
- package/ui-dist/assets/infoDiagram-HS3SLOUP-CVMKJlmV.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-FrNTHHMi.js +139 -0
- package/ui-dist/assets/julia-DuME0IfC.js +1 -0
- package/ui-dist/assets/kanban-definition-3W4ZIXB7-BQYKwdVh.js +89 -0
- package/ui-dist/assets/katex-O9d3_IXG.js +261 -0
- package/ui-dist/assets/layout-BxccZ6zb.js +1 -0
- package/ui-dist/assets/linear-Db-Yv5jO.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-BCE9tDOe.js +256 -0
- package/ui-dist/assets/mindmap-definition-VGOIOE7T-ZWLuqirD.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-D01HRHJF.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-lAmOPnB4.js +7 -0
- package/ui-dist/assets/r-B6wPVr8A.js +1 -0
- package/ui-dist/assets/requirementDiagram-UZGBJVZJ-ByNWbh-O.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-Cf_Gq84u.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-Bx2VZbdr.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-vP7G7A65.js +1 -0
- package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-C2xpsAAO.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-BJww-sEp.js +61 -0
- package/ui-dist/assets/toml-Bm5Em-hy.js +1 -0
- package/ui-dist/assets/treemap-GDKQZRPO-DUux14NY.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-AU5ZOwAw.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-96x96.png +0 -0
- package/ui-dist/favicon.ico +0 -0
- package/ui-dist/favicon.svg +3 -0
- package/ui-dist/index.html +48 -0
- package/ui-dist/site.webmanifest +21 -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 +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-host-services.js","sourceRoot":"","sources":["../../src/services/plugin-host-services.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PluginJobCoordinator — bridges the plugin lifecycle manager with the
|
|
3
|
+
* job scheduler and job store.
|
|
4
|
+
*
|
|
5
|
+
* This service listens to lifecycle events and performs the corresponding
|
|
6
|
+
* scheduler and job store operations:
|
|
7
|
+
*
|
|
8
|
+
* - **plugin.loaded** → sync job declarations from manifest, then register
|
|
9
|
+
* the plugin with the scheduler (computes `nextRunAt` for active jobs).
|
|
10
|
+
*
|
|
11
|
+
* - **plugin.disabled / plugin.unloaded** → unregister the plugin from the
|
|
12
|
+
* scheduler (cancels in-flight runs, clears tracking state).
|
|
13
|
+
*
|
|
14
|
+
* ## Why a separate coordinator?
|
|
15
|
+
*
|
|
16
|
+
* The lifecycle manager, scheduler, and job store are independent services
|
|
17
|
+
* with clean single-responsibility boundaries. The coordinator provides
|
|
18
|
+
* the "glue" between them without adding coupling. This pattern is used
|
|
19
|
+
* throughout FideliOS (e.g. heartbeat service coordinates timers + runs).
|
|
20
|
+
*
|
|
21
|
+
* @see PLUGIN_SPEC.md §17 — Scheduled Jobs
|
|
22
|
+
* @see ./plugin-job-scheduler.ts — Scheduler service
|
|
23
|
+
* @see ./plugin-job-store.ts — Persistence layer
|
|
24
|
+
* @see ./plugin-lifecycle.ts — Plugin state machine
|
|
25
|
+
*/
|
|
26
|
+
import type { PluginLifecycleManager } from "./plugin-lifecycle.js";
|
|
27
|
+
import type { PluginJobScheduler } from "./plugin-job-scheduler.js";
|
|
28
|
+
import type { PluginJobStore } from "./plugin-job-store.js";
|
|
29
|
+
import type { Db } from "@fideliosai/db";
|
|
30
|
+
/**
|
|
31
|
+
* Options for creating a PluginJobCoordinator.
|
|
32
|
+
*/
|
|
33
|
+
export interface PluginJobCoordinatorOptions {
|
|
34
|
+
/** Drizzle database instance. */
|
|
35
|
+
db: Db;
|
|
36
|
+
/** The plugin lifecycle manager to listen to. */
|
|
37
|
+
lifecycle: PluginLifecycleManager;
|
|
38
|
+
/** The job scheduler to register/unregister plugins with. */
|
|
39
|
+
scheduler: PluginJobScheduler;
|
|
40
|
+
/** The job store for syncing declarations. */
|
|
41
|
+
jobStore: PluginJobStore;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The public interface of the job coordinator.
|
|
45
|
+
*/
|
|
46
|
+
export interface PluginJobCoordinator {
|
|
47
|
+
/**
|
|
48
|
+
* Start listening to lifecycle events.
|
|
49
|
+
*
|
|
50
|
+
* This wires up the `plugin.loaded`, `plugin.disabled`, and
|
|
51
|
+
* `plugin.unloaded` event handlers.
|
|
52
|
+
*/
|
|
53
|
+
start(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Stop listening to lifecycle events.
|
|
56
|
+
*
|
|
57
|
+
* Removes all event subscriptions added by `start()`.
|
|
58
|
+
*/
|
|
59
|
+
stop(): void;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Create a PluginJobCoordinator.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* const coordinator = createPluginJobCoordinator({
|
|
67
|
+
* db,
|
|
68
|
+
* lifecycle,
|
|
69
|
+
* scheduler,
|
|
70
|
+
* jobStore,
|
|
71
|
+
* });
|
|
72
|
+
*
|
|
73
|
+
* // Start listening to lifecycle events
|
|
74
|
+
* coordinator.start();
|
|
75
|
+
*
|
|
76
|
+
* // On server shutdown
|
|
77
|
+
* coordinator.stop();
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function createPluginJobCoordinator(options: PluginJobCoordinatorOptions): PluginJobCoordinator;
|
|
81
|
+
//# sourceMappingURL=plugin-job-coordinator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-job-coordinator.d.ts","sourceRoot":"","sources":["../../src/services/plugin-job-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAOzC;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iCAAiC;IACjC,EAAE,EAAE,EAAE,CAAC;IACP,iDAAiD;IACjD,SAAS,EAAE,sBAAsB,CAAC;IAClC,6DAA6D;IAC7D,SAAS,EAAE,kBAAkB,CAAC;IAC9B,8CAA8C;IAC9C,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;OAIG;IACH,IAAI,IAAI,IAAI,CAAC;CACd;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,oBAAoB,CAmKtB"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PluginJobCoordinator — bridges the plugin lifecycle manager with the
|
|
3
|
+
* job scheduler and job store.
|
|
4
|
+
*
|
|
5
|
+
* This service listens to lifecycle events and performs the corresponding
|
|
6
|
+
* scheduler and job store operations:
|
|
7
|
+
*
|
|
8
|
+
* - **plugin.loaded** → sync job declarations from manifest, then register
|
|
9
|
+
* the plugin with the scheduler (computes `nextRunAt` for active jobs).
|
|
10
|
+
*
|
|
11
|
+
* - **plugin.disabled / plugin.unloaded** → unregister the plugin from the
|
|
12
|
+
* scheduler (cancels in-flight runs, clears tracking state).
|
|
13
|
+
*
|
|
14
|
+
* ## Why a separate coordinator?
|
|
15
|
+
*
|
|
16
|
+
* The lifecycle manager, scheduler, and job store are independent services
|
|
17
|
+
* with clean single-responsibility boundaries. The coordinator provides
|
|
18
|
+
* the "glue" between them without adding coupling. This pattern is used
|
|
19
|
+
* throughout FideliOS (e.g. heartbeat service coordinates timers + runs).
|
|
20
|
+
*
|
|
21
|
+
* @see PLUGIN_SPEC.md §17 — Scheduled Jobs
|
|
22
|
+
* @see ./plugin-job-scheduler.ts — Scheduler service
|
|
23
|
+
* @see ./plugin-job-store.ts — Persistence layer
|
|
24
|
+
* @see ./plugin-lifecycle.ts — Plugin state machine
|
|
25
|
+
*/
|
|
26
|
+
import { pluginRegistryService } from "./plugin-registry.js";
|
|
27
|
+
import { logger } from "../middleware/logger.js";
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// Implementation
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
/**
|
|
32
|
+
* Create a PluginJobCoordinator.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* const coordinator = createPluginJobCoordinator({
|
|
37
|
+
* db,
|
|
38
|
+
* lifecycle,
|
|
39
|
+
* scheduler,
|
|
40
|
+
* jobStore,
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* // Start listening to lifecycle events
|
|
44
|
+
* coordinator.start();
|
|
45
|
+
*
|
|
46
|
+
* // On server shutdown
|
|
47
|
+
* coordinator.stop();
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export function createPluginJobCoordinator(options) {
|
|
51
|
+
const { db, lifecycle, scheduler, jobStore } = options;
|
|
52
|
+
const log = logger.child({ service: "plugin-job-coordinator" });
|
|
53
|
+
const registry = pluginRegistryService(db);
|
|
54
|
+
// -----------------------------------------------------------------------
|
|
55
|
+
// Event handlers
|
|
56
|
+
// -----------------------------------------------------------------------
|
|
57
|
+
/**
|
|
58
|
+
* When a plugin is loaded (transitions to `ready`):
|
|
59
|
+
* 1. Look up the manifest from the registry
|
|
60
|
+
* 2. Sync job declarations from the manifest into the DB
|
|
61
|
+
* 3. Register the plugin with the scheduler (computes nextRunAt)
|
|
62
|
+
*/
|
|
63
|
+
async function onPluginLoaded(payload) {
|
|
64
|
+
const { pluginId, pluginKey } = payload;
|
|
65
|
+
log.info({ pluginId, pluginKey }, "plugin loaded — syncing jobs and registering with scheduler");
|
|
66
|
+
try {
|
|
67
|
+
// Get the manifest from the registry
|
|
68
|
+
const plugin = await registry.getById(pluginId);
|
|
69
|
+
if (!plugin?.manifestJson) {
|
|
70
|
+
log.warn({ pluginId, pluginKey }, "plugin loaded but no manifest found — skipping job sync");
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// Sync job declarations from the manifest
|
|
74
|
+
const manifest = plugin.manifestJson;
|
|
75
|
+
const jobDeclarations = manifest.jobs ?? [];
|
|
76
|
+
if (jobDeclarations.length > 0) {
|
|
77
|
+
log.info({ pluginId, pluginKey, jobCount: jobDeclarations.length }, "syncing job declarations from manifest");
|
|
78
|
+
await jobStore.syncJobDeclarations(pluginId, jobDeclarations);
|
|
79
|
+
}
|
|
80
|
+
// Register with the scheduler (computes nextRunAt for active jobs)
|
|
81
|
+
await scheduler.registerPlugin(pluginId);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
log.error({
|
|
85
|
+
pluginId,
|
|
86
|
+
pluginKey,
|
|
87
|
+
err: err instanceof Error ? err.message : String(err),
|
|
88
|
+
}, "failed to sync jobs or register plugin with scheduler");
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* When a plugin is disabled (transitions to `error` with "disabled by
|
|
93
|
+
* operator" or genuine error): unregister from the scheduler.
|
|
94
|
+
*/
|
|
95
|
+
async function onPluginDisabled(payload) {
|
|
96
|
+
const { pluginId, pluginKey, reason } = payload;
|
|
97
|
+
log.info({ pluginId, pluginKey, reason }, "plugin disabled — unregistering from scheduler");
|
|
98
|
+
try {
|
|
99
|
+
await scheduler.unregisterPlugin(pluginId);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
log.error({
|
|
103
|
+
pluginId,
|
|
104
|
+
pluginKey,
|
|
105
|
+
err: err instanceof Error ? err.message : String(err),
|
|
106
|
+
}, "failed to unregister plugin from scheduler");
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* When a plugin is unloaded (uninstalled): unregister from the scheduler.
|
|
111
|
+
*/
|
|
112
|
+
async function onPluginUnloaded(payload) {
|
|
113
|
+
const { pluginId, pluginKey, removeData } = payload;
|
|
114
|
+
log.info({ pluginId, pluginKey, removeData }, "plugin unloaded — unregistering from scheduler");
|
|
115
|
+
try {
|
|
116
|
+
await scheduler.unregisterPlugin(pluginId);
|
|
117
|
+
// If data is being purged, also delete all job definitions and runs
|
|
118
|
+
if (removeData) {
|
|
119
|
+
log.info({ pluginId, pluginKey }, "purging job data for uninstalled plugin");
|
|
120
|
+
await jobStore.deleteAllJobs(pluginId);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
log.error({
|
|
125
|
+
pluginId,
|
|
126
|
+
pluginKey,
|
|
127
|
+
err: err instanceof Error ? err.message : String(err),
|
|
128
|
+
}, "failed to unregister plugin from scheduler during unload");
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// -----------------------------------------------------------------------
|
|
132
|
+
// State
|
|
133
|
+
// -----------------------------------------------------------------------
|
|
134
|
+
let attached = false;
|
|
135
|
+
// We need stable references for on/off since the lifecycle manager
|
|
136
|
+
// uses them for matching. We wrap the async handlers in sync wrappers
|
|
137
|
+
// that fire-and-forget (swallowing unhandled rejections via the try/catch
|
|
138
|
+
// inside each handler).
|
|
139
|
+
const boundOnLoaded = (payload) => {
|
|
140
|
+
void onPluginLoaded(payload);
|
|
141
|
+
};
|
|
142
|
+
const boundOnDisabled = (payload) => {
|
|
143
|
+
void onPluginDisabled(payload);
|
|
144
|
+
};
|
|
145
|
+
const boundOnUnloaded = (payload) => {
|
|
146
|
+
void onPluginUnloaded(payload);
|
|
147
|
+
};
|
|
148
|
+
// -----------------------------------------------------------------------
|
|
149
|
+
// Public API
|
|
150
|
+
// -----------------------------------------------------------------------
|
|
151
|
+
return {
|
|
152
|
+
start() {
|
|
153
|
+
if (attached)
|
|
154
|
+
return;
|
|
155
|
+
attached = true;
|
|
156
|
+
lifecycle.on("plugin.loaded", boundOnLoaded);
|
|
157
|
+
lifecycle.on("plugin.disabled", boundOnDisabled);
|
|
158
|
+
lifecycle.on("plugin.unloaded", boundOnUnloaded);
|
|
159
|
+
log.info("plugin job coordinator started — listening to lifecycle events");
|
|
160
|
+
},
|
|
161
|
+
stop() {
|
|
162
|
+
if (!attached)
|
|
163
|
+
return;
|
|
164
|
+
attached = false;
|
|
165
|
+
lifecycle.off("plugin.loaded", boundOnLoaded);
|
|
166
|
+
lifecycle.off("plugin.disabled", boundOnDisabled);
|
|
167
|
+
lifecycle.off("plugin.unloaded", boundOnUnloaded);
|
|
168
|
+
log.info("plugin job coordinator stopped");
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=plugin-job-coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-job-coordinator.js","sourceRoot":"","sources":["../../src/services/plugin-job-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PluginJobScheduler — tick-based scheduler for plugin scheduled jobs.
|
|
3
|
+
*
|
|
4
|
+
* The scheduler is the central coordinator for all plugin cron jobs. It
|
|
5
|
+
* periodically ticks (default every 30 seconds), queries the `plugin_jobs`
|
|
6
|
+
* table for jobs whose `nextRunAt` has passed, dispatches `runJob` RPC calls
|
|
7
|
+
* to the appropriate worker processes, records each execution in the
|
|
8
|
+
* `plugin_job_runs` table, and advances the scheduling pointer.
|
|
9
|
+
*
|
|
10
|
+
* ## Responsibilities
|
|
11
|
+
*
|
|
12
|
+
* 1. **Tick loop** — A `setInterval`-based loop fires every `tickIntervalMs`
|
|
13
|
+
* (default 30s). Each tick scans for due jobs and dispatches them.
|
|
14
|
+
*
|
|
15
|
+
* 2. **Cron parsing & next-run calculation** — Uses the lightweight built-in
|
|
16
|
+
* cron parser ({@link parseCron}, {@link nextCronTick}) to compute the
|
|
17
|
+
* `nextRunAt` timestamp after each run or when a new job is registered.
|
|
18
|
+
*
|
|
19
|
+
* 3. **Overlap prevention** — Before dispatching a job, the scheduler checks
|
|
20
|
+
* for an existing `running` run for the same job. If one exists, the job
|
|
21
|
+
* is skipped for that tick.
|
|
22
|
+
*
|
|
23
|
+
* 4. **Job run recording** — Every execution creates a `plugin_job_runs` row:
|
|
24
|
+
* `queued` → `running` → `succeeded` | `failed`. Duration and error are
|
|
25
|
+
* captured.
|
|
26
|
+
*
|
|
27
|
+
* 5. **Lifecycle integration** — The scheduler exposes `registerPlugin()` and
|
|
28
|
+
* `unregisterPlugin()` so the host lifecycle manager can wire up job
|
|
29
|
+
* scheduling when plugins start/stop. On registration, the scheduler
|
|
30
|
+
* computes `nextRunAt` for all active jobs that don't already have one.
|
|
31
|
+
*
|
|
32
|
+
* @see PLUGIN_SPEC.md §17 — Scheduled Jobs
|
|
33
|
+
* @see ./plugin-job-store.ts — Persistence layer
|
|
34
|
+
* @see ./cron.ts — Cron parsing utilities
|
|
35
|
+
*/
|
|
36
|
+
import type { Db } from "@fideliosai/db";
|
|
37
|
+
import type { PluginJobStore } from "./plugin-job-store.js";
|
|
38
|
+
import type { PluginWorkerManager } from "./plugin-worker-manager.js";
|
|
39
|
+
/**
|
|
40
|
+
* Options for creating a PluginJobScheduler.
|
|
41
|
+
*/
|
|
42
|
+
export interface PluginJobSchedulerOptions {
|
|
43
|
+
/** Drizzle database instance. */
|
|
44
|
+
db: Db;
|
|
45
|
+
/** Persistence layer for jobs and runs. */
|
|
46
|
+
jobStore: PluginJobStore;
|
|
47
|
+
/** Worker process manager for RPC calls. */
|
|
48
|
+
workerManager: PluginWorkerManager;
|
|
49
|
+
/** Interval between scheduler ticks in ms (default: 30s). */
|
|
50
|
+
tickIntervalMs?: number;
|
|
51
|
+
/** Timeout for individual job RPC calls in ms (default: 5min). */
|
|
52
|
+
jobTimeoutMs?: number;
|
|
53
|
+
/** Maximum number of concurrent job executions (default: 10). */
|
|
54
|
+
maxConcurrentJobs?: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Result of a manual job trigger.
|
|
58
|
+
*/
|
|
59
|
+
export interface TriggerJobResult {
|
|
60
|
+
/** The created run ID. */
|
|
61
|
+
runId: string;
|
|
62
|
+
/** The job ID that was triggered. */
|
|
63
|
+
jobId: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Diagnostic information about the scheduler.
|
|
67
|
+
*/
|
|
68
|
+
export interface SchedulerDiagnostics {
|
|
69
|
+
/** Whether the tick loop is running. */
|
|
70
|
+
running: boolean;
|
|
71
|
+
/** Number of jobs currently executing. */
|
|
72
|
+
activeJobCount: number;
|
|
73
|
+
/** Set of job IDs currently in-flight. */
|
|
74
|
+
activeJobIds: string[];
|
|
75
|
+
/** Total number of ticks executed since start. */
|
|
76
|
+
tickCount: number;
|
|
77
|
+
/** Timestamp of the last tick (ISO 8601). */
|
|
78
|
+
lastTickAt: string | null;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The public interface of the job scheduler.
|
|
82
|
+
*/
|
|
83
|
+
export interface PluginJobScheduler {
|
|
84
|
+
/**
|
|
85
|
+
* Start the scheduler tick loop.
|
|
86
|
+
*
|
|
87
|
+
* Safe to call multiple times — subsequent calls are no-ops.
|
|
88
|
+
*/
|
|
89
|
+
start(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Stop the scheduler tick loop.
|
|
92
|
+
*
|
|
93
|
+
* In-flight job runs are NOT cancelled — they are allowed to finish
|
|
94
|
+
* naturally. The tick loop simply stops firing.
|
|
95
|
+
*/
|
|
96
|
+
stop(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Register a plugin with the scheduler.
|
|
99
|
+
*
|
|
100
|
+
* Computes `nextRunAt` for all active jobs that are missing it. This is
|
|
101
|
+
* typically called after a plugin's worker process starts and
|
|
102
|
+
* `syncJobDeclarations()` has been called.
|
|
103
|
+
*
|
|
104
|
+
* @param pluginId - UUID of the plugin
|
|
105
|
+
*/
|
|
106
|
+
registerPlugin(pluginId: string): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Unregister a plugin from the scheduler.
|
|
109
|
+
*
|
|
110
|
+
* Cancels any in-flight runs for the plugin and removes tracking state.
|
|
111
|
+
*
|
|
112
|
+
* @param pluginId - UUID of the plugin
|
|
113
|
+
*/
|
|
114
|
+
unregisterPlugin(pluginId: string): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* Manually trigger a specific job (outside of the cron schedule).
|
|
117
|
+
*
|
|
118
|
+
* Creates a run with `trigger: "manual"` and dispatches immediately,
|
|
119
|
+
* respecting the overlap prevention check.
|
|
120
|
+
*
|
|
121
|
+
* @param jobId - UUID of the job to trigger
|
|
122
|
+
* @param trigger - What triggered this run (default: "manual")
|
|
123
|
+
* @returns The created run info
|
|
124
|
+
* @throws {Error} if the job is not found, not active, or already running
|
|
125
|
+
*/
|
|
126
|
+
triggerJob(jobId: string, trigger?: "manual" | "retry"): Promise<TriggerJobResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Run a single scheduler tick immediately (for testing).
|
|
129
|
+
*
|
|
130
|
+
* @internal
|
|
131
|
+
*/
|
|
132
|
+
tick(): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Get diagnostic information about the scheduler state.
|
|
135
|
+
*/
|
|
136
|
+
diagnostics(): SchedulerDiagnostics;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Create a new PluginJobScheduler.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts
|
|
143
|
+
* const scheduler = createPluginJobScheduler({
|
|
144
|
+
* db,
|
|
145
|
+
* jobStore,
|
|
146
|
+
* workerManager,
|
|
147
|
+
* });
|
|
148
|
+
*
|
|
149
|
+
* // Start the tick loop
|
|
150
|
+
* scheduler.start();
|
|
151
|
+
*
|
|
152
|
+
* // When a plugin comes online, register it
|
|
153
|
+
* await scheduler.registerPlugin(pluginId);
|
|
154
|
+
*
|
|
155
|
+
* // Manually trigger a job
|
|
156
|
+
* const { runId } = await scheduler.triggerJob(jobId);
|
|
157
|
+
*
|
|
158
|
+
* // On server shutdown
|
|
159
|
+
* scheduler.stop();
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
export declare function createPluginJobScheduler(options: PluginJobSchedulerOptions): PluginJobScheduler;
|
|
163
|
+
//# sourceMappingURL=plugin-job-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-job-scheduler.d.ts","sourceRoot":"","sources":["../../src/services/plugin-job-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAqBtE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,EAAE,EAAE,EAAE,CAAC;IACP,2CAA2C;IAC3C,QAAQ,EAAE,cAAc,CAAC;IACzB,4CAA4C;IAC5C,aAAa,EAAE,mBAAmB,CAAC;IACnC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;OAKG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;;;;;;;OAQG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;;;;;;;;OAUG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEnF;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;OAEG;IACH,WAAW,IAAI,oBAAoB,CAAC;CACrC;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GACjC,kBAAkB,CAmiBpB"}
|