@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
package/src/types.ts CHANGED
@@ -1,10 +1,19 @@
1
- import type { ToolDefinition, ToolUse } from "@llumiverse/common";
2
- import { VertesiaClient } from "@vertesia/client";
3
- import { AgentToolDefinition, AuthTokenPayload, ProjectConfiguration, RenderingTemplateDefinition, ToolExecutionMetadata, ToolResult, ToolResultContent } from "@vertesia/common";
1
+ import type { ToolDefinition, ToolUse } from '@llumiverse/common';
2
+ import type { VertesiaClient } from '@vertesia/client';
3
+ import type {
4
+ AgentToolDefinition,
5
+ AuthTokenPayload,
6
+ MCPToolAnnotations,
7
+ ProjectConfiguration,
8
+ RenderingTemplateDefinition,
9
+ ToolExecutionMetadata,
10
+ ToolResult,
11
+ ToolResultContent,
12
+ } from '@vertesia/common';
4
13
 
5
14
  export type { ToolExecutionMetadata };
6
15
 
7
- export type ICollection<T = any> = CollectionProperties & Iterable<T>
16
+ export type ICollection<T = object> = CollectionProperties & Iterable<T>;
8
17
 
9
18
  export interface CollectionProperties {
10
19
  /**
@@ -14,7 +23,7 @@ export interface CollectionProperties {
14
23
  */
15
24
  name: string;
16
25
  /**
17
- * Optional title for UI display.
26
+ * Optional title for UI display.
18
27
  * If not provided the pascal case version of the name will be used
19
28
  */
20
29
  title?: string;
@@ -23,7 +32,7 @@ export interface CollectionProperties {
23
32
  */
24
33
  icon?: string;
25
34
  /**
26
- * A short description
35
+ * A short description
27
36
  */
28
37
  description?: string;
29
38
  }
@@ -48,7 +57,7 @@ export interface ToolExecutionResult extends ToolResultContent {
48
57
  /**
49
58
  * Medata can be used to return more info on the tool execution like stats or user messages.
50
59
  */
51
- meta?: Record<string, any>;
60
+ meta?: Record<string, unknown>;
52
61
  }
53
62
 
54
63
  export interface ToolExecutionResponse extends ToolExecutionResult, ToolResult {
@@ -74,48 +83,64 @@ export interface ToolExecutionResponseError {
74
83
  /**
75
84
  * Additional context information
76
85
  */
77
- data?: Record<string, any>;
86
+ data?: Record<string, unknown>;
78
87
  }
79
88
 
80
- export interface ToolExecutionPayload<ParamsT extends Record<string, any>> {
81
- tool_use: ToolUse<ParamsT>,
89
+ export interface ToolExecutionPayload<ParamsT extends object = object> {
90
+ tool_use: ToolUse<ParamsT>;
82
91
  /**
83
92
  * Optional metadata related to the current execution request
84
93
  */
85
- metadata?: ToolExecutionMetadata,
94
+ metadata?: ToolExecutionMetadata;
86
95
  }
87
96
 
88
- export type ToolFn<ParamsT extends Record<string, any>> = (payload: ToolExecutionPayload<ParamsT>, context: ToolExecutionContext) => Promise<ToolExecutionResult>;
97
+ export type ToolFn<ParamsT extends object = object> = (
98
+ payload: ToolExecutionPayload<ParamsT>,
99
+ context: ToolExecutionContext,
100
+ ) => Promise<ToolExecutionResult>;
89
101
 
90
102
  export interface ToolUseContext {
91
- project_id?: string,
92
- account_id?: string,
93
- project_name?: string,
94
- project_ns?: string,
103
+ project_id?: string;
104
+ account_id?: string;
105
+ project_name?: string;
106
+ project_ns?: string;
95
107
  configuration?: ProjectConfiguration;
96
- vars?: Record<string, any>;
108
+ vars?: Record<string, unknown>;
97
109
  }
98
110
 
99
- export interface Tool<ParamsT extends Record<string, any>> extends ToolDefinition {
100
- run: ToolFn<ParamsT>;
111
+ export interface Tool<ParamsT extends object = object> extends ToolDefinition {
112
+ run(payload: ToolExecutionPayload<ParamsT>, context: ToolExecutionContext): Promise<ToolExecutionResult>;
101
113
  /**
102
114
  * Whether this tool is available by default.
103
115
  * - true/undefined: Tool is always available to agents
104
- * - false: Tool is only available when activated by a skill's related_tools
116
+ * - false: Tool is only available when activated by a skill's tools
105
117
  */
106
118
  default?: boolean;
107
119
 
120
+ /**
121
+ * MCP-style annotations (destructiveHint, readOnlyHint, etc). Propagated
122
+ * into the AgentToolDefinition on catalog / package responses.
123
+ */
124
+ annotations?: MCPToolAnnotations;
125
+
126
+ /**
127
+ * When true, agents must obtain explicit user confirmation via `ask_user`
128
+ * (Yes/No) before invoking this tool. If the user answers No, the tool
129
+ * must not run. Stronger than `annotations.destructiveHint` — this is a
130
+ * hard contract.
131
+ */
132
+ requires_user_confirmation?: boolean;
133
+
108
134
  /**
109
135
  * Optional filter to check if the tool is enabled for the given project configuration.
110
136
  * This can be used to dynamically enable/disable tools based on project settings, environment variables, or any other logic.
111
137
  * If no filter is provided, the tool will be enabled by default.
112
- * @param payload
113
- * @returns
138
+ * @param payload
139
+ * @returns
114
140
  */
115
141
  isEnabled?: (payload: ToolUseContext) => boolean;
116
142
  }
117
143
 
118
-
119
144
  /**
120
145
  * The interface that should be returned when requesting a collection endpoint using a GET
121
146
  */
@@ -203,7 +228,6 @@ export interface SkillExecution {
203
228
  template?: string;
204
229
  }
205
230
 
206
-
207
231
  /**
208
232
  * Skill definition - parsed from SKILL.md or SKILL.jst
209
233
  */
@@ -234,7 +258,7 @@ export interface SkillDefinition {
234
258
  */
235
259
  input_schema?: {
236
260
  type: 'object';
237
- properties?: Record<string, any>;
261
+ properties?: Record<string, unknown>;
238
262
  required?: string[];
239
263
  };
240
264
  /**
@@ -246,9 +270,10 @@ export interface SkillDefinition {
246
270
  */
247
271
  execution?: SkillExecution;
248
272
  /**
249
- * Related tools that work well with this skill
273
+ * Tool names this skill enables (unlocks) when called. Matches the
274
+ * `tools:` key used in SKILL.md frontmatter.
250
275
  */
251
- related_tools?: string[];
276
+ tools?: string[];
252
277
  /**
253
278
  * Scripts bundled with this skill (synced to sandbox when skill is used)
254
279
  */
@@ -266,11 +291,10 @@ export interface SkillDefinition {
266
291
  * Optional filter to check if the tool is enabled for the given project configuration.
267
292
  * This can be used to dynamically enable/disable tools based on project settings, environment variables, or any other logic.
268
293
  * If no filter is provided, the tool will be enabled by default.
269
- * @param payload
270
- * @returns
294
+ * @param payload
295
+ * @returns
271
296
  */
272
297
  isEnabled?: (payload: ToolUseContext) => boolean;
273
-
274
298
  }
275
299
 
276
300
  /**
@@ -284,7 +308,7 @@ export interface SkillExecutionPayload {
284
308
  /**
285
309
  * Data context for JST template rendering
286
310
  */
287
- data?: Record<string, any>;
311
+ data?: Record<string, unknown>;
288
312
  /**
289
313
  * Whether to execute the code template (if present)
290
314
  */
package/src/utils.ts CHANGED
@@ -6,17 +6,23 @@
6
6
  export function toPathName(name: string): string {
7
7
  let result = name;
8
8
  if (result.includes(' ') || result.includes('_')) {
9
- result = result.split(/[\s_]+/).map(w => w.charAt(0).toUpperCase() + w.slice(1)).join('');
9
+ result = result
10
+ .split(/[\s_]+/)
11
+ .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
12
+ .join('');
10
13
  }
11
14
  return result.replace(/[^a-zA-Z0-9$_\-@]/g, '-');
12
15
  }
13
16
 
14
17
  export function kebabCaseToTitle(name: string) {
15
- return name.split('-').map(p => p[0].toUpperCase() + p.substring(1)).join(' ');
18
+ return name
19
+ .split('-')
20
+ .map((p) => p[0].toUpperCase() + p.substring(1))
21
+ .join(' ');
16
22
  }
17
23
 
18
24
  export function makeScriptUrl(origin: string, script: string) {
19
- return join(origin, join("/scripts", script));
25
+ return join(origin, join('/scripts', script));
20
26
  }
21
27
 
22
28
  export function join(left: string, right: string) {
@@ -29,9 +35,8 @@ export function join(left: string, right: string) {
29
35
  } else if (right.startsWith('/')) {
30
36
  return left + right;
31
37
  } else if (right.startsWith('./')) {
32
- return left + '/' + right.slice(2);
38
+ return `${left}/${right.slice(2)}`;
33
39
  } else {
34
- return left + '/' + right;
40
+ return `${left}/${right}`;
35
41
  }
36
42
  }
37
-
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActivityCollection = void 0;
4
- const http_exception_1 = require("hono/http-exception");
5
- const auth_js_1 = require("./auth.js");
6
- const utils_js_1 = require("./utils.js");
7
- /**
8
- * A collection of remote activities exposed by a tool server for DSL workflows.
9
- * Follows the same collection pattern as ToolCollection and SkillCollection.
10
- */
11
- class ActivityCollection {
12
- name;
13
- title;
14
- icon;
15
- description;
16
- registry = {};
17
- constructor({ name, title, icon, description, activities }) {
18
- this.name = name;
19
- this.title = title || (0, utils_js_1.kebabCaseToTitle)(name);
20
- this.icon = icon;
21
- this.description = description;
22
- for (const activity of activities) {
23
- this.registry[activity.name] = activity;
24
- }
25
- }
26
- [Symbol.iterator]() {
27
- let index = 0;
28
- const activities = Object.values(this.registry);
29
- return {
30
- next() {
31
- if (index < activities.length) {
32
- return { value: activities[index++], done: false };
33
- }
34
- return { done: true, value: undefined };
35
- }
36
- };
37
- }
38
- /**
39
- * Get activity definitions for discovery (metadata only, no run function).
40
- */
41
- getActivityDefinitions() {
42
- return Object.values(this.registry).map(activity => ({
43
- name: activity.name,
44
- title: activity.title,
45
- description: activity.description,
46
- input_schema: activity.input_schema,
47
- output_schema: activity.output_schema,
48
- }));
49
- }
50
- getActivity(name) {
51
- const activity = this.registry[name];
52
- if (!activity) {
53
- throw new http_exception_1.HTTPException(404, {
54
- message: `Activity not found: ${name}. Available: ${Object.keys(this.registry).join(', ')}`
55
- });
56
- }
57
- return activity;
58
- }
59
- /**
60
- * Execute an activity from an HTTP POST request.
61
- */
62
- async execute(ctx, payload) {
63
- const activityName = payload.activity_name;
64
- console.debug(`[ActivityCollection] Activity call received: ${activityName}`, {
65
- collection: this.name,
66
- metadata: payload.metadata,
67
- });
68
- const activity = this.getActivity(activityName);
69
- const context = await (0, auth_js_1.authorize)(ctx, payload.metadata?.endpoints);
70
- try {
71
- const result = await activity.run(payload, context);
72
- return ctx.json({
73
- result,
74
- is_error: false,
75
- });
76
- }
77
- catch (err) {
78
- const message = err instanceof Error ? err.message : String(err);
79
- console.error(`[ActivityCollection] Activity execution failed: ${activityName}`, {
80
- collection: this.name,
81
- metadata: payload.metadata,
82
- error: message,
83
- });
84
- return ctx.json({
85
- result: null,
86
- is_error: true,
87
- error: message,
88
- }, 500);
89
- }
90
- }
91
- }
92
- exports.ActivityCollection = ActivityCollection;
93
- //# sourceMappingURL=ActivityCollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActivityCollection.js","sourceRoot":"","sources":["../../src/ActivityCollection.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ContentTypesCollection = void 0;
4
- const utils_js_1 = require("./utils.js");
5
- class ContentTypesCollection {
6
- types;
7
- name;
8
- title;
9
- icon;
10
- description;
11
- constructor({ name, title, icon, description, types }) {
12
- this.name = name;
13
- this.title = title || (0, utils_js_1.kebabCaseToTitle)(name);
14
- this.icon = icon;
15
- this.description = description;
16
- this.types = types;
17
- }
18
- getContentTypes() {
19
- return this.types;
20
- }
21
- [Symbol.iterator]() {
22
- let index = 0;
23
- const types = this.types;
24
- return {
25
- next() {
26
- if (index < types.length) {
27
- return { value: types[index++], done: false };
28
- }
29
- else {
30
- return { done: true, value: undefined };
31
- }
32
- }
33
- };
34
- }
35
- map(callback) {
36
- return this.types.map(callback);
37
- }
38
- getTypeByName(name) {
39
- return this.types.find(type => type.name === name);
40
- }
41
- }
42
- exports.ContentTypesCollection = ContentTypesCollection;
43
- //# sourceMappingURL=ContentTypesCollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContentTypesCollection.js","sourceRoot":"","sources":["../../src/ContentTypesCollection.ts"],"names":[],"mappings":";;;AAEA,yCAA8C;AAK9C,MAAa,sBAAsB;IAC/B,KAAK,CAAmB;IACxB,IAAI,CAAS;IACb,KAAK,CAAU;IACf,IAAI,CAAU;IACd,WAAW,CAAU;IACrB,YAAY,EACR,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EACX;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAA,2BAAgB,EAAC,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,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,CAAC;CAEJ;AA3CD,wDA2CC"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InteractionCollection = void 0;
4
- const utils_js_1 = require("./utils.js");
5
- class InteractionCollection {
6
- interactions;
7
- name;
8
- title;
9
- icon;
10
- description;
11
- constructor({ name, title, icon, description, interactions }) {
12
- this.name = name;
13
- this.title = title || (0, utils_js_1.kebabCaseToTitle)(name);
14
- this.icon = icon;
15
- this.description = description;
16
- this.interactions = interactions;
17
- }
18
- getInteractions() {
19
- return this.interactions;
20
- }
21
- [Symbol.iterator]() {
22
- let index = 0;
23
- const interactions = this.interactions;
24
- return {
25
- next() {
26
- if (index < interactions.length) {
27
- return { value: interactions[index++], done: false };
28
- }
29
- else {
30
- return { done: true, value: undefined };
31
- }
32
- }
33
- };
34
- }
35
- map(callback) {
36
- return this.interactions.map(callback);
37
- }
38
- getInteractionByName(name) {
39
- return this.interactions.find(interaction => interaction.name === name);
40
- }
41
- }
42
- exports.InteractionCollection = InteractionCollection;
43
- //# sourceMappingURL=InteractionCollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InteractionCollection.js","sourceRoot":"","sources":["../../src/InteractionCollection.ts"],"names":[],"mappings":";;;AAEA,yCAA8C;AAK9C,MAAa,qBAAqB;IAC9B,YAAY,CAAoB;IAChC,IAAI,CAAS;IACb,KAAK,CAAU;IACf,IAAI,CAAU;IACd,WAAW,CAAU;IACrB,YAAY,EACR,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EACnB;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAA,2BAAgB,EAAC,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,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC5E,CAAC;CACJ;AA1CD,sDA0CC"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RenderingTemplateCollection = void 0;
4
- const utils_js_1 = require("./utils.js");
5
- class RenderingTemplateCollection {
6
- templates;
7
- name;
8
- title;
9
- icon;
10
- description;
11
- constructor({ name, title, icon, description, templates }) {
12
- this.name = name;
13
- this.title = title || (0, utils_js_1.kebabCaseToTitle)(name);
14
- this.icon = icon;
15
- this.description = description;
16
- this.templates = templates;
17
- }
18
- getTemplateDefinitions() {
19
- return this.templates;
20
- }
21
- getTemplate(name) {
22
- return this.templates.find(t => t.name === name);
23
- }
24
- [Symbol.iterator]() {
25
- let index = 0;
26
- const templates = this.templates;
27
- return {
28
- next() {
29
- if (index < templates.length) {
30
- return { value: templates[index++], done: false };
31
- }
32
- else {
33
- return { done: true, value: undefined };
34
- }
35
- }
36
- };
37
- }
38
- map(callback) {
39
- return this.templates.map(callback);
40
- }
41
- }
42
- exports.RenderingTemplateCollection = RenderingTemplateCollection;
43
- //# sourceMappingURL=RenderingTemplateCollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderingTemplateCollection.js","sourceRoot":"","sources":["../../src/RenderingTemplateCollection.ts"],"names":[],"mappings":";;;AACA,yCAA8C;AAM9C,MAAa,2BAA2B;IACpC,SAAS,CAAgC;IACzC,IAAI,CAAS;IACb,KAAK,CAAU;IACf,IAAI,CAAU;IACd,WAAW,CAAU;IAErB,YAAY,EACR,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EACV;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAA,2BAAgB,EAAC,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,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACrD,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;AA3CD,kEA2CC"}