@hasna/todos 0.11.44 → 0.11.46

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.
Files changed (167) hide show
  1. package/README.md +695 -11
  2. package/dist/cli/commands/agent-reliability-commands.d.ts +3 -0
  3. package/dist/cli/commands/agent-reliability-commands.d.ts.map +1 -0
  4. package/dist/cli/commands/audit-ledger-commands.d.ts +3 -0
  5. package/dist/cli/commands/audit-ledger-commands.d.ts.map +1 -0
  6. package/dist/cli/commands/capacity-commands.d.ts +3 -0
  7. package/dist/cli/commands/capacity-commands.d.ts.map +1 -0
  8. package/dist/cli/commands/config-serve-commands.d.ts.map +1 -1
  9. package/dist/cli/commands/help-commands.d.ts +3 -0
  10. package/dist/cli/commands/help-commands.d.ts.map +1 -0
  11. package/dist/cli/commands/knowledge-commands.d.ts +3 -0
  12. package/dist/cli/commands/knowledge-commands.d.ts.map +1 -0
  13. package/dist/cli/commands/local-backup-commands.d.ts +3 -0
  14. package/dist/cli/commands/local-backup-commands.d.ts.map +1 -0
  15. package/dist/cli/commands/local-snapshot-commands.d.ts +3 -0
  16. package/dist/cli/commands/local-snapshot-commands.d.ts.map +1 -0
  17. package/dist/cli/commands/machines.d.ts.map +1 -1
  18. package/dist/cli/commands/mcp-hooks-commands.d.ts.map +1 -1
  19. package/dist/cli/commands/onboarding-commands.d.ts +3 -0
  20. package/dist/cli/commands/onboarding-commands.d.ts.map +1 -0
  21. package/dist/cli/commands/project-commands.d.ts.map +1 -1
  22. package/dist/cli/commands/query-commands.d.ts.map +1 -1
  23. package/dist/cli/commands/release-compatibility-commands.d.ts +3 -0
  24. package/dist/cli/commands/release-compatibility-commands.d.ts.map +1 -0
  25. package/dist/cli/commands/retrospective-commands.d.ts +3 -0
  26. package/dist/cli/commands/retrospective-commands.d.ts.map +1 -0
  27. package/dist/cli/commands/review-queue-commands.d.ts +3 -0
  28. package/dist/cli/commands/review-queue-commands.d.ts.map +1 -0
  29. package/dist/cli/commands/risk-commands.d.ts +3 -0
  30. package/dist/cli/commands/risk-commands.d.ts.map +1 -0
  31. package/dist/cli/commands/roadmap-commands.d.ts +3 -0
  32. package/dist/cli/commands/roadmap-commands.d.ts.map +1 -0
  33. package/dist/cli/commands/scale-hardening-commands.d.ts +3 -0
  34. package/dist/cli/commands/scale-hardening-commands.d.ts.map +1 -0
  35. package/dist/cli/commands/sdk-fixture-commands.d.ts +3 -0
  36. package/dist/cli/commands/sdk-fixture-commands.d.ts.map +1 -0
  37. package/dist/cli/commands/task-commands.d.ts.map +1 -1
  38. package/dist/cli/commands/usage-ledger-commands.d.ts +3 -0
  39. package/dist/cli/commands/usage-ledger-commands.d.ts.map +1 -0
  40. package/dist/cli/components/Dashboard.d.ts.map +1 -1
  41. package/dist/cli/index.js +39446 -19769
  42. package/dist/cli-mcp-parity.d.ts +1 -1
  43. package/dist/cli-mcp-parity.d.ts.map +1 -1
  44. package/dist/contracts.d.ts +25 -0
  45. package/dist/contracts.d.ts.map +1 -1
  46. package/dist/contracts.js +14818 -3885
  47. package/dist/db/agent-metrics.d.ts +101 -0
  48. package/dist/db/agent-metrics.d.ts.map +1 -1
  49. package/dist/db/agent-names.d.ts +2 -1
  50. package/dist/db/agent-names.d.ts.map +1 -1
  51. package/dist/db/boards.d.ts +56 -0
  52. package/dist/db/boards.d.ts.map +1 -0
  53. package/dist/db/calendar.d.ts +52 -0
  54. package/dist/db/calendar.d.ts.map +1 -0
  55. package/dist/db/comments.d.ts.map +1 -1
  56. package/dist/db/handoffs.d.ts +25 -0
  57. package/dist/db/handoffs.d.ts.map +1 -1
  58. package/dist/db/machines.d.ts +19 -6
  59. package/dist/db/machines.d.ts.map +1 -1
  60. package/dist/db/migrations.d.ts.map +1 -1
  61. package/dist/db/project-knowledge.d.ts +88 -0
  62. package/dist/db/project-knowledge.d.ts.map +1 -0
  63. package/dist/db/project-risks.d.ts +139 -0
  64. package/dist/db/project-risks.d.ts.map +1 -0
  65. package/dist/db/retrospectives.d.ts +98 -0
  66. package/dist/db/retrospectives.d.ts.map +1 -0
  67. package/dist/db/schema.d.ts.map +1 -1
  68. package/dist/db/task-crud.d.ts.map +1 -1
  69. package/dist/db/task-relations.d.ts +69 -9
  70. package/dist/db/task-relations.d.ts.map +1 -1
  71. package/dist/db/task-runs.d.ts +3 -0
  72. package/dist/db/task-runs.d.ts.map +1 -1
  73. package/dist/db/tasks.d.ts +6 -2
  74. package/dist/db/tasks.d.ts.map +1 -1
  75. package/dist/index.d.ts +74 -11
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +24662 -11829
  78. package/dist/json-contracts.d.ts.map +1 -1
  79. package/dist/lib/agent-replay-simulator.d.ts +66 -0
  80. package/dist/lib/agent-replay-simulator.d.ts.map +1 -0
  81. package/dist/lib/audit-ledger.d.ts +59 -0
  82. package/dist/lib/audit-ledger.d.ts.map +1 -0
  83. package/dist/lib/branch-work-plans.d.ts +46 -0
  84. package/dist/lib/branch-work-plans.d.ts.map +1 -0
  85. package/dist/lib/capacity-forecasts.d.ts +70 -0
  86. package/dist/lib/capacity-forecasts.d.ts.map +1 -0
  87. package/dist/lib/cli-help.d.ts +38 -0
  88. package/dist/lib/cli-help.d.ts.map +1 -0
  89. package/dist/lib/config.d.ts +217 -0
  90. package/dist/lib/config.d.ts.map +1 -1
  91. package/dist/lib/context-packs.d.ts +26 -3
  92. package/dist/lib/context-packs.d.ts.map +1 -1
  93. package/dist/lib/event-hooks.d.ts +1 -1
  94. package/dist/lib/event-hooks.d.ts.map +1 -1
  95. package/dist/lib/external-issue-importers.d.ts +60 -0
  96. package/dist/lib/external-issue-importers.d.ts.map +1 -0
  97. package/dist/lib/extract.d.ts +57 -0
  98. package/dist/lib/extract.d.ts.map +1 -1
  99. package/dist/lib/local-backups.d.ts +129 -0
  100. package/dist/lib/local-backups.d.ts.map +1 -0
  101. package/dist/lib/local-bridge.d.ts +3 -1
  102. package/dist/lib/local-bridge.d.ts.map +1 -1
  103. package/dist/lib/local-extensions.d.ts +92 -0
  104. package/dist/lib/local-extensions.d.ts.map +1 -0
  105. package/dist/lib/local-notifications.d.ts +55 -0
  106. package/dist/lib/local-notifications.d.ts.map +1 -0
  107. package/dist/lib/local-reports.d.ts +149 -0
  108. package/dist/lib/local-reports.d.ts.map +1 -0
  109. package/dist/lib/local-snapshots.d.ts +66 -0
  110. package/dist/lib/local-snapshots.d.ts.map +1 -0
  111. package/dist/lib/mention-resolver.d.ts +43 -0
  112. package/dist/lib/mention-resolver.d.ts.map +1 -0
  113. package/dist/lib/natural-language-intake.d.ts +56 -0
  114. package/dist/lib/natural-language-intake.d.ts.map +1 -0
  115. package/dist/lib/onboarding-fixtures.d.ts +31 -0
  116. package/dist/lib/onboarding-fixtures.d.ts.map +1 -0
  117. package/dist/lib/public-release-gate.d.ts +7 -0
  118. package/dist/lib/public-release-gate.d.ts.map +1 -1
  119. package/dist/lib/redaction.d.ts +9 -0
  120. package/dist/lib/redaction.d.ts.map +1 -1
  121. package/dist/lib/release-compatibility.d.ts +59 -0
  122. package/dist/lib/release-compatibility.d.ts.map +1 -0
  123. package/dist/lib/release-notes.d.ts +81 -0
  124. package/dist/lib/release-notes.d.ts.map +1 -0
  125. package/dist/lib/retention-cleanup.d.ts +63 -0
  126. package/dist/lib/retention-cleanup.d.ts.map +1 -0
  127. package/dist/lib/review-queues.d.ts +98 -0
  128. package/dist/lib/review-queues.d.ts.map +1 -0
  129. package/dist/lib/roadmaps.d.ts +133 -0
  130. package/dist/lib/roadmaps.d.ts.map +1 -0
  131. package/dist/lib/scale-hardening.d.ts +74 -0
  132. package/dist/lib/scale-hardening.d.ts.map +1 -0
  133. package/dist/lib/sdk-integration-fixtures.d.ts +65 -0
  134. package/dist/lib/sdk-integration-fixtures.d.ts.map +1 -0
  135. package/dist/lib/terminal-notifications.d.ts +53 -0
  136. package/dist/lib/terminal-notifications.d.ts.map +1 -0
  137. package/dist/lib/todos-md.d.ts.map +1 -1
  138. package/dist/lib/tui-dashboard.d.ts +49 -0
  139. package/dist/lib/tui-dashboard.d.ts.map +1 -0
  140. package/dist/lib/usage-ledger.d.ts +82 -0
  141. package/dist/lib/usage-ledger.d.ts.map +1 -0
  142. package/dist/lib/workflow-prompts.d.ts +38 -0
  143. package/dist/lib/workflow-prompts.d.ts.map +1 -0
  144. package/dist/lib/workflow-states.d.ts +70 -0
  145. package/dist/lib/workflow-states.d.ts.map +1 -0
  146. package/dist/mcp/index.d.ts.map +1 -1
  147. package/dist/mcp/index.js +25922 -13067
  148. package/dist/mcp/token-utils.d.ts.map +1 -1
  149. package/dist/mcp/tools/code-tools.d.ts.map +1 -1
  150. package/dist/mcp/tools/machines.d.ts.map +1 -1
  151. package/dist/mcp/tools/task-adv-tools.d.ts.map +1 -1
  152. package/dist/mcp/tools/task-auto-tools.d.ts.map +1 -1
  153. package/dist/mcp/tools/task-crud.d.ts.map +1 -1
  154. package/dist/mcp/tools/task-meta-tools.d.ts.map +1 -1
  155. package/dist/mcp/tools/task-project-tools.d.ts.map +1 -1
  156. package/dist/mcp/tools/task-rel-tools.d.ts.map +1 -1
  157. package/dist/mcp/tools/task-resources.d.ts.map +1 -1
  158. package/dist/mcp/tools/workflow-prompts.d.ts +3 -0
  159. package/dist/mcp/tools/workflow-prompts.d.ts.map +1 -0
  160. package/dist/mcp.js +107 -2
  161. package/dist/registry.js +15919 -6050
  162. package/dist/server/index.js +645 -143
  163. package/dist/storage.js +2516 -159
  164. package/dist/types/index.d.ts +214 -0
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/package.json +1 -1
  167. package/dist/release-provenance.json +0 -7
