@vinhnt-sdk/core 0.1.0 → 1.0.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 (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,85 +0,0 @@
1
- import { randomUUID } from "node:crypto";
2
- export class InMemoryMemoryStore {
3
- items = [];
4
- async get(key, sessionId) {
5
- return this.items.find((item) => item.key === key && item.sessionId === sessionId);
6
- }
7
- async set(data) {
8
- const existing = this.items.find((item) => item.key === data.key && item.sessionId === data.sessionId && item.tier === data.tier);
9
- const now = new Date().toISOString();
10
- if (existing) {
11
- existing.value = data.value;
12
- existing.tags = data.tags;
13
- existing.updatedAt = now;
14
- return existing;
15
- }
16
- const item = {
17
- id: randomUUID(),
18
- ...data,
19
- createdAt: now,
20
- updatedAt: now,
21
- };
22
- this.items.push(item);
23
- return item;
24
- }
25
- async delete(key, sessionId) {
26
- this.items = this.items.filter((item) => !(item.key === key && item.sessionId === sessionId));
27
- }
28
- async search(query, sessionId) {
29
- const q = query.toLowerCase();
30
- return this.items.filter((item) => (!sessionId || item.sessionId === sessionId) &&
31
- (item.key.toLowerCase().includes(q) ||
32
- item.value.toLowerCase().includes(q) ||
33
- item.tags.some((t) => t.toLowerCase().includes(q))));
34
- }
35
- async listByTier(tier, sessionId) {
36
- return this.items
37
- .filter((item) => item.tier === tier && (!sessionId || item.sessionId === sessionId))
38
- .sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
39
- }
40
- }
41
- export class SessionMemory {
42
- store;
43
- sessionId;
44
- constructor(sessionId, store) {
45
- this.sessionId = sessionId;
46
- this.store = store ?? new InMemoryMemoryStore();
47
- }
48
- async remember(key, value, tags) {
49
- return this.store.set({
50
- key,
51
- value,
52
- sessionId: this.sessionId,
53
- tier: "session",
54
- tags: tags ?? [],
55
- });
56
- }
57
- async recall(key) {
58
- const item = await this.store.get(key, this.sessionId);
59
- return item?.value;
60
- }
61
- async forget(key) {
62
- return this.store.delete(key, this.sessionId);
63
- }
64
- async search(query) {
65
- return this.store.search(query, this.sessionId);
66
- }
67
- async getWorkingMemory() {
68
- return this.store.listByTier("working", this.sessionId);
69
- }
70
- async setWorkingMemory(data) {
71
- const results = [];
72
- for (const [key, value] of Object.entries(data)) {
73
- const item = await this.store.set({
74
- key,
75
- value,
76
- sessionId: this.sessionId,
77
- tier: "working",
78
- tags: ["working"],
79
- });
80
- results.push(item);
81
- }
82
- return results;
83
- }
84
- }
85
- //# sourceMappingURL=memory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/knowledge/memory.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { PromptAssembly, MemoryEntry } from "@vinhnt-sdk/schema";
2
- export interface PromptBuilderOptions {
3
- readonly identity: string;
4
- readonly toolGuidance: string;
5
- readonly skillsIndex: string;
6
- readonly projectContext: string;
7
- readonly memoryEntries: MemoryEntry[];
8
- readonly sessionMetadata: string;
9
- }
10
- export declare function buildPrompt(options: PromptBuilderOptions): PromptAssembly;
11
- //# sourceMappingURL=prompt-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../src/knowledge/prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,cAAc,CA0BzE"}
@@ -1,23 +0,0 @@
1
- export function buildPrompt(options) {
2
- const stable = [
3
- options.identity,
4
- options.toolGuidance,
5
- options.skillsIndex,
6
- ].filter(Boolean).join("\n\n");
7
- const context = [
8
- options.projectContext,
9
- ].filter(Boolean).join("\n\n");
10
- const volatileParts = [
11
- ...options.memoryEntries.map((e) => `[${e.tier}] ${e.key}:\n${e.value}`),
12
- options.sessionMetadata,
13
- ].filter(Boolean);
14
- const volatile = volatileParts.join("\n\n");
15
- const memoryBlock = volatile ? `<memory>\n${volatile}\n</memory>` : "";
16
- const assembled = [
17
- stable,
18
- context ? `<context>\n${context}\n</context>` : "",
19
- memoryBlock,
20
- ].filter(Boolean).join("\n\n");
21
- return { stable, context, volatile, assembled, version: "1.0.0", metadata: {} };
22
- }
23
- //# sourceMappingURL=prompt-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/knowledge/prompt-builder.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,WAAW,CAAC,OAA6B;IACvD,MAAM,MAAM,GAAG;QACb,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,YAAY;QACpB,OAAO,CAAC,WAAW;KACpB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAG;QACd,OAAO,CAAC,cAAc;KACvB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,aAAa,GAAG;QACpB,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACxE,OAAO,CAAC,eAAe;KACxB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,SAAS,GAAG;QAChB,MAAM;QACN,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE;QAClD,WAAW;KACZ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAClF,CAAC"}
@@ -1,26 +0,0 @@
1
- import type { MemoryStore } from "./types.js";
2
- import type { WriteApprovalQueue } from "./approval.js";
3
- import type { BoundedMemory } from "./memory-bounded.js";
4
- export interface ReviewOptions {
5
- readonly requireApproval: boolean;
6
- }
7
- interface FactExtraction {
8
- key: string;
9
- value: string;
10
- }
11
- export declare class BackgroundReview {
12
- private sessionMem;
13
- private boundedMem;
14
- private approvalQueue;
15
- constructor(sessionId: string, boundedMem: BoundedMemory, store?: MemoryStore, approvalQueue?: WriteApprovalQueue);
16
- reviewTurn(messages: {
17
- role: string;
18
- content: string;
19
- }[], options?: ReviewOptions): Promise<{
20
- extracted: FactExtraction[];
21
- approved: boolean;
22
- }>;
23
- private extractFacts;
24
- }
25
- export {};
26
- //# sourceMappingURL=review.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/knowledge/review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,aAAa,CAAiC;gBAGpD,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,aAAa,EACzB,KAAK,CAAC,EAAE,WAAW,EACnB,aAAa,CAAC,EAAE,kBAAkB;IAO9B,UAAU,CACd,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,EAC7C,OAAO,GAAE,aAA0C,GAClD,OAAO,CAAC;QAAE,SAAS,EAAE,cAAc,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IA8B9D,OAAO,CAAC,YAAY;CAyBrB"}
@@ -1,69 +0,0 @@
1
- import { SessionMemory } from "./memory.js";
2
- export class BackgroundReview {
3
- sessionMem;
4
- boundedMem;
5
- approvalQueue;
6
- constructor(sessionId, boundedMem, store, approvalQueue) {
7
- this.sessionMem = new SessionMemory(sessionId, store);
8
- this.boundedMem = boundedMem;
9
- this.approvalQueue = approvalQueue;
10
- }
11
- async reviewTurn(messages, options = { requireApproval: false }) {
12
- const extracted = [];
13
- for (const msg of messages) {
14
- if (msg.role !== "assistant" && msg.role !== "user")
15
- continue;
16
- const facts = this.extractFacts(msg.content);
17
- extracted.push(...facts);
18
- }
19
- if (extracted.length === 0)
20
- return { extracted: [], approved: true };
21
- for (const { key, value } of extracted) {
22
- if (options.requireApproval && this.approvalQueue) {
23
- await this.approvalQueue.requestApproval({
24
- type: "memory.write",
25
- description: `Extract fact: ${key} = ${value}`,
26
- payload: { key, value },
27
- });
28
- }
29
- else {
30
- await this.boundedMem.setWorkingFact(key, value);
31
- await this.sessionMem.remember(key, value, ["auto-extracted"]);
32
- }
33
- }
34
- const pendingCount = this.approvalQueue?.listPending().length ?? 0;
35
- return {
36
- extracted,
37
- approved: !options.requireApproval || pendingCount === 0,
38
- };
39
- }
40
- extractFacts(content) {
41
- const facts = [];
42
- const patterns = [
43
- { re: /(?:remember|note|record|save|store)\s+(?:that\s+)?(.{10,200})/gi, keyPrefix: "fact" },
44
- { re: /(?:I\s+(?:learn(?:ed)?|found|discovered|noticed)\s+that\s+)(.{10,200})/gi, keyPrefix: "discovery" },
45
- { re: /(?:key\s+(?:fact|finding|decision):\s*)(.{10,200})/gi, keyPrefix: "" },
46
- ];
47
- for (const { re, keyPrefix } of patterns) {
48
- let match;
49
- while ((match = re.exec(content)) !== null) {
50
- const captured = match[1];
51
- if (!captured)
52
- continue;
53
- const val = captured.trim();
54
- const idx = val.indexOf(": ");
55
- if (idx > 0 && idx < 60) {
56
- facts.push({ key: val.slice(0, idx).trim(), value: val.slice(idx + 2).trim() });
57
- }
58
- else if (keyPrefix) {
59
- facts.push({ key: keyPrefix, value: val });
60
- }
61
- else {
62
- facts.push({ key: `_fact_${facts.length + 1}`, value: val });
63
- }
64
- }
65
- }
66
- return facts;
67
- }
68
- }
69
- //# sourceMappingURL=review.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/knowledge/review.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { ToolDefinition } from "../tool/definitions.js";
2
- import type { SessionStore } from "../session/store.js";
3
- export declare function createMemorySearchTool(store: SessionStore): ToolDefinition;
4
- //# sourceMappingURL=tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/knowledge/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,CAwB1E"}
@@ -1,27 +0,0 @@
1
- export function createMemorySearchTool(store) {
2
- return {
3
- id: "memory_search",
4
- description: "Search past conversations by keyword. Returns messages from session history with relevance ranking.",
5
- inputSchema: {
6
- type: "object",
7
- properties: {
8
- query: { type: "string", description: "The search query to find in past conversations" },
9
- limit: { type: "number", description: "Maximum results (default: 10)", default: 10 },
10
- },
11
- required: ["query"],
12
- },
13
- risk: "read",
14
- async execute(input) {
15
- if (!store.searchMessages)
16
- return [];
17
- const messages = await store.searchMessages(input.query, input.limit ?? 10);
18
- return messages.map((m) => ({
19
- sessionId: m.sessionId.slice(0, 8),
20
- role: m.role,
21
- content: m.content.slice(0, 500),
22
- createdAt: m.createdAt,
23
- }));
24
- },
25
- };
26
- }
27
- //# sourceMappingURL=tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/knowledge/tool.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,sBAAsB,CAAC,KAAmB;IACxD,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,qGAAqG;QAClH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;gBACxF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE,OAAO,EAAE,EAAE,EAAE;aACrF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,IAAI,EAAE,MAAM;QACZ,KAAK,CAAC,OAAO,CAAC,KAAwC;YACpD,IAAI,CAAC,KAAK,CAAC,cAAc;gBAAE,OAAO,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAChC,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,27 +0,0 @@
1
- export type MemoryTier = "working" | "session" | "long-term";
2
- export interface MemoryItem {
3
- id: string;
4
- sessionId: string;
5
- tier: MemoryTier;
6
- key: string;
7
- value: string;
8
- tags: string[];
9
- createdAt: string;
10
- updatedAt: string;
11
- }
12
- export interface Skill {
13
- id: string;
14
- name: string;
15
- description: string;
16
- instruction: string;
17
- triggers: string[];
18
- createdAt: string;
19
- }
20
- export interface MemoryStore {
21
- get(key: string, sessionId: string): Promise<MemoryItem | undefined>;
22
- set(item: Omit<MemoryItem, "id" | "createdAt" | "updatedAt">): Promise<MemoryItem>;
23
- delete(key: string, sessionId: string): Promise<void>;
24
- search(query: string, sessionId: string): Promise<MemoryItem[]>;
25
- listByTier(tier: MemoryTier, sessionId: string): Promise<MemoryItem[]>;
26
- }
27
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/knowledge/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACnF,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CACxE"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Extract the "human-understandable command prefix" from shell tokens.
3
- *
4
- * Examples:
5
- * prefix(["npm", "install", "express", "--save"]) → ["npm", "install"]
6
- * prefix(["git", "checkout", "main"]) → ["git", "checkout"]
7
- * prefix(["docker", "compose", "up", "-d"]) → ["docker", "compose", "up"]
8
- * prefix(["cat", "file.txt"]) → ["cat"]
9
- * prefix([]) → []
10
- */
11
- export declare function prefix(tokens: string[]): string[];
12
- /**
13
- * Convert a shell command string into a permission save pattern.
14
- * The pattern with trailing " *" allows exact-match or prefix-match in saved rules.
15
- *
16
- * Examples:
17
- * commandPattern("npm install express --save") → "npm install *"
18
- * commandPattern("git checkout main") → "git checkout *"
19
- * commandPattern("cat file.txt") → "cat *"
20
- */
21
- export declare function commandPattern(command: string): string;
22
- //# sourceMappingURL=arity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arity.d.ts","sourceRoot":"","sources":["../../src/tool/arity.ts"],"names":[],"mappings":"AAuEA;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItD"}
@@ -1,96 +0,0 @@
1
- /**
2
- * ARITY dictionary: maps command prefixes to their "human-understandable" token count.
3
- *
4
- * When a user runs a command like "npm install express --save", the arity tells us
5
- * that the meaningful prefix is ["npm", "install"] (arity 2). This enables:
6
- * - Cleaner permission prompts ("Allow npm install?")
7
- * - Smarter "always allow" patterns ("npm install *" matches any npm install variant)
8
- */
9
- const ARITY = {
10
- // Single-arity commands
11
- cat: 1, cd: 1, chmod: 1, chown: 1, cp: 1, echo: 1, env: 1,
12
- export: 1, git: 2, "git config": 3, "git remote": 3, "git stash": 3, grep: 1, kill: 1, killall: 1, ln: 1, ls: 1,
13
- mkdir: 1, mv: 1, ps: 1, pwd: 1, rm: 1, rmdir: 1, sleep: 1,
14
- source: 1, tail: 1, touch: 1, unset: 1, which: 1,
15
- // Cloud / infrastructure
16
- aws: 3, az: 3, gcloud: 3, gh: 3, doctl: 3, eksctl: 2,
17
- "eksctl create": 3, cdk: 2, cf: 2, heroku: 2, vercel: 2,
18
- pulumi: 2, "pulumi stack": 3, terraform: 2,
19
- "terraform workspace": 3, vault: 2, "vault auth": 3,
20
- "vault kv": 3, consul: 2, "consul kv": 3, nomad: 2,
21
- serverless: 2, sls: 2, sst: 2, flyctl: 2, sfdx: 3,
22
- // Containers / orchestration
23
- docker: 2, "docker builder": 3, "docker compose": 3,
24
- "docker container": 3, "docker image": 3, "docker network": 3,
25
- "docker volume": 3, podman: 2, "podman container": 3,
26
- "podman image": 3, kubectl: 2, "kubectl kustomize": 3,
27
- "kubectl rollout": 3, kustomize: 2, helm: 2,
28
- minikube: 2, kind: 2, "kind create": 3, crictl: 2,
29
- skaffold: 2, compose: 2,
30
- // Languages / runtimes
31
- node: 2, python: 2, python3: 2, ruby: 2, rake: 2,
32
- go: 2, cargo: 2, "cargo add": 3, "cargo run": 3,
33
- rustup: 2, dotnet: 2, mvn: 2, gradle: 2, swift: 2,
34
- deno: 2, "deno task": 3, bun: 2, "bun run": 3, "bun x": 3,
35
- // JavaScript / Node ecosystem
36
- npm: 2, "npm exec": 3, "npm init": 3, "npm run": 3,
37
- "npm view": 3, npx: 2, yarn: 2, "yarn dlx": 3, "yarn run": 3,
38
- pnpm: 2, "pnpm dlx": 3, "pnpm exec": 3, "pnpm run": 3,
39
- nvm: 2, volta: 2, ng: 2, nx: 2, turbo: 2,
40
- // Python
41
- pip: 2, pip3: 2, pipenv: 2, poetry: 2, pyenv: 2,
42
- // PHP
43
- composer: 2, wp: 2,
44
- // Databases
45
- psql: 2, mysql: 2, mongosh: 2, "redis-cli": 2,
46
- sqlite3: 2, pg_dump: 2, pg_restore: 2,
47
- // Build tools
48
- make: 2, cmake: 2, bazel: 2, meson: 2,
49
- // System / network
50
- systemctl: 2, journalctl: 2, ufw: 2, ip: 2, "ip addr": 3,
51
- "ip link": 3, "ip netns": 3, "ip route": 3, tmux: 2,
52
- screen: 2, openssl: 2, "openssl req": 3, "openssl x509": 3,
53
- // Firestore / GCP
54
- firebase: 2, gsutil: 2, bq: 2,
55
- // Misc
56
- brew: 2, "brew bundle": 3, "brew services": 3, mc: 2,
57
- "mc admin": 3, vagrant: 2, packer: 2, sdkmanager: 2,
58
- adb: 2, fastlane: 2, cocoapods: 2,
59
- };
60
- /**
61
- * Extract the "human-understandable command prefix" from shell tokens.
62
- *
63
- * Examples:
64
- * prefix(["npm", "install", "express", "--save"]) → ["npm", "install"]
65
- * prefix(["git", "checkout", "main"]) → ["git", "checkout"]
66
- * prefix(["docker", "compose", "up", "-d"]) → ["docker", "compose", "up"]
67
- * prefix(["cat", "file.txt"]) → ["cat"]
68
- * prefix([]) → []
69
- */
70
- export function prefix(tokens) {
71
- for (let len = tokens.length; len > 0; len--) {
72
- const key = tokens.slice(0, len).join(" ");
73
- const arity = ARITY[key];
74
- if (arity !== undefined)
75
- return tokens.slice(0, arity);
76
- }
77
- if (tokens.length === 0)
78
- return [];
79
- return tokens.slice(0, 1);
80
- }
81
- /**
82
- * Convert a shell command string into a permission save pattern.
83
- * The pattern with trailing " *" allows exact-match or prefix-match in saved rules.
84
- *
85
- * Examples:
86
- * commandPattern("npm install express --save") → "npm install *"
87
- * commandPattern("git checkout main") → "git checkout *"
88
- * commandPattern("cat file.txt") → "cat *"
89
- */
90
- export function commandPattern(command) {
91
- const tokens = command.trim().split(/\s+/);
92
- if (tokens.length === 0 || (tokens.length === 1 && tokens[0] === ""))
93
- return "*";
94
- return prefix(tokens).join(" ") + " *";
95
- }
96
- //# sourceMappingURL=arity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arity.js","sourceRoot":"","sources":["../../src/tool/arity.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- /** Reply from human-in-the-loop approval */
2
- export type PermissionReply = "once" | "always" | "reject";
3
- import type { RequestContext } from "@vinhnt-sdk/schema";
4
- /** Context passed to every tool execution — replaces bare AbortSignal */
5
- export interface ToolContext {
6
- readonly sessionId: string;
7
- readonly runId: string;
8
- readonly agentId: string;
9
- readonly agentName: string;
10
- readonly signal: AbortSignal;
11
- /**
12
- * The parent run's request context (traceId/actorId/tenantId/requestId).
13
- * Lets handoff tools (delegate/spawn) propagate identity + parent-run
14
- * linkage to child agents instead of inventing a synthetic context.
15
- */
16
- readonly parentContext?: RequestContext;
17
- /** Environment variables for subprocess execution (shell tool) */
18
- readonly env: Record<string, string>;
19
- /**
20
- * Request human approval for a permission-bound operation.
21
- * Returns the user's decision: "once" (allow once), "always" (approve forever), or "reject".
22
- * When reply is "always", savePatterns are persisted as allow rules for future requests.
23
- */
24
- ask(input: {
25
- permission: string;
26
- resource: string;
27
- reason: string;
28
- /** Patterns to save as "always allow" rules if user replies "always". Uses arity-based truncation. */
29
- savePatterns?: readonly string[];
30
- }): Promise<PermissionReply>;
31
- /** Attach metadata to the current tool call (for observability) */
32
- metadata(input: {
33
- title?: string;
34
- metadata?: Record<string, unknown>;
35
- }): void;
36
- /**
37
- * Register a compensation action for saga rollback.
38
- * If the current run fails or is cancelled, this action will be called
39
- * to undo the tool's side effect (e.g., restore original file content).
40
- */
41
- setCompensation(action: () => Promise<void>): void;
42
- }
43
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tool/context.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;IAExC,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,sGAAsG;QACtG,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAClC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE7B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,IAAI,CAAC;IAET;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpD"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tool/context.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import { z } from "zod";
2
- import type { ToolDefinition, ToolContext, ToolRisk } from "./definitions.js";
3
- import type { NestedJsonSchema } from "./json-schema.js";
4
- /**
5
- * ── Schema-first tool authoring (OpenCode-style `Tool.make`) ──────────────
6
- * The tool OWNS its validation schema (`input`) instead of importing a
7
- * standalone static schema. `toDefinition()` derives the provider-facing
8
- * `ToolDefinition` (JSON Schema) from that schema, so there is exactly one
9
- * source of truth per tool. Domain namespacing is applied via `name`.
10
- */
11
- export interface ToolConfig<TInput = unknown, TOutput = unknown> {
12
- /** Tool name / id. Use dot-prefixed names for domains: "coding.read_file". */
13
- name: string;
14
- description: string;
15
- risk: ToolRisk;
16
- /** Runtime validation schema — owned by this tool, not a shared file. */
17
- input: z.ZodType<TInput>;
18
- /** Optional output validation schema. */
19
- output?: z.ZodType<TOutput>;
20
- /** Per-tool timeout in ms (overrides global default). */
21
- timeoutMs?: number;
22
- /** Permission action key for the gate (e.g. "edit", "shell"). Optional; defaults to risk. */
23
- permissionAction?: string;
24
- /** Optional LLM-facing JSON Schema override (e.g. to advertise `path` aliases). */
25
- jsonSchema?: NestedJsonSchema;
26
- /** Coerce raw model-agnostic input before validation (e.g. snake_case aliases). */
27
- normalize?(raw: unknown): unknown;
28
- execute(input: TInput, ctx: ToolContext): Promise<TOutput>;
29
- }
30
- export interface Tool<TInput = unknown, TOutput = unknown> {
31
- readonly name: string;
32
- readonly description: string;
33
- readonly risk: ToolRisk;
34
- readonly timeoutMs?: number;
35
- readonly permissionAction?: string;
36
- readonly input: z.ZodType<TInput>;
37
- /** Derive the provider-facing ToolDefinition (registers as `name`). */
38
- toDefinition(): ToolDefinition<TInput, TOutput>;
39
- }
40
- /** Map a Zod schema to the codebase's `NestedJsonSchema` shape (best effort). */
41
- export declare function zodSchemaToNestedJsonSchema(schema: z.ZodTypeAny): NestedJsonSchema | undefined;
42
- export declare function defineTool<TInput = unknown, TOutput = unknown>(config: ToolConfig<TInput, TOutput>): Tool<TInput, TOutput>;
43
- /** Convenience: build a ToolDefinition directly from a ToolConfig. */
44
- export declare function toolToDefinition<TInput = unknown, TOutput = unknown>(config: ToolConfig<TInput, TOutput>): ToolDefinition<TInput, TOutput>;
45
- //# sourceMappingURL=define-tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-tool.d.ts","sourceRoot":"","sources":["../../src/tool/define-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC7D,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,yEAAyE;IACzE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,yCAAyC;IACzC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,mFAAmF;IACnF,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;IAClC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,uEAAuE;IACvE,YAAY,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjD;AAID,iFAAiF;AACjF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,CAI9F;AAgFD,wBAAgB,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAC5D,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BvB;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAClE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjC"}