@wiro-ai/wiro-mcp 1.4.1 → 1.5.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 (226) hide show
  1. package/README.md +38 -15
  2. package/dist/client.d.ts +19 -6
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +44 -27
  5. package/dist/client.js.map +1 -1
  6. package/dist/instructions.d.ts.map +1 -1
  7. package/dist/instructions.js +7 -4
  8. package/dist/instructions.js.map +1 -1
  9. package/dist/playbooks.d.ts.map +1 -1
  10. package/dist/playbooks.js +45 -34
  11. package/dist/playbooks.js.map +1 -1
  12. package/dist/prompts.d.ts.map +1 -1
  13. package/dist/prompts.js +3 -2
  14. package/dist/prompts.js.map +1 -1
  15. package/dist/tools/apply-agent-skills.d.ts.map +1 -1
  16. package/dist/tools/apply-agent-skills.js +343 -87
  17. package/dist/tools/apply-agent-skills.js.map +1 -1
  18. package/dist/tools/bind-agent-project.d.ts +4 -0
  19. package/dist/tools/bind-agent-project.d.ts.map +1 -0
  20. package/dist/tools/bind-agent-project.js +403 -0
  21. package/dist/tools/bind-agent-project.js.map +1 -0
  22. package/dist/tools/cancel-agent-message.d.ts.map +1 -1
  23. package/dist/tools/cancel-agent-message.js +6 -3
  24. package/dist/tools/cancel-agent-message.js.map +1 -1
  25. package/dist/tools/cancel-task.js +3 -3
  26. package/dist/tools/cancel-task.js.map +1 -1
  27. package/dist/tools/clone-workflow.d.ts.map +1 -1
  28. package/dist/tools/clone-workflow.js +5 -4
  29. package/dist/tools/clone-workflow.js.map +1 -1
  30. package/dist/tools/connect-agent-oauth.d.ts.map +1 -1
  31. package/dist/tools/connect-agent-oauth.js +140 -40
  32. package/dist/tools/connect-agent-oauth.js.map +1 -1
  33. package/dist/tools/control-agent.d.ts.map +1 -1
  34. package/dist/tools/control-agent.js +109 -36
  35. package/dist/tools/control-agent.js.map +1 -1
  36. package/dist/tools/create-workflow.d.ts +3 -0
  37. package/dist/tools/create-workflow.d.ts.map +1 -1
  38. package/dist/tools/create-workflow.js +12 -11
  39. package/dist/tools/create-workflow.js.map +1 -1
  40. package/dist/tools/delete-agent-session.d.ts.map +1 -1
  41. package/dist/tools/delete-agent-session.js +18 -12
  42. package/dist/tools/delete-agent-session.js.map +1 -1
  43. package/dist/tools/delete-agent.d.ts.map +1 -1
  44. package/dist/tools/delete-agent.js +12 -9
  45. package/dist/tools/delete-agent.js.map +1 -1
  46. package/dist/tools/delete-workflow.d.ts.map +1 -1
  47. package/dist/tools/delete-workflow.js +5 -4
  48. package/dist/tools/delete-workflow.js.map +1 -1
  49. package/dist/tools/deploy-agent.d.ts.map +1 -1
  50. package/dist/tools/deploy-agent.js +200 -40
  51. package/dist/tools/deploy-agent.js.map +1 -1
  52. package/dist/tools/disconnect-agent-oauth.d.ts.map +1 -1
  53. package/dist/tools/disconnect-agent-oauth.js +32 -12
  54. package/dist/tools/disconnect-agent-oauth.js.map +1 -1
  55. package/dist/tools/get-account.d.ts.map +1 -1
  56. package/dist/tools/get-account.js +148 -42
  57. package/dist/tools/get-account.js.map +1 -1
  58. package/dist/tools/get-agent-activity.d.ts.map +1 -1
  59. package/dist/tools/get-agent-activity.js +185 -35
  60. package/dist/tools/get-agent-activity.js.map +1 -1
  61. package/dist/tools/get-agent-conversation.d.ts.map +1 -1
  62. package/dist/tools/get-agent-conversation.js +57 -35
  63. package/dist/tools/get-agent-conversation.js.map +1 -1
  64. package/dist/tools/get-agent-message.d.ts.map +1 -1
  65. package/dist/tools/get-agent-message.js +6 -4
  66. package/dist/tools/get-agent-message.js.map +1 -1
  67. package/dist/tools/get-agent-template.d.ts.map +1 -1
  68. package/dist/tools/get-agent-template.js +11 -16
  69. package/dist/tools/get-agent-template.js.map +1 -1
  70. package/dist/tools/get-model-schema.js +3 -3
  71. package/dist/tools/get-model-schema.js.map +1 -1
  72. package/dist/tools/get-my-agent.d.ts.map +1 -1
  73. package/dist/tools/get-my-agent.js +11 -7
  74. package/dist/tools/get-my-agent.js.map +1 -1
  75. package/dist/tools/get-playbook.d.ts.map +1 -1
  76. package/dist/tools/get-playbook.js +3 -2
  77. package/dist/tools/get-playbook.js.map +1 -1
  78. package/dist/tools/get-task-price.js +3 -3
  79. package/dist/tools/get-task-price.js.map +1 -1
  80. package/dist/tools/get-task.js +3 -3
  81. package/dist/tools/get-task.js.map +1 -1
  82. package/dist/tools/get-workflow.d.ts.map +1 -1
  83. package/dist/tools/get-workflow.js +38 -19
  84. package/dist/tools/get-workflow.js.map +1 -1
  85. package/dist/tools/index.d.ts +3 -1
  86. package/dist/tools/index.d.ts.map +1 -1
  87. package/dist/tools/index.js +6 -1
  88. package/dist/tools/index.js.map +1 -1
  89. package/dist/tools/kill-task.js +3 -3
  90. package/dist/tools/kill-task.js.map +1 -1
  91. package/dist/tools/list-agent-skills.d.ts.map +1 -1
  92. package/dist/tools/list-agent-skills.js +5 -4
  93. package/dist/tools/list-agent-skills.js.map +1 -1
  94. package/dist/tools/list-agent-templates.js +4 -4
  95. package/dist/tools/list-agent-templates.js.map +1 -1
  96. package/dist/tools/list-my-agents.d.ts.map +1 -1
  97. package/dist/tools/list-my-agents.js +11 -8
  98. package/dist/tools/list-my-agents.js.map +1 -1
  99. package/dist/tools/list-projects.d.ts +4 -0
  100. package/dist/tools/list-projects.d.ts.map +1 -0
  101. package/dist/tools/list-projects.js +141 -0
  102. package/dist/tools/list-projects.js.map +1 -0
  103. package/dist/tools/list-studio-results.js +3 -3
  104. package/dist/tools/list-studio-results.js.map +1 -1
  105. package/dist/tools/list-tasks.js +3 -3
  106. package/dist/tools/list-tasks.js.map +1 -1
  107. package/dist/tools/list-workflow-runs.d.ts.map +1 -1
  108. package/dist/tools/list-workflow-runs.js +6 -4
  109. package/dist/tools/list-workflow-runs.js.map +1 -1
  110. package/dist/tools/list-workflows.d.ts.map +1 -1
  111. package/dist/tools/list-workflows.js +7 -6
  112. package/dist/tools/list-workflows.js.map +1 -1
  113. package/dist/tools/manage-agent-billing.d.ts.map +1 -1
  114. package/dist/tools/manage-agent-billing.js +207 -59
  115. package/dist/tools/manage-agent-billing.js.map +1 -1
  116. package/dist/tools/manage-agent-custom-skill.d.ts.map +1 -1
  117. package/dist/tools/manage-agent-custom-skill.js +88 -12
  118. package/dist/tools/manage-agent-custom-skill.js.map +1 -1
  119. package/dist/tools/recommend-model.js +3 -3
  120. package/dist/tools/recommend-model.js.map +1 -1
  121. package/dist/tools/resume-workflow-run.d.ts.map +1 -1
  122. package/dist/tools/resume-workflow-run.js +3 -2
  123. package/dist/tools/resume-workflow-run.js.map +1 -1
  124. package/dist/tools/run-model.js +3 -3
  125. package/dist/tools/run-model.js.map +1 -1
  126. package/dist/tools/run-workflow.d.ts.map +1 -1
  127. package/dist/tools/run-workflow.js +3 -2
  128. package/dist/tools/run-workflow.js.map +1 -1
  129. package/dist/tools/save-workflow-from-agent.d.ts.map +1 -1
  130. package/dist/tools/save-workflow-from-agent.js +17 -12
  131. package/dist/tools/save-workflow-from-agent.js.map +1 -1
  132. package/dist/tools/schemas.d.ts +32 -26
  133. package/dist/tools/schemas.d.ts.map +1 -1
  134. package/dist/tools/schemas.js +67 -0
  135. package/dist/tools/schemas.js.map +1 -1
  136. package/dist/tools/search-docs.js +3 -3
  137. package/dist/tools/search-docs.js.map +1 -1
  138. package/dist/tools/search-models.js +3 -3
  139. package/dist/tools/search-models.js.map +1 -1
  140. package/dist/tools/send-agent-message.d.ts.map +1 -1
  141. package/dist/tools/send-agent-message.js +30 -9
  142. package/dist/tools/send-agent-message.js.map +1 -1
  143. package/dist/tools/set-agent-credentials.d.ts.map +1 -1
  144. package/dist/tools/set-agent-credentials.js +47 -57
  145. package/dist/tools/set-agent-credentials.js.map +1 -1
  146. package/dist/tools/update-agent.d.ts.map +1 -1
  147. package/dist/tools/update-agent.js +56 -19
  148. package/dist/tools/update-agent.js.map +1 -1
  149. package/dist/tools/update-workflow.d.ts +199 -0
  150. package/dist/tools/update-workflow.d.ts.map +1 -1
  151. package/dist/tools/update-workflow.js +20 -7
  152. package/dist/tools/update-workflow.js.map +1 -1
  153. package/dist/tools/upload-file.js +3 -3
  154. package/dist/tools/upload-file.js.map +1 -1
  155. package/dist/tools/wait-for-task.js +3 -3
  156. package/dist/tools/wait-for-task.js.map +1 -1
  157. package/dist/tools/wait-for-workflow-run.d.ts +3 -3
  158. package/dist/tools/wait-for-workflow-run.d.ts.map +1 -1
  159. package/dist/tools/wait-for-workflow-run.js +7 -6
  160. package/dist/tools/wait-for-workflow-run.js.map +1 -1
  161. package/dist/utils/agent-catalog.d.ts +29 -0
  162. package/dist/utils/agent-catalog.d.ts.map +1 -1
  163. package/dist/utils/agent-catalog.js +28 -7
  164. package/dist/utils/agent-catalog.js.map +1 -1
  165. package/dist/utils/agent-config.d.ts +109 -8
  166. package/dist/utils/agent-config.d.ts.map +1 -1
  167. package/dist/utils/agent-config.js +286 -45
  168. package/dist/utils/agent-config.js.map +1 -1
  169. package/dist/utils/agent-message.d.ts +36 -14
  170. package/dist/utils/agent-message.d.ts.map +1 -1
  171. package/dist/utils/agent-message.js +92 -26
  172. package/dist/utils/agent-message.js.map +1 -1
  173. package/dist/utils/agent-targets.d.ts +7 -3
  174. package/dist/utils/agent-targets.d.ts.map +1 -1
  175. package/dist/utils/agent-targets.js +35 -23
  176. package/dist/utils/agent-targets.js.map +1 -1
  177. package/dist/utils/agent-turns.d.ts +19 -12
  178. package/dist/utils/agent-turns.d.ts.map +1 -1
  179. package/dist/utils/agent-turns.js +97 -15
  180. package/dist/utils/agent-turns.js.map +1 -1
  181. package/dist/utils/api.d.ts +6 -0
  182. package/dist/utils/api.d.ts.map +1 -1
  183. package/dist/utils/api.js +22 -1
  184. package/dist/utils/api.js.map +1 -1
  185. package/dist/utils/format.d.ts.map +1 -1
  186. package/dist/utils/format.js +7 -13
  187. package/dist/utils/format.js.map +1 -1
  188. package/dist/utils/json-schema-dialect.d.ts.map +1 -1
  189. package/dist/utils/json-schema-dialect.js +4 -0
  190. package/dist/utils/json-schema-dialect.js.map +1 -1
  191. package/dist/utils/media.d.ts +8 -0
  192. package/dist/utils/media.d.ts.map +1 -1
  193. package/dist/utils/media.js +29 -0
  194. package/dist/utils/media.js.map +1 -1
  195. package/dist/utils/poll.d.ts +5 -2
  196. package/dist/utils/poll.d.ts.map +1 -1
  197. package/dist/utils/poll.js +10 -9
  198. package/dist/utils/poll.js.map +1 -1
  199. package/dist/utils/quoted-text.d.ts +28 -0
  200. package/dist/utils/quoted-text.d.ts.map +1 -0
  201. package/dist/utils/quoted-text.js +64 -0
  202. package/dist/utils/quoted-text.js.map +1 -0
  203. package/dist/utils/studio-runs.d.ts.map +1 -1
  204. package/dist/utils/studio-runs.js +7 -4
  205. package/dist/utils/studio-runs.js.map +1 -1
  206. package/dist/utils/user-agent.d.ts +101 -25
  207. package/dist/utils/user-agent.d.ts.map +1 -1
  208. package/dist/utils/user-agent.js +160 -42
  209. package/dist/utils/user-agent.js.map +1 -1
  210. package/dist/utils/wiro-project.d.ts +45 -0
  211. package/dist/utils/wiro-project.d.ts.map +1 -0
  212. package/dist/utils/wiro-project.js +66 -0
  213. package/dist/utils/wiro-project.js.map +1 -0
  214. package/dist/utils/workflow-save.d.ts +22 -1
  215. package/dist/utils/workflow-save.d.ts.map +1 -1
  216. package/dist/utils/workflow-save.js +122 -24
  217. package/dist/utils/workflow-save.js.map +1 -1
  218. package/dist/utils/workflow.d.ts +26 -13
  219. package/dist/utils/workflow.d.ts.map +1 -1
  220. package/dist/utils/workflow.js +51 -20
  221. package/dist/utils/workflow.js.map +1 -1
  222. package/dist/utils/workspace.d.ts +30 -4
  223. package/dist/utils/workspace.d.ts.map +1 -1
  224. package/dist/utils/workspace.js +95 -12
  225. package/dist/utils/workspace.js.map +1 -1
  226. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { errorResult, errorText, requireApiSuccess } from '../utils/api.js';