@@ -0,0 +1,149 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { Task } from "../types/index.js";
3
+ export declare const LOCAL_REPORT_SCHEMA_VERSION = 1;
4
+ export declare const LOCAL_REPORT_TYPES: readonly ["ready", "blocked", "overdue", "standup", "sprint", "progress", "run_outcomes", "verification_evidence", "agent_summary"];
5
+ export type LocalReportType = typeof LOCAL_REPORT_TYPES[number];
6
+ export interface LocalReportOptions {
7
+ project_id?: string;
8
+ plan_id?: string;
9
+ agent_id?: string;
10
+ since?: string;
11
+ until?: string;
12
+ generated_at?: string;
13
+ now?: string;
14
+ limit?: number;
15
+ }
16
+ export interface LocalReportTaskSummary {
17
+ id: string;
18
+ short_id: string | null;
19
+ title: string;
20
+ status: Task["status"];
21
+ priority: Task["priority"];
22
+ project_id: string | null;
23
+ plan_id: string | null;
24
+ assigned_to: string | null;
25
+ due_at: string | null;
26
+ updated_at: string;
27
+ }
28
+ export interface LocalReportBlockedTask extends LocalReportTaskSummary {
29
+ blocked_by: LocalReportTaskSummary[];
30
+ }
31
+ export interface LocalReportTaskView<T extends LocalReportTaskSummary = LocalReportTaskSummary> {
32
+ type: "ready" | "blocked" | "overdue";
33
+ total: number;
34
+ items: T[];
35
+ }
36
+ export interface LocalReportPlanSummary {
37
+ id: string;
38
+ name: string;
39
+ status: string;
40
+ project_id: string | null;
41
+ agent_id: string | null;
42
+ counts: {
43
+ total: number;
44
+ pending: number;
45
+ in_progress: number;
46
+ completed: number;
47
+ failed: number;
48
+ cancelled: number;
49
+ blocked: number;
50
+ overdue: number;
51
+ };
52
+ progress_percent: number;
53
+ }
54
+ export interface LocalReportRunSummary {
55
+ id: string;
56
+ task_id: string;
57
+ task_title: string;
58
+ agent_id: string | null;
59
+ status: string;
60
+ summary: string | null;
61
+ started_at: string;
62
+ completed_at: string | null;
63
+ command_outcomes: {
64
+ passed: number;
65
+ failed: number;
66
+ unknown: number;
67
+ };
68
+ artifacts: number;
69
+ }
70
+ export interface LocalReportVerificationSummary {
71
+ id: string;
72
+ task_id: string;
73
+ task_title: string;
74
+ agent_id: string | null;
75
+ status: string;
76
+ command: string;
77
+ output_summary: string | null;
78
+ run_at: string;
79
+ }
80
+ export interface LocalReportAgentSummary {
81
+ agent_id: string;
82
+ task_counts: {
83
+ total: number;
84
+ pending: number;
85
+ in_progress: number;
86
+ completed: number;
87
+ failed: number;
88
+ cancelled: number;
89
+ blocked: number;
90
+ overdue: number;
91
+ };
92
+ run_outcomes: {
93
+ running: number;
94
+ completed: number;
95
+ failed: number;
96
+ cancelled: number;
97
+ };
98
+ verification_outcomes: {
99
+ passed: number;
100
+ failed: number;
101
+ unknown: number;
102
+ };
103
+ }
104
+ export interface LocalReport {
105
+ schema_version: 1;
106
+ local_only: true;
107
+ no_network: true;
108
+ generated_at: string;
109
+ scope: {
110
+ project_id: string | null;
111
+ plan_id: string | null;
112
+ agent_id: string | null;
113
+ since: string | null;
114
+ until: string | null;
115
+ };
116
+ report_types: LocalReportType[];
117
+ views: {
118
+ ready: LocalReportTaskView;
119
+ blocked: LocalReportTaskView<LocalReportBlockedTask>;
120
+ overdue: LocalReportTaskView;
121
+ };
122
+ plans: LocalReportPlanSummary[];
123
+ runs: {
124
+ outcomes: {
125
+ running: number;
126
+ completed: number;
127
+ failed: number;
128
+ cancelled: number;
129
+ };
130
+ recent: LocalReportRunSummary[];
131
+ };
132
+ verification: {
133
+ outcomes: {
134
+ passed: number;
135
+ failed: number;
136
+ unknown: number;
137
+ };
138
+ recent: LocalReportVerificationSummary[];
139
+ };
140
+ agents: LocalReportAgentSummary[];
141
+ exports: {
142
+ json_contract: "local_report";
143
+ markdown_supported: true;
144
+ };
145
+ }
146
+ export declare function listLocalReportTypes(): LocalReportType[];
147
+ export declare function createLocalReport(options?: LocalReportOptions, db?: Database): LocalReport;
148
+ export declare function renderLocalReportMarkdown(report: LocalReport): string;
149
+ //# sourceMappingURL=local-reports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-reports.d.ts","sourceRoot":"","sources":["../../src/lib/local-reports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { Database } from "bun:sqlite";
2
+ export declare const TODOS_LOCAL_SNAPSHOT_SCHEMA_VERSION = 1;
3
+ export type LocalSnapshotType = "projects" | "tasks" | "plans" | "runs" | "dependencies" | "events" | "evidence";
4
+ export interface LocalSnapshotCatalogEntry {
5
+ type: LocalSnapshotType;
6
+ uri: string;
7
+ title: string;
8
+ description: string;
9
+ json_contract: "local_snapshot";
10
+ }
11
+ export interface LocalSnapshotOptions {
12
+ type: LocalSnapshotType;
13
+ project_id?: string;
14
+ generatedAt?: string;
15
+ limit?: number;
16
+ since?: string;
17
+ }
18
+ export interface LocalSnapshot {
19
+ schema_version: typeof TODOS_LOCAL_SNAPSHOT_SCHEMA_VERSION;
20
+ kind: "hasna.todos.local-snapshot";
21
+ type: LocalSnapshotType;
22
+ local_only: true;
23
+ no_network: true;
24
+ redacted: true;
25
+ generated_at: string;
26
+ package: {
27
+ packageName: "@hasna/todos";
28
+ repository: "hasna/todos";
29
+ version: string;
30
+ };
31
+ filters: {
32
+ project_id: string | null;
33
+ since: string | null;
34
+ limit: number;
35
+ };
36
+ cursor: string;
37
+ fingerprint: string;
38
+ count: number;
39
+ items: unknown[];
40
+ resources: {
41
+ self: string;
42
+ poll_tool: "poll_local_snapshots";
43
+ markdown_tool: "get_local_snapshot";
44
+ };
45
+ }
46
+ export interface LocalSnapshotPollResult {
47
+ schema_version: 1;
48
+ local_only: true;
49
+ no_network: true;
50
+ generated_at: string;
51
+ since: string | null;
52
+ cursor: string;
53
+ changed: boolean;
54
+ snapshots: LocalSnapshot[];
55
+ }
56
+ export declare function listLocalSnapshotResources(): LocalSnapshotCatalogEntry[];
57
+ export declare function getLocalSnapshot(options: LocalSnapshotOptions, db?: Database): LocalSnapshot;
58
+ export declare function pollLocalSnapshots(options?: {
59
+ types?: LocalSnapshotType[];
60
+ project_id?: string;
61
+ since?: string;
62
+ generatedAt?: string;
63
+ limit?: number;
64
+ }, db?: Database): LocalSnapshotPollResult;
65
+ export declare function renderLocalSnapshotMarkdown(snapshot: LocalSnapshot): string;
66
+ //# sourceMappingURL=local-snapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-snapshots.d.ts","sourceRoot":"","sources":["../../src/lib/local-snapshots.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,OAAO,GACP,OAAO,GACP,MAAM,GACN,cAAc,GACd,QAAQ,GACR,UAAU,CAAC;AAEf,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,OAAO,mCAAmC,CAAC;IAC3D,IAAI,EAAE,4BAA4B,CAAC;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACP,WAAW,EAAE,cAAc,CAAC;QAC5B,UAAU,EAAE,aAAa,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,sBAAsB,CAAC;QAClC,aAAa,EAAE,oBAAoB,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AA6OD,wBAAgB,0BAA0B,IAAI,yBAAyB,EAAE,CAExE;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,EAC7B,EAAE,CAAC,EAAE,QAAQ,GACZ,aAAa,CAsCf;AAED,wBAAgB,kBAAkB,CAChC,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,EACN,EAAE,CAAC,EAAE,QAAQ,GACZ,uBAAuB,CAsBzB;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAqB3E"}
@@ -0,0 +1,43 @@
1
+ import type { Database } from "bun:sqlite";
2
+ export type MentionReferenceKind = "file" | "symbol" | "commit" | "branch" | "pull_request" | "plan" | "run" | "agent" | "task" | "unknown";
3
+ export interface MentionResolverInput {
4
+ mentions: string[];
5
+ workspace?: string;
6
+ include_symbol_context?: boolean;
7
+ max_symbol_matches?: number;
8
+ now?: string;
9
+ }
10
+ export interface MentionBacklink {
11
+ kind: MentionReferenceKind;
12
+ key: string;
13
+ label: string;
14
+ target: string;
15
+ }
16
+ export interface MentionResolution {
17
+ input: string;
18
+ kind: MentionReferenceKind;
19
+ target: string;
20
+ resolved: boolean;
21
+ canonical: string | null;
22
+ title: string | null;
23
+ path: string | null;
24
+ line: number | null;
25
+ column: number | null;
26
+ symbol: string | null;
27
+ id: string | null;
28
+ sha: string | null;
29
+ backlinks: MentionBacklink[];
30
+ warnings: string[];
31
+ }
32
+ export interface MentionResolutionReport {
33
+ schema_version: 1;
34
+ local_only: true;
35
+ no_network: true;
36
+ generated_at: string;
37
+ workspace: string;
38
+ references: MentionResolution[];
39
+ backlinks: MentionBacklink[];
40
+ warnings: string[];
41
+ }
42
+ export declare function resolveMentions(input: MentionResolverInput, db?: Database): MentionResolutionReport;
43
+ //# sourceMappingURL=mention-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mention-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/mention-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAS3C,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,cAAc,GACd,MAAM,GACN,KAAK,GACL,OAAO,GACP,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAiZD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,uBAAuB,CAkCnG"}
@@ -0,0 +1,56 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { Plan, Project, Task, TaskPriority } from "../types/index.js";
3
+ export interface NaturalLanguageProjectPreview {
4
+ name: string;
5
+ description: string | null;
6
+ path: string;
7
+ }
8
+ export interface NaturalLanguagePlanPreview {
9
+ name: string;
10
+ description: string | null;
11
+ }
12
+ export interface NaturalLanguageDependencyPreview {
13
+ task_title: string;
14
+ depends_on_title: string;
15
+ resolved: boolean;
16
+ }
17
+ export interface NaturalLanguageTaskPreview {
18
+ title: string;
19
+ description: string | null;
20
+ priority: TaskPriority;
21
+ tags: string[];
22
+ assigned_to: string | null;
23
+ due_at: string | null;
24
+ depends_on: string[];
25
+ acceptance_criteria: string[];
26
+ }
27
+ export interface NaturalLanguageIntakeInput {
28
+ text: string;
29
+ project_id?: string;
30
+ task_list_id?: string;
31
+ default_priority?: TaskPriority;
32
+ reference_date?: string;
33
+ apply?: boolean;
34
+ }
35
+ export interface NaturalLanguageIntakePreview {
36
+ schema_version: 1;
37
+ local_only: true;
38
+ dry_run: boolean;
39
+ source_text: string;
40
+ project_id: string | null;
41
+ task_list_id: string | null;
42
+ detected_project_name: string | null;
43
+ detected_plan_name: string | null;
44
+ project: NaturalLanguageProjectPreview | null;
45
+ plan: NaturalLanguagePlanPreview | null;
46
+ tasks: NaturalLanguageTaskPreview[];
47
+ dependencies: NaturalLanguageDependencyPreview[];
48
+ acceptance_criteria: string[];
49
+ created_project: Project | null;
50
+ created_plan: Plan | null;
51
+ created_tasks: Task[];
52
+ warnings: string[];
53
+ commands: string[];
54
+ }
55
+ export declare function previewNaturalLanguageIntake(input: NaturalLanguageIntakeInput, db?: Database): NaturalLanguageIntakePreview;
56
+ //# sourceMappingURL=natural-language-intake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"natural-language-intake.d.ts","sourceRoot":"","sources":["../../src/lib/natural-language-intake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI3E,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAAC;IAC9C,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACxC,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpC,YAAY,EAAE,gCAAgC,EAAE,CAAC;IACjD,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAmHD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,4BAA4B,CA6G3H"}
@@ -0,0 +1,31 @@
1
+ import { type ImportLocalBridgeOptions, type LocalBridgeImportResult, type TodosLocalBridgeBundle, type TodosLocalBridgeData } from "./local-bridge.js";
2
+ export declare const TODOS_ONBOARDING_FIXTURE_LIBRARY_VERSION = "2026-05-22";
3
+ export declare const TODOS_ONBOARDING_FIXTURE_SOURCE = "bundled-local-onboarding-fixtures";
4
+ export interface OnboardingFixtureSummary {
5
+ name: string;
6
+ description: string;
7
+ version: string;
8
+ local_only: true;
9
+ no_network: true;
10
+ redacted: true;
11
+ workflow: string[];
12
+ stats: Record<keyof TodosLocalBridgeData, number>;
13
+ }
14
+ export interface OnboardingFixture {
15
+ summary: Omit<OnboardingFixtureSummary, "stats">;
16
+ bundle: TodosLocalBridgeBundle;
17
+ }
18
+ export interface WriteOnboardingFixtureResult {
19
+ directory: string;
20
+ written: number;
21
+ files: string[];
22
+ }
23
+ export interface ImportOnboardingFixtureOptions extends ImportLocalBridgeOptions {
24
+ name?: string;
25
+ }
26
+ export declare function listOnboardingFixtures(): OnboardingFixtureSummary[];
27
+ export declare function getOnboardingFixture(name?: string): OnboardingFixture;
28
+ export declare function getOnboardingFixtureBundle(name?: string): TodosLocalBridgeBundle;
29
+ export declare function writeOnboardingFixtureFiles(directory: string): WriteOnboardingFixtureResult;
30
+ export declare function importOnboardingFixture(options?: ImportOnboardingFixtureOptions): LocalBridgeImportResult;
31
+ //# sourceMappingURL=onboarding-fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-fixtures.d.ts","sourceRoot":"","sources":["../../src/lib/onboarding-fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,wCAAwC,eAAe,CAAC;AACrE,eAAO,MAAM,+BAA+B,sCAAsC,CAAC;AAEnF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAmXD,wBAAgB,sBAAsB,IAAI,wBAAwB,EAAE,CAMnE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,SAAuB,GAAG,iBAAiB,CAUnF;AAED,wBAAgB,0BAA0B,CAAC,IAAI,SAAuB,GAAG,sBAAsB,CAE9F;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,4BAA4B,CAS3F;AAED,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,8BAAmC,GAC3C,uBAAuB,CAMzB"}
@@ -40,6 +40,11 @@ export type ReleaseProvenance = {
40
40
  gitCommit?: string;
41
41
  generatedAt?: string;
42
42
  };
