@wiro-ai/wiro-mcp 1.3.4 → 1.4.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 (270) hide show
  1. package/README.md +173 -16
  2. package/dist/client.d.ts +10 -0
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +39 -20
  5. package/dist/client.js.map +1 -1
  6. package/dist/index.js +4 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/instructions.d.ts +2 -0
  9. package/dist/instructions.d.ts.map +1 -0
  10. package/dist/instructions.js +25 -0
  11. package/dist/instructions.js.map +1 -0
  12. package/dist/playbooks.d.ts +8 -0
  13. package/dist/playbooks.d.ts.map +1 -0
  14. package/dist/playbooks.js +665 -0
  15. package/dist/playbooks.js.map +1 -0
  16. package/dist/prompts.d.ts +4 -0
  17. package/dist/prompts.d.ts.map +1 -0
  18. package/dist/prompts.js +133 -0
  19. package/dist/prompts.js.map +1 -0
  20. package/dist/server.d.ts +9 -2
  21. package/dist/server.d.ts.map +1 -1
  22. package/dist/server.js +9 -3
  23. package/dist/server.js.map +1 -1
  24. package/dist/tools/apply-agent-skills.d.ts +4 -0
  25. package/dist/tools/apply-agent-skills.d.ts.map +1 -0
  26. package/dist/tools/apply-agent-skills.js +545 -0
  27. package/dist/tools/apply-agent-skills.js.map +1 -0
  28. package/dist/tools/cancel-agent-message.d.ts +4 -0
  29. package/dist/tools/cancel-agent-message.d.ts.map +1 -0
  30. package/dist/tools/cancel-agent-message.js +126 -0
  31. package/dist/tools/cancel-agent-message.js.map +1 -0
  32. package/dist/tools/cancel-task.js +3 -3
  33. package/dist/tools/cancel-task.js.map +1 -1
  34. package/dist/tools/clone-workflow.d.ts +4 -0
  35. package/dist/tools/clone-workflow.d.ts.map +1 -0
  36. package/dist/tools/clone-workflow.js +83 -0
  37. package/dist/tools/clone-workflow.js.map +1 -0
  38. package/dist/tools/connect-agent-oauth.d.ts +4 -0
  39. package/dist/tools/connect-agent-oauth.d.ts.map +1 -0
  40. package/dist/tools/connect-agent-oauth.js +508 -0
  41. package/dist/tools/connect-agent-oauth.js.map +1 -0
  42. package/dist/tools/control-agent.d.ts +4 -0
  43. package/dist/tools/control-agent.d.ts.map +1 -0
  44. package/dist/tools/control-agent.js +274 -0
  45. package/dist/tools/control-agent.js.map +1 -0
  46. package/dist/tools/create-workflow.d.ts +100 -0
  47. package/dist/tools/create-workflow.d.ts.map +1 -0
  48. package/dist/tools/create-workflow.js +103 -0
  49. package/dist/tools/create-workflow.js.map +1 -0
  50. package/dist/tools/delete-agent-session.d.ts +6 -0
  51. package/dist/tools/delete-agent-session.d.ts.map +1 -0
  52. package/dist/tools/delete-agent-session.js +134 -0
  53. package/dist/tools/delete-agent-session.js.map +1 -0
  54. package/dist/tools/delete-agent.d.ts +4 -0
  55. package/dist/tools/delete-agent.d.ts.map +1 -0
  56. package/dist/tools/delete-agent.js +144 -0
  57. package/dist/tools/delete-agent.js.map +1 -0
  58. package/dist/tools/delete-workflow.d.ts +4 -0
  59. package/dist/tools/delete-workflow.d.ts.map +1 -0
  60. package/dist/tools/delete-workflow.js +77 -0
  61. package/dist/tools/delete-workflow.js.map +1 -0
  62. package/dist/tools/deploy-agent.d.ts +4 -0
  63. package/dist/tools/deploy-agent.d.ts.map +1 -0
  64. package/dist/tools/deploy-agent.js +455 -0
  65. package/dist/tools/deploy-agent.js.map +1 -0
  66. package/dist/tools/disconnect-agent-oauth.d.ts +4 -0
  67. package/dist/tools/disconnect-agent-oauth.d.ts.map +1 -0
  68. package/dist/tools/disconnect-agent-oauth.js +118 -0
  69. package/dist/tools/disconnect-agent-oauth.js.map +1 -0
  70. package/dist/tools/get-account.d.ts +4 -0
  71. package/dist/tools/get-account.d.ts.map +1 -0
  72. package/dist/tools/get-account.js +110 -0
  73. package/dist/tools/get-account.js.map +1 -0
  74. package/dist/tools/get-agent-activity.d.ts +4 -0
  75. package/dist/tools/get-agent-activity.d.ts.map +1 -0
  76. package/dist/tools/get-agent-activity.js +383 -0
  77. package/dist/tools/get-agent-activity.js.map +1 -0
  78. package/dist/tools/get-agent-conversation.d.ts +4 -0
  79. package/dist/tools/get-agent-conversation.d.ts.map +1 -0
  80. package/dist/tools/get-agent-conversation.js +224 -0
  81. package/dist/tools/get-agent-conversation.js.map +1 -0
  82. package/dist/tools/get-agent-message.d.ts +4 -0
  83. package/dist/tools/get-agent-message.d.ts.map +1 -0
  84. package/dist/tools/get-agent-message.js +68 -0
  85. package/dist/tools/get-agent-message.js.map +1 -0
  86. package/dist/tools/get-agent-template.d.ts +4 -0
  87. package/dist/tools/get-agent-template.d.ts.map +1 -0
  88. package/dist/tools/get-agent-template.js +107 -0
  89. package/dist/tools/get-agent-template.js.map +1 -0
  90. package/dist/tools/get-model-schema.d.ts +5 -1
  91. package/dist/tools/get-model-schema.d.ts.map +1 -1
  92. package/dist/tools/get-model-schema.js +136 -8
  93. package/dist/tools/get-model-schema.js.map +1 -1
  94. package/dist/tools/get-my-agent.d.ts +4 -0
  95. package/dist/tools/get-my-agent.d.ts.map +1 -0
  96. package/dist/tools/get-my-agent.js +78 -0
  97. package/dist/tools/get-my-agent.js.map +1 -0
  98. package/dist/tools/get-playbook.d.ts +3 -0
  99. package/dist/tools/get-playbook.d.ts.map +1 -0
  100. package/dist/tools/get-playbook.js +50 -0
  101. package/dist/tools/get-playbook.js.map +1 -0
  102. package/dist/tools/get-task-price.d.ts.map +1 -1
  103. package/dist/tools/get-task-price.js +42 -15
  104. package/dist/tools/get-task-price.js.map +1 -1
  105. package/dist/tools/get-task.d.ts.map +1 -1
  106. package/dist/tools/get-task.js +4 -3
  107. package/dist/tools/get-task.js.map +1 -1
  108. package/dist/tools/get-workflow.d.ts +9 -0
  109. package/dist/tools/get-workflow.d.ts.map +1 -0
  110. package/dist/tools/get-workflow.js +99 -0
  111. package/dist/tools/get-workflow.js.map +1 -0
  112. package/dist/tools/index.d.ts +62 -2
  113. package/dist/tools/index.d.ts.map +1 -1
  114. package/dist/tools/index.js +127 -14
  115. package/dist/tools/index.js.map +1 -1
  116. package/dist/tools/kill-task.d.ts.map +1 -1
  117. package/dist/tools/kill-task.js +10 -6
  118. package/dist/tools/kill-task.js.map +1 -1
  119. package/dist/tools/list-agent-skills.d.ts +4 -0
  120. package/dist/tools/list-agent-skills.d.ts.map +1 -0
  121. package/dist/tools/list-agent-skills.js +242 -0
  122. package/dist/tools/list-agent-skills.js.map +1 -0
  123. package/dist/tools/list-agent-templates.d.ts +4 -0
  124. package/dist/tools/list-agent-templates.d.ts.map +1 -0
  125. package/dist/tools/list-agent-templates.js +110 -0
  126. package/dist/tools/list-agent-templates.js.map +1 -0
  127. package/dist/tools/list-my-agents.d.ts +4 -0
  128. package/dist/tools/list-my-agents.d.ts.map +1 -0
  129. package/dist/tools/list-my-agents.js +90 -0
  130. package/dist/tools/list-my-agents.js.map +1 -0
  131. package/dist/tools/list-studio-results.d.ts +4 -0
  132. package/dist/tools/list-studio-results.d.ts.map +1 -0
  133. package/dist/tools/list-studio-results.js +95 -0
  134. package/dist/tools/list-studio-results.js.map +1 -0
  135. package/dist/tools/list-tasks.d.ts.map +1 -1
  136. package/dist/tools/list-tasks.js +7 -5
  137. package/dist/tools/list-tasks.js.map +1 -1
  138. package/dist/tools/list-workflow-runs.d.ts +4 -0
  139. package/dist/tools/list-workflow-runs.d.ts.map +1 -0
  140. package/dist/tools/list-workflow-runs.js +110 -0
  141. package/dist/tools/list-workflow-runs.js.map +1 -0
  142. package/dist/tools/list-workflows.d.ts +4 -0
  143. package/dist/tools/list-workflows.d.ts.map +1 -0
  144. package/dist/tools/list-workflows.js +143 -0
  145. package/dist/tools/list-workflows.js.map +1 -0
  146. package/dist/tools/manage-agent-billing.d.ts +4 -0
  147. package/dist/tools/manage-agent-billing.d.ts.map +1 -0
  148. package/dist/tools/manage-agent-billing.js +764 -0
  149. package/dist/tools/manage-agent-billing.js.map +1 -0
  150. package/dist/tools/manage-agent-custom-skill.d.ts +4 -0
  151. package/dist/tools/manage-agent-custom-skill.d.ts.map +1 -0
  152. package/dist/tools/manage-agent-custom-skill.js +537 -0
  153. package/dist/tools/manage-agent-custom-skill.js.map +1 -0
  154. package/dist/tools/recommend-model.d.ts.map +1 -1
  155. package/dist/tools/recommend-model.js +6 -5
  156. package/dist/tools/recommend-model.js.map +1 -1
  157. package/dist/tools/resume-workflow-run.d.ts +4 -0
  158. package/dist/tools/resume-workflow-run.d.ts.map +1 -0
  159. package/dist/tools/resume-workflow-run.js +69 -0
  160. package/dist/tools/resume-workflow-run.js.map +1 -0
  161. package/dist/tools/run-model.d.ts.map +1 -1
  162. package/dist/tools/run-model.js +39 -3
  163. package/dist/tools/run-model.js.map +1 -1
  164. package/dist/tools/run-workflow.d.ts +6 -0
  165. package/dist/tools/run-workflow.d.ts.map +1 -0
  166. package/dist/tools/run-workflow.js +132 -0
  167. package/dist/tools/run-workflow.js.map +1 -0
  168. package/dist/tools/save-workflow-from-agent.d.ts +4 -0
  169. package/dist/tools/save-workflow-from-agent.d.ts.map +1 -0
  170. package/dist/tools/save-workflow-from-agent.js +283 -0
  171. package/dist/tools/save-workflow-from-agent.js.map +1 -0
  172. package/dist/tools/schemas.d.ts +62 -12
  173. package/dist/tools/schemas.d.ts.map +1 -1
  174. package/dist/tools/schemas.js +17 -3
  175. package/dist/tools/schemas.js.map +1 -1
  176. package/dist/tools/search-models.js +6 -6
  177. package/dist/tools/search-models.js.map +1 -1
  178. package/dist/tools/send-agent-message.d.ts +4 -0
  179. package/dist/tools/send-agent-message.d.ts.map +1 -0
  180. package/dist/tools/send-agent-message.js +156 -0
  181. package/dist/tools/send-agent-message.js.map +1 -0
  182. package/dist/tools/set-agent-credentials.d.ts +4 -0
  183. package/dist/tools/set-agent-credentials.d.ts.map +1 -0
  184. package/dist/tools/set-agent-credentials.js +529 -0
  185. package/dist/tools/set-agent-credentials.js.map +1 -0
  186. package/dist/tools/update-agent.d.ts +4 -0
  187. package/dist/tools/update-agent.d.ts.map +1 -0
  188. package/dist/tools/update-agent.js +178 -0
  189. package/dist/tools/update-agent.js.map +1 -0
  190. package/dist/tools/update-workflow.d.ts +201 -0
  191. package/dist/tools/update-workflow.d.ts.map +1 -0
  192. package/dist/tools/update-workflow.js +168 -0
  193. package/dist/tools/update-workflow.js.map +1 -0
  194. package/dist/tools/upload-file.d.ts.map +1 -1
  195. package/dist/tools/upload-file.js +4 -3
  196. package/dist/tools/upload-file.js.map +1 -1
  197. package/dist/tools/wait-for-workflow-run.d.ts +259 -0
  198. package/dist/tools/wait-for-workflow-run.d.ts.map +1 -0
  199. package/dist/tools/wait-for-workflow-run.js +190 -0
  200. package/dist/tools/wait-for-workflow-run.js.map +1 -0
  201. package/dist/types.d.ts +12 -0
  202. package/dist/types.d.ts.map +1 -1
  203. package/dist/types.js.map +1 -1
  204. package/dist/utils/agent-catalog.d.ts +1256 -0
  205. package/dist/utils/agent-catalog.d.ts.map +1 -0
  206. package/dist/utils/agent-catalog.js +388 -0
  207. package/dist/utils/agent-catalog.js.map +1 -0
  208. package/dist/utils/agent-config.d.ts +441 -0
  209. package/dist/utils/agent-config.d.ts.map +1 -0
  210. package/dist/utils/agent-config.js +1667 -0
  211. package/dist/utils/agent-config.js.map +1 -0
  212. package/dist/utils/agent-message.d.ts +115 -0
  213. package/dist/utils/agent-message.d.ts.map +1 -0
  214. package/dist/utils/agent-message.js +246 -0
  215. package/dist/utils/agent-message.js.map +1 -0
  216. package/dist/utils/agent-targets.d.ts +76 -0
  217. package/dist/utils/agent-targets.d.ts.map +1 -0
  218. package/dist/utils/agent-targets.js +408 -0
  219. package/dist/utils/agent-targets.js.map +1 -0
  220. package/dist/utils/agent-turns.d.ts +354 -0
  221. package/dist/utils/agent-turns.d.ts.map +1 -0
  222. package/dist/utils/agent-turns.js +623 -0
  223. package/dist/utils/agent-turns.js.map +1 -0
  224. package/dist/utils/api.d.ts +40 -0
  225. package/dist/utils/api.d.ts.map +1 -0
  226. package/dist/utils/api.js +111 -0
  227. package/dist/utils/api.js.map +1 -0
  228. package/dist/utils/format.d.ts +38 -1
  229. package/dist/utils/format.d.ts.map +1 -1
  230. package/dist/utils/format.js +162 -13
  231. package/dist/utils/format.js.map +1 -1
  232. package/dist/utils/media.d.ts +28 -0
  233. package/dist/utils/media.d.ts.map +1 -0
  234. package/dist/utils/media.js +65 -0
  235. package/dist/utils/media.js.map +1 -0
  236. package/dist/utils/poll.d.ts +39 -0
  237. package/dist/utils/poll.d.ts.map +1 -0
  238. package/dist/utils/poll.js +111 -0
  239. package/dist/utils/poll.js.map +1 -0
  240. package/dist/utils/remote-file.js +2 -2
  241. package/dist/utils/remote-file.js.map +1 -1
  242. package/dist/utils/structured.d.ts +2 -0
  243. package/dist/utils/structured.d.ts.map +1 -1
  244. package/dist/utils/structured.js +9 -6
  245. package/dist/utils/structured.js.map +1 -1
  246. package/dist/utils/studio-runs.d.ts +87 -0
  247. package/dist/utils/studio-runs.d.ts.map +1 -0
  248. package/dist/utils/studio-runs.js +167 -0
  249. package/dist/utils/studio-runs.js.map +1 -0
  250. package/dist/utils/user-agent.d.ts +1140 -0
  251. package/dist/utils/user-agent.d.ts.map +1 -0
  252. package/dist/utils/user-agent.js +802 -0
  253. package/dist/utils/user-agent.js.map +1 -0
  254. package/dist/utils/workflow-agent.d.ts +151 -0
  255. package/dist/utils/workflow-agent.d.ts.map +1 -0
  256. package/dist/utils/workflow-agent.js +292 -0
  257. package/dist/utils/workflow-agent.js.map +1 -0
  258. package/dist/utils/workflow-artifacts.d.ts +160 -0
  259. package/dist/utils/workflow-artifacts.d.ts.map +1 -0
  260. package/dist/utils/workflow-artifacts.js +801 -0
  261. package/dist/utils/workflow-artifacts.js.map +1 -0
  262. package/dist/utils/workflow-save.d.ts +123 -0
  263. package/dist/utils/workflow-save.d.ts.map +1 -0
  264. package/dist/utils/workflow-save.js +734 -0
  265. package/dist/utils/workflow-save.js.map +1 -0
  266. package/dist/utils/workflow.d.ts +559 -0
  267. package/dist/utils/workflow.d.ts.map +1 -0
  268. package/dist/utils/workflow.js +613 -0
  269. package/dist/utils/workflow.js.map +1 -0
  270. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../../src/utils/user-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { z } from 'zod';
