@namzu/cli 0.5.1 → 0.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 (218) hide show
  1. package/dist/__tests__/permission-rules-reach-the-turn.test.d.ts +31 -0
  2. package/dist/__tests__/permission-rules-reach-the-turn.test.d.ts.map +1 -0
  3. package/dist/__tests__/permission-rules-reach-the-turn.test.js +132 -0
  4. package/dist/__tests__/permission-rules-reach-the-turn.test.js.map +1 -0
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +16 -3
  7. package/dist/cli.js.map +1 -1
  8. package/dist/cli.test.js +7 -1
  9. package/dist/cli.test.js.map +1 -1
  10. package/dist/commands/__tests__/resume.test.d.ts +15 -0
  11. package/dist/commands/__tests__/resume.test.d.ts.map +1 -0
  12. package/dist/commands/__tests__/resume.test.js +116 -0
  13. package/dist/commands/__tests__/resume.test.js.map +1 -0
  14. package/dist/commands/__tests__/run-flags.test.d.ts +11 -0
  15. package/dist/commands/__tests__/run-flags.test.d.ts.map +1 -0
  16. package/dist/commands/__tests__/run-flags.test.js +189 -0
  17. package/dist/commands/__tests__/run-flags.test.js.map +1 -0
  18. package/dist/commands/__tests__/run-stream-flags.test.js +160 -11
  19. package/dist/commands/__tests__/run-stream-flags.test.js.map +1 -1
  20. package/dist/commands/doctor.js.map +1 -1
  21. package/dist/commands/resume.d.ts +60 -0
  22. package/dist/commands/resume.d.ts.map +1 -0
  23. package/dist/commands/resume.js +107 -0
  24. package/dist/commands/resume.js.map +1 -0
  25. package/dist/commands/run-flags.d.ts +76 -0
  26. package/dist/commands/run-flags.d.ts.map +1 -0
  27. package/dist/commands/run-flags.js +163 -0
  28. package/dist/commands/run-flags.js.map +1 -0
  29. package/dist/commands/run-stream.d.ts +3 -39
  30. package/dist/commands/run-stream.d.ts.map +1 -1
  31. package/dist/commands/run-stream.js +74 -101
  32. package/dist/commands/run-stream.js.map +1 -1
  33. package/dist/commands/run.d.ts +25 -0
  34. package/dist/commands/run.d.ts.map +1 -1
  35. package/dist/commands/run.js +189 -16
  36. package/dist/commands/run.js.map +1 -1
  37. package/dist/commands/stubs.d.ts +10 -0
  38. package/dist/commands/stubs.d.ts.map +1 -1
  39. package/dist/commands/stubs.js +12 -2
  40. package/dist/commands/stubs.js.map +1 -1
  41. package/dist/config/load.d.ts.map +1 -1
  42. package/dist/config/load.js +20 -4
  43. package/dist/config/load.js.map +1 -1
  44. package/dist/config/schema.d.ts +9 -12
  45. package/dist/config/schema.d.ts.map +1 -1
  46. package/dist/config/schema.js.map +1 -1
  47. package/dist/doctor/checks/credentials.d.ts +20 -0
  48. package/dist/doctor/checks/credentials.d.ts.map +1 -0
  49. package/dist/doctor/checks/credentials.js +58 -0
  50. package/dist/doctor/checks/credentials.js.map +1 -0
  51. package/dist/doctor/checks/credentials.test.d.ts +10 -0
  52. package/dist/doctor/checks/credentials.test.d.ts.map +1 -0
  53. package/dist/doctor/checks/credentials.test.js +47 -0
  54. package/dist/doctor/checks/credentials.test.js.map +1 -0
  55. package/dist/doctor/checks/index.d.ts +2 -1
  56. package/dist/doctor/checks/index.d.ts.map +1 -1
  57. package/dist/doctor/checks/index.js +3 -1
  58. package/dist/doctor/checks/index.js.map +1 -1
  59. package/dist/index.d.ts +1 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/integrations/providers/discover.d.ts +3 -8
  64. package/dist/integrations/providers/discover.d.ts.map +1 -1
  65. package/dist/integrations/providers/discover.js +2 -12
  66. package/dist/integrations/providers/discover.js.map +1 -1
  67. package/dist/integrations/providers/discover.test.js +1 -28
  68. package/dist/integrations/providers/discover.test.js.map +1 -1
  69. package/dist/integrations/providers/index.d.ts +0 -1
  70. package/dist/integrations/providers/index.d.ts.map +1 -1
  71. package/dist/integrations/providers/index.js +0 -1
  72. package/dist/integrations/providers/index.js.map +1 -1
  73. package/dist/integrations/providers/oauth.d.ts +1 -1
  74. package/dist/integrations/providers/oauth.js +1 -1
  75. package/dist/integrations/providers/preferences.d.ts +2 -2
  76. package/dist/integrations/providers/preferences.js +2 -2
  77. package/dist/integrations/sessions/store.js +1 -1
  78. package/dist/integrations/sessions/store.js.map +1 -1
  79. package/dist/integrations/updates.d.ts +4 -12
  80. package/dist/integrations/updates.d.ts.map +1 -1
  81. package/dist/integrations/updates.js +6 -53
  82. package/dist/integrations/updates.js.map +1 -1
  83. package/dist/permissions/__tests__/mode.test.d.ts +10 -0
  84. package/dist/permissions/__tests__/mode.test.d.ts.map +1 -0
  85. package/dist/permissions/__tests__/mode.test.js +115 -0
  86. package/dist/permissions/__tests__/mode.test.js.map +1 -0
  87. package/dist/permissions/__tests__/rules.test.d.ts +10 -0
  88. package/dist/permissions/__tests__/rules.test.d.ts.map +1 -0
  89. package/dist/permissions/__tests__/rules.test.js +196 -0
  90. package/dist/permissions/__tests__/rules.test.js.map +1 -0
  91. package/dist/permissions/mode.d.ts +64 -0
  92. package/dist/permissions/mode.d.ts.map +1 -0
  93. package/dist/permissions/mode.js +32 -0
  94. package/dist/permissions/mode.js.map +1 -0
  95. package/dist/permissions/rules.d.ts +105 -0
  96. package/dist/permissions/rules.d.ts.map +1 -0
  97. package/dist/permissions/rules.js +163 -0
  98. package/dist/permissions/rules.js.map +1 -0
  99. package/dist/tui/App.d.ts.map +1 -1
  100. package/dist/tui/App.js +29 -133
  101. package/dist/tui/App.js.map +1 -1
  102. package/dist/tui/Picker.d.ts +4 -4
  103. package/dist/tui/Picker.d.ts.map +1 -1
  104. package/dist/tui/Picker.js +6 -8
  105. package/dist/tui/Picker.js.map +1 -1
  106. package/dist/tui/__tests__/deferred-tool-discovery.test.d.ts +24 -0
  107. package/dist/tui/__tests__/deferred-tool-discovery.test.d.ts.map +1 -0
  108. package/dist/tui/__tests__/deferred-tool-discovery.test.js +111 -0
  109. package/dist/tui/__tests__/deferred-tool-discovery.test.js.map +1 -0
  110. package/dist/tui/__tests__/to-agent-event.test.js +88 -0
  111. package/dist/tui/__tests__/to-agent-event.test.js.map +1 -1
  112. package/dist/tui/__tests__/working-directory.test.d.ts +13 -0
  113. package/dist/tui/__tests__/working-directory.test.d.ts.map +1 -0
  114. package/dist/tui/__tests__/working-directory.test.js +109 -0
  115. package/dist/tui/__tests__/working-directory.test.js.map +1 -0
  116. package/dist/tui/agent.d.ts +46 -5
  117. package/dist/tui/agent.d.ts.map +1 -1
  118. package/dist/tui/agent.js +140 -43
  119. package/dist/tui/agent.js.map +1 -1
  120. package/dist/tui/slashCommands.d.ts +0 -6
  121. package/dist/tui/slashCommands.d.ts.map +1 -1
  122. package/dist/tui/slashCommands.js +1 -21
  123. package/dist/tui/slashCommands.js.map +1 -1
  124. package/dist/tui/types.d.ts +12 -0
  125. package/dist/tui/types.d.ts.map +1 -1
  126. package/package.json +4 -5
  127. package/dist/commands/tools.d.ts +0 -16
  128. package/dist/commands/tools.d.ts.map +0 -1
  129. package/dist/commands/tools.js +0 -161
  130. package/dist/commands/tools.js.map +0 -1
  131. package/dist/integrations/clawtool/agents.d.ts +0 -31
  132. package/dist/integrations/clawtool/agents.d.ts.map +0 -1
  133. package/dist/integrations/clawtool/agents.js +0 -30
  134. package/dist/integrations/clawtool/agents.js.map +0 -1
  135. package/dist/integrations/clawtool/agents.test.d.ts +0 -2
  136. package/dist/integrations/clawtool/agents.test.d.ts.map +0 -1
  137. package/dist/integrations/clawtool/agents.test.js +0 -79
  138. package/dist/integrations/clawtool/agents.test.js.map +0 -1
  139. package/dist/integrations/clawtool/auth.d.ts +0 -26
  140. package/dist/integrations/clawtool/auth.d.ts.map +0 -1
  141. package/dist/integrations/clawtool/auth.js +0 -56
  142. package/dist/integrations/clawtool/auth.js.map +0 -1
  143. package/dist/integrations/clawtool/auth.test.d.ts +0 -2
  144. package/dist/integrations/clawtool/auth.test.d.ts.map +0 -1
  145. package/dist/integrations/clawtool/auth.test.js +0 -40
  146. package/dist/integrations/clawtool/auth.test.js.map +0 -1
  147. package/dist/integrations/clawtool/binary.d.ts +0 -25
  148. package/dist/integrations/clawtool/binary.d.ts.map +0 -1
  149. package/dist/integrations/clawtool/binary.js +0 -50
  150. package/dist/integrations/clawtool/binary.js.map +0 -1
  151. package/dist/integrations/clawtool/binary.test.d.ts +0 -2
  152. package/dist/integrations/clawtool/binary.test.d.ts.map +0 -1
  153. package/dist/integrations/clawtool/binary.test.js +0 -50
  154. package/dist/integrations/clawtool/binary.test.js.map +0 -1
  155. package/dist/integrations/clawtool/daemon.d.ts +0 -37
  156. package/dist/integrations/clawtool/daemon.d.ts.map +0 -1
  157. package/dist/integrations/clawtool/daemon.js +0 -109
  158. package/dist/integrations/clawtool/daemon.js.map +0 -1
  159. package/dist/integrations/clawtool/daemon.test.d.ts +0 -11
  160. package/dist/integrations/clawtool/daemon.test.d.ts.map +0 -1
  161. package/dist/integrations/clawtool/daemon.test.js +0 -118
  162. package/dist/integrations/clawtool/daemon.test.js.map +0 -1
  163. package/dist/integrations/clawtool/dispatch.d.ts +0 -33
  164. package/dist/integrations/clawtool/dispatch.d.ts.map +0 -1
  165. package/dist/integrations/clawtool/dispatch.js +0 -155
  166. package/dist/integrations/clawtool/dispatch.js.map +0 -1
  167. package/dist/integrations/clawtool/dispatch.test.d.ts +0 -2
  168. package/dist/integrations/clawtool/dispatch.test.d.ts.map +0 -1
  169. package/dist/integrations/clawtool/dispatch.test.js +0 -138
  170. package/dist/integrations/clawtool/dispatch.test.js.map +0 -1
  171. package/dist/integrations/clawtool/index.d.ts +0 -11
  172. package/dist/integrations/clawtool/index.d.ts.map +0 -1
  173. package/dist/integrations/clawtool/index.js +0 -10
  174. package/dist/integrations/clawtool/index.js.map +0 -1
  175. package/dist/integrations/clawtool/mcp.d.ts +0 -51
  176. package/dist/integrations/clawtool/mcp.d.ts.map +0 -1
  177. package/dist/integrations/clawtool/mcp.js +0 -174
  178. package/dist/integrations/clawtool/mcp.js.map +0 -1
  179. package/dist/integrations/clawtool/mcp.test.d.ts +0 -2
  180. package/dist/integrations/clawtool/mcp.test.d.ts.map +0 -1
  181. package/dist/integrations/clawtool/mcp.test.js +0 -126
  182. package/dist/integrations/clawtool/mcp.test.js.map +0 -1
  183. package/dist/integrations/clawtool/paths.d.ts +0 -8
  184. package/dist/integrations/clawtool/paths.d.ts.map +0 -1
  185. package/dist/integrations/clawtool/paths.js +0 -19
  186. package/dist/integrations/clawtool/paths.js.map +0 -1
  187. package/dist/integrations/clawtool/peers.d.ts +0 -67
  188. package/dist/integrations/clawtool/peers.d.ts.map +0 -1
  189. package/dist/integrations/clawtool/peers.js +0 -150
  190. package/dist/integrations/clawtool/peers.js.map +0 -1
  191. package/dist/integrations/clawtool/plugin.d.ts +0 -42
  192. package/dist/integrations/clawtool/plugin.d.ts.map +0 -1
  193. package/dist/integrations/clawtool/plugin.js +0 -38
  194. package/dist/integrations/clawtool/plugin.js.map +0 -1
  195. package/dist/integrations/clawtool/state.d.ts +0 -11
  196. package/dist/integrations/clawtool/state.d.ts.map +0 -1
  197. package/dist/integrations/clawtool/state.js +0 -41
  198. package/dist/integrations/clawtool/state.js.map +0 -1
  199. package/dist/integrations/clawtool/state.test.d.ts +0 -2
  200. package/dist/integrations/clawtool/state.test.d.ts.map +0 -1
  201. package/dist/integrations/clawtool/state.test.js +0 -38
  202. package/dist/integrations/clawtool/state.test.js.map +0 -1
  203. package/dist/integrations/clawtool/tooling.d.ts +0 -52
  204. package/dist/integrations/clawtool/tooling.d.ts.map +0 -1
  205. package/dist/integrations/clawtool/tooling.js +0 -91
  206. package/dist/integrations/clawtool/tooling.js.map +0 -1
  207. package/dist/integrations/clawtool/tooling.test.d.ts +0 -2
  208. package/dist/integrations/clawtool/tooling.test.d.ts.map +0 -1
  209. package/dist/integrations/clawtool/tooling.test.js +0 -58
  210. package/dist/integrations/clawtool/tooling.test.js.map +0 -1
  211. package/dist/integrations/clawtool/types.d.ts +0 -41
  212. package/dist/integrations/clawtool/types.d.ts.map +0 -1
  213. package/dist/integrations/clawtool/types.js +0 -9
  214. package/dist/integrations/clawtool/types.js.map +0 -1
  215. package/dist/integrations/providers/secrets.d.ts +0 -37
  216. package/dist/integrations/providers/secrets.d.ts.map +0 -1
  217. package/dist/integrations/providers/secrets.js +0 -69
  218. package/dist/integrations/providers/secrets.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatch.test.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/dispatch.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- export { type Agent, listAgents, type ListAgentsOptions } from './agents.js';
