agent-issues 0.0.121 → 0.0.127

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 (166) 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-Cx-fLU3e.js → index-BRvRYF7I.js} +195 -146
  8. package/site/dist/index.html +1 -1
  9. package/dist/agent-installer.d.ts +0 -49
  10. package/dist/agent-installer.js +0 -171
  11. package/dist/agent-installer.js.map +0 -1
  12. package/dist/auth-session.d.ts +0 -40
  13. package/dist/auth-session.js +0 -107
  14. package/dist/auth-session.js.map +0 -1
  15. package/dist/body-backfill.d.ts +0 -26
  16. package/dist/body-backfill.js +0 -219
  17. package/dist/body-backfill.js.map +0 -1
  18. package/dist/build-mode.d.ts +0 -1
  19. package/dist/build-mode.js +0 -1
  20. package/dist/build-mode.js.map +0 -1
  21. package/dist/cli/commands/auth.d.ts +0 -61
  22. package/dist/cli/commands/auth.js +0 -134
  23. package/dist/cli/commands/auth.js.map +0 -1
  24. package/dist/cli/commands/backfill.d.ts +0 -8
  25. package/dist/cli/commands/backfill.js +0 -36
  26. package/dist/cli/commands/backfill.js.map +0 -1
  27. package/dist/cli/commands/comments.d.ts +0 -34
  28. package/dist/cli/commands/comments.js +0 -124
  29. package/dist/cli/commands/comments.js.map +0 -1
  30. package/dist/cli/commands/context.d.ts +0 -13
  31. package/dist/cli/commands/context.js +0 -156
  32. package/dist/cli/commands/context.js.map +0 -1
  33. package/dist/cli/commands/entities.d.ts +0 -91
  34. package/dist/cli/commands/entities.js +0 -420
  35. package/dist/cli/commands/entities.js.map +0 -1
  36. package/dist/cli/commands/export.d.ts +0 -20
  37. package/dist/cli/commands/export.js +0 -98
  38. package/dist/cli/commands/export.js.map +0 -1
  39. package/dist/cli/commands/fallback.d.ts +0 -6
  40. package/dist/cli/commands/fallback.js +0 -10
  41. package/dist/cli/commands/fallback.js.map +0 -1
  42. package/dist/cli/commands/handoff.d.ts +0 -1
  43. package/dist/cli/commands/handoff.js +0 -2
  44. package/dist/cli/commands/handoff.js.map +0 -1
  45. package/dist/cli/commands/installers.d.ts +0 -37
  46. package/dist/cli/commands/installers.js +0 -78
  47. package/dist/cli/commands/installers.js.map +0 -1
  48. package/dist/cli/commands/kanban.d.ts +0 -8
  49. package/dist/cli/commands/kanban.js +0 -83
  50. package/dist/cli/commands/kanban.js.map +0 -1
  51. package/dist/cli/commands/meta.d.ts +0 -14
  52. package/dist/cli/commands/meta.js +0 -33
  53. package/dist/cli/commands/meta.js.map +0 -1
  54. package/dist/cli/commands/plan-entries.d.ts +0 -30
  55. package/dist/cli/commands/plan-entries.js +0 -94
  56. package/dist/cli/commands/plan-entries.js.map +0 -1
  57. package/dist/cli/commands/site.d.ts +0 -29
  58. package/dist/cli/commands/site.js +0 -89
  59. package/dist/cli/commands/site.js.map +0 -1
  60. package/dist/cli/commands/sql.d.ts +0 -6
  61. package/dist/cli/commands/sql.js +0 -21
  62. package/dist/cli/commands/sql.js.map +0 -1
  63. package/dist/cli/commands/synchronize.d.ts +0 -12
  64. package/dist/cli/commands/synchronize.js +0 -31
  65. package/dist/cli/commands/synchronize.js.map +0 -1
  66. package/dist/cli/commands/tenants.d.ts +0 -29
  67. package/dist/cli/commands/tenants.js +0 -101
  68. package/dist/cli/commands/tenants.js.map +0 -1
  69. package/dist/cli/index.d.ts +0 -4
  70. package/dist/cli/index.js +0 -120
  71. package/dist/cli/index.js.map +0 -1
  72. package/dist/cli/renderers.d.ts +0 -250
  73. package/dist/cli/renderers.js +0 -286
  74. package/dist/cli/renderers.js.map +0 -1
  75. package/dist/cli/shared.d.ts +0 -97
  76. package/dist/cli/shared.js +0 -192
  77. package/dist/cli/shared.js.map +0 -1
  78. package/dist/cli.d.ts +0 -11
  79. package/dist/cli.js.map +0 -1
  80. package/dist/context-cli.d.ts +0 -16
  81. package/dist/context-cli.js +0 -131
  82. package/dist/context-cli.js.map +0 -1
  83. package/dist/daemon/daemon-lifecycle.d.ts +0 -1
  84. package/dist/daemon/daemon-lifecycle.js +0 -2
  85. package/dist/daemon/daemon-lifecycle.js.map +0 -1
  86. package/dist/daemon/daemon-main.d.ts +0 -14
  87. package/dist/daemon/daemon-main.js +0 -30
  88. package/dist/daemon/daemon-main.js.map +0 -1
  89. package/dist/daemon/local-daemon-store.d.ts +0 -21
  90. package/dist/daemon/local-daemon-store.js +0 -31
  91. package/dist/daemon/local-daemon-store.js.map +0 -1
  92. package/dist/entity-projection.d.ts +0 -141
  93. package/dist/entity-projection.js +0 -147
  94. package/dist/entity-projection.js.map +0 -1
  95. package/dist/entra-device-login.d.ts +0 -12
  96. package/dist/entra-device-login.js +0 -40
  97. package/dist/entra-device-login.js.map +0 -1
  98. package/dist/export-files.d.ts +0 -24
  99. package/dist/export-files.js +0 -230
  100. package/dist/export-files.js.map +0 -1
  101. package/dist/export-markdown.d.ts +0 -24
  102. package/dist/export-markdown.js +0 -343
  103. package/dist/export-markdown.js.map +0 -1
  104. package/dist/help.d.ts +0 -112
  105. package/dist/help.js +0 -1430
  106. package/dist/help.js.map +0 -1
  107. package/dist/kanban/assets.d.ts +0 -3
  108. package/dist/kanban/assets.js +0 -37
  109. package/dist/kanban/assets.js.map +0 -1
  110. package/dist/kanban/index.d.ts +0 -1
  111. package/dist/kanban/index.js +0 -2
  112. package/dist/kanban/index.js.map +0 -1
  113. package/dist/kanban/server.d.ts +0 -28
  114. package/dist/kanban/server.js +0 -118
  115. package/dist/kanban/server.js.map +0 -1
  116. package/dist/mcp-installer.d.ts +0 -32
  117. package/dist/mcp-installer.js +0 -118
  118. package/dist/mcp-installer.js.map +0 -1
  119. package/dist/mcp-server/index.d.ts +0 -11
  120. package/dist/mcp-server/index.js +0 -504
  121. package/dist/mcp-server/index.js.map +0 -1
  122. package/dist/mcp-server/index.test.d.ts +0 -1
  123. package/dist/mcp-server/index.test.js +0 -746
  124. package/dist/mcp-server/index.test.js.map +0 -1
  125. package/dist/mcp-server/mcp-tool-audit.d.ts +0 -6
  126. package/dist/mcp-server/mcp-tool-audit.js +0 -47
  127. package/dist/mcp-server/mcp-tool-audit.js.map +0 -1
  128. package/dist/mcp-server/stdio.d.ts +0 -2
  129. package/dist/mcp-server/stdio.js +0 -7
  130. package/dist/mcp-server/stdio.js.map +0 -1
  131. package/dist/mcp.d.ts +0 -2
  132. package/dist/mcp.js +0 -19
  133. package/dist/mcp.js.map +0 -1
  134. package/dist/open-storage-driver.d.ts +0 -55
  135. package/dist/open-storage-driver.js +0 -73
  136. package/dist/open-storage-driver.js.map +0 -1
  137. package/dist/open-synchronize-stores.d.ts +0 -24
  138. package/dist/open-synchronize-stores.js +0 -34
  139. package/dist/open-synchronize-stores.js.map +0 -1
  140. package/dist/project-identity.d.ts +0 -23
  141. package/dist/project-identity.js +0 -121
  142. package/dist/project-identity.js.map +0 -1
  143. package/dist/runtime-access-boundary.d.ts +0 -7
  144. package/dist/runtime-access-boundary.js +0 -182
  145. package/dist/runtime-access-boundary.js.map +0 -1
  146. package/dist/service-discovery.d.ts +0 -10
  147. package/dist/service-discovery.js +0 -64
  148. package/dist/service-discovery.js.map +0 -1
  149. package/dist/site/assets.d.ts +0 -4
  150. package/dist/site/assets.js +0 -46
  151. package/dist/site/assets.js.map +0 -1
  152. package/dist/site/cloud-events-relay.d.ts +0 -16
  153. package/dist/site/cloud-events-relay.js +0 -78
  154. package/dist/site/cloud-events-relay.js.map +0 -1
  155. package/dist/site/index.d.ts +0 -1
  156. package/dist/site/index.js +0 -2
  157. package/dist/site/index.js.map +0 -1
  158. package/dist/site/server.d.ts +0 -42
  159. package/dist/site/server.js +0 -632
  160. package/dist/site/server.js.map +0 -1
  161. package/dist/skill-installer.d.ts +0 -35
  162. package/dist/skill-installer.js +0 -180
  163. package/dist/skill-installer.js.map +0 -1
  164. package/dist/vitest-setup.d.ts +0 -1
  165. package/dist/vitest-setup.js +0 -7
  166. package/dist/vitest-setup.js.map +0 -1