2
+ import type { WiroClient } from '../client.js';
3
+ import { type WorkflowListRequest } from './workflow-artifacts.js';
4
+ export declare const WORKFLOW_CONTEXT_MAX_BYTES: number;
5
+ export interface WorkflowAgentContext {
6
+ protocolVersion: 1;
7
+ source: {
8
+ slug: string;
9
+ slugid: string;
10
+ fullSlug: string;
11
+ title: string;
12
+ description: string;
13
+ updatetime: string;
14
+ workspace: 'personal' | 'team';
15
+ };
16
+ contents: Record<string, unknown>;
17
+ }
18
+ export declare const attachedWorkflowSchema: z.ZodObject<{
19
+ fullSlug: z.ZodString;
20
+ title: z.ZodOptional<z.ZodString>;
21
+ updatetime: z.ZodString;
22
+ url: z.ZodString;
23
+ }, "strip", z.ZodTypeAny, {
24
+ url: string;
25
+ fullSlug: string;
26
+ updatetime: string;
27
+ title?: string | undefined;
28
+ }, {
29
+ url: string;
30
+ fullSlug: string;
31
+ updatetime: string;
32
+ title?: string | undefined;
33
+ }>;
34
+ export type AttachedWorkflow = z.infer<typeof attachedWorkflowSchema>;
35
+ export declare const workflowArtifactSummarySchema: z.ZodObject<{
36
+ index: z.ZodNumber;
37
+ status: z.ZodEnum<["valid", "invalid", "oversize", "incomplete"]>;
38
+ valid: z.ZodBoolean;
39
+ artifactHash: z.ZodOptional<z.ZodString>;
40
+ title: z.ZodOptional<z.ZodString>;
41
+ description: z.ZodOptional<z.ZodString>;
42
+ nodeCount: z.ZodOptional<z.ZodNumber>;
43
+ models: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
44
+ issues: z.ZodArray<z.ZodString, "many">;
45
+ issueCount: z.ZodNumber;
46
+ }, "strip", z.ZodTypeAny, {
47
+ status: "incomplete" | "valid" | "invalid" | "oversize";
48
+ valid: boolean;
49
+ issues: string[];
50
+ index: number;
51
+ issueCount: number;
52
+ description?: string | undefined;
53
+ title?: string | undefined;
54
+ models?: string[] | undefined;
55
+ artifactHash?: string | undefined;
56
+ nodeCount?: number | undefined;
57
+ }, {
58
+ status: "incomplete" | "valid" | "invalid" | "oversize";
59
+ valid: boolean;
60
+ issues: string[];
61
+ index: number;
62
+ issueCount: number;
63
+ description?: string | undefined;
64
+ title?: string | undefined;
65
+ models?: string[] | undefined;
66
+ artifactHash?: string | undefined;
67
+ nodeCount?: number | undefined;
68
+ }>;
69
+ export type WorkflowArtifactSummary = z.infer<typeof workflowArtifactSummarySchema>;
70
+ /** "models `a`, `b`" for a proposal's summary line, or '' when it names no model. */
71
+ export declare function workflowModelsText(summary: Pick<WorkflowArtifactSummary, 'models'>): string;
72
+ export declare const workflowListResultSchema: z.ZodObject<{
73
+ search: z.ZodOptional<z.ZodString>;
74
+ limit: z.ZodNumber;
75
+ total: z.ZodOptional<z.ZodNumber>;
76
+ rows: z.ZodArray<z.ZodObject<{
77
+ title: z.ZodString;
78
+ fullSlug: z.ZodString;
79
+ updatedAt: z.ZodOptional<z.ZodString>;
80
+ url: z.ZodString;
81
+ }, "strip", z.ZodTypeAny, {
82
+ title: string;
83
+ url: string;
84
+ fullSlug: string;
85
+ updatedAt?: string | undefined;
86
+ }, {
87
+ title: string;
88
+ url: string;
89
+ fullSlug: string;
90
+ updatedAt?: string | undefined;
91
+ }>, "many">;
92
+ instruction: z.ZodString;
93
+ error: z.ZodOptional<z.ZodString>;
94
+ }, "strip", z.ZodTypeAny, {
95
+ limit: number;
96
+ rows: {
97
+ title: string;
98
+ url: string;
99
+ fullSlug: string;
100
+ updatedAt?: string | undefined;
101
+ }[];
102
+ instruction: string;
103
+ error?: string | undefined;
104
+ search?: string | undefined;
105
+ total?: number | undefined;
106
+ }, {
107
+ limit: number;
108
+ rows: {
109
+ title: string;
110
+ url: string;
111
+ fullSlug: string;
112
+ updatedAt?: string | undefined;
113
+ }[];
114
+ instruction: string;
115
+ error?: string | undefined;
116
+ search?: string | undefined;
117
+ total?: number | undefined;
118
+ }>;
119
+ export type WorkflowListResult = z.infer<typeof workflowListResultSchema>;
120
+ /** A full slug ("my-flow-a1B2c") from a slug or a wiro.ai workflow URL. */
121
+ export declare function parseWorkflowReference(reference: string): string;
122
+ export declare function workflowUrl(fullSlug: string): string;
123
+ /**
124
+ * The workflow a message was sent with, carried from send_agent_message to
125
+ * get_agent_message so the save step still applies the proposal to it.
126
+ */
127
+ export declare function carriedAttachedWorkflow(workflow: string | undefined, loadedUpdatetime: string | undefined): AttachedWorkflow | undefined;
128
+ /**
129
+ * The envelope the Workflow Agent reads as "the workflow being edited". Saved
130
+ * Start values are the user's data and never reach the agent.
131
+ */
132
+ export declare function buildWorkflowAgentContext(row: Record<string, unknown>): {
133
+ context: WorkflowAgentContext;
134
+ workflow: AttachedWorkflow & {
135
+ title: string;
136
+ };
137
+ };
138
+ export declare function loadWorkflowAgentContext(client: WiroClient, reference: string, signal?: AbortSignal): Promise<ReturnType<typeof buildWorkflowAgentContext>>;
139
+ export interface WorkflowReplySummary {
140
+ prose: string;
141
+ workflows: WorkflowArtifactSummary[];
142
+ listRequest?: WorkflowListRequest;
143
+ }
144
+ /** Prose, artifact summaries and the first valid list request of one reply. */
145
+ export declare function summarizeWorkflowReply(text: string): WorkflowReplySummary;
146
+ /** Text without the fenced blocks, for replies that are still being written. */
147
+ export declare function workflowReplyProse(text: string): string;
148
+ export declare function workflowListInstruction(session: string): string;
149
+ /** Runs the agent's read-only workflow.list request once, the way wiro.ai does. */
150
+ export declare function listWorkflowsForAgent(client: WiroClient, request: WorkflowListRequest, session: string, signal?: AbortSignal): Promise<WorkflowListResult>;
151
+ //# sourceMappingURL=workflow-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-agent.d.ts","sourceRoot":"","sources":["../../src/utils/workflow-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,292 @@
1
+ import { z } from 'zod';
2
+ import { asString, isPlainObject, requireApiSuccess, toNumber, unixToIso, } from './api.js';
3
+ import { WORKFLOW_LIST_LIMIT_MAX, WORKFLOW_LIST_LIMIT_MIN, WORKFLOW_LIST_SEARCH_MAX_LENGTH, WORKFLOW_TOOL_PATTERN, parseAgentChatArtifacts, utf8ByteLength, } from './workflow-artifacts.js';
4
+ // The Workflow Agent cannot read or save the user's workflows itself. The
5
+ // caller attaches the workflow to edit, reads the artifacts out of the reply,
6
+ // and runs the one read-only "list my workflows" request the agent may make.
7
+ export const WORKFLOW_CONTEXT_MAX_BYTES = 40 * 1024;
8
+ const WORKFLOW_URL_BASE = 'https://wiro.ai/workflows/';
9
+ const FULL_SLUG_PATTERN = /^[A-Za-z0-9-]+-[A-Za-z0-9]{5}$/;
10
+ const MAX_ISSUES = 4;
11
+ export const attachedWorkflowSchema = z.object({
12
+ fullSlug: z.string(),
13
+ // Known when the workflow was attached; get_agent_message only carries the slug along.
14
+ title: z.string().optional(),
15
+ updatetime: z.string(),
16
+ url: z.string(),
17
+ });
18
+ export const workflowArtifactSummarySchema = z.object({
19
+ index: z.number().int().nonnegative(),
20
+ status: z.enum(['valid', 'invalid', 'oversize', 'incomplete']),
21
+ valid: z.boolean(),
22
+ artifactHash: z.string().optional(),
23
+ title: z.string().optional(),
24
+ description: z.string().optional(),
25
+ nodeCount: z.number().int().nonnegative().optional(),
26
+ // The models its steps run (owner/model slugs); utility steps are left out.
27
+ models: z.array(z.string()).optional(),
28
+ issues: z.array(z.string()),
29
+ issueCount: z.number().int().nonnegative(),
30
+ });
31
+ /** "models `a`, `b`" for a proposal's summary line, or '' when it names no model. */
32
+ export function workflowModelsText(summary) {
33
+ return summary.models?.length ? `models ${summary.models.map(model => `\`${model}\``).join(', ')}` : '';
34
+ }
35
+ export const workflowListResultSchema = z.object({
36
+ search: z.string().optional(),
37
+ limit: z.number().int().positive(),
38
+ total: z.number().int().nonnegative().optional(),
39
+ rows: z.array(z.object({
40
+ title: z.string(),
41
+ fullSlug: z.string(),
42
+ updatedAt: z.string().optional(),
43
+ url: z.string(),
44
+ })),
45
+ instruction: z.string(),
46
+ error: z.string().optional(),
47
+ });
48
+ /** A full slug ("my-flow-a1B2c") from a slug or a wiro.ai workflow URL. */
49
+ export function parseWorkflowReference(reference) {
50
+ const value = reference.trim();
51
+ let candidate = value;
52
+ if (/^https?:\/\//i.test(value)) {
53
+ let segments = [];
54
+ try {
55
+ segments = new URL(value).pathname.split('/').filter(Boolean).map(decodeURIComponent);
56
+ }
57
+ catch {
58
+ segments = [];
59
+ }
60
+ const marker = segments.findIndex(segment => segment === 'workflows' || segment === 'workflow');
61
+ candidate = (marker >= 0 ? segments[marker + 1] : segments[segments.length - 1]) ?? '';
62
+ }
63
+ if (!FULL_SLUG_PATTERN.test(candidate) || candidate.length > 360) {
64
+ throw new Error('workflow must be a full workflow slug such as "product-shots-a1B2c" (from list_workflows) '
65
+ + 'or a wiro.ai/workflows/... link.');
66
+ }
67
+ return candidate;
68
+ }
69
+ export function workflowUrl(fullSlug) {
70
+ return `${WORKFLOW_URL_BASE}${fullSlug}`;
71
+ }
72
+ /**
73
+ * The workflow a message was sent with, carried from send_agent_message to
74
+ * get_agent_message so the save step still applies the proposal to it.
75
+ */
76
+ export function carriedAttachedWorkflow(workflow, loadedUpdatetime) {
77
+ const updatetime = loadedUpdatetime?.trim() ?? '';
78
+ if (!workflow?.trim() && !updatetime)
79
+ return undefined;
80
+ if (!workflow?.trim() || !updatetime) {
81
+ throw new Error('Pass workflow and loaded_updatetime together, both from the attachedWorkflow that '
82
+ + 'send_agent_message returned for this message.');
83
+ }
84
+ const fullSlug = parseWorkflowReference(workflow);
85
+ return { fullSlug, updatetime, url: workflowUrl(fullSlug) };
86
+ }
87
+ function parseContents(value) {
88
+ let parsed = value;
89
+ if (typeof parsed === 'string') {
90
+ try {
91
+ parsed = JSON.parse(parsed);
92
+ }
93
+ catch {
94
+ return null;
95
+ }
96
+ }
97
+ if (!isPlainObject(parsed))
98
+ return null;
99
+ return JSON.parse(JSON.stringify(parsed));
100
+ }
101
+ /**
102
+ * The envelope the Workflow Agent reads as "the workflow being edited". Saved
103
+ * Start values are the user's data and never reach the agent.
104
+ */
105
+ export function buildWorkflowAgentContext(row) {
106
+ const slug = asString(row.slug) ?? '';
107
+ const slugid = asString(row.slugid) ?? '';
108
+ if (!slug || !slugid)
109
+ throw new Error('The workflow came back without its slug, so it cannot be attached.');
110
+ // A protected copy arrives with its graph removed; the agent would edit an empty shell.
111
+ if (row.estimatedcost !== undefined && row.estimatedcost !== null) {
112
+ throw new Error('This workflow is a protected copy. Its graph is hidden, so the Workflow Agent cannot edit it.');
113
+ }
114
+ const contents = parseContents(row.contents);
115
+ if (!contents)
116
+ throw new Error('The workflow has no readable definition, so it cannot be attached.');
117
+ if (isPlainObject(contents.metadata)) {
118
+ if (isPlainObject(contents.metadata.input))
119
+ delete contents.metadata.input.values;
120
+ delete contents.metadata.browser;
121
+ delete contents.metadata.browserState;
122
+ delete contents.metadata.runtime;
123
+ }
124
+ const fullSlug = `${slug}-${slugid}`;
125
+ const title = asString(row.title) ?? fullSlug;
126
+ const updatetime = asString(row.updatetime) ?? '';
127
+ if (!updatetime)
128
+ throw new Error('The workflow came back without its update time, so it cannot be attached.');
129
+ // The agent refuses a source whose title or description is longer than these.
130
+ const context = {
131
+ protocolVersion: 1,
132
+ source: {
133
+ slug,
134
+ slugid,
135
+ fullSlug,
136
+ title: title.slice(0, 300),
137
+ description: (asString(row.description) ?? '').slice(0, 2_000),
138
+ updatetime,
139
+ workspace: asString(row.teamguid) ? 'team' : 'personal',
140
+ },
141
+ contents,
142
+ };
143
+ if (utf8ByteLength(JSON.stringify(context)) > WORKFLOW_CONTEXT_MAX_BYTES) {
144
+ throw new Error('This workflow is too large for the Workflow Agent to edit: its definition is over 40 KB.');
145
+ }
146
+ return { context, workflow: { fullSlug, title, updatetime, url: workflowUrl(fullSlug) } };
147
+ }
148
+ export async function loadWorkflowAgentContext(client, reference, signal) {
149
+ const slug = parseWorkflowReference(reference);
150
+ const body = requireApiSuccess(await client.post('/Workflow/Detail', { slug }, signal), 'Could not load the workflow.');
151
+ const row = Array.isArray(body.workflow) ? body.workflow[0] : undefined;
152
+ if (!isPlainObject(row))
153
+ throw new Error(`Workflow "${slug}" was not found.`);
154
+ return buildWorkflowAgentContext(row);
155
+ }
156
+ // ─── Reading a reply ────────────────────────────────────────────────
157
+ /**
158
+ * The distinct models a graph's steps run, without the workflow-utilities
159
+ * steps. An invalid proposal is read from its raw JSON, so only values shaped
160
+ * like an owner/model slug are kept.
161
+ */
162
+ function stepModels(nodes) {
163
+ const models = [];
164
+ for (const node of Object.values(nodes)) {
165
+ const tool = isPlainObject(node) && typeof node.tool === 'string' ? node.tool.trim() : '';
166
+ if (WORKFLOW_TOOL_PATTERN.test(tool) && !tool.startsWith('workflow-utilities/') && !models.includes(tool)) {
167
+ models.push(tool);
168
+ }
169
+ }
170
+ return models;
171
+ }
172
+ function rawArtifactPreview(raw) {
173
+ if (!raw)
174
+ return {};
175
+ try {
176
+ const parsed = JSON.parse(raw);
177
+ if (!isPlainObject(parsed))
178
+ return {};
179
+ const title = typeof parsed.title === 'string' && parsed.title.trim()
180
+ ? parsed.title.trim().slice(0, 160)
181
+ : undefined;
182
+ const nodes = isPlainObject(parsed.contents) && isPlainObject(parsed.contents.nodes)
183
+ ? parsed.contents.nodes
184
+ : undefined;
185
+ return {
186
+ ...(title ? { title } : {}),
187
+ ...(nodes ? { nodeCount: Object.keys(nodes).filter(key => key !== 'output').length, models: stepModels(nodes) } : {}),
188
+ };
189
+ }
190
+ catch {
191
+ return {};
192
+ }
193
+ }
194
+ function summarizeArtifact(segment, index) {
195
+ const messages = segment.issues.map(issue => (issue.path && issue.path !== '$'
196
+ ? `${issue.message} (at ${issue.path})`
197
+ : issue.message));
198
+ if (segment.status === 'incomplete') {
199
+ messages.unshift('The workflow response ended before its JSON artifact was complete.');
200
+ }
201
+ const artifact = segment.artifact;
202
+ const preview = artifact ? {} : rawArtifactPreview(segment.raw);
203
+ const nodeCount = artifact
204
+ ? Object.keys(artifact.contents.nodes).filter(key => key !== 'output').length
205
+ : preview.nodeCount;
206
+ const models = artifact ? stepModels(artifact.contents.nodes) : preview.models;
207
+ return {
208
+ index,
209
+ status: segment.status,
210
+ valid: segment.status === 'valid' && segment.issues.length === 0,
211
+ ...(segment.artifactHash ? { artifactHash: segment.artifactHash } : {}),
212
+ ...(artifact?.title ?? preview.title ? { title: artifact?.title ?? preview.title } : {}),
213
+ ...(artifact?.description ? { description: artifact.description } : {}),
214
+ ...(nodeCount !== undefined ? { nodeCount } : {}),
215
+ ...(models !== undefined ? { models } : {}),
216
+ issues: messages.slice(0, MAX_ISSUES),
217
+ issueCount: messages.length,
218
+ };
219
+ }
220
+ /** Prose, artifact summaries and the first valid list request of one reply. */
221
+ export function summarizeWorkflowReply(text) {
222
+ const parsed = parseAgentChatArtifacts(text);
223
+ const request = parsed.requests.find(segment => segment.status === 'valid'
224
+ && segment.issues.length === 0
225
+ && segment.request !== undefined);
226
+ return {
227
+ prose: parsed.prose,
228
+ workflows: parsed.artifacts.map((segment, index) => summarizeArtifact(segment, index)),
229
+ ...(request?.request ? { listRequest: request.request } : {}),
230
+ };
231
+ }
232
+ /** Text without the fenced blocks, for replies that are still being written. */
233
+ export function workflowReplyProse(text) {
234
+ return parseAgentChatArtifacts(text).prose;
235
+ }
236
+ export function workflowListInstruction(session) {
237
+ return 'To edit one of these, call send_agent_message again with agent "workflow-agent", '
238
+ + `session "${session}", workflow set to its fullSlug and the edit request. Ask the user when it is `
239
+ + 'not clear which workflow they mean.';
240
+ }
241
+ /** Runs the agent's read-only workflow.list request once, the way wiro.ai does. */
242
+ export async function listWorkflowsForAgent(client, request, session, signal) {
243
+ const search = String(request.args.search ?? '').trim().slice(0, WORKFLOW_LIST_SEARCH_MAX_LENGTH);
244
+ const limit = Math.min(WORKFLOW_LIST_LIMIT_MAX, Math.max(WORKFLOW_LIST_LIMIT_MIN, Number(request.args.limit) || WORKFLOW_LIST_LIMIT_MAX));
245
+ const base = {
246
+ ...(search ? { search } : {}),
247
+ limit,
248
+ instruction: workflowListInstruction(session),
249
+ };
250
+ try {
251
+ const body = requireApiSuccess(await client.post('/Workflow/List', {
252
+ scope: 'my',
253
+ start: '0',
254
+ limit: String(limit),
255
+ summary: true,
256
+ sort: 'updatetime',
257
+ order: 'DESC',
258
+ ...(search ? { search } : {}),
259
+ }, signal), 'Could not load your workflows.');
260
+ const listed = Array.isArray(body.workflow) ? body.workflow.filter(isPlainObject) : [];
261
+ // Protected copies hide their graph, so the agent could not edit them.
262
+ const visible = listed.filter(row => !((toNumber(row.clonedfromid) ?? 0) > 0 && toNumber(row.isprotected) === 1));
263
+ const rows = visible
264
+ .map(row => {
265
+ const slug = asString(row.slug) ?? '';
266
+ const slugid = asString(row.slugid) ?? '';
267
+ const fullSlug = slugid ? `${slug}-${slugid}` : slug;
268
+ const updatedAt = unixToIso(row.updatetime);
269
+ return {
270
+ title: asString(row.title) ?? fullSlug,
271
+ fullSlug,
272
+ ...(updatedAt ? { updatedAt } : {}),
273
+ url: workflowUrl(fullSlug),
274
+ };
275
+ })
276
+ .filter(row => row.fullSlug);
277
+ const serverTotal = toNumber(body.total) ?? listed.length;
278
+ return {
279
+ ...base,
280
+ total: Math.max(rows.length, serverTotal - (listed.length - visible.length)),
281
+ rows,
282
+ };
283
+ }
284
+ catch (error) {
285
+ return {
286
+ ...base,
287
+ rows: [],
288
+ error: error instanceof Error ? error.message : String(error),
289
+ };
290
+ }
291
+ }
292
+ //# sourceMappingURL=workflow-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-agent.js","sourceRoot":"","sources":["../../src/utils/workflow-agent.ts"],"names":[],"mappings":"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"}