@tianshu-ai/tianshu 0.67.2 → 0.68.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.
Files changed (90) hide show
  1. package/node_modules/@tianshu-ai/plugin-sdk/dist/index.d.ts +1 -0
  2. package/node_modules/@tianshu-ai/plugin-sdk/dist/index.d.ts.map +1 -1
  3. package/node_modules/@tianshu-ai/plugin-sdk/dist/index.js +1 -0
  4. package/node_modules/@tianshu-ai/plugin-sdk/dist/index.js.map +1 -1
  5. package/node_modules/@tianshu-ai/plugin-sdk/dist/toon.d.ts +36 -0
  6. package/node_modules/@tianshu-ai/plugin-sdk/dist/toon.d.ts.map +1 -0
  7. package/node_modules/@tianshu-ai/plugin-sdk/dist/toon.js +88 -0
  8. package/node_modules/@tianshu-ai/plugin-sdk/dist/toon.js.map +1 -0
  9. package/node_modules/@tianshu-ai/plugin-sdk/src/index.ts +1 -0
  10. package/node_modules/@tianshu-ai/plugin-sdk/src/toon.ts +84 -0
  11. package/package.json +1 -1
  12. package/packages/plugin-sdk/dist/index.d.ts +1 -0
  13. package/packages/plugin-sdk/dist/index.d.ts.map +1 -1
  14. package/packages/plugin-sdk/dist/index.js +1 -0
  15. package/packages/plugin-sdk/dist/index.js.map +1 -1
  16. package/packages/plugin-sdk/dist/toon.d.ts +36 -0
  17. package/packages/plugin-sdk/dist/toon.d.ts.map +1 -0
  18. package/packages/plugin-sdk/dist/toon.js +88 -0
  19. package/packages/plugin-sdk/dist/toon.js.map +1 -0
  20. package/packages/server/builtinConfig/plugins/datasource/manifest.json +1 -1
  21. package/packages/server/dist/chat/agent-loop.d.ts.map +1 -1
  22. package/packages/server/dist/chat/agent-loop.js +3 -0
  23. package/packages/server/dist/chat/agent-loop.js.map +1 -1
  24. package/packages/server/dist/chat/agent-tool-adapter.d.ts.map +1 -1
  25. package/packages/server/dist/chat/agent-tool-adapter.js +13 -1
  26. package/packages/server/dist/chat/agent-tool-adapter.js.map +1 -1
  27. package/packages/server/dist/chat/handler.d.ts.map +1 -1
  28. package/packages/server/dist/chat/handler.js +15 -43
  29. package/packages/server/dist/chat/handler.js.map +1 -1
  30. package/packages/server/dist/chat/host-tools/recall-tools.d.ts.map +1 -1
  31. package/packages/server/dist/chat/host-tools/recall-tools.js +3 -4
  32. package/packages/server/dist/chat/host-tools/recall-tools.js.map +1 -1
  33. package/packages/server/dist/chat/host-tools/solution-tool.d.ts.map +1 -1
  34. package/packages/server/dist/chat/host-tools/solution-tool.js +5 -4
  35. package/packages/server/dist/chat/host-tools/solution-tool.js.map +1 -1
  36. package/packages/server/dist/chat/repair-lane-state.d.ts +3 -0
  37. package/packages/server/dist/chat/repair-lane-state.d.ts.map +1 -0
  38. package/packages/server/dist/chat/repair-lane-state.js +48 -0
  39. package/packages/server/dist/chat/repair-lane-state.js.map +1 -0
  40. package/packages/web/dist/assets/DataSourceConfigForm-DZwpjn9T.js +1 -0
  41. package/packages/web/dist/assets/{bundle-web-CCSCC2uj.js → bundle-web-GZ-GMV8k.js} +1 -1
  42. package/packages/web/dist/assets/{index-3Rb4XL9Q.js → index-DF_F7aWZ.js} +6 -5
  43. package/packages/web/dist/assets/{react-force-graph-2d-DZFwZCFu.js → react-force-graph-2d-BkjVkSQz.js} +1 -1
  44. package/packages/web/dist/index.html +1 -1
  45. package/plugins/board/dist/server.d.ts.map +1 -1
  46. package/plugins/board/dist/server.js +4 -1
  47. package/plugins/board/dist/server.js.map +2 -2
  48. package/plugins/datasource/dist/client.d.ts.map +1 -1
  49. package/plugins/datasource/dist/client.js +3 -1
  50. package/plugins/datasource/dist/client.js.map +1 -1
  51. package/plugins/datasource/dist/connection-pool.d.ts +5 -5
  52. package/plugins/datasource/dist/connection-pool.d.ts.map +1 -1
  53. package/plugins/datasource/dist/connection-pool.js +34 -20
  54. package/plugins/datasource/dist/connection-pool.js.map +1 -1
  55. package/plugins/datasource/dist/drivers/index.d.ts.map +1 -1
  56. package/plugins/datasource/dist/drivers/index.js +4 -0
  57. package/plugins/datasource/dist/drivers/index.js.map +1 -1
  58. package/plugins/datasource/dist/drivers/interface.d.ts +3 -3
  59. package/plugins/datasource/dist/drivers/interface.d.ts.map +1 -1
  60. package/plugins/datasource/dist/drivers/mysql.js +1 -1
  61. package/plugins/datasource/dist/drivers/mysql.js.map +1 -1
  62. package/plugins/datasource/dist/drivers/neo4j.d.ts.map +1 -1
  63. package/plugins/datasource/dist/drivers/neo4j.js +2 -1
  64. package/plugins/datasource/dist/drivers/neo4j.js.map +1 -1
  65. package/plugins/datasource/dist/drivers/rest.d.ts +19 -0
  66. package/plugins/datasource/dist/drivers/rest.d.ts.map +1 -0
  67. package/plugins/datasource/dist/drivers/rest.js +312 -0
  68. package/plugins/datasource/dist/drivers/rest.js.map +1 -0
  69. package/plugins/datasource/dist/server.d.ts.map +1 -1
  70. package/plugins/datasource/dist/server.js +29 -5
  71. package/plugins/datasource/dist/server.js.map +1 -1
  72. package/plugins/datasource/dist/tools/execute.d.ts.map +1 -1
  73. package/plugins/datasource/dist/tools/execute.js +13 -7
  74. package/plugins/datasource/dist/tools/execute.js.map +1 -1
  75. package/plugins/datasource/dist/tools/list.d.ts.map +1 -1
  76. package/plugins/datasource/dist/tools/list.js +2 -2
  77. package/plugins/datasource/dist/tools/list.js.map +1 -1
  78. package/plugins/datasource/dist/tools/query.d.ts.map +1 -1
  79. package/plugins/datasource/dist/tools/query.js +27 -7
  80. package/plugins/datasource/dist/tools/query.js.map +1 -1
  81. package/plugins/datasource/dist/tools/schema.d.ts.map +1 -1
  82. package/plugins/datasource/dist/tools/schema.js +2 -2
  83. package/plugins/datasource/dist/tools/schema.js.map +1 -1
  84. package/plugins/datasource/manifest.json +1 -1
  85. package/plugins/wiki/dist/server.js +2 -1
  86. package/plugins/wiki/dist/server.js.map +2 -2
  87. package/plugins/wiki/dist/sessions.d.ts.map +1 -1
  88. package/plugins/wiki/dist/sessions.js +5 -1
  89. package/plugins/wiki/dist/sessions.js.map +1 -1
  90. package/packages/web/dist/assets/DataSourceConfigForm-h83wW9V0.js +0 -1
