@vinhnt-sdk/core 0.1.0 → 0.1.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 (334) hide show
  1. package/README.md +13 -20
  2. package/dist/agent/create-agent-tool.d.ts +1 -1
  3. package/dist/agent/create-agent-tool.d.ts.map +1 -1
  4. package/dist/agent/create-agent-tool.js +1 -1
  5. package/dist/agent/create-agent-tool.js.map +1 -1
  6. package/dist/agent/delegate-batch-tool.d.ts +1 -1
  7. package/dist/agent/delegate-batch-tool.d.ts.map +1 -1
  8. package/dist/agent/delegate-batch-tool.js +1 -1
  9. package/dist/agent/delegate-batch-tool.js.map +1 -1
  10. package/dist/agent/delegate-tool.d.ts +1 -1
  11. package/dist/agent/delegate-tool.js +1 -1
  12. package/dist/agent/delegate-tool.js.map +1 -1
  13. package/dist/agent/list-agents-tool.d.ts +1 -1
  14. package/dist/agent/list-agents-tool.d.ts.map +1 -1
  15. package/dist/agent/list-agents-tool.js +1 -1
  16. package/dist/agent/list-agents-tool.js.map +1 -1
  17. package/dist/agent/spawn-agent-tool.d.ts +1 -1
  18. package/dist/agent/spawn-agent-tool.d.ts.map +1 -1
  19. package/dist/agent/spawn-agent-tool.js +1 -1
  20. package/dist/agent/spawn-agent-tool.js.map +1 -1
  21. package/dist/event-bus/global-bus.d.ts +3 -1
  22. package/dist/event-bus/global-bus.d.ts.map +1 -1
  23. package/dist/event-bus/global-bus.js +7 -1
  24. package/dist/event-bus/global-bus.js.map +1 -1
  25. package/dist/event-bus/in-memory-bus.d.ts.map +1 -1
  26. package/dist/event-bus/in-memory-bus.js +10 -2
  27. package/dist/event-bus/in-memory-bus.js.map +1 -1
  28. package/dist/fakes/fake-model.d.ts +8 -0
  29. package/dist/fakes/fake-model.d.ts.map +1 -1
  30. package/dist/fakes/fake-model.js +8 -0
  31. package/dist/fakes/fake-model.js.map +1 -1
  32. package/dist/fakes/fake-tool-context.d.ts +1 -1
  33. package/dist/fakes/fake-tool-context.d.ts.map +1 -1
  34. package/dist/fakes/fake-tool.d.ts +1 -3
  35. package/dist/fakes/fake-tool.d.ts.map +1 -1
  36. package/dist/fakes/fake-tool.js.map +1 -1
  37. package/dist/index.d.ts +36 -32
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +19 -14
  40. package/dist/index.js.map +1 -1
  41. package/dist/kernel/approval-handler.d.ts +1 -1
  42. package/dist/kernel/approval-handler.d.ts.map +1 -1
  43. package/dist/kernel/kernel-types.d.ts +115 -17
  44. package/dist/kernel/kernel-types.d.ts.map +1 -1
  45. package/dist/kernel/kernel-types.js +64 -1
  46. package/dist/kernel/kernel-types.js.map +1 -1
  47. package/dist/kernel/kernel.d.ts +20 -3
  48. package/dist/kernel/kernel.d.ts.map +1 -1
  49. package/dist/kernel/kernel.js +108 -67
  50. package/dist/kernel/kernel.js.map +1 -1
  51. package/dist/kernel/lifecycle-manager.d.ts +28 -0
  52. package/dist/kernel/lifecycle-manager.d.ts.map +1 -0
  53. package/dist/kernel/lifecycle-manager.js +51 -0
  54. package/dist/kernel/lifecycle-manager.js.map +1 -0
  55. package/dist/kernel/model-caller.d.ts +1 -1
  56. package/dist/kernel/model-caller.d.ts.map +1 -1
  57. package/dist/kernel/permission-gate.d.ts +1 -2
  58. package/dist/kernel/permission-gate.d.ts.map +1 -1
  59. package/dist/kernel/permission-gate.js +1 -1
  60. package/dist/kernel/permission-gate.js.map +1 -1
  61. package/dist/kernel/run-loop.d.ts.map +1 -1
  62. package/dist/kernel/run-loop.js +15 -3
  63. package/dist/kernel/run-loop.js.map +1 -1
  64. package/dist/kernel/self-correction.d.ts +2 -2
  65. package/dist/kernel/self-correction.d.ts.map +1 -1
  66. package/dist/kernel/step-executor.d.ts +1 -2
  67. package/dist/kernel/step-executor.d.ts.map +1 -1
  68. package/dist/kernel/step-executor.js +5 -6
  69. package/dist/kernel/step-executor.js.map +1 -1
  70. package/dist/kernel/tool-context-builder.d.ts +1 -1
  71. package/dist/kernel/tool-context-builder.d.ts.map +1 -1
  72. package/dist/kernel/tool-error-router.d.ts +1 -1
  73. package/dist/kernel/tool-error-router.d.ts.map +1 -1
  74. package/dist/logger.js +1 -1
  75. package/dist/logger.js.map +1 -1
  76. package/dist/model.d.ts +7 -80
  77. package/dist/model.d.ts.map +1 -1
  78. package/dist/model.js.map +1 -1
  79. package/dist/plugin/manager.d.ts +2 -2
  80. package/dist/plugin/manager.d.ts.map +1 -1
  81. package/dist/plugin/plugin-tool-provider.d.ts +1 -3
  82. package/dist/plugin/plugin-tool-provider.d.ts.map +1 -1
  83. package/dist/plugin/plugin-tool-provider.js.map +1 -1
  84. package/dist/plugin.d.ts +2 -2
  85. package/dist/plugin.d.ts.map +1 -1
  86. package/dist/session/compaction.d.ts +5 -8
  87. package/dist/session/compaction.d.ts.map +1 -1
  88. package/dist/session/store.d.ts +5 -44
  89. package/dist/session/store.d.ts.map +1 -1
  90. package/dist/skill/create-skill-tool.d.ts +1 -1
  91. package/dist/skill/create-skill-tool.d.ts.map +1 -1
  92. package/dist/skill/create-skill-tool.js +1 -1
  93. package/dist/skill/create-skill-tool.js.map +1 -1
  94. package/dist/skill/skill-tool.d.ts +2 -2
  95. package/dist/skill/skill-tool.d.ts.map +1 -1
  96. package/dist/skill/skill-tool.js +1 -1
  97. package/dist/skill/skill-tool.js.map +1 -1
  98. package/dist/system-context/prompts/index.d.ts +57 -1
  99. package/dist/system-context/prompts/index.d.ts.map +1 -1
  100. package/dist/system-context/prompts/index.js +69 -13
  101. package/dist/system-context/prompts/index.js.map +1 -1
  102. package/dist/tool/bridge.d.ts +1 -1
  103. package/dist/tool/bridge.d.ts.map +1 -1
  104. package/dist/tool/index.d.ts +37 -42
  105. package/dist/tool/index.d.ts.map +1 -1
  106. package/dist/tool/index.js +25 -30
  107. package/dist/tool/index.js.map +1 -1
  108. package/dist/tool/provider-helpers.d.ts +2 -3
  109. package/dist/tool/provider-helpers.d.ts.map +1 -1
  110. package/dist/tool/provider-helpers.js +2 -3
  111. package/dist/tool/provider-helpers.js.map +1 -1
  112. package/dist/tool/runtime.d.ts +4 -4
  113. package/dist/tool/runtime.d.ts.map +1 -1
  114. package/dist/tool/runtime.js +2 -2
  115. package/dist/tool/runtime.js.map +1 -1
  116. package/dist/workflow/agent-graph.d.ts +34 -0
  117. package/dist/workflow/agent-graph.d.ts.map +1 -0
  118. package/dist/workflow/agent-graph.js +145 -0
  119. package/dist/workflow/agent-graph.js.map +1 -0
  120. package/dist/workflow/index.d.ts +4 -0
  121. package/dist/workflow/index.d.ts.map +1 -0
  122. package/dist/workflow/index.js +3 -0
  123. package/dist/workflow/index.js.map +1 -0
  124. package/dist/workflow/types.d.ts +94 -0
  125. package/dist/workflow/types.d.ts.map +1 -0
  126. package/dist/{knowledge → workflow}/types.js.map +1 -1
  127. package/dist/workflow/workflow-helpers.d.ts +35 -0
  128. package/dist/workflow/workflow-helpers.d.ts.map +1 -0
  129. package/dist/workflow/workflow-helpers.js +66 -0
  130. package/dist/workflow/workflow-helpers.js.map +1 -0
  131. package/package.json +5 -2
  132. package/dist/agent/dynamic-registry.d.ts +0 -30
  133. package/dist/agent/dynamic-registry.d.ts.map +0 -1
  134. package/dist/agent/dynamic-registry.js +0 -87
  135. package/dist/agent/dynamic-registry.js.map +0 -1
  136. package/dist/crypto/password.d.ts +0 -11
  137. package/dist/crypto/password.d.ts.map +0 -1
  138. package/dist/crypto/password.js +0 -44
  139. package/dist/crypto/password.js.map +0 -1
  140. package/dist/internal/index.d.ts +0 -5
  141. package/dist/internal/index.d.ts.map +0 -1
  142. package/dist/internal/index.js +0 -8
  143. package/dist/internal/index.js.map +0 -1
  144. package/dist/kernel/context-manager.d.ts +0 -29
  145. package/dist/kernel/context-manager.d.ts.map +0 -1
  146. package/dist/kernel/context-manager.js +0 -64
  147. package/dist/kernel/context-manager.js.map +0 -1
  148. package/dist/kernel/max-steps-prompt.d.ts +0 -3
  149. package/dist/kernel/max-steps-prompt.d.ts.map +0 -1
  150. package/dist/kernel/max-steps-prompt.js +0 -13
  151. package/dist/kernel/max-steps-prompt.js.map +0 -1
  152. package/dist/kernel/run-orchestrator.d.ts +0 -66
  153. package/dist/kernel/run-orchestrator.d.ts.map +0 -1
  154. package/dist/kernel/run-orchestrator.js +0 -182
  155. package/dist/kernel/run-orchestrator.js.map +0 -1
  156. package/dist/kernel/step-runner.d.ts +0 -57
  157. package/dist/kernel/step-runner.d.ts.map +0 -1
  158. package/dist/kernel/step-runner.js +0 -124
  159. package/dist/kernel/step-runner.js.map +0 -1
  160. package/dist/knowledge/approval.d.ts +0 -19
  161. package/dist/knowledge/approval.d.ts.map +0 -1
  162. package/dist/knowledge/approval.js +0 -60
  163. package/dist/knowledge/approval.js.map +0 -1
  164. package/dist/knowledge/compressor.d.ts +0 -46
  165. package/dist/knowledge/compressor.d.ts.map +0 -1
  166. package/dist/knowledge/compressor.js +0 -86
  167. package/dist/knowledge/compressor.js.map +0 -1
  168. package/dist/knowledge/index.d.ts +0 -16
  169. package/dist/knowledge/index.d.ts.map +0 -1
  170. package/dist/knowledge/index.js +0 -10
  171. package/dist/knowledge/index.js.map +0 -1
  172. package/dist/knowledge/learning-engine.d.ts +0 -47
  173. package/dist/knowledge/learning-engine.d.ts.map +0 -1
  174. package/dist/knowledge/learning-engine.js +0 -83
  175. package/dist/knowledge/learning-engine.js.map +0 -1
  176. package/dist/knowledge/llm-compactor.d.ts +0 -25
  177. package/dist/knowledge/llm-compactor.d.ts.map +0 -1
  178. package/dist/knowledge/llm-compactor.js +0 -79
  179. package/dist/knowledge/llm-compactor.js.map +0 -1
  180. package/dist/knowledge/memory-bounded.d.ts +0 -21
  181. package/dist/knowledge/memory-bounded.d.ts.map +0 -1
  182. package/dist/knowledge/memory-bounded.js +0 -63
  183. package/dist/knowledge/memory-bounded.js.map +0 -1
  184. package/dist/knowledge/memory.d.ts +0 -21
  185. package/dist/knowledge/memory.d.ts.map +0 -1
  186. package/dist/knowledge/memory.js +0 -85
  187. package/dist/knowledge/memory.js.map +0 -1
  188. package/dist/knowledge/prompt-builder.d.ts +0 -11
  189. package/dist/knowledge/prompt-builder.d.ts.map +0 -1
  190. package/dist/knowledge/prompt-builder.js +0 -23
  191. package/dist/knowledge/prompt-builder.js.map +0 -1
  192. package/dist/knowledge/review.d.ts +0 -26
  193. package/dist/knowledge/review.d.ts.map +0 -1
  194. package/dist/knowledge/review.js +0 -69
  195. package/dist/knowledge/review.js.map +0 -1
  196. package/dist/knowledge/tool.d.ts +0 -4
  197. package/dist/knowledge/tool.d.ts.map +0 -1
  198. package/dist/knowledge/tool.js +0 -27
  199. package/dist/knowledge/tool.js.map +0 -1
  200. package/dist/knowledge/types.d.ts +0 -27
  201. package/dist/knowledge/types.d.ts.map +0 -1
  202. package/dist/tool/arity.d.ts +0 -22
  203. package/dist/tool/arity.d.ts.map +0 -1
  204. package/dist/tool/arity.js +0 -96
  205. package/dist/tool/arity.js.map +0 -1
  206. package/dist/tool/context.d.ts +0 -43
  207. package/dist/tool/context.d.ts.map +0 -1
  208. package/dist/tool/context.js +0 -2
  209. package/dist/tool/context.js.map +0 -1
  210. package/dist/tool/define-tool.d.ts +0 -45
  211. package/dist/tool/define-tool.d.ts.map +0 -1
  212. package/dist/tool/define-tool.js +0 -120
  213. package/dist/tool/define-tool.js.map +0 -1
  214. package/dist/tool/definitions.d.ts +0 -22
  215. package/dist/tool/definitions.d.ts.map +0 -1
  216. package/dist/tool/definitions.js +0 -2
  217. package/dist/tool/definitions.js.map +0 -1
  218. package/dist/tool/description-lint.d.ts +0 -25
  219. package/dist/tool/description-lint.d.ts.map +0 -1
  220. package/dist/tool/description-lint.js +0 -90
  221. package/dist/tool/description-lint.js.map +0 -1
  222. package/dist/tool/diff.d.ts +0 -7
  223. package/dist/tool/diff.d.ts.map +0 -1
  224. package/dist/tool/diff.js +0 -26
  225. package/dist/tool/diff.js.map +0 -1
  226. package/dist/tool/domain.d.ts +0 -39
  227. package/dist/tool/domain.d.ts.map +0 -1
  228. package/dist/tool/domain.js +0 -20
  229. package/dist/tool/domain.js.map +0 -1
  230. package/dist/tool/file-history.d.ts +0 -43
  231. package/dist/tool/file-history.d.ts.map +0 -1
  232. package/dist/tool/file-history.js +0 -55
  233. package/dist/tool/file-history.js.map +0 -1
  234. package/dist/tool/file-tools.d.ts +0 -51
  235. package/dist/tool/file-tools.d.ts.map +0 -1
  236. package/dist/tool/file-tools.js +0 -534
  237. package/dist/tool/file-tools.js.map +0 -1
  238. package/dist/tool/git-tools.d.ts +0 -8
  239. package/dist/tool/git-tools.d.ts.map +0 -1
  240. package/dist/tool/git-tools.js +0 -114
  241. package/dist/tool/git-tools.js.map +0 -1
  242. package/dist/tool/history-hook.d.ts +0 -4
  243. package/dist/tool/history-hook.d.ts.map +0 -1
  244. package/dist/tool/history-hook.js +0 -62
  245. package/dist/tool/history-hook.js.map +0 -1
  246. package/dist/tool/image-tools.d.ts +0 -11
  247. package/dist/tool/image-tools.d.ts.map +0 -1
  248. package/dist/tool/image-tools.js +0 -55
  249. package/dist/tool/image-tools.js.map +0 -1
  250. package/dist/tool/in-memory-tool-registry.d.ts +0 -13
  251. package/dist/tool/in-memory-tool-registry.d.ts.map +0 -1
  252. package/dist/tool/in-memory-tool-registry.js +0 -39
  253. package/dist/tool/in-memory-tool-registry.js.map +0 -1
  254. package/dist/tool/json-schema.d.ts +0 -22
  255. package/dist/tool/json-schema.d.ts.map +0 -1
  256. package/dist/tool/json-schema.js +0 -2
  257. package/dist/tool/json-schema.js.map +0 -1
  258. package/dist/tool/lazy-registry.d.ts +0 -23
  259. package/dist/tool/lazy-registry.d.ts.map +0 -1
  260. package/dist/tool/lazy-registry.js +0 -64
  261. package/dist/tool/lazy-registry.js.map +0 -1
  262. package/dist/tool/policy.d.ts +0 -5
  263. package/dist/tool/policy.d.ts.map +0 -1
  264. package/dist/tool/policy.js +0 -2
  265. package/dist/tool/policy.js.map +0 -1
  266. package/dist/tool/provider.d.ts +0 -80
  267. package/dist/tool/provider.d.ts.map +0 -1
  268. package/dist/tool/provider.js +0 -96
  269. package/dist/tool/provider.js.map +0 -1
  270. package/dist/tool/providers/agent-provider.d.ts +0 -26
  271. package/dist/tool/providers/agent-provider.d.ts.map +0 -1
  272. package/dist/tool/providers/agent-provider.js +0 -42
  273. package/dist/tool/providers/agent-provider.js.map +0 -1
  274. package/dist/tool/providers/builtin-provider.d.ts +0 -28
  275. package/dist/tool/providers/builtin-provider.d.ts.map +0 -1
  276. package/dist/tool/providers/builtin-provider.js +0 -67
  277. package/dist/tool/providers/builtin-provider.js.map +0 -1
  278. package/dist/tool/providers/file-loader.d.ts +0 -47
  279. package/dist/tool/providers/file-loader.d.ts.map +0 -1
  280. package/dist/tool/providers/file-loader.js +0 -120
  281. package/dist/tool/providers/file-loader.js.map +0 -1
  282. package/dist/tool/providers/index.d.ts +0 -8
  283. package/dist/tool/providers/index.d.ts.map +0 -1
  284. package/dist/tool/providers/index.js +0 -8
  285. package/dist/tool/providers/index.js.map +0 -1
  286. package/dist/tool/providers/skill-provider.d.ts +0 -23
  287. package/dist/tool/providers/skill-provider.d.ts.map +0 -1
  288. package/dist/tool/providers/skill-provider.js +0 -28
  289. package/dist/tool/providers/skill-provider.js.map +0 -1
  290. package/dist/tool/question-tool.d.ts +0 -15
  291. package/dist/tool/question-tool.d.ts.map +0 -1
  292. package/dist/tool/question-tool.js +0 -51
  293. package/dist/tool/question-tool.js.map +0 -1
  294. package/dist/tool/read-tracker.d.ts +0 -8
  295. package/dist/tool/read-tracker.d.ts.map +0 -1
  296. package/dist/tool/read-tracker.js +0 -33
  297. package/dist/tool/read-tracker.js.map +0 -1
  298. package/dist/tool/registry.d.ts +0 -58
  299. package/dist/tool/registry.d.ts.map +0 -1
  300. package/dist/tool/registry.js +0 -128
  301. package/dist/tool/registry.js.map +0 -1
  302. package/dist/tool/sandbox.d.ts +0 -12
  303. package/dist/tool/sandbox.d.ts.map +0 -1
  304. package/dist/tool/sandbox.js +0 -72
  305. package/dist/tool/sandbox.js.map +0 -1
  306. package/dist/tool/search-tools.d.ts +0 -6
  307. package/dist/tool/search-tools.d.ts.map +0 -1
  308. package/dist/tool/search-tools.js +0 -118
  309. package/dist/tool/search-tools.js.map +0 -1
  310. package/dist/tool/shell-tool.d.ts +0 -19
  311. package/dist/tool/shell-tool.d.ts.map +0 -1
  312. package/dist/tool/shell-tool.js +0 -139
  313. package/dist/tool/shell-tool.js.map +0 -1
  314. package/dist/tool/todo-tool.d.ts +0 -2
  315. package/dist/tool/todo-tool.d.ts.map +0 -1
  316. package/dist/tool/todo-tool.js +0 -121
  317. package/dist/tool/todo-tool.js.map +0 -1
  318. package/dist/tool/tool-registry-types.d.ts +0 -14
  319. package/dist/tool/tool-registry-types.d.ts.map +0 -1
  320. package/dist/tool/tool-registry-types.js +0 -2
  321. package/dist/tool/tool-registry-types.js.map +0 -1
  322. package/dist/tool/validate.d.ts +0 -9
  323. package/dist/tool/validate.d.ts.map +0 -1
  324. package/dist/tool/validate.js +0 -26
  325. package/dist/tool/validate.js.map +0 -1
  326. package/dist/tool/web-search-tool.d.ts +0 -24
  327. package/dist/tool/web-search-tool.d.ts.map +0 -1
  328. package/dist/tool/web-search-tool.js +0 -66
  329. package/dist/tool/web-search-tool.js.map +0 -1
  330. package/dist/tool/web-tools.d.ts +0 -10
  331. package/dist/tool/web-tools.d.ts.map +0 -1
  332. package/dist/tool/web-tools.js +0 -61
  333. package/dist/tool/web-tools.js.map +0 -1
  334. /package/dist/{knowledge → workflow}/types.js +0 -0