@@ -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;
@@ -1,131 +0,0 @@
1
- export function toContextSearchTermsOnly(result) {
2
- return {
3
- query: result.query,
4
- view: result.view,
5
- conflictsOnly: result.conflictsOnly,
6
- duplicateTerms: result.duplicateTerms,
7
- terms: result.terms
8
- };
9
- }
10
- export function renderContextDetails(details) {
11
- const lines = [
12
- `${details.context.title} (${details.context.key})`,
13
- `Scope: ${details.context.scopeKind} ${details.context.scopeEntityId ?? "default"} ${details.context.scopeLabel}`,
14
- `Stored in database: ${details.context.exists ? "yes" : "not yet initialized"}`,
15
- `Summary: ${details.context.summary}`,
16
- `Updated: ${details.context.updatedAt ?? "never"}`,
17
- "Terms:"
18
- ];
19
- if (details.terms.length === 0) {
20
- lines.push("none");
21
- return lines.join("\n");
22
- }
23
- for (const term of details.terms) {
24
- lines.push(`- ${term.term}: ${term.definition}`);
25
- if (term.avoid.length > 0) {
26
- lines.push(` Avoid: ${term.avoid.join(", ")}`);
27
- }
28
- }
29
- return lines.join("\n");
30
- }
31
- export function renderContextDirectory(directory) {
32
- const sharedTitle = directory.shared?.context.title ?? "Project Context";
33
- const sharedKey = directory.shared?.context.key ?? "default";
34
- const lines = [
35
- `${sharedTitle} (${sharedKey})`,
36
- "Scope: project directory",
37
- `View: ${directory.view}`,
38
- `Query: ${directory.query.length > 0 ? directory.query : "none"}`,
39
- `Conflicts only: ${directory.conflictsOnly ? "yes" : "no"}`,
40
- `Shared context stored in database: ${directory.shared?.context.exists ? "yes" : "not matched or not initialized"}`,
41
- `Shared summary: ${directory.shared?.context.summary && directory.shared.context.summary.length > 0 ? directory.shared.context.summary : "none"}`,
42
- `Shared terms: ${directory.shared?.terms.length ?? 0}`,
43
- `Initiative contexts: ${directory.initiatives.length}`,
44
- `Discovered terms: ${directory.terms.length}`,
45
- `Duplicate labels across scopes: ${directory.duplicateTerms.length}`
46
- ];
47
- if (directory.view !== "global") {
48
- lines.push("", "Initiative contexts:");
49
- }
50
- if (directory.view !== "global" && directory.initiatives.length === 0) {
51
- lines.push("none");
52
- }
53
- else if (directory.view !== "global") {
54
- for (const details of directory.initiatives) {
55
- lines.push(`- ${details.context.scopeLabel} (${details.context.key}) ${details.context.exists ? "stored" : "implicit"} terms=${details.terms.length}`);
56
- if (details.context.summary.length > 0) {
57
- lines.push(` ${details.context.summary}`);
58
- }
59
- }
60
- }
61
- lines.push("", "Discovered terms:");
62
- if (directory.terms.length === 0) {
63
- lines.push("none");
64
- return lines.join("\n");
65
- }
66
- for (const entry of directory.terms) {
67
- lines.push(...renderContextTermEntry(entry));
68
- }
69
- return lines.join("\n");
70
- }
71
- export function renderContextSearchTermsOnly(result) {
72
- const lines = [
73
- "Matching context terms",
74
- `View: ${result.view}`,
75
- `Query: ${result.query.length > 0 ? result.query : "none"}`,
76
- `Conflicts only: ${result.conflictsOnly ? "yes" : "no"}`,
77
- `Matches: ${result.terms.length}`,
78
- `Duplicate labels across scopes: ${result.duplicateTerms.length}`,
79
- "",
80
- "Terms:"
81
- ];
82
- if (result.terms.length === 0) {
83
- lines.push("none");
84
- return lines.join("\n");
85
- }
86
- for (const entry of result.terms) {
87
- lines.push(...renderContextTermEntry(entry));
88
- }
89
- return lines.join("\n");
90
- }
91
- export function renderContextOutput(details) {
92
- return "shared" in details ? renderContextDirectory(details) : renderContextDetails(details);
93
- }
94
- export function renderContextList(result) {
95
- if (result.contexts.length === 0) {
96
- return "No contexts found.";
97
- }
98
- return result.contexts
99
- .map((item) => `${item.context.key} ${item.context.scopeKind} ${item.context.scopeEntityId ?? "default"} ${item.context.exists ? "stored" : "implicit"} terms=${item.termCount} ${item.context.scopeLabel}\n ${item.context.summary}`)
100
- .join("\n");
101
- }
102
- export function renderContextTermResult(result) {
103
- return [
104
- `${result.created ? "Defined" : "Updated"} ${result.term.term} in ${result.context.title} (${result.context.key})`,
105
- result.term.definition,
106
- result.term.avoid.length > 0 ? `Avoid: ${result.term.avoid.join(", ")}` : "Avoid: none"
107
- ].join("\n");
108
- }
109
- export function renderContextForgetResult(result) {
110
- return result.removed
111
- ? `Removed ${result.term} from ${result.context.title} (${result.context.key})`
112
- : `Context term not found: ${result.term}`;
113
- }
114
- function renderContextTermEntry(entry) {
115
- const warnings = [];
116
- if (entry.hasDuplicates) {
117
- warnings.push(`defined in ${entry.sources.length} scopes`);
118
- }
119
- if (entry.hasConflictingDefinitions) {
120
- warnings.push("conflicting definitions");
121
- }
122
- const lines = [`- ${entry.term}${warnings.length > 0 ? ` [${warnings.join("; ")}]` : ""}`];
123
- for (const source of entry.sources) {
124
- lines.push(` - ${source.scopeLabel}: ${source.definition}`);
125
- if (source.avoid.length > 0) {
126
- lines.push(` Avoid: ${source.avoid.join(", ")}`);
127
- }
128
- }
129
- return lines;
130
- }
131
- //# sourceMappingURL=context-cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-cli.js","sourceRoot":"","sources":["../src/context-cli.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from "@agent-issues/api-local";
@@ -1,2 +0,0 @@
1
- export * from "@agent-issues/api-local";
2
- //# sourceMappingURL=daemon-lifecycle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon-lifecycle.js","sourceRoot":"","sources":["../../src/daemon/daemon-lifecycle.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * The real entrypoint a self-respawned daemon process runs (ISS190,
3
- * ADR44): `spawnLocalDaemon` (`local-daemon-store.ts`) re-invokes this same
4
- * installed CLI with a hidden flag, and `cli.ts` recognizes that flag and
5
- * calls this instead of dispatching a normal command. `createLocalDaemonServer`
6
- * itself lives in `@agent-issues/api-local` - the daemon server implementation,
7
- * not the CLI's own concern. No `authProvider` override, so the daemon mints
8
- * and persists its own token (ISS184); no explicit `buildHash`, so it reads
9
- * its own `dist/build-info.json` (ISS188). The process stays alive because
10
- * the daemon's own listening HTTP server keeps the event loop open - it only
11
- * exits via the daemon's own idle-timeout or version/db-path-mismatch
12
- * drain-then-exit.
13
- */
14
- export declare function runDaemonProcess(): void;
@@ -1,30 +0,0 @@
1
- import { createLocalDaemonServer } from "@agent-issues/api-local";
2
- /**
3
- * Parses an optional `--db <path>` out of argv (appended by `spawnLocalDaemon`
4
- * when a client requested a different db than the currently-running daemon
5
- * serves, ISS190) so a respawned daemon opens the newly-requested db from its
6
- * very first request instead of the default.
7
- */
8
- function parseDbPathArg(argv) {
9
- const flagIndex = argv.indexOf("--db");
10
- if (flagIndex === -1)
11
- return undefined;
12
- return argv[flagIndex + 1];
13
- }
14
- /**
15
- * The real entrypoint a self-respawned daemon process runs (ISS190,
16
- * ADR44): `spawnLocalDaemon` (`local-daemon-store.ts`) re-invokes this same
17
- * installed CLI with a hidden flag, and `cli.ts` recognizes that flag and
18
- * calls this instead of dispatching a normal command. `createLocalDaemonServer`
19
- * itself lives in `@agent-issues/api-local` - the daemon server implementation,
20
- * not the CLI's own concern. No `authProvider` override, so the daemon mints
21
- * and persists its own token (ISS184); no explicit `buildHash`, so it reads
22
- * its own `dist/build-info.json` (ISS188). The process stays alive because
23
- * the daemon's own listening HTTP server keeps the event loop open - it only
24
- * exits via the daemon's own idle-timeout or version/db-path-mismatch
25
- * drain-then-exit.
26
- */
27
- export function runDaemonProcess() {
28
- createLocalDaemonServer({ dbPath: parseDbPathArg(process.argv) });
29
- }
30
- //# sourceMappingURL=daemon-main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon-main.js","sourceRoot":"","sources":["../../src/daemon/daemon-main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAc;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB;IAC/B,uBAAuB,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Hidden argv flag a self-respawned daemon process recognizes (ISS190): the
3
- * runs the daemon instead of a normal command. Exported so core and the CLI
4
- * entrypoint agree on the exact same literal without either hardcoding it
5
- * independently.
6
- */
7
- export declare const LOCAL_DAEMON_SPAWN_FLAG = "--agent-issues-run-daemon";
8
- /**
9
- * Default `spawn` for the local daemon (ISS190, ADR44): re-invokes this
10
- * exact running script (`process.argv[1]`) as a detached, unref'd child
11
- * with the hidden daemon flag appended. Core has no knowledge of which
12
- * package's entrypoint is actually running - it doesn't need to, since
13
- * "this same install, running itself again in daemon mode" always resolves
14
- * correctly regardless of which CLI/site-server process happened to invoke
15
- * it. When `dbPath` is supplied (a client requesting a different `--db`
16
- * than the currently-running daemon serves), it's appended so the freshly
17
- * spawned daemon opens that db instead of the default.
18
- */
19
- export declare function spawnLocalDaemon(options?: {
20
- dbPath?: string;
21
- }): void;
@@ -1,31 +0,0 @@
1
- import { spawn as spawnChildProcess } from "node:child_process";
2
- /**
3
- * Hidden argv flag a self-respawned daemon process recognizes (ISS190): the
4
- * runs the daemon instead of a normal command. Exported so core and the CLI
5
- * entrypoint agree on the exact same literal without either hardcoding it
6
- * independently.
7
- */
8
- export const LOCAL_DAEMON_SPAWN_FLAG = "--agent-issues-run-daemon";
9
- /**
10
- * Default `spawn` for the local daemon (ISS190, ADR44): re-invokes this
11
- * exact running script (`process.argv[1]`) as a detached, unref'd child
12
- * with the hidden daemon flag appended. Core has no knowledge of which
13
- * package's entrypoint is actually running - it doesn't need to, since
14
- * "this same install, running itself again in daemon mode" always resolves
15
- * correctly regardless of which CLI/site-server process happened to invoke
16
- * it. When `dbPath` is supplied (a client requesting a different `--db`
17
- * than the currently-running daemon serves), it's appended so the freshly
18
- * spawned daemon opens that db instead of the default.
19
- */
20
- export function spawnLocalDaemon(options) {
21
- const entrypoint = process.argv[1];
22
- if (!entrypoint) {
23
- throw new Error("Cannot spawn the local daemon: no process entrypoint (process.argv[1]) is available.");
24
- }
25
- const args = [entrypoint, LOCAL_DAEMON_SPAWN_FLAG];
26
- if (options?.dbPath !== undefined) {
27
- args.push("--db", options.dbPath);
28
- }
29
- spawnChildProcess(process.execPath, args, { detached: true, stdio: "ignore" }).unref();
30
- }
31
- //# sourceMappingURL=local-daemon-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-daemon-store.js","sourceRoot":"","sources":["../../src/daemon/local-daemon-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA6B;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IACnD,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACxF,CAAC"}
@@ -1,141 +0,0 @@
1
- import type { DeleteResult, EntityDetails, EntityKind, EntityRecord, EntityRelations, EntitySummary, LinkResult, MaterializedContextRevision, MaterializedContextTermRevision, MaterializedEntityRevision, MoveResult, QueryEntityParentGroup, RelationType, StatusUpdateResult, ContextWriteResult, DefineContextTermAcknowledgement, ForgetContextTermResult, UnlinkResult } from "@agent-issues/core";
2
- export type CompactEntity = {
3
- id: string;
4
- reference: string;
5
- kind: EntityKind;
6
- status: string;
7
- title: string;
8
- };
9
- export type CompactRelation = {
10
- type: RelationType;
11
- entity: CompactEntity;
12
- };
13
- export type CompactEntityDetails = {
14
- entity: CompactEntity;
15
- incoming: CompactRelation[];
16
- outgoing: CompactRelation[];
17
- planEntries: EntityDetails["planEntries"];
18
- };
19
- export type CompactEntityList = {
20
- items: CompactEntity[];
21
- total: number;
22
- parentGroups?: Array<{
23
- parent: CompactEntity;
24
- items: CompactEntity[];
25
- }>;
26
- /** Only present for issue lists; see `QueryEntitiesResult.openBlockers`. */
27
- openBlockers?: Record<string, string[]>;
28
- };
29
- export type CompactNextWorkItem = {
30
- issue: CompactEntity;
31
- blockers: string[];
32
- unblocks: string[];
33
- };
34
- export type CompactNextWork = {
35
- initiative: CompactEntity;
36
- available: CompactNextWorkItem[];
37
- blocked: CompactNextWorkItem[];
38
- };
39
- export type CompactCreateAcknowledgement = {
40
- operation: "create";
41
- id: string;
42
- reference: string;
43
- status: string;
44
- revision: number;
45
- };
46
- export type CompactEditAcknowledgement = {
47
- operation: "edit";
48
- reference: string;
49
- revision: number;
50
- };
51
- export declare function toCompactEntity(entity: EntitySummary): CompactEntity;
52
- export declare function toCompactCreateAcknowledgement(entity: EntitySummary): CompactCreateAcknowledgement;
53
- export declare function toCompactEditAcknowledgement(entity: EntityRecord): CompactEditAcknowledgement;
54
- export declare function toCompactStatusAcknowledgement(operation: "archive" | "status", result: StatusUpdateResult): {
55
- operation: "archive" | "status";
56
- reference: string;
57
- previousStatus: string;
58
- status: string;
59
- revision: number;
60
- };
61
- export declare function toCompactDeleteAcknowledgement(result: DeleteResult): {
62
- operation: "delete";
63
- reference: string;
64
- removed: boolean;
65
- };
66
- export declare function toCompactMoveAcknowledgement(result: MoveResult): {
67
- operation: "move";
68
- reference: string;
69
- previousParentId: string | null;
70
- newParentId: string;
71
- type: "blocks" | "constrains" | "contains" | "creates" | "decomposes" | "fixes" | "handsOff" | "informs" | "owns" | "records" | "relatesTo" | "resolves" | "supersedes" | "taggedWith" | "tracks";
72
- revision: number;
73
- };
74
- export declare function toCompactLinkAcknowledgement(operation: "link" | "unlink", result: LinkResult | UnlinkResult): {
75
- operation: "link" | "unlink";
76
- fromId: string;
77
- toId: string;
78
- type: "blocks" | "constrains" | "contains" | "creates" | "decomposes" | "fixes" | "handsOff" | "informs" | "owns" | "records" | "relatesTo" | "resolves" | "supersedes" | "taggedWith" | "tracks";
79
- created: boolean;
80
- } | {
81
- operation: "link" | "unlink";
82
- fromId: string;
83
- toId: string;
84
- type: "blocks" | "constrains" | "contains" | "creates" | "decomposes" | "fixes" | "handsOff" | "informs" | "owns" | "records" | "relatesTo" | "resolves" | "supersedes" | "taggedWith" | "tracks";
85
- removed: boolean;
86
- };
87
- export declare function toCompactEntityRestoreAcknowledgement(result: MaterializedEntityRevision): {
88
- operation: "restore";
89
- id: string;
90
- revision: number;
91
- restoredFromRevision: number | null;
92
- };
93
- export declare function toCompactContextSetAcknowledgement(result: ContextWriteResult): {
94
- operation: "context-set";
95
- reference: string;
96
- revision: number;
97
- };
98
- export declare function toCompactContextDefineAcknowledgement(result: DefineContextTermAcknowledgement): {
99
- operation: "context-define";
100
- reference: string;
101
- contextReference: string;
102
- term: string;
103
- created: boolean;
104
- revision: number;
105
- };
106
- export declare function toCompactContextForgetAcknowledgement(result: ForgetContextTermResult): {
107
- operation: "context-forget";
108
- reference: string;
109
- term: string;
110
- removed: boolean;
111
- revision?: number | undefined;
112
- };
113
- export declare function toCompactContextRestoreAcknowledgement(result: MaterializedContextRevision): {
114
- operation: "context-restore";
115
- contextKey: string;
116
- revision: number;
117
- restoredFromRevision: number | null;
118
- };
119
- export declare function toCompactContextTermRestoreAcknowledgement(result: MaterializedContextTermRevision): {
120
- operation: "context-term-restore";
121
- id: string;
122
- contextKey: string;
123
- term: string;
124
- revision: number;
125
- restoredFromRevision: number | null;
126
- };
127
- export declare function toCompactEntityDetails(details: EntityDetails | EntityRelations): CompactEntityDetails;
128
- export declare function toCompactEntityList(entities: EntitySummary[], total?: number, openBlockers?: Record<string, string[]>, parentGroups?: QueryEntityParentGroup[]): CompactEntityList;
129
- export declare function toCompactNextWork(result: {
130
- initiative: EntityRecord;
131
- available: Array<{
132
- issue: EntityRecord;
133
- blockers: string[];
134
- unblocks: string[];
135
- }>;
136
- blocked: Array<{
137
- issue: EntityRecord;
138
- blockers: string[];
139
- unblocks: string[];
140
- }>;
141
- }): CompactNextWork;