@hasna/todos 0.11.49 → 0.11.50
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/capabilities.d.ts +32 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/cli/brains.d.ts +3 -0
- package/dist/cli/brains.d.ts.map +1 -0
- package/dist/cli/commands/agent-commands.d.ts +3 -0
- package/dist/cli/commands/agent-commands.d.ts.map +1 -0
- package/dist/cli/commands/agent-reliability-commands.d.ts +3 -0
- package/dist/cli/commands/agent-reliability-commands.d.ts.map +1 -0
- package/dist/cli/commands/api-key-commands.d.ts +3 -0
- package/dist/cli/commands/api-key-commands.d.ts.map +1 -0
- package/dist/cli/commands/audit-ledger-commands.d.ts +3 -0
- package/dist/cli/commands/audit-ledger-commands.d.ts.map +1 -0
- package/dist/cli/commands/capacity-commands.d.ts +3 -0
- package/dist/cli/commands/capacity-commands.d.ts.map +1 -0
- package/dist/cli/commands/config-serve-commands.d.ts +3 -0
- package/dist/cli/commands/config-serve-commands.d.ts.map +1 -0
- package/dist/cli/commands/dispatch.d.ts +3 -0
- package/dist/cli/commands/dispatch.d.ts.map +1 -0
- package/dist/cli/commands/environment-snapshots.d.ts +3 -0
- package/dist/cli/commands/environment-snapshots.d.ts.map +1 -0
- package/dist/cli/commands/help-commands.d.ts +3 -0
- package/dist/cli/commands/help-commands.d.ts.map +1 -0
- package/dist/cli/commands/knowledge-commands.d.ts +3 -0
- package/dist/cli/commands/knowledge-commands.d.ts.map +1 -0
- package/dist/cli/commands/local-backup-commands.d.ts +3 -0
- package/dist/cli/commands/local-backup-commands.d.ts.map +1 -0
- package/dist/cli/commands/local-snapshot-commands.d.ts +3 -0
- package/dist/cli/commands/local-snapshot-commands.d.ts.map +1 -0
- package/dist/cli/commands/machines.d.ts +3 -0
- package/dist/cli/commands/machines.d.ts.map +1 -0
- package/dist/cli/commands/mcp-hooks-commands.d.ts +3 -0
- package/dist/cli/commands/mcp-hooks-commands.d.ts.map +1 -0
- package/dist/cli/commands/onboarding-commands.d.ts +3 -0
- package/dist/cli/commands/onboarding-commands.d.ts.map +1 -0
- package/dist/cli/commands/plan-template-commands.d.ts +3 -0
- package/dist/cli/commands/plan-template-commands.d.ts.map +1 -0
- package/dist/cli/commands/project-commands.d.ts +3 -0
- package/dist/cli/commands/project-commands.d.ts.map +1 -0
- package/dist/cli/commands/query-commands.d.ts +3 -0
- package/dist/cli/commands/query-commands.d.ts.map +1 -0
- package/dist/cli/commands/release-compatibility-commands.d.ts +3 -0
- package/dist/cli/commands/release-compatibility-commands.d.ts.map +1 -0
- package/dist/cli/commands/retrospective-commands.d.ts +3 -0
- package/dist/cli/commands/retrospective-commands.d.ts.map +1 -0
- package/dist/cli/commands/review-queue-commands.d.ts +3 -0
- package/dist/cli/commands/review-queue-commands.d.ts.map +1 -0
- package/dist/cli/commands/risk-commands.d.ts +3 -0
- package/dist/cli/commands/risk-commands.d.ts.map +1 -0
- package/dist/cli/commands/roadmap-commands.d.ts +3 -0
- package/dist/cli/commands/roadmap-commands.d.ts.map +1 -0
- package/dist/cli/commands/scale-hardening-commands.d.ts +3 -0
- package/dist/cli/commands/scale-hardening-commands.d.ts.map +1 -0
- package/dist/cli/commands/sdk-fixture-commands.d.ts +3 -0
- package/dist/cli/commands/sdk-fixture-commands.d.ts.map +1 -0
- package/dist/cli/commands/task-commands.d.ts +3 -0
- package/dist/cli/commands/task-commands.d.ts.map +1 -0
- package/dist/cli/commands/usage-ledger-commands.d.ts +3 -0
- package/dist/cli/commands/usage-ledger-commands.d.ts.map +1 -0
- package/dist/cli/components/App.d.ts +2 -0
- package/dist/cli/components/App.d.ts.map +1 -0
- package/dist/cli/components/Dashboard.d.ts +9 -0
- package/dist/cli/components/Dashboard.d.ts.map +1 -0
- package/dist/cli/components/Header.d.ts +8 -0
- package/dist/cli/components/Header.d.ts.map +1 -0
- package/dist/cli/components/ProjectList.d.ts +8 -0
- package/dist/cli/components/ProjectList.d.ts.map +1 -0
- package/dist/cli/components/SearchView.d.ts +10 -0
- package/dist/cli/components/SearchView.d.ts.map +1 -0
- package/dist/cli/components/TaskDetail.d.ts +7 -0
- package/dist/cli/components/TaskDetail.d.ts.map +1 -0
- package/dist/cli/components/TaskForm.d.ts +15 -0
- package/dist/cli/components/TaskForm.d.ts.map +1 -0
- package/dist/cli/components/TaskList.d.ts +8 -0
- package/dist/cli/components/TaskList.d.ts.map +1 -0
- package/dist/cli/helpers.d.ts +22 -0
- package/dist/cli/helpers.d.ts.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +238 -18
- package/dist/cli-mcp-parity.d.ts +41 -0
- package/dist/cli-mcp-parity.d.ts.map +1 -0
- package/dist/contracts.d.ts +87 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +18702 -0
- package/dist/db/agent-metrics.d.ts +135 -0
- package/dist/db/agent-metrics.d.ts.map +1 -0
- package/dist/db/agent-names.d.ts +24 -0
- package/dist/db/agent-names.d.ts.map +1 -0
- package/dist/db/agents.d.ts +84 -0
- package/dist/db/agents.d.ts.map +1 -0
- package/dist/db/api-keys.d.ts +28 -0
- package/dist/db/api-keys.d.ts.map +1 -0
- package/dist/db/artifacts.d.ts +60 -0
- package/dist/db/artifacts.d.ts.map +1 -0
- package/dist/db/audit.d.ts +52 -0
- package/dist/db/audit.d.ts.map +1 -0
- package/dist/db/boards.d.ts +56 -0
- package/dist/db/boards.d.ts.map +1 -0
- package/dist/db/budgets.d.ts +27 -0
- package/dist/db/budgets.d.ts.map +1 -0
- package/dist/db/builtin-templates.d.ts +41 -0
- package/dist/db/builtin-templates.d.ts.map +1 -0
- package/dist/db/calendar.d.ts +52 -0
- package/dist/db/calendar.d.ts.map +1 -0
- package/dist/db/checklists.d.ts +13 -0
- package/dist/db/checklists.d.ts.map +1 -0
- package/dist/db/checkpoints.d.ts +55 -0
- package/dist/db/checkpoints.d.ts.map +1 -0
- package/dist/db/comments.d.ts +11 -0
- package/dist/db/comments.d.ts.map +1 -0
- package/dist/db/custom-fields.d.ts +43 -0
- package/dist/db/custom-fields.d.ts.map +1 -0
- package/dist/db/cycles.d.ts +78 -0
- package/dist/db/cycles.d.ts.map +1 -0
- package/dist/db/database.d.ts +13 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/dispatches.d.ts +15 -0
- package/dist/db/dispatches.d.ts.map +1 -0
- package/dist/db/file-locks.d.ts +43 -0
- package/dist/db/file-locks.d.ts.map +1 -0
- package/dist/db/handoffs.d.ts +76 -0
- package/dist/db/handoffs.d.ts.map +1 -0
- package/dist/db/inbox.d.ts +47 -0
- package/dist/db/inbox.d.ts.map +1 -0
- package/dist/db/kg.d.ts +70 -0
- package/dist/db/kg.d.ts.map +1 -0
- package/dist/db/labels.d.ts +30 -0
- package/dist/db/labels.d.ts.map +1 -0
- package/dist/db/locks.d.ts +14 -0
- package/dist/db/locks.d.ts.map +1 -0
- package/dist/db/machines.d.ts +59 -0
- package/dist/db/machines.d.ts.map +1 -0
- package/dist/db/migrations.d.ts +2 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/orgs.d.ts +13 -0
- package/dist/db/orgs.d.ts.map +1 -0
- package/dist/db/patrol.d.ts +35 -0
- package/dist/db/patrol.d.ts.map +1 -0
- package/dist/db/plans.d.ts +8 -0
- package/dist/db/plans.d.ts.map +1 -0
- package/dist/db/project-agent-roles.d.ts +34 -0
- package/dist/db/project-agent-roles.d.ts.map +1 -0
- package/dist/db/project-knowledge.d.ts +88 -0
- package/dist/db/project-knowledge.d.ts.map +1 -0
- package/dist/db/project-risks.d.ts +139 -0
- package/dist/db/project-risks.d.ts.map +1 -0
- package/dist/db/projects.d.ts +54 -0
- package/dist/db/projects.d.ts.map +1 -0
- package/dist/db/retrospectives.d.ts +98 -0
- package/dist/db/retrospectives.d.ts.map +1 -0
- package/dist/db/schema.d.ts +5 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/sessions.d.ts +8 -0
- package/dist/db/sessions.d.ts.map +1 -0
- package/dist/db/snapshots.d.ts +37 -0
- package/dist/db/snapshots.d.ts.map +1 -0
- package/dist/db/task-claim.d.ts +7 -0
- package/dist/db/task-claim.d.ts.map +1 -0
- package/dist/db/task-commits.d.ts +106 -0
- package/dist/db/task-commits.d.ts.map +1 -0
- package/dist/db/task-crud.d.ts +13 -0
- package/dist/db/task-crud.d.ts.map +1 -0
- package/dist/db/task-files.d.ts +74 -0
- package/dist/db/task-files.d.ts.map +1 -0
- package/dist/db/task-graph.d.ts +27 -0
- package/dist/db/task-graph.d.ts.map +1 -0
- package/dist/db/task-lifecycle.d.ts +96 -0
- package/dist/db/task-lifecycle.d.ts.map +1 -0
- package/dist/db/task-lists.d.ts +10 -0
- package/dist/db/task-lists.d.ts.map +1 -0
- package/dist/db/task-relations.d.ts +170 -0
- package/dist/db/task-relations.d.ts.map +1 -0
- package/dist/db/task-relationships.d.ts +36 -0
- package/dist/db/task-relationships.d.ts.map +1 -0
- package/dist/db/task-runs.d.ts +133 -0
- package/dist/db/task-runs.d.ts.map +1 -0
- package/dist/db/task-status.d.ts +65 -0
- package/dist/db/task-status.d.ts.map +1 -0
- package/dist/db/task-workflow.d.ts +7 -0
- package/dist/db/task-workflow.d.ts.map +1 -0
- package/dist/db/tasks.d.ts +15 -0
- package/dist/db/tasks.d.ts.map +1 -0
- package/dist/db/templates.d.ts +98 -0
- package/dist/db/templates.d.ts.map +1 -0
- package/dist/db/traces.d.ts +38 -0
- package/dist/db/traces.d.ts.map +1 -0
- package/dist/db/webhooks.d.ts +29 -0
- package/dist/db/webhooks.d.ts.map +1 -0
- package/dist/index.d.ts +312 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40510 -0
- package/dist/json-contracts.d.ts +56 -0
- package/dist/json-contracts.d.ts.map +1 -0
- package/dist/lib/access-profiles.d.ts +27 -0
- package/dist/lib/access-profiles.d.ts.map +1 -0
- package/dist/lib/activity-audit.d.ts +67 -0
- package/dist/lib/activity-audit.d.ts.map +1 -0
- package/dist/lib/activity-timeline.d.ts +43 -0
- package/dist/lib/activity-timeline.d.ts.map +1 -0
- package/dist/lib/agent-adapter-docs.d.ts +71 -0
- package/dist/lib/agent-adapter-docs.d.ts.map +1 -0
- package/dist/lib/agent-coordination.d.ts +52 -0
- package/dist/lib/agent-coordination.d.ts.map +1 -0
- package/dist/lib/agent-replay-simulator.d.ts +66 -0
- package/dist/lib/agent-replay-simulator.d.ts.map +1 -0
- package/dist/lib/agent-run-dispatcher.d.ts +114 -0
- package/dist/lib/agent-run-dispatcher.d.ts.map +1 -0
- package/dist/lib/agent-tasks.d.ts +11 -0
- package/dist/lib/agent-tasks.d.ts.map +1 -0
- package/dist/lib/agent-workflow-demo.d.ts +87 -0
- package/dist/lib/agent-workflow-demo.d.ts.map +1 -0
- package/dist/lib/approval-gates.d.ts +52 -0
- package/dist/lib/approval-gates.d.ts.map +1 -0
- package/dist/lib/artifact-store.d.ts +125 -0
- package/dist/lib/artifact-store.d.ts.map +1 -0
- package/dist/lib/audit-ledger.d.ts +59 -0
- package/dist/lib/audit-ledger.d.ts.map +1 -0
- package/dist/lib/auto-assign.d.ts +23 -0
- package/dist/lib/auto-assign.d.ts.map +1 -0
- package/dist/lib/branch-work-plans.d.ts +46 -0
- package/dist/lib/branch-work-plans.d.ts.map +1 -0
- package/dist/lib/burndown.d.ts +18 -0
- package/dist/lib/burndown.d.ts.map +1 -0
- package/dist/lib/capacity-forecasts.d.ts +70 -0
- package/dist/lib/capacity-forecasts.d.ts.map +1 -0
- package/dist/lib/claude-tasks.d.ts +20 -0
- package/dist/lib/claude-tasks.d.ts.map +1 -0
- package/dist/lib/cli-completions.d.ts +9 -0
- package/dist/lib/cli-completions.d.ts.map +1 -0
- package/dist/lib/cli-help.d.ts +38 -0
- package/dist/lib/cli-help.d.ts.map +1 -0
- package/dist/lib/cli-manpage.d.ts +7 -0
- package/dist/lib/cli-manpage.d.ts.map +1 -0
- package/dist/lib/cli-mcp-parity.d.ts +40 -0
- package/dist/lib/cli-mcp-parity.d.ts.map +1 -0
- package/dist/lib/cli-reference.d.ts +46 -0
- package/dist/lib/cli-reference.d.ts.map +1 -0
- package/dist/lib/command-aliases.d.ts +60 -0
- package/dist/lib/command-aliases.d.ts.map +1 -0
- package/dist/lib/completion-guard.d.ts +17 -0
- package/dist/lib/completion-guard.d.ts.map +1 -0
- package/dist/lib/config.d.ts +410 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/context-packs.d.ts +163 -0
- package/dist/lib/context-packs.d.ts.map +1 -0
- package/dist/lib/db-backup.d.ts +40 -0
- package/dist/lib/db-backup.d.ts.map +1 -0
- package/dist/lib/decision-records.d.ts +153 -0
- package/dist/lib/decision-records.d.ts.map +1 -0
- package/dist/lib/dependency-graph.d.ts +73 -0
- package/dist/lib/dependency-graph.d.ts.map +1 -0
- package/dist/lib/dispatch-formatter.d.ts +21 -0
- package/dist/lib/dispatch-formatter.d.ts.map +1 -0
- package/dist/lib/dispatch.d.ts +28 -0
- package/dist/lib/dispatch.d.ts.map +1 -0
- package/dist/lib/doctor.d.ts +46 -0
- package/dist/lib/doctor.d.ts.map +1 -0
- package/dist/lib/environment-snapshots.d.ts +111 -0
- package/dist/lib/environment-snapshots.d.ts.map +1 -0
- package/dist/lib/event-hooks.d.ts +58 -0
- package/dist/lib/event-hooks.d.ts.map +1 -0
- package/dist/lib/external-issue-importers.d.ts +60 -0
- package/dist/lib/external-issue-importers.d.ts.map +1 -0
- package/dist/lib/extract.d.ts +108 -0
- package/dist/lib/extract.d.ts.map +1 -0
- package/dist/lib/failure-triage.d.ts +64 -0
- package/dist/lib/failure-triage.d.ts.map +1 -0
- package/dist/lib/feature-manifest.d.ts +100 -0
- package/dist/lib/feature-manifest.d.ts.map +1 -0
- package/dist/lib/gatherer.d.ts +16 -0
- package/dist/lib/gatherer.d.ts.map +1 -0
- package/dist/lib/git-traceability.d.ts +43 -0
- package/dist/lib/git-traceability.d.ts.map +1 -0
- package/dist/lib/github.d.ts +25 -0
- package/dist/lib/github.d.ts.map +1 -0
- package/dist/lib/goal-workflow.d.ts +86 -0
- package/dist/lib/goal-workflow.d.ts.map +1 -0
- package/dist/lib/handoff-packets.d.ts +74 -0
- package/dist/lib/handoff-packets.d.ts.map +1 -0
- package/dist/lib/headless-boundaries.d.ts +30 -0
- package/dist/lib/headless-boundaries.d.ts.map +1 -0
- package/dist/lib/import-export-bridge.d.ts +91 -0
- package/dist/lib/import-export-bridge.d.ts.map +1 -0
- package/dist/lib/inbox-intake.d.ts +73 -0
- package/dist/lib/inbox-intake.d.ts.map +1 -0
- package/dist/lib/issue-importers.d.ts +78 -0
- package/dist/lib/issue-importers.d.ts.map +1 -0
- package/dist/lib/json-schemas.d.ts +66 -0
- package/dist/lib/json-schemas.d.ts.map +1 -0
- package/dist/lib/local-backups.d.ts +129 -0
- package/dist/lib/local-backups.d.ts.map +1 -0
- package/dist/lib/local-bridge.d.ts +81 -0
- package/dist/lib/local-bridge.d.ts.map +1 -0
- package/dist/lib/local-encryption.d.ts +105 -0
- package/dist/lib/local-encryption.d.ts.map +1 -0
- package/dist/lib/local-extensions.d.ts +92 -0
- package/dist/lib/local-extensions.d.ts.map +1 -0
- package/dist/lib/local-fields.d.ts +33 -0
- package/dist/lib/local-fields.d.ts.map +1 -0
- package/dist/lib/local-notifications.d.ts +55 -0
- package/dist/lib/local-notifications.d.ts.map +1 -0
- package/dist/lib/local-reports.d.ts +149 -0
- package/dist/lib/local-reports.d.ts.map +1 -0
- package/dist/lib/local-snapshots.d.ts +66 -0
- package/dist/lib/local-snapshots.d.ts.map +1 -0
- package/dist/lib/logger.d.ts +11 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/machine-topology.d.ts +59 -0
- package/dist/lib/machine-topology.d.ts.map +1 -0
- package/dist/lib/mention-resolver.d.ts +43 -0
- package/dist/lib/mention-resolver.d.ts.map +1 -0
- package/dist/lib/model-config.d.ts +14 -0
- package/dist/lib/model-config.d.ts.map +1 -0
- package/dist/lib/natural-language-intake.d.ts +56 -0
- package/dist/lib/natural-language-intake.d.ts.map +1 -0
- package/dist/lib/nl-intake.d.ts +61 -0
- package/dist/lib/nl-intake.d.ts.map +1 -0
- package/dist/lib/north-star.d.ts +33 -0
- package/dist/lib/north-star.d.ts.map +1 -0
- package/dist/lib/notification-reminders.d.ts +107 -0
- package/dist/lib/notification-reminders.d.ts.map +1 -0
- package/dist/lib/onboarding-fixtures.d.ts +31 -0
- package/dist/lib/onboarding-fixtures.d.ts.map +1 -0
- package/dist/lib/package-version.d.ts +2 -0
- package/dist/lib/package-version.d.ts.map +1 -0
- package/dist/lib/plan-execution.d.ts +71 -0
- package/dist/lib/plan-execution.d.ts.map +1 -0
- package/dist/lib/policy-packs.d.ts +87 -0
- package/dist/lib/policy-packs.d.ts.map +1 -0
- package/dist/lib/project-bootstrap.d.ts +35 -0
- package/dist/lib/project-bootstrap.d.ts.map +1 -0
- package/dist/lib/public-release-gate.d.ts +57 -0
- package/dist/lib/public-release-gate.d.ts.map +1 -0
- package/dist/lib/recurrence.d.ts +10 -0
- package/dist/lib/recurrence.d.ts.map +1 -0
- package/dist/lib/redaction.d.ts +12 -0
- package/dist/lib/redaction.d.ts.map +1 -0
- package/dist/lib/release-checks.d.ts +34 -0
- package/dist/lib/release-checks.d.ts.map +1 -0
- package/dist/lib/release-compatibility.d.ts +59 -0
- package/dist/lib/release-compatibility.d.ts.map +1 -0
- package/dist/lib/release-notes.d.ts +81 -0
- package/dist/lib/release-notes.d.ts.map +1 -0
- package/dist/lib/report-exports.d.ts +49 -0
- package/dist/lib/report-exports.d.ts.map +1 -0
- package/dist/lib/resource-snapshots.d.ts +37 -0
- package/dist/lib/resource-snapshots.d.ts.map +1 -0
- package/dist/lib/retention-cleanup.d.ts +63 -0
- package/dist/lib/retention-cleanup.d.ts.map +1 -0
- package/dist/lib/review-queues.d.ts +98 -0
- package/dist/lib/review-queues.d.ts.map +1 -0
- package/dist/lib/roadmaps.d.ts +133 -0
- package/dist/lib/roadmaps.d.ts.map +1 -0
- package/dist/lib/run-records.d.ts +94 -0
- package/dist/lib/run-records.d.ts.map +1 -0
- package/dist/lib/runner-sandbox.d.ts +50 -0
- package/dist/lib/runner-sandbox.d.ts.map +1 -0
- package/dist/lib/sandbox-profiles.d.ts +33 -0
- package/dist/lib/sandbox-profiles.d.ts.map +1 -0
- package/dist/lib/saved-search-views.d.ts +60 -0
- package/dist/lib/saved-search-views.d.ts.map +1 -0
- package/dist/lib/saved-views.d.ts +53 -0
- package/dist/lib/saved-views.d.ts.map +1 -0
- package/dist/lib/scale-hardening.d.ts +74 -0
- package/dist/lib/scale-hardening.d.ts.map +1 -0
- package/dist/lib/sdk-integration-fixtures.d.ts +65 -0
- package/dist/lib/sdk-integration-fixtures.d.ts.map +1 -0
- package/dist/lib/search.d.ts +17 -0
- package/dist/lib/search.d.ts.map +1 -0
- package/dist/lib/secret-redaction.d.ts +45 -0
- package/dist/lib/secret-redaction.d.ts.map +1 -0
- package/dist/lib/sync-types.d.ts +16 -0
- package/dist/lib/sync-types.d.ts.map +1 -0
- package/dist/lib/sync-utils.d.ts +14 -0
- package/dist/lib/sync-utils.d.ts.map +1 -0
- package/dist/lib/sync.d.ts +9 -0
- package/dist/lib/sync.d.ts.map +1 -0
- package/dist/lib/task-contracts.d.ts +75 -0
- package/dist/lib/task-contracts.d.ts.map +1 -0
- package/dist/lib/task-dedupe.d.ts +46 -0
- package/dist/lib/task-dedupe.d.ts.map +1 -0
- package/dist/lib/task-runner.d.ts +101 -0
- package/dist/lib/task-runner.d.ts.map +1 -0
- package/dist/lib/task-scheduling.d.ts +69 -0
- package/dist/lib/task-scheduling.d.ts.map +1 -0
- package/dist/lib/template-library.d.ts +47 -0
- package/dist/lib/template-library.d.ts.map +1 -0
- package/dist/lib/terminal-notifications.d.ts +53 -0
- package/dist/lib/terminal-notifications.d.ts.map +1 -0
- package/dist/lib/tmux.d.ts +28 -0
- package/dist/lib/tmux.d.ts.map +1 -0
- package/dist/lib/todos-md.d.ts +21 -0
- package/dist/lib/todos-md.d.ts.map +1 -0
- package/dist/lib/tui-dashboard.d.ts +49 -0
- package/dist/lib/tui-dashboard.d.ts.map +1 -0
- package/dist/lib/usage-ledger.d.ts +82 -0
- package/dist/lib/usage-ledger.d.ts.map +1 -0
- package/dist/lib/user-scaffolds.d.ts +73 -0
- package/dist/lib/user-scaffolds.d.ts.map +1 -0
- package/dist/lib/verification-evidence.d.ts +93 -0
- package/dist/lib/verification-evidence.d.ts.map +1 -0
- package/dist/lib/verification-providers.d.ts +76 -0
- package/dist/lib/verification-providers.d.ts.map +1 -0
- package/dist/lib/workflow-prompts.d.ts +38 -0
- package/dist/lib/workflow-prompts.d.ts.map +1 -0
- package/dist/lib/workflow-states.d.ts +70 -0
- package/dist/lib/workflow-states.d.ts.map +1 -0
- package/dist/lib/workspace-trust.d.ts +38 -0
- package/dist/lib/workspace-trust.d.ts.map +1 -0
- package/dist/mcp/http.d.ts +13 -0
- package/dist/mcp/http.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +5 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +34 -12
- package/dist/mcp/token-utils.d.ts +15 -0
- package/dist/mcp/token-utils.d.ts.map +1 -0
- package/dist/mcp/tools/access-profiles.d.ts +8 -0
- package/dist/mcp/tools/access-profiles.d.ts.map +1 -0
- package/dist/mcp/tools/activity-audit.d.ts +9 -0
- package/dist/mcp/tools/activity-audit.d.ts.map +1 -0
- package/dist/mcp/tools/agent-adapter-docs.d.ts +8 -0
- package/dist/mcp/tools/agent-adapter-docs.d.ts.map +1 -0
- package/dist/mcp/tools/agent-coordination.d.ts +9 -0
- package/dist/mcp/tools/agent-coordination.d.ts.map +1 -0
- package/dist/mcp/tools/agent-runs.d.ts +9 -0
- package/dist/mcp/tools/agent-runs.d.ts.map +1 -0
- package/dist/mcp/tools/agent-workflow-demo.d.ts +8 -0
- package/dist/mcp/tools/agent-workflow-demo.d.ts.map +1 -0
- package/dist/mcp/tools/agents.d.ts +16 -0
- package/dist/mcp/tools/agents.d.ts.map +1 -0
- package/dist/mcp/tools/approval-gates.d.ts +9 -0
- package/dist/mcp/tools/approval-gates.d.ts.map +1 -0
- package/dist/mcp/tools/artifacts.d.ts +9 -0
- package/dist/mcp/tools/artifacts.d.ts.map +1 -0
- package/dist/mcp/tools/branch-work-plans.d.ts +8 -0
- package/dist/mcp/tools/branch-work-plans.d.ts.map +1 -0
- package/dist/mcp/tools/cli-docs.d.ts +8 -0
- package/dist/mcp/tools/cli-docs.d.ts.map +1 -0
- package/dist/mcp/tools/code-tools.d.ts +15 -0
- package/dist/mcp/tools/code-tools.d.ts.map +1 -0
- package/dist/mcp/tools/command-aliases.d.ts +8 -0
- package/dist/mcp/tools/command-aliases.d.ts.map +1 -0
- package/dist/mcp/tools/context-packs.d.ts +9 -0
- package/dist/mcp/tools/context-packs.d.ts.map +1 -0
- package/dist/mcp/tools/crypto.d.ts +8 -0
- package/dist/mcp/tools/crypto.d.ts.map +1 -0
- package/dist/mcp/tools/db-backup.d.ts +8 -0
- package/dist/mcp/tools/db-backup.d.ts.map +1 -0
- package/dist/mcp/tools/decision-records.d.ts +9 -0
- package/dist/mcp/tools/decision-records.d.ts.map +1 -0
- package/dist/mcp/tools/dependency-graph.d.ts +9 -0
- package/dist/mcp/tools/dependency-graph.d.ts.map +1 -0
- package/dist/mcp/tools/dispatch.d.ts +9 -0
- package/dist/mcp/tools/dispatch.d.ts.map +1 -0
- package/dist/mcp/tools/environment-snapshots.d.ts +8 -0
- package/dist/mcp/tools/environment-snapshots.d.ts.map +1 -0
- package/dist/mcp/tools/failure-triage.d.ts +9 -0
- package/dist/mcp/tools/failure-triage.d.ts.map +1 -0
- package/dist/mcp/tools/feature-manifest.d.ts +8 -0
- package/dist/mcp/tools/feature-manifest.d.ts.map +1 -0
- package/dist/mcp/tools/git-traceability.d.ts +9 -0
- package/dist/mcp/tools/git-traceability.d.ts.map +1 -0
- package/dist/mcp/tools/goal.d.ts +9 -0
- package/dist/mcp/tools/goal.d.ts.map +1 -0
- package/dist/mcp/tools/handoff-packets.d.ts +9 -0
- package/dist/mcp/tools/handoff-packets.d.ts.map +1 -0
- package/dist/mcp/tools/import-export-bridge.d.ts +9 -0
- package/dist/mcp/tools/import-export-bridge.d.ts.map +1 -0
- package/dist/mcp/tools/inbox-intake.d.ts +9 -0
- package/dist/mcp/tools/inbox-intake.d.ts.map +1 -0
- package/dist/mcp/tools/issue-importers.d.ts +9 -0
- package/dist/mcp/tools/issue-importers.d.ts.map +1 -0
- package/dist/mcp/tools/json-schemas.d.ts +8 -0
- package/dist/mcp/tools/json-schemas.d.ts.map +1 -0
- package/dist/mcp/tools/machine-topology.d.ts +8 -0
- package/dist/mcp/tools/machine-topology.d.ts.map +1 -0
- package/dist/mcp/tools/machines.d.ts +8 -0
- package/dist/mcp/tools/machines.d.ts.map +1 -0
- package/dist/mcp/tools/mention-resolver.d.ts +9 -0
- package/dist/mcp/tools/mention-resolver.d.ts.map +1 -0
- package/dist/mcp/tools/nl-intake.d.ts +9 -0
- package/dist/mcp/tools/nl-intake.d.ts.map +1 -0
- package/dist/mcp/tools/notification-reminders.d.ts +9 -0
- package/dist/mcp/tools/notification-reminders.d.ts.map +1 -0
- package/dist/mcp/tools/parity.d.ts +8 -0
- package/dist/mcp/tools/parity.d.ts.map +1 -0
- package/dist/mcp/tools/plan-execution.d.ts +9 -0
- package/dist/mcp/tools/plan-execution.d.ts.map +1 -0
- package/dist/mcp/tools/policy-packs.d.ts +9 -0
- package/dist/mcp/tools/policy-packs.d.ts.map +1 -0
- package/dist/mcp/tools/project-bootstrap.d.ts +8 -0
- package/dist/mcp/tools/project-bootstrap.d.ts.map +1 -0
- package/dist/mcp/tools/release-checks.d.ts +8 -0
- package/dist/mcp/tools/release-checks.d.ts.map +1 -0
- package/dist/mcp/tools/release-notes.d.ts +9 -0
- package/dist/mcp/tools/release-notes.d.ts.map +1 -0
- package/dist/mcp/tools/report-exports.d.ts +9 -0
- package/dist/mcp/tools/report-exports.d.ts.map +1 -0
- package/dist/mcp/tools/resource-subscriptions.d.ts +8 -0
- package/dist/mcp/tools/resource-subscriptions.d.ts.map +1 -0
- package/dist/mcp/tools/run-records.d.ts +9 -0
- package/dist/mcp/tools/run-records.d.ts.map +1 -0
- package/dist/mcp/tools/sandbox.d.ts +8 -0
- package/dist/mcp/tools/sandbox.d.ts.map +1 -0
- package/dist/mcp/tools/saved-views.d.ts +9 -0
- package/dist/mcp/tools/saved-views.d.ts.map +1 -0
- package/dist/mcp/tools/secret-redaction.d.ts +8 -0
- package/dist/mcp/tools/secret-redaction.d.ts.map +1 -0
- package/dist/mcp/tools/task-adv-tools.d.ts +20 -0
- package/dist/mcp/tools/task-adv-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-auto-tools.d.ts +20 -0
- package/dist/mcp/tools/task-auto-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-crud.d.ts +20 -0
- package/dist/mcp/tools/task-crud.d.ts.map +1 -0
- package/dist/mcp/tools/task-dedupe.d.ts +9 -0
- package/dist/mcp/tools/task-dedupe.d.ts.map +1 -0
- package/dist/mcp/tools/task-meta-tools.d.ts +12 -0
- package/dist/mcp/tools/task-meta-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-project-tools.d.ts +20 -0
- package/dist/mcp/tools/task-project-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-rel-tools.d.ts +19 -0
- package/dist/mcp/tools/task-rel-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-resources.d.ts +13 -0
- package/dist/mcp/tools/task-resources.d.ts.map +1 -0
- package/dist/mcp/tools/task-scheduling.d.ts +9 -0
- package/dist/mcp/tools/task-scheduling.d.ts.map +1 -0
- package/dist/mcp/tools/task-workflow-tools.d.ts +20 -0
- package/dist/mcp/tools/task-workflow-tools.d.ts.map +1 -0
- package/dist/mcp/tools/template-library.d.ts +8 -0
- package/dist/mcp/tools/template-library.d.ts.map +1 -0
- package/dist/mcp/tools/templates.d.ts +9 -0
- package/dist/mcp/tools/templates.d.ts.map +1 -0
- package/dist/mcp/tools/terminal-notifications.d.ts +9 -0
- package/dist/mcp/tools/terminal-notifications.d.ts.map +1 -0
- package/dist/mcp/tools/todos-md.d.ts +8 -0
- package/dist/mcp/tools/todos-md.d.ts.map +1 -0
- package/dist/mcp/tools/user-scaffolds.d.ts +8 -0
- package/dist/mcp/tools/user-scaffolds.d.ts.map +1 -0
- package/dist/mcp/tools/verification.d.ts +9 -0
- package/dist/mcp/tools/verification.d.ts.map +1 -0
- package/dist/mcp/tools/webhooks.d.ts +8 -0
- package/dist/mcp/tools/webhooks.d.ts.map +1 -0
- package/dist/mcp/tools/workflow-prompts.d.ts +3 -0
- package/dist/mcp/tools/workflow-prompts.d.ts.map +1 -0
- package/dist/mcp/tools/workspace-trust.d.ts +8 -0
- package/dist/mcp/tools/workspace-trust.d.ts.map +1 -0
- package/dist/mcp.d.ts +42 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +555 -0
- package/dist/registry.d.ts +35 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +18875 -0
- package/dist/sdk/client.d.ts +383 -0
- package/dist/sdk/client.d.ts.map +1 -0
- package/dist/sdk/index.d.ts +14 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/types.d.ts +198 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk.d.ts +19 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +34 -12
- package/dist/server/routes.d.ts +86 -0
- package/dist/server/routes.d.ts.map +1 -0
- package/dist/server/serve.d.ts +39 -0
- package/dist/server/serve.d.ts.map +1 -0
- package/dist/storage/index.d.ts +4 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/interfaces.d.ts +185 -0
- package/dist/storage/interfaces.d.ts.map +1 -0
- package/dist/storage/local-sqlite.d.ts +7 -0
- package/dist/storage/local-sqlite.d.ts.map +1 -0
- package/dist/storage.d.ts +4 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +8876 -0
- package/dist/test/no-network.d.ts +7 -0
- package/dist/test/no-network.d.ts.map +1 -0
- package/dist/types/index.d.ts +1032 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local redaction and secret-safety guardrails for logs, exports, comments, and debug output.
|
|
3
|
+
*/
|
|
4
|
+
export declare const SECRET_REDACTION_SCHEMA = "todos.secret_redaction.v1";
|
|
5
|
+
export declare const REDACTION_PLACEHOLDER = "[REDACTED]";
|
|
6
|
+
export interface SecretPattern {
|
|
7
|
+
name: string;
|
|
8
|
+
pattern: RegExp;
|
|
9
|
+
/** If true, allowlisted contexts skip this pattern */
|
|
10
|
+
allowlist_ok?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface SecretMatch {
|
|
13
|
+
pattern: string;
|
|
14
|
+
match: string;
|
|
15
|
+
index: number;
|
|
16
|
+
line?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface SecretScanResult {
|
|
19
|
+
schema_version: typeof SECRET_REDACTION_SCHEMA;
|
|
20
|
+
clean: boolean;
|
|
21
|
+
matches: SecretMatch[];
|
|
22
|
+
redacted_text?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface RedactionOptions {
|
|
25
|
+
custom_patterns?: RegExp[];
|
|
26
|
+
allowlist?: RegExp[];
|
|
27
|
+
placeholder?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function registerCustomRedactor(fn: (text: string) => string): void;
|
|
30
|
+
export declare function resetCustomRedactors(): void;
|
|
31
|
+
export declare function scanTextForSecrets(text: string, options?: RedactionOptions): SecretScanResult;
|
|
32
|
+
export declare function redactText(text: string, options?: RedactionOptions): string;
|
|
33
|
+
export declare function scanAndRedactText(text: string, options?: RedactionOptions): SecretScanResult;
|
|
34
|
+
export declare function scanFileForSecrets(path: string, options?: RedactionOptions): SecretScanResult;
|
|
35
|
+
/** Safe JSON stringify for CLI/MCP — redacts object fields and embedded secret patterns in strings. */
|
|
36
|
+
export declare function safeStringify(value: unknown, space?: number): string;
|
|
37
|
+
export declare function assertNoSecrets(text: string, context?: string): void;
|
|
38
|
+
export declare function redactCommentContent(content: string): string;
|
|
39
|
+
export declare function redactHandoffPayload(payload: Record<string, unknown>): Record<string, unknown>;
|
|
40
|
+
export declare function redactExportRecord(record: Record<string, unknown>): Record<string, unknown>;
|
|
41
|
+
export declare function getDefaultSecretPatterns(): Array<{
|
|
42
|
+
name: string;
|
|
43
|
+
source: string;
|
|
44
|
+
}>;
|
|
45
|
+
//# sourceMappingURL=secret-redaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-redaction.d.ts","sourceRoot":"","sources":["../../src/lib/secret-redaction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AACnE,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,OAAO,uBAAuB,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuBD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAEzE;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAOD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,gBAAgB,CAyBjG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAsB/E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,gBAAgB,CAMhG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,gBAAgB,CAIjG;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAMpE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE9F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ3F;AAED,wBAAgB,wBAAwB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAElF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface SyncResult {
|
|
2
|
+
pushed: number;
|
|
3
|
+
pulled: number;
|
|
4
|
+
errors: string[];
|
|
5
|
+
}
|
|
6
|
+
export type SyncPrefer = "local" | "remote";
|
|
7
|
+
export interface SyncConflict {
|
|
8
|
+
agent: string;
|
|
9
|
+
direction: "push" | "pull";
|
|
10
|
+
prefer: SyncPrefer;
|
|
11
|
+
local_updated_at?: string;
|
|
12
|
+
remote_updated_at?: string;
|
|
13
|
+
detected_at: string;
|
|
14
|
+
notes?: string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=sync-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-types.d.ts","sourceRoot":"","sources":["../../src/lib/sync-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SyncConflict } from "./sync-types.js";
|
|
2
|
+
export declare const HOME: string;
|
|
3
|
+
export declare function getHomeDir(): string;
|
|
4
|
+
export declare function getTodosGlobalDir(): string;
|
|
5
|
+
export declare function ensureDir(dir: string): void;
|
|
6
|
+
export declare function listJsonFiles(dir: string): string[];
|
|
7
|
+
export declare function readJsonFile<T>(path: string): T | null;
|
|
8
|
+
export declare function writeJsonFile(path: string, data: unknown): void;
|
|
9
|
+
export declare function readHighWaterMark(dir: string): number;
|
|
10
|
+
export declare function writeHighWaterMark(dir: string, value: number): void;
|
|
11
|
+
export declare function getFileMtimeMs(path: string): number | null;
|
|
12
|
+
export declare function parseTimestamp(value: unknown): number | null;
|
|
13
|
+
export declare function appendSyncConflict(metadata: Record<string, unknown>, conflict: SyncConflict, limit?: number): Record<string, unknown>;
|
|
14
|
+
//# sourceMappingURL=sync-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-utils.d.ts","sourceRoot":"","sources":["../../src/lib/sync-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,IAAI,QAA2D,CAAC;AAE7E,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAGnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAMtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAE/D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEnE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM1D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,QAAQ,EAAE,YAAY,EACtB,KAAK,SAAI,GACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SyncPrefer, SyncResult } from "./sync-types.js";
|
|
2
|
+
export type SyncDirection = "push" | "pull" | "both";
|
|
3
|
+
export interface SyncOptions {
|
|
4
|
+
prefer?: SyncPrefer;
|
|
5
|
+
}
|
|
6
|
+
export declare function defaultSyncAgents(): string[];
|
|
7
|
+
export declare function syncWithAgent(agent: string, taskListId: string, projectId?: string, direction?: SyncDirection, options?: SyncOptions): SyncResult;
|
|
8
|
+
export declare function syncWithAgents(agents: string[], taskListIdByAgent: (agent: string) => string | null, projectId?: string, direction?: SyncDirection, options?: SyncOptions): SyncResult;
|
|
9
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACrD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAWD,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAQ5C;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,aAAsB,EACjC,OAAO,GAAE,WAAgB,GACxB,UAAU,CAWZ;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EAAE,EAChB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACnD,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,aAAsB,EACjC,OAAO,GAAE,WAAgB,GACxB,UAAU,CAoCZ"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
export type TaskRiskLevel = "low" | "medium" | "high" | "critical";
|
|
3
|
+
export type TaskReviewState = "none" | "requested" | "approved" | "changes_requested" | "reopened";
|
|
4
|
+
export type RecordableTaskReviewState = Exclude<TaskReviewState, "none" | "requested">;
|
|
5
|
+
export interface SetTaskContractInput {
|
|
6
|
+
task_id: string;
|
|
7
|
+
acceptance_criteria?: string[];
|
|
8
|
+
verification_commands?: string[];
|
|
9
|
+
expected_artifacts?: string[];
|
|
10
|
+
relevant_files?: string[];
|
|
11
|
+
risk_level?: TaskRiskLevel;
|
|
12
|
+
done_definition?: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface TaskContract {
|
|
15
|
+
task_id: string;
|
|
16
|
+
acceptance_criteria: string[];
|
|
17
|
+
verification_commands: string[];
|
|
18
|
+
expected_artifacts: string[];
|
|
19
|
+
relevant_files: string[];
|
|
20
|
+
risk_level: TaskRiskLevel | null;
|
|
21
|
+
done_definition: string[];
|
|
22
|
+
updated_at: string;
|
|
23
|
+
}
|
|
24
|
+
export interface RequestTaskReviewInput {
|
|
25
|
+
task_id: string;
|
|
26
|
+
requester: string;
|
|
27
|
+
reviewer?: string;
|
|
28
|
+
notes?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface RecordTaskReviewInput {
|
|
31
|
+
task_id: string;
|
|
32
|
+
state: RecordableTaskReviewState;
|
|
33
|
+
reviewer: string;
|
|
34
|
+
notes?: string;
|
|
35
|
+
changes_requested?: string[];
|
|
36
|
+
}
|
|
37
|
+
export interface TaskReviewHistoryEntry {
|
|
38
|
+
state: Exclude<TaskReviewState, "none">;
|
|
39
|
+
actor: string;
|
|
40
|
+
notes: string | null;
|
|
41
|
+
changes_requested: string[];
|
|
42
|
+
at: string;
|
|
43
|
+
}
|
|
44
|
+
export interface TaskReview {
|
|
45
|
+
task_id: string;
|
|
46
|
+
state: TaskReviewState;
|
|
47
|
+
requester: string | null;
|
|
48
|
+
reviewer: string | null;
|
|
49
|
+
notes: string | null;
|
|
50
|
+
changes_requested: string[];
|
|
51
|
+
requested_at: string | null;
|
|
52
|
+
reviewed_at: string | null;
|
|
53
|
+
history: TaskReviewHistoryEntry[];
|
|
54
|
+
}
|
|
55
|
+
export interface TaskDoneContractResult {
|
|
56
|
+
ok: boolean;
|
|
57
|
+
task_id: string;
|
|
58
|
+
missing: string[];
|
|
59
|
+
contract: TaskContract;
|
|
60
|
+
review: TaskReview;
|
|
61
|
+
evidence: {
|
|
62
|
+
task_status: string;
|
|
63
|
+
acceptance_criteria: number;
|
|
64
|
+
passed_verifications: string[];
|
|
65
|
+
artifacts: string[];
|
|
66
|
+
review_state: TaskReviewState;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export declare function setTaskContract(input: SetTaskContractInput, db?: Database): TaskContract;
|
|
70
|
+
export declare function getTaskContract(taskId: string, db?: Database): TaskContract | null;
|
|
71
|
+
export declare function requestTaskReview(input: RequestTaskReviewInput, db?: Database): TaskReview;
|
|
72
|
+
export declare function recordTaskReview(input: RecordTaskReviewInput, db?: Database): TaskReview;
|
|
73
|
+
export declare function getTaskReview(taskId: string, db?: Database): TaskReview | null;
|
|
74
|
+
export declare function checkTaskDoneContract(taskId: string, db?: Database): TaskDoneContractResult;
|
|
75
|
+
//# sourceMappingURL=task-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-contracts.d.ts","sourceRoot":"","sources":["../../src/lib/task-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { Task } from "../types/index.js";
|
|
3
|
+
export interface FindDuplicateTasksOptions {
|
|
4
|
+
threshold?: number;
|
|
5
|
+
limit?: number;
|
|
6
|
+
include_archived?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface DuplicateTaskCandidate {
|
|
9
|
+
primary_task: Task;
|
|
10
|
+
duplicate_task: Task;
|
|
11
|
+
score: number;
|
|
12
|
+
reasons: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface MergeDuplicateTaskInput {
|
|
15
|
+
primary_task_id: string;
|
|
16
|
+
duplicate_task_id: string;
|
|
17
|
+
agent_id?: string;
|
|
18
|
+
reason?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TaskMergeMovedCounts {
|
|
21
|
+
comments: number;
|
|
22
|
+
dependencies: number;
|
|
23
|
+
dependents: number;
|
|
24
|
+
runs: number;
|
|
25
|
+
run_events: number;
|
|
26
|
+
run_commands: number;
|
|
27
|
+
run_artifacts: number;
|
|
28
|
+
files: number;
|
|
29
|
+
inbox_items: number;
|
|
30
|
+
verifications: number;
|
|
31
|
+
history: number;
|
|
32
|
+
relationships: number;
|
|
33
|
+
git_refs: number;
|
|
34
|
+
commits: number;
|
|
35
|
+
checklists: number;
|
|
36
|
+
}
|
|
37
|
+
export interface TaskMergeResult {
|
|
38
|
+
primary_task: Task;
|
|
39
|
+
archived_duplicate: Task;
|
|
40
|
+
relationship_id: string;
|
|
41
|
+
moved: TaskMergeMovedCounts;
|
|
42
|
+
}
|
|
43
|
+
export declare function findDuplicateTasks(options?: FindDuplicateTasksOptions, db?: Database): DuplicateTaskCandidate[];
|
|
44
|
+
export declare function mergeDuplicateTask(input: MergeDuplicateTaskInput, db?: Database): TaskMergeResult;
|
|
45
|
+
export declare const findDuplicateCandidates: typeof findDuplicateTasks;
|
|
46
|
+
//# sourceMappingURL=task-dedupe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-dedupe.d.ts","sourceRoot":"","sources":["../../src/lib/task-dedupe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAM9C,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,IAAI,CAAC;IACnB,cAAc,EAAE,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,IAAI,CAAC;IACnB,kBAAkB,EAAE,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAqND,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAqBnH;AAqJD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,eAAe,CAiGjG;AAGD,eAAO,MAAM,uBAAuB,2BAAqB,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { Task } from "../types/index.js";
|
|
3
|
+
import { type Checkpoint, type Heartbeat } from "../db/checkpoints.js";
|
|
4
|
+
export type RetryStrategy = {
|
|
5
|
+
type: "none";
|
|
6
|
+
} | {
|
|
7
|
+
type: "fixed";
|
|
8
|
+
delay_ms: number;
|
|
9
|
+
max_attempts: number;
|
|
10
|
+
} | {
|
|
11
|
+
type: "exponential";
|
|
12
|
+
base_ms: number;
|
|
13
|
+
max_attempts: number;
|
|
14
|
+
max_delay_ms?: number;
|
|
15
|
+
} | {
|
|
16
|
+
type: "linear";
|
|
17
|
+
base_ms: number;
|
|
18
|
+
max_attempts: number;
|
|
19
|
+
};
|
|
20
|
+
export interface TaskRunnerOptions {
|
|
21
|
+
agent_id: string;
|
|
22
|
+
retry_strategy?: RetryStrategy;
|
|
23
|
+
heartbeat_interval_ms?: number;
|
|
24
|
+
checkpoint_on_error?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface StepDefinition {
|
|
27
|
+
name: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
max_attempts?: number;
|
|
30
|
+
timeout_ms?: number;
|
|
31
|
+
}
|
|
32
|
+
export type StepResult = {
|
|
33
|
+
status: "completed" | "failed" | "skipped";
|
|
34
|
+
data?: Record<string, unknown>;
|
|
35
|
+
error?: string;
|
|
36
|
+
};
|
|
37
|
+
export type StepFn = (ctx: StepContext) => Promise<StepResult> | StepResult;
|
|
38
|
+
export interface StepContext {
|
|
39
|
+
task: Task;
|
|
40
|
+
agent_id: string;
|
|
41
|
+
step_name: string;
|
|
42
|
+
attempt: number;
|
|
43
|
+
data: Record<string, unknown>;
|
|
44
|
+
db: Database;
|
|
45
|
+
emitHeartbeat: (opts?: {
|
|
46
|
+
message?: string;
|
|
47
|
+
progress?: number;
|
|
48
|
+
meta?: Record<string, unknown>;
|
|
49
|
+
}) => Heartbeat;
|
|
50
|
+
checkpoint: (updates: Partial<Checkpoint>) => Checkpoint;
|
|
51
|
+
}
|
|
52
|
+
export declare class TaskRunner {
|
|
53
|
+
private agentId;
|
|
54
|
+
private retryStrategy;
|
|
55
|
+
private heartbeatIntervalMs;
|
|
56
|
+
private checkpointOnError;
|
|
57
|
+
private db;
|
|
58
|
+
private heartbeatTimer;
|
|
59
|
+
private _aborted;
|
|
60
|
+
private _currentStep;
|
|
61
|
+
private _stepIndex;
|
|
62
|
+
constructor(opts: TaskRunnerOptions, db?: Database);
|
|
63
|
+
abort(): void;
|
|
64
|
+
get aborted(): boolean;
|
|
65
|
+
/** Start heartbeats at regular intervals */
|
|
66
|
+
startHeartbeat(taskId: string): void;
|
|
67
|
+
stopHeartbeat(): void;
|
|
68
|
+
/** Initialize a task run: set runner metadata, create checkpoints for each step */
|
|
69
|
+
init(taskId: string, steps: StepDefinition[]): Task;
|
|
70
|
+
/** Run all steps sequentially with retry support */
|
|
71
|
+
run(taskId: string, stepFns: Map<string, StepFn>): Promise<{
|
|
72
|
+
success: boolean;
|
|
73
|
+
steps: StepResult[];
|
|
74
|
+
}>;
|
|
75
|
+
/** Mark a task run as completed in the DB */
|
|
76
|
+
complete(taskId: string): Task;
|
|
77
|
+
/** Mark a task run as failed */
|
|
78
|
+
fail(taskId: string, reason?: string): {
|
|
79
|
+
task: Task;
|
|
80
|
+
};
|
|
81
|
+
/** Get progress summary for a task */
|
|
82
|
+
progress(taskId: string): {
|
|
83
|
+
total_steps: number;
|
|
84
|
+
completed_steps: number;
|
|
85
|
+
failed_steps: number;
|
|
86
|
+
pending_steps: number;
|
|
87
|
+
last_heartbeat?: Heartbeat | null;
|
|
88
|
+
};
|
|
89
|
+
/** Get last heartbeat for a task */
|
|
90
|
+
lastHeartbeat(taskId: string): Heartbeat | null;
|
|
91
|
+
private handleStepFailure;
|
|
92
|
+
private shouldRetry;
|
|
93
|
+
private computeRetryDelay;
|
|
94
|
+
private getDefaultMaxAttempts;
|
|
95
|
+
}
|
|
96
|
+
/** Convenience: create a runner and claim + start a task in one call */
|
|
97
|
+
export declare function runTask(taskId: string, opts: TaskRunnerOptions): {
|
|
98
|
+
runner: TaskRunner;
|
|
99
|
+
task: Task;
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=task-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-runner.d.ts","sourceRoot":"","sources":["../../src/lib/task-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local task scheduling — due dates, delayed starts, recurrence helpers,
|
|
3
|
+
* stale detection, and agent-safe queue ordering.
|
|
4
|
+
*/
|
|
5
|
+
import type { Database } from "bun:sqlite";
|
|
6
|
+
import { type Task } from "../db/tasks.js";
|
|
7
|
+
export declare const TASK_SCHEDULING_SCHEMA = "todos.task_scheduling.v1";
|
|
8
|
+
export interface ScheduleTaskInput {
|
|
9
|
+
due_at?: string | null;
|
|
10
|
+
scheduled_start_at?: string | null;
|
|
11
|
+
recurrence_rule?: string | null;
|
|
12
|
+
}
|
|
13
|
+
export interface StaleTaskReport {
|
|
14
|
+
schema_version: typeof TASK_SCHEDULING_SCHEMA;
|
|
15
|
+
stale_minutes: number;
|
|
16
|
+
count: number;
|
|
17
|
+
tasks: Array<{
|
|
18
|
+
id: string;
|
|
19
|
+
short_id: string | null;
|
|
20
|
+
title: string;
|
|
21
|
+
assigned_to: string | null;
|
|
22
|
+
locked_by: string | null;
|
|
23
|
+
stale_minutes: number;
|
|
24
|
+
updated_at: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
export interface SchedulingQueueItem {
|
|
28
|
+
id: string;
|
|
29
|
+
short_id: string | null;
|
|
30
|
+
title: string;
|
|
31
|
+
priority: string;
|
|
32
|
+
due_at: string | null;
|
|
33
|
+
scheduled_start_at: string | null;
|
|
34
|
+
score: number;
|
|
35
|
+
blocked: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface SchedulingSummary {
|
|
38
|
+
schema_version: typeof TASK_SCHEDULING_SCHEMA;
|
|
39
|
+
due_today: number;
|
|
40
|
+
overdue: number;
|
|
41
|
+
stale: number;
|
|
42
|
+
waiting_delayed_start: number;
|
|
43
|
+
recurring: number;
|
|
44
|
+
next_claimable: Task | null;
|
|
45
|
+
}
|
|
46
|
+
export declare function scheduleTask(taskId: string, input: ScheduleTaskInput, db?: Database): Task;
|
|
47
|
+
export declare function listDelayedStartTasks(db?: Database): Task[];
|
|
48
|
+
export declare function listReadyScheduledTasks(filters?: {
|
|
49
|
+
project_id?: string;
|
|
50
|
+
}, db?: Database): Task[];
|
|
51
|
+
export declare function getAgentSafeQueue(agentId?: string, filters?: {
|
|
52
|
+
project_id?: string;
|
|
53
|
+
limit?: number;
|
|
54
|
+
}, db?: Database): SchedulingQueueItem[];
|
|
55
|
+
export declare function getStaleTaskReport(staleMinutes?: number, filters?: {
|
|
56
|
+
project_id?: string;
|
|
57
|
+
}, db?: Database): StaleTaskReport;
|
|
58
|
+
export declare function getSchedulingSummary(agentId?: string, filters?: {
|
|
59
|
+
project_id?: string;
|
|
60
|
+
}, db?: Database): SchedulingSummary;
|
|
61
|
+
export declare function previewNextRecurrence(taskId: string, db?: Database): {
|
|
62
|
+
due_at: string;
|
|
63
|
+
rule: string;
|
|
64
|
+
} | null;
|
|
65
|
+
export declare function agentClaimNextSafe(agentId: string, filters?: {
|
|
66
|
+
project_id?: string;
|
|
67
|
+
}, db?: Database): Task | null;
|
|
68
|
+
export declare function getAgentLoopDocs(): string;
|
|
69
|
+
//# sourceMappingURL=task-scheduling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-scheduling.d.ts","sourceRoot":"","sources":["../../src/lib/task-scheduling.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Marketplace-free local template library — bundled workflows, preview, import/export.
|
|
3
|
+
*/
|
|
4
|
+
import type { Database } from "bun:sqlite";
|
|
5
|
+
import { BUILTIN_TEMPLATES, TEMPLATE_LIBRARY_SCHEMA, initBuiltinTemplates, type BuiltinTemplate } from "../db/builtin-templates.js";
|
|
6
|
+
import { previewTemplate, exportTemplate } from "../db/templates.js";
|
|
7
|
+
export { TEMPLATE_LIBRARY_SCHEMA, BUILTIN_TEMPLATES };
|
|
8
|
+
export interface TemplateLibraryEntry {
|
|
9
|
+
schema_version: typeof TEMPLATE_LIBRARY_SCHEMA;
|
|
10
|
+
name: string;
|
|
11
|
+
version: number;
|
|
12
|
+
category: BuiltinTemplate["category"];
|
|
13
|
+
description: string;
|
|
14
|
+
task_count: number;
|
|
15
|
+
variables: BuiltinTemplate["variables"];
|
|
16
|
+
installed: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface TemplateLibraryCatalog {
|
|
19
|
+
schema_version: typeof TEMPLATE_LIBRARY_SCHEMA;
|
|
20
|
+
exported_at: string;
|
|
21
|
+
templates: TemplateLibraryEntry[];
|
|
22
|
+
}
|
|
23
|
+
export interface TemplateLibraryExport {
|
|
24
|
+
schema_version: typeof TEMPLATE_LIBRARY_SCHEMA;
|
|
25
|
+
exported_at: string;
|
|
26
|
+
template: ReturnType<typeof exportTemplate>;
|
|
27
|
+
}
|
|
28
|
+
export declare function listTemplateLibrary(db?: Database): TemplateLibraryEntry[];
|
|
29
|
+
export declare function getBuiltinTemplate(name: string): BuiltinTemplate | null;
|
|
30
|
+
export declare function previewBuiltinTemplate(name: string, variables?: Record<string, string>): {
|
|
31
|
+
name: string;
|
|
32
|
+
tasks: Array<{
|
|
33
|
+
position: number;
|
|
34
|
+
title: string;
|
|
35
|
+
priority?: string;
|
|
36
|
+
}>;
|
|
37
|
+
} | null;
|
|
38
|
+
export declare function installTemplateLibrary(db?: Database): ReturnType<typeof initBuiltinTemplates>;
|
|
39
|
+
export declare function exportTemplateLibraryCatalog(path?: string, db?: Database): TemplateLibraryCatalog;
|
|
40
|
+
export declare function exportInstalledTemplate(name: string, db?: Database): TemplateLibraryExport | null;
|
|
41
|
+
export declare function importTemplateFromFile(path: string, db?: Database): {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
};
|
|
45
|
+
export declare function previewInstalledTemplate(name: string, variables?: Record<string, string>, db?: Database): ReturnType<typeof previewTemplate> | null;
|
|
46
|
+
export declare function getTemplateLibraryDocs(): string;
|
|
47
|
+
//# sourceMappingURL=template-library.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-library.d.ts","sourceRoot":"","sources":["../../src/lib/template-library.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,cAAc,EAA8C,MAAM,oBAAoB,CAAC;AAEjH,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,OAAO,uBAAuB,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,OAAO,uBAAuB,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,OAAO,uBAAuB,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;CAC7C;AAED,wBAAgB,mBAAmB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,oBAAoB,EAAE,CAczE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAEvE;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACrC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,IAAI,CAc/F;AAED,wBAAgB,sBAAsB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAE7F;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,sBAAsB,CAWjG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,qBAAqB,GAAG,IAAI,CASjG;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMhG;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACtC,EAAE,CAAC,EAAE,QAAQ,GACZ,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG,IAAI,CAK3C;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAkB/C"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type TerminalNotificationFormat, type TerminalNotificationQuietHoursConfig, type TerminalNotificationRuleConfig, type TerminalNotificationSeverity } from "./config.js";
|
|
2
|
+
import { type LocalEventType } from "./event-hooks.js";
|
|
3
|
+
export interface TerminalNotificationRuleInput {
|
|
4
|
+
name: string;
|
|
5
|
+
events: string[];
|
|
6
|
+
enabled?: boolean;
|
|
7
|
+
min_severity?: TerminalNotificationSeverity;
|
|
8
|
+
format?: TerminalNotificationFormat;
|
|
9
|
+
bell?: boolean;
|
|
10
|
+
task_statuses?: string[];
|
|
11
|
+
priorities?: string[];
|
|
12
|
+
agent_ids?: string[];
|
|
13
|
+
project_ids?: string[];
|
|
14
|
+
contains?: string[];
|
|
15
|
+
quiet_hours?: TerminalNotificationQuietHoursConfig;
|
|
16
|
+
}
|
|
17
|
+
export interface TerminalWatchEventInput {
|
|
18
|
+
type: LocalEventType;
|
|
19
|
+
payload?: Record<string, unknown>;
|
|
20
|
+
timestamp?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface TerminalNotification {
|
|
23
|
+
rule: string;
|
|
24
|
+
event_type: LocalEventType;
|
|
25
|
+
severity: TerminalNotificationSeverity;
|
|
26
|
+
title: string;
|
|
27
|
+
message: string;
|
|
28
|
+
timestamp: string;
|
|
29
|
+
task_id?: string;
|
|
30
|
+
project_id?: string;
|
|
31
|
+
agent_id?: string;
|
|
32
|
+
bell: boolean;
|
|
33
|
+
payload: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
export interface TerminalNotificationEvaluation {
|
|
36
|
+
rule: string;
|
|
37
|
+
matched: boolean;
|
|
38
|
+
skipped_reasons: string[];
|
|
39
|
+
notifications: TerminalNotification[];
|
|
40
|
+
}
|
|
41
|
+
export declare function parseQuietHours(value: string | undefined, timezone?: "utc" | "local"): TerminalNotificationQuietHoursConfig | undefined;
|
|
42
|
+
export declare function upsertTerminalNotificationRule(input: TerminalNotificationRuleInput): TerminalNotificationRuleConfig;
|
|
43
|
+
export declare function listTerminalNotificationRules(): TerminalNotificationRuleConfig[];
|
|
44
|
+
export declare function getTerminalNotificationRule(name: string): TerminalNotificationRuleConfig | null;
|
|
45
|
+
export declare function removeTerminalNotificationRule(name: string): boolean;
|
|
46
|
+
export declare function evaluateTerminalWatchRules(input: TerminalWatchEventInput, rules?: TerminalNotificationRuleConfig[]): TerminalNotificationEvaluation[];
|
|
47
|
+
export declare function testTerminalNotificationRule(name: string, input: TerminalWatchEventInput): TerminalNotificationEvaluation;
|
|
48
|
+
export declare function renderTerminalNotification(notification: TerminalNotification, format?: TerminalNotificationFormat): string;
|
|
49
|
+
export declare function describeTerminalNotificationRule(rule: TerminalNotificationRuleConfig): {
|
|
50
|
+
rule: TerminalNotificationRuleConfig;
|
|
51
|
+
warnings: string[];
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=terminal-notifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-notifications.d.ts","sourceRoot":"","sources":["../../src/lib/terminal-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,oCAAoC,EACzC,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EAClC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG1E,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAC5C,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,oCAAoC,CAAC;CACpD;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,4BAA4B,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAwCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAE,KAAK,GAAG,OAAiB,GAAG,oCAAoC,GAAG,SAAS,CAOhJ;AAwED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,6BAA6B,GAAG,8BAA8B,CAYnH;AAED,wBAAgB,6BAA6B,IAAI,8BAA8B,EAAE,CAEhF;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,8BAA8B,GAAG,IAAI,CAE/F;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQpE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,mCAAkC,GAAG,8BAA8B,EAAE,CAuCpJ;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,8BAA8B,CAIzH;AAED,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,oBAAoB,EAAE,MAAM,GAAE,0BAAmC,GAAG,MAAM,CAMlI;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,8BAA8B,GAAG;IAAE,IAAI,EAAE,8BAA8B,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAMnJ"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { TmuxTarget } from "../types/index.ts";
|
|
2
|
+
export declare const DELAY_MIN = 3000;
|
|
3
|
+
export declare const DELAY_MAX = 5000;
|
|
4
|
+
/**
|
|
5
|
+
* Parse a tmux target spec into its components.
|
|
6
|
+
* Accepts: "window", "session:window", "session:window.pane"
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseTmuxTarget(spec: string): TmuxTarget;
|
|
9
|
+
/**
|
|
10
|
+
* Build the canonical tmux target string from a TmuxTarget.
|
|
11
|
+
*/
|
|
12
|
+
export declare function formatTmuxTarget(target: TmuxTarget): string;
|
|
13
|
+
/**
|
|
14
|
+
* Validate a tmux target by running `tmux list-panes -t <target>`.
|
|
15
|
+
* Throws if tmux is not installed or the target doesn't exist.
|
|
16
|
+
*/
|
|
17
|
+
export declare function validateTmuxTarget(spec: string): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Auto-calculate delay in ms based on message length.
|
|
20
|
+
* Range: DELAY_MIN (3s) to DELAY_MAX (5s), scaling linearly.
|
|
21
|
+
*/
|
|
22
|
+
export declare function calculateDelay(message: string): number;
|
|
23
|
+
/**
|
|
24
|
+
* Send a message to a tmux window/pane, wait delayMs, then send Enter.
|
|
25
|
+
* Set dryRun=true to log instead of executing.
|
|
26
|
+
*/
|
|
27
|
+
export declare function sendToTmux(target: string, message: string, delayMs: number, dryRun?: boolean): Promise<void>;
|
|
28
|
+
//# sourceMappingURL=tmux.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/lib/tmux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,SAAS,OAAO,CAAC;AAC9B,eAAO,MAAM,SAAS,OAAO,CAAC;AAE9B;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAuCxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAK3D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBpE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import { type ExportLocalBridgeOptions, type ImportLocalBridgeOptions, type LocalBridgeImportResult, type TodosLocalBridgeData } from "./local-bridge.js";
|
|
3
|
+
export declare const TODOS_MARKDOWN_SCHEMA = "hasna.todos.md/v1";
|
|
4
|
+
export declare const TODOS_MARKDOWN_BRIDGE_MARKER = "hasna.todos.bridge";
|
|
5
|
+
export interface ImportTodosMarkdownOptions {
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
conflictStrategy?: ImportLocalBridgeOptions["conflictStrategy"];
|
|
8
|
+
}
|
|
9
|
+
export interface TodosMarkdownImportResult {
|
|
10
|
+
ok: boolean;
|
|
11
|
+
dry_run: boolean;
|
|
12
|
+
mode: "embedded_bridge" | "plain_markdown";
|
|
13
|
+
inserted: Record<keyof TodosLocalBridgeData, number>;
|
|
14
|
+
merged: Record<keyof TodosLocalBridgeData, number>;
|
|
15
|
+
skipped: Record<keyof TodosLocalBridgeData, number>;
|
|
16
|
+
conflicts: LocalBridgeImportResult["conflicts"];
|
|
17
|
+
issues: string[];
|
|
18
|
+
}
|
|
19
|
+
export declare function exportTodosMarkdown(options?: ExportLocalBridgeOptions, db?: Database): string;
|
|
20
|
+
export declare function importTodosMarkdown(markdown: string, options?: ImportTodosMarkdownOptions, db?: Database): TodosMarkdownImportResult;
|
|
21
|
+
//# sourceMappingURL=todos-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"todos-md.d.ts","sourceRoot":"","sources":["../../src/lib/todos-md.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQ3C,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAE5B,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AAEjE,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACpD,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwID,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,wBAA6B,EACtC,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAqDR;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,0BAA+B,EACxC,EAAE,CAAC,EAAE,QAAQ,GACZ,yBAAyB,CA4E3B"}
|