agent-issues 0.0.119

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 (208) hide show
  1. package/.github/agents/agent-issues.agent.md +54 -0
  2. package/.github/agents/agent-issues.claude.md +51 -0
  3. package/dist/agent-installer.d.ts +49 -0
  4. package/dist/agent-installer.js +171 -0
  5. package/dist/agent-installer.js.map +1 -0
  6. package/dist/auth-session.d.ts +40 -0
  7. package/dist/auth-session.js +107 -0
  8. package/dist/auth-session.js.map +1 -0
  9. package/dist/body-backfill.d.ts +26 -0
  10. package/dist/body-backfill.js +219 -0
  11. package/dist/body-backfill.js.map +1 -0
  12. package/dist/build-mode.d.ts +1 -0
  13. package/dist/build-mode.js +1 -0
  14. package/dist/build-mode.js.map +1 -0
  15. package/dist/cli/commands/auth.d.ts +61 -0
  16. package/dist/cli/commands/auth.js +134 -0
  17. package/dist/cli/commands/auth.js.map +1 -0
  18. package/dist/cli/commands/backfill.d.ts +8 -0
  19. package/dist/cli/commands/backfill.js +36 -0
  20. package/dist/cli/commands/backfill.js.map +1 -0
  21. package/dist/cli/commands/comments.d.ts +34 -0
  22. package/dist/cli/commands/comments.js +124 -0
  23. package/dist/cli/commands/comments.js.map +1 -0
  24. package/dist/cli/commands/context.d.ts +13 -0
  25. package/dist/cli/commands/context.js +156 -0
  26. package/dist/cli/commands/context.js.map +1 -0
  27. package/dist/cli/commands/entities.d.ts +91 -0
  28. package/dist/cli/commands/entities.js +420 -0
  29. package/dist/cli/commands/entities.js.map +1 -0
  30. package/dist/cli/commands/export.d.ts +20 -0
  31. package/dist/cli/commands/export.js +98 -0
  32. package/dist/cli/commands/export.js.map +1 -0
  33. package/dist/cli/commands/fallback.d.ts +6 -0
  34. package/dist/cli/commands/fallback.js +10 -0
  35. package/dist/cli/commands/fallback.js.map +1 -0
  36. package/dist/cli/commands/handoff.d.ts +1 -0
  37. package/dist/cli/commands/handoff.js +2 -0
  38. package/dist/cli/commands/handoff.js.map +1 -0
  39. package/dist/cli/commands/installers.d.ts +37 -0
  40. package/dist/cli/commands/installers.js +78 -0
  41. package/dist/cli/commands/installers.js.map +1 -0
  42. package/dist/cli/commands/kanban.d.ts +8 -0
  43. package/dist/cli/commands/kanban.js +83 -0
  44. package/dist/cli/commands/kanban.js.map +1 -0
  45. package/dist/cli/commands/meta.d.ts +14 -0
  46. package/dist/cli/commands/meta.js +33 -0
  47. package/dist/cli/commands/meta.js.map +1 -0
  48. package/dist/cli/commands/plan-entries.d.ts +30 -0
  49. package/dist/cli/commands/plan-entries.js +94 -0
  50. package/dist/cli/commands/plan-entries.js.map +1 -0
  51. package/dist/cli/commands/site.d.ts +29 -0
  52. package/dist/cli/commands/site.js +89 -0
  53. package/dist/cli/commands/site.js.map +1 -0
  54. package/dist/cli/commands/sql.d.ts +6 -0
  55. package/dist/cli/commands/sql.js +21 -0
  56. package/dist/cli/commands/sql.js.map +1 -0
  57. package/dist/cli/commands/synchronize.d.ts +12 -0
  58. package/dist/cli/commands/synchronize.js +31 -0
  59. package/dist/cli/commands/synchronize.js.map +1 -0
  60. package/dist/cli/commands/tenants.d.ts +29 -0
  61. package/dist/cli/commands/tenants.js +101 -0
  62. package/dist/cli/commands/tenants.js.map +1 -0
  63. package/dist/cli/index.d.ts +4 -0
  64. package/dist/cli/index.js +120 -0
  65. package/dist/cli/index.js.map +1 -0
  66. package/dist/cli/renderers.d.ts +250 -0
  67. package/dist/cli/renderers.js +286 -0
  68. package/dist/cli/renderers.js.map +1 -0
  69. package/dist/cli/shared.d.ts +97 -0
  70. package/dist/cli/shared.js +192 -0
  71. package/dist/cli/shared.js.map +1 -0
  72. package/dist/cli.d.ts +11 -0
  73. package/dist/cli.js +41 -0
  74. package/dist/cli.js.map +1 -0
  75. package/dist/context-cli.d.ts +16 -0
  76. package/dist/context-cli.js +131 -0
  77. package/dist/context-cli.js.map +1 -0
  78. package/dist/daemon/daemon-lifecycle.d.ts +1 -0
  79. package/dist/daemon/daemon-lifecycle.js +2 -0
  80. package/dist/daemon/daemon-lifecycle.js.map +1 -0
  81. package/dist/daemon/daemon-main.d.ts +14 -0
  82. package/dist/daemon/daemon-main.js +30 -0
  83. package/dist/daemon/daemon-main.js.map +1 -0
  84. package/dist/daemon/local-daemon-store.d.ts +21 -0
  85. package/dist/daemon/local-daemon-store.js +31 -0
  86. package/dist/daemon/local-daemon-store.js.map +1 -0
  87. package/dist/entity-projection.d.ts +141 -0
  88. package/dist/entity-projection.js +147 -0
  89. package/dist/entity-projection.js.map +1 -0
  90. package/dist/entra-device-login.d.ts +12 -0
  91. package/dist/entra-device-login.js +40 -0
  92. package/dist/entra-device-login.js.map +1 -0
  93. package/dist/export-files.d.ts +24 -0
  94. package/dist/export-files.js +230 -0
  95. package/dist/export-files.js.map +1 -0
  96. package/dist/export-markdown.d.ts +24 -0
  97. package/dist/export-markdown.js +343 -0
  98. package/dist/export-markdown.js.map +1 -0
  99. package/dist/help.d.ts +112 -0
  100. package/dist/help.js +1430 -0
  101. package/dist/help.js.map +1 -0
  102. package/dist/kanban/assets.d.ts +3 -0
  103. package/dist/kanban/assets.js +37 -0
  104. package/dist/kanban/assets.js.map +1 -0
  105. package/dist/kanban/index.d.ts +1 -0
  106. package/dist/kanban/index.js +2 -0
  107. package/dist/kanban/index.js.map +1 -0
  108. package/dist/kanban/server.d.ts +28 -0
  109. package/dist/kanban/server.js +118 -0
  110. package/dist/kanban/server.js.map +1 -0
  111. package/dist/mcp-installer.d.ts +32 -0
  112. package/dist/mcp-installer.js +118 -0
  113. package/dist/mcp-installer.js.map +1 -0
  114. package/dist/mcp-server/index.d.ts +11 -0
  115. package/dist/mcp-server/index.js +504 -0
  116. package/dist/mcp-server/index.js.map +1 -0
  117. package/dist/mcp-server/index.test.d.ts +1 -0
  118. package/dist/mcp-server/index.test.js +746 -0
  119. package/dist/mcp-server/index.test.js.map +1 -0
  120. package/dist/mcp-server/mcp-tool-audit.d.ts +6 -0
  121. package/dist/mcp-server/mcp-tool-audit.js +47 -0
  122. package/dist/mcp-server/mcp-tool-audit.js.map +1 -0
  123. package/dist/mcp-server/stdio.d.ts +2 -0
  124. package/dist/mcp-server/stdio.js +7 -0
  125. package/dist/mcp-server/stdio.js.map +1 -0
  126. package/dist/mcp.d.ts +2 -0
  127. package/dist/mcp.js +19 -0
  128. package/dist/mcp.js.map +1 -0
  129. package/dist/open-storage-driver.d.ts +53 -0
  130. package/dist/open-storage-driver.js +71 -0
  131. package/dist/open-storage-driver.js.map +1 -0
  132. package/dist/open-synchronize-stores.d.ts +24 -0
  133. package/dist/open-synchronize-stores.js +34 -0
  134. package/dist/open-synchronize-stores.js.map +1 -0
  135. package/dist/project-identity.d.ts +23 -0
  136. package/dist/project-identity.js +121 -0
  137. package/dist/project-identity.js.map +1 -0
  138. package/dist/runtime-access-boundary.d.ts +7 -0
  139. package/dist/runtime-access-boundary.js +182 -0
  140. package/dist/runtime-access-boundary.js.map +1 -0
  141. package/dist/service-discovery.d.ts +10 -0
  142. package/dist/service-discovery.js +64 -0
  143. package/dist/service-discovery.js.map +1 -0
  144. package/dist/site/assets.d.ts +4 -0
  145. package/dist/site/assets.js +46 -0
  146. package/dist/site/assets.js.map +1 -0
  147. package/dist/site/cloud-events-relay.d.ts +18 -0
  148. package/dist/site/cloud-events-relay.js +78 -0
  149. package/dist/site/cloud-events-relay.js.map +1 -0
  150. package/dist/site/index.d.ts +1 -0
  151. package/dist/site/index.js +2 -0
  152. package/dist/site/index.js.map +1 -0
  153. package/dist/site/server.d.ts +42 -0
  154. package/dist/site/server.js +320 -0
  155. package/dist/site/server.js.map +1 -0
  156. package/dist/skill-installer.d.ts +35 -0
  157. package/dist/skill-installer.js +174 -0
  158. package/dist/skill-installer.js.map +1 -0
  159. package/dist/vitest-setup.d.ts +1 -0
  160. package/dist/vitest-setup.js +7 -0
  161. package/dist/vitest-setup.js.map +1 -0
  162. package/package.json +42 -0
  163. package/site/dist/assets/index-DKEVC0aQ.css +1 -0
  164. package/site/dist/assets/index-DSR4mIml.js +4396 -0
  165. package/site/dist/index.html +14 -0
  166. package/skills/agent-issues-language.md +5 -0
  167. package/skills/agent-issues-operating-contract.md +208 -0
  168. package/skills/ai-agent-issues/SKILL.md +127 -0
  169. package/skills/ai-domain-modeling/ADR-FORMAT.md +48 -0
  170. package/skills/ai-domain-modeling/CONTEXT-FORMAT.md +54 -0
  171. package/skills/ai-domain-modeling/SKILL.md +45 -0
  172. package/skills/ai-grill-with-docs/SKILL.md +28 -0
  173. package/skills/ai-handoff/SKILL.md +41 -0
  174. package/skills/ai-implement/SKILL.md +98 -0
  175. package/skills/ai-migrate-docs/SKILL.md +65 -0
  176. package/skills/ai-next-work/SKILL.md +43 -0
  177. package/skills/ai-plan/SKILL.md +41 -0
  178. package/skills/ai-prepare/SKILL.md +79 -0
  179. package/skills/ai-prototype/LOGIC.md +67 -0
  180. package/skills/ai-prototype/SKILL.md +31 -0
  181. package/skills/ai-prototype/UI.md +112 -0
  182. package/skills/ai-recipe-migration/SKILL.md +49 -0
  183. package/skills/ai-start-work/SKILL.md +56 -0
  184. package/skills/ai-tdd/SKILL.md +99 -0
  185. package/skills/ai-tdd/deep-modules.md +33 -0
  186. package/skills/ai-tdd/interface-design.md +20 -0
  187. package/skills/ai-tdd/mocking.md +28 -0
  188. package/skills/ai-tdd/refactoring.md +10 -0
  189. package/skills/ai-tdd/tests.md +74 -0
  190. package/skills/ai-to-issues/SKILL.md +70 -0
  191. package/skills/ai-to-prd/SKILL.md +33 -0
  192. package/skills/ai-wayfinder/SKILL.md +110 -0
  193. package/skills/recipes/README.md +29 -0
  194. package/skills/recipes/adr.md +21 -0
  195. package/skills/recipes/context-summary.md +17 -0
  196. package/skills/recipes/context-term.md +3 -0
  197. package/skills/recipes/debt.md +21 -0
  198. package/skills/recipes/epic.md +21 -0
  199. package/skills/recipes/handoff.md +29 -0
  200. package/skills/recipes/initiative.md +21 -0
  201. package/skills/recipes/issue-comment.md +15 -0
  202. package/skills/recipes/issue.md +33 -0
  203. package/skills/recipes/prd.md +29 -0
  204. package/skills/recipes/project.md +21 -0
  205. package/skills/recipes/user-story.md +15 -0
  206. package/skills/recipes/version.md +13 -0
  207. package/skills/recipes/wayfinder-map.md +25 -0
  208. package/skills/recipes/wayfinder-ticket.md +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function auditMcpToolRegistrations(registeredToolNames: Iterable<string>): {
2
+ missing: Array<{
3
+ command: string;
4
+ toolName: string;
5
+ }>;
6
+ };
@@ -0,0 +1,47 @@
1
+ const INCLUDED_MCP_DATA_COMMANDS = [
2
+ { command: "project-identity", toolNames: ["project_identity"] },
3
+ { command: "create", toolNames: ["entity_create"] },
4
+ { command: "edit", toolNames: ["entity_edit"] },
5
+ { command: "archive", toolNames: ["entity_archive"] },
6
+ { command: "delete", toolNames: ["entity_delete_inspect", "entity_delete"] },
7
+ { command: "move", toolNames: ["entity_move"] },
8
+ { command: "status", toolNames: ["entity_status"] },
9
+ { command: "list", toolNames: ["entity_list"] },
10
+ { command: "history", toolNames: ["entity_history"] },
11
+ { command: "show", toolNames: ["entity_show", "initiative_bundle"] },
12
+ { command: "context list", toolNames: ["context_list"] },
13
+ { command: "context show", toolNames: ["context_show"] },
14
+ { command: "context directory", toolNames: ["context_directory"] },
15
+ { command: "context search", toolNames: ["context_search"] },
16
+ { command: "context conflicts", toolNames: ["context_conflicts"] },
17
+ { command: "context set", toolNames: ["context_set"] },
18
+ { command: "context define", toolNames: ["context_term_define"] },
19
+ { command: "context forget", toolNames: ["context_term_forget"] },
20
+ { command: "history --context", toolNames: ["context_revision", "context_term_revision"] },
21
+ { command: "comment add", toolNames: ["comment_create"] },
22
+ { command: "comment edit", toolNames: ["comment_edit"] },
23
+ { command: "comment delete", toolNames: ["comment_delete"] },
24
+ { command: "comment list", toolNames: ["comment_list"] },
25
+ { command: "comment history", toolNames: ["comment_history"] },
26
+ { command: "plan-entry add", toolNames: ["plan_entry_create"] },
27
+ { command: "plan-entry edit", toolNames: ["plan_entry_edit"] },
28
+ { command: "plan-entry delete", toolNames: ["plan_entry_delete"] },
29
+ { command: "plan-entry list", toolNames: ["plan_entry_list"] },
30
+ { command: "plan-entry history", toolNames: ["plan_entry_history"] },
31
+ { command: "link", toolNames: ["relation_link", "plan_entry_issue_link"] },
32
+ { command: "unlink", toolNames: ["relation_unlink", "plan_entry_issue_unlink"] },
33
+ { command: "relations", toolNames: ["relation_query"] },
34
+ { command: "next-work", toolNames: ["entity_next_work"] },
35
+ { command: "orphans", toolNames: ["entity_orphans"] },
36
+ { command: "tenant list", toolNames: ["tenant_list"] },
37
+ { command: "tenant rename", toolNames: ["tenant_rename"] },
38
+ { command: "tenant delete", toolNames: ["tenant_delete_inspect", "tenant_delete"] },
39
+ { command: "restore", toolNames: ["entity_restore_inspect", "entity_restore"] },
40
+ { command: "backfill-bodies", toolNames: ["body_backfill_inspect", "body_backfill"] }
41
+ ];
42
+ export function auditMcpToolRegistrations(registeredToolNames) {
43
+ const registeredTools = new Set(registeredToolNames);
44
+ const missing = INCLUDED_MCP_DATA_COMMANDS.flatMap(({ command, toolNames }) => toolNames.filter((toolName) => !registeredTools.has(toolName)).map((toolName) => ({ command, toolName })));
45
+ return { missing };
46
+ }
47
+ //# sourceMappingURL=mcp-tool-audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool-audit.js","sourceRoot":"","sources":["../src/mcp-tool-audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { LocalDaemonStoreOptions } from "@agent-issues/api-local";
2
+ export declare function runMcpStdioServer(options: LocalDaemonStoreOptions): Promise<void>;
@@ -0,0 +1,7 @@
1
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
2
+ import { createLocalMcpServer } from "./index.js";
3
+ export async function runMcpStdioServer(options) {
4
+ const server = createLocalMcpServer(options);
5
+ await server.connect(new StdioServerTransport());
6
+ }
7
+ //# sourceMappingURL=stdio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAgC;IACvE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;AAClD,CAAC"}
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/mcp.js ADDED
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ import { resolveDatabasePath } from "@agent-issues/api-local";
3
+ import { runDaemonProcess } from "./daemon/daemon-main.js";
4
+ import { LOCAL_DAEMON_SPAWN_FLAG, spawnLocalDaemon } from "./daemon/local-daemon-store.js";
5
+ import { resolveProjectIdentity } from "./project-identity.js";
6
+ function shouldRunLocalDaemon(args) {
7
+ return args[0] === LOCAL_DAEMON_SPAWN_FLAG;
8
+ }
9
+ if (shouldRunLocalDaemon(process.argv.slice(2))) {
10
+ runDaemonProcess();
11
+ }
12
+ else {
13
+ const { runMcpStdioServer } = (await import(new URL("./mcp-server/stdio.js", import.meta.url).href));
14
+ const dbPath = resolveDatabasePath();
15
+ const workspaceRoot = process.cwd();
16
+ const { identity: projectIdentity } = resolveProjectIdentity(workspaceRoot);
17
+ void runMcpStdioServer({ dbPath, projectIdentity, spawn: () => spawnLocalDaemon({ dbPath }), workspaceRoot });
18
+ }
19
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,mBAAmB,EAAgC,MAAM,yBAAyB,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAM/D,SAAS,oBAAoB,CAAC,IAAc;IAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC;AAC5C,CAAC;AAED,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACpB,CAAC;KAAM,CAAC;IACP,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,GAAG,CAAC,uBAAuB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAqB,CAAC;IACzH,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAC5E,KAAK,iBAAiB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;AAC/G,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type StorageDriver } from "@agent-issues/core";
2
+ import { type LocalDaemonStoreOptions, type DatabaseLocationOptions } from "@agent-issues/api-local";
3
+ import { type SavedLoginStoreOptions } from "./auth-session.js";
4
+ export type OpenStorageDriverOptions = {
5
+ /** Only used when the active login is local. */
6
+ dbPath?: string;
7
+ databaseOptions?: DatabaseLocationOptions;
8
+ authSessionOptions?: SavedLoginStoreOptions;
9
+ /** Injectable for tests; defaults to `process.env`. */
10
+ env?: Record<string, string | undefined>;
11
+ /**
12
+ * Local-daemon routing overrides (ISS190, ADR44): all optional and
13
+ * defaulted for production use (real spawn, real OS credential store).
14
+ * Tests override these so no real background process or credential
15
+ * tool is ever touched.
16
+ */
17
+ localDaemon?: LocalDaemonStoreOptions;
18
+ };
19
+ export type OpenStorageDriverResult = {
20
+ store: StorageDriver;
21
+ backend: "local" | "cloud";
22
+ /** The SQLite file path in local mode, or the cloud API base URL in cloud mode - kept as one field so callers that already echo it keep the same output shape (ADR13). */
23
+ dbPath: string;
24
+ /**
25
+ * Only set when `backend` is `"cloud"` - the raw base URL/bearer token
26
+ * behind the `HttpStore` this call opened. Ordinary `StorageDriver`
27
+ * callers never need this; it exists for the site server's `/events`
28
+ * relay (ISS56), which must subscribe to the cloud API's own SSE channel
29
+ * directly rather than through a `StorageDriver` method.
30
+ */
31
+ cloudConnection?: {
32
+ baseUrl: string;
33
+ bearerToken: string;
34
+ tenantId: string;
35
+ };
36
+ /**
37
+ * Set only when the local daemon could not be spawned/reached and this
38
+ * call fell back to a direct in-process `SqliteStore` instead (ISS190's
39
+ * escape hatch). Callers that print CLI output should surface this so
40
+ * the fallback is visible rather than silent - a hard failure would be
41
+ * worse than a slower direct-SQLite command.
42
+ */
43
+ daemonFallbackWarning?: string;
44
+ };
45
+ export declare function assertNoDaemonAllowed(env: Record<string, string | undefined>, buildMode?: "development" | "production"): void;
46
+ /** Exported for `openSynchronizeStores`, which enforces the same saved-login expiry precondition. */
47
+ export declare function isSessionExpired(expiresAt: string): boolean;
48
+ /**
49
+ * Opens a `StorageDriver` for the globally active saved login: a daemon-routed
50
+ * `LocalDaemonStore` for local (falling back to direct SQLite), or an
51
+ * authenticated `HttpStore` for remote. Callers do not choose the destination.
52
+ */
53
+ export declare function openStorageDriver(options?: OpenStorageDriverOptions): Promise<OpenStorageDriverResult>;
@@ -0,0 +1,71 @@
1
+ import { HttpStore } from "@agent-issues/core";
2
+ import { openLocalDaemonStore, openSqliteStore, resolveDatabasePath } from "@agent-issues/api-local";
3
+ import { getActiveSavedLogin } from "./auth-session.js";
4
+ import { BUILD_MODE } from "./build-mode.js";
5
+ import { spawnLocalDaemon } from "./daemon/local-daemon-store.js";
6
+ import { resolveProjectIdentity } from "./project-identity.js";
7
+ const NO_DAEMON_ENV_VAR = "AGENT_ISSUES_NO_DAEMON";
8
+ export function assertNoDaemonAllowed(env, buildMode = BUILD_MODE) {
9
+ if (env[NO_DAEMON_ENV_VAR] === "1" && buildMode === "production") {
10
+ throw new Error(`${NO_DAEMON_ENV_VAR} is only available in development builds.`);
11
+ }
12
+ }
13
+ /** Exported for `openSynchronizeStores`, which enforces the same saved-login expiry precondition. */
14
+ export function isSessionExpired(expiresAt) {
15
+ return Date.parse(expiresAt) <= Date.now();
16
+ }
17
+ /**
18
+ * Opens a `StorageDriver` for the globally active saved login: a daemon-routed
19
+ * `LocalDaemonStore` for local (falling back to direct SQLite), or an
20
+ * authenticated `HttpStore` for remote. Callers do not choose the destination.
21
+ */
22
+ export async function openStorageDriver(options = {}) {
23
+ const env = options.env ?? process.env;
24
+ assertNoDaemonAllowed(env);
25
+ const currentWorkingDirectory = options.databaseOptions?.currentWorkingDirectory ?? process.cwd();
26
+ const { identity: projectIdentity } = resolveProjectIdentity(currentWorkingDirectory);
27
+ const activeLogin = await getActiveSavedLogin(options.authSessionOptions);
28
+ if (activeLogin.kind === "local") {
29
+ const dbPath = resolveDatabasePath(options.dbPath, options.databaseOptions);
30
+ if (env[NO_DAEMON_ENV_VAR] === "1") {
31
+ const { store } = await openSqliteStore(options.dbPath, { ...options.databaseOptions, projectIdentity });
32
+ return { store, backend: "local", dbPath };
33
+ }
34
+ try {
35
+ const store = await openLocalDaemonStore({
36
+ ...options.localDaemon,
37
+ spawn: options.localDaemon?.spawn ?? (() => spawnLocalDaemon({ dbPath: options.localDaemon?.dbPath ?? dbPath })),
38
+ dbPath: options.localDaemon?.dbPath ?? dbPath,
39
+ projectIdentity,
40
+ workspaceRoot: currentWorkingDirectory
41
+ });
42
+ return { store, backend: "local", dbPath };
43
+ }
44
+ catch (error) {
45
+ const { store } = await openSqliteStore(options.dbPath, { ...options.databaseOptions, projectIdentity });
46
+ const message = error instanceof Error ? error.message : String(error);
47
+ return {
48
+ store,
49
+ backend: "local",
50
+ dbPath,
51
+ daemonFallbackWarning: `Could not reach the local daemon (${message}); falling back to direct SQLite access.`
52
+ };
53
+ }
54
+ }
55
+ if (isSessionExpired(activeLogin.expiresAt)) {
56
+ throw new Error(`Saved login "${activeLogin.name}" has expired. Run "agent-issues auth login --name ${activeLogin.name} --url ${activeLogin.serviceUrl}" to refresh it.`);
57
+ }
58
+ const store = new HttpStore({
59
+ baseUrl: activeLogin.serviceUrl,
60
+ bearerToken: activeLogin.accessToken,
61
+ tenantId: activeLogin.tenantId,
62
+ projectIdentity
63
+ });
64
+ return {
65
+ store,
66
+ backend: "cloud",
67
+ dbPath: activeLogin.serviceUrl,
68
+ cloudConnection: { baseUrl: activeLogin.serviceUrl, bearerToken: activeLogin.accessToken, tenantId: activeLogin.tenantId }
69
+ };
70
+ }
71
+ //# sourceMappingURL=open-storage-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-storage-driver.js","sourceRoot":"","sources":["../src/open-storage-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type StorageDriver } from "@agent-issues/core";
2
+ import { type DatabaseLocationOptions } from "@agent-issues/api-local";
3
+ import { type SavedLoginStoreOptions } from "./auth-session.js";
4
+ export type OpenSynchronizeStoresOptions = {
5
+ /** The local source database path. */
6
+ dbPath?: string;
7
+ databaseOptions?: DatabaseLocationOptions;
8
+ authSessionOptions?: SavedLoginStoreOptions;
9
+ };
10
+ export type OpenSynchronizeStoresResult = {
11
+ local: StorageDriver;
12
+ cloud: StorageDriver;
13
+ destination: {
14
+ name: string;
15
+ serviceUrl: string;
16
+ tenantId: string;
17
+ };
18
+ };
19
+ /**
20
+ * Opens the local source and the globally active remote saved login as the
21
+ * synchronization destination. Synchronization cannot target the local login
22
+ * because its source is already local.
23
+ */
24
+ export declare function openSynchronizeStores(options?: OpenSynchronizeStoresOptions): Promise<OpenSynchronizeStoresResult>;
@@ -0,0 +1,34 @@
1
+ import { HttpStore } from "@agent-issues/core";
2
+ import { openSqliteStore } from "@agent-issues/api-local";
3
+ import { getActiveSavedLogin } from "./auth-session.js";
4
+ import { isSessionExpired } from "./open-storage-driver.js";
5
+ import { resolveProjectIdentity } from "./project-identity.js";
6
+ /**
7
+ * Opens the local source and the globally active remote saved login as the
8
+ * synchronization destination. Synchronization cannot target the local login
9
+ * because its source is already local.
10
+ */
11
+ export async function openSynchronizeStores(options = {}) {
12
+ const currentWorkingDirectory = options.databaseOptions?.currentWorkingDirectory ?? process.cwd();
13
+ const { identity: projectIdentity } = resolveProjectIdentity(currentWorkingDirectory);
14
+ const activeLogin = await getActiveSavedLogin(options.authSessionOptions);
15
+ if (activeLogin.kind === "local") {
16
+ throw new Error('Synchronization requires an active remote saved login. Run "agent-issues auth switch <name>" or "agent-issues auth login" first.');
17
+ }
18
+ if (isSessionExpired(activeLogin.expiresAt)) {
19
+ throw new Error(`Saved login "${activeLogin.name}" has expired. Run "agent-issues auth login --name ${activeLogin.name} --url ${activeLogin.serviceUrl}" to refresh it.`);
20
+ }
21
+ const { store: local } = await openSqliteStore(options.dbPath, { ...options.databaseOptions, projectIdentity });
22
+ const cloud = new HttpStore({
23
+ baseUrl: activeLogin.serviceUrl,
24
+ bearerToken: activeLogin.accessToken,
25
+ tenantId: activeLogin.tenantId,
26
+ projectIdentity
27
+ });
28
+ return {
29
+ local,
30
+ cloud,
31
+ destination: { name: activeLogin.name, serviceUrl: activeLogin.serviceUrl, tenantId: activeLogin.tenantId }
32
+ };
33
+ }
34
+ //# sourceMappingURL=open-synchronize-stores.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-synchronize-stores.js","sourceRoot":"","sources":["../src/open-synchronize-stores.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAgC,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAA+B,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAe/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAO,GAAiC,EAAE;IACrF,MAAM,uBAAuB,GAAG,OAAO,CAAC,eAAe,EAAE,uBAAuB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAClG,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE1E,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,kIAAkI,CAAC,CAAC;IACrJ,CAAC;IAED,IAAI,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACd,gBAAgB,WAAW,CAAC,IAAI,sDAAsD,WAAW,CAAC,IAAI,UAAU,WAAW,CAAC,UAAU,kBAAkB,CACxJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC,CAAC;IAChH,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC;QAC3B,OAAO,EAAE,WAAW,CAAC,UAAU;QAC/B,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,eAAe;KACf,CAAC,CAAC;IAEH,OAAO;QACN,KAAK;QACL,KAAK;QACL,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE;KAC3G,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ export type ProjectIdentitySource = "environment" | "folder-name" | "git-repository" | "package-json" | "project-file";
2
+ export type ProjectIdentityResolution = {
3
+ identity: string;
4
+ source: ProjectIdentitySource;
5
+ };
6
+ /**
7
+ * Dedicated, committed file carrying ONLY the explicit project identity
8
+ * override (ADR10/ADR18). This resolver reads exclusively the "projectIdentity"
9
+ * field and ignores everything else, so the file must never carry a cloud
10
+ * URL or credentials.
11
+ */
12
+ export declare const PROJECT_IDENTITY_FILENAME = ".agent-issues.json";
13
+ export declare const PROJECT_IDENTITY_FILENAME_WITHOUT_JSON = ".agent-issues";
14
+ export declare const PROJECT_IDENTITY_ENVIRONMENT_VARIABLE = "AGENT_ISSUES_PROJECT_IDENTITY";
15
+ /**
16
+ * Resolves a project's identity deterministically (ADR10), by precedence:
17
+ * environment override > dedicated project file > git repository name >
18
+ * package.json "name" > sanitized folder name. Anchored to the same
19
+ * workspace root as tenant resolution so the same repo (or any of its
20
+ * subdirectories) resolves to the same identity regardless of local
21
+ * checkout path.
22
+ */
23
+ export declare function resolveProjectIdentity(currentWorkingDirectory?: string, environment?: NodeJS.ProcessEnv): ProjectIdentityResolution;
@@ -0,0 +1,121 @@
1
+ import { existsSync, readFileSync, statSync } from "node:fs";
2
+ import path from "node:path";
3
+ import { resolveTenantRootPath, sanitizePathSegment } from "@agent-issues/api-local";
4
+ /**
5
+ * Dedicated, committed file carrying ONLY the explicit project identity
6
+ * override (ADR10/ADR18). This resolver reads exclusively the "projectIdentity"
7
+ * field and ignores everything else, so the file must never carry a cloud
8
+ * URL or credentials.
9
+ */
10
+ export const PROJECT_IDENTITY_FILENAME = ".agent-issues.json";
11
+ export const PROJECT_IDENTITY_FILENAME_WITHOUT_JSON = ".agent-issues";
12
+ export const PROJECT_IDENTITY_ENVIRONMENT_VARIABLE = "AGENT_ISSUES_PROJECT_IDENTITY";
13
+ /**
14
+ * Resolves a project's identity deterministically (ADR10), by precedence:
15
+ * environment override > dedicated project file > git repository name >
16
+ * package.json "name" > sanitized folder name. Anchored to the same
17
+ * workspace root as tenant resolution so the same repo (or any of its
18
+ * subdirectories) resolves to the same identity regardless of local
19
+ * checkout path.
20
+ */
21
+ export function resolveProjectIdentity(currentWorkingDirectory = process.cwd(), environment = process.env) {
22
+ const root = resolveTenantRootPath(currentWorkingDirectory);
23
+ return (resolveFromEnvironment(environment) ??
24
+ resolveFromProjectFile(root) ??
25
+ resolveFromGitRepository(root) ??
26
+ resolveFromPackageJson(root) ??
27
+ resolveFromFolderName(root));
28
+ }
29
+ function resolveFromEnvironment(environment) {
30
+ const project = environment[PROJECT_IDENTITY_ENVIRONMENT_VARIABLE];
31
+ if (!project)
32
+ return undefined;
33
+ const identity = sanitizePathSegment(project);
34
+ if (!identity)
35
+ return undefined;
36
+ return { identity, source: "environment" };
37
+ }
38
+ function resolveFromProjectFile(root) {
39
+ for (const projectIdentityFilename of [PROJECT_IDENTITY_FILENAME, PROJECT_IDENTITY_FILENAME_WITHOUT_JSON]) {
40
+ const projectFilePath = path.join(root, projectIdentityFilename);
41
+ if (!existsSync(projectFilePath))
42
+ continue;
43
+ const projectIdentity = parseJsonStringField(readFileSync(projectFilePath, "utf8"), "projectIdentity");
44
+ if (!projectIdentity)
45
+ continue;
46
+ const identity = sanitizePathSegment(projectIdentity);
47
+ if (!identity)
48
+ continue;
49
+ return { identity, source: "project-file" };
50
+ }
51
+ return undefined;
52
+ }
53
+ function resolveFromPackageJson(root) {
54
+ const packageJsonPath = path.join(root, "package.json");
55
+ if (!existsSync(packageJsonPath))
56
+ return undefined;
57
+ const name = parseJsonStringField(readFileSync(packageJsonPath, "utf8"), "name");
58
+ if (!name)
59
+ return undefined;
60
+ const identity = sanitizePathSegment(name);
61
+ if (!identity)
62
+ return undefined;
63
+ return { identity, source: "package-json" };
64
+ }
65
+ function parseJsonStringField(contents, field) {
66
+ try {
67
+ const parsed = JSON.parse(contents);
68
+ if (typeof parsed !== "object" || parsed === null)
69
+ return undefined;
70
+ const value = parsed[field];
71
+ return typeof value === "string" ? value : undefined;
72
+ }
73
+ catch {
74
+ return undefined;
75
+ }
76
+ }
77
+ function resolveFromGitRepository(root) {
78
+ const gitConfigPath = resolveGitConfigPath(root);
79
+ if (!existsSync(gitConfigPath))
80
+ return undefined;
81
+ const repositoryName = extractOriginRepositoryName(readFileSync(gitConfigPath, "utf8"));
82
+ if (!repositoryName)
83
+ return undefined;
84
+ const identity = sanitizePathSegment(repositoryName);
85
+ if (!identity)
86
+ return undefined;
87
+ return { identity, source: "git-repository" };
88
+ }
89
+ function resolveGitConfigPath(root) {
90
+ const gitPath = path.join(root, ".git");
91
+ if (!existsSync(gitPath) || statSync(gitPath).isDirectory()) {
92
+ return path.join(gitPath, "config");
93
+ }
94
+ const gitDirectory = readFileSync(gitPath, "utf8").match(/^gitdir:\s*(.+)\s*$/m)?.[1];
95
+ const resolvedGitDirectory = gitDirectory ? path.resolve(root, gitDirectory) : gitPath;
96
+ const worktreeConfigPath = path.join(resolvedGitDirectory, "config");
97
+ if (existsSync(worktreeConfigPath)) {
98
+ return worktreeConfigPath;
99
+ }
100
+ const commonDirectoryPath = path.join(resolvedGitDirectory, "commondir");
101
+ if (!existsSync(commonDirectoryPath)) {
102
+ return worktreeConfigPath;
103
+ }
104
+ return path.join(path.resolve(resolvedGitDirectory, readFileSync(commonDirectoryPath, "utf8").trim()), "config");
105
+ }
106
+ function extractOriginRepositoryName(gitConfigContents) {
107
+ const originSectionMatch = gitConfigContents.match(/\[remote "origin"]([\s\S]*?)(?:\n\[|$)/);
108
+ if (!originSectionMatch)
109
+ return undefined;
110
+ const urlMatch = originSectionMatch[1].match(/^\s*url\s*=\s*(.+)$/m);
111
+ if (!urlMatch)
112
+ return undefined;
113
+ const url = urlMatch[1].trim();
114
+ const lastSegment = url.split(/[/:]/).pop() ?? "";
115
+ return lastSegment.replace(/\.git$/, "");
116
+ }
117
+ function resolveFromFolderName(root) {
118
+ const identity = sanitizePathSegment(path.basename(root)) || "workspace";
119
+ return { identity, source: "folder-name" };
120
+ }
121
+ //# sourceMappingURL=project-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-identity.js","sourceRoot":"","sources":["../src/project-identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface RuntimeAccessBoundaryViolation {
2
+ file: string;
3
+ line: number;
4
+ driver: "pg" | "better-sqlite3";
5
+ method: "query" | "prepare" | "exec" | "transaction" | "pragma" | "all" | "get" | "run" | "import" | "construct" | "db" | "identityToken" | "$client";
6
+ }
7
+ export declare function findRuntimeAccessBoundaryViolations(root: string): RuntimeAccessBoundaryViolation[];