43
+ export type InstallSmokeCommand = {
44
+ command: string;
45
+ args: string[];
46
+ required?: boolean;
47
+ };
43
48
  export declare function validateRootPackageMetadata(packageJson: PackageJson): ReleaseGateFailure[];
44
49
  export declare function validateSdkPackageMetadata(packageJson: PackageJson): ReleaseGateFailure[];
45
50
  export declare function validatePublicTextSurfaces(files: TextFile[]): ReleaseGateFailure[];
@@ -47,4 +52,6 @@ export declare function validatePackedPackageFiles(paths: string[]): ReleaseGate
47
52
  export declare function validatePackedProvenanceMetadata(packageJson: PackageJson): ReleaseGateFailure[];
48
53
  export declare function validateReleaseProvenanceMetadata(provenance: ReleaseProvenance, packageJson: PackageJson): ReleaseGateFailure[];
49
54
  export declare function validateNpmView(packageName: string, rawJson: string): ReleaseGateFailure[];
55
+ export declare function getInstallSmokeCommands(tarball?: string, port?: string): InstallSmokeCommand[];
56
+ export declare function validateInstallSmokeCommands(commands: InstallSmokeCommand[]): ReleaseGateFailure[];
50
57
  //# sourceMappingURL=public-release-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-release-gate.d.ts","sourceRoot":"","sources":["../../src/lib/public-release-gate.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAwCF,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAgD1F;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAQzF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAoBlF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAyBhF;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAE/F;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,WAAW,GACvB,kBAAkB,EAAE,CAiCtB;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAiB1F"}