@@ -11,5 +11,6 @@ export * from "./channel-bindings.js";
11
11
  export * from "./wiki-ingest.js";
12
12
  export * from "./workforce-snapshot.js";
13
13
  export * from "./solution.js";
14
+ export * from "./toon.js";
14
15
  export { McpToolset, textOfMcpContent, extractMcpUiResources, type McpUiResource, type McpEndpointResolver, type McpToolDescriptor, type McpToolFilter, type McpToolsetEntry, type McpToolsetOptions, type McpToolsetSnapshot, type ToolsetProvider, } from "./mcp-toolset.js";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
@@ -21,5 +21,6 @@ export * from "./channel-bindings.js";
21
21
  export * from "./wiki-ingest.js";
22
22
  export * from "./workforce-snapshot.js";
23
23
  export * from "./solution.js";
24
+ export * from "./toon.js";
24
25
  export { McpToolset, textOfMcpContent, extractMcpUiResources, } from "./mcp-toolset.js";
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,iCAAiC;AACjC,EAAE;AACF,wEAAwE;AACxE,iEAAiE;AACjE,0BAA0B;AAE1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,GAStB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,iCAAiC;AACjC,EAAE;AACF,wEAAwE;AACxE,iEAAiE;AACjE,0BAA0B;AAE1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,GAStB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * TOON — Token-Optimised Object Notation.
3
+ *
4
+ * Compact human/LLM-readable serialisation that drops JSON's quotes,
5
+ * braces, and brackets. Designed for agent tool results where the
6
+ * consumer is an LLM, not a JSON parser.
7
+ *
8
+ * toon({ id: 1, user: { name: "Yu" }, tags: [1,2] })
9
+ * → "id:1, user.name:Yu, tags:1, 2"
10
+ *
11
+ * Rules:
12
+ * - Plain objects → "key:value" pairs, comma-separated.
13
+ * - Nested objects → dot-notation keys (user.name:Yu).
14
+ * - Arrays → comma-separated values (no brackets).
15
+ * - Strings without commas/colons → unquoted.
16
+ * - Strings with commas/colons → double-quoted.
17
+ * - null/undefined → empty string.
18
+ * - Max depth 4 to prevent runaway recursion.
19
+ */
20
+ /**
21
+ * Convert any value to TOON string for tool result text.
22
+ *
23
+ * For arrays of objects (table-like data), use `toonRows()` which
24
+ * produces a more readable multi-line format.
25
+ */
26
+ export declare function toon(data: unknown): string;
27
+ /**
28
+ * Format an array of objects as a compact multi-line table.
29
+ * First line is column headers, rest are values.
30
+ * Falls back to toon() for non-tabular data.
31
+ *
32
+ * toonRows([{ name: "a", score: 1 }, { name: "b", score: 2 }])
33
+ * → "name | score\na | 1\nb | 2"
34
+ */
35
+ export declare function toonRows(rows: unknown[], columns?: string[]): string;
36
+ //# sourceMappingURL=toon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toon.d.ts","sourceRoot":"","sources":["../src/toon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAyBH;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAc1C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAUpE"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * TOON — Token-Optimised Object Notation.
3
+ *
4
+ * Compact human/LLM-readable serialisation that drops JSON's quotes,
5
+ * braces, and brackets. Designed for agent tool results where the
6
+ * consumer is an LLM, not a JSON parser.
7
+ *
8
+ * toon({ id: 1, user: { name: "Yu" }, tags: [1,2] })
9
+ * → "id:1, user.name:Yu, tags:1, 2"
10
+ *
11
+ * Rules:
12
+ * - Plain objects → "key:value" pairs, comma-separated.
13
+ * - Nested objects → dot-notation keys (user.name:Yu).
14
+ * - Arrays → comma-separated values (no brackets).
15
+ * - Strings without commas/colons → unquoted.
16
+ * - Strings with commas/colons → double-quoted.
17
+ * - null/undefined → empty string.
18
+ * - Max depth 4 to prevent runaway recursion.
19
+ */
20
+ const NEEDS_QUOTE = /[,:\n]/;
21
+ function formatValue(v, depth) {
22
+ if (v === null || v === undefined)
23
+ return "";
24
+ if (Array.isArray(v))
25
+ return v.map((item) => formatValue(item, depth)).join(", ");
26
+ if (typeof v === "object")
27
+ return toonPairs(v, "", depth);
28
+ const s = String(v);
29
+ return NEEDS_QUOTE.test(s) ? `"${s}"` : s;
30
+ }
31
+ function toonPairs(obj, prefix, depth) {
32
+ const parts = [];
33
+ for (const [k, v] of Object.entries(obj)) {
34
+ const key = prefix ? `${prefix}.${k}` : k;
35
+ if (v !== null && typeof v === "object" && !Array.isArray(v) && depth < 4) {
36
+ parts.push(toonPairs(v, key, depth + 1));
37
+ }
38
+ else {
39
+ parts.push(`${key}:${formatValue(v, depth + 1)}`);
40
+ }
41
+ }
42
+ return parts.join(", ");
43
+ }
44
+ /**
45
+ * Convert any value to TOON string for tool result text.
46
+ *
47
+ * For arrays of objects (table-like data), use `toonRows()` which
48
+ * produces a more readable multi-line format.
49
+ */
50
+ export function toon(data) {
51
+ if (data === null || data === undefined)
52
+ return "";
53
+ if (Array.isArray(data)) {
54
+ if (data.length === 0)
55
+ return "[]";
56
+ if (typeof data[0] === "object" && data[0] !== null) {
57
+ // Array of objects → one line per item
58
+ return data.map((item) => toon(item)).join("\n");
59
+ }
60
+ return data.map((item) => formatValue(item, 0)).join(", ");
61
+ }
62
+ if (typeof data === "object") {
63
+ return toonPairs(data, "", 0);
64
+ }
65
+ return String(data);
66
+ }
67
+ /**
68
+ * Format an array of objects as a compact multi-line table.
69
+ * First line is column headers, rest are values.
70
+ * Falls back to toon() for non-tabular data.
71
+ *
72
+ * toonRows([{ name: "a", score: 1 }, { name: "b", score: 2 }])
73
+ * → "name | score\na | 1\nb | 2"
74
+ */
75
+ export function toonRows(rows, columns) {
76
+ if (rows.length === 0)
77
+ return "(empty)";
78
+ if (typeof rows[0] !== "object" || rows[0] === null)
79
+ return toon(rows);
80
+ const cols = columns ?? [...new Set(rows.flatMap((r) => Object.keys(r)))];
81
+ const header = cols.join(" | ");
82
+ const body = rows.map((r) => {
83
+ const obj = r;
84
+ return cols.map((c) => formatValue(obj[c], 0)).join(" | ");
85
+ });
86
+ return [header, ...body].join("\n");
87
+ }
88
+ //# sourceMappingURL=toon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toon.js","sourceRoot":"","sources":["../src/toon.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export * from "./channel-bindings.js";
22
22
  export * from "./wiki-ingest.js";
