@namzu/sdk 52.1.0 → 52.3.0

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 (149) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +1 -1
  3. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  4. package/dist/bridge/a2a/mapper.js +3 -0
  5. package/dist/bridge/a2a/mapper.js.map +1 -1
  6. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  7. package/dist/bridge/sse/mapper.js +18 -0
  8. package/dist/bridge/sse/mapper.js.map +1 -1
  9. package/dist/connector/tools/adapter.d.ts +2 -2
  10. package/dist/contracts/a2a.d.ts +92 -92
  11. package/dist/contracts/session/api.d.ts +1 -1
  12. package/dist/contracts/session/api.d.ts.map +1 -1
  13. package/dist/index.d.ts +4 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/manager/resident/learning.d.ts +6 -6
  18. package/dist/manager/resident/store.d.ts +4 -4
  19. package/dist/pals/activity/subscription-schema.d.ts +48 -48
  20. package/dist/pals/channels/routing.d.ts +1 -1
  21. package/dist/pals/channels/schema.d.ts +7 -7
  22. package/dist/pals/communication/ingress-schema.d.ts +224 -224
  23. package/dist/pals/communication/schema.d.ts +18 -18
  24. package/dist/peers/protocol.d.ts +36 -36
  25. package/dist/public-runtime.d.ts +2 -1
  26. package/dist/public-runtime.d.ts.map +1 -1
  27. package/dist/public-runtime.js +1 -1
  28. package/dist/public-runtime.js.map +1 -1
  29. package/dist/public-tools.d.ts +3 -1
  30. package/dist/public-tools.d.ts.map +1 -1
  31. package/dist/public-tools.js +7 -1
  32. package/dist/public-tools.js.map +1 -1
  33. package/dist/runtime/jobs/awaited-jobs.d.ts +59 -2
  34. package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -1
  35. package/dist/runtime/jobs/awaited-jobs.js +108 -5
  36. package/dist/runtime/jobs/awaited-jobs.js.map +1 -1
  37. package/dist/runtime/jobs/monitor-stream.d.ts +96 -0
  38. package/dist/runtime/jobs/monitor-stream.d.ts.map +1 -0
  39. package/dist/runtime/jobs/monitor-stream.js +221 -0
  40. package/dist/runtime/jobs/monitor-stream.js.map +1 -0
  41. package/dist/runtime/jobs/registry.d.ts +96 -0
  42. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  43. package/dist/runtime/jobs/registry.js +203 -20
  44. package/dist/runtime/jobs/registry.js.map +1 -1
  45. package/dist/runtime/query/executor.d.ts +10 -0
  46. package/dist/runtime/query/executor.d.ts.map +1 -1
  47. package/dist/runtime/query/executor.js +7 -0
  48. package/dist/runtime/query/executor.js.map +1 -1
  49. package/dist/runtime/query/index.d.ts +18 -0
  50. package/dist/runtime/query/index.d.ts.map +1 -1
  51. package/dist/runtime/query/index.js +94 -3
  52. package/dist/runtime/query/index.js.map +1 -1
  53. package/dist/runtime/query/iteration/outstanding-work.d.ts +14 -0
  54. package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
  55. package/dist/runtime/query/iteration/outstanding-work.js +64 -3
  56. package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
  57. package/dist/runtime/query/iteration/phases/context.d.ts +9 -0
  58. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  59. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  60. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  61. package/dist/runtime/query/iteration/phases/tool-review.js +11 -2
  62. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  63. package/dist/runtime/query/release-turn.d.ts.map +1 -1
  64. package/dist/runtime/query/release-turn.js +35 -0
  65. package/dist/runtime/query/release-turn.js.map +1 -1
  66. package/dist/runtime/query/steering.d.ts +35 -0
  67. package/dist/runtime/query/steering.d.ts.map +1 -1
  68. package/dist/runtime/query/steering.js +121 -0
  69. package/dist/runtime/query/steering.js.map +1 -1
  70. package/dist/runtime/query/tooling.d.ts +5 -0
  71. package/dist/runtime/query/tooling.d.ts.map +1 -1
  72. package/dist/runtime/query/tooling.js +5 -0
  73. package/dist/runtime/query/tooling.js.map +1 -1
  74. package/dist/runtime/system-events.d.ts +9 -0
  75. package/dist/runtime/system-events.d.ts.map +1 -1
  76. package/dist/runtime/system-events.js +12 -0
  77. package/dist/runtime/system-events.js.map +1 -1
  78. package/dist/tools/builtins/bash.d.ts +3 -0
  79. package/dist/tools/builtins/bash.d.ts.map +1 -1
  80. package/dist/tools/builtins/bash.js +3 -2
  81. package/dist/tools/builtins/bash.js.map +1 -1
  82. package/dist/tools/builtins/browser.d.ts +4 -4
  83. package/dist/tools/builtins/code-analysis.d.ts +49 -0
  84. package/dist/tools/builtins/code-analysis.d.ts.map +1 -0
  85. package/dist/tools/builtins/code-analysis.js +409 -0
  86. package/dist/tools/builtins/code-analysis.js.map +1 -0
  87. package/dist/tools/builtins/computer-use.d.ts +24 -24
  88. package/dist/tools/builtins/index.d.ts +2 -0
  89. package/dist/tools/builtins/index.d.ts.map +1 -1
  90. package/dist/tools/builtins/index.js +2 -0
  91. package/dist/tools/builtins/index.js.map +1 -1
  92. package/dist/tools/builtins/job.d.ts.map +1 -1
  93. package/dist/tools/builtins/job.js +6 -2
  94. package/dist/tools/builtins/job.js.map +1 -1
  95. package/dist/tools/builtins/lsp.d.ts +1 -1
  96. package/dist/tools/builtins/monitor.d.ts +24 -0
  97. package/dist/tools/builtins/monitor.d.ts.map +1 -0
  98. package/dist/tools/builtins/monitor.js +167 -0
  99. package/dist/tools/builtins/monitor.js.map +1 -0
  100. package/dist/tools/builtins/skill.d.ts +2 -2
  101. package/dist/tools/builtins/wait-for-job.d.ts +1 -1
  102. package/dist/turn/reporter.d.ts.map +1 -1
  103. package/dist/turn/reporter.js +8 -0
  104. package/dist/turn/reporter.js.map +1 -1
  105. package/dist/types/code-analysis/index.d.ts +299 -0
  106. package/dist/types/code-analysis/index.d.ts.map +1 -0
  107. package/dist/types/code-analysis/index.js +30 -0
  108. package/dist/types/code-analysis/index.js.map +1 -0
  109. package/dist/types/plugin/index.d.ts +6 -6
  110. package/dist/types/session/events.d.ts +30 -4
  111. package/dist/types/session/events.d.ts.map +1 -1
  112. package/dist/types/session/events.js +6 -1
  113. package/dist/types/session/events.js.map +1 -1
  114. package/dist/types/session/records.d.ts +129 -129
  115. package/dist/types/session/records.d.ts.map +1 -1
  116. package/dist/types/session/records.js +3 -2
  117. package/dist/types/session/records.js.map +1 -1
  118. package/dist/types/tool/index.d.ts +34 -0
  119. package/dist/types/tool/index.d.ts.map +1 -1
  120. package/dist/types/tool/index.js.map +1 -1
  121. package/package.json +2 -2
  122. package/src/bridge/a2a/mapper.ts +3 -0
  123. package/src/bridge/sse/mapper.ts +18 -0
  124. package/src/contracts/session/api.ts +1 -0
  125. package/src/index.ts +23 -0
  126. package/src/public-runtime.ts +28 -0
  127. package/src/public-tools.ts +16 -0
  128. package/src/runtime/jobs/awaited-jobs.ts +127 -5
  129. package/src/runtime/jobs/monitor-stream.ts +269 -0
  130. package/src/runtime/jobs/registry.ts +286 -21
  131. package/src/runtime/query/executor.ts +17 -0
  132. package/src/runtime/query/index.ts +119 -3
  133. package/src/runtime/query/iteration/outstanding-work.ts +64 -3
  134. package/src/runtime/query/iteration/phases/context.ts +9 -0
  135. package/src/runtime/query/iteration/phases/tool-review.ts +21 -9
  136. package/src/runtime/query/release-turn.ts +33 -0
  137. package/src/runtime/query/steering.ts +144 -0
  138. package/src/runtime/query/tooling.ts +10 -0
  139. package/src/runtime/system-events.ts +17 -0
  140. package/src/tools/builtins/bash.ts +3 -2
  141. package/src/tools/builtins/code-analysis.ts +486 -0
  142. package/src/tools/builtins/index.ts +11 -0
  143. package/src/tools/builtins/job.ts +11 -2
  144. package/src/tools/builtins/monitor.ts +206 -0
  145. package/src/turn/reporter.ts +8 -0
  146. package/src/types/code-analysis/index.ts +325 -0
  147. package/src/types/session/events.ts +31 -4
  148. package/src/types/session/records.ts +3 -2
  149. package/src/types/tool/index.ts +33 -1