2
- export { ClawtoolAuthError, readToken, tryReadToken } from './auth.js';
3
- export { ClawtoolBinaryError, findBinary, type FindBinaryOptions } from './binary.js';
4
- export { ensureDaemon, ClawtoolDaemonError, type EnsureDaemonOptions } from './daemon.js';
5
- export { type DispatchEvent, sendMessage, type SendMessageOptions } from './dispatch.js';
6
- export { ClawtoolMcpClient, MCP_PROTOCOL_VERSION, McpProtocolError, type McpClientOptions, } from './mcp.js';
7
- export { clawtoolConfigDir, daemonStatePath, listenerTokenPath, } from './paths.js';
8
- export { createClawtoolPlugin, type ClawtoolPlugin, type ClawtoolProxyTool, type CreateClawtoolPluginOptions, } from './plugin.js';
9
- export { readDaemonState } from './state.js';
10
- export type { DaemonEndpoint, DaemonState, McpCallResult, McpTextContent, McpToolDescriptor, } from './types.js';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/clawtool/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACzF,OAAO,EAAE,KAAK,aAAa,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACxF,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,gBAAgB,GACrB,MAAM,UAAU,CAAA;AACjB,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GACjB,MAAM,YAAY,CAAA;AACnB,OAAO,EACN,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,GAChC,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,iBAAiB,GACjB,MAAM,YAAY,CAAA"}
@@ -1,10 +0,0 @@
1
- export { listAgents } from './agents.js';
2
- export { ClawtoolAuthError, readToken, tryReadToken } from './auth.js';
3
- export { ClawtoolBinaryError, findBinary } from './binary.js';
4
- export { ensureDaemon, ClawtoolDaemonError } from './daemon.js';
5
- export { sendMessage } from './dispatch.js';
6
- export { ClawtoolMcpClient, MCP_PROTOCOL_VERSION, McpProtocolError, } from './mcp.js';
7
- export { clawtoolConfigDir, daemonStatePath, listenerTokenPath, } from './paths.js';
8
- export { createClawtoolPlugin, } from './plugin.js';
9
- export { readDaemonState } from './state.js';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAA0B,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAA0B,MAAM,aAAa,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAA4B,MAAM,aAAa,CAAA;AACzF,OAAO,EAAsB,WAAW,EAA2B,MAAM,eAAe,CAAA;AACxF,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,GAEhB,MAAM,UAAU,CAAA;AACjB,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GACjB,MAAM,YAAY,CAAA;AACnB,OAAO,EACN,oBAAoB,GAIpB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -1,51 +0,0 @@
1
- /**
2
- * Minimal MCP-over-Streamable-HTTP client for clawtool's `/mcp` endpoint.
3
- *
4
- * We deliberately do not reuse `@namzu/sdk`'s `MCPClient` http-sse
5
- * transport — that implementation targets the older MCP HTTP+SSE
6
- * transport (separate /sse + /message channels), whereas clawtool uses
7
- * the newer **Streamable HTTP** transport (single POST that may return
8
- * a chunked SSE response with one or more `data:` events). Wire details
9
- * verified against clawtool/internal/server/{http.go,mcp_headers.go}.
10
- *
11
- * Scope: `initialize` → `notifications/initialized` handshake, then
12
- * `tools/list` and `tools/call`. Streaming multi-event responses are
13
- * read fully before resolving (clawtool's current handlers return a
14
- * single event per call).
15
- */
16
- import type { McpCallResult, McpToolDescriptor } from './types.js';
17
- export declare const MCP_PROTOCOL_VERSION = "2024-11-05";
18
- export declare class McpProtocolError extends Error {
19
- readonly code?: number | undefined;
20
- constructor(message: string, code?: number | undefined);
21
- }
22
- export interface McpClientOptions {
23
- readonly endpoint: string;
24
- readonly token: string;
25
- readonly clientInfo?: {
26
- name: string;
27
- version: string;
28
- };
29
- /** Override `fetch` for tests. */
30
- readonly fetch?: typeof fetch;
31
- /** Per-request timeout in ms. Default 30s. */
32
- readonly timeoutMs?: number;
33
- }
34
- export declare class ClawtoolMcpClient {
35
- private readonly opts;
36
- private id;
37
- private initialized;
38
- private sessionId;
39
- private readonly fetchFn;
40
- private readonly timeoutMs;
41
- constructor(opts: McpClientOptions);
42
- initialize(): Promise<void>;
43
- listTools(): Promise<McpToolDescriptor[]>;
44
- callTool(name: string, args: Record<string, unknown>): Promise<McpCallResult>;
45
- private rpc;
46
- private notify;
47
- private captureSessionId;
48
- private headers;
49
- private readEnvelope;
50
- }
51
- //# sourceMappingURL=mcp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/integrations/clawtool/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKlE,eAAO,MAAM,oBAAoB,eAAe,CAAA;AAEhD,qBAAa,gBAAiB,SAAQ,KAAK;IAGzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;gBADtB,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAKvB;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD,kCAAkC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAsBD,qBAAa,iBAAiB;IAOjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,EAAE,CAAI;IACd,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAEL,IAAI,EAAE,gBAAgB;IAK7C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA2BzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;YAKrE,GAAG;YAqCH,MAAM;IAWpB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,OAAO;YAoBD,YAAY;CAQ1B"}
@@ -1,174 +0,0 @@
1
- /**
2
- * Minimal MCP-over-Streamable-HTTP client for clawtool's `/mcp` endpoint.
3
- *
4
- * We deliberately do not reuse `@namzu/sdk`'s `MCPClient` http-sse
5
- * transport — that implementation targets the older MCP HTTP+SSE
6
- * transport (separate /sse + /message channels), whereas clawtool uses
7
- * the newer **Streamable HTTP** transport (single POST that may return
8
- * a chunked SSE response with one or more `data:` events). Wire details
9
- * verified against clawtool/internal/server/{http.go,mcp_headers.go}.
10
- *
11
- * Scope: `initialize` → `notifications/initialized` handshake, then
12
- * `tools/list` and `tools/call`. Streaming multi-event responses are
13
- * read fully before resolving (clawtool's current handlers return a
14
- * single event per call).
15
- */
16
- /** Runaway guard for a server whose cursor never ends. */
17
- const MAX_LIST_PAGES = 100;
18
- export const MCP_PROTOCOL_VERSION = '2024-11-05';
19
- export class McpProtocolError extends Error {
20
- code;
21
- constructor(message, code) {
22
- super(message);
23
- this.code = code;
24
- this.name = 'McpProtocolError';
25
- }
26
- }
27
- export class ClawtoolMcpClient {
28
- opts;
29
- id = 0;
30
- initialized = false;
31
- sessionId = null;
32
- fetchFn;
33
- timeoutMs;
34
- constructor(opts) {
35
- this.opts = opts;
36
- this.fetchFn = opts.fetch ?? globalThis.fetch;
37
- this.timeoutMs = opts.timeoutMs ?? 30_000;
38
- }
39
- async initialize() {
40
- if (this.initialized)
41
- return;
42
- await this.rpc('initialize', {
43
- protocolVersion: MCP_PROTOCOL_VERSION,
44
- capabilities: {},
45
- clientInfo: this.opts.clientInfo ?? { name: 'namzu', version: '0.0.0' },
46
- });
47
- // `notifications/initialized` is a notification — JSON-RPC with no
48
- // `id`, no response expected. Fire and forget over the same endpoint.
49
- await this.notify('notifications/initialized', {});
50
- this.initialized = true;
51
- }
52
- async listTools() {
53
- await this.initialize();
54
- // Paged to the end. Sending no cursor and ignoring the one that
55
- // comes back returns only the first page, so a server that pages
56
- // its catalogue contributes part of it and nothing says so — the
57
- // symptom is a model that never uses a tool it was told about.
58
- const tools = [];
59
- let cursor;
60
- for (let page = 1;; page++) {
61
- const result = await this.rpc('tools/list', cursor === undefined ? {} : { cursor });
62
- if (Array.isArray(result.tools))
63
- tools.push(...result.tools);
64
- const next = result.nextCursor;
65
- if (typeof next !== 'string' || next.length === 0)
66
- return tools;
67
- if (page >= MAX_LIST_PAGES) {
68
- throw new Error(`tools/list did not stop paging after ${MAX_LIST_PAGES} pages (${tools.length} tools so far).`);
69
- }
70
- cursor = next;
71
- }
72
- }
73
- async callTool(name, args) {
74
- await this.initialize();
75
- return this.rpc('tools/call', { name, arguments: args });
76
- }
77
- async rpc(method, params) {
78
- const id = ++this.id;
79
- const body = { jsonrpc: '2.0', id, method, params };
80
- const url = `${this.opts.endpoint.replace(/\/$/, '')}/mcp`;
81
- const controller = new AbortController();
82
- const timer = setTimeout(() => controller.abort(), this.timeoutMs);
83
- let response;
84
- try {
85
- response = await this.fetchFn(url, {
86
- method: 'POST',
87
- headers: this.headers(method, params),
88
- body: JSON.stringify(body),
89
- signal: controller.signal,
90
- });
91
- }
92
- finally {
93
- clearTimeout(timer);
94
- }
95
- this.captureSessionId(response);
96
- if (!response.ok) {
97
- throw new McpProtocolError(`clawtool MCP request to ${method} failed: HTTP ${response.status}`, response.status);
98
- }
99
- const envelope = await this.readEnvelope(response);
100
- if (envelope.error) {
101
- throw new McpProtocolError(`clawtool MCP method ${method} returned error: ${envelope.error.message}`, envelope.error.code);
102
- }
103
- if (envelope.result === undefined) {
104
- throw new McpProtocolError(`clawtool MCP method ${method} returned no result`);
105
- }
106
- return envelope.result;
107
- }
108
- async notify(method, params) {
109
- const body = { jsonrpc: '2.0', method, params };
110
- const url = `${this.opts.endpoint.replace(/\/$/, '')}/mcp`;
111
- const response = await this.fetchFn(url, {
112
- method: 'POST',
113
- headers: this.headers(method, params),
114
- body: JSON.stringify(body),
115
- });
116
- this.captureSessionId(response);
117
- }
118
- captureSessionId(response) {
119
- // MCP Streamable HTTP issues a session ID on `initialize` and expects
120
- // it echoed on every subsequent request. clawtool returns it via the
121
- // `Mcp-Session-Id` header (see internal/server/http.go + mark3labs/mcp-go).
122
- const sid = response.headers.get('mcp-session-id') ?? response.headers.get('Mcp-Session-Id');
123
- if (sid && sid.length > 0) {
124
- this.sessionId = sid;
125
- }
126
- }
127
- headers(method, params) {
128
- const headers = {
129
- 'Content-Type': 'application/json',
130
- Accept: 'application/json, text/event-stream',
131
- 'Mcp-Method': method,
132
- };
133
- // Empty token = `--no-auth` daemon; omit Authorization entirely.
134
- if (this.opts.token.length > 0) {
135
- headers.Authorization = `Bearer ${this.opts.token}`;
136
- }
137
- if (this.sessionId) {
138
- headers['Mcp-Session-Id'] = this.sessionId;
139
- }
140
- const name = typeof params.name === 'string' ? params.name : undefined;
141
- if (name && (method === 'tools/call' || method === 'prompts/get')) {
142
- headers['Mcp-Name'] = name;
143
- }
144
- return headers;
145
- }
146
- async readEnvelope(response) {
147
- const ct = response.headers.get('content-type') ?? '';
148
- const text = await response.text();
149
- if (ct.includes('text/event-stream')) {
150
- return parseSseSingleEvent(text);
151
- }
152
- return JSON.parse(text);
153
- }
154
- }
155
- function parseSseSingleEvent(raw) {
156
- // Streamable HTTP responses look like:
157
- // data: {"jsonrpc":"2.0", ...}
158
- // (blank line terminator)
159
- // We accept multiple events but only return the last well-formed JSON
160
- // envelope — clawtool's current handlers emit exactly one.
161
- const lines = raw.split('\n');
162
- let last;
163
- for (const line of lines) {
164
- const trimmed = line.replace(/\r$/, '');
165
- if (trimmed.startsWith('data:')) {
166
- last = trimmed.slice('data:'.length).trim();
167
- }
168
- }
169
- if (!last) {
170
- throw new McpProtocolError('clawtool MCP SSE response had no data event');
171
- }
172
- return JSON.parse(last);
173
- }
174
- //# sourceMappingURL=mcp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/mcp.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=mcp.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.test.d.ts","sourceRoot":"","sources":["../../../src/integrations/clawtool/mcp.test.ts"],"names":[],"mappings":""}
@@ -1,126 +0,0 @@
1
- import { describe, expect, it, vi } from 'vitest';
2
- import { ClawtoolMcpClient, McpProtocolError } from './mcp.js';
3
- /** Build a Response stub that mimics clawtool's Streamable HTTP SSE shape. */
4
- function sseResponse(body, sessionId) {
5
- const headers = new Headers({ 'content-type': 'text/event-stream' });
6
- if (sessionId)
7
- headers.set('Mcp-Session-Id', sessionId);
8
- const text = `data: ${JSON.stringify(body)}\n\n`;
9
- return new Response(text, { status: 200, headers });
10
- }
11
- function jsonResponse(body, status = 200) {
12
- return new Response(JSON.stringify(body), {
13
- status,
14
- headers: { 'content-type': 'application/json' },
15
- });
16
- }
17
- describe('ClawtoolMcpClient', () => {
18
- it('initialize → tools/list issues the right wire calls and threads the session id', async () => {
19
- const fetchMock = vi.fn();
20
- // 1: initialize
21
- fetchMock.mockResolvedValueOnce(sseResponse({
22
- jsonrpc: '2.0',
23
- id: 1,
24
- result: {
25
- protocolVersion: '2024-11-05',
26
- capabilities: {},
27
- serverInfo: { name: 'clawtool', version: '0.0.0' },
28
- },
29
- }, 'sid-xyz'));
30
- // 2: notifications/initialized (no body matters)
31
- fetchMock.mockResolvedValueOnce(jsonResponse({ jsonrpc: '2.0' }));
32
- // 3: tools/list
33
- fetchMock.mockResolvedValueOnce(sseResponse({
34
- jsonrpc: '2.0',
35
- id: 2,
36
- result: { tools: [{ name: 'Bash', description: 'shell', inputSchema: {} }] },
37
- }));
38
- const client = new ClawtoolMcpClient({
39
- endpoint: 'http://localhost:1234',
40
- token: 'tok',
41
- fetch: fetchMock,
42
- });
43
- const tools = await client.listTools();
44
- expect(tools).toEqual([{ name: 'Bash', description: 'shell', inputSchema: {} }]);
45
- // All three calls hit /mcp.
46
- expect(fetchMock).toHaveBeenCalledTimes(3);
47
- for (const call of fetchMock.mock.calls) {
48
- expect(call[0]).toBe('http://localhost:1234/mcp');
49
- }
50
- // Initialize carried the bearer + method headers, no session id yet.
51
- const initHeaders = fetchMock.mock.calls[0]?.[1]?.headers;
52
- expect(initHeaders.Authorization).toBe('Bearer tok');
53
- expect(initHeaders['Mcp-Method']).toBe('initialize');
54
- expect(initHeaders['Mcp-Session-Id']).toBeUndefined();
55
- // Subsequent calls echo the session id captured from the initialize response.
56
- const notifyHeaders = fetchMock.mock.calls[1]?.[1]?.headers;
57
- expect(notifyHeaders['Mcp-Session-Id']).toBe('sid-xyz');
58
- const listHeaders = fetchMock.mock.calls[2]?.[1]?.headers;
59
- expect(listHeaders['Mcp-Session-Id']).toBe('sid-xyz');
60
- expect(listHeaders['Mcp-Method']).toBe('tools/list');
61
- });
62
- it('omits the Authorization header when the token is empty (no-auth daemon)', async () => {
63
- const fetchMock = vi.fn();
64
- fetchMock.mockResolvedValue(sseResponse({
65
- jsonrpc: '2.0',
66
- id: 1,
67
- result: { protocolVersion: '2024-11-05', capabilities: {}, serverInfo: {} },
68
- }, 'sid-noauth'));
69
- const client = new ClawtoolMcpClient({
70
- endpoint: 'http://localhost:1234',
71
- token: '',
72
- fetch: fetchMock,
73
- });
74
- await client.initialize();
75
- const headers = fetchMock.mock.calls[0]?.[1]?.headers;
76
- expect(headers.Authorization).toBeUndefined();
77
- });
78
- it('tools/call adds the Mcp-Name header for the tool dispatch', async () => {
79
- const fetchMock = vi.fn();
80
- fetchMock.mockResolvedValueOnce(sseResponse({
81
- jsonrpc: '2.0',
82
- id: 1,
83
- result: { protocolVersion: '2024-11-05', capabilities: {}, serverInfo: {} },
84
- }, 'sid-call'));
85
- fetchMock.mockResolvedValueOnce(jsonResponse({ jsonrpc: '2.0' }));
86
- fetchMock.mockResolvedValueOnce(sseResponse({
87
- jsonrpc: '2.0',
88
- id: 2,
89
- result: { content: [{ type: 'text', text: 'ok' }] },
90
- }));
91
- const client = new ClawtoolMcpClient({
92
- endpoint: 'http://localhost:1234',
93
- token: 'tok',
94
- fetch: fetchMock,
95
- });
96
- const result = await client.callTool('Bash', { command: 'echo hi' });
97
- expect(result.content[0]).toEqual({ type: 'text', text: 'ok' });
98
- const callHeaders = fetchMock.mock.calls[2]?.[1]?.headers;
99
- expect(callHeaders['Mcp-Name']).toBe('Bash');
100
- });
101
- it('throws McpProtocolError on non-2xx responses', async () => {
102
- const fetchMock = vi.fn();
103
- fetchMock.mockResolvedValue(new Response('', { status: 404 }));
104
- const client = new ClawtoolMcpClient({
105
- endpoint: 'http://localhost:1234',
106
- token: '',
107
- fetch: fetchMock,
108
- });
109
- await expect(client.initialize()).rejects.toThrow(McpProtocolError);
110
- });
111
- it('throws McpProtocolError when the envelope reports a JSON-RPC error', async () => {
112
- const fetchMock = vi.fn();
113
- fetchMock.mockResolvedValueOnce(sseResponse({
114
- jsonrpc: '2.0',
115
- id: 1,
116
- error: { code: -32601, message: 'method not found' },
117
- }));
118
- const client = new ClawtoolMcpClient({
119
- endpoint: 'http://localhost:1234',
120
- token: '',
121
- fetch: fetchMock,
122
- });
123
- await expect(client.initialize()).rejects.toThrow(/method not found/);
124
- });
125
- });
126
- //# sourceMappingURL=mcp.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.test.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/mcp.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Resolve clawtool's XDG-style config directory, honoring `XDG_CONFIG_HOME`.
3
- * Mirrors clawtool's Go `internal/daemon/daemon.go:75-77` behavior.
4
- */
5
- export declare function clawtoolConfigDir(env?: NodeJS.ProcessEnv): string;
6
- export declare function daemonStatePath(env?: NodeJS.ProcessEnv): string;
7
- export declare function listenerTokenPath(env?: NodeJS.ProcessEnv): string;
8
- //# sourceMappingURL=paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/integrations/clawtool/paths.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAI9E;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE5E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE9E"}
@@ -1,19 +0,0 @@
1
- import { homedir } from 'node:os';
2
- import { join } from 'node:path';
3
- /**
4
- * Resolve clawtool's XDG-style config directory, honoring `XDG_CONFIG_HOME`.
5
- * Mirrors clawtool's Go `internal/daemon/daemon.go:75-77` behavior.
6
- */
7
- export function clawtoolConfigDir(env = process.env) {
8
- const xdg = env.XDG_CONFIG_HOME;
9
- if (xdg && xdg.trim().length > 0)
10
- return join(xdg, 'clawtool');
11
- return join(homedir(), '.config', 'clawtool');
12
- }
13
- export function daemonStatePath(env = process.env) {
14
- return join(clawtoolConfigDir(env), 'daemon.json');
15
- }
16
- export function listenerTokenPath(env = process.env) {
17
- return join(clawtoolConfigDir(env), 'listener-token');
18
- }
19
- //# sourceMappingURL=paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACrE,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAA;IAC/B,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC9D,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACrE,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAA;AACtD,CAAC"}
@@ -1,67 +0,0 @@
1
- /**
2
- * Client for clawtool's BIAM peer registry (`/v1/peers`) — the canonical
3
- * cross-terminal / cross-host agent coordination layer. namzu registers
4
- * itself here as a peer so any orchestrator (clawtool's dashboard, another
5
- * namzu's `/agents`) can see it, and messages it via the same registry.
6
- *
7
- * namzu does NOT run its own session daemon for this — clawtool already owns
8
- * peer presence, heartbeats, messaging, broadcast, mDNS LAN discovery, and a
9
- * dashboard. We just register + list + send through it.
10
- *
11
- * Every call is best-effort: with no reachable clawtool daemon the helpers
12
- * return null / [] / false so the TUI works the same with or without it.
13
- */
14
- import { type EnsureDaemonOptions } from './daemon.js';
15
- export interface Peer {
16
- readonly peer_id: string;
17
- readonly display_name: string;
18
- readonly backend: string;
19
- readonly circle?: string;
20
- readonly role?: string;
21
- readonly status?: string;
22
- readonly session_id?: string;
23
- readonly pid?: number;
24
- readonly path?: string;
25
- readonly last_seen?: string;
26
- }
27
- export interface RegisterPeerInput {
28
- readonly display_name: string;
29
- readonly backend: string;
30
- readonly path?: string;
31
- readonly session_id?: string;
32
- readonly pid?: number;
33
- readonly circle?: string;
34
- readonly metadata?: Record<string, string>;
35
- }
36
- /** Register (or refresh) this process as a BIAM peer; returns its peer_id. */
37
- export declare function registerPeer(input: RegisterPeerInput, opts?: EnsureDaemonOptions): Promise<string | null>;
38
- export declare function heartbeatPeer(peerId: string, opts?: EnsureDaemonOptions): Promise<void>;
39
- export declare function deregisterPeer(peerId: string, opts?: EnsureDaemonOptions): Promise<void>;
40
- export declare function listPeers(opts?: EnsureDaemonOptions): Promise<readonly Peer[]>;
41
- /** A message in a peer's BIAM inbox (clawtool `a2a.Message`). */
42
- export interface InboxMessage {
43
- readonly id: string;
44
- readonly type?: string;
45
- readonly from_peer: string;
46
- readonly to_peer?: string;
47
- readonly text: string;
48
- readonly correlation_id?: string;
49
- readonly timestamp?: string;
50
- }
51
- /**
52
- * Drain this peer's inbox — returns + clears pending messages other agents
53
- * sent to us. namzu polls this so clawtool / another agent can talk TO it,
54
- * not just be listed. (`peek` leaves messages in place; default drains.)
55
- */
56
- export declare function drainInbox(peerId: string, opts?: EnsureDaemonOptions & {
57
- peek?: boolean;
58
- }): Promise<readonly InboxMessage[]>;
59
- /**
60
- * Send a message to another peer's BIAM inbox. `from` is our own peer id so
61
- * the recipient knows who sent it (and can reply) — clawtool stamps it as the
62
- * message's `from_peer`.
63
- */
64
- export declare function sendPeerMessage(peerId: string, text: string, opts?: EnsureDaemonOptions & {
65
- from?: string;
66
- }): Promise<boolean>;
67
- //# sourceMappingURL=peers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"peers.d.ts","sourceRoot":"","sources":["../../../src/integrations/clawtool/peers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,mBAAmB,EAAgB,MAAM,aAAa,CAAA;AAEpE,MAAM,WAAW,IAAI;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C;AAmBD,8EAA8E;AAC9E,wBAAsB,YAAY,CACjC,KAAK,EAAE,iBAAiB,EACxB,IAAI,GAAE,mBAAwB,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBxB;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAejG;AAED,wBAAsB,cAAc,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,mBAAwB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,SAAS,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAgBxF;AAED,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,mBAAmB,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GACjD,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAiBlC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,mBAAmB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAChD,OAAO,CAAC,OAAO,CAAC,CAelB"}