@vertesia/tools-sdk 1.3.0 → 1.4.0-dev.20260615.042549Z

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 (271) hide show
  1. package/lib/{types/ActivityCollection.d.ts → ActivityCollection.d.ts} +7 -7
  2. package/lib/ActivityCollection.d.ts.map +1 -0
  3. package/lib/{esm/ActivityCollection.js → ActivityCollection.js} +6 -6
  4. package/lib/ActivityCollection.js.map +1 -0
  5. package/lib/{types/ContentTypesCollection.d.ts → ContentTypesCollection.d.ts} +2 -2
  6. package/lib/ContentTypesCollection.d.ts.map +1 -0
  7. package/lib/{esm/ContentTypesCollection.js → ContentTypesCollection.js} +3 -3
  8. package/lib/ContentTypesCollection.js.map +1 -0
  9. package/lib/{types/InteractionCollection.d.ts → InteractionCollection.d.ts} +2 -2
  10. package/lib/InteractionCollection.d.ts.map +1 -0
  11. package/lib/{esm/InteractionCollection.js → InteractionCollection.js} +3 -3
  12. package/lib/InteractionCollection.js.map +1 -0
  13. package/lib/{types/RenderingTemplateCollection.d.ts → RenderingTemplateCollection.d.ts} +1 -1
  14. package/lib/RenderingTemplateCollection.d.ts.map +1 -0
  15. package/lib/{esm/RenderingTemplateCollection.js → RenderingTemplateCollection.js} +3 -3
  16. package/lib/RenderingTemplateCollection.js.map +1 -0
  17. package/lib/{types/SkillCollection.d.ts → SkillCollection.d.ts} +5 -5
  18. package/lib/SkillCollection.d.ts.map +1 -0
  19. package/lib/{esm/SkillCollection.js → SkillCollection.js} +68 -51
  20. package/lib/SkillCollection.js.map +1 -0
  21. package/lib/{types/ToolCollection.d.ts → ToolCollection.d.ts} +10 -10
  22. package/lib/ToolCollection.d.ts.map +1 -0
  23. package/lib/{esm/ToolCollection.js → ToolCollection.js} +21 -18
  24. package/lib/ToolCollection.js.map +1 -0
  25. package/lib/ToolRegistry.d.ts +22 -0
  26. package/lib/ToolRegistry.d.ts.map +1 -0
  27. package/lib/{esm/ToolRegistry.js → ToolRegistry.js} +6 -36
  28. package/lib/ToolRegistry.js.map +1 -0
  29. package/lib/{types/auth.d.ts → auth.d.ts} +5 -5
  30. package/lib/auth.d.ts.map +1 -0
  31. package/lib/{esm/auth.js → auth.js} +23 -17
  32. package/lib/auth.js.map +1 -0
  33. package/lib/build/validate.d.ts.map +1 -0
  34. package/lib/build/validate.js.map +1 -0
  35. package/lib/copy-assets.d.ts.map +1 -0
  36. package/lib/{esm/copy-assets.js → copy-assets.js} +4 -7
  37. package/lib/copy-assets.js.map +1 -0
  38. package/lib/index.d.ts +16 -0
  39. package/lib/index.d.ts.map +1 -0
  40. package/lib/index.js +15 -0
  41. package/lib/index.js.map +1 -0
  42. package/lib/server/activities.d.ts +4 -0
  43. package/lib/server/activities.d.ts.map +1 -0
  44. package/lib/{esm/server → server}/activities.js +12 -9
  45. package/lib/server/activities.js.map +1 -0
  46. package/lib/server/app-package.d.ts +12 -0
  47. package/lib/server/app-package.d.ts.map +1 -0
  48. package/lib/server/app-package.js +197 -0
  49. package/lib/server/app-package.js.map +1 -0
  50. package/lib/server/content-types.d.ts +4 -0
  51. package/lib/server/content-types.d.ts.map +1 -0
  52. package/lib/server/content-types.js +100 -0
  53. package/lib/server/content-types.js.map +1 -0
  54. package/lib/server/dashboards.d.ts +4 -0
  55. package/lib/server/dashboards.d.ts.map +1 -0
  56. package/lib/server/dashboards.js +25 -0
  57. package/lib/server/dashboards.js.map +1 -0
  58. package/lib/server/interactions.d.ts +4 -0
  59. package/lib/server/interactions.d.ts.map +1 -0
  60. package/lib/{esm/server → server}/interactions.js +16 -16
  61. package/lib/server/interactions.js.map +1 -0
  62. package/lib/server/mcp.d.ts +4 -0
  63. package/lib/server/mcp.d.ts.map +1 -0
  64. package/lib/{esm/server → server}/mcp.js +5 -4
  65. package/lib/server/mcp.js.map +1 -0
  66. package/lib/server/processes.d.ts +4 -0
  67. package/lib/server/processes.d.ts.map +1 -0
  68. package/lib/server/processes.js +26 -0
  69. package/lib/server/processes.js.map +1 -0
  70. package/lib/server/site.d.ts +4 -0
  71. package/lib/server/site.d.ts.map +1 -0
  72. package/lib/{esm/server → server}/site.js +4 -2
  73. package/lib/server/site.js.map +1 -0
  74. package/lib/server/skills.d.ts +4 -0
  75. package/lib/server/skills.d.ts.map +1 -0
  76. package/lib/{esm/server → server}/skills.js +14 -12
  77. package/lib/server/skills.js.map +1 -0
  78. package/lib/server/templates.d.ts +4 -0
  79. package/lib/server/templates.d.ts.map +1 -0
  80. package/lib/{esm/server → server}/templates.js +10 -10
  81. package/lib/server/templates.js.map +1 -0
  82. package/lib/server/tools.d.ts +4 -0
  83. package/lib/server/tools.d.ts.map +1 -0
  84. package/lib/{esm/server → server}/tools.js +7 -9
  85. package/lib/server/tools.js.map +1 -0
  86. package/lib/{types/server → server}/types.d.ts +21 -16
  87. package/lib/server/types.d.ts.map +1 -0
  88. package/lib/{cjs → server}/types.js.map +1 -1
  89. package/lib/server/widgets.d.ts +4 -0
  90. package/lib/server/widgets.d.ts.map +1 -0
  91. package/lib/server/widgets.js.map +1 -0
  92. package/lib/{types/server.d.ts → server.d.ts} +3 -3
  93. package/lib/server.d.ts.map +1 -0
  94. package/lib/{esm/server.js → server.js} +28 -22
  95. package/lib/server.js.map +1 -0
  96. package/lib/site/styles.d.ts.map +1 -0
  97. package/lib/{esm/site → site}/styles.js.map +1 -1
  98. package/lib/{types/site → site}/templates.d.ts +9 -9
  99. package/lib/site/templates.d.ts.map +1 -0
  100. package/lib/{esm/site → site}/templates.js +152 -98
  101. package/lib/site/templates.js.map +1 -0
  102. package/lib/{types/types.d.ts → types.d.ts} +29 -16
  103. package/lib/types.d.ts.map +1 -0
  104. package/lib/types.js.map +1 -0
  105. package/lib/utils.d.ts.map +1 -0
  106. package/lib/{esm/utils.js → utils.js} +11 -5
  107. package/lib/utils.js.map +1 -0
  108. package/package.json +20 -22
  109. package/src/ActivityCollection.test.ts +60 -59
  110. package/src/ActivityCollection.ts +27 -20
  111. package/src/ContentTypesCollection.ts +6 -9
  112. package/src/InteractionCollection.ts +6 -8
  113. package/src/RenderingTemplateCollection.ts +49 -51
  114. package/src/SkillCollection.ts +91 -72
  115. package/src/ToolCollection.ts +52 -43
  116. package/src/ToolRegistry.ts +20 -50
  117. package/src/auth.ts +35 -27
  118. package/src/copy-assets.ts +5 -12
  119. package/src/index.ts +15 -15
  120. package/src/server/activities.test.ts +70 -67
  121. package/src/server/activities.ts +17 -13
  122. package/src/server/app-package.test.ts +140 -0
  123. package/src/server/app-package.ts +115 -52
  124. package/src/server/content-types.test.ts +64 -0
  125. package/src/server/content-types.ts +53 -25
  126. package/src/server/dashboards.ts +31 -0
  127. package/src/server/interactions.ts +29 -28
  128. package/src/server/mcp.ts +16 -16
  129. package/src/server/processes.ts +35 -0
  130. package/src/server/site.ts +7 -15
  131. package/src/server/skills.ts +19 -18
  132. package/src/server/templates.ts +82 -80
  133. package/src/server/tools.ts +12 -16
  134. package/src/server/types.ts +29 -20
  135. package/src/server/widgets.ts +5 -9
  136. package/src/server.ts +55 -47
  137. package/src/site/styles.ts +1 -1
  138. package/src/site/templates.ts +259 -157
  139. package/src/types.ts +55 -31
  140. package/src/utils.ts +11 -6
  141. package/lib/cjs/ActivityCollection.js +0 -93
  142. package/lib/cjs/ActivityCollection.js.map +0 -1
  143. package/lib/cjs/ContentTypesCollection.js +0 -43
  144. package/lib/cjs/ContentTypesCollection.js.map +0 -1
  145. package/lib/cjs/InteractionCollection.js +0 -43
  146. package/lib/cjs/InteractionCollection.js.map +0 -1
  147. package/lib/cjs/RenderingTemplateCollection.js +0 -43
  148. package/lib/cjs/RenderingTemplateCollection.js.map +0 -1
  149. package/lib/cjs/SkillCollection.js +0 -384
  150. package/lib/cjs/SkillCollection.js.map +0 -1
  151. package/lib/cjs/ToolCollection.js +0 -221
  152. package/lib/cjs/ToolCollection.js.map +0 -1
  153. package/lib/cjs/ToolRegistry.js +0 -95
  154. package/lib/cjs/ToolRegistry.js.map +0 -1
  155. package/lib/cjs/auth.js +0 -131
  156. package/lib/cjs/auth.js.map +0 -1
  157. package/lib/cjs/build/validate.js +0 -7
  158. package/lib/cjs/build/validate.js.map +0 -1
  159. package/lib/cjs/copy-assets.js +0 -84
  160. package/lib/cjs/copy-assets.js.map +0 -1
  161. package/lib/cjs/index.js +0 -34
  162. package/lib/cjs/index.js.map +0 -1
  163. package/lib/cjs/package.json +0 -3
  164. package/lib/cjs/server/activities.js +0 -103
  165. package/lib/cjs/server/activities.js.map +0 -1
  166. package/lib/cjs/server/app-package.js +0 -154
  167. package/lib/cjs/server/app-package.js.map +0 -1
  168. package/lib/cjs/server/content-types.js +0 -73
  169. package/lib/cjs/server/content-types.js.map +0 -1
  170. package/lib/cjs/server/interactions.js +0 -101
  171. package/lib/cjs/server/interactions.js.map +0 -1
  172. package/lib/cjs/server/mcp.js +0 -45
  173. package/lib/cjs/server/mcp.js.map +0 -1
  174. package/lib/cjs/server/site.js +0 -48
  175. package/lib/cjs/server/site.js.map +0 -1
  176. package/lib/cjs/server/skills.js +0 -124
  177. package/lib/cjs/server/skills.js.map +0 -1
  178. package/lib/cjs/server/templates.js +0 -67
  179. package/lib/cjs/server/templates.js.map +0 -1
  180. package/lib/cjs/server/tools.js +0 -87
  181. package/lib/cjs/server/tools.js.map +0 -1
  182. package/lib/cjs/server/types.js +0 -3
  183. package/lib/cjs/server/types.js.map +0 -1
  184. package/lib/cjs/server/widgets.js +0 -27
  185. package/lib/cjs/server/widgets.js.map +0 -1
  186. package/lib/cjs/server.js +0 -142
  187. package/lib/cjs/server.js.map +0 -1
  188. package/lib/cjs/site/styles.js +0 -692
  189. package/lib/cjs/site/styles.js.map +0 -1
  190. package/lib/cjs/site/templates.js +0 -1320
  191. package/lib/cjs/site/templates.js.map +0 -1
  192. package/lib/cjs/types.js +0 -3
  193. package/lib/cjs/utils.js +0 -44
  194. package/lib/cjs/utils.js.map +0 -1
  195. package/lib/esm/ActivityCollection.js.map +0 -1
  196. package/lib/esm/ContentTypesCollection.js.map +0 -1
  197. package/lib/esm/InteractionCollection.js.map +0 -1
  198. package/lib/esm/RenderingTemplateCollection.js.map +0 -1
  199. package/lib/esm/SkillCollection.js.map +0 -1
  200. package/lib/esm/ToolCollection.js.map +0 -1
  201. package/lib/esm/ToolRegistry.js.map +0 -1
  202. package/lib/esm/auth.js.map +0 -1
  203. package/lib/esm/build/validate.js.map +0 -1
  204. package/lib/esm/copy-assets.js.map +0 -1
  205. package/lib/esm/index.js +0 -14
  206. package/lib/esm/index.js.map +0 -1
  207. package/lib/esm/server/activities.js.map +0 -1
  208. package/lib/esm/server/app-package.js +0 -151
  209. package/lib/esm/server/app-package.js.map +0 -1
  210. package/lib/esm/server/content-types.js +0 -70
  211. package/lib/esm/server/content-types.js.map +0 -1
  212. package/lib/esm/server/interactions.js.map +0 -1
  213. package/lib/esm/server/mcp.js.map +0 -1
  214. package/lib/esm/server/site.js.map +0 -1
  215. package/lib/esm/server/skills.js.map +0 -1
  216. package/lib/esm/server/templates.js.map +0 -1
  217. package/lib/esm/server/tools.js.map +0 -1
  218. package/lib/esm/server/types.js.map +0 -1
  219. package/lib/esm/server/widgets.js.map +0 -1
  220. package/lib/esm/server.js.map +0 -1
  221. package/lib/esm/site/templates.js.map +0 -1
  222. package/lib/esm/types.js.map +0 -1
  223. package/lib/esm/utils.js.map +0 -1
  224. package/lib/types/ActivityCollection.d.ts.map +0 -1
  225. package/lib/types/ContentTypesCollection.d.ts.map +0 -1
  226. package/lib/types/InteractionCollection.d.ts.map +0 -1
  227. package/lib/types/RenderingTemplateCollection.d.ts.map +0 -1
  228. package/lib/types/SkillCollection.d.ts.map +0 -1
  229. package/lib/types/ToolCollection.d.ts.map +0 -1
  230. package/lib/types/ToolRegistry.d.ts +0 -22
  231. package/lib/types/ToolRegistry.d.ts.map +0 -1
  232. package/lib/types/auth.d.ts.map +0 -1
  233. package/lib/types/build/validate.d.ts.map +0 -1
  234. package/lib/types/copy-assets.d.ts.map +0 -1
  235. package/lib/types/index.d.ts +0 -14
  236. package/lib/types/index.d.ts.map +0 -1
  237. package/lib/types/server/activities.d.ts +0 -4
  238. package/lib/types/server/activities.d.ts.map +0 -1
  239. package/lib/types/server/app-package.d.ts +0 -4
  240. package/lib/types/server/app-package.d.ts.map +0 -1
  241. package/lib/types/server/content-types.d.ts +0 -4
  242. package/lib/types/server/content-types.d.ts.map +0 -1
  243. package/lib/types/server/interactions.d.ts +0 -4
  244. package/lib/types/server/interactions.d.ts.map +0 -1
  245. package/lib/types/server/mcp.d.ts +0 -4
  246. package/lib/types/server/mcp.d.ts.map +0 -1
  247. package/lib/types/server/site.d.ts +0 -4
  248. package/lib/types/server/site.d.ts.map +0 -1
  249. package/lib/types/server/skills.d.ts +0 -4
  250. package/lib/types/server/skills.d.ts.map +0 -1
  251. package/lib/types/server/templates.d.ts +0 -4
  252. package/lib/types/server/templates.d.ts.map +0 -1
  253. package/lib/types/server/tools.d.ts +0 -4
  254. package/lib/types/server/tools.d.ts.map +0 -1
  255. package/lib/types/server/types.d.ts.map +0 -1
  256. package/lib/types/server/widgets.d.ts +0 -4
  257. package/lib/types/server/widgets.d.ts.map +0 -1
  258. package/lib/types/server.d.ts.map +0 -1
  259. package/lib/types/site/styles.d.ts.map +0 -1
  260. package/lib/types/site/templates.d.ts.map +0 -1
  261. package/lib/types/types.d.ts.map +0 -1
  262. package/lib/types/utils.d.ts.map +0 -1
  263. /package/lib/{types/build → build}/validate.d.ts +0 -0
  264. /package/lib/{esm/build → build}/validate.js +0 -0
  265. /package/lib/{types/copy-assets.d.ts → copy-assets.d.ts} +0 -0
  266. /package/lib/{esm/server → server}/types.js +0 -0
  267. /package/lib/{esm/server → server}/widgets.js +0 -0
  268. /package/lib/{types/site → site}/styles.d.ts +0 -0
  269. /package/lib/{esm/site → site}/styles.js +0 -0
  270. /package/lib/{esm/types.js → types.js} +0 -0
  271. /package/lib/{types/utils.d.ts → utils.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
- import { RemoteActivityDefinition, RemoteActivityExecutionPayload } from "@vertesia/common";
2
- import { Context } from "hono";
3
- import { CollectionProperties, ICollection, ToolExecutionContext } from "./types.js";
1
+ import type { RemoteActivityDefinition, RemoteActivityExecutionPayload } from '@vertesia/common';
2
+ import type { Context } from 'hono';
3
+ import type { CollectionProperties, ICollection, ToolExecutionContext } from './types.js';
4
4
  /**
5
5
  * Context provided to activity handlers during execution.
6
6
  * Same interface as ToolExecutionContext: includes token, decoded payload, and getClient().
@@ -9,11 +9,11 @@ export type ActivityExecutionContext = ToolExecutionContext;
9
9
  /**
10
10
  * Function signature for a remote activity handler.
11
11
  */
12
- export type ActivityFn<ParamsT extends Record<string, any> = Record<string, any>> = (payload: RemoteActivityExecutionPayload<ParamsT>, context: ActivityExecutionContext) => Promise<any>;
12
+ export type ActivityFn<ParamsT extends object = Record<string, unknown>> = (payload: RemoteActivityExecutionPayload<ParamsT>, context: ActivityExecutionContext) => Promise<unknown>;
13
13
  /**
14
14
  * An activity definition within an ActivityCollection.
15
15
  */
16
- export interface ActivityDefinition<ParamsT extends Record<string, any> = Record<string, any>> {
16
+ export interface ActivityDefinition<ParamsT extends object = Record<string, unknown>> {
17
17
  /** Activity name (snake_case) */
18
18
  name: string;
19
19
  /** Display title */
@@ -21,9 +21,9 @@ export interface ActivityDefinition<ParamsT extends Record<string, any> = Record
21
21
  /** Description of what the activity does */
22
22
  description?: string;
23
23
  /** JSON Schema for the activity input parameters */
24
- input_schema?: Record<string, any>;
24
+ input_schema?: Record<string, unknown>;
25
25
  /** JSON Schema for the activity output */
26
- output_schema?: Record<string, any>;
26
+ output_schema?: Record<string, unknown>;
27
27
  /** The activity handler function */
28
28
  run: ActivityFn<ParamsT>;
29
29
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityCollection.d.ts","sourceRoot":"","sources":["../src/ActivityCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,wBAAwB,EACxB,8BAA8B,EAEjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAG1F;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CACvE,OAAO,EAAE,8BAA8B,CAAC,OAAO,CAAC,EAChD,OAAO,EAAE,wBAAwB,KAChC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChF,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,oCAAoC;IACpC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACtE,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,WAAW,CAAC,kBAAkB,CAAC;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,QAAQ,CAA0C;gBAE9C,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,4BAA4B;IAUxF,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAajD;;OAEG;IACH,sBAAsB,IAAI,wBAAwB,EAAE;IAUpD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAU7C;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,QAAQ,CAAC;CAmC1F"}
@@ -1,6 +1,6 @@
1
- import { HTTPException } from "hono/http-exception";
2
- import { authorize } from "./auth.js";
3
- import { kebabCaseToTitle } from "./utils.js";
1
+ import { HTTPException } from 'hono/http-exception';
2
+ import { authorize } from './auth.js';
3
+ import { kebabCaseToTitle } from './utils.js';
4
4
  /**
5
5
  * A collection of remote activities exposed by a tool server for DSL workflows.
6
6
  * Follows the same collection pattern as ToolCollection and SkillCollection.
@@ -29,14 +29,14 @@ export class ActivityCollection {
29
29
  return { value: activities[index++], done: false };
30
30
  }
31
31
  return { done: true, value: undefined };
32
- }
32
+ },
33
33
  };
34
34
  }
35
35
  /**
36
36
  * Get activity definitions for discovery (metadata only, no run function).
37
37
  */
38
38
  getActivityDefinitions() {
39
- return Object.values(this.registry).map(activity => ({
39
+ return Object.values(this.registry).map((activity) => ({
40
40
  name: activity.name,
41
41
  title: activity.title,
42
42
  description: activity.description,
@@ -48,7 +48,7 @@ export class ActivityCollection {
48
48
  const activity = this.registry[name];
49
49
  if (!activity) {
50
50
  throw new HTTPException(404, {
51
- message: `Activity not found: ${name}. Available: ${Object.keys(this.registry).join(', ')}`
51
+ message: `Activity not found: ${name}. Available: ${Object.keys(this.registry).join(', ')}`,
52
52
  });
53
53
  }
54
54
  return activity;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityCollection.js","sourceRoot":"","sources":["../src/ActivityCollection.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { InCodeTypeSpec } from "@vertesia/common";
2
- import { CollectionProperties, ICollection } from "./types.js";
1
+ import type { InCodeTypeSpec } from '@vertesia/common';
2
+ import type { CollectionProperties, ICollection } from './types.js';
3
3
  export interface ContentTypesCollectionProps extends CollectionProperties {
4
4
  types: InCodeTypeSpec[];
5
5
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentTypesCollection.d.ts","sourceRoot":"","sources":["../src/ContentTypesCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGpE,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACrE,KAAK,EAAE,cAAc,EAAE,CAAC;CAC3B;AACD,qBAAa,sBAAuB,YAAW,WAAW,CAAC,cAAc,CAAC;IACtE,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;gBACT,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,2BAA2B;IAQlF,eAAe;IAIf,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC;IAe7C,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAIjE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;CAG1D"}
@@ -1,4 +1,4 @@
1
- import { kebabCaseToTitle } from "./utils.js";
1
+ import { kebabCaseToTitle } from './utils.js';
2
2
  export class ContentTypesCollection {
3
3
  types;
4
4
  name;
@@ -26,14 +26,14 @@ export class ContentTypesCollection {
26
26
  else {
27
27
  return { done: true, value: undefined };
28
28
  }
29
- }
29
+ },
30
30
  };
31
31
  }
32
32
  map(callback) {
33
33
  return this.types.map(callback);
34
34
  }
35
35
  getTypeByName(name) {
36
- return this.types.find(type => type.name === name);
36
+ return this.types.find((type) => type.name === name);
37
37
  }
38
38
  }
39
39
  //# sourceMappingURL=ContentTypesCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentTypesCollection.js","sourceRoot":"","sources":["../src/ContentTypesCollection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,MAAM,OAAO,sBAAsB;IAC/B,KAAK,CAAmB;IACxB,IAAI,CAAS;IACb,KAAK,CAAU;IACf,IAAI,CAAU;IACd,WAAW,CAAU;IACrB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAA+B;QAC9E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACb,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,OAAO;YACH,IAAI;gBACA,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBACvB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC5C,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IAED,GAAG,CAAI,QAAoD;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACzD,CAAC;CACJ"}
@@ -1,5 +1,5 @@
1
- import { InteractionSpec } from "@vertesia/common";
2
- import { CollectionProperties, ICollection } from "./types.js";
1
+ import type { InteractionSpec } from '@vertesia/common';
2
+ import type { CollectionProperties, ICollection } from './types.js';
3
3
  export interface InteractionCollectionProps extends CollectionProperties {
4
4
  interactions: InteractionSpec[];
5
5
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionCollection.d.ts","sourceRoot":"","sources":["../src/InteractionCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGpE,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACpE,YAAY,EAAE,eAAe,EAAE,CAAC;CACnC;AACD,qBAAa,qBAAsB,YAAW,WAAW,CAAC,eAAe,CAAC;IACtE,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;gBACT,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,0BAA0B;IAQxF,eAAe;IAIf,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC;IAe9C,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAIzE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;CAGlE"}
@@ -1,4 +1,4 @@
1
- import { kebabCaseToTitle } from "./utils.js";
1
+ import { kebabCaseToTitle } from './utils.js';
2
2
  export class InteractionCollection {
3
3
  interactions;
4
4
  name;
@@ -26,14 +26,14 @@ export class InteractionCollection {
26
26
  else {
27
27
  return { done: true, value: undefined };
28
28
  }
29
- }
29
+ },
30
30
  };
31
31
  }
32
32
  map(callback) {
33
33
  return this.interactions.map(callback);
34
34
  }
35
35
  getInteractionByName(name) {
36
- return this.interactions.find(interaction => interaction.name === name);
36
+ return this.interactions.find((interaction) => interaction.name === name);
37
37
  }
38
38
  }
39
39
  //# sourceMappingURL=InteractionCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionCollection.js","sourceRoot":"","sources":["../src/InteractionCollection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,MAAM,OAAO,qBAAqB;IAC9B,YAAY,CAAoB;IAChC,IAAI,CAAS;IACb,KAAK,CAAU;IACf,IAAI,CAAU;IACd,WAAW,CAAU;IACrB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAA8B;QACpF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACb,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,OAAO;YACH,IAAI;gBACA,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;oBAC9B,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC5C,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IAED,GAAG,CAAI,QAA4D;QAC/D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC9E,CAAC;CACJ"}
@@ -1,4 +1,4 @@
1
- import { CollectionProperties, ICollection, RenderingTemplateDefinition } from "./types.js";
1
+ import type { CollectionProperties, ICollection, RenderingTemplateDefinition } from './types.js';
2
2
  export interface RenderingTemplateCollectionProps extends CollectionProperties {
3
3
  templates: RenderingTemplateDefinition[];
4
4
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderingTemplateCollection.d.ts","sourceRoot":"","sources":["../src/RenderingTemplateCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAGjG,MAAM,WAAW,gCAAiC,SAAQ,oBAAoB;IAC1E,SAAS,EAAE,2BAA2B,EAAE,CAAC;CAC5C;AAED,qBAAa,2BAA4B,YAAW,WAAW,CAAC,2BAA2B,CAAC;IACxF,SAAS,EAAE,2BAA2B,EAAE,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;gBAET,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,gCAAgC;IAQ3F,sBAAsB;IAItB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS;IAIlE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,2BAA2B,CAAC;IAe1D,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;CAGrF"}
@@ -1,4 +1,4 @@
1
- import { kebabCaseToTitle } from "./utils.js";
1
+ import { kebabCaseToTitle } from './utils.js';
2
2
  export class RenderingTemplateCollection {
3
3
  templates;
4
4
  name;
@@ -16,7 +16,7 @@ export class RenderingTemplateCollection {
16
16
  return this.templates;
17
17
  }
18
18
  getTemplate(name) {
19
- return this.templates.find(t => t.name === name);
19
+ return this.templates.find((t) => t.name === name);
20
20
  }
21
21
  [Symbol.iterator]() {
22
22
  let index = 0;
@@ -29,7 +29,7 @@ export class RenderingTemplateCollection {
29
29
  else {
30
30
  return { done: true, value: undefined };
31
31
  }
32
- }
32
+ },
33
33
  };
34
34
  }
35
35
  map(callback) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderingTemplateCollection.js","sourceRoot":"","sources":["../src/RenderingTemplateCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAM9C,MAAM,OAAO,2BAA2B;IACpC,SAAS,CAAgC;IACzC,IAAI,CAAS;IACb,KAAK,CAAU;IACf,IAAI,CAAU;IACd,WAAW,CAAU;IAErB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAoC;QACvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,sBAAsB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACb,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,OAAO;YACH,IAAI;gBACA,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC3B,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC5C,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IAED,GAAG,CAAI,QAAqE;QACxE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;CACJ"}
@@ -1,6 +1,6 @@
1
- import { Context } from "hono";
2
- import type { CollectionProperties, ICollection, SkillContentType, SkillDefinition, ToolCollectionDefinition, ToolExecutionPayload, ToolUseContext } from "./types.js";
3
- import { AgentToolDefinition } from "@vertesia/common";
1
+ import type { AgentToolDefinition } from '@vertesia/common';
2
+ import type { Context } from 'hono';
3
+ import type { CollectionProperties, ICollection, SkillContentType, SkillDefinition, ToolCollectionDefinition, ToolExecutionPayload, ToolUseContext } from './types.js';
4
4
  export interface SkillCollectionProperties extends CollectionProperties {
5
5
  /**
6
6
  * The skills in this collection
@@ -48,7 +48,7 @@ export declare class SkillCollection implements ICollection<SkillDefinition> {
48
48
  * Get skills exposed as tool definitions.
49
49
  * This allows skills to appear alongside regular tools.
50
50
  * When called, they return rendered instructions.
51
- * Includes related_tools for dynamic tool discovery.
51
+ * Includes tools for dynamic tool discovery.
52
52
  */
53
53
  getToolDefinitions(filterContext?: ToolUseContext): AgentToolDefinition[];
54
54
  /**
@@ -66,7 +66,7 @@ export declare class SkillCollection implements ICollection<SkillDefinition> {
66
66
  * @param ctx - Hono context
67
67
  * @param preParsedPayload - Optional pre-parsed payload (used when routing from root endpoint)
68
68
  */
69
- execute(ctx: Context, preParsedPayload?: ToolExecutionPayload<Record<string, any>>): Promise<Response>;
69
+ execute(ctx: Context, preParsedPayload?: ToolExecutionPayload): Promise<Response>;
70
70
  /**
71
71
  * Render skill instructions (static or dynamic)
72
72
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillCollection.d.ts","sourceRoot":"","sources":["../src/SkillCollection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EACR,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,eAAe,EAEf,wBAAwB,EACxB,oBAAoB,EAEpB,cAAc,EACjB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACnE;;OAEG;IACH,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,WAAW,CAAC,eAAe,CAAC;IAChE;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,MAAM,CAA+B;gBAEjC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,yBAAyB;IAQjF,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC;IAI9C,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAInE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAInD;;OAEG;IACH,mBAAmB,IAAI,eAAe,EAAE;IAIxC;;;;;OAKG;IACH,kBAAkB,CAAC,aAAa,CAAC,EAAE,cAAc,GAAG,mBAAmB,EAAE;IAoCzE;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB;IAS9D,UAAU,IAAI;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACjB,EAAE;IAkBH;;;;;;OAMG;IACG,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgFvF;;OAEG;YACW,WAAW;CAe5B;AAkBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,GAAG,eAAe,CA2D9F;AA0DD;;GAEG;AACH,wBAAsB,iBAAiB,CACnC,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE;IAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,GACtE,OAAO,CAAC,eAAe,CAAC,CAI1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CA0C1E"}
@@ -1,7 +1,7 @@
1
- import { existsSync, readdirSync, readFileSync, statSync } from "fs";
2
- import { HTTPException } from "hono/http-exception";
3
- import { join } from "path";
4
- import { kebabCaseToTitle } from "./utils.js";
1
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { HTTPException } from 'hono/http-exception';
4
+ import { kebabCaseToTitle } from './utils.js';
5
5
  /**
6
6
  * Implements a skills collection endpoint.
7
7
  * Skills provide contextual instructions to agents.
@@ -33,7 +33,7 @@ export class SkillCollection {
33
33
  this.title = title || kebabCaseToTitle(name);
34
34
  this.icon = icon;
35
35
  this.description = description;
36
- this.skills = new Map(skills.map(s => [s.name, s]));
36
+ this.skills = new Map(skills.map((s) => [s.name, s]));
37
37
  }
38
38
  [Symbol.iterator]() {
39
39
  return this.skills.values();
@@ -57,36 +57,36 @@ export class SkillCollection {
57
57
  * Get skills exposed as tool definitions.
58
58
  * This allows skills to appear alongside regular tools.
59
59
  * When called, they return rendered instructions.
60
- * Includes related_tools for dynamic tool discovery.
60
+ * Includes tools for dynamic tool discovery.
61
61
  */
62
62
  getToolDefinitions(filterContext) {
63
63
  const defaultSchema = {
64
64
  type: 'object',
65
65
  properties: {
66
66
  context: {
67
- type: "string",
68
- description: "Additional context or specific requirements for this task"
69
- }
70
- }
67
+ type: 'string',
68
+ description: 'Additional context or specific requirements for this task',
69
+ },
70
+ },
71
71
  };
72
72
  let skills = Array.from(this.skills.values());
73
73
  if (filterContext) {
74
- skills = skills.filter(skill => {
74
+ skills = skills.filter((skill) => {
75
75
  return skill.isEnabled ? skill.isEnabled(filterContext) : true;
76
76
  });
77
77
  }
78
- return skills.map(skill => {
78
+ return skills.map((skill) => {
79
79
  // Build description with related tools info if available
80
80
  let description = `[Skill] ${skill.description}. Returns contextual instructions for this task.`;
81
- if (skill.related_tools && skill.related_tools.length > 0) {
82
- description += ` Unlocks tools: ${skill.related_tools.join(', ')}.`;
81
+ if (skill.tools && skill.tools.length > 0) {
82
+ description += ` Unlocks tools: ${skill.tools.join(', ')}.`;
83
83
  }
84
84
  return {
85
85
  url: `skills/${this.name}`,
86
86
  name: `learn_${skill.name}`,
87
87
  description,
88
88
  input_schema: skill.input_schema || defaultSchema,
89
- related_tools: skill.related_tools,
89
+ tools: skill.tools,
90
90
  category: this.name,
91
91
  };
92
92
  });
@@ -99,7 +99,7 @@ export class SkillCollection {
99
99
  title: this.title || this.name,
100
100
  description: this.description || `Skills: ${this.name}`,
101
101
  src: `${baseUrl}/api/skills/${this.name}`,
102
- tools: this.getToolDefinitions()
102
+ tools: this.getToolDefinitions(),
103
103
  };
104
104
  }
105
105
  getWidgets() {
@@ -125,37 +125,32 @@ export class SkillCollection {
125
125
  */
126
126
  async execute(ctx, preParsedPayload) {
127
127
  const toolCtx = ctx;
128
- let payload = preParsedPayload;
128
+ const payload = preParsedPayload ?? toolCtx.payload;
129
129
  try {
130
130
  if (!payload) {
131
- // Check if body was already parsed and validated by middleware
132
- if (toolCtx.payload) {
133
- payload = toolCtx.payload;
134
- }
135
- else {
136
- throw new HTTPException(400, {
137
- message: 'Invalid or missing skill execution payload. Expected { tool_use: { id, tool_name, tool_input? }, metadata? }'
138
- });
139
- }
131
+ throw new HTTPException(400, {
132
+ message: 'Invalid or missing skill execution payload. Expected { tool_use: { id, tool_name, tool_input? }, metadata? }',
133
+ });
140
134
  }
141
135
  const toolName = payload.tool_use.tool_name;
142
136
  // Extract skill name from tool name (remove "learn_" prefix if present)
143
- const skillName = toolName.startsWith('learn_')
144
- ? toolName.replace('learn_', '')
145
- : toolName;
137
+ const skillName = toolName.startsWith('learn_') ? toolName.replace('learn_', '') : toolName;
146
138
  const skill = this.skills.get(skillName);
147
139
  if (!skill) {
148
- console.warn("[SkillCollection] Skill not found", {
140
+ console.warn('[SkillCollection] Skill not found', {
149
141
  collection: this.name,
150
142
  requestedSkill: skillName,
151
143
  toolName,
152
144
  availableSkills: Array.from(this.skills.keys()),
153
145
  });
154
146
  throw new HTTPException(404, {
155
- message: `Skill not found: ${skillName}`
147
+ message: `Skill not found: ${skillName}`,
156
148
  });
157
149
  }
158
- const data = payload.tool_use.tool_input || {};
150
+ const input = payload.tool_use.tool_input;
151
+ const data = typeof input === 'object' && input !== null && !Array.isArray(input)
152
+ ? input
153
+ : {};
159
154
  const result = await this.renderSkill(skill, data);
160
155
  // TODO: If skill.execution is set, run via Daytona
161
156
  // Return in tool result format
@@ -167,28 +162,30 @@ export class SkillCollection {
167
162
  skill_name: skill.name,
168
163
  content_type: skill.content_type,
169
164
  execution: skill.execution,
170
- }
165
+ },
171
166
  });
172
167
  }
173
168
  catch (err) {
174
- const status = err.status || 500;
169
+ const status = err instanceof HTTPException ? err.status : 500;
170
+ const message = err instanceof Error ? err.message : 'Error executing skill';
171
+ const stack = err instanceof Error ? err.stack : undefined;
175
172
  const toolName = payload?.tool_use?.tool_name;
176
173
  const toolUseId = payload?.tool_use?.id;
177
174
  if (status >= 500) {
178
- console.error("[SkillCollection] Skill execution failed", {
175
+ console.error('[SkillCollection] Skill execution failed', {
179
176
  collection: this.name,
180
177
  skill: toolName,
181
178
  toolUseId,
182
- error: err.message,
179
+ error: message,
183
180
  status,
184
181
  toolInput: payload?.tool_use?.tool_input,
185
- stack: err.stack,
182
+ stack,
186
183
  });
187
184
  }
188
185
  return ctx.json({
189
- tool_use_id: toolUseId || "unknown",
186
+ tool_use_id: toolUseId || 'unknown',
190
187
  is_error: true,
191
- content: err.message || "Error executing skill",
188
+ content: message,
192
189
  }, status);
193
190
  }
194
191
  }
@@ -200,7 +197,7 @@ export class SkillCollection {
200
197
  if (skill.content_type === 'jst') {
201
198
  // JST templates are not currently supported
202
199
  throw new HTTPException(501, {
203
- message: `JST templates are not currently supported. Use 'md' content type instead.`
200
+ message: `JST templates are not currently supported. Use 'md' content type instead.`,
204
201
  });
205
202
  }
206
203
  return {
@@ -232,7 +229,7 @@ export function parseSkillFile(content, contentType) {
232
229
  // Parse YAML frontmatter
233
230
  const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
234
231
  if (!frontmatterMatch) {
235
- throw new Error("Invalid skill file: missing YAML frontmatter");
232
+ throw new Error('Invalid skill file: missing YAML frontmatter');
236
233
  }
237
234
  const [, yamlContent, body] = frontmatterMatch;
238
235
  const frontmatter = parseYamlFrontmatter(yamlContent);
@@ -275,7 +272,7 @@ export function parseSkillFile(content, contentType) {
275
272
  }
276
273
  // Related tools from frontmatter
277
274
  if (frontmatter.tools) {
278
- skill.related_tools = frontmatter.tools;
275
+ skill.tools = frontmatter.tools;
279
276
  }
280
277
  return skill;
281
278
  }
@@ -296,19 +293,39 @@ function parseYamlFrontmatter(yaml) {
296
293
  let value = trimmed.slice(colonIndex + 1).trim();
297
294
  // Handle array syntax: [item1, item2]
298
295
  if (value.startsWith('[') && value.endsWith(']')) {
299
- const items = value.slice(1, -1).split(',').map(s => s.trim());
300
- result[key] = items.filter(s => s.length > 0);
296
+ const items = value
297
+ .slice(1, -1)
298
+ .split(',')
299
+ .map((s) => s.trim());
300
+ result[key] = items.filter((s) => s.length > 0);
301
301
  }
302
302
  else {
303
303
  // Remove quotes if present
304
- if ((value.startsWith('"') && value.endsWith('"')) ||
305
- (value.startsWith("'") && value.endsWith("'"))) {
304
+ if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
306
305
  value = value.slice(1, -1);
307
306
  }
308
307
  result[key] = value;
309
308
  }
310
309
  }
311
- return result;
310
+ return {
311
+ name: asString(result.name),
312
+ title: asString(result.title),
313
+ description: asString(result.description),
314
+ keywords: asStringArray(result.keywords),
315
+ tools: asStringArray(result.tools),
316
+ data_patterns: asStringArray(result.data_patterns),
317
+ language: asString(result.language),
318
+ packages: asStringArray(result.packages),
319
+ system_packages: asStringArray(result.system_packages),
320
+ widgets: asStringArray(result.widgets),
321
+ scripts: asStringArray(result.scripts),
322
+ };
323
+ }
324
+ function asString(value) {
325
+ return typeof value === 'string' ? value : undefined;
326
+ }
327
+ function asStringArray(value) {
328
+ return Array.isArray(value) && value.every((item) => typeof item === 'string') ? value : undefined;
312
329
  }
313
330
  /**
314
331
  * Helper to load skill from file path (for Node.js usage)
@@ -352,16 +369,16 @@ export function loadSkillsFromDirectory(dirPath) {
352
369
  if (!stat.isDirectory())
353
370
  continue;
354
371
  // Look for SKILL.md or SKILL.jst
355
- const mdPath = join(entryPath, "SKILL.md");
356
- const jstPath = join(entryPath, "SKILL.jst");
372
+ const mdPath = join(entryPath, 'SKILL.md');
373
+ const jstPath = join(entryPath, 'SKILL.jst');
357
374
  let content;
358
375
  let contentType = 'md';
359
376
  if (existsSync(mdPath)) {
360
- content = readFileSync(mdPath, "utf-8");
377
+ content = readFileSync(mdPath, 'utf-8');
361
378
  contentType = 'md';
362
379
  }
363
380
  else if (existsSync(jstPath)) {
364
- content = readFileSync(jstPath, "utf-8");
381
+ content = readFileSync(jstPath, 'utf-8');
365
382
  contentType = 'jst';
366
383
  }
367
384
  if (content) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillCollection.js","sourceRoot":"","sources":["../src/SkillCollection.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import { AgentToolDefinition } from "@vertesia/common";
2
- import { Context } from "hono";
3
- import { ToolRegistry } from "./ToolRegistry.js";
4
- import type { CollectionProperties, ICollection, Tool, ToolExecutionPayload, ToolUseContext } from "./types.js";
1
+ import type { AgentToolDefinition } from '@vertesia/common';
2
+ import type { Context } from 'hono';
3
+ import { ToolRegistry } from './ToolRegistry.js';
4
+ import type { CollectionProperties, ICollection, Tool, ToolExecutionPayload, ToolUseContext } from './types.js';
5
5
  export interface ToolCollectionProperties extends CollectionProperties {
6
6
  /**
7
7
  * The tools
8
8
  */
9
- tools: Tool<any>[];
9
+ tools: Tool[];
10
10
  }
11
11
  /**
12
12
  * Implements a tools collection endpoint
13
13
  */
14
- export declare class ToolCollection implements ICollection<Tool<any>> {
14
+ export declare class ToolCollection implements ICollection<Tool> {
15
15
  /**
16
16
  * A kebab case collection name. Must only contains alphanumeric and dash characters,
17
17
  * The name can be used to generate the path where the collection is exposed.
@@ -36,9 +36,9 @@ export declare class ToolCollection implements ICollection<Tool<any>> {
36
36
  */
37
37
  tools: ToolRegistry;
38
38
  constructor({ name, title, icon, description, tools }: ToolCollectionProperties);
39
- [Symbol.iterator](): Iterator<Tool<any>>;
40
- map<U>(callback: (tool: Tool<any>, index: number) => U): U[];
41
- execute(ctx: Context, preParsedPayload?: ToolExecutionPayload<any>): Promise<Response>;
39
+ [Symbol.iterator](): Iterator<Tool>;
40
+ map<U>(callback: (tool: Tool, index: number) => U): U[];
41
+ execute(ctx: Context, preParsedPayload?: ToolExecutionPayload): Promise<Response>;
42
42
  /**
43
43
  * Get tool definitions with optional filtering.
44
44
  * @param options - context for filtering
@@ -63,5 +63,5 @@ export declare class ToolCollection implements ICollection<Tool<any>> {
63
63
  * @param toolsDir - Path to the tools directory (e.g., /path/to/collection/tools)
64
64
  * @returns Promise resolving to array of Tool objects
65
65
  */
66
- export declare function loadToolsFromDirectory(toolsDir: string): Promise<Tool<any>[]>;
66
+ export declare function loadToolsFromDirectory(toolsDir: string): Promise<Tool[]>;
67
67
  //# sourceMappingURL=ToolCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolCollection.d.ts","sourceRoot":"","sources":["../src/ToolCollection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACR,oBAAoB,EACpB,WAAW,EACX,IAAI,EACJ,oBAAoB,EAGpB,cAAc,EACjB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAClE;;OAEG;IACH,KAAK,EAAE,IAAI,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,WAAW,CAAC,IAAI,CAAC;IACpD;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;gBAER,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,wBAAwB;IAS/E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;IAenC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAIjD,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqDvF;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,mBAAmB,EAAE;CAGtE;AAiBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CA8C9E"}