@@ -47,7 +47,7 @@ const MAX_BASH_TIMEOUT_MS = readPositiveIntEnv('NAMZU_BASH_MAX_TIMEOUT_MS', 10 *
47
47
  * `run_in_background` is refused. Read at each call so a host can flip it.
48
48
  */
49
49
  export const DISABLE_BACKGROUND_TASKS_ENV = 'NAMZU_DISABLE_BACKGROUND_TASKS';
50
- function backgroundTasksDisabled() {
50
+ export function backgroundTasksDisabled() {
51
51
  const value = process.env[DISABLE_BACKGROUND_TASKS_ENV]?.trim().toLowerCase();
52
52
  return value !== undefined && value !== '' && value !== '0' && value !== 'false';
53
53
  }
@@ -362,7 +362,8 @@ export function execHostShell(command, options) {
362
362
  }
363
363
  });
364
364
  }
365
- function isDangerousCommand(command) {
365
+ /** The dangerous-pattern check `bash` applies, shared so the `monitor` tool refuses the same lines. */
366
+ export function isDangerousCommand(command) {
366
367
  return DANGEROUS_PATTERNS.some((pattern) => pattern.test(command));
367
368
  }
368
369
  /** The refusal when a sandbox cannot host a detached process; exported so the test states the same words. */
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"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"}
@@ -91,12 +91,12 @@ declare const observeSchema: z.ZodEffects<z.ZodDiscriminatedUnion<"action", [z.Z
91
91
  url: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
92
92
  }, "strip", z.ZodTypeAny, {
93
93
  action: "tabs";
94
- op: "close" | "list" | "select" | "new";
94
+ op: "new" | "close" | "list" | "select";
95
95
  url?: string | undefined;
96
96
  tab?: string | undefined;
97
97
  }, {
98
98
  action: "tabs";
99
- op: "close" | "list" | "select" | "new";
99
+ op: "new" | "close" | "list" | "select";
100
100
  url?: string | undefined;
101
101
  tab?: string | undefined;
102
102
  }>]>, {
@@ -128,7 +128,7 @@ declare const observeSchema: z.ZodEffects<z.ZodDiscriminatedUnion<"action", [z.Z
128
128
  timeMs?: number | undefined;
129
129
  } | {
130
130
  action: "tabs";
131
- op: "close" | "list" | "select" | "new";
131
+ op: "new" | "close" | "list" | "select";
132
132
  url?: string | undefined;
133
133
  tab?: string | undefined;
134
134
  }, {
@@ -160,7 +160,7 @@ declare const observeSchema: z.ZodEffects<z.ZodDiscriminatedUnion<"action", [z.Z
160
160
  timeMs?: number | undefined;
161
161
  } | {
162
162
  action: "tabs";
163
- op: "close" | "list" | "select" | "new";
163
+ op: "new" | "close" | "list" | "select";
164
164
  url?: string | undefined;
165
165
  tab?: string | undefined;
166
166
  }>;
@@ -0,0 +1,49 @@
1
+ import type { CodeAnalysisProvider } from '../../types/code-analysis/index.js';
2
+ export declare const CODE_ANALYSIS_TOOL_NAME = "code_analysis";
3
+ export declare const CodeAnalysisTool: import("../../types/tool/index.js").ToolDefinition<{
4
+ operation: "index";
5
+ force?: boolean | undefined;
6
+ path?: string | undefined;
7
+ } | {
8
+ text: string;
9
+ operation: "find_literal";
10
+ limit?: number | undefined;
11
+ cursor?: string | undefined;
12
+ path?: string | undefined;
13
+ case_sensitive?: boolean | undefined;
14
+ } | {
15
+ path: string;
16
+ line: number;
17
+ operation: "enclosing_function";
18
+ column?: number | undefined;
19
+ max_chars?: number | undefined;
20
+ } | {
21
+ operation: "function_source";
22
+ limit?: number | undefined;
23
+ cursor?: string | undefined;
24
+ path?: string | undefined;
25
+ name?: string | undefined;
26
+ max_chars?: number | undefined;
27
+ function_id?: number | undefined;
28
+ } | {
29
+ name: string;
30
+ operation: "callers_of";
31
+ limit?: number | undefined;
32
+ cursor?: string | undefined;
33
+ scope?: "file" | "workspace" | undefined;
34
+ path?: string | undefined;
35
+ match?: "exact" | "member" | undefined;
36
+ } | {
37
+ path: string;
38
+ operation: "imports";
39
+ limit?: number | undefined;
40
+ cursor?: string | undefined;
41
+ }>;
42
+ /**
43
+ * The tool, only when there is something for it to call.
44
+ *
45
+ * A function rather than a constant because the decision is per turn: the
46
+ * same process can serve one session with an index and one without.
47
+ */
48
+ export declare function getCodeAnalysisTools(provider: CodeAnalysisProvider | undefined): (typeof CodeAnalysisTool)[];
49
+ //# sourceMappingURL=code-analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-analysis.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/code-analysis.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAMX,oBAAoB,EAEpB,MAAM,oCAAoC,CAAA;AA6I3C,eAAO,MAAM,uBAAuB,kBAAkB,CAAA;AAEtD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4K3B,CAAA;AAqJF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GACxC,CAAC,OAAO,gBAAgB,CAAC,EAAE,CAE7B"}
@@ -0,0 +1,409 @@
1
+ import { realpath, stat } from 'node:fs/promises';
2
+ import { z } from 'zod';
3
+ import { defineTool } from '../defineTool.js';
4
+ import { isWithin, resolveWithinAnyReal, toolRoots } from '../paths.js';
5
+ /**
6
+ * Cited lookups over a semantic index of JavaScript and TypeScript.
7
+ *
8
+ * For the question `grep` answers with a line and nothing around it: *this
9
+ * string is in the code — which function is it in, what is that function's
10
+ * whole source, and what calls it?* It is built for code nobody wrote for you
11
+ * to read (a minified bundle, a vendored build), where the function has no
12
+ * useful name and the line is 40,000 characters wide.
13
+ *
14
+ * **Not in `getBuiltinTools()`, and not registered when no provider is
15
+ * configured**, for the reason `lsp` is not: a tool that is always present
16
+ * and always answers "unavailable" costs a decision on every turn to say
17
+ * nothing. See `tools/builtins/lsp.ts`.
18
+ *
19
+ * ## One path argument, one boundary
20
+ *
21
+ * Every operation takes `path`, declared as this tool's `pathArgument`, and
22
+ * resolves it with `resolveWithinAnyReal` over `toolRoots` — the resolver and
23
+ * the review route `read` and `grep` use. A path outside the roots is
24
+ * reviewed before the call runs when the host reviews such paths, and refused
25
+ * with the same message otherwise. There is no second way past the boundary:
26
+ * the index is built from files under a directory THIS tool has just
27
+ * resolved, never from a path the model supplied to the provider directly.
28
+ */
29
+ /** Items per page when the call names none. */
30
+ const DEFAULT_LIMIT = 50;
31
+ /** The most a page may hold, whatever the call asks for. */
32
+ const MAX_LIMIT = 200;
33
+ /** Source characters shown when the call names no cap. */
34
+ const DEFAULT_MAX_CHARS = 20_000;
35
+ const MAX_MAX_CHARS = 200_000;
36
+ const paging = {
37
+ limit: z
38
+ .number()
39
+ .int()
40
+ .min(1)
41
+ .max(MAX_LIMIT)
42
+ .optional()
43
+ .describe(`Results per page (default ${DEFAULT_LIMIT}, max ${MAX_LIMIT}).`),
44
+ cursor: z.string().optional().describe('`next cursor` from the previous page, unchanged.'),
45
+ };
46
+ const maxChars = z
47
+ .number()
48
+ .int()
49
+ .min(200)
50
+ .max(MAX_MAX_CHARS)
51
+ .optional()
52
+ .describe(`Cap on source shown (default ${DEFAULT_MAX_CHARS}); a cut is reported.`);
53
+ // Descriptions are short on purpose: this schema is sent with every request,
54
+ // and the first draft of it cost four times what `grep`'s does.
55
+ const indexOp = z.object({
56
+ operation: z
57
+ .literal('index')
58
+ .describe('Build or refresh the index (incremental). Other operations build it on first use.'),
59
+ path: z.string().optional().describe('A session directory; defaults to the working directory.'),
60
+ force: z.boolean().optional().describe('Re-read every file.'),
61
+ });
62
+ const findLiteralOp = z.object({
63
+ operation: z
64
+ .literal('find_literal')
65
+ .describe('Find string/template literals containing `text`, each with its enclosing function.'),
66
+ text: z.string().min(1),
67
+ path: z
68
+ .string()
69
+ .optional()
70
+ .describe('File or directory to search; defaults to the working directory.'),
71
+ case_sensitive: z.boolean().optional().describe('Default true.'),
72
+ ...paging,
73
+ });
74
+ const enclosingOp = z.object({
75
+ operation: z
76
+ .literal('enclosing_function')
77
+ .describe('The function containing a position: exact source, line range, parent chain.'),
78
+ path: z.string(),
79
+ line: z.number().int().min(1).describe('1-based.'),
80
+ column: z
81
+ .number()
82
+ .int()
83
+ .min(1)
84
+ .optional()
85
+ .describe('1-based UTF-16 column (default 1); needed on minified lines.'),
86
+ max_chars: maxChars,
87
+ });
88
+ const functionSourceOp = z.object({
89
+ operation: z
90
+ .literal('function_source')
91
+ .describe("A function's exact source, by `function_id` from a result, or by `path` and `name`."),
92
+ function_id: z.number().int().min(0).optional(),
93
+ path: z.string().optional(),
94
+ name: z.string().min(1).optional(),
95
+ max_chars: maxChars,
96
+ ...paging,
97
+ });
98
+ const callersOp = z.object({
99
+ operation: z
100
+ .literal('callers_of')
101
+ .describe('Call sites of a callee TEXT (not scope-aware), each with its caller. Per file by default.'),
102
+ name: z.string().min(1).describe('Callee text: `foo`, `obj.foo`, `this.foo`.'),
103
+ scope: z
104
+ .enum(['file', 'workspace'])
105
+ .optional()
106
+ .describe('`file` (default) needs `path`; `workspace` mixes same-named functions.'),
107
+ path: z.string().optional(),
108
+ match: z.enum(['exact', 'member']).optional().describe('`member` also matches `<expr>.name`.'),
109
+ ...paging,
110
+ });
111
+ const importsOp = z.object({
112
+ operation: z.literal('imports').describe("One file's imports and exports."),
113
+ path: z.string(),
114
+ ...paging,
115
+ });
116
+ const inputSchema = z.discriminatedUnion('operation', [
117
+ indexOp,
118
+ findLiteralOp,
119
+ enclosingOp,
120
+ functionSourceOp,
121
+ callersOp,
122
+ importsOp,
123
+ ]);
124
+ export const CODE_ANALYSIS_TOOL_NAME = 'code_analysis';
125
+ export const CodeAnalysisTool = defineTool({
126
+ name: CODE_ANALYSIS_TOOL_NAME,
127
+ // The first sentence is the discovery hint a deferred listing shows (about
128
+ // 100 characters), so it carries the two reasons to reach for this tool.
129
+ description: "Find which function holds a string in minified or unfamiliar JS/TS bundles; read it, list callers. Paged and cited as path:line:column; each result says what was observed, what was inferred and whether coverage is complete. Also lists a file's imports.",
130
+ inputSchema,
131
+ category: 'filesystem',
132
+ // Declared so a path outside the turn's roots can be reviewed before the
133
+ // call runs, rather than refused after. See `ToolDefinition.pathArgument`.
134
+ pathArgument: 'path',
135
+ permissions: ['file_read'],
136
+ // Reads source files and writes only its own cache, outside the roots.
137
+ readOnly: true,
138
+ destructive: false,
139
+ concurrencySafe: true,
140
+ async execute(input, context) {
141
+ const provider = context.codeAnalysis;
142
+ if (!provider) {
143
+ return fail('This turn has no code analysis provider, so there is no index to query. A host supplies one on the tool context; `grep` is the fallback, and it answers a different question.');
144
+ }
145
+ if (context.sandbox) {
146
+ // The index reads the HOST file system. In a sandboxed turn the
147
+ // workspace the model sees is not that one, and answering from the
148
+ // host would cite files the turn cannot open.
149
+ return fail('This turn runs in a sandbox, and the code index reads the host file system, not the sandbox workspace. Use `grep` and `read` here.');
150
+ }
151
+ const roots = toolRoots(context);
152
+ let target;
153
+ try {
154
+ // The SAME resolver `read` runs, so a path is on one side of the
155
+ // boundary for both tools or for neither.
156
+ target = await resolveWithinAnyReal(roots, input.path);
157
+ }
158
+ catch (err) {
159
+ return fail(err instanceof Error ? err.message : String(err));
160
+ }
161
+ // `function_id` alone names no path; the root is then the working one.
162
+ const owner = await owningRoot(roots, target);
163
+ if (owner.kind === 'file') {
164
+ return fail(`${target} was reached as a single file, not through a directory this turn may read, and the index is built over a directory. Ask the user to add its directory to the session.`);
165
+ }
166
+ if (owner.kind === 'none') {
167
+ return fail(`No readable directory of this turn contains ${target}.`);
168
+ }
169
+ const root = owner.root;
170
+ switch (input.operation) {
171
+ case 'index': {
172
+ const result = await provider.index({
173
+ root,
174
+ // A narrower path indexes just that part of the root, which is
175
+ // how a root too big to index whole is covered in steps.
176
+ ...(target !== root ? { scope: target } : {}),
177
+ ...(input.force ? { force: true } : {}),
178
+ ...signalOf(context),
179
+ });
180
+ return render(result, (value) => {
181
+ const f = value.files;
182
+ const lines = [
183
+ `Indexed ${value.root}: ${f.indexed} files (${f.parsed} parsed, ${f.unchanged} unchanged, ${f.removed} removed, ${f.skipped} skipped, ${f.withParseErrors} with parse errors) in ${value.durationMs} ms.`,
184
+ `${value.functions} functions, ${value.strings} string literals, ${value.calls} calls. ${value.persisted ? 'Cached on disk.' : 'Held in memory only; it is gone when this process exits.'}`,
185
+ ];
186
+ if (value.truncated)
187
+ lines.push(value.truncated);
188
+ const reasons = Object.entries(value.skippedReasons);
189
+ if (reasons.length > 0) {
190
+ lines.push(`Skipped: ${reasons.map(([why, n]) => `${n} ${why}`).join(', ')}.`);
191
+ }
192
+ return lines;
193
+ });
194
+ }
195
+ case 'find_literal': {
196
+ const result = await provider.findLiteral({
197
+ root,
198
+ text: input.text,
199
+ path: target,
200
+ ...(input.case_sensitive === false ? { caseSensitive: false } : {}),
201
+ ...pageArgs(input),
202
+ ...signalOf(context),
203
+ });
204
+ return renderPage(result, (hit) => {
205
+ const where = `${hit.path}:${hit.line}:${hit.column}`;
206
+ const shown = JSON.stringify(hit.value) + (hit.valueTruncated ? ' (cut)' : '');
207
+ const inside = hit.function ? ` in ${describeFunction(hit.function)}` : ' at top level';
208
+ return `${where} ${hit.kind} ${shown}${inside}${staleMark(hit.stale)}`;
209
+ });
210
+ }
211
+ case 'enclosing_function': {
212
+ const result = await provider.enclosingFunction({
213
+ root,
214
+ path: target,
215
+ line: input.line,
216
+ ...(input.column !== undefined ? { column: input.column } : {}),
217
+ maxChars: input.max_chars ?? DEFAULT_MAX_CHARS,
218
+ ...signalOf(context),
219
+ });
220
+ return render(result, (value) => {
221
+ if (!value.function) {
222
+ return [`${target}:${input.line}:${input.column ?? 1} is not inside any function.`];
223
+ }
224
+ const lines = [`${describeFunction(value.function)}`];
225
+ if (value.parents.length > 0) {
226
+ lines.push(`parents: ${value.parents.map(describeFunction).join(' < ')}`);
227
+ }
228
+ if (value.source)
229
+ lines.push(...sourceLines(value.source));
230
+ return lines;
231
+ });
232
+ }
233
+ case 'function_source': {
234
+ if (input.function_id === undefined && !(input.path !== undefined && input.name)) {
235
+ return fail('function_source needs `function_id`, or `path` together with `name`.');
236
+ }
237
+ const result = await provider.functionSource({
238
+ root,
239
+ ...(input.function_id !== undefined ? { id: input.function_id } : {}),
240
+ ...(input.name ? { name: input.name, path: target } : {}),
241
+ maxChars: input.max_chars ?? DEFAULT_MAX_CHARS,
242
+ ...pageArgs(input),
243
+ ...signalOf(context),
244
+ });
245
+ return renderPage(result, (item) => [
246
+ describeFunction(item.function),
247
+ item.parents.length > 0
248
+ ? `parents: ${item.parents.map(describeFunction).join(' < ')}`
249
+ : undefined,
250
+ ...sourceLines(item.source),
251
+ ]
252
+ .filter((l) => l !== undefined)
253
+ .join('\n'));
254
+ }
255
+ case 'callers_of': {
256
+ const scope = input.scope ?? 'file';
257
+ if (scope === 'file' && input.path === undefined) {
258
+ return fail('callers_of looks in one file by default, so it needs `path`. Pass `scope: "workspace"` to search the whole index; it matches by name only and will mix unrelated functions that share one.');
259
+ }
260
+ const result = await provider.callersOf({
261
+ root,
262
+ name: input.name,
263
+ scope,
264
+ ...(input.path !== undefined ? { path: target } : {}),
265
+ ...(input.match ? { match: input.match } : {}),
266
+ ...pageArgs(input),
267
+ ...signalOf(context),
268
+ });
269
+ return renderPage(result, (site) => {
270
+ const inside = site.caller ? ` in ${describeFunction(site.caller)}` : ' at top level';
271
+ return `${site.path}:${site.line}:${site.column} ${site.kind === 'new' ? 'new ' : ''}${site.callee}(${site.argumentCount} arg${site.argumentCount === 1 ? '' : 's'})${inside}${staleMark(site.stale)}`;
272
+ });
273
+ }
274
+ case 'imports': {
275
+ const result = await provider.imports({
276
+ root,
277
+ path: target,
278
+ ...pageArgs(input),
279
+ ...signalOf(context),
280
+ });
281
+ return renderPage(result, (edge) => describeEdge(edge, target));
282
+ }
283
+ }
284
+ },
285
+ });
286
+ function signalOf(context) {
287
+ return context.abortSignal ? { signal: context.abortSignal } : {};
288
+ }
289
+ function staleMark(stale) {
290
+ if (stale === 'deleted')
291
+ return ' [file deleted since indexed]';
292
+ if (stale === 'changed')
293
+ return ' [file changed since indexed; position may be off]';
294
+ return '';
295
+ }
296
+ function fail(error) {
297
+ return { success: false, output: '', error };
298
+ }
299
+ function pageArgs(input) {
300
+ return {
301
+ limit: input.limit ?? DEFAULT_LIMIT,
302
+ ...(input.cursor !== undefined ? { cursor: input.cursor } : {}),
303
+ };
304
+ }
305
+ /**
306
+ * The directory of this turn that contains `target`, canonicalised.
307
+ *
308
+ * Roots are directories except when an approval named a single file: that
309
+ * file is a root for ONE call, and indexing its parent would read what the
310
+ * approval never covered. So a file reached only that way is refused rather
311
+ * than widened.
312
+ */
313
+ async function owningRoot(roots, target) {
314
+ let sawFile = false;
315
+ for (const candidate of roots) {
316
+ let real;
317
+ try {
318
+ real = await realpath(candidate);
319
+ if (!(await stat(real)).isDirectory()) {
320
+ if (isWithin(real, target) || real === target)
321
+ sawFile = true;
322
+ continue;
323
+ }
324
+ }
325
+ catch {
326
+ continue;
327
+ }
328
+ if (isWithin(real, target))
329
+ return { kind: 'dir', root: real };
330
+ }
331
+ return sawFile ? { kind: 'file' } : { kind: 'none' };
332
+ }
333
+ function describeFunction(fn) {
334
+ const lines = fn.endLine === fn.line ? `line ${fn.line}` : `lines ${fn.line}-${fn.endLine}`;
335
+ return `${fn.name ?? '(anonymous)'} [${fn.kind}, id ${fn.id}] ${fn.path}:${fn.line}:${fn.column} (${lines})`;
336
+ }
337
+ function describeEdge(edge, path) {
338
+ const where = `${path}:${edge.line}:${edge.column}`;
339
+ if (edge.direction === 'import') {
340
+ const names = edge.names.length > 0 ? ` { ${edge.names.join(', ')} }` : '';
341
+ return `${where} import (${edge.kind})${names} from ${JSON.stringify(edge.source)}`;
342
+ }
343
+ const from = edge.source !== undefined ? ` from ${JSON.stringify(edge.source)}` : '';
344
+ return `${where} export (${edge.kind}) ${edge.name}${from}`;
345
+ }
346
+ function sourceLines(slice) {
347
+ const lines = ['--- source ---', slice.text];
348
+ if (slice.truncated) {
349
+ lines.push(`--- cut: showing ${slice.text.length} of ${slice.chars} characters; raise max_chars to see more ---`);
350
+ }
351
+ return lines;
352
+ }
353
+ function evidenceLines(evidence) {
354
+ const lines = [];
355
+ if (evidence.observed.length > 0)
356
+ lines.push(`observed: ${evidence.observed.join('; ')}`);
357
+ if (evidence.inferred.length > 0)
358
+ lines.push(`inferred: ${evidence.inferred.join('; ')}`);
359
+ lines.push(evidence.coverage.status === 'complete'
360
+ ? 'coverage: complete'
361
+ : `coverage: partial - ${evidence.coverage.reasons.join('; ')}`);
362
+ return lines;
363
+ }
364
+ function render(result, body, data) {
365
+ switch (result.kind) {
366
+ case 'ok':
367
+ return {
368
+ success: true,
369
+ output: [...body(result.value), ...evidenceLines(result.evidence)].join('\n'),
370
+ data: {
371
+ value: data ? data(result.value) : result.value,
372
+ evidence: result.evidence,
373
+ },
374
+ };
375
+ case 'unsupported':
376
+ // Distinct from a failure so the model can fall back and know why.
377
+ return fail(`${result.reason} Fall back to \`grep\`, and treat the result as textual rather than resolved.`);
378
+ case 'failed':
379
+ // NOT an empty result. An agent told a name has no callers deletes it.
380
+ return fail(`Code analysis failed, so this answer is unknown rather than empty: ${result.error}`);
381
+ }
382
+ }
383
+ function renderPage(result, line) {
384
+ return render(result, (page) => {
385
+ if (page.items.length === 0) {
386
+ return [page.total === 0 ? 'No results.' : 'No results on this page.'];
387
+ }
388
+ const lines = page.items.map(line);
389
+ lines.push(page.nextCursor !== undefined
390
+ ? `-- ${page.items.length} of ${page.total} shown. next cursor: ${page.nextCursor}`
391
+ : `-- ${page.items.length} of ${page.total} shown. last page.`);
392
+ return lines;
393
+ }, (page) => ({
394
+ total: page.total,
395
+ count: page.items.length,
396
+ items: page.items,
397
+ ...(page.nextCursor !== undefined ? { nextCursor: page.nextCursor } : {}),
398
+ }));
399
+ }
400
+ /**
401
+ * The tool, only when there is something for it to call.
402
+ *
403
+ * A function rather than a constant because the decision is per turn: the
404
+ * same process can serve one session with an index and one without.
405
+ */
406
+ export function getCodeAnalysisTools(provider) {
407
+ return provider ? [CodeAnalysisTool] : [];
408
+ }
409
+ //# sourceMappingURL=code-analysis.js.map