@gajae-code/coding-agent 0.2.5 → 0.3.1
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.
- package/CHANGELOG.md +28 -0
- package/dist/types/async/job-manager.d.ts +91 -2
- package/dist/types/cli/args.d.ts +1 -1
- package/dist/types/commands/deep-interview.d.ts +3 -0
- package/dist/types/commands/harness.d.ts +37 -0
- package/dist/types/config/keybindings.d.ts +5 -0
- package/dist/types/config/settings-schema.d.ts +10 -4
- package/dist/types/config/settings.d.ts +2 -0
- package/dist/types/debug/crash-diagnostics.d.ts +45 -0
- package/dist/types/debug/runtime-gauges.d.ts +6 -0
- package/dist/types/deep-interview/render-middleware.d.ts +6 -0
- package/dist/types/eval/py/executor.d.ts +2 -0
- package/dist/types/eval/py/kernel.d.ts +2 -0
- package/dist/types/exec/bash-executor.d.ts +10 -0
- package/dist/types/extensibility/custom-tools/types.d.ts +1 -0
- package/dist/types/extensibility/extensions/types.d.ts +6 -0
- package/dist/types/extensibility/shared-events.d.ts +1 -0
- package/dist/types/gjc-runtime/cli-write-receipt.d.ts +24 -0
- package/dist/types/gjc-runtime/deep-interview-runtime.d.ts +1 -0
- package/dist/types/gjc-runtime/state-graph.d.ts +4 -0
- package/dist/types/gjc-runtime/state-migrations.d.ts +33 -0
- package/dist/types/gjc-runtime/state-renderer.d.ts +65 -0
- package/dist/types/gjc-runtime/state-runtime.d.ts +2 -0
- package/dist/types/gjc-runtime/state-schema.d.ts +317 -0
- package/dist/types/gjc-runtime/state-validation.d.ts +6 -0
- package/dist/types/gjc-runtime/state-writer.d.ts +147 -0
- package/dist/types/gjc-runtime/team-runtime.d.ts +81 -7
- package/dist/types/gjc-runtime/workflow-command-ref.d.ts +43 -0
- package/dist/types/gjc-runtime/workflow-manifest.d.ts +54 -0
- package/dist/types/harness-control-plane/classifier.d.ts +13 -0
- package/dist/types/harness-control-plane/control-endpoint.d.ts +31 -0
- package/dist/types/harness-control-plane/finalize.d.ts +47 -0
- package/dist/types/harness-control-plane/frame-mapper.d.ts +29 -0
- package/dist/types/harness-control-plane/operate.d.ts +35 -0
- package/dist/types/harness-control-plane/owner.d.ts +46 -0
- package/dist/types/harness-control-plane/preserve.d.ts +19 -0
- package/dist/types/harness-control-plane/receipts.d.ts +88 -0
- package/dist/types/harness-control-plane/rpc-adapter.d.ts +66 -0
- package/dist/types/harness-control-plane/seams.d.ts +21 -0
- package/dist/types/harness-control-plane/session-lease.d.ts +65 -0
- package/dist/types/harness-control-plane/state-machine.d.ts +19 -0
- package/dist/types/harness-control-plane/storage.d.ts +53 -0
- package/dist/types/harness-control-plane/types.d.ts +162 -0
- package/dist/types/hooks/skill-keywords.d.ts +2 -1
- package/dist/types/hooks/skill-state.d.ts +23 -29
- package/dist/types/internal-urls/agent-protocol.d.ts +2 -2
- package/dist/types/internal-urls/artifact-protocol.d.ts +2 -2
- package/dist/types/internal-urls/registry-helpers.d.ts +8 -7
- package/dist/types/internal-urls/types.d.ts +4 -0
- package/dist/types/lsp/index.d.ts +10 -10
- package/dist/types/modes/bridge/auth.d.ts +12 -0
- package/dist/types/modes/bridge/bridge-client-bridge.d.ts +9 -0
- package/dist/types/modes/bridge/bridge-mode.d.ts +44 -0
- package/dist/types/modes/bridge/bridge-ui-context.d.ts +88 -0
- package/dist/types/modes/bridge/event-stream.d.ts +8 -0
- package/dist/types/modes/components/custom-editor.d.ts +6 -0
- package/dist/types/modes/components/hook-selector.d.ts +1 -0
- package/dist/types/modes/components/jobs-overlay-model.d.ts +31 -0
- package/dist/types/modes/components/jobs-overlay.d.ts +30 -0
- package/dist/types/modes/components/status-line/types.d.ts +2 -0
- package/dist/types/modes/components/status-line.d.ts +2 -0
- package/dist/types/modes/controllers/input-controller.d.ts +1 -0
- package/dist/types/modes/controllers/selector-controller.d.ts +8 -0
- package/dist/types/modes/index.d.ts +1 -0
- package/dist/types/modes/interactive-mode.d.ts +2 -0
- package/dist/types/modes/jobs-observer.d.ts +57 -0
- package/dist/types/modes/rpc/host-tools.d.ts +1 -16
- package/dist/types/modes/rpc/host-uris.d.ts +1 -38
- package/dist/types/modes/shared/agent-wire/command-dispatch.d.ts +20 -0
- package/dist/types/modes/shared/agent-wire/command-validation.d.ts +2 -0
- package/dist/types/modes/shared/agent-wire/event-envelope.d.ts +24 -0
- package/dist/types/modes/shared/agent-wire/handshake.d.ts +46 -0
- package/dist/types/modes/shared/agent-wire/host-tool-bridge.d.ts +16 -0
- package/dist/types/modes/shared/agent-wire/host-uri-bridge.d.ts +17 -0
- package/dist/types/modes/shared/agent-wire/protocol.d.ts +44 -0
- package/dist/types/modes/shared/agent-wire/responses.d.ts +4 -0
- package/dist/types/modes/shared/agent-wire/scopes.d.ts +18 -0
- package/dist/types/modes/shared/agent-wire/ui-request-broker.d.ts +42 -0
- package/dist/types/modes/shared/agent-wire/ui-result.d.ts +27 -0
- package/dist/types/modes/types.d.ts +2 -0
- package/dist/types/sdk.d.ts +4 -0
- package/dist/types/session/agent-session.d.ts +19 -1
- package/dist/types/skill-state/active-state.d.ts +2 -0
- package/dist/types/skill-state/deep-interview-mutation-guard.d.ts +1 -1
- package/dist/types/skill-state/workflow-state-contract.d.ts +25 -2
- package/dist/types/skill-state/workflow-state-version.d.ts +3 -0
- package/dist/types/task/executor.d.ts +3 -0
- package/dist/types/task/id.d.ts +7 -0
- package/dist/types/task/index.d.ts +5 -0
- package/dist/types/task/receipt.d.ts +85 -0
- package/dist/types/task/spawn-gate.d.ts +38 -0
- package/dist/types/task/types.d.ts +198 -14
- package/dist/types/tools/cron.d.ts +6 -0
- package/dist/types/tools/index.d.ts +2 -0
- package/dist/types/tools/path-utils.d.ts +1 -0
- package/dist/types/tools/subagent.d.ts +26 -1
- package/package.json +7 -7
- package/scripts/build-binary.ts +7 -0
- package/src/async/job-manager.ts +334 -6
- package/src/cli/args.ts +9 -2
- package/src/cli/auth-broker-cli.ts +1 -0
- package/src/cli/config-cli.ts +10 -2
- package/src/cli.ts +2 -0
- package/src/commands/deep-interview.ts +1 -0
- package/src/commands/harness.ts +862 -0
- package/src/commands/launch.ts +2 -2
- package/src/commands/state.ts +2 -1
- package/src/commands/team.ts +54 -39
- package/src/config/keybindings.ts +6 -0
- package/src/config/settings-schema.ts +13 -3
- package/src/config/settings.ts +5 -0
- package/src/dap/client.ts +17 -3
- package/src/debug/crash-diagnostics.ts +223 -0
- package/src/debug/runtime-gauges.ts +20 -0
- package/src/deep-interview/render-middleware.ts +372 -0
- package/src/defaults/gjc/skills/deep-interview/SKILL.md +1 -1
- package/src/defaults/gjc/skills/ralplan/SKILL.md +31 -2
- package/src/defaults/gjc/skills/team/SKILL.md +47 -21
- package/src/defaults/gjc/skills/ultragoal/SKILL.md +106 -13
- package/src/eval/py/executor.ts +21 -1
- package/src/eval/py/kernel.ts +15 -0
- package/src/exec/bash-executor.ts +41 -0
- package/src/extensibility/custom-tools/types.ts +1 -0
- package/src/extensibility/extensions/types.ts +6 -0
- package/src/extensibility/shared-events.ts +1 -0
- package/src/gjc-runtime/cli-write-receipt.ts +31 -0
- package/src/gjc-runtime/deep-interview-runtime.ts +98 -42
- package/src/gjc-runtime/goal-mode-request.ts +11 -3
- package/src/gjc-runtime/ralplan-runtime.ts +235 -43
- package/src/gjc-runtime/state-graph.ts +86 -0
- package/src/gjc-runtime/state-migrations.ts +179 -0
- package/src/gjc-runtime/state-renderer.ts +345 -0
- package/src/gjc-runtime/state-runtime.ts +1155 -46
- package/src/gjc-runtime/state-schema.ts +192 -0
- package/src/gjc-runtime/state-validation.ts +49 -0
- package/src/gjc-runtime/state-writer.ts +749 -0
- package/src/gjc-runtime/team-runtime.ts +1255 -189
- package/src/gjc-runtime/ultragoal-runtime.ts +460 -43
- package/src/gjc-runtime/workflow-command-ref.ts +239 -0
- package/src/gjc-runtime/workflow-manifest.generated.json +1601 -0
- package/src/gjc-runtime/workflow-manifest.ts +427 -0
- package/src/harness-control-plane/classifier.ts +128 -0
- package/src/harness-control-plane/control-endpoint.ts +148 -0
- package/src/harness-control-plane/finalize.ts +222 -0
- package/src/harness-control-plane/frame-mapper.ts +286 -0
- package/src/harness-control-plane/operate.ts +225 -0
- package/src/harness-control-plane/owner.ts +600 -0
- package/src/harness-control-plane/preserve.ts +102 -0
- package/src/harness-control-plane/receipts.ts +216 -0
- package/src/harness-control-plane/rpc-adapter.ts +276 -0
- package/src/harness-control-plane/seams.ts +39 -0
- package/src/harness-control-plane/session-lease.ts +388 -0
- package/src/harness-control-plane/state-machine.ts +98 -0
- package/src/harness-control-plane/storage.ts +257 -0
- package/src/harness-control-plane/types.ts +214 -0
- package/src/hooks/skill-keywords.ts +4 -2
- package/src/hooks/skill-state.ts +197 -64
- package/src/internal-urls/agent-protocol.ts +68 -21
- package/src/internal-urls/artifact-protocol.ts +12 -17
- package/src/internal-urls/docs-index.generated.ts +3 -2
- package/src/internal-urls/registry-helpers.ts +19 -16
- package/src/internal-urls/types.ts +4 -0
- package/src/lsp/client.ts +18 -2
- package/src/main.ts +21 -5
- package/src/modes/bridge/auth.ts +41 -0
- package/src/modes/bridge/bridge-client-bridge.ts +47 -0
- package/src/modes/bridge/bridge-mode.ts +520 -0
- package/src/modes/bridge/bridge-ui-context.ts +200 -0
- package/src/modes/bridge/event-stream.ts +70 -0
- package/src/modes/components/assistant-message.ts +5 -1
- package/src/modes/components/custom-editor.ts +101 -0
- package/src/modes/components/hook-selector.ts +133 -20
- package/src/modes/components/jobs-overlay-model.ts +109 -0
- package/src/modes/components/jobs-overlay.ts +172 -0
- package/src/modes/components/status-line/presets.ts +7 -5
- package/src/modes/components/status-line/segments.ts +25 -0
- package/src/modes/components/status-line/types.ts +2 -0
- package/src/modes/components/status-line.ts +9 -1
- package/src/modes/controllers/event-controller.ts +71 -6
- package/src/modes/controllers/extension-ui-controller.ts +43 -1
- package/src/modes/controllers/input-controller.ts +105 -9
- package/src/modes/controllers/selector-controller.ts +31 -1
- package/src/modes/index.ts +1 -0
- package/src/modes/interactive-mode.ts +28 -0
- package/src/modes/jobs-observer.ts +204 -0
- package/src/modes/rpc/host-tools.ts +1 -186
- package/src/modes/rpc/host-uris.ts +1 -235
- package/src/modes/rpc/rpc-client.ts +25 -10
- package/src/modes/rpc/rpc-mode.ts +12 -381
- package/src/modes/shared/agent-wire/command-dispatch.ts +341 -0
- package/src/modes/shared/agent-wire/command-validation.ts +131 -0
- package/src/modes/shared/agent-wire/event-envelope.ts +108 -0
- package/src/modes/shared/agent-wire/handshake.ts +117 -0
- package/src/modes/shared/agent-wire/host-tool-bridge.ts +194 -0
- package/src/modes/shared/agent-wire/host-uri-bridge.ts +236 -0
- package/src/modes/shared/agent-wire/protocol.ts +96 -0
- package/src/modes/shared/agent-wire/responses.ts +17 -0
- package/src/modes/shared/agent-wire/scopes.ts +89 -0
- package/src/modes/shared/agent-wire/ui-request-broker.ts +150 -0
- package/src/modes/shared/agent-wire/ui-result.ts +48 -0
- package/src/modes/types.ts +2 -0
- package/src/prompts/agents/executor.md +13 -0
- package/src/prompts/tools/subagent.md +39 -4
- package/src/prompts/tools/task-summary.md +3 -9
- package/src/prompts/tools/task.md +5 -1
- package/src/sdk.ts +8 -0
- package/src/session/agent-session.ts +445 -71
- package/src/session/session-manager.ts +13 -1
- package/src/skill-state/active-state.ts +58 -65
- package/src/skill-state/deep-interview-mutation-guard.ts +114 -17
- package/src/skill-state/initial-phase.ts +2 -0
- package/src/skill-state/workflow-state-contract.ts +33 -4
- package/src/skill-state/workflow-state-version.ts +3 -0
- package/src/slash-commands/builtin-registry.ts +8 -0
- package/src/task/executor.ts +79 -13
- package/src/task/id.ts +33 -0
- package/src/task/index.ts +376 -74
- package/src/task/output-manager.ts +5 -4
- package/src/task/receipt.ts +297 -0
- package/src/task/render.ts +54 -134
- package/src/task/spawn-gate.ts +132 -0
- package/src/task/types.ts +104 -10
- package/src/tools/ask.ts +88 -27
- package/src/tools/ast-edit.ts +1 -0
- package/src/tools/ast-grep.ts +1 -0
- package/src/tools/bash.ts +1 -1
- package/src/tools/cron.ts +48 -0
- package/src/tools/find.ts +4 -1
- package/src/tools/index.ts +2 -0
- package/src/tools/path-utils.ts +3 -2
- package/src/tools/read.ts +1 -0
- package/src/tools/search.ts +1 -0
- package/src/tools/skill.ts +6 -1
- package/src/tools/subagent.ts +423 -79
package/src/tools/cron.ts
CHANGED
|
@@ -137,6 +137,7 @@ function deleteRecord(ownerId: string | undefined, id: string): boolean {
|
|
|
137
137
|
disposeRecord(record);
|
|
138
138
|
const deleted = state.jobs.delete(id);
|
|
139
139
|
if (state.jobs.size === 0) schedulesByOwner.delete(key);
|
|
140
|
+
if (deleted) notifyCronChange();
|
|
140
141
|
return deleted;
|
|
141
142
|
}
|
|
142
143
|
|
|
@@ -158,6 +159,7 @@ export function clearOwnerSchedules(ownerId: string | undefined): void {
|
|
|
158
159
|
state.jobs.clear();
|
|
159
160
|
state.cleanupRegistered = false;
|
|
160
161
|
schedulesByOwner.delete(key);
|
|
162
|
+
notifyCronChange();
|
|
161
163
|
}
|
|
162
164
|
|
|
163
165
|
/** Reset every owner's schedule store. Test-only. */
|
|
@@ -167,6 +169,51 @@ export function resetCronRegistryForTests(): void {
|
|
|
167
169
|
clearOwnerSchedules(ownerId);
|
|
168
170
|
}
|
|
169
171
|
schedulesByOwner.clear();
|
|
172
|
+
notifyCronChange();
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/** Module-level listeners notified whenever the cron schedule set changes. */
|
|
176
|
+
const cronChangeListeners = new Set<() => void>();
|
|
177
|
+
|
|
178
|
+
/** Subscribe to cron schedule-set changes. Returns an unsubscribe function. */
|
|
179
|
+
export function onCronChange(cb: () => void): () => void {
|
|
180
|
+
cronChangeListeners.add(cb);
|
|
181
|
+
return () => {
|
|
182
|
+
cronChangeListeners.delete(cb);
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
function notifyCronChange(): void {
|
|
187
|
+
for (const cb of cronChangeListeners) {
|
|
188
|
+
try {
|
|
189
|
+
cb();
|
|
190
|
+
} catch (error) {
|
|
191
|
+
logger.warn("Cron change listener failed", {
|
|
192
|
+
error: error instanceof Error ? error.message : String(error),
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/** Snapshot the scheduled cron jobs for an owner (or all owners when omitted). */
|
|
199
|
+
export function listCronSnapshots(ownerId?: string): CronJobSnapshot[] {
|
|
200
|
+
const out: CronJobSnapshot[] = [];
|
|
201
|
+
if (ownerId !== undefined) {
|
|
202
|
+
const state = schedulesByOwner.get(ownerKey(ownerId));
|
|
203
|
+
if (state) {
|
|
204
|
+
for (const record of state.jobs.values()) out.push(record.snapshot);
|
|
205
|
+
}
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
for (const state of schedulesByOwner.values()) {
|
|
209
|
+
for (const record of state.jobs.values()) out.push(record.snapshot);
|
|
210
|
+
}
|
|
211
|
+
return out;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/** Delete a scheduled cron job by owner-scoped id. Returns true when removed. */
|
|
215
|
+
export function deleteCronJobById(ownerId: string | undefined, id: string): boolean {
|
|
216
|
+
return deleteRecord(ownerId, id);
|
|
170
217
|
}
|
|
171
218
|
|
|
172
219
|
const CRON_FIELD_BOUNDS: Array<{ name: string; min: number; max: number }> = [
|
|
@@ -448,6 +495,7 @@ function scheduleRecord(ownerId: string | undefined, state: OwnerScheduleState,
|
|
|
448
495
|
});
|
|
449
496
|
record.snapshot.nextFireAt = fireAt;
|
|
450
497
|
record.timer = setCronTimeout(() => fireRecord(ownerId, state, record.snapshot.id), fireAt - now);
|
|
498
|
+
notifyCronChange();
|
|
451
499
|
}
|
|
452
500
|
|
|
453
501
|
function scheduleExpiry(ownerId: string | undefined, record: CronScheduleRecord): void {
|
package/src/tools/find.ts
CHANGED
|
@@ -155,7 +155,10 @@ export class FindTool implements AgentTool<typeof findSchema, FindToolDetails> {
|
|
|
155
155
|
if (hasGlobPathChars(rawPattern)) {
|
|
156
156
|
throw new ToolError(`Glob patterns are not supported for internal URLs: ${rawPattern}`);
|
|
157
157
|
}
|
|
158
|
-
const resource = await internalRouter.resolve(rawPattern
|
|
158
|
+
const resource = await internalRouter.resolve(rawPattern, {
|
|
159
|
+
cwd: this.session.cwd,
|
|
160
|
+
getArtifactsDir: this.session.getArtifactsDir,
|
|
161
|
+
});
|
|
159
162
|
if (!resource.sourcePath) {
|
|
160
163
|
throw new ToolError(`Cannot find internal URL without a backing file: ${rawPattern}`);
|
|
161
164
|
}
|
package/src/tools/index.ts
CHANGED
|
@@ -150,6 +150,8 @@ export interface ToolSession {
|
|
|
150
150
|
requireYieldTool?: boolean;
|
|
151
151
|
/** Task recursion depth (0 = top-level, 1 = first child, etc.) */
|
|
152
152
|
taskDepth?: number;
|
|
153
|
+
/** Current role-agent type/name for nested task sessions. */
|
|
154
|
+
currentAgentType?: string;
|
|
153
155
|
/** Get session file */
|
|
154
156
|
getSessionFile: () => string | null;
|
|
155
157
|
/** Get eval kernel owner ID for session-scoped retained-kernel cleanup. */
|
package/src/tools/path-utils.ts
CHANGED
|
@@ -625,6 +625,7 @@ export function resolveReadPath(filePath: string, cwd: string): string {
|
|
|
625
625
|
export interface ToolScopeOptions {
|
|
626
626
|
rawPaths: string[];
|
|
627
627
|
cwd: string;
|
|
628
|
+
getArtifactsDir?: () => string | null;
|
|
628
629
|
/** Verb used in the "Cannot {action} internal URL without a backing file: …" message. */
|
|
629
630
|
internalUrlAction: string;
|
|
630
631
|
/** Collect absolute paths flagged immutable by their internal-URL handler. */
|
|
@@ -655,7 +656,7 @@ export interface ToolScopeResolution {
|
|
|
655
656
|
* 5. stat the resolved base path so callers can branch on directory vs file scope.
|
|
656
657
|
*/
|
|
657
658
|
export async function resolveToolSearchScope(opts: ToolScopeOptions): Promise<ToolScopeResolution> {
|
|
658
|
-
const { rawPaths: inputs, cwd, internalUrlAction } = opts;
|
|
659
|
+
const { rawPaths: inputs, cwd, internalUrlAction, getArtifactsDir } = opts;
|
|
659
660
|
const rawPaths = inputs.map(normalizePathLikeInput);
|
|
660
661
|
if (rawPaths.some(rawPath => rawPath.length === 0)) {
|
|
661
662
|
throw new ToolError("`paths` must contain non-empty paths or globs");
|
|
@@ -671,7 +672,7 @@ export async function resolveToolSearchScope(opts: ToolScopeOptions): Promise<To
|
|
|
671
672
|
if (hasGlobPathChars(rawPath)) {
|
|
672
673
|
throw new ToolError(`Glob patterns are not supported for internal URLs: ${rawPath}`);
|
|
673
674
|
}
|
|
674
|
-
const resource = await internalRouter.resolve(rawPath);
|
|
675
|
+
const resource = await internalRouter.resolve(rawPath, { cwd, getArtifactsDir });
|
|
675
676
|
if (!resource.sourcePath) {
|
|
676
677
|
throw new ToolError(`Cannot ${internalUrlAction} internal URL without a backing file: ${rawPath}`);
|
|
677
678
|
}
|
package/src/tools/read.ts
CHANGED
|
@@ -2045,6 +2045,7 @@ export class ReadTool implements AgentTool<typeof readSchema, ReadToolDetails> {
|
|
|
2045
2045
|
// Resolve the internal URL
|
|
2046
2046
|
const resource = await internalRouter.resolve(url, {
|
|
2047
2047
|
cwd: this.session.cwd,
|
|
2048
|
+
getArtifactsDir: this.session.getArtifactsDir,
|
|
2048
2049
|
settings: this.session.settings,
|
|
2049
2050
|
signal,
|
|
2050
2051
|
});
|
package/src/tools/search.ts
CHANGED
|
@@ -280,6 +280,7 @@ export class SearchTool implements AgentTool<typeof searchSchema, SearchToolDeta
|
|
|
280
280
|
const scope = await resolveToolSearchScope({
|
|
281
281
|
rawPaths: resolvedPaths,
|
|
282
282
|
cwd: this.session.cwd,
|
|
283
|
+
getArtifactsDir: this.session.getArtifactsDir,
|
|
283
284
|
internalUrlAction: "search",
|
|
284
285
|
trackImmutableSources: true,
|
|
285
286
|
surfaceExactFilePaths: true,
|
package/src/tools/skill.ts
CHANGED
|
@@ -138,7 +138,12 @@ export class SkillTool implements AgentTool<typeof skillSchema, SkillToolDetails
|
|
|
138
138
|
{ triggerTurn: false },
|
|
139
139
|
);
|
|
140
140
|
|
|
141
|
-
const summary =
|
|
141
|
+
const summary = JSON.stringify({
|
|
142
|
+
callee: skill.name,
|
|
143
|
+
path: skill.filePath,
|
|
144
|
+
args: args || undefined,
|
|
145
|
+
lineCount: built.details.lineCount,
|
|
146
|
+
});
|
|
142
147
|
return {
|
|
143
148
|
content: [{ type: "text", text: summary }],
|
|
144
149
|
details: {
|