1
+ {"version":3,"file":"public-release-gate.d.ts","sourceRoot":"","sources":["../../src/lib/public-release-gate.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAkDF,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAgD1F;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAQzF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAoBlF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAyBhF;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAE/F;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,WAAW,GACvB,kBAAkB,EAAE,CAiCtB;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAiB1F;AAED,wBAAgB,uBAAuB,CAAC,OAAO,SAAc,EAAE,IAAI,SAAW,GAAG,mBAAmB,EAAE,CAKrG;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CA2BlG"}
@@ -1,3 +1,12 @@
1
+ import { type SecretSafetyConfig } from "./config.js";
2
+ export interface SecretFinding {
3
+ pattern: string;
4
+ count: number;
5
+ }
1
6
  export declare function redactEvidenceText(value: string): string;
2
7
  export declare function redactValue<T>(value: T): T;
8
+ export declare function listSecretFindings(value: string): SecretFinding[];
9
+ export declare function hasSecretFindings(value: string): boolean;
10
+ export declare function getSecretSafetyConfig(): SecretSafetyConfig;
11
+ export declare function upsertSecretSafetyConfig(input: SecretSafetyConfig): SecretSafetyConfig;
3
12
  //# sourceMappingURL=redaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../src/lib/redaction.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAe1C"}
1
+ {"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../src/lib/redaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAuDD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUxD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAe1C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAOjE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,qBAAqB,IAAI,kBAAkB,CAK1D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAQtF"}
@@ -0,0 +1,59 @@
1
+ export declare const LOCAL_RELEASE_COMPATIBILITY_SCHEMA_VERSION = 1;
2
+ export type ReleaseCompatibilityStatus = "passed" | "failed" | "warning";
3
+ export interface ReleaseCompatibilityCheck {
4
+ id: string;
5
+ status: ReleaseCompatibilityStatus;
6
+ message: string;
7
+ details?: Record<string, unknown>;
8
+ }
9
+ export interface ReleaseCompatibilityReport {
10
+ schema_version: 1;
11
+ local_only: true;
12
+ no_network: true;
13
+ generated_at: string;
14
+ root: string;
15
+ package: {
16
+ name: string | null;
17
+ version: string | null;
18
+ repository: string | null;
19
+ public: boolean;
20
+ };
21
+ migrations: {
22
+ current_level: number;
23
+ simulated_levels: number[];
24
+ checked_tables: string[];
25
+ checked_columns: Record<string, string[]>;
26
+ };
27
+ exports: {
28
+ expected: string[];
29
+ actual: string[];
30
+ };
31
+ bins: {
32
+ expected: string[];
33
+ actual: string[];
34
+ };
35
+ install_plan: {
36
+ package: "@hasna/todos";
37
+ manager: "bun";
38
+ commands: string[];
39
+ smoke_tests: string[];
40
+ rollback: string[];
41
+ };
42
+ changelog: {
43
+ command: string;
44
+ mcp_tool: string;
45
+ json_contract: string;
46
+ };
47
+ checks: ReleaseCompatibilityCheck[];
48
+ warnings: string[];
49
+ issues: string[];
50
+ ok: boolean;
51
+ }
52
+ export interface CreateReleaseCompatibilityReportOptions {
53
+ root?: string;
54
+ generated_at?: string;
55
+ simulated_levels?: number[];
56
+ }
57
+ export declare function createReleaseCompatibilityReport(options?: CreateReleaseCompatibilityReportOptions): ReleaseCompatibilityReport;
58
+ export declare function renderReleaseCompatibilityMarkdown(report: ReleaseCompatibilityReport): string;
59
+ //# sourceMappingURL=release-compatibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-compatibility.d.ts","sourceRoot":"","sources":["../../src/lib/release-compatibility.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,0CAA0C,IAAI,CAAC;AAE5D,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,0BAA0B,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KAC3C,CAAC;IACF,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,YAAY,EAAE;QACZ,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,uCAAuC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAiMD,wBAAgB,gCAAgC,CAC9C,OAAO,GAAE,uCAA4C,GACpD,0BAA0B,CAoF5B;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CAwB7F"}
@@ -0,0 +1,81 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { Plan, Task } from "../types/index.js";
3
+ import { type TaskCommit, type TaskVerification } from "../db/task-commits.js";
4
+ export interface GenerateReleaseNotesInput {
5
+ project_id?: string;
6
+ plan_id?: string;
7
+ task_ids?: string[];
8
+ tag?: string;
9
+ since?: string;
10
+ until?: string;
11
+ title?: string;
12
+ version?: string;
13
+ generated_at?: string;
14
+ }
15
+ export interface ReleaseNotesScope {
16
+ project_id: string | null;
17
+ project_name: string | null;
18
+ plan_id: string | null;
19
+ plan_name: string | null;
20
+ task_ids: string[];
21
+ tag: string | null;
22
+ since: string | null;
23
+ until: string | null;
24
+ }
25
+ export interface ReleaseNotesTask {
26
+ id: string;
27
+ short_id: string | null;
28
+ title: string;
29
+ description: string | null;
30
+ priority: Task["priority"];
31
+ project_id: string | null;
32
+ plan_id: string | null;
33
+ tags: string[];
34
+ completed_at: string | null;
35
+ breaking_changes: string[];
36
+ migration_notes: string[];
37
+ commits: TaskCommit[];
38
+ verifications: TaskVerification[];
39
+ }
40
+ export interface ReleaseNotesPlan {
41
+ id: string;
42
+ name: string;
43
+ status: Plan["status"];
44
+ task_count: number;
45
+ completed_count: number;
46
+ }
47
+ export interface ReleaseNotesDocument {
48
+ schema_version: 1;
49
+ generated_at: string;
50
+ title: string;
51
+ version: string | null;
52
+ local_only: true;
53
+ scope: ReleaseNotesScope;
54
+ summary: {
55
+ tasks: number;
56
+ plans: number;
57
+ commits: number;
58
+ verifications: number;
59
+ passed_verifications: number;
60
+ breaking_changes: number;
61
+ migration_notes: number;
62
+ };
63
+ plans: ReleaseNotesPlan[];
64
+ tasks: ReleaseNotesTask[];
65
+ commits: TaskCommit[];
66
+ verifications: TaskVerification[];
67
+ breaking_changes: Array<{
68
+ task_id: string;
69
+ title: string;
70
+ note: string;
71
+ }>;
72
+ migration_notes: Array<{
73
+ task_id: string;
74
+ title: string;
75
+ note: string;
76
+ }>;
77
+ warnings: string[];
78
+ }
79
+ export declare function generateReleaseNotes(input?: GenerateReleaseNotesInput, db?: Database): ReleaseNotesDocument;
80
+ export declare function renderReleaseNotesMarkdown(document: ReleaseNotesDocument): string;
81
+ //# sourceMappingURL=release-notes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { TaskStatus } from "../types/index.js";
3
+ export declare const RETENTION_CLEANUP_CONFIRMATION = "delete-local-retention-data";
4
+ export type RetentionCleanupScope = "comments" | "runs" | "verifications" | "expired_artifacts";
5
+ export type RetentionCleanupRunStatus = "running" | "completed" | "failed" | "cancelled";
6
+ export interface RetentionCleanupInput {
7
+ older_than_days: number;
8
+ project_id?: string;
9
+ task_statuses?: TaskStatus[];
10
+ run_statuses?: RetentionCleanupRunStatus[];
11
+ include?: RetentionCleanupScope[];
12
+ now?: string;
13
+ }
14
+ export interface ApplyRetentionCleanupInput extends RetentionCleanupInput {
15
+ confirm?: string;
16
+ }
17
+ export interface RetentionCleanupRecordCandidate {
18
+ id: string;
19
+ task_id: string;
20
+ project_id: string | null;
21
+ task_status: string;
22
+ created_at: string;
23
+ status?: string;
24
+ }
25
+ export interface RetentionCleanupArtifactFileCandidate {
26
+ relative_path: string;
27
+ artifact_ids: string[];
28
+ expires_at: string;
29
+ size_bytes: number | null;
30
+ }
31
+ export interface RetentionCleanupCounts {
32
+ comments: number;
33
+ runs: number;
34
+ verifications: number;
35
+ artifact_files: number;
36
+ }
37
+ export interface RetentionCleanupReport {
38
+ schema_version: 1;
39
+ local_only: true;
40
+ dry_run: boolean;
41
+ generated_at: string;
42
+ cutoff_at: string;
43
+ confirmation_required: typeof RETENTION_CLEANUP_CONFIRMATION;
44
+ filters: {
45
+ older_than_days: number;
46
+ project_id: string | null;
47
+ task_statuses: string[];
48
+ run_statuses: string[];
49
+ include: RetentionCleanupScope[];
50
+ };
51
+ candidate_counts: RetentionCleanupCounts;
52
+ deleted_counts: RetentionCleanupCounts;
53
+ candidates: {
54
+ comments: RetentionCleanupRecordCandidate[];
55
+ runs: RetentionCleanupRecordCandidate[];
56
+ verifications: RetentionCleanupRecordCandidate[];
57
+ artifact_files: RetentionCleanupArtifactFileCandidate[];
58
+ };
59
+ warnings: string[];
60
+ }
61
+ export declare function previewRetentionCleanup(input: RetentionCleanupInput, db?: Database): RetentionCleanupReport;
62
+ export declare function applyRetentionCleanup(input: ApplyRetentionCleanupInput, db?: Database): RetentionCleanupReport;
63
+ //# sourceMappingURL=retention-cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention-cleanup.d.ts","sourceRoot":"","sources":["../../src/lib/retention-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAI7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAE5E,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,MAAM,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAChG,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzF,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qCAAqC;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,OAAO,8BAA8B,CAAC;IAC7D,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,qBAAqB,EAAE,CAAC;KAClC,CAAC;IACF,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,cAAc,EAAE,sBAAsB,CAAC;IACvC,UAAU,EAAE;QACV,QAAQ,EAAE,+BAA+B,EAAE,CAAC;QAC5C,IAAI,EAAE,+BAA+B,EAAE,CAAC;QACxC,aAAa,EAAE,+BAA+B,EAAE,CAAC;QACjD,cAAc,EAAE,qCAAqC,EAAE,CAAC;KACzD,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAoPD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,sBAAsB,CAE3G;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,sBAAsB,CA4B9G"}