gnosys 5.6.0 → 5.7.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 (53) hide show
  1. package/dist/cli.js +736 -401
  2. package/dist/cli.js.map +1 -1
  3. package/dist/lib/audit.d.ts +13 -0
  4. package/dist/lib/audit.d.ts.map +1 -1
  5. package/dist/lib/audit.js +42 -0
  6. package/dist/lib/audit.js.map +1 -1
  7. package/dist/lib/chat/llmTurn.d.ts +20 -2
  8. package/dist/lib/chat/llmTurn.d.ts.map +1 -1
  9. package/dist/lib/chat/llmTurn.js +58 -16
  10. package/dist/lib/chat/llmTurn.js.map +1 -1
  11. package/dist/lib/chat/render.d.ts.map +1 -1
  12. package/dist/lib/chat/render.js +18 -0
  13. package/dist/lib/chat/render.js.map +1 -1
  14. package/dist/lib/chat/toolFence.d.ts +54 -0
  15. package/dist/lib/chat/toolFence.d.ts.map +1 -0
  16. package/dist/lib/chat/toolFence.js +90 -0
  17. package/dist/lib/chat/toolFence.js.map +1 -0
  18. package/dist/lib/chat/tools.d.ts +48 -0
  19. package/dist/lib/chat/tools.d.ts.map +1 -0
  20. package/dist/lib/chat/tools.js +338 -0
  21. package/dist/lib/chat/tools.js.map +1 -0
  22. package/dist/lib/db.d.ts +38 -0
  23. package/dist/lib/db.d.ts.map +1 -1
  24. package/dist/lib/db.js +118 -26
  25. package/dist/lib/db.js.map +1 -1
  26. package/dist/lib/remote.d.ts +23 -0
  27. package/dist/lib/remote.d.ts.map +1 -1
  28. package/dist/lib/remote.js +88 -0
  29. package/dist/lib/remote.js.map +1 -1
  30. package/dist/lib/remoteWizard.d.ts.map +1 -1
  31. package/dist/lib/remoteWizard.js +13 -17
  32. package/dist/lib/remoteWizard.js.map +1 -1
  33. package/dist/lib/setup/sections/ides.d.ts +20 -0
  34. package/dist/lib/setup/sections/ides.d.ts.map +1 -0
  35. package/dist/lib/setup/sections/ides.js +124 -0
  36. package/dist/lib/setup/sections/ides.js.map +1 -0
  37. package/dist/lib/setup/sections/preferences.d.ts +30 -0
  38. package/dist/lib/setup/sections/preferences.d.ts.map +1 -0
  39. package/dist/lib/setup/sections/preferences.js +128 -0
  40. package/dist/lib/setup/sections/preferences.js.map +1 -0
  41. package/dist/lib/setup/sections/routing.d.ts +21 -0
  42. package/dist/lib/setup/sections/routing.d.ts.map +1 -0
  43. package/dist/lib/setup/sections/routing.js +160 -0
  44. package/dist/lib/setup/sections/routing.js.map +1 -0
  45. package/dist/lib/setup/summary.d.ts +42 -0
  46. package/dist/lib/setup/summary.d.ts.map +1 -0
  47. package/dist/lib/setup/summary.js +206 -0
  48. package/dist/lib/setup/summary.js.map +1 -0
  49. package/dist/lib/timeline.d.ts +7 -0
  50. package/dist/lib/timeline.d.ts.map +1 -1
  51. package/dist/lib/timeline.js +19 -5
  52. package/dist/lib/timeline.js.map +1 -1
  53. package/package.json +1 -1
@@ -7,6 +7,7 @@
7
7
  *
8
8
  * Logs are stored in .gnosys/.config/audit.jsonl (append-only).
9
9
  */