@@ -1,120 +0,0 @@
1
- import { validateInput } from "./validate.js";
2
- /** Map a Zod schema to the codebase's `NestedJsonSchema` shape (best effort). */
3
- export function zodSchemaToNestedJsonSchema(schema) {
4
- if (!schema)
5
- return undefined;
6
- const out = convert(schema);
7
- return out ? Object.assign({}, out) : undefined;
8
- }
9
- function convert(schema) {
10
- if (!schema)
11
- return undefined;
12
- // Unwrap effects (refine/transform) and optional/default wrappers.
13
- while (schema._def.type === "effects" || schema._def.type === "optional" || schema._def.type === "default") {
14
- if (schema._def.type === "effects")
15
- schema = schema._def.schema;
16
- else
17
- schema = schema._def.innerType;
18
- }
19
- const base = {};
20
- const desc = schema.description ?? schema._def.description;
21
- if (desc)
22
- base.description = desc;
23
- switch (schema._def.type) {
24
- case "string":
25
- base.type = "string";
26
- return base;
27
- case "number":
28
- base.type = "number";
29
- return base;
30
- case "boolean":
31
- base.type = "boolean";
32
- return base;
33
- case "enum": {
34
- const entries = schema._def.entries ?? {};
35
- base.type = "string";
36
- base.enum = Object.keys(entries);
37
- return base;
38
- }
39
- case "literal":
40
- base.type = typeof schema._def.value === "string" ? "string" : "number";
41
- return base;
42
- case "array": {
43
- base.type = "array";
44
- base.items = convert(schema._def.innerType) ?? { type: "string" };
45
- return base;
46
- }
47
- case "record":
48
- base.type = "object";
49
- return base;
50
- case "object": {
51
- base.type = "object";
52
- const raw = schema._def.shape;
53
- const shape = typeof raw === "function" ? raw() : (raw ?? {});
54
- const properties = {};
55
- const required = [];
56
- for (const [key, child] of Object.entries(shape)) {
57
- properties[key] = convert(child) ?? { type: "string" };
58
- if (!child.isOptional?.() && child._def?.type !== "optional" && child._def?.type !== "default") {
59
- required.push(key);
60
- }
61
- }
62
- base.properties = properties;
63
- if (required.length)
64
- base.required = required;
65
- return base;
66
- }
67
- case "union": {
68
- const options = schema._def.options ?? [];
69
- if (options.every((o) => o._def?.type === "string")) {
70
- base.type = "string";
71
- return base;
72
- }
73
- if (options.every((o) => o._def?.type === "number")) {
74
- base.type = "number";
75
- return base;
76
- }
77
- base.type = "string";
78
- return base;
79
- }
80
- default:
81
- base.type = "string";
82
- return base;
83
- }
84
- }
85
- export function defineTool(config) {
86
- return {
87
- name: config.name,
88
- description: config.description,
89
- risk: config.risk,
90
- timeoutMs: config.timeoutMs,
91
- permissionAction: config.permissionAction,
92
- input: config.input,
93
- toDefinition() {
94
- return {
95
- id: config.name,
96
- description: config.description,
97
- risk: config.risk,
98
- inputSchema: config.jsonSchema ?? zodSchemaToNestedJsonSchema(config.input),
99
- timeoutMs: config.timeoutMs,
100
- permissionAction: config.permissionAction,
101
- inputZodSchema: config.input,
102
- outputZodSchema: config.output,
103
- async execute(raw, ctx) {
104
- const normalized = config.normalize ? config.normalize(raw) : raw;
105
- const input = validateInput(config.name, config.input, normalized);
106
- const result = await config.execute(input, ctx);
107
- if (config.output) {
108
- return validateInput(config.name, config.output, result);
109
- }
110
- return result;
111
- },
112
- };
113
- },
114
- };
115
- }
116
- /** Convenience: build a ToolDefinition directly from a ToolConfig. */
117
- export function toolToDefinition(config) {
118
- return defineTool(config).toDefinition();
119
- }
120
- //# sourceMappingURL=define-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-tool.js","sourceRoot":"","sources":["../../src/tool/define-tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA2C9C,iFAAiF;AACjF,MAAM,UAAU,2BAA2B,CAAC,MAAoB;IAC9D,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAiB,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC,CAAC,CAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAsB,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAKD,SAAS,OAAO,CAAC,MAAe;IAC9B,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,mEAAmE;IACnE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3G,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAiB,CAAC;;YACtE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAoB,CAAC;IACjD,CAAC;IAED,MAAM,IAAI,GAAkB,EAAmB,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3D,IAAI,IAAI;QAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAElC,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,SAAS;YACZ,IAAI,CAAC,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxE,OAAO,IAAI,CAAC;QACd,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,QAAQ;YACX,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9B,MAAM,KAAK,GAAwB,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YACnF,MAAM,UAAU,GAAqC,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAClE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/F,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,QAAQ,CAAC,MAAM;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD;YACE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrB,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,MAAmC;IAEnC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,YAAY;YACV,OAAO;gBACL,EAAE,EAAE,MAAM,CAAC,IAAI;gBACf,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,UAAU,IAAI,2BAA2B,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3E,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,cAAc,EAAE,MAAM,CAAC,KAAK;gBAC5B,eAAe,EAAE,MAAM,CAAC,MAAM;gBAC9B,KAAK,CAAC,OAAO,CAAC,GAAY,EAAE,GAAgB;oBAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAClE,MAAM,KAAK,GAAG,aAAa,CAAS,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;oBAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAChD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBAClB,OAAO,aAAa,CAAU,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACpE,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAC9B,MAAmC;IAEnC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;AAC3C,CAAC"}
@@ -1,22 +0,0 @@
1
- import type { z } from "zod";
2
- import type { ToolContext } from "./context.js";
3
- export type { ToolContext };
4
- import type { NestedJsonSchema } from "./json-schema.js";
5
- export type ToolRisk = "read" | "write" | "destructive" | "external";
6
- export interface ToolDefinition<TInput = unknown, TOutput = unknown> {
7
- readonly id: string;
8
- readonly description: string;
9
- /** JSON Schema for LLM-facing input generation */
10
- readonly inputSchema?: NestedJsonSchema | undefined;
11
- readonly risk: ToolRisk;
12
- /** Per-tool timeout in ms (overrides global default). */
13
- readonly timeoutMs?: number;
14
- /** Permission action key for the gate (e.g. "edit", "shell"). Optional; defaults to risk. */
15
- readonly permissionAction?: string;
16
- /** Zod schema for runtime input validation (carried from defineTool). */
17
- readonly inputZodSchema?: z.ZodType<TInput>;
18
- /** Zod schema for runtime output validation (carried from defineTool). */
19
- readonly outputZodSchema?: z.ZodType<TOutput>;
20
- execute(input: TInput, ctx: ToolContext): Promise<TOutput>;
21
- }
22
- //# sourceMappingURL=definitions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tool/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACjE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6FAA6F;IAC7F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,0EAA0E;IAC1E,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=definitions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tool/definitions.ts"],"names":[],"mappings":""}
@@ -1,25 +0,0 @@
1
- /**
2
- * ── Tool description lint (Phase 5) ──────────────────────────────────────
3
- * LLM tool-selection accuracy depends on description quality: a bad or vague
4
- * description ("Do stuff") makes the model pick the wrong tool or skip it.
5
- * This module flags the common "smells" in tool descriptions so authors and
6
- * CI can catch them early, mirroring API-doc review practices.
7
- */
8
- export type DescriptionIssueCode = "empty" | "too-short" | "no-verb" | "vague" | "placeholder" | "too-long";
9
- export interface ToolDescriptionIssue {
10
- readonly code: DescriptionIssueCode;
11
- readonly message: string;
12
- }
13
- export interface ToolDescriptionReport {
14
- readonly tool: string;
15
- readonly description: string;
16
- readonly issues: readonly ToolDescriptionIssue[];
17
- }
18
- /** Lint a single tool description. Returns the report (empty `issues` = clean). */
19
- export declare function lintToolDescription(tool: string, description: string): ToolDescriptionReport;
20
- /** Lint a list of tool definitions, returning only the ones with issues. */
21
- export declare function lintToolDefinitions(definitions: readonly {
22
- id: string;
23
- description: string;
24
- }[]): ToolDescriptionReport[];
25
- //# sourceMappingURL=description-lint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"description-lint.d.ts","sourceRoot":"","sources":["../../src/tool/description-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAE5G,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAClD;AAwCD,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,qBAAqB,CA6C5F;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,GAC1D,qBAAqB,EAAE,CAIzB"}
@@ -1,90 +0,0 @@
1
- /**
2
- * ── Tool description lint (Phase 5) ──────────────────────────────────────
3
- * LLM tool-selection accuracy depends on description quality: a bad or vague
4
- * description ("Do stuff") makes the model pick the wrong tool or skip it.
5
- * This module flags the common "smells" in tool descriptions so authors and
6
- * CI can catch them early, mirroring API-doc review practices.
7
- */
8
- /** Curated imperative verbs a tool description should start with. */
9
- const ACTION_VERBS = new Set([
10
- "abort", "accept", "add", "analyze", "apply", "ask", "attach", "authenticate", "authorize",
11
- "build", "calculate", "cancel", "check", "clear", "close", "commit", "compile", "convert",
12
- "copy", "count", "create", "decode", "delete", "deploy", "describe", "detect", "diff",
13
- "download", "edit", "encode", "execute", "explain", "export", "fetch", "find", "fix",
14
- "format", "generate", "get", "initialize", "install", "invoke", "join", "launch", "list",
15
- "load", "login", "manage", "merge", "monitor", "move", "open", "optimize", "parse",
16
- "patch", "plan", "preview", "publish", "push", "query", "read", "rebuild", "refactor",
17
- "register", "reload", "remove", "rename", "replace", "resolve", "restart", "restore",
18
- "review", "rollback", "run", "save", "scan", "schedule", "search", "select", "send",
19
- "set", "show", "simulate", "sort", "spawn", "stage", "start", "stop", "subscribe",
20
- "summarize", "sync", "test", "trace", "track", "translate", "trigger", "undo", "update",
21
- "upload", "use", "validate", "verify", "view", "wait", "write", "zoom",
22
- ]);
23
- /** Leading adverbs that should be skipped when checking the first verb. */
24
- const LEADING_ADVERBS = new Set([
25
- "recursively", "automatically", "quickly", "quietly", "silently", "lazily", "eagerly",
26
- "simply", "always", "never", "only", "just", "also", "finally", "first", "then", "once",
27
- ]);
28
- const MIN_DESCRIPTION_LENGTH = 12;
29
- const MAX_DESCRIPTION_LENGTH = 220;
30
- const MIN_WORDS = 4;
31
- const PLACEHOLDER_RE = /\b(todo|tbd|fixme|placeholder|lorem|coming soon)\b|\byour (tool|plugin)\b|\betc\.?\.?\s*$/i;
32
- function firstSignificantWord(description) {
33
- const words = description.split(/\s+/);
34
- for (const word of words) {
35
- const normalized = word.toLowerCase().replace(/[^a-z]/g, "");
36
- if (!normalized)
37
- continue;
38
- if (LEADING_ADVERBS.has(normalized))
39
- continue;
40
- return normalized;
41
- }
42
- return undefined;
43
- }
44
- /** Lint a single tool description. Returns the report (empty `issues` = clean). */
45
- export function lintToolDescription(tool, description) {
46
- const issues = [];
47
- const trimmed = description.trim();
48
- if (!trimmed) {
49
- return { tool, description: trimmed, issues: [{ code: "empty", message: "Tool description is empty — the model cannot decide when to use this tool." }] };
50
- }
51
- if (trimmed.length < MIN_DESCRIPTION_LENGTH) {
52
- issues.push({
53
- code: "too-short",
54
- message: `Description is only ${trimmed.length} chars (min ${MIN_DESCRIPTION_LENGTH}) — too little signal for tool selection.`,
55
- });
56
- }
57
- if (trimmed.length > MAX_DESCRIPTION_LENGTH) {
58
- issues.push({
59
- code: "too-long",
60
- message: `Description is ${trimmed.length} chars (max ${MAX_DESCRIPTION_LENGTH}) — wasteful for the context window; keep the first sentence scannable.`,
61
- });
62
- }
63
- const verb = firstSignificantWord(trimmed);
64
- if (!verb || !ACTION_VERBS.has(verb)) {
65
- issues.push({
66
- code: "no-verb",
67
- message: `Description should start with an imperative verb (e.g. "Fetch", "Create", "Search") but starts with "${verb ?? "nothing"}".`,
68
- });
69
- }
70
- if (trimmed.split(/\s+/).length < MIN_WORDS) {
71
- issues.push({
72
- code: "vague",
73
- message: `Description is too vague (${trimmed.split(/\s+/).length} words) — state what it does and on what input.`,
74
- });
75
- }
76
- if (PLACEHOLDER_RE.test(trimmed)) {
77
- issues.push({
78
- code: "placeholder",
79
- message: "Description contains placeholder/TODO text — replace with a real description.",
80
- });
81
- }
82
- return { tool, description: trimmed, issues };
83
- }
84
- /** Lint a list of tool definitions, returning only the ones with issues. */
85
- export function lintToolDefinitions(definitions) {
86
- return definitions
87
- .map((d) => lintToolDescription(d.id, d.description))
88
- .filter((report) => report.issues.length > 0);
89
- }
90
- //# sourceMappingURL=description-lint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"description-lint.js","sourceRoot":"","sources":["../../src/tool/description-lint.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export interface UnifiedDiff {
2
- readonly diff: string;
3
- readonly additions: number;
4
- readonly removals: number;
5
- }
6
- export declare function generateDiff(filePath: string, oldContent: string, newContent: string): UnifiedDiff;
7
- //# sourceMappingURL=diff.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/tool/diff.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,WAAW,CA6Bb"}
package/dist/tool/diff.js DELETED
@@ -1,26 +0,0 @@
1
- export function generateDiff(filePath, oldContent, newContent) {
2
- const oldLines = oldContent.split("\n");
3
- const newLines = newContent.split("\n");
4
- const maxLen = Math.max(oldLines.length, newLines.length);
5
- const result = [];
6
- let additions = 0;
7
- let removals = 0;
8
- for (let i = 0; i < maxLen; i++) {
9
- const oldLine = i < oldLines.length ? oldLines[i] : "";
10
- const newLine = i < newLines.length ? newLines[i] : "";
11
- if (oldLine !== newLine) {
12
- if (oldLines[i] !== undefined) {
13
- result.push(`-${i + 1}: ${oldLine}`);
14
- removals++;
15
- }
16
- if (newLines[i] !== undefined) {
17
- result.push(`+${i + 1}: ${newLine}`);
18
- additions++;
19
- }
20
- }
21
- }
22
- result.unshift(`--- a/${filePath}`);
23
- result.unshift(`+++ b/${filePath}`);
24
- return { diff: result.join("\n"), additions, removals };
25
- }
26
- //# sourceMappingURL=diff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/tool/diff.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,UAAkB,EAClB,UAAkB;IAElB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;gBACrC,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;gBACrC,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC"}
@@ -1,39 +0,0 @@
1
- import type { ToolDefinition } from "./definitions.js";
2
- import type { ToolPermissionRule } from "./registry.js";
3
- /**
4
- * ── Domain manifests (Phase 2) ────────────────────────────────────────────
5
- * A domain is a named, swappable set of tools (e.g. "coding"). The agent core
6
- * treats domains as opaque: it only needs each tool's id (for membership) and
7
- * the set of domains an agent is allowed to use. This is the seam that lets
8
- * the same core power coding, research, data, devops — differing only by which
9
- * domains are mounted and which permission rules apply.
10
- */
11
- /** A named group of tools exposed as a pluggable capability. */
12
- export interface DomainManifest {
13
- /** Domain id used in agent config `domains: ["coding"]`. */
14
- readonly id: string;
15
- /** Tools belonging to this domain. Only `id`/`name` drives membership. */
16
- readonly tools: readonly ToolDefinition[];
17
- /** Optional domain-level system prompt (merged into the agent context). */
18
- readonly systemPrompt?: string;
19
- /** Domain-level permission defaults (allow/deny/ask) applied to its tools. */
20
- readonly permissionDefaults?: readonly ToolPermissionRule[];
21
- }
22
- /** Summary of a domain for UI/API consumption. */
23
- export interface DomainSummary {
24
- readonly id: string;
25
- readonly toolCount: number;
26
- readonly toolIds: readonly string[];
27
- readonly hasSystemPrompt: boolean;
28
- }
29
- /**
30
- * Group the coding toolset (file/shell/search/web/image/git/lsp) under domain
31
- * "coding". Pass the tool definitions the composition root has already built.
32
- */
33
- export declare function createCodingDomain(tools: readonly ToolDefinition[]): DomainManifest;
34
- /**
35
- * Build a domain summary map from a list of domain manifests.
36
- * Useful for API responses and UI rendering.
37
- */
38
- export declare function summarizeDomains(domains: readonly DomainManifest[]): DomainSummary[];
39
- //# sourceMappingURL=domain.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/tool/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD;;;;;;;GAOG;AAEH,gEAAgE;AAChE,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC7D;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,CAEnF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,aAAa,EAAE,CAOpF"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Group the coding toolset (file/shell/search/web/image/git/lsp) under domain
3
- * "coding". Pass the tool definitions the composition root has already built.
4
- */
5
- export function createCodingDomain(tools) {
6
- return { id: "coding", tools };
7
- }
8
- /**
9
- * Build a domain summary map from a list of domain manifests.
10
- * Useful for API responses and UI rendering.
11
- */
12
- export function summarizeDomains(domains) {
13
- return domains.map((d) => ({
14
- id: d.id,
15
- toolCount: d.tools.length,
16
- toolIds: d.tools.map((t) => t.id),
17
- hasSystemPrompt: !!d.systemPrompt,
18
- }));
19
- }
20
- //# sourceMappingURL=domain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/tool/domain.ts"],"names":[],"mappings":"AAgCA;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgC;IACjE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAkC;IACjE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;QACzB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY;KAClC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,43 +0,0 @@
1
- export interface FileVersion {
2
- readonly filePath: string;
3
- readonly sessionId: string;
4
- readonly originalContent: string;
5
- readonly newContent: string;
6
- readonly timestamp: number;
7
- readonly toolName: string;
8
- }
9
- export interface UndoEntry {
10
- readonly filePath: string;
11
- readonly originalContent: string;
12
- readonly newContent: string;
13
- readonly toolName: string;
14
- readonly timestamp: number;
15
- readonly versionId: number;
16
- }
17
- export interface FileHistory {
18
- recordVersion(version: Omit<FileVersion, "timestamp"> & {
19
- timestamp?: number;
20
- }): Promise<void>;
21
- listVersions(filePath: string): Promise<readonly FileVersion[]>;
22
- getLatestVersion(filePath: string): Promise<FileVersion | null>;
23
- rollbackTo(filePath: string, targetVersion: number): Promise<string>;
24
- getAllChanges(): Promise<readonly FileVersion[]>;
25
- undo(): Promise<UndoEntry | null>;
26
- redo(): Promise<UndoEntry | null>;
27
- }
28
- export declare class InMemoryFileHistory implements FileHistory {
29
- private versions;
30
- private undoStack;
31
- private redoStack;
32
- private versionCounter;
33
- recordVersion(version: Omit<FileVersion, "timestamp"> & {
34
- timestamp?: number;
35
- }): Promise<void>;
36
- listVersions(filePath: string): Promise<readonly FileVersion[]>;
37
- getLatestVersion(filePath: string): Promise<FileVersion | null>;
38
- rollbackTo(filePath: string, versionIndex: number): Promise<string>;
39
- getAllChanges(): Promise<readonly FileVersion[]>;
40
- undo(): Promise<UndoEntry | null>;
41
- redo(): Promise<UndoEntry | null>;
42
- }
43
- //# sourceMappingURL=file-history.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-history.d.ts","sourceRoot":"","sources":["../../src/tool/file-history.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAChE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,aAAa,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACjD,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CACnC;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,cAAc,CAAK;IAErB,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9F,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAI/D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAK/D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnE,aAAa,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAIhD,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAOjC,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAMxC"}
@@ -1,55 +0,0 @@
1
- export class InMemoryFileHistory {
2
- versions = [];
3
- undoStack = [];
4
- redoStack = [];
5
- versionCounter = 0;
6
- async recordVersion(version) {
7
- const entry = {
8
- ...version,
9
- timestamp: version.timestamp ?? Date.now(),
10
- };
11
- entry;
12
- this.versions.push(entry);
13
- this.undoStack.push({
14
- filePath: entry.filePath,
15
- originalContent: entry.originalContent,
16
- newContent: entry.newContent,
17
- toolName: entry.toolName,
18
- timestamp: entry.timestamp,
19
- versionId: this.versionCounter++,
20
- });
21
- this.redoStack = [];
22
- }
23
- async listVersions(filePath) {
24
- return this.versions.filter((v) => v.filePath === filePath);
25
- }
26
- async getLatestVersion(filePath) {
27
- const matches = this.versions.filter((v) => v.filePath === filePath);
28
- return matches.length > 0 ? matches[matches.length - 1] : null;
29
- }
30
- async rollbackTo(filePath, versionIndex) {
31
- const matches = this.versions.filter((v) => v.filePath === filePath);
32
- if (versionIndex < 0 || versionIndex >= matches.length) {
33
- throw new Error(`Version index ${versionIndex} out of range (0-${matches.length - 1})`);
34
- }
35
- return matches[versionIndex].originalContent;
36
- }
37
- async getAllChanges() {
38
- return [...this.versions];
39
- }
40
- async undo() {
41
- const entry = this.undoStack.pop();
42
- if (!entry)
43
- return null;
44
- this.redoStack.push(entry);
45
- return entry;
46
- }
47
- async redo() {
48
- const entry = this.redoStack.pop();
49
- if (!entry)
50
- return null;
51
- this.undoStack.push(entry);
52
- return entry;
53
- }
54
- }
55
- //# sourceMappingURL=file-history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-history.js","sourceRoot":"","sources":["../../src/tool/file-history.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAO,mBAAmB;IACtB,QAAQ,GAAkB,EAAE,CAAC;IAC7B,SAAS,GAAgB,EAAE,CAAC;IAC5B,SAAS,GAAgB,EAAE,CAAC;IAC5B,cAAc,GAAG,CAAC,CAAC;IAE3B,KAAK,CAAC,aAAa,CAAC,OAAgE;QAClF,MAAM,KAAK,GAAgB;YACzB,GAAG,OAAO;YACV,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;SAC5B,CAAC;QACjB,KAA2B,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,YAAoB;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACrE,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,iBAAiB,YAAY,oBAAoB,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,OAAO,CAAC,YAAY,CAAE,CAAC,eAAe,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -1,51 +0,0 @@
1
- import { FileReadTracker } from "./read-tracker.js";
2
- import { generateDiff } from "./diff.js";
3
- type RootGetter = string | (() => string);
4
- export declare function createReadFileTool(workspaceRoot: RootGetter, tracker?: FileReadTracker, externalDirAccess?: boolean, maxFileSize?: number): import("./definitions.js").ToolDefinition<{
5
- filePath: string;
6
- stripTrailingNewline?: boolean;
7
- }, string>;
8
- export declare function createWriteFileTool(workspaceRoot: RootGetter, tracker?: FileReadTracker, externalDirAccess?: boolean): import("./definitions.js").ToolDefinition<{
9
- filePath: string;
10
- content: string;
11
- }, {
12
- written: string;
13
- bytes: number;
14
- diff: ReturnType<typeof generateDiff>["diff"];
15
- additions: number;
16
- removals: number;
17
- }>;
18
- export declare function createEditFileTool(workspaceRoot: RootGetter, tracker?: FileReadTracker, externalDirAccess?: boolean): import("./definitions.js").ToolDefinition<{
19
- filePath: string;
20
- oldString?: string;
21
- newString?: string;
22
- edits?: readonly {
23
- oldString: string;
24
- newString: string;
25
- }[];
26
- }, {
27
- edited: string;
28
- diff: string;
29
- hunkCount?: number;
30
- additions: number;
31
- removals: number;
32
- }>;
33
- export declare function createApplyPatchTool(workspaceRoot: RootGetter, tracker?: FileReadTracker, externalDirAccess?: boolean): import("./definitions.js").ToolDefinition<{
34
- filePath: string;
35
- patch: string;
36
- }, {
37
- patched: string;
38
- blocks: number;
39
- diff: string;
40
- additions: number;
41
- removals: number;
42
- }>;
43
- export declare function createListDirectoryTool(workspaceRoot: RootGetter, externalDirAccess?: boolean): import("./definitions.js").ToolDefinition<{
44
- dirPath: string;
45
- }, {
46
- name: string;
47
- type: string;
48
- path: string;
49
- }[]>;
50
- export {};
51
- //# sourceMappingURL=file-tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-tools.d.ts","sourceRoot":"","sources":["../../src/tool/file-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAkFzC,KAAK,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;AAiD1C,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM;cAC1G,MAAM;2BAAyB,OAAO;WAqBrE;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,OAAO;cACrF,MAAM;aAAW,MAAM;;aAC1C,MAAM;WAAS,MAAM;UACxB,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC;eAClC,MAAM;cAAY,MAAM;GA4BtC;AAgPD,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,OAAO;cACpF,MAAM;gBAAc,MAAM;gBAAc,MAAM;YAAU,SAAS;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE;;YAC/H,MAAM;UAAQ,MAAM;gBAChB,MAAM;eAAa,MAAM;cAAY,MAAM;GAuC1D;AAeD,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,OAAO;cACtF,MAAM;WAAS,MAAM;;aACxC,MAAM;YAAU,MAAM;UAAQ,MAAM;eAAa,MAAM;cAAY,MAAM;GAsDrF;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO;aAC/D,MAAM;;UAAY,MAAM;UAAQ,MAAM;UAAQ,MAAM;KAqBlF"}