agent-issues 0.0.119 → 0.0.126

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 (172) hide show
  1. package/dist/build-info.json +3 -0
  2. package/dist/cli.js +97746 -26
  3. package/kanban/dist/assets/index-CIAg6qj5.css +1 -0
  4. package/kanban/dist/assets/index-DaYQjJS7.js +920 -0
  5. package/kanban/dist/index.html +13 -0
  6. package/package.json +12 -11
  7. package/site/dist/assets/index-D6NM1iDo.js +4533 -0
  8. package/site/dist/index.html +1 -1
  9. package/skills/agent-issues-operating-contract.md +1 -1
  10. package/skills/{ai-wayfinder → ai-pioneer}/SKILL.md +9 -9
  11. package/skills/recipes/README.md +2 -2
  12. package/skills/recipes/{wayfinder-map.md → pioneer-map.md} +2 -2
  13. package/skills/recipes/{wayfinder-ticket.md → pioneer-ticket.md} +2 -2
  14. package/dist/agent-installer.d.ts +0 -49
  15. package/dist/agent-installer.js +0 -171
  16. package/dist/agent-installer.js.map +0 -1
  17. package/dist/auth-session.d.ts +0 -40
  18. package/dist/auth-session.js +0 -107
  19. package/dist/auth-session.js.map +0 -1
  20. package/dist/body-backfill.d.ts +0 -26
  21. package/dist/body-backfill.js +0 -219
  22. package/dist/body-backfill.js.map +0 -1
  23. package/dist/build-mode.d.ts +0 -1
  24. package/dist/build-mode.js +0 -1
  25. package/dist/build-mode.js.map +0 -1
  26. package/dist/cli/commands/auth.d.ts +0 -61
  27. package/dist/cli/commands/auth.js +0 -134
  28. package/dist/cli/commands/auth.js.map +0 -1
  29. package/dist/cli/commands/backfill.d.ts +0 -8
  30. package/dist/cli/commands/backfill.js +0 -36
  31. package/dist/cli/commands/backfill.js.map +0 -1
  32. package/dist/cli/commands/comments.d.ts +0 -34
  33. package/dist/cli/commands/comments.js +0 -124
  34. package/dist/cli/commands/comments.js.map +0 -1
  35. package/dist/cli/commands/context.d.ts +0 -13
  36. package/dist/cli/commands/context.js +0 -156
  37. package/dist/cli/commands/context.js.map +0 -1
  38. package/dist/cli/commands/entities.d.ts +0 -91
  39. package/dist/cli/commands/entities.js +0 -420
  40. package/dist/cli/commands/entities.js.map +0 -1
  41. package/dist/cli/commands/export.d.ts +0 -20
  42. package/dist/cli/commands/export.js +0 -98
  43. package/dist/cli/commands/export.js.map +0 -1
  44. package/dist/cli/commands/fallback.d.ts +0 -6
  45. package/dist/cli/commands/fallback.js +0 -10
  46. package/dist/cli/commands/fallback.js.map +0 -1
  47. package/dist/cli/commands/handoff.d.ts +0 -1
  48. package/dist/cli/commands/handoff.js +0 -2
  49. package/dist/cli/commands/handoff.js.map +0 -1
  50. package/dist/cli/commands/installers.d.ts +0 -37
  51. package/dist/cli/commands/installers.js +0 -78
  52. package/dist/cli/commands/installers.js.map +0 -1
  53. package/dist/cli/commands/kanban.d.ts +0 -8
  54. package/dist/cli/commands/kanban.js +0 -83
  55. package/dist/cli/commands/kanban.js.map +0 -1
  56. package/dist/cli/commands/meta.d.ts +0 -14
  57. package/dist/cli/commands/meta.js +0 -33
  58. package/dist/cli/commands/meta.js.map +0 -1
  59. package/dist/cli/commands/plan-entries.d.ts +0 -30
  60. package/dist/cli/commands/plan-entries.js +0 -94
  61. package/dist/cli/commands/plan-entries.js.map +0 -1
  62. package/dist/cli/commands/site.d.ts +0 -29
  63. package/dist/cli/commands/site.js +0 -89
  64. package/dist/cli/commands/site.js.map +0 -1
  65. package/dist/cli/commands/sql.d.ts +0 -6
  66. package/dist/cli/commands/sql.js +0 -21
  67. package/dist/cli/commands/sql.js.map +0 -1
  68. package/dist/cli/commands/synchronize.d.ts +0 -12
  69. package/dist/cli/commands/synchronize.js +0 -31
  70. package/dist/cli/commands/synchronize.js.map +0 -1
  71. package/dist/cli/commands/tenants.d.ts +0 -29
  72. package/dist/cli/commands/tenants.js +0 -101
  73. package/dist/cli/commands/tenants.js.map +0 -1
  74. package/dist/cli/index.d.ts +0 -4
  75. package/dist/cli/index.js +0 -120
  76. package/dist/cli/index.js.map +0 -1
  77. package/dist/cli/renderers.d.ts +0 -250
  78. package/dist/cli/renderers.js +0 -286
  79. package/dist/cli/renderers.js.map +0 -1
  80. package/dist/cli/shared.d.ts +0 -97
  81. package/dist/cli/shared.js +0 -192
  82. package/dist/cli/shared.js.map +0 -1
  83. package/dist/cli.d.ts +0 -11
  84. package/dist/cli.js.map +0 -1
  85. package/dist/context-cli.d.ts +0 -16
  86. package/dist/context-cli.js +0 -131
  87. package/dist/context-cli.js.map +0 -1
  88. package/dist/daemon/daemon-lifecycle.d.ts +0 -1
  89. package/dist/daemon/daemon-lifecycle.js +0 -2
  90. package/dist/daemon/daemon-lifecycle.js.map +0 -1
  91. package/dist/daemon/daemon-main.d.ts +0 -14
  92. package/dist/daemon/daemon-main.js +0 -30
  93. package/dist/daemon/daemon-main.js.map +0 -1
  94. package/dist/daemon/local-daemon-store.d.ts +0 -21
  95. package/dist/daemon/local-daemon-store.js +0 -31
  96. package/dist/daemon/local-daemon-store.js.map +0 -1
  97. package/dist/entity-projection.d.ts +0 -141
  98. package/dist/entity-projection.js +0 -147
  99. package/dist/entity-projection.js.map +0 -1
  100. package/dist/entra-device-login.d.ts +0 -12
  101. package/dist/entra-device-login.js +0 -40
  102. package/dist/entra-device-login.js.map +0 -1
  103. package/dist/export-files.d.ts +0 -24
  104. package/dist/export-files.js +0 -230
  105. package/dist/export-files.js.map +0 -1
  106. package/dist/export-markdown.d.ts +0 -24
  107. package/dist/export-markdown.js +0 -343
  108. package/dist/export-markdown.js.map +0 -1
  109. package/dist/help.d.ts +0 -112
  110. package/dist/help.js +0 -1430
  111. package/dist/help.js.map +0 -1
  112. package/dist/kanban/assets.d.ts +0 -3
  113. package/dist/kanban/assets.js +0 -37
  114. package/dist/kanban/assets.js.map +0 -1
  115. package/dist/kanban/index.d.ts +0 -1
  116. package/dist/kanban/index.js +0 -2
  117. package/dist/kanban/index.js.map +0 -1
  118. package/dist/kanban/server.d.ts +0 -28
  119. package/dist/kanban/server.js +0 -118
  120. package/dist/kanban/server.js.map +0 -1
  121. package/dist/mcp-installer.d.ts +0 -32
  122. package/dist/mcp-installer.js +0 -118
  123. package/dist/mcp-installer.js.map +0 -1
  124. package/dist/mcp-server/index.d.ts +0 -11
  125. package/dist/mcp-server/index.js +0 -504
  126. package/dist/mcp-server/index.js.map +0 -1
  127. package/dist/mcp-server/index.test.d.ts +0 -1
  128. package/dist/mcp-server/index.test.js +0 -746
  129. package/dist/mcp-server/index.test.js.map +0 -1
  130. package/dist/mcp-server/mcp-tool-audit.d.ts +0 -6
  131. package/dist/mcp-server/mcp-tool-audit.js +0 -47
  132. package/dist/mcp-server/mcp-tool-audit.js.map +0 -1
  133. package/dist/mcp-server/stdio.d.ts +0 -2
  134. package/dist/mcp-server/stdio.js +0 -7
  135. package/dist/mcp-server/stdio.js.map +0 -1
  136. package/dist/mcp.d.ts +0 -2
  137. package/dist/mcp.js +0 -19
  138. package/dist/mcp.js.map +0 -1
  139. package/dist/open-storage-driver.d.ts +0 -53
  140. package/dist/open-storage-driver.js +0 -71
  141. package/dist/open-storage-driver.js.map +0 -1
  142. package/dist/open-synchronize-stores.d.ts +0 -24
  143. package/dist/open-synchronize-stores.js +0 -34
  144. package/dist/open-synchronize-stores.js.map +0 -1
  145. package/dist/project-identity.d.ts +0 -23
  146. package/dist/project-identity.js +0 -121
  147. package/dist/project-identity.js.map +0 -1
  148. package/dist/runtime-access-boundary.d.ts +0 -7
  149. package/dist/runtime-access-boundary.js +0 -182
  150. package/dist/runtime-access-boundary.js.map +0 -1
  151. package/dist/service-discovery.d.ts +0 -10
  152. package/dist/service-discovery.js +0 -64
  153. package/dist/service-discovery.js.map +0 -1
  154. package/dist/site/assets.d.ts +0 -4
  155. package/dist/site/assets.js +0 -46
  156. package/dist/site/assets.js.map +0 -1
  157. package/dist/site/cloud-events-relay.d.ts +0 -18
  158. package/dist/site/cloud-events-relay.js +0 -78
  159. package/dist/site/cloud-events-relay.js.map +0 -1
  160. package/dist/site/index.d.ts +0 -1
  161. package/dist/site/index.js +0 -2
  162. package/dist/site/index.js.map +0 -1
  163. package/dist/site/server.d.ts +0 -42
  164. package/dist/site/server.js +0 -320
  165. package/dist/site/server.js.map +0 -1
  166. package/dist/skill-installer.d.ts +0 -35
  167. package/dist/skill-installer.js +0 -174
  168. package/dist/skill-installer.js.map +0 -1
  169. package/dist/vitest-setup.d.ts +0 -1
  170. package/dist/vitest-setup.js +0 -7
  171. package/dist/vitest-setup.js.map +0 -1
  172. package/site/dist/assets/index-DSR4mIml.js +0 -4396