10
+ import type { GnosysDB } from "./db.js";
10
11
  export interface AuditEntry {
11
12
  timestamp: string;
12
13
  operation: AuditOperation;
@@ -36,6 +37,18 @@ export declare function readAuditLog(storePath: string, options?: {
36
37
  operation?: AuditOperation;
37
38
  limit?: number;
38
39
  }): AuditEntry[];
40
+ /**
41
+ * v5.7.0: read audit entries from the central DB's audit_log table.
42
+ *
43
+ * The legacy `readAuditLog(storePath)` reads `.gnosys/.config/audit.jsonl`
44
+ * which post-DB-only is empty for most users. This variant queries the
45
+ * central DB directly and returns entries in the same shape.
46
+ */
47
+ export declare function readAuditFromDb(db: GnosysDB, options?: {
48
+ days?: number;
49
+ operation?: AuditOperation;
50
+ limit?: number;
51
+ }): AuditEntry[];
39
52
  /**
40
53
  * Format audit entries as a human-readable timeline.
41
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/lib/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,WAAW,GACX,SAAS,GACT,UAAU,GACV,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,aAAa,GACb,OAAO,CAAC;AAOZ;;;GAGG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAcjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GACnC,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,UAAU,EAAE,CAwCd;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CA6CjE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAKjC"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/lib/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAItD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,WAAW,GACX,SAAS,GACT,UAAU,GACV,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,aAAa,GACb,OAAO,CAAC;AAOZ;;;GAGG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAcjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GACnC,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,UAAU,EAAE,CAwCd;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,EACZ,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,UAAU,EAAE,CAkCd;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CA6CjE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAKjC"}
package/dist/lib/audit.js CHANGED
@@ -80,6 +80,48 @@ export function readAuditLog(storePath, options) {
80
80
  }
81
81
  return entries;
82
82
  }
83
+ /**
84
+ * v5.7.0: read audit entries from the central DB's audit_log table.
85
+ *
86
+ * The legacy `readAuditLog(storePath)` reads `.gnosys/.config/audit.jsonl`
87
+ * which post-DB-only is empty for most users. This variant queries the
88
+ * central DB directly and returns entries in the same shape.
89
+ */
90
+ export function readAuditFromDb(db, options) {
91
+ if (!db.isAvailable())
92
+ return [];
93
+ let sinceIso;
94
+ if (options?.days) {
95
+ const cutoff = new Date();
96
+ cutoff.setDate(cutoff.getDate() - options.days);
97
+ sinceIso = cutoff.toISOString();
98
+ }
99
+ const rows = db.queryAuditLog({
100
+ sinceIso,
101
+ operation: options?.operation,
102
+ limit: options?.limit,
103
+ });
104
+ return rows.map((row) => {
105
+ const detailsParsed = (() => {
106
+ if (!row.details)
107
+ return undefined;
108
+ try {
109
+ return JSON.parse(row.details);
110
+ }
111
+ catch {
112
+ return { raw: row.details };
113
+ }
114
+ })();
115
+ return {
116
+ timestamp: row.timestamp,
117
+ operation: row.operation,
118
+ memoryId: row.memory_id ?? undefined,
119
+ durationMs: row.duration_ms ?? undefined,
120
+ traceId: row.trace_id ?? undefined,
121
+ details: detailsParsed,
122
+ };
123
+ });
124
+ }
83
125
  /**
84
126
  * Format audit entries as a human-readable timeline.
85
127
  */
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/lib/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/lib/audit.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,15 @@ export interface LLMTurnOptions {
19
19
  onToken: (token: string) => void;
20
20
  /** Recalled memories to inject into the system prompt. Empty disables recall. */
21
21
  recalled?: RecalledMemory[];
22
+ /** Tool-execution status callback (e.g. "calling list_projects..."). Optional. */
23
+ onToolCall?: (info: {
24
+ tool: string;
25
+ args: Record<string, string>;
26
+ result?: string;
27
+ error?: string;
28
+ }) => void;
29
+ /** Maximum tool-call iterations per turn before forcing a final answer. Default 4. */
30
+ maxToolIterations?: number;
22
31
  }
23
32
  export interface LLMTurnResult {
24
33
  text: string;
@@ -26,10 +35,19 @@ export interface LLMTurnResult {
26
35
  model: string;
27
36
  /** Memory IDs surfaced in the system prompt for this turn (used for citations). */
28
37
  recalledIds: string[];
38
+ /** Tool calls executed during this turn (in order), with results. */
39
+ toolCalls?: Array<{
40
+ tool: string;
41
+ args: Record<string, string>;
42
+ result: string;
43
+ }>;
29
44
  }
30
45
  /**
31
- * Run a single turn. Streams via opts.onToken. Returns the full assistant
32
- * response plus the IDs of any memories injected as context.
46
+ * Run a single turn against the LLM. Loops if the assistant emits
47
+ * gnosys-tool fences: each tool is executed in-process, the result is
48
+ * appended as a system-style turn, and the LLM is invoked again. Stops
49
+ * when the assistant produces a turn with no fences (or maxToolIterations
50
+ * is hit).
33
51
  */
34
52
  export declare function runTurn(config: GnosysConfig, opts: LLMTurnOptions): Promise<LLMTurnResult>;
35
53
  /** Build a provider for /provider switching mid-session. */
@@ -1 +1 @@
1
- {"version":3,"file":"llmTurn.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/llmTurn.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAkC,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,cAAc,EAAyB,MAAM,aAAa,CAAC;AAGpE,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,MAAM,EAAE,IAAI,EAAE,CAAC;IACf,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAsBD;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC,CA0BxB;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAC3B,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,eAAe,EAC7B,KAAK,CAAC,EAAE,MAAM,GACb,WAAW,CAGb"}
1
+ {"version":3,"file":"llmTurn.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/llmTurn.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAkC,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,cAAc,EAAyB,MAAM,aAAa,CAAC;AAKpE,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,MAAM,EAAE,IAAI,EAAE,CAAC;IACf,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,kFAAkF;IAClF,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7G,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qEAAqE;IACrE,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnF;AAyBD;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC,CA8DxB;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAC3B,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,eAAe,EAC7B,KAAK,CAAC,EAAE,MAAM,GACb,WAAW,CAGb"}
@@ -9,14 +9,18 @@ import { getProviderModel } from "../config.js";
9
9
  import { getLLMProvider, createProvider } from "../llm.js";
10
10
  import { formatRecallForPrompt } from "./recall.js";
11
11
  import { CHOOSE_SYSTEM_PROMPT_ADDENDUM } from "./choose.js";
12
+ import { buildToolsSystemPrompt, findTool } from "./tools.js";
13
+ import { extractToolFences } from "./toolFence.js";
12
14
  const BASE_SYSTEM_PROMPT = `You are an assistant inside the Gnosys terminal chat — a memory-aware REPL. The user has persistent memory across sessions; relevant memories are injected as <memory id="..."> blocks before their question. Cite memory IDs in square brackets like [deci-037] when you use them. Be concise and direct. Markdown renders.${CHOOSE_SYSTEM_PROMPT_ADDENDUM}`;
13
15
  function composeSystemPrompt(recalled) {
16
+ const toolsAddendum = buildToolsSystemPrompt();
17
+ const base = `${BASE_SYSTEM_PROMPT}\n${toolsAddendum}`;
14
18
  if (!recalled || recalled.length === 0)
15
- return BASE_SYSTEM_PROMPT;
16
- return `${BASE_SYSTEM_PROMPT}\n\n${formatRecallForPrompt(recalled)}`;
19
+ return base;
20
+ return `${base}\n\n${formatRecallForPrompt(recalled)}`;
17
21
  }
18
22
  /** Format the conversation buffer + new input into a single prompt string. */
19
- function buildPrompt(buffer, userInput) {
23
+ function buildPrompt(buffer, userInput, toolPreamble) {
20
24
  const lines = [];
21
25
  for (const turn of buffer) {
22
26
  if (turn.role === "user")
@@ -26,31 +30,69 @@ function buildPrompt(buffer, userInput) {
26
30
  // System turns are not replayed into the prompt (they're TUI-side notices)
27
31
  }
28
32
  lines.push(`User: ${userInput}`);
33
+ if (toolPreamble)
34
+ lines.push(toolPreamble);
29
35
  lines.push(`Assistant:`);
30
36
  return lines.join("\n\n");
31
37
  }
32
38
  /**
33
- * Run a single turn. Streams via opts.onToken. Returns the full assistant
34
- * response plus the IDs of any memories injected as context.
39
+ * Run a single turn against the LLM. Loops if the assistant emits
40
+ * gnosys-tool fences: each tool is executed in-process, the result is
41
+ * appended as a system-style turn, and the LLM is invoked again. Stops
42
+ * when the assistant produces a turn with no fences (or maxToolIterations
43
+ * is hit).
35
44
  */
36
45
  export async function runTurn(config, opts) {
37
- // Phase 2: use the synthesis provider (suitable for free-form chat).
38
- // Future phases may route to a "chat" task type if added to config.
39
46
  const provider = getLLMProvider(config, "synthesis");
40
- const prompt = buildPrompt(opts.buffer, opts.userInput);
41
47
  const system = composeSystemPrompt(opts.recalled);
42
- let full = "";
43
- await provider.generate(prompt, { system, stream: true, maxTokens: 4096 }, {
44
- onToken: (token) => {
45
- full += token;
46
- opts.onToken(token);
47
- },
48
- });
48
+ const maxIterations = opts.maxToolIterations ?? 4;
49
+ const toolCalls = [];
50
+ let toolPreamble;
51
+ let combinedText = "";
52
+ for (let iteration = 0; iteration < maxIterations; iteration++) {
53
+ const prompt = buildPrompt(opts.buffer, opts.userInput, toolPreamble);
54
+ let chunk = "";
55
+ await provider.generate(prompt, { system, stream: true, maxTokens: 4096 }, {
56
+ onToken: (token) => {
57
+ chunk += token;
58
+ opts.onToken(token);
59
+ },
60
+ });
61
+ combinedText += (combinedText ? "\n\n" : "") + chunk;
62
+ // Look for tool fences; if none, this iteration's chunk IS the answer.
63
+ const extraction = extractToolFences(chunk);
64
+ if (!extraction || extraction.calls.length === 0) {
65
+ break;
66
+ }
67
+ // Run each tool, accumulate results into the next prompt as a system block
68
+ const resultBlocks = [];
69
+ for (const call of extraction.calls) {
70
+ const tool = findTool(call.tool);
71
+ if (!tool) {
72
+ opts.onToolCall?.({ tool: call.tool, args: call.args, error: `unknown tool: ${call.tool}` });
73
+ resultBlocks.push(`[tool error] unknown tool: ${call.tool}`);
74
+ continue;
75
+ }
76
+ try {
77
+ const result = await tool.run(call.args);
78
+ toolCalls.push({ tool: call.tool, args: call.args, result });
79
+ opts.onToolCall?.({ tool: call.tool, args: call.args, result });
80
+ resultBlocks.push(`[tool result: ${call.tool}]\n${result}`);
81
+ }
82
+ catch (err) {
83
+ const message = err instanceof Error ? err.message : String(err);
84
+ opts.onToolCall?.({ tool: call.tool, args: call.args, error: message });
85
+ resultBlocks.push(`[tool error: ${call.tool}] ${message}`);
86
+ }
87
+ }
88
+ toolPreamble = resultBlocks.join("\n\n");
89
+ }
49
90
  return {
50
- text: full,
91
+ text: combinedText,
51
92
  provider: provider.name,
52
93
  model: provider.model,
53
94
  recalledIds: (opts.recalled ?? []).map((m) => m.id),
95
+ toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
54
96
  };
55
97
  }
56
98
  /** Build a provider for /provider switching mid-session. */
@@ -1 +1 @@
1
- {"version":3,"file":"llmTurn.js","sourceRoot":"","sources":["../../../src/lib/chat/llmTurn.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAe,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGxE,OAAO,EAAkB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAqB5D,MAAM,kBAAkB,GAAG,+TAA+T,6BAA6B,EAAE,CAAC;AAE1X,SAAS,mBAAmB,CAAC,QAAsC;IACjE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAClE,OAAO,GAAG,kBAAkB,OAAO,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW,CAAC,MAAc,EAAE,SAAiB;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;aACtD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,2EAA2E;IAC7E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAoB,EACpB,IAAoB;IAEpB,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,QAAQ,GAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,QAAQ,CAAC,QAAQ,CACrB,MAAM,EACN,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EACzC;QACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,IAAI,KAAK,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;KACF,CACF,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAC3B,MAAoB,EACpB,YAA6B,EAC7B,KAAc;IAEd,MAAM,aAAa,GAAG,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtE,OAAO,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"llmTurn.js","sourceRoot":"","sources":["../../../src/lib/chat/llmTurn.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/render.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AAyB9D,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAG7D,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,cAAc,CAAC;IAC9B,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,oEAAoE;IACpE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA2rB1C,CAAC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/render.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AAyB9D,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAG7D,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,cAAc,CAAC;IAC9B,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,oEAAoE;IACpE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA4sB1C,CAAC"}
@@ -580,6 +580,24 @@ export const ChatApp = ({ initialHeader, initialBuffer, config, projectId, onExi
580
580
  partial += tok;
581
581
  setStatus({ kind: "streaming", partial });
582
582
  },
583
+ onToolCall: (info) => {
584
+ if (info.error) {
585
+ pushSystem(`tool ${info.tool} failed: ${info.error}`);
586
+ }
587
+ else {
588
+ const argSummary = Object.keys(info.args).length > 0
589
+ ? ` ${Object.entries(info.args).map(([k, v]) => `${k}=${v}`).join(", ")}`
590
+ : "";
591
+ pushSystem(`called ${info.tool}${argSummary}`);
592
+ appendEvent(header.sessionId, {
593
+ type: "command",
594
+ ts: nowIso(),
595
+ name: `tool:${info.tool}`,
596
+ args: Object.entries(info.args).map(([k, v]) => `${k}=${v}`),
597
+ result: info.result?.slice(0, 200),
598
+ });
599
+ }
600
+ },
583
601
  });
584
602
  // Check for gnosys-choose fence — if present, strip it from the
585
603
  // visible turn and surface as an interactive picker.
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/chat/render.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/chat/render.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Parse `gnosys-tool` fenced blocks emitted by the chat LLM.
3
+ *
4
+ * Format:
5
+ * ```gnosys-tool
6
+ * tool: <name>
7
+ * <param>: <value>
8
+ * <param>: <value>
9
+ * ```
10
+ *
11
+ * Supports multiple fences in one assistant turn (the LLM might call list +
12
+ * read in one go). Each parse returns the tool name + key/value args + the
13
+ * surrounding text so the renderer can show the conversation cleanly.
14
+ */
15
+ export interface ParsedToolCall {
16
+ tool: string;
17
+ args: Record<string, string>;
18
+ /** Source text of the full fence (for fail-soft display when needed). */
19
+ rawFence: string;
20
+ }
21
+ export interface ToolFenceExtraction {
22
+ /** Text before any fences. */
23
+ before: string;
24
+ /** Text after the last fence. */
25
+ after: string;
26
+ /** Each parsed tool call in order of appearance. */
27
+ calls: ParsedToolCall[];
28
+ /** Errors keyed to the index in `calls` they would have occupied. */
29
+ parseErrors: Array<{
30
+ rawFence: string;
31
+ reason: string;
32
+ }>;
33
+ }
34
+ /**
35
+ * Extract every gnosys-tool fence in the text. Returns the text between
36
+ * fences alongside the parsed calls. Failed parses are surfaced separately
37
+ * so the renderer can warn without breaking the chat.
38
+ */
39
+ export declare function extractToolFences(text: string): ToolFenceExtraction | null;
40
+ /**
41
+ * Parse the body of a gnosys-tool fence into { tool, args }.
42
+ *
43
+ * Schema:
44
+ * tool: <name> # required
45
+ * <param>: <value> # zero or more
46
+ *
47
+ * Whitespace and trailing punctuation are tolerated. Comments (lines
48
+ * starting with `#`) are ignored.
49
+ */
50
+ export declare function parseToolBody(body: string): {
51
+ tool: string;
52
+ args: Record<string, string>;
53
+ };
54
+ //# sourceMappingURL=toolFence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolFence.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/toolFence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,qEAAqE;IACrE,WAAW,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAuC1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAoB1F"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Parse `gnosys-tool` fenced blocks emitted by the chat LLM.
3
+ *
4
+ * Format:
5
+ * ```gnosys-tool
6
+ * tool: <name>
7
+ * <param>: <value>
8
+ * <param>: <value>
9
+ * ```
10
+ *
11
+ * Supports multiple fences in one assistant turn (the LLM might call list +
12
+ * read in one go). Each parse returns the tool name + key/value args + the
13
+ * surrounding text so the renderer can show the conversation cleanly.
14
+ */
15
+ const FENCE_RE = /```\s*gnosys-tool\s*\n([\s\S]*?)```/g;
16
+ /**
17
+ * Extract every gnosys-tool fence in the text. Returns the text between
18
+ * fences alongside the parsed calls. Failed parses are surfaced separately
19
+ * so the renderer can warn without breaking the chat.
20
+ */
21
+ export function extractToolFences(text) {
22
+ const calls = [];
23
+ const parseErrors = [];
24
+ const fences = [];
25
+ let match;
26
+ // Reset lastIndex since we use a global regex
27
+ FENCE_RE.lastIndex = 0;
28
+ while ((match = FENCE_RE.exec(text)) !== null) {
29
+ fences.push({
30
+ start: match.index,
31
+ end: match.index + match[0].length,
32
+ raw: match[0],
33
+ body: match[1].trim(),
34
+ });
35
+ }
36
+ if (fences.length === 0)
37
+ return null;
38
+ for (const f of fences) {
39
+ try {
40
+ const parsed = parseToolBody(f.body);
41
+ if (!parsed.tool) {
42
+ parseErrors.push({ rawFence: f.raw, reason: "missing `tool:` line" });
43
+ continue;
44
+ }
45
+ calls.push({ tool: parsed.tool, args: parsed.args, rawFence: f.raw });
46
+ }
47
+ catch (err) {
48
+ parseErrors.push({
49
+ rawFence: f.raw,
50
+ reason: err instanceof Error ? err.message : String(err),
51
+ });
52
+ }
53
+ }
54
+ const before = text.slice(0, fences[0].start).trimEnd();
55
+ const after = text.slice(fences[fences.length - 1].end).trimStart();
56
+ return { before, after, calls, parseErrors };
57
+ }
58
+ /**
59
+ * Parse the body of a gnosys-tool fence into { tool, args }.
60
+ *
61
+ * Schema:
62
+ * tool: <name> # required
63
+ * <param>: <value> # zero or more
64
+ *
65
+ * Whitespace and trailing punctuation are tolerated. Comments (lines
66
+ * starting with `#`) are ignored.
67
+ */
68
+ export function parseToolBody(body) {
69
+ const lines = body.replace(/\r\n/g, "\n").split("\n");
70
+ let tool = "";
71
+ const args = {};
72
+ for (const raw of lines) {
73
+ const line = raw.trim();
74
+ if (!line || line.startsWith("#"))
75
+ continue;
76
+ const m = line.match(/^([a-z_][a-z0-9_-]*)\s*:\s*(.+?)\s*$/i);
77
+ if (!m)
78
+ continue;
79
+ const key = m[1];
80
+ const value = m[2];
81
+ if (key.toLowerCase() === "tool") {
82
+ tool = value;
83
+ }
84
+ else {
85
+ args[key] = value;
86
+ }
87
+ }
88
+ return { tool, args };
89
+ }
90
+ //# sourceMappingURL=toolFence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolFence.js","sourceRoot":"","sources":["../../../src/lib/chat/toolFence.ts"],"names":[],"mappings":"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"}