3
- import { loadCredentialMeta, readOAuthStatus, } from '../utils/agent-config.js';
4
- import { nextActionSchema } from './schemas.js';
2
+ import { ApiResultError, errorResult, errorText, requireApiSuccess } from '../utils/api.js';
3
+ import { CONNECTION_NOT_CLEARED, accountLabel, connectionRefusalText, loadCredentialMeta, readOAuthStatus, } from '../utils/agent-config.js';
4
+ import { nextActionSchema, strictInput } from './schemas.js';
5
5
  const accountSchema = z.object({ id: z.string(), name: z.string() });
6
6
  const outputSchema = {
7
7
  agentGuid: z.string(),
@@ -30,17 +30,17 @@ export function registerDisconnectAgentOauth(server, client) {
30
30
  + 'access where it supports that, scheduled tasks that need the integration stop running, '
31
31
  + 'and a running agent restarts. It cannot be undone; reconnect with connect_agent_oauth. '
32
32
  + 'For plain credentials such as Telegram, clear fields with set_agent_credentials instead.',
33
- inputSchema: {
33
+ inputSchema: strictInput({
34
34
  agent_guid: z.string().min(1).describe('The deployed agent\'s guid, from list_my_agents.'),
35
35
  credential: z.string().min(1).describe('The integration\'s credential key, for example "google-ads" or "meta-ads".'),
36
36
  confirm: z.boolean().default(false)
37
37
  .describe('false (default) only shows what would be removed. true disconnects.'),
38
- },
38
+ }),
39
39
  outputSchema,
40
40
  annotations: {
41
41
  readOnlyHint: false,
42
42
  destructiveHint: true,
43
- idempotentHint: true,
43
+ idempotentHint: false,
44
44
  openWorldHint: true,
45
45
  },
46
46
  }, async ({ agent_guid, credential: rawCredential, confirm }, extra) => {
@@ -66,7 +66,7 @@ export function registerDisconnectAgentOauth(server, client) {
66
66
  const connectedBefore = before ? before.connected || before.connectedAt !== '' : null;
67
67
  if (!confirm) {
68
68
  const message = connectedBefore
69
- ? `${meta.title} is connected${accounts.length > 0 ? ` for ${accounts.map(account => account.name || account.id).join(', ')}` : ''}. ${willClear}`
69
+ ? `${meta.title} is connected${accounts.length > 0 ? ` for ${accounts.map(accountLabel).join(', ')}` : ''}. ${willClear}`
70
70
  : `${meta.title} does not look connected on this agent. Disconnecting still clears any saved ${meta.title} settings.`;
71
71
  return {
72
72
  content: [{ type: 'text', text: `## Disconnect ${meta.title}?\n\n${message}\n\nNothing has changed yet. After the user agrees, call disconnect_agent_oauth again with confirm: true.` }],
@@ -87,10 +87,30 @@ export function registerDisconnectAgentOauth(server, client) {
87
87
  },
88
88
  };
89
89
  }
90
- requireApiSuccess(await client.post('/UserAgentOAuth/OAuthDisconnect', {
91
- useragentguid: agent_guid,
92
- credentialkey: credential,
93
- }, extra.signal), `Could not disconnect ${meta.title}.`);
90
+ try {
91
+ requireApiSuccess(await client.post('/UserAgentOAuth/OAuthDisconnect', {
92
+ useragentguid: agent_guid,
93
+ credentialkey: credential,
94
+ }, extra.signal), `Could not disconnect ${meta.title}.`);
95
+ }
96
+ catch (error) {
97
+ if (!(error instanceof ApiResultError) || error.message !== CONNECTION_NOT_CLEARED)
98
+ throw error;
99
+ return {
100
+ content: [{ type: 'text', text: `## Error\n\n${error.message}` }],
101
+ structuredContent: {
102
+ agentGuid: agent_guid,
103
+ credential,
104
+ title: meta.title,
105
+ disconnected: false,
106
+ connectedBefore,
107
+ accounts,
108
+ willClear,
109
+ message: error.message,
110
+ },
111
+ isError: true,
112
+ };
113
+ }
94
114
  const message = `${meta.title} is disconnected. ${willClear}`;
95
115
  return {
96
116
  content: [{ type: 'text', text: `## ${meta.title} disconnected\n\n${message}` }],
@@ -110,7 +130,7 @@ export function registerDisconnectAgentOauth(server, client) {
110
130
  const message = errorText(error);
111
131
  // The hint follows Wiro's message as a paragraph of its own, as in connect_agent_oauth.
112
132
  return errorResult(new Error(/not found or unauthorized/i.test(message)
113
- ? `${message}\n\nIntegrations can only be changed with a project created by the person who deployed the agent: connect this server with such a project, by its API key or a browser sign-in.`
133
+ ? await connectionRefusalText(client, agent_guid, message, 'changed', extra.signal)
114
134
  : message));
115
135
  }
116
136
  });
@@ -1 +1 @@
1
- {"version":3,"file":"disconnect-agent-oauth.js","sourceRoot":"","sources":["../../src/tools/disconnect-agent-oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"disconnect-agent-oauth.js","sourceRoot":"","sources":["../../src/tools/disconnect-agent-oauth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-account.d.ts","sourceRoot":"","sources":["../../src/tools/get-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAa/C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CA6G9E"}
1
+ {"version":3,"file":"get-account.d.ts","sourceRoot":"","sources":["../../src/tools/get-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA+I/C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CA2G9E"}
@@ -1,9 +1,112 @@
1
1
  import { z } from 'zod';
2
- import { asString, errorResult, requireApiSuccess } from '../utils/api.js';
3
- import { primaryWallet, readTeamMemberships } from '../utils/workspace.js';
4
- function money(value) {
5
- const parsed = typeof value === 'number' ? value : parseFloat(String(value ?? ''));
6
- return Number.isFinite(parsed) ? Math.round(parsed * 100) / 100 : 0;
2
+ import { asString, errorResult, errorText, isPlainObject, requireApiSuccess, toNumber, truncate, unixToIso, } from '../utils/api.js';
3
+ import { oneLine, quotedSpan } from '../utils/quoted-text.js';
4
+ import { primaryWallet, walletBalance, workspaceOfWallet } from '../utils/workspace.js';
5
+ import { strictInput } from './schemas.js';
6
+ const MAX_TRANSACTIONS = 50;
7
+ const DEFAULT_TRANSACTIONS = 20;
8
+ const TEXT_FIELD_MAX = 200;
9
+ // A row for an agent gives the agent's guid first.
10
+ const LEADING_GUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;
11
+ // A credit for an agent's skill change names the agent's guid first too. Other rows can start with a guid, so the ending matters.
12
+ const AGENT_CREDIT_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}(?=-[a-z-]+-credit-)/i;
13
+ const walletTransactionSchema = z.object({
14
+ time: z.string().optional(),
15
+ type: z.string().describe('The row\'s type as the wallet page names it, such as PAYMENT, PAYMENT (COUPON), DEPOSIT or TRANSFER IN.'),
16
+ direction: z.enum(['in', 'out']).describe('Whether the row adds to the wallet or takes from it.'),
17
+ amountUsd: z.number().describe('The amount in USD, always positive; direction gives the sign.'),
18
+ description: z.string().optional(),
19
+ model: z.string().optional(),
20
+ project: z.string().optional(),
21
+ store: z.string().optional(),
22
+ taskId: z.string().optional(),
23
+ agentGuid: z.string().optional(),
24
+ discountUsd: z.number().optional(),
25
+ expiresAt: z.string().optional().describe('For credit that can be spent only for a while: when it ends.'),
26
+ });
27
+ const transactionsSchema = z.object({
28
+ total: z.number().int().nonnegative(),
29
+ start: z.number().int().nonnegative(),
30
+ limit: z.number().int().positive(),
31
+ nextStart: z.number().int().nonnegative().nullable(),
32
+ rows: z.array(walletTransactionSchema),
33
+ });
34
+ function textField(value) {
35
+ const text = asString(value);
36
+ return text?.trim() ? truncate(oneLine(text), TEXT_FIELD_MAX) : undefined;
37
+ }
38
+ /** The type column gives a row's sign, as the wallet page reads it: a deduction takes from a deposit. */
39
+ function isIncoming(type) {
40
+ if (type.includes('DEDUCTION'))
41
+ return false;
42
+ return type.includes('DEPOSIT') || type.includes('REFUND') || type === 'TRANSFER IN';
43
+ }
44
+ /** A wallet row, rebuilt from an allowlist: what it was and how much. */
45
+ function toWalletTransaction(row) {
46
+ const type = asString(row.type) ?? 'UNKNOWN';
47
+ const time = unixToIso(row.time);
48
+ const description = textField(row.description);
49
+ const model = textField(row.modelname);
50
+ const project = textField(row.projectname);
51
+ const store = textField(row.storename);
52
+ const taskId = textField(row.taskid);
53
+ const agentGuid = LEADING_GUID.exec(asString(row.agentguid) ?? '')?.[0] ?? AGENT_CREDIT_ID.exec(asString(row.paymentid) ?? '')?.[0];
54
+ const discountUsd = Math.abs(toNumber(row.discountapplied) ?? 0);
55
+ const expiresAt = unixToIso(row.expirytime);
56
+ return {
57
+ ...(time ? { time } : {}),
58
+ type,
59
+ direction: isIncoming(type) ? 'in' : 'out',
60
+ amountUsd: Math.round(Math.abs(toNumber(row.amount) ?? 0) * 1e6) / 1e6,
61
+ ...(description ? { description } : {}),
62
+ ...(model ? { model } : {}),
63
+ ...(project ? { project } : {}),
64
+ ...(store ? { store } : {}),
65
+ ...(taskId ? { taskId } : {}),
66
+ ...(agentGuid ? { agentGuid } : {}),
67
+ ...(discountUsd > 0 ? { discountUsd: Math.round(discountUsd * 1e6) / 1e6 } : {}),
68
+ ...(expiresAt ? { expiresAt } : {}),
69
+ };
70
+ }
71
+ async function readTransactions(client, limit, start, signal) {
72
+ // "me" reads the wallet of the connected project's workspace, as the wallet page does.
73
+ const body = requireApiSuccess(await client.post('/Wallet/TransactionList', {
74
+ uuid: 'me',
75
+ type: 'all',
76
+ start,
77
+ limit,
78
+ }, signal), 'The wallet transactions could not be read.');
79
+ const rows = (Array.isArray(body.wallettransaction) ? body.wallettransaction : []).filter(isPlainObject).map(toWalletTransaction);
80
+ const total = toNumber(body.total) ?? start + rows.length;
81
+ return { total, start, limit, nextStart: start + rows.length < total && rows.length > 0 ? start + rows.length : null, rows };
82
+ }
83
+ /** Up to six decimals, as a model run can cost a fraction of a cent, and at least two. */
84
+ function transactionUsd(value) {
85
+ return `$${value.toFixed(6).replace(/0{1,4}$/, '')}`;
86
+ }
87
+ // Names and descriptions can be written by other people, such as a public workflow's title, so they stay in code spans.
88
+ function transactionLine(row) {
89
+ const details = [
90
+ row.description ? quotedSpan(row.description) : null,
91
+ row.model ? `model ${quotedSpan(row.model)}` : null,
92
+ row.project ? `project ${quotedSpan(row.project)}` : null,
93
+ row.store ? `store item ${quotedSpan(row.store)}` : null,
94
+ row.taskId ? `task ${quotedSpan(row.taskId)}` : null,
95
+ row.agentGuid ? `agent \`${row.agentGuid}\`` : null,
96
+ row.discountUsd ? `after a ${transactionUsd(row.discountUsd)} discount` : null,
97
+ row.expiresAt ? `can be spent until ${row.expiresAt}` : null,
98
+ ].filter(Boolean).join(', ');
99
+ return `- ${row.time ?? 'unknown time'} ${row.direction === 'in' ? '+' : '-'}${transactionUsd(row.amountUsd)} ${row.type}${details ? `: ${details}` : ''}`;
100
+ }
101
+ function transactionLines(transactions) {
102
+ const { rows, total, start, nextStart } = transactions;
103
+ const lines = ['', `### Recent transactions (${rows.length} of ${total}, newest first)`, ''];
104
+ if (rows.length === 0)
105
+ lines.push(start === 0 ? 'This wallet has no transactions yet.' : 'No more transactions.');
106
+ lines.push(...rows.map(transactionLine));
107
+ if (nextStart !== null)
108
+ lines.push('', `More transactions: call get_account with recent_transactions and transactions_start ${nextStart}.`);
109
+ return lines;
7
110
  }
8
111
  export function registerGetAccount(server, client) {
9
112
  server.registerTool('get_account', {
@@ -11,8 +114,16 @@ export function registerGetAccount(server, client) {
11
114
  description: 'Show which workspace the connected project belongs to (personal, or a team) and that '
12
115
  + 'workspace\'s wallet balance. Everything run or bought through this connection is charged to this '
13
116
  + 'wallet. In a team it also gives the team role calls act with, admin or member. Use it before paid '
14
- + 'work and when a call is refused for insufficient balance.',
15
- inputSchema: {},
117
+ + 'work and when a call is refused for insufficient balance. With recent_transactions it also lists the '
118
+ + 'wallet\'s latest transactions, the rows the Transactions page of the Wiro dashboard shows, which is how to '
119
+ + 'check that a charge or a credit landed. In a team the wallet is shared, so the list holds the activity of '
120
+ + 'the whole team.',
121
+ inputSchema: strictInput({
122
+ recent_transactions: z.number().int().min(1).max(MAX_TRANSACTIONS).optional()
123
+ .describe(`Also list this many of the wallet's latest transactions, newest first (1 to ${MAX_TRANSACTIONS}). Leave it out to read only the balance.`),
124
+ transactions_start: z.number().int().min(0).optional()
125
+ .describe(`How many of the latest rows to skip, from nextStart in the last answer. Without recent_transactions it lists ${DEFAULT_TRANSACTIONS} rows.`),
126
+ }),
16
127
  outputSchema: {
17
128
  workspace: z.object({
18
129
  kind: z.enum(['personal', 'team', 'unknown']),
@@ -28,6 +139,9 @@ export function registerGetAccount(server, client) {
28
139
  storeRevenueUsd: z.number(),
29
140
  }).nullable(),
30
141
  authMode: z.enum(['signature', 'apikey-only']),
142
+ transactions: transactionsSchema.optional(),
143
+ transactionsError: z.string().optional()
144
+ .describe('Why the transactions could not be read, when the balance could.'),
31
145
  },
32
146
  annotations: {
33
147
  readOnlyHint: true,
@@ -35,7 +149,7 @@ export function registerGetAccount(server, client) {
35
149
  idempotentHint: true,
36
150
  openWorldHint: true,
37
151
  },
38
- }, async (_args, extra) => {
152
+ }, async ({ recent_transactions, transactions_start }, extra) => {
39
153
  try {
40
154
  const walletResult = await client.post('/Wallet/List', {}, extra.signal);
41
155
  const wallets = walletResult.wallet ?? [];
@@ -43,41 +157,12 @@ export function registerGetAccount(server, client) {
43
157
  requireApiSuccess(walletResult, 'Could not read the wallet.');
44
158
  }
45
159
  const wallet = primaryWallet(wallets);
46
- const balance = wallet
47
- ? (() => {
48
- const depositUsd = money(wallet.amount);
49
- const couponCreditUsd = money(wallet.giftedamount);
50
- const storeRevenueUsd = money(wallet.storeamount);
51
- return {
52
- currency: 'USD',
53
- totalUsd: Math.round((depositUsd + couponCreditUsd + storeRevenueUsd) * 100) / 100,
54
- depositUsd,
55
- couponCreditUsd,
56
- storeRevenueUsd,
57
- };
58
- })()
59
- : null;
60
- // The wallet's owner is the team for a team project.
61
- let workspace = { kind: 'unknown' };
62
- const walletOwner = wallet ? asString(wallet.uuid) : undefined;
63
- try {
64
- const teams = await readTeamMemberships(client, extra.signal);
65
- const team = walletOwner ? teams.find(candidate => candidate.guid === walletOwner) : undefined;
66
- workspace = team
67
- ? {
68
- kind: 'team',
69
- ...(team.teamName ? { teamName: team.teamName } : {}),
70
- ...(team.organizationName ? { organizationName: team.organizationName } : {}),
71
- ...(team.role ? { role: team.role } : {}),
72
- }
73
- : { kind: 'personal' };
74
- }
75
- catch {
76
- // The balance is still useful without the workspace name.
77
- }
160
+ const balance = wallet ? walletBalance(wallet) : null;
161
+ // The balance is still useful without the workspace name.
162
+ const workspace = await workspaceOfWallet(client, wallet, extra.signal);
78
163
  const lines = ['## Wiro account', ''];
79
164
  lines.push(`**Workspace:** ${workspace.kind === 'team'
80
- ? `team ${workspace.teamName ?? ''}${workspace.organizationName ? ` (${workspace.organizationName})` : ''}`.trim()
165
+ ? `team${workspace.teamName?.trim() ? ` ${quotedSpan(workspace.teamName)}` : ''}${workspace.organizationName?.trim() ? ` (${quotedSpan(workspace.organizationName)})` : ''}`
81
166
  : workspace.kind}`);
82
167
  if (workspace.role)
83
168
  lines.push(`**Role in this team:** ${workspace.role}`);
@@ -99,9 +184,30 @@ export function registerGetAccount(server, client) {
99
184
  lines.push('Only a team admin can deploy an agent in this team. Starting, changing or paying for a team agent '
100
185
  + 'needs a team admin or the person who deployed it (for payments also the organization\'s owner).');
101
186
  }
187
+ // The balance above stands even when the rows cannot be read.
188
+ let transactions;
189
+ let transactionsError;
190
+ if (recent_transactions !== undefined || transactions_start !== undefined) {
191
+ try {
192
+ transactions = await readTransactions(client, recent_transactions ?? DEFAULT_TRANSACTIONS, transactions_start ?? 0, extra.signal);
193
+ lines.push(...transactionLines(transactions));
194
+ }
195
+ catch (error) {
196
+ if (extra.signal.aborted)
197
+ throw error;
198
+ transactionsError = errorText(error);
199
+ lines.push('', `The transactions could not be read: ${transactionsError}`);
200
+ }
201
+ }
102
202
  return {
103
203
  content: [{ type: 'text', text: lines.join('\n') }],
104
- structuredContent: { workspace, balance, authMode: client.authType },
204
+ structuredContent: {
205
+ workspace,
206
+ balance,
207
+ authMode: client.authType,
208
+ ...(transactions ? { transactions } : {}),
209
+ ...(transactionsError ? { transactionsError } : {}),
210
+ },
105
211
  };
106
212
  }
107
213
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-account.js","sourceRoot":"","sources":["../../src/tools/get-account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-account.js","sourceRoot":"","sources":["../../src/tools/get-account.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-agent-activity.d.ts","sourceRoot":"","sources":["../../src/tools/get-agent-activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAkK/C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CA8OpF"}
1
+ {"version":3,"file":"get-agent-activity.d.ts","sourceRoot":"","sources":["../../src/tools/get-agent-activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA+R/C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAmRpF"}