23
23
  export * from "./workforce-snapshot.js";
24
24
  export * from "./solution.js";
25
+ export * from "./toon.js";
25
26
  export {
26
27
  McpToolset,
27
28
  textOfMcpContent,
@@ -0,0 +1,84 @@
1
+ /**
2
+ * TOON — Token-Optimised Object Notation.
3
+ *
4
+ * Compact human/LLM-readable serialisation that drops JSON's quotes,
5
+ * braces, and brackets. Designed for agent tool results where the
6
+ * consumer is an LLM, not a JSON parser.
7
+ *
8
+ * toon({ id: 1, user: { name: "Yu" }, tags: [1,2] })
9
+ * → "id:1, user.name:Yu, tags:1, 2"
10
+ *
11
+ * Rules:
12
+ * - Plain objects → "key:value" pairs, comma-separated.
13
+ * - Nested objects → dot-notation keys (user.name:Yu).
14
+ * - Arrays → comma-separated values (no brackets).
15
+ * - Strings without commas/colons → unquoted.
16
+ * - Strings with commas/colons → double-quoted.
17
+ * - null/undefined → empty string.
18
+ * - Max depth 4 to prevent runaway recursion.
19
+ */
20
+
21
+ const NEEDS_QUOTE = /[,:\n]/;
22
+
23
+ function formatValue(v: unknown, depth: number): string {
24
+ if (v === null || v === undefined) return "";
25
+ if (Array.isArray(v)) return v.map((item) => formatValue(item, depth)).join(", ");
26
+ if (typeof v === "object") return toonPairs(v as Record<string, unknown>, "", depth);
27
+ const s = String(v);
28
+ return NEEDS_QUOTE.test(s) ? `"${s}"` : s;
29
+ }
30
+
31
+ function toonPairs(obj: Record<string, unknown>, prefix: string, depth: number): string {
32
+ const parts: string[] = [];
33
+ for (const [k, v] of Object.entries(obj)) {
34
+ const key = prefix ? `${prefix}.${k}` : k;
35
+ if (v !== null && typeof v === "object" && !Array.isArray(v) && depth < 4) {
36
+ parts.push(toonPairs(v as Record<string, unknown>, key, depth + 1));
37
+ } else {
38
+ parts.push(`${key}:${formatValue(v, depth + 1)}`);
39
+ }
40
+ }
41
+ return parts.join(", ");
42
+ }
43
+
44
+ /**
45
+ * Convert any value to TOON string for tool result text.
46
+ *
47
+ * For arrays of objects (table-like data), use `toonRows()` which
48
+ * produces a more readable multi-line format.
49
+ */
50
+ export function toon(data: unknown): string {
51
+ if (data === null || data === undefined) return "";
52
+ if (Array.isArray(data)) {
53
+ if (data.length === 0) return "[]";
54
+ if (typeof data[0] === "object" && data[0] !== null) {
55
+ // Array of objects → one line per item
56
+ return data.map((item) => toon(item)).join("\n");
57
+ }
58
+ return data.map((item) => formatValue(item, 0)).join(", ");
59
+ }
60
+ if (typeof data === "object") {
61
+ return toonPairs(data as Record<string, unknown>, "", 0);
62
+ }
63
+ return String(data);
64
+ }
65
+
66
+ /**
67
+ * Format an array of objects as a compact multi-line table.
68
+ * First line is column headers, rest are values.
69
+ * Falls back to toon() for non-tabular data.
70
+ *
71
+ * toonRows([{ name: "a", score: 1 }, { name: "b", score: 2 }])
72
+ * → "name | score\na | 1\nb | 2"
73
+ */
74
+ export function toonRows(rows: unknown[], columns?: string[]): string {
75
+ if (rows.length === 0) return "(empty)";
76
+ if (typeof rows[0] !== "object" || rows[0] === null) return toon(rows);
77
+ const cols = columns ?? [...new Set(rows.flatMap((r) => Object.keys(r as object)))];
78
+ const header = cols.join(" | ");
79
+ const body = rows.map((r) => {
80
+ const obj = r as Record<string, unknown>;
81
+ return cols.map((c) => formatValue(obj[c], 0)).join(" | ");
82
+ });
83
+ return [header, ...body].join("\n");
84
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tianshu-ai/tianshu",
3
- "version": "0.67.2",
3
+ "version": "0.68.1",
4
4
  "description": "An open AI agent platform with a sidecar browser. Built in public.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/tianshu-ai/tianshu",
@@ -11,5 +11,6 @@ export * from "./channel-bindings.js";
11
11
  export * from "./wiki-ingest.js";
12
12
  export * from "./workforce-snapshot.js";
13
13
  export * from "./solution.js";
14
+ export * from "./toon.js";
14
15
  export { McpToolset, textOfMcpContent, extractMcpUiResources, type McpUiResource, type McpEndpointResolver, type McpToolDescriptor, type McpToolFilter, type McpToolsetEntry, type McpToolsetOptions, type McpToolsetSnapshot, type ToolsetProvider, } from "./mcp-toolset.js";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
@@ -21,5 +21,6 @@ export * from "./channel-bindings.js";
21
21
  export * from "./wiki-ingest.js";
22
22
  export * from "./workforce-snapshot.js";
23
23
  export * from "./solution.js";
24
+ export * from "./toon.js";
24
25
  export { McpToolset, textOfMcpContent, extractMcpUiResources, } from "./mcp-toolset.js";
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,iCAAiC;AACjC,EAAE;AACF,wEAAwE;AACxE,iEAAiE;AACjE,0BAA0B;AAE1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,GAStB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,iCAAiC;AACjC,EAAE;AACF,wEAAwE;AACxE,iEAAiE;AACjE,0BAA0B;AAE1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,GAStB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * TOON — Token-Optimised Object Notation.
3
+ *
4
+ * Compact human/LLM-readable serialisation that drops JSON's quotes,
5
+ * braces, and brackets. Designed for agent tool results where the
6
+ * consumer is an LLM, not a JSON parser.
7
+ *
8
+ * toon({ id: 1, user: { name: "Yu" }, tags: [1,2] })
9
+ * → "id:1, user.name:Yu, tags:1, 2"
10
+ *
11
+ * Rules:
12
+ * - Plain objects → "key:value" pairs, comma-separated.
13
+ * - Nested objects → dot-notation keys (user.name:Yu).
14
+ * - Arrays → comma-separated values (no brackets).
15
+ * - Strings without commas/colons → unquoted.
16
+ * - Strings with commas/colons → double-quoted.
17
+ * - null/undefined → empty string.
18
+ * - Max depth 4 to prevent runaway recursion.
19
+ */
20
+ /**
21
+ * Convert any value to TOON string for tool result text.
22
+ *
23
+ * For arrays of objects (table-like data), use `toonRows()` which
24
+ * produces a more readable multi-line format.
25
+ */
26
+ export declare function toon(data: unknown): string;
27
+ /**
28
+ * Format an array of objects as a compact multi-line table.
29
+ * First line is column headers, rest are values.
30
+ * Falls back to toon() for non-tabular data.
31
+ *
32
+ * toonRows([{ name: "a", score: 1 }, { name: "b", score: 2 }])
33
+ * → "name | score\na | 1\nb | 2"
34
+ */
35
+ export declare function toonRows(rows: unknown[], columns?: string[]): string;
36
+ //# sourceMappingURL=toon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toon.d.ts","sourceRoot":"","sources":["../src/toon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAyBH;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAc1C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAUpE"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * TOON — Token-Optimised Object Notation.
3
+ *
4
+ * Compact human/LLM-readable serialisation that drops JSON's quotes,
5
+ * braces, and brackets. Designed for agent tool results where the
6
+ * consumer is an LLM, not a JSON parser.
7
+ *
8
+ * toon({ id: 1, user: { name: "Yu" }, tags: [1,2] })
9
+ * → "id:1, user.name:Yu, tags:1, 2"
10
+ *
11
+ * Rules:
12
+ * - Plain objects → "key:value" pairs, comma-separated.
13
+ * - Nested objects → dot-notation keys (user.name:Yu).
14
+ * - Arrays → comma-separated values (no brackets).
15
+ * - Strings without commas/colons → unquoted.
16
+ * - Strings with commas/colons → double-quoted.
17
+ * - null/undefined → empty string.
18
+ * - Max depth 4 to prevent runaway recursion.
19
+ */
20
+ const NEEDS_QUOTE = /[,:\n]/;
21
+ function formatValue(v, depth) {
22
+ if (v === null || v === undefined)
23
+ return "";
24
+ if (Array.isArray(v))
25
+ return v.map((item) => formatValue(item, depth)).join(", ");
26
+ if (typeof v === "object")
27
+ return toonPairs(v, "", depth);
28
+ const s = String(v);
29
+ return NEEDS_QUOTE.test(s) ? `"${s}"` : s;
30
+ }
31
+ function toonPairs(obj, prefix, depth) {
32
+ const parts = [];
33
+ for (const [k, v] of Object.entries(obj)) {
34
+ const key = prefix ? `${prefix}.${k}` : k;
35
+ if (v !== null && typeof v === "object" && !Array.isArray(v) && depth < 4) {
36
+ parts.push(toonPairs(v, key, depth + 1));
37
+ }
38
+ else {
39
+ parts.push(`${key}:${formatValue(v, depth + 1)}`);
40
+ }
41
+ }
42
+ return parts.join(", ");
43
+ }
44
+ /**
45
+ * Convert any value to TOON string for tool result text.
46
+ *
47
+ * For arrays of objects (table-like data), use `toonRows()` which
48
+ * produces a more readable multi-line format.
49
+ */
50
+ export function toon(data) {
51
+ if (data === null || data === undefined)
52
+ return "";
53
+ if (Array.isArray(data)) {
54
+ if (data.length === 0)
55
+ return "[]";
56
+ if (typeof data[0] === "object" && data[0] !== null) {
57
+ // Array of objects → one line per item
58
+ return data.map((item) => toon(item)).join("\n");
59
+ }
60
+ return data.map((item) => formatValue(item, 0)).join(", ");
61
+ }
62
+ if (typeof data === "object") {
63
+ return toonPairs(data, "", 0);
64
+ }
65
+ return String(data);
66
+ }
67
+ /**
68
+ * Format an array of objects as a compact multi-line table.
69
+ * First line is column headers, rest are values.
70
+ * Falls back to toon() for non-tabular data.
71
+ *
72
+ * toonRows([{ name: "a", score: 1 }, { name: "b", score: 2 }])
73
+ * → "name | score\na | 1\nb | 2"
74
+ */
75
+ export function toonRows(rows, columns) {
76
+ if (rows.length === 0)
77
+ return "(empty)";
78
+ if (typeof rows[0] !== "object" || rows[0] === null)
79
+ return toon(rows);
80
+ const cols = columns ?? [...new Set(rows.flatMap((r) => Object.keys(r)))];
81
+ const header = cols.join(" | ");
82
+ const body = rows.map((r) => {
83
+ const obj = r;
84
+ return cols.map((c) => formatValue(obj[c], 0)).join(" | ");
85
+ });
86
+ return [header, ...body].join("\n");
87
+ }
88
+ //# sourceMappingURL=toon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toon.js","sourceRoot":"","sources":["../src/toon.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@
36
36
  "systemPromptFragments": [
37
37
  {
38
38
  "id": "datasource-tools",
39
- "text": "Data Source tools: ds_list (list connections), ds_query (read query), ds_execute (write query), ds_schema (inspect schema), ds_panel (push query to UI panel).\n\nWhen creating Board apps (HTML dashboards), use the injected board.ds() API to query databases directly from the board:\n\n const { connections } = await board.dsList()\n // connections: [{name, type, description}]\n\n const { columns, rows, rowCount, error } = await board.ds(source, query, params?)\n // source: data source name from dsList()\n // query: SQL or Cypher string\n // params: optional query parameters object\n\nExample:\n const { rows } = await board.ds('helu-graph', 'MATCH (p:Product) RETURN p.title, p.price LIMIT 10');\n rows.forEach(r => console.log(r['p.title']));\n\nboard.ds() and board.dsList() are available globally on window.board in any board app. No API keys needed."
39
+ "text": "Data Source tools: ds_list (list connections), ds_query (read query), ds_execute (write query), ds_schema (inspect schema), ds_panel (push query to UI panel).\nSupported types: MySQL (SQL), Neo4j (Cypher), REST API (HTTP method + path, e.g. 'GET /users?limit=10').\n\nWhen creating Board apps (HTML dashboards), use the injected board.ds() API to query databases directly from the board:\n\n const { connections } = await board.dsList()\n // connections: [{name, type, description}]\n\n const { columns, rows, rowCount, error } = await board.ds(source, query, params?)\n // source: data source name from dsList()\n // query: SQL or Cypher string\n // params: optional query parameters object\n\nExample:\n const { rows } = await board.ds('helu-graph', 'MATCH (p:Product) RETURN p.title, p.price LIMIT 10');\n rows.forEach(r => console.log(r['p.title']));\n\nboard.ds() and board.dsList() are available globally on window.board in any board app. No API keys needed."
40
40
  }
41
41
  ],
42
42
  "apiRoutes": [
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../src/chat/agent-loop.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA4BtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAMlE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;oDAEgD;IAChD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;2CAGuC;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;yDAGqD;IACrD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;iEAE6D;IAC7D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gDAAgD;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iEAAiE;IACjE,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;0EACsE;IACtE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,wBAAwB,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9E;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EACF,eAAe,GACf,eAAe,GACf,wBAAwB,GACxB,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,cAAc,GACd,WAAW,CAAC;CACjB;AAeD,wBAAsB,YAAY,CAChC,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,CA8sB1B"}
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../src/chat/agent-loop.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA4BtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAOlE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;oDAEgD;IAChD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;2CAGuC;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;yDAGqD;IACrD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;iEAE6D;IAC7D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gDAAgD;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iEAAiE;IACjE,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;0EACsE;IACtE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,wBAAwB,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9E;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EACF,eAAe,GACf,eAAe,GACf,wBAAwB,GACxB,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,cAAc,GACd,WAAW,CAAC;CACjB;AAeD,wBAAsB,YAAY,CAChC,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,CAitB1B"}
@@ -30,6 +30,7 @@ import { defaultSystemPrompt, formatOutputLanguageLine, formatAvailableSkillsBlo
30
30
  import { loadTenantSkills } from "../core/tenant-skills.js";
31
31
  import { loadWorkerExecutionBiasOverride } from "../core/worker-agents-fs.js";
32
32
  import { adaptToolset } from "./agent-tool-adapter.js";
33
+ import { repairStaleLaneOperations } from "./repair-lane-state.js";
33
34
  import { buildHostTools, getCompactRef } from "./host-tools.js";
34
35
  import { SqliteSessionRepo } from "./sqlite-session-repo.js";
35
36
  import { matchesAny } from "../core/glob-match.js";
@@ -436,6 +437,8 @@ export async function runAgentLoop(req) {
436
437
  return;
437
438
  }
438
439
  }, TICK_MS);
440
+ // Repair stale lane operation refs before harness restore.
441
+ repairStaleLaneOperations(ctx.db, sessionMeta.id);
439
442
  // pi 0.85: `AgentHarness` is no longer a class — use the static
440
443
  // `AgentHarness.create(options, context)` factory. It returns
441
444
  // `{ harness, open }`; we ignore the `open` operations list
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/chat/agent-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/chat/agent-loop.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tool-adapter.d.ts","sourceRoot":"","sources":["../../src/chat/agent-tool-adapter.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,SAAS,IAAI,WAAW,EAEzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb;;;gEAG4D;IAC5D,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAsBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAoB/D;AAED,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB;mEAC+D;IAC/D,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACjC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAoH7D;AAED;;qEAEqE;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAIvD"}
1
+ {"version":3,"file":"agent-tool-adapter.d.ts","sourceRoot":"","sources":["../../src/chat/agent-tool-adapter.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,SAAS,IAAI,WAAW,EAEzB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb;;;gEAG4D;IAC5D,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAsBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CA+B/D;AAED,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB;mEAC+D;IAC/D,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACjC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAoH7D;AAED;;qEAEqE;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAIvD"}
@@ -22,6 +22,7 @@
22
22
  // "soft failures" via the ToolResultMessage's `isError` flag, but
23
23
  // tianshu plugins want them to be visible to the LLM verbatim.
24
24
  // Tracked in workers.md §7.2.
25
+ import { toon } from "@tianshu-ai/plugin-sdk";
25
26
  /** Normalise a plugin-returned `images` field (each entry may be a
26
27
  * `{ base64, mimeType }` or a data: URL string) into the internal
27
28
  * shape. Silently drops malformed entries. */
@@ -66,6 +67,17 @@ export function normaliseToolResult(out) {
66
67
  const r = out;
67
68
  return { ok: r.ok, text: r.text, images: extractImages(out) };
68
69
  }
70
+ // pi-style { content: [{ type: "text", text }], isError? } — extract
71
+ // text from content blocks instead of JSON-stringifying the wrapper.
72
+ if (out && typeof out === "object" && Array.isArray(out.content)) {
73
+ const r = out;
74
+ const text = r.content
75
+ .filter((b) => b.type === "text" && typeof b.text === "string")
76
+ .map((b) => b.text)
77
+ .join("\n");
78
+ const ok = r.isError !== true;
79
+ return { ok, text, images: extractImages(out) };
80
+ }
69
81
  if (out && typeof out === "object") {
70
82
  const r = out;
71
83
  let ok = true;
@@ -75,7 +87,7 @@ export function normaliseToolResult(out) {
75
87
  ok = r.exit_code === 0;
76
88
  else if (typeof r.state === "string")
77
89
  ok = r.state !== "error" && r.state !== "failed";
78
- return { ok, text: JSON.stringify(out) };
90
+ return { ok, text: toon(out) };
79
91
  }
80
92
  return { ok: true, text: String(out ?? "") };
81
93
  }