@windowkit/agent-chat 0.0.0-stage → 0.1.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 (164) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +147 -2
  3. package/dist/core/driver.d.ts +183 -0
  4. package/dist/core/driver.d.ts.map +1 -0
  5. package/dist/core/driver.js +12 -0
  6. package/dist/core/driver.js.map +1 -0
  7. package/dist/core/index.d.ts +8 -0
  8. package/dist/core/index.d.ts.map +1 -0
  9. package/dist/core/index.js +11 -0
  10. package/dist/core/index.js.map +1 -0
  11. package/dist/core/markdown.d.ts +7 -0
  12. package/dist/core/markdown.d.ts.map +1 -0
  13. package/dist/core/markdown.js +53 -0
  14. package/dist/core/markdown.js.map +1 -0
  15. package/dist/core/policy.d.ts +18 -0
  16. package/dist/core/policy.d.ts.map +1 -0
  17. package/dist/core/policy.js +67 -0
  18. package/dist/core/policy.js.map +1 -0
  19. package/dist/core/reducer.d.ts +61 -0
  20. package/dist/core/reducer.d.ts.map +1 -0
  21. package/dist/core/reducer.js +391 -0
  22. package/dist/core/reducer.js.map +1 -0
  23. package/dist/core/session.d.ts +105 -0
  24. package/dist/core/session.d.ts.map +1 -0
  25. package/dist/core/session.js +648 -0
  26. package/dist/core/session.js.map +1 -0
  27. package/dist/core/tools.d.ts +120 -0
  28. package/dist/core/tools.d.ts.map +1 -0
  29. package/dist/core/tools.js +120 -0
  30. package/dist/core/tools.js.map +1 -0
  31. package/dist/core/types.d.ts +295 -0
  32. package/dist/core/types.d.ts.map +1 -0
  33. package/dist/core/types.js +21 -0
  34. package/dist/core/types.js.map +1 -0
  35. package/dist/drivers/claude/index.d.ts +20 -0
  36. package/dist/drivers/claude/index.d.ts.map +1 -0
  37. package/dist/drivers/claude/index.js +727 -0
  38. package/dist/drivers/claude/index.js.map +1 -0
  39. package/dist/drivers/claude/input.d.ts +7 -0
  40. package/dist/drivers/claude/input.d.ts.map +1 -0
  41. package/dist/drivers/claude/input.js +46 -0
  42. package/dist/drivers/claude/input.js.map +1 -0
  43. package/dist/drivers/claude/peers.d.ts +16 -0
  44. package/dist/drivers/claude/peers.d.ts.map +1 -0
  45. package/dist/drivers/claude/peers.js +137 -0
  46. package/dist/drivers/claude/peers.js.map +1 -0
  47. package/dist/drivers/claude/schema.d.ts +5 -0
  48. package/dist/drivers/claude/schema.d.ts.map +1 -0
  49. package/dist/drivers/claude/schema.js +77 -0
  50. package/dist/drivers/claude/schema.js.map +1 -0
  51. package/dist/drivers/claude/sdk.d.ts +86 -0
  52. package/dist/drivers/claude/sdk.d.ts.map +1 -0
  53. package/dist/drivers/claude/sdk.js +47 -0
  54. package/dist/drivers/claude/sdk.js.map +1 -0
  55. package/dist/drivers/claude/tools.d.ts +18 -0
  56. package/dist/drivers/claude/tools.d.ts.map +1 -0
  57. package/dist/drivers/claude/tools.js +119 -0
  58. package/dist/drivers/claude/tools.js.map +1 -0
  59. package/dist/index.d.ts +8 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +12 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/testing/fake.d.ts +63 -0
  64. package/dist/testing/fake.d.ts.map +1 -0
  65. package/dist/testing/fake.js +270 -0
  66. package/dist/testing/fake.js.map +1 -0
  67. package/dist/testing/index.d.ts +2 -0
  68. package/dist/testing/index.d.ts.map +1 -0
  69. package/dist/testing/index.js +4 -0
  70. package/dist/testing/index.js.map +1 -0
  71. package/dist/view/AgentChat.d.ts +53 -0
  72. package/dist/view/AgentChat.d.ts.map +1 -0
  73. package/dist/view/AgentChat.js +87 -0
  74. package/dist/view/AgentChat.js.map +1 -0
  75. package/dist/view/CodeBlock.d.ts +9 -0
  76. package/dist/view/CodeBlock.d.ts.map +1 -0
  77. package/dist/view/CodeBlock.js +60 -0
  78. package/dist/view/CodeBlock.js.map +1 -0
  79. package/dist/view/Composer.d.ts +24 -0
  80. package/dist/view/Composer.d.ts.map +1 -0
  81. package/dist/view/Composer.js +144 -0
  82. package/dist/view/Composer.js.map +1 -0
  83. package/dist/view/Header.d.ts +3 -0
  84. package/dist/view/Header.d.ts.map +1 -0
  85. package/dist/view/Header.js +30 -0
  86. package/dist/view/Header.js.map +1 -0
  87. package/dist/view/MessageList.d.ts +9 -0
  88. package/dist/view/MessageList.d.ts.map +1 -0
  89. package/dist/view/MessageList.js +111 -0
  90. package/dist/view/MessageList.js.map +1 -0
  91. package/dist/view/QuestionCard.d.ts +6 -0
  92. package/dist/view/QuestionCard.d.ts.map +1 -0
  93. package/dist/view/QuestionCard.js +39 -0
  94. package/dist/view/QuestionCard.js.map +1 -0
  95. package/dist/view/TextBlock.d.ts +9 -0
  96. package/dist/view/TextBlock.d.ts.map +1 -0
  97. package/dist/view/TextBlock.js +22 -0
  98. package/dist/view/TextBlock.js.map +1 -0
  99. package/dist/view/ToolCard.d.ts +7 -0
  100. package/dist/view/ToolCard.d.ts.map +1 -0
  101. package/dist/view/ToolCard.js +155 -0
  102. package/dist/view/ToolCard.js.map +1 -0
  103. package/dist/view/Transcript.d.ts +5 -0
  104. package/dist/view/Transcript.d.ts.map +1 -0
  105. package/dist/view/Transcript.js +47 -0
  106. package/dist/view/Transcript.js.map +1 -0
  107. package/dist/view/context.d.ts +21 -0
  108. package/dist/view/context.d.ts.map +1 -0
  109. package/dist/view/context.js +37 -0
  110. package/dist/view/context.js.map +1 -0
  111. package/dist/view/fences.d.ts +13 -0
  112. package/dist/view/fences.d.ts.map +1 -0
  113. package/dist/view/fences.js +59 -0
  114. package/dist/view/fences.js.map +1 -0
  115. package/dist/view/files.d.ts +11 -0
  116. package/dist/view/files.d.ts.map +1 -0
  117. package/dist/view/files.js +109 -0
  118. package/dist/view/files.js.map +1 -0
  119. package/dist/view/look.d.ts +18 -0
  120. package/dist/view/look.d.ts.map +1 -0
  121. package/dist/view/look.js +37 -0
  122. package/dist/view/look.js.map +1 -0
  123. package/dist/view/types.d.ts +50 -0
  124. package/dist/view/types.d.ts.map +1 -0
  125. package/dist/view/types.js +14 -0
  126. package/dist/view/types.js.map +1 -0
  127. package/dist/view/use-agent.d.ts +11 -0
  128. package/dist/view/use-agent.d.ts.map +1 -0
  129. package/dist/view/use-agent.js +33 -0
  130. package/dist/view/use-agent.js.map +1 -0
  131. package/package.json +92 -4
  132. package/src/core/driver.ts +191 -0
  133. package/src/core/index.ts +54 -0
  134. package/src/core/markdown.ts +56 -0
  135. package/src/core/policy.ts +77 -0
  136. package/src/core/reducer.ts +490 -0
  137. package/src/core/session.ts +824 -0
  138. package/src/core/tools.ts +233 -0
  139. package/src/core/types.ts +321 -0
  140. package/src/drivers/claude/index.ts +825 -0
  141. package/src/drivers/claude/input.ts +47 -0
  142. package/src/drivers/claude/peers.ts +153 -0
  143. package/src/drivers/claude/schema.ts +99 -0
  144. package/src/drivers/claude/sdk.ts +138 -0
  145. package/src/drivers/claude/tools.ts +141 -0
  146. package/src/index.ts +51 -0
  147. package/src/testing/fake.ts +374 -0
  148. package/src/testing/index.ts +11 -0
  149. package/src/view/AgentChat.tsx +204 -0
  150. package/src/view/CodeBlock.tsx +108 -0
  151. package/src/view/Composer.tsx +230 -0
  152. package/src/view/Header.tsx +73 -0
  153. package/src/view/MessageList.tsx +290 -0
  154. package/src/view/QuestionCard.tsx +107 -0
  155. package/src/view/TextBlock.tsx +58 -0
  156. package/src/view/ToolCard.tsx +283 -0
  157. package/src/view/Transcript.tsx +81 -0
  158. package/src/view/context.ts +70 -0
  159. package/src/view/dom-globals.d.ts +10 -0
  160. package/src/view/fences.ts +73 -0
  161. package/src/view/files.ts +111 -0
  162. package/src/view/look.ts +53 -0
  163. package/src/view/types.ts +71 -0
  164. package/src/view/use-agent.ts +40 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/claude/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare class InputQueue<T> implements AsyncIterable<T> {
2
+ #private;
3
+ push(item: T): void;
4
+ end(): void;
5
+ [Symbol.asyncIterator](): AsyncIterator<T>;
6
+ }
7
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/drivers/claude/input.ts"],"names":[],"mappings":"AAGA,qBAAa,UAAU,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;;IAKpD,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CASlB;IAED,GAAG,IAAI,IAAI,CAOV;IAED,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAiBzC;CACF"}
@@ -0,0 +1,46 @@
1
+ // An async iterable fed by `push`: the SDK's streaming input, which is read
2
+ // for the life of the session and ends when the session closes.
3
+ export class InputQueue {
4
+ #items = [];
5
+ #waiting = null;
6
+ #ended = false;
7
+ push(item) {
8
+ if (this.#ended)
9
+ throw new Error('The session is closed.');
10
+ if (this.#waiting) {
11
+ const resolve = this.#waiting;
12
+ this.#waiting = null;
13
+ resolve({ value: item, done: false });
14
+ }
15
+ else {
16
+ this.#items.push(item);
17
+ }
18
+ }
19
+ end() {
20
+ this.#ended = true;
21
+ if (this.#waiting) {
22
+ const resolve = this.#waiting;
23
+ this.#waiting = null;
24
+ resolve({ value: undefined, done: true });
25
+ }
26
+ }
27
+ [Symbol.asyncIterator]() {
28
+ return {
29
+ next: () => {
30
+ const item = this.#items.shift();
31
+ if (item !== undefined)
32
+ return Promise.resolve({ value: item, done: false });
33
+ if (this.#ended)
34
+ return Promise.resolve({ value: undefined, done: true });
35
+ return new Promise((resolve) => {
36
+ this.#waiting = resolve;
37
+ });
38
+ },
39
+ return: () => {
40
+ this.end();
41
+ return Promise.resolve({ value: undefined, done: true });
42
+ },
43
+ };
44
+ }
45
+ }
46
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/drivers/claude/input.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,gEAAgE;AAEhE,MAAM,OAAO,UAAU;IACrB,MAAM,GAAQ,EAAE,CAAC;IACjB,QAAQ,GAA4C,IAAI,CAAC;IACzD,MAAM,GAAG,KAAK,CAAC;IAEf,IAAI,CAAC,IAAO;QACV,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,GAAG;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,GAAG,EAAE;gBACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,IAAI,KAAK,SAAS;oBACpB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,MAAM;oBACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import type { MessageSource, PeerSource } from '../../core/types.js';
2
+ import type { SdkMessage } from './sdk.js';
3
+ /** The origin a turn is sent with: the user's, or a peer's. */
4
+ export declare function originOf(from: PeerSource | undefined): Record<string, unknown>;
5
+ /** A peer's message, wrapped as Claude Code wraps one. */
6
+ export declare function peerEnvelope(from: PeerSource, body: string): string;
7
+ /**
8
+ * A user turn Claude Code took from someone other than the user — another
9
+ * session, a channel — as the session draws it. `null` for anything else:
10
+ * the user's own turns, tool results, a subagent's input.
11
+ */
12
+ export declare function incomingOf(m: SdkMessage): {
13
+ text: string;
14
+ from: MessageSource;
15
+ } | null;
16
+ //# sourceMappingURL=peers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peers.d.ts","sourceRoot":"","sources":["../../../src/drivers/claude/peers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAY3C,+DAA+D;AAC/D,wBAAgB,QAAQ,CACtB,IAAI,EAAE,UAAU,GAAG,SAAS,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUnE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,UAAU,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAkC9C"}
@@ -0,0 +1,137 @@
1
+ // Messages that are not the user's, in Claude Code's own terms.
2
+ //
3
+ // Claude Code tells who wrote a user turn by its `origin`. A host that types
4
+ // for the user says `{ kind: 'human' }`: a turn with no origin is
5
+ // unattributed, and fails closed where Claude Code asks whether a human
6
+ // said it. A message from another session is `{ kind: 'peer', from }`, its
7
+ // text wrapped in the envelope Claude Code itself writes for one — so the
8
+ // model reads it as reported speech from that session, which is how Claude
9
+ // Desktop hands a session its peers' messages. And what Claude Code takes
10
+ // from another session or an MCP channel comes back out with its origin, the
11
+ // envelope still on its text.
12
+ //
13
+ // The envelope's shape is Claude Code 2.1's, read from what it accepts: the
14
+ // attributes in this order, each held to the characters it allows, and the
15
+ // body on lines of its own.
16
+ const PEER_TAG = 'cross-session-message';
17
+ const CHANNEL_TAG = 'channel';
18
+ /** `from` keeps to these characters; anything else is percent-encoded, as
19
+ * Claude Code encodes the ids it makes. */
20
+ const ID_UNSAFE = /[^A-Za-z0-9:_/.\\-]/gu;
21
+ const ID_MAX = 300;
22
+ const SESSION_ID = /^[A-Za-z0-9_-]{1,80}$/;
23
+ const NAME_MAX = 64;
24
+ /** The origin a turn is sent with: the user's, or a peer's. */
25
+ export function originOf(from) {
26
+ if (!from)
27
+ return { kind: 'human' };
28
+ const name = nameOf(from.name);
29
+ return {
30
+ kind: 'peer',
31
+ from: idOf(from.id),
32
+ ...(name ? { name } : {}),
33
+ ...(from.session && SESSION_ID.test(from.session)
34
+ ? { fromSession: from.session }
35
+ : {}),
36
+ };
37
+ }
38
+ /** A peer's message, wrapped as Claude Code wraps one. */
39
+ export function peerEnvelope(from, body) {
40
+ const attrs = [`from="${idOf(from.id)}"`];
41
+ if (from.session && SESSION_ID.test(from.session)) {
42
+ attrs.push(`from-session="${from.session}"`);
43
+ }
44
+ const name = nameOf(from.name);
45
+ if (name)
46
+ attrs.push(`from-name="${name}"`);
47
+ // a body cannot close the envelope it is in
48
+ const safe = body.replace(new RegExp(`<\\/?(?=${PEER_TAG})`, 'gi'), '<\\');
49
+ return `<${PEER_TAG} ${attrs.join(' ')}>\n${safe}\n</${PEER_TAG}>`;
50
+ }
51
+ /**
52
+ * A user turn Claude Code took from someone other than the user — another
53
+ * session, a channel — as the session draws it. `null` for anything else:
54
+ * the user's own turns, tool results, a subagent's input.
55
+ */
56
+ export function incomingOf(m) {
57
+ if (m.parent_tool_use_id)
58
+ return null;
59
+ const origin = m.origin;
60
+ if (!origin || (origin.kind !== 'peer' && origin.kind !== 'channel')) {
61
+ return null;
62
+ }
63
+ const text = textOf(m.message?.content);
64
+ if (text === null)
65
+ return null;
66
+ if (origin.kind === 'channel') {
67
+ const server = typeof origin.server === 'string' ? origin.server : '';
68
+ const body = unwrap(text, CHANNEL_TAG);
69
+ return body.trim()
70
+ ? { text: body, from: { kind: 'channel', server } }
71
+ : null;
72
+ }
73
+ const body = typeof origin.body === 'string' ? origin.body : unwrap(text, PEER_TAG);
74
+ if (!body.trim())
75
+ return null;
76
+ const id = typeof origin.from === 'string' ? decode(origin.from) : 'unknown';
77
+ return {
78
+ text: body,
79
+ from: {
80
+ kind: 'peer',
81
+ id,
82
+ ...(typeof origin.name === 'string' && origin.name
83
+ ? { name: origin.name }
84
+ : {}),
85
+ ...(typeof origin.fromSession === 'string'
86
+ ? { session: origin.fromSession }
87
+ : {}),
88
+ },
89
+ };
90
+ }
91
+ function idOf(id) {
92
+ const bytes = new TextEncoder();
93
+ const encoded = id.replace(ID_UNSAFE, (c) => Array.from(bytes.encode(c), (b) => `%${b.toString(16).toUpperCase().padStart(2, '0')}`).join(''));
94
+ // a cut must not leave half an escape
95
+ return (encoded || 'app').slice(0, ID_MAX).replace(/%[0-9A-F]?$/, '');
96
+ }
97
+ function nameOf(name) {
98
+ if (!name)
99
+ return '';
100
+ const clean = name
101
+ .replace(/["<>]/g, '')
102
+ // control, format and separator characters: what Claude Code strips
103
+ .replace(/[\p{Cc}\p{Cf}\p{Cs}\p{Zl}\p{Zp}]/gu, '')
104
+ .trim();
105
+ return [...clean].slice(0, NAME_MAX).join('');
106
+ }
107
+ function decode(id) {
108
+ try {
109
+ return decodeURIComponent(id);
110
+ }
111
+ catch {
112
+ return id;
113
+ }
114
+ }
115
+ /** The text of a turn's content, or `null` when it is not text alone. */
116
+ function textOf(content) {
117
+ if (typeof content === 'string')
118
+ return content;
119
+ if (!Array.isArray(content))
120
+ return null;
121
+ const texts = [];
122
+ for (const block of content) {
123
+ if (block.type === 'text' && typeof block.text === 'string') {
124
+ texts.push(block.text);
125
+ }
126
+ else if (block.type === 'tool_result') {
127
+ return null;
128
+ }
129
+ }
130
+ return texts.length ? texts.join('\n') : null;
131
+ }
132
+ /** What is inside `<tag …>…</tag>`, when that is the whole of the text. */
133
+ function unwrap(text, tag) {
134
+ const match = new RegExp(`^\\s*<${tag}(?:\\s[^>]*)?>\\n?([\\s\\S]*?)\\n?</${tag}>\\s*$`).exec(text);
135
+ return match ? match[1].trim() : text;
136
+ }
137
+ //# sourceMappingURL=peers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peers.js","sourceRoot":"","sources":["../../../src/drivers/claude/peers.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,6EAA6E;AAC7E,kEAAkE;AAClE,wEAAwE;AACxE,2EAA2E;AAC3E,0EAA0E;AAC1E,2EAA2E;AAC3E,0EAA0E;AAC1E,6EAA6E;AAC7E,8BAA8B;AAC9B,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,4BAA4B;AAK5B,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AACzC,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B;4CAC4C;AAC5C,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,MAAM,GAAG,GAAG,CAAC;AACnB,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,+DAA+D;AAC/D,MAAM,UAAU,QAAQ,CACtB,IAA4B;IAE5B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE;YAC/B,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,IAAgB,EAAE,IAAY;IACzD,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC;IAC5C,4CAA4C;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,QAAQ,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3E,OAAO,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,QAAQ,GAAG,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,CAAa;IAEb,IAAI,CAAC,CAAC,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA6C,CAAC;IAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAChB,CAAC,CAAC,OAA6C,EAAE,OAAO,CAC1D,CAAC;IACF,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,IAAI,EAAE;YAChB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;YACnD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GACR,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,OAAO;QACL,IAAI,EAAE,IAAI;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,EAAE;YACF,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI;gBAChD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;gBACvB,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;gBACxC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE;gBACjC,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,EAAU;IACtB,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1C,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC3D,CAAC,IAAI,CAAC,EAAE,CAAC,CACX,CAAC;IACF,sCAAsC;IACtC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,MAAM,CAAC,IAAwB;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,KAAK,GAAG,IAAI;SACf,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,oEAAoE;SACnE,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;SACjD,IAAI,EAAE,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,MAAM,CAAC,EAAU;IACxB,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,SAAS,MAAM,CAAC,OAAgB;IAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAyC,EAAE,CAAC;QAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,2EAA2E;AAC3E,SAAS,MAAM,CAAC,IAAY,EAAE,GAAW;IACvC,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,SAAS,GAAG,uCAAuC,GAAG,QAAQ,CAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type ToolParameters } from '../../core/tools.js';
2
+ import type { ZodLike, ZodTypeLike } from './sdk.js';
3
+ export declare function zodShapeOf(parameters: ToolParameters): Record<string, unknown> | null;
4
+ export declare function shapeFromJsonSchema(schema: Record<string, unknown>, z: ZodLike): Record<string, ZodTypeLike>;
5
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/drivers/claude/schema.ts"],"names":[],"mappings":"AAQA,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAErD,wBAAgB,UAAU,CACxB,UAAU,EAAE,cAAc,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQhC;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,CAAC,EAAE,OAAO,GACT,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAY7B"}
@@ -0,0 +1,77 @@
1
+ // A tool's parameters as the zod shape the SDK's `tool()` takes.
2
+ //
3
+ // A zod object is handed over by its `shape`. A JSON Schema is translated:
4
+ // the subset tool arguments use — objects, strings, numbers, integers,
5
+ // booleans, arrays, enums, constants, nullable unions — with `description`
6
+ // carried, and anything else as `unknown`, which the model still sees the
7
+ // description of and the tool's own validation still checks.
8
+ import { isStandardSchema } from '../../core/tools.js';
9
+ export function zodShapeOf(parameters) {
10
+ if (isStandardSchema(parameters)) {
11
+ const shape = parameters.shape;
12
+ if (shape && typeof shape === 'object')
13
+ return shape;
14
+ return null;
15
+ }
16
+ return null;
17
+ }
18
+ export function shapeFromJsonSchema(schema, z) {
19
+ const properties = (schema.properties ?? {});
20
+ const required = new Set(schema.required ?? []);
21
+ const shape = {};
22
+ for (const [key, prop] of Object.entries(properties)) {
23
+ const type = typeOf(prop, z);
24
+ shape[key] = required.has(key) ? type : type.optional();
25
+ }
26
+ return shape;
27
+ }
28
+ function typeOf(schema, z) {
29
+ let t = baseType(schema, z);
30
+ if (typeof schema.description === 'string')
31
+ t = t.describe(schema.description);
32
+ return t;
33
+ }
34
+ function baseType(schema, z) {
35
+ if (Array.isArray(schema.enum) &&
36
+ schema.enum.every((v) => typeof v === 'string')) {
37
+ const values = schema.enum;
38
+ if (values.length)
39
+ return z.enum(values);
40
+ }
41
+ if ('const' in schema) {
42
+ const v = schema.const;
43
+ if (v === null || ['string', 'number', 'boolean'].includes(typeof v)) {
44
+ return z.literal(v);
45
+ }
46
+ }
47
+ const types = Array.isArray(schema.type)
48
+ ? schema.type
49
+ : [schema.type];
50
+ const nonNull = types.filter((t) => t !== 'null');
51
+ const nullable = nonNull.length < types.length;
52
+ const one = nonNull.length === 1 ? single(nonNull[0], schema, z) : z.unknown();
53
+ return nullable ? z.union([one, z.null()]) : one;
54
+ }
55
+ function single(type, schema, z) {
56
+ switch (type) {
57
+ case 'string':
58
+ return z.string();
59
+ case 'number':
60
+ return z.number();
61
+ case 'integer':
62
+ return z.number().int();
63
+ case 'boolean':
64
+ return z.boolean();
65
+ case 'array':
66
+ return z.array(schema.items && typeof schema.items === 'object'
67
+ ? typeOf(schema.items, z)
68
+ : z.unknown());
69
+ case 'object':
70
+ return schema.properties
71
+ ? z.object(shapeFromJsonSchema(schema, z))
72
+ : z.record(z.string(), z.unknown());
73
+ default:
74
+ return z.unknown();
75
+ }
76
+ }
77
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/drivers/claude/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import type { ToolResult } from '../../core/tools.js';
2
+ /** One user turn, as streaming input takes it. */
3
+ export interface SdkUserMessage {
4
+ type: 'user';
5
+ message: {
6
+ role: 'user';
7
+ content: string | Array<Record<string, unknown>>;
8
+ };
9
+ parent_tool_use_id: null;
10
+ priority?: 'now' | 'next' | 'later';
11
+ /** Who wrote it: `{ kind: 'human' }` for the user, a peer's for another
12
+ * session (`peers.ts`). */
13
+ origin?: Record<string, unknown>;
14
+ /** Delivered as written: no `@path` expansion, no slash commands. */
15
+ client_composed?: true;
16
+ }
17
+ /** What the query yields. Read loosely: the union grows every month. */
18
+ export interface SdkMessage {
19
+ type: string;
20
+ subtype?: string;
21
+ [key: string]: unknown;
22
+ }
23
+ export interface SdkQuery extends AsyncIterable<SdkMessage> {
24
+ interrupt(): Promise<unknown>;
25
+ setPermissionMode?(mode: string): Promise<void>;
26
+ setModel?(model?: string): Promise<void>;
27
+ supportedModels?(): Promise<Array<{
28
+ value: string;
29
+ displayName: string;
30
+ description?: string;
31
+ }>>;
32
+ supportedCommands?(): Promise<Array<{
33
+ name: string;
34
+ description?: string;
35
+ }>>;
36
+ close?(): void;
37
+ }
38
+ export type SdkToolHandler = (args: Record<string, unknown>, extra: unknown) => Promise<ToolResult>;
39
+ export interface ClaudeSdk {
40
+ query(args: {
41
+ prompt: AsyncIterable<SdkUserMessage>;
42
+ options?: Record<string, unknown>;
43
+ }): SdkQuery;
44
+ tool(name: string, description: string, inputSchema: Record<string, unknown>, handler: SdkToolHandler): unknown;
45
+ createSdkMcpServer(options: {
46
+ name: string;
47
+ version?: string;
48
+ tools?: unknown[];
49
+ }): unknown;
50
+ }
51
+ export declare const CLAUDE_SDK = "@anthropic-ai/claude-agent-sdk";
52
+ /**
53
+ * The SDK, or `AgentUnavailableError` saying what is wrong: not installed —
54
+ * with the line that installs it — or installed and failing to load, with
55
+ * the reason. A missing package the SDK itself needs is the second kind, not
56
+ * the first: telling someone who has just installed the SDK to install it
57
+ * sends them round in a circle.
58
+ */
59
+ export declare function loadClaudeSdk(specifier?: string): Promise<ClaudeSdk>;
60
+ /**
61
+ * Zod, for the SDK's in-process tools: `tool()` takes a zod shape. An app
62
+ * whose parameters are zod already hands its own over; a JSON Schema is
63
+ * turned into one with the zod the SDK brought (a peer of the SDK, so
64
+ * installed beside it).
65
+ */
66
+ export interface ZodLike {
67
+ string(): ZodTypeLike;
68
+ number(): ZodTypeLike & {
69
+ int(): ZodTypeLike;
70
+ };
71
+ boolean(): ZodTypeLike;
72
+ array(item: ZodTypeLike): ZodTypeLike;
73
+ object(shape: Record<string, ZodTypeLike>): ZodTypeLike;
74
+ enum(values: [string, ...string[]]): ZodTypeLike;
75
+ unknown(): ZodTypeLike;
76
+ record(key: ZodTypeLike, value: ZodTypeLike): ZodTypeLike;
77
+ union(options: [ZodTypeLike, ZodTypeLike, ...ZodTypeLike[]]): ZodTypeLike;
78
+ literal(value: string | number | boolean | null): ZodTypeLike;
79
+ null(): ZodTypeLike;
80
+ }
81
+ export interface ZodTypeLike {
82
+ optional(): ZodTypeLike;
83
+ describe(description: string): ZodTypeLike;
84
+ }
85
+ export declare function loadZod(): Promise<ZodLike>;
86
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/drivers/claude/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ // The slice of `@anthropic-ai/claude-agent-sdk` this driver uses, written out
2
+ // structurally, and the loader that reaches it.
3
+ //
4
+ // Two reasons it is not an `import type` from the package. The SDK is an
5
+ // optional peer — some 200 MB with its native binary — and an `import type`
6
+ // would put it in the type graph, so an app that never installed it could no
7
+ // longer type-check against this package. And tests hand the driver a fake
8
+ // SDK, which is all a structural type asks of them.
9
+ import { AgentUnavailableError } from '../../core/driver.js';
10
+ export const CLAUDE_SDK = '@anthropic-ai/claude-agent-sdk';
11
+ /**
12
+ * The SDK, or `AgentUnavailableError` saying what is wrong: not installed —
13
+ * with the line that installs it — or installed and failing to load, with
14
+ * the reason. A missing package the SDK itself needs is the second kind, not
15
+ * the first: telling someone who has just installed the SDK to install it
16
+ * sends them round in a circle.
17
+ */
18
+ export async function loadClaudeSdk(specifier = CLAUDE_SDK) {
19
+ try {
20
+ // The specifier is a variable so neither the compiler nor a bundler
21
+ // follows it: the package is an optional peer.
22
+ return (await import(specifier));
23
+ }
24
+ catch (err) {
25
+ const message = err instanceof Error ? err.message : String(err);
26
+ const code = err?.code;
27
+ const missing = (code === 'ERR_MODULE_NOT_FOUND' || code === 'MODULE_NOT_FOUND') &&
28
+ message.includes(`'${specifier}'`);
29
+ throw new AgentUnavailableError(missing
30
+ ? `The Claude Agent SDK is not installed. Install it beside this ` +
31
+ `package: npm install ${specifier}`
32
+ : `The Claude Agent SDK is installed but did not load: ${message}`);
33
+ }
34
+ }
35
+ export async function loadZod() {
36
+ try {
37
+ const name = 'zod';
38
+ const mod = (await import(name));
39
+ return mod.z ?? mod;
40
+ }
41
+ catch {
42
+ throw new Error('A tool with a JSON Schema needs zod to reach the Claude Agent SDK, ' +
43
+ 'which installs it as a peer. Install zod, or define the parameters ' +
44
+ 'with z.object().');
45
+ }
46
+ }
47
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/drivers/claude/sdk.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gDAAgD;AAChD,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,oDAAoD;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AA4D7D,MAAM,CAAC,MAAM,UAAU,GAAG,gCAAgC,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAS,GAAW,UAAU;IAE9B,IAAI,CAAC;QACH,oEAAoE;QACpE,+CAA+C;QAC/C,OAAO,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAc,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,GAAI,GAAiC,EAAE,IAAI,CAAC;QACtD,MAAM,OAAO,GACX,CAAC,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,kBAAkB,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC;QACrC,MAAM,IAAI,qBAAqB,CAC7B,OAAO;YACL,CAAC,CAAC,gEAAgE;gBAC9D,wBAAwB,SAAS,EAAE;YACvC,CAAC,CAAC,uDAAuD,OAAO,EAAE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AA2BD,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,IAAI,CAAC;QACH,MAAM,IAAI,GAAW,KAAK,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAA8B,CAAC;QAC9D,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,qEAAqE;YACnE,qEAAqE;YACrE,kBAAkB,CACrB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { CoreToolKey, ToolKind, ToolOutput } from '../../core/types.js';
2
+ /** The built-ins each category names. A name Claude Code no longer has is
3
+ * harmless in `disallowedTools`. */
4
+ export declare const CATEGORY_TOOLS: Readonly<Record<CoreToolKey, readonly string[]>>;
5
+ /** The prefix in-process tools are named under: `mcp__app__openTicket`. */
6
+ export declare const APP_SERVER = "app";
7
+ export declare const APP_PREFIX = "mcp__app__";
8
+ /** The tools this driver draws as something other than a tool card. */
9
+ export declare const HIDDEN_TOOLS: ReadonlySet<string>;
10
+ export declare function labelOf(name: string): string;
11
+ export declare function isAppTool(name: string): boolean;
12
+ export declare function kindOf(name: string): ToolKind;
13
+ /** The card's line: `Read src/app.ts`, `make test`, `Fetch https://…`. */
14
+ export declare function titleOf(name: string, input: unknown): string;
15
+ /** What a finished built-in call shows, worked out from its input where the
16
+ * input says more than the result: an edit is its diff. */
17
+ export declare function outputOf(name: string, input: unknown, resultText: string, isError: boolean): ToolOutput[];
18
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/drivers/claude/tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7E;qCACqC;AACrC,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC,CAQzE,CAAC;AAEJ,2EAA2E;AAC3E,eAAO,MAAM,UAAU,QAAQ,CAAC;AAChC,eAAO,MAAM,UAAU,eAAyB,CAAC;AAsBjD,uEAAuE;AACvE,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAG3C,CAAC;AAEH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAE7C;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAmC5D;AAED;4DAC4D;AAC5D,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACf,UAAU,EAAE,CA+Bd"}