@@ -1,286 +0,0 @@
1
- export function renderEntityList(kind, entities, openBlockers, parentGroups) {
2
- if (parentGroups) {
3
- return parentGroups.map((group) => [
4
- `${group.parent.reference} ${group.parent.status} ${group.parent.title}`,
5
- renderEntityList(kind, group.entities, openBlockers)
6
- ].join("\n")).join("\n\n");
7
- }
8
- if (entities.length === 0) {
9
- return `No ${kind} entities found.`;
10
- }
11
- return entities
12
- .map((entity) => {
13
- const blockers = openBlockers?.[entity.reference];
14
- const blockedSuffix = blockers?.length ? ` (blocked by ${blockers.join(", ")})` : "";
15
- return `${entity.reference} ${entity.status} ${entity.title}${blockedSuffix}`;
16
- })
17
- .join("\n");
18
- }
19
- export function renderOptionalEntityList(label, entities) {
20
- if (entities.length === 0) {
21
- return `No ${label} entities found.`;
22
- }
23
- return entities.map((entity) => `${entity.reference} ${entity.kind} ${entity.status} ${entity.title}`).join("\n");
24
- }
25
- export function renderEntityDetails(details) {
26
- const incoming = details.incoming.length
27
- ? details.incoming.map((link) => `${link.entity.reference} ${link.entity.kind} --${link.relationType}--> ${details.entity.reference}`).join("\n")
28
- : "none";
29
- const outgoing = details.outgoing.length
30
- ? details.outgoing.map((link) => `${details.entity.reference} --${link.relationType}--> ${link.entity.reference} ${link.entity.kind}`).join("\n")
31
- : "none";
32
- const relatedPlanEntries = details.planEntries ?? [];
33
- const planEntryText = relatedPlanEntries.length
34
- ? relatedPlanEntries.map((entry) => `${entry.reference} ${entry.role}${entry.body === undefined ? "" : ` ${entry.body}`}`).join("\n")
35
- : "none";
36
- return [
37
- `${details.entity.reference} ${details.entity.kind}${details.entity.type === null || details.entity.type === undefined ? "" : ` ${details.entity.type}`} ${details.entity.status} ${details.entity.title}`,
38
- "Incoming:",
39
- incoming,
40
- "Outgoing:",
41
- outgoing,
42
- "Related Plan entries:",
43
- planEntryText
44
- ].join("\n");
45
- }
46
- export function renderPlanDetails(details) {
47
- const referencesById = new Map(details.history.map((entry) => [entry.id, entry.reference]));
48
- const renderEntry = (entry) => {
49
- const references = entry.referencedEntityIds.length === 0 ? "" : ` references ${entry.referencedEntityIds.join(", ")}`;
50
- const supersession = entry.supersededEntryIds.length === 0 ? "" : ` supersedes ${entry.supersededEntryIds.map((id) => referencesById.get(id) ?? id).join(", ")}`;
51
- return `${entry.reference}${entry.body === undefined ? "" : ` ${entry.body}`}${references}${supersession}`;
52
- };
53
- const current = details.current
54
- .map((group) => `${group.title}: ${group.entries.length === 0 ? "none" : group.entries.map(renderEntry).join("; ")}`)
55
- .join("\n");
56
- const history = details.history.length === 0
57
- ? "none"
58
- : details.history.map((entry) => `${renderEntry(entry)}${entry.tombstone ? " tombstoned" : ""}`).join("\n");
59
- return [renderEntityDetails(details), "Current Plan:", current, "History:", history].join("\n");
60
- }
61
- export function renderInitiativeBundle(bundle) {
62
- return [
63
- `${bundle.initiative.reference} ${bundle.initiative.status} ${bundle.initiative.title}`,
64
- `PRDs: ${renderCompactList(bundle.prds)}`,
65
- `User Stories: ${renderCompactList(bundle.userStories)}`,
66
- `ADRs: ${renderCompactList(bundle.adrs)}`,
67
- `Issues: ${renderCompactList(bundle.issues)}`,
68
- `Fixes: ${bundle.fixLinks.length ? bundle.fixLinks.map((link) => `${link.issue.reference} -> ${link.userStory.reference}`).join(", ") : "none"}`,
69
- `Sub-issues: ${bundle.subIssueLinks.length ? bundle.subIssueLinks.map((link) => `${link.parent.reference} -> ${link.issue.reference}`).join(", ") : "none"}`,
70
- `Blockers: ${bundle.blockerLinks.length ? bundle.blockerLinks.map((link) => `${link.source.reference} -> ${link.target.reference}`).join(", ") : "none"}`,
71
- `Constrains: ${bundle.constrainsLinks.length ? bundle.constrainsLinks.map((link) => `${link.adr.reference} -> ${link.issue.reference}`).join(", ") : "none"}`
72
- ].join("\n");
73
- }
74
- export function renderInstallSkills(result) {
75
- const lines = [`Installed skills to ${result.targetDir}`];
76
- for (const item of result.installed) {
77
- lines.push(`${item.installedName} ${item.status} ${item.destinationDir}`);
78
- }
79
- return lines.join("\n");
80
- }
81
- export function renderInstallAgent(result) {
82
- return [
83
- `Installed agent to ${result.targetDir}`,
84
- `${result.installed.installedName} ${result.installed.status} ${result.installed.agentFile}`,
85
- ...result.additionalInstalled.map((item) => `${item.host} ${item.installedName} ${item.status} ${item.agentFile}`)
86
- ].join("\n");
87
- }
88
- export function renderListSkills(result) {
89
- const lines = [`Packaged skills in ${result.targetDir}`];
90
- for (const item of result.skills) {
91
- lines.push(`${item.installedName} ${item.status} ${item.destinationDir}`);
92
- }
93
- return lines.join("\n");
94
- }
95
- export function renderListAgent(result) {
96
- return [
97
- `Packaged agent in ${result.targetDir}`,
98
- `${result.agent.installedName} ${result.agent.status} ${result.agent.agentFile}`,
99
- ...result.additionalAgents.map((item) => `${item.host} ${item.installedName} ${item.status} ${item.agentFile}`)
100
- ].join("\n");
101
- }
102
- export function renderUninstallSkills(result) {
103
- const lines = [`Removed skills from ${result.targetDir}`];
104
- for (const item of result.removed) {
105
- lines.push(`${item.installedName} ${item.status} ${item.destinationDir}`);
106
- }
107
- return lines.join("\n");
108
- }
109
- export function renderUninstallAgent(result) {
110
- return [
111
- `Removed agent from ${result.targetDir}`,
112
- `${result.removed.installedName} ${result.removed.status} ${result.removed.agentFile}`,
113
- ...result.additionalRemoved.map((item) => `${item.host} ${item.installedName} ${item.status} ${item.agentFile}`)
114
- ].join("\n");
115
- }
116
- export function renderInstallMcp(result) {
117
- return `MCP server ${result.server.name} ${result.server.status} in ${result.targetFile}`;
118
- }
119
- export function renderListMcp(result) {
120
- return `MCP server ${result.server.name} ${result.server.status} in ${result.targetFile}`;
121
- }
122
- export function renderUninstallMcp(result) {
123
- return `MCP server ${result.server.name} ${result.server.status} in ${result.targetFile}`;
124
- }
125
- export function renderCurrentTenant(result) {
126
- return [
127
- `Current tenant: ${result.tenantId}`,
128
- `Workspace root: ${result.workspaceRoot}`,
129
- `Database: ${result.dbPath}`
130
- ].join("\n");
131
- }
132
- export function renderProjectIdentity(result) {
133
- return [`Project identity: ${result.identity}`, `Source: ${result.source}`].join("\n");
134
- }
135
- export function renderTenantList(result) {
136
- const lines = [`Tenants in ${result.dbPath}`];
137
- if (result.tenants.length === 0) {
138
- lines.push("none");
139
- return lines.join("\n");
140
- }
141
- for (const tenant of result.tenants) {
142
- const marker = tenant.id === result.currentTenantId ? "*" : "-";
143
- lines.push(`${marker} ${tenant.id} (${tenant.displayName}) entities=${tenant.counts.entities} relations=${tenant.counts.relations} contexts=${tenant.counts.contexts} terms=${tenant.counts.contextTerms} history=${tenant.counts.historyEntries}`);
144
- }
145
- return lines.join("\n");
146
- }
147
- export function renderDeleteTenant(result) {
148
- if (!result.removed) {
149
- return `Tenant not found: ${result.tenantId}`;
150
- }
151
- return [
152
- `Deleted tenant ${result.tenantId} (${result.displayName})`,
153
- `Database: ${result.dbPath}`,
154
- `Removed rows: entities=${result.counts.entities} relations=${result.counts.relations} contexts=${result.counts.contexts} terms=${result.counts.contextTerms} history=${result.counts.historyEntries} counters=${result.counters}`
155
- ].join("\n");
156
- }
157
- export function renderRenameTenant(result) {
158
- if (!result.renamed) {
159
- return `Tenant not found: ${result.previousTenantId}`;
160
- }
161
- return [
162
- `Renamed tenant ${result.previousTenantId} (${result.previousDisplayName}) to ${result.newTenantId} (${result.newDisplayName})`,
163
- `Database: ${result.dbPath}`,
164
- `Moved rows: entities=${result.counts.entities} relations=${result.counts.relations} contexts=${result.counts.contexts} terms=${result.counts.contextTerms} history=${result.counts.historyEntries} counters=${result.counters}`
165
- ].join("\n");
166
- }
167
- export function renderLiveSite(result) {
168
- return [
169
- `Serving live site at ${result.url}`,
170
- `Database: ${result.dbPath}`,
171
- `Port: ${result.port}`,
172
- "Keep this process running to continue listening for database changes."
173
- ].join("\n");
174
- }
175
- export function renderStartedLiveSite(result) {
176
- return `Started live site at ${result.url}`;
177
- }
178
- export function renderStopLiveSite(result) {
179
- if (!result.stopped) {
180
- if (result.reachable) {
181
- return `A server is listening at ${result.url}, but it does not expose the agent-issues stop endpoint.`;
182
- }
183
- return `No live site was running at ${result.url}`;
184
- }
185
- return `Stopped live site at ${result.url}`;
186
- }
187
- export function renderBackfillBodies(result) {
188
- const lines = [
189
- `${result.dryRun ? "Previewed" : "Backfilled"} bodies in ${result.scope === "all-tenants" ? "all tenants" : "the current tenant"}`,
190
- `Database: ${result.dbPath}`,
191
- `Kinds: ${result.kinds.join(", ")}`,
192
- `Dry run: ${result.dryRun ? "yes" : "no"}`,
193
- `Force overwrite: ${result.force ? "yes" : "no"}`
194
- ];
195
- if (result.tenants.length === 0) {
196
- lines.push("No tenants were present in the selected database.");
197
- return lines.join("\n");
198
- }
199
- for (const tenant of result.tenants) {
200
- lines.push("", `Tenant ${tenant.tenantId}`, ` considered=${tenant.considered} updated=${tenant.updated} skipped=${tenant.skipped}`);
201
- for (const kind of tenant.byKind) {
202
- lines.push(` ${kind.kind}: considered=${kind.considered} updated=${kind.updated} skipped=${kind.skipped}`);
203
- }
204
- }
205
- return lines.join("\n");
206
- }
207
- function renderCompactList(entities) {
208
- if (entities.length === 0) {
209
- return "none";
210
- }
211
- return entities.map((entity) => `${entity.reference}:${entity.status}`).join(", ");
212
- }
213
- function renderEntityLine(entity) {
214
- return `${entity.id} ${entity.kind} ${entity.status} ${entity.title}`;
215
- }
216
- function indentBlock(text) {
217
- return text
218
- .split("\n")
219
- .map((line) => ` ${line}`)
220
- .join("\n");
221
- }
222
- export function renderAuthLogin(session) {
223
- return [
224
- `Logged in as ${session.displayName ?? session.userId} (tenant ${session.tenantId})`,
225
- `Session expires: ${session.expiresAt}`
226
- ].join("\n");
227
- }
228
- export function renderAuthList(logins) {
229
- return logins
230
- .map(({ login, active }) => {
231
- const destination = login.kind === "local" ? "local" : `remote ${login.serviceUrl}`;
232
- return `${active ? "*" : "-"} ${login.name} (${destination})`;
233
- })
234
- .join("\n");
235
- }
236
- export function renderAuthLogout(name) {
237
- return `Removed saved login ${name}.`;
238
- }
239
- export function renderAuthStatus(login) {
240
- if (login.kind === "local") {
241
- return ["Active saved login: local", "Destination: local"].join("\n");
242
- }
243
- return [
244
- `Active saved login: ${login.name}`,
245
- "Destination: remote",
246
- `Remote URL: ${login.serviceUrl}`,
247
- `Identity: ${login.displayName ?? login.userId} (tenant ${login.tenantId})`,
248
- `Session expires: ${login.expiresAt}`
249
- ].join("\n");
250
- }
251
- export function renderAuthSwitch(login) {
252
- return `Switched to saved login ${login.name}.`;
253
- }
254
- export function renderSynchronize(result) {
255
- const { summary } = result;
256
- const appliedTotal = summary.entriesAppliedToLocal + summary.entriesAppliedToCloud;
257
- const createdTotal = summary.entitiesCreatedLocal.length + summary.entitiesCreatedCloud.length;
258
- const updatedTotal = summary.entitiesUpdatedLocal.length + summary.entitiesUpdatedCloud.length;
259
- const relationsTotal = summary.relationsAppliedToLocal + summary.relationsAppliedToCloud;
260
- const contextsTotal = summary.contextsAppliedToLocal +
261
- summary.contextsAppliedToCloud +
262
- summary.contextTermsAppliedToLocal +
263
- summary.contextTermsAppliedToCloud;
264
- if (appliedTotal === 0 &&
265
- createdTotal === 0 &&
266
- updatedTotal === 0 &&
267
- relationsTotal === 0 &&
268
- contextsTotal === 0 &&
269
- summary.concurrentEditConflicts === 0) {
270
- return `Already in sync with ${result.cloudApiUrl} (tenant ${result.tenantId}).`;
271
- }
272
- const lines = [
273
- `Synchronized with ${result.cloudApiUrl} (tenant ${result.tenantId}).`,
274
- `History entries applied: ${summary.entriesAppliedToLocal} to local, ${summary.entriesAppliedToCloud} to cloud`,
275
- `Entities created: ${summary.entitiesCreatedLocal.length} local, ${summary.entitiesCreatedCloud.length} cloud`,
276
- `Entities updated: ${summary.entitiesUpdatedLocal.length} local, ${summary.entitiesUpdatedCloud.length} cloud`,
277
- `Relations applied: ${summary.relationsAppliedToLocal} to local, ${summary.relationsAppliedToCloud} to cloud`,
278
- `Contexts applied: ${summary.contextsAppliedToLocal} to local, ${summary.contextsAppliedToCloud} to cloud`,
279
- `Context terms applied: ${summary.contextTermsAppliedToLocal} to local, ${summary.contextTermsAppliedToCloud} to cloud`
280
- ];
281
- if (summary.concurrentEditConflicts > 0) {
282
- lines.push(`Concurrent-edit conflicts resolved by last-writer-wins: ${summary.concurrentEditConflicts}`);
283
- }
284
- return lines.join("\n");
285
- }
286
- //# sourceMappingURL=renderers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../src/cli/renderers.ts"],"names":[],"mappings":"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"}
@@ -1,97 +0,0 @@
1
- import type { Writable } from "node:stream";
2
- import { Command, type BaseContext } from "clipanion";
3
- import type { StorageDriver } from "@agent-issues/core";
4
- import { type ContextDirectoryView, type DatabaseLocationOptions } from "@agent-issues/api-local";
5
- import type { SavedLoginStoreOptions } from "../auth-session.js";
6
- export type AgentIssuesContext = BaseContext & {
7
- cwd: string;
8
- authLoginDependencies?: {
9
- deviceCodeLogin?: (options: {
10
- tenantId: string;
11
- clientId: string;
12
- onDeviceCode: (message: string) => void;
13
- }) => Promise<{
14
- tenantId: string;
15
- userId: string;
16
- displayName?: string;
17
- accessToken: string;
18
- expiresAt: string;
19
- }>;
20
- fetch?: typeof globalThis.fetch;
21
- interactive?: boolean;
22
- prompt?: (question: string) => Promise<string>;
23
- };
24
- /**
25
- * Overrides how `auth-session.ts` reaches the native OS credential store
26
- * (ISS185, ADR46). Production never sets this - the real OS tool is used.
27
- * Tests inject an in-memory fake here (via `runCli`'s context argument)
28
- * so `auth login`/`logout`/`status`/`switch` never shell out to the
29
- * developer's or CI machine's real credential store.
30
- */
31
- credentialStoreOptions?: SavedLoginStoreOptions;
32
- };
33
- export type EntityView = "compact" | "full";
34
- export declare const CONTEXT_SUBCOMMANDS: Set<string>;
35
- export declare abstract class BaseCommand extends Command<AgentIssuesContext> {
36
- asJson: boolean;
37
- prettyJson: boolean;
38
- protected print(payload: object, text: string): void;
39
- /**
40
- * The `withStore`/`openStorageDriver` options every command needs: the
41
- * invoking cwd (for database-path resolution) and this invocation's
42
- * `credentialStoreOptions` override (ISS185) so auth-session lookups in
43
- * cloud mode go through whatever the test injected via `runCli`'s
44
- * context instead of always defaulting to the real OS credential store.
45
- */
46
- protected withStoreOptions(extra?: DatabaseLocationOptions): DatabaseLocationOptions & {
47
- credentialStoreOptions?: SavedLoginStoreOptions;
48
- };
49
- }
50
- export declare abstract class TenantCommand extends BaseCommand {
51
- dbPath: string | undefined;
52
- }
53
- export declare abstract class MutableTenantCommand extends TenantCommand {
54
- force: boolean;
55
- }
56
- export declare abstract class BodyTenantCommand extends TenantCommand {
57
- bodyFile: string | undefined;
58
- protected resolveBody(): Promise<string | undefined>;
59
- }
60
- export declare abstract class TargetCommand extends BaseCommand {
61
- force: boolean;
62
- target: string | undefined;
63
- }
64
- /**
65
- * Opens the storage-driver seam for one command invocation and closes it
66
- * afterwards, replacing the repeated `ensureDatabase` + try/finally pattern
67
- * every command used before the seam existed (ADR11, ADR13). Delegates to
68
- * `openStorageDriver` (ADR18) to pick `SqliteStore` or `HttpStore` per the
69
- * resolved backend, so commands never branch on backend themselves. Hands
70
- * the resolved `dbPath` back too, since a few commands echo it in their
71
- * output (the cloud API URL in cloud mode, per `OpenStorageDriverResult`).
72
- *
73
- * Passes this install's build-content-hash so local mode's daemon routing
74
- * (ISS190, ADR44/45) can detect a stale already-running daemon; surfaces
75
- * `daemonFallbackWarning` on stderr so a failed daemon spawn is visible
76
- * without ever failing the command itself.
77
- */
78
- export declare function withStore<T>(dbPath: string | undefined, options: (DatabaseLocationOptions & {
79
- credentialStoreOptions?: SavedLoginStoreOptions;
80
- }) | undefined, fn: (store: StorageDriver, dbPath: string) => Promise<T>): Promise<T>;
81
- export declare function parseContextView(value: string | undefined): ContextDirectoryView;
82
- export declare function parseEntityView(value: string | undefined): EntityView;
83
- export declare function parseCsvOption(value: string | undefined): string[];
84
- export declare function parsePositiveIntegerOption(value: string | undefined, optionName: string): number | undefined;
85
- export declare function parsePortOption(value: string | undefined): number | undefined;
86
- export declare function stringifyJson(value: unknown, pretty: boolean): string;
87
- export declare function printOutput(output: Writable, asJson: boolean, prettyJson: boolean, payload: object, text: string): void;
88
- export declare function requirePositional(positionals: string[], index: number, usage: string): string;
89
- export declare function requireOption(value: string | undefined, message: string): string;
90
- /**
91
- * Reads a large-markdown option's value from a file (or from stdin when the
92
- * value is `-`). Every command that accepts a large authored-markdown field
93
- * (entity, context summary, term definition) uses the same `--body-file`
94
- * flag - never an inline flag value - since inline multiline markdown breaks
95
- * shell quoting and lands in shell history and process listings.
96
- */
97
- export declare function resolveMarkdownFileOption(filePath: string | undefined, flagName: string, stdin?: AsyncIterable<string | Uint8Array>): Promise<string | undefined>;
@@ -1,192 +0,0 @@
1
- import { readFile } from "node:fs/promises";
2
- import { Command, Option } from "clipanion";
3
- import { readBuildContentHash } from "@agent-issues/api-local";
4
- import { openStorageDriver } from "../open-storage-driver.js";
5
- export const CONTEXT_SUBCOMMANDS = new Set(["list", "show", "search", "conflicts", "set", "define", "forget"]);
6
- const BODY_FILE_READ_ATTEMPTS = 3;
7
- export class BaseCommand extends Command {
8
- asJson = Option.Boolean("--json", false);
9
- prettyJson = Option.Boolean("--pretty", false);
10
- print(payload, text) {
11
- printOutput(this.context.stdout, this.asJson, this.prettyJson, payload, text);
12
- }
13
- /**
14
- * The `withStore`/`openStorageDriver` options every command needs: the
15
- * invoking cwd (for database-path resolution) and this invocation's
16
- * `credentialStoreOptions` override (ISS185) so auth-session lookups in
17
- * cloud mode go through whatever the test injected via `runCli`'s
18
- * context instead of always defaulting to the real OS credential store.
19
- */
20
- withStoreOptions(extra) {
21
- return { credentialStoreOptions: this.context.credentialStoreOptions, currentWorkingDirectory: this.context.cwd, ...extra };
22
- }
23
- }
24
- export class TenantCommand extends BaseCommand {
25
- dbPath = Option.String("--db");
26
- }
27
- export class MutableTenantCommand extends TenantCommand {
28
- force = Option.Boolean("--force", false);
29
- }
30
- export class BodyTenantCommand extends TenantCommand {
31
- bodyFile = Option.String("--body-file");
32
- async resolveBody() {
33
- return resolveMarkdownFileOption(this.bodyFile, "--body-file");
34
- }
35
- }
36
- export class TargetCommand extends BaseCommand {
37
- force = Option.Boolean("--force", false);
38
- target = Option.String("--target");
39
- }
40
- /**
41
- * Opens the storage-driver seam for one command invocation and closes it
42
- * afterwards, replacing the repeated `ensureDatabase` + try/finally pattern
43
- * every command used before the seam existed (ADR11, ADR13). Delegates to
44
- * `openStorageDriver` (ADR18) to pick `SqliteStore` or `HttpStore` per the
45
- * resolved backend, so commands never branch on backend themselves. Hands
46
- * the resolved `dbPath` back too, since a few commands echo it in their
47
- * output (the cloud API URL in cloud mode, per `OpenStorageDriverResult`).
48
- *
49
- * Passes this install's build-content-hash so local mode's daemon routing
50
- * (ISS190, ADR44/45) can detect a stale already-running daemon; surfaces
51
- * `daemonFallbackWarning` on stderr so a failed daemon spawn is visible
52
- * without ever failing the command itself.
53
- */
54
- export async function withStore(dbPath, options, fn) {
55
- const { store, dbPath: resolvedDbPath, daemonFallbackWarning } = await openStorageDriver({
56
- dbPath,
57
- databaseOptions: options,
58
- authSessionOptions: options?.credentialStoreOptions,
59
- localDaemon: { buildHash: readBuildContentHash() }
60
- });
61
- if (daemonFallbackWarning) {
62
- process.stderr.write(`Warning: ${daemonFallbackWarning}\n`);
63
- }
64
- try {
65
- return await fn(store, resolvedDbPath);
66
- }
67
- finally {
68
- await store.close();
69
- }
70
- }
71
- export function parseContextView(value) {
72
- if (!value) {
73
- return "all";
74
- }
75
- if (value === "all" || value === "global" || value === "initiatives") {
76
- return value;
77
- }
78
- throw new Error(`Unknown context view: ${value}`);
79
- }
80
- export function parseEntityView(value) {
81
- if (value === undefined || value === "compact") {
82
- return "compact";
83
- }
84
- if (value === "full") {
85
- return value;
86
- }
87
- throw new Error(`Unknown entity view: ${value}`);
88
- }
89
- export function parseCsvOption(value) {
90
- if (!value) {
91
- return [];
92
- }
93
- return value.split(",").map((item) => item.trim()).filter((item) => item.length > 0);
94
- }
95
- export function parsePositiveIntegerOption(value, optionName) {
96
- if (value === undefined) {
97
- return undefined;
98
- }
99
- const parsed = Number(value);
100
- if (!Number.isInteger(parsed) || parsed < 1) {
101
- throw new Error(`${optionName} must be a positive integer: ${value}`);
102
- }
103
- return parsed;
104
- }
105
- export function parsePortOption(value) {
106
- if (value === undefined) {
107
- return undefined;
108
- }
109
- const parsedPort = Number(value);
110
- if (!Number.isInteger(parsedPort) || parsedPort < 1 || parsedPort > 65535) {
111
- throw new Error(`Invalid port: ${value}`);
112
- }
113
- return parsedPort;
114
- }
115
- export function stringifyJson(value, pretty) {
116
- return pretty ? JSON.stringify(value, null, 2) : JSON.stringify(value);
117
- }
118
- export function printOutput(output, asJson, prettyJson, payload, text) {
119
- if (asJson) {
120
- output.write(`${stringifyJson(payload, prettyJson)}\n`);
121
- return;
122
- }
123
- output.write(`${text}\n`);
124
- }
125
- export function requirePositional(positionals, index, usage) {
126
- const value = positionals[index];
127
- if (!value) {
128
- throw new Error(`Missing argument. Usage: ${usage}`);
129
- }
130
- return value;
131
- }
132
- export function requireOption(value, message) {
133
- if (!value) {
134
- throw new Error(message);
135
- }
136
- return value;
137
- }
138
- /**
139
- * Reads a large-markdown option's value from a file (or from stdin when the
140
- * value is `-`). Every command that accepts a large authored-markdown field
141
- * (entity, context summary, term definition) uses the same `--body-file`
142
- * flag - never an inline flag value - since inline multiline markdown breaks
143
- * shell quoting and lands in shell history and process listings.
144
- */
145
- export async function resolveMarkdownFileOption(filePath, flagName, stdin = process.stdin) {
146
- if (filePath === undefined) {
147
- return undefined;
148
- }
149
- if (filePath === "-") {
150
- try {
151
- return await readMarkdownStdin(stdin);
152
- }
153
- catch (error) {
154
- const message = error instanceof Error ? error.message : String(error);
155
- throw new Error(`Could not read ${flagName} from stdin: ${message}`);
156
- }
157
- }
158
- try {
159
- return await readMarkdownFile(filePath);
160
- }
161
- catch (error) {
162
- const message = error instanceof Error ? error.message : String(error);
163
- throw new Error(`Could not read ${flagName} ${filePath}: ${message}`);
164
- }
165
- }
166
- async function readMarkdownFile(filePath) {
167
- return retryBodyRead(async () => await readFile(filePath, "utf8"));
168
- }
169
- async function readMarkdownStdin(stdin) {
170
- const chunks = [];
171
- for await (const chunk of stdin) {
172
- chunks.push(typeof chunk === "string" ? chunk : Buffer.from(chunk).toString("utf8"));
173
- }
174
- return chunks.join("");
175
- }
176
- async function retryBodyRead(read) {
177
- for (let attempt = 1; attempt <= BODY_FILE_READ_ATTEMPTS; attempt += 1) {
178
- try {
179
- return await read();
180
- }
181
- catch (error) {
182
- if (!isEagainError(error) || attempt === BODY_FILE_READ_ATTEMPTS) {
183
- throw error;
184
- }
185
- }
186
- }
187
- throw new Error("Could not read body input.");
188
- }
189
- function isEagainError(error) {
190
- return typeof error === "object" && error !== null && "code" in error && error.code === "EAGAIN";
191
- }
192
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/cli/shared.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts DELETED
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- import { runCli, type AgentIssuesContext } from "./cli/index.js";
3
- export { runCli, type AgentIssuesContext };
4
- export declare function isEntrypointInvocation(moduleUrl: string, argvPath: string | undefined): boolean;
5
- /**
6
- * A self-respawned local daemon process (ISS190) re-invokes this same entrypoint with a
7
- * hidden flag as its first argument, instead of a normal command. Recognizing it here lets
8
- * `spawnLocalDaemon()` in `@agent-issues/core` re-exec whichever script is currently running
9
- * without needing any knowledge of the CLI's command-dispatch internals.
10
- */
11
- export declare function shouldRunLocalDaemon(args: string[]): boolean;
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAA2B,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,MAAM,EAA2B,CAAC;AAE3C,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,QAA4B;IACrF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACJ,OAAO,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,QAAQ,CAAC;IACjB,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAc;IAClD,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC;AAC5C,CAAC;AAED,IAAI,sBAAsB,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,gBAAgB,EAAE,CAAC;IACpB,CAAC;SAAM,CAAC;QACP,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC7B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,CAAC,CAAC,CAAC;IACJ,CAAC;AACF,CAAC"}
@@ -1,16 +0,0 @@
1
- import type { ContextDetails, ContextDirectoryTerm, ContextListResult, DefineContextTermResult, ForgetContextTermResult, QueryContextDirectoryResult } from "@agent-issues/api-local";
2
- export type ContextSearchTermsOnlyResult = {
3
- query: string;
4
- view: QueryContextDirectoryResult["view"];
5
- conflictsOnly: boolean;
6
- duplicateTerms: string[];
7
- terms: ContextDirectoryTerm[];
8
- };
9
- export declare function toContextSearchTermsOnly(result: QueryContextDirectoryResult): ContextSearchTermsOnlyResult;
10
- export declare function renderContextDetails(details: ContextDetails): string;
11
- export declare function renderContextDirectory(directory: QueryContextDirectoryResult): string;
12
- export declare function renderContextSearchTermsOnly(result: ContextSearchTermsOnlyResult): string;
13
- export declare function renderContextOutput(details: ContextDetails | QueryContextDirectoryResult): string;
14
- export declare function renderContextList(result: ContextListResult): string;
15
- export declare function renderContextTermResult(result: DefineContextTermResult): string;
16
- export declare function renderContextForgetResult(result: ForgetContextTermResult): string;