@wiro-ai/wiro-mcp 1.3.4 → 1.4.1

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 (283) hide show
  1. package/README.md +183 -16
  2. package/dist/client.d.ts +16 -0
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +126 -24
  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 +29 -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 +667 -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 +15 -2
  21. package/dist/server.d.ts.map +1 -1
  22. package/dist/server.js +12 -7
  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 +601 -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 +289 -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 +102 -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 +145 -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 +463 -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 +112 -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 +228 -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 +128 -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 +138 -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 +117 -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 +1 -1
  103. package/dist/tools/get-task-price.d.ts.map +1 -1
  104. package/dist/tools/get-task-price.js +64 -16
  105. package/dist/tools/get-task-price.js.map +1 -1
  106. package/dist/tools/get-task.d.ts.map +1 -1
  107. package/dist/tools/get-task.js +26 -9
  108. package/dist/tools/get-task.js.map +1 -1
  109. package/dist/tools/get-workflow.d.ts +9 -0
  110. package/dist/tools/get-workflow.d.ts.map +1 -0
  111. package/dist/tools/get-workflow.js +105 -0
  112. package/dist/tools/get-workflow.js.map +1 -0
  113. package/dist/tools/index.d.ts +63 -2
  114. package/dist/tools/index.d.ts.map +1 -1
  115. package/dist/tools/index.js +131 -14
  116. package/dist/tools/index.js.map +1 -1
  117. package/dist/tools/kill-task.d.ts.map +1 -1
  118. package/dist/tools/kill-task.js +10 -6
  119. package/dist/tools/kill-task.js.map +1 -1
  120. package/dist/tools/list-agent-skills.d.ts +4 -0
  121. package/dist/tools/list-agent-skills.d.ts.map +1 -0
  122. package/dist/tools/list-agent-skills.js +242 -0
  123. package/dist/tools/list-agent-skills.js.map +1 -0
  124. package/dist/tools/list-agent-templates.d.ts +4 -0
  125. package/dist/tools/list-agent-templates.d.ts.map +1 -0
  126. package/dist/tools/list-agent-templates.js +110 -0
  127. package/dist/tools/list-agent-templates.js.map +1 -0
  128. package/dist/tools/list-my-agents.d.ts +4 -0
  129. package/dist/tools/list-my-agents.d.ts.map +1 -0
  130. package/dist/tools/list-my-agents.js +93 -0
  131. package/dist/tools/list-my-agents.js.map +1 -0
  132. package/dist/tools/list-studio-results.d.ts +4 -0
  133. package/dist/tools/list-studio-results.d.ts.map +1 -0
  134. package/dist/tools/list-studio-results.js +95 -0
  135. package/dist/tools/list-studio-results.js.map +1 -0
  136. package/dist/tools/list-tasks.d.ts.map +1 -1
  137. package/dist/tools/list-tasks.js +7 -5
  138. package/dist/tools/list-tasks.js.map +1 -1
  139. package/dist/tools/list-workflow-runs.d.ts +4 -0
  140. package/dist/tools/list-workflow-runs.d.ts.map +1 -0
  141. package/dist/tools/list-workflow-runs.js +110 -0
  142. package/dist/tools/list-workflow-runs.js.map +1 -0
  143. package/dist/tools/list-workflows.d.ts +4 -0
  144. package/dist/tools/list-workflows.d.ts.map +1 -0
  145. package/dist/tools/list-workflows.js +143 -0
  146. package/dist/tools/list-workflows.js.map +1 -0
  147. package/dist/tools/manage-agent-billing.d.ts +4 -0
  148. package/dist/tools/manage-agent-billing.d.ts.map +1 -0
  149. package/dist/tools/manage-agent-billing.js +788 -0
  150. package/dist/tools/manage-agent-billing.js.map +1 -0
  151. package/dist/tools/manage-agent-custom-skill.d.ts +4 -0
  152. package/dist/tools/manage-agent-custom-skill.d.ts.map +1 -0
  153. package/dist/tools/manage-agent-custom-skill.js +531 -0
  154. package/dist/tools/manage-agent-custom-skill.js.map +1 -0
  155. package/dist/tools/recommend-model.d.ts.map +1 -1
  156. package/dist/tools/recommend-model.js +6 -5
  157. package/dist/tools/recommend-model.js.map +1 -1
  158. package/dist/tools/resume-workflow-run.d.ts +4 -0
  159. package/dist/tools/resume-workflow-run.d.ts.map +1 -0
  160. package/dist/tools/resume-workflow-run.js +69 -0
  161. package/dist/tools/resume-workflow-run.js.map +1 -0
  162. package/dist/tools/run-model.d.ts.map +1 -1
  163. package/dist/tools/run-model.js +40 -4
  164. package/dist/tools/run-model.js.map +1 -1
  165. package/dist/tools/run-workflow.d.ts +6 -0
  166. package/dist/tools/run-workflow.d.ts.map +1 -0
  167. package/dist/tools/run-workflow.js +132 -0
  168. package/dist/tools/run-workflow.js.map +1 -0
  169. package/dist/tools/save-workflow-from-agent.d.ts +4 -0
  170. package/dist/tools/save-workflow-from-agent.d.ts.map +1 -0
  171. package/dist/tools/save-workflow-from-agent.js +280 -0
  172. package/dist/tools/save-workflow-from-agent.js.map +1 -0
  173. package/dist/tools/schemas.d.ts +182 -115
  174. package/dist/tools/schemas.d.ts.map +1 -1
  175. package/dist/tools/schemas.js +26 -6
  176. package/dist/tools/schemas.js.map +1 -1
  177. package/dist/tools/search-models.d.ts.map +1 -1
  178. package/dist/tools/search-models.js +9 -6
  179. package/dist/tools/search-models.js.map +1 -1
  180. package/dist/tools/send-agent-message.d.ts +4 -0
  181. package/dist/tools/send-agent-message.d.ts.map +1 -0
  182. package/dist/tools/send-agent-message.js +156 -0
  183. package/dist/tools/send-agent-message.js.map +1 -0
  184. package/dist/tools/set-agent-credentials.d.ts +4 -0
  185. package/dist/tools/set-agent-credentials.d.ts.map +1 -0
  186. package/dist/tools/set-agent-credentials.js +540 -0
  187. package/dist/tools/set-agent-credentials.js.map +1 -0
  188. package/dist/tools/update-agent.d.ts +4 -0
  189. package/dist/tools/update-agent.d.ts.map +1 -0
  190. package/dist/tools/update-agent.js +179 -0
  191. package/dist/tools/update-agent.js.map +1 -0
  192. package/dist/tools/update-workflow.d.ts +201 -0
  193. package/dist/tools/update-workflow.d.ts.map +1 -0
  194. package/dist/tools/update-workflow.js +168 -0
  195. package/dist/tools/update-workflow.js.map +1 -0
  196. package/dist/tools/upload-file.d.ts.map +1 -1
  197. package/dist/tools/upload-file.js +12 -7
  198. package/dist/tools/upload-file.js.map +1 -1
  199. package/dist/tools/wait-for-task.d.ts.map +1 -1
  200. package/dist/tools/wait-for-task.js +20 -2
  201. package/dist/tools/wait-for-task.js.map +1 -1
  202. package/dist/tools/wait-for-workflow-run.d.ts +259 -0
  203. package/dist/tools/wait-for-workflow-run.d.ts.map +1 -0
  204. package/dist/tools/wait-for-workflow-run.js +190 -0
  205. package/dist/tools/wait-for-workflow-run.js.map +1 -0
  206. package/dist/types.d.ts +18 -0
  207. package/dist/types.d.ts.map +1 -1
  208. package/dist/types.js.map +1 -1
  209. package/dist/utils/agent-catalog.d.ts +1256 -0
  210. package/dist/utils/agent-catalog.d.ts.map +1 -0
  211. package/dist/utils/agent-catalog.js +387 -0
  212. package/dist/utils/agent-catalog.js.map +1 -0
  213. package/dist/utils/agent-config.d.ts +443 -0
  214. package/dist/utils/agent-config.d.ts.map +1 -0
  215. package/dist/utils/agent-config.js +1676 -0
  216. package/dist/utils/agent-config.js.map +1 -0
  217. package/dist/utils/agent-message.d.ts +112 -0
  218. package/dist/utils/agent-message.d.ts.map +1 -0
  219. package/dist/utils/agent-message.js +243 -0
  220. package/dist/utils/agent-message.js.map +1 -0
  221. package/dist/utils/agent-targets.d.ts +76 -0
  222. package/dist/utils/agent-targets.d.ts.map +1 -0
  223. package/dist/utils/agent-targets.js +412 -0
  224. package/dist/utils/agent-targets.js.map +1 -0
  225. package/dist/utils/agent-turns.d.ts +354 -0
  226. package/dist/utils/agent-turns.d.ts.map +1 -0
  227. package/dist/utils/agent-turns.js +660 -0
  228. package/dist/utils/agent-turns.js.map +1 -0
  229. package/dist/utils/api.d.ts +40 -0
  230. package/dist/utils/api.d.ts.map +1 -0
  231. package/dist/utils/api.js +111 -0
  232. package/dist/utils/api.js.map +1 -0
  233. package/dist/utils/format.d.ts +65 -2
  234. package/dist/utils/format.d.ts.map +1 -1
  235. package/dist/utils/format.js +583 -81
  236. package/dist/utils/format.js.map +1 -1
  237. package/dist/utils/json-schema-dialect.d.ts +8 -1
  238. package/dist/utils/json-schema-dialect.d.ts.map +1 -1
  239. package/dist/utils/json-schema-dialect.js +23 -1
  240. package/dist/utils/json-schema-dialect.js.map +1 -1
  241. package/dist/utils/media.d.ts +28 -0
  242. package/dist/utils/media.d.ts.map +1 -0
  243. package/dist/utils/media.js +65 -0
  244. package/dist/utils/media.js.map +1 -0
  245. package/dist/utils/poll.d.ts +39 -0
  246. package/dist/utils/poll.d.ts.map +1 -0
  247. package/dist/utils/poll.js +111 -0
  248. package/dist/utils/poll.js.map +1 -0
  249. package/dist/utils/remote-file.js +2 -2
  250. package/dist/utils/remote-file.js.map +1 -1
  251. package/dist/utils/structured.d.ts +4 -0
  252. package/dist/utils/structured.d.ts.map +1 -1
  253. package/dist/utils/structured.js +23 -7
  254. package/dist/utils/structured.js.map +1 -1
  255. package/dist/utils/studio-runs.d.ts +87 -0
  256. package/dist/utils/studio-runs.d.ts.map +1 -0
  257. package/dist/utils/studio-runs.js +167 -0
  258. package/dist/utils/studio-runs.js.map +1 -0
  259. package/dist/utils/user-agent.d.ts +1199 -0
  260. package/dist/utils/user-agent.d.ts.map +1 -0
  261. package/dist/utils/user-agent.js +897 -0
  262. package/dist/utils/user-agent.js.map +1 -0
  263. package/dist/utils/workflow-agent.d.ts +151 -0
  264. package/dist/utils/workflow-agent.d.ts.map +1 -0
  265. package/dist/utils/workflow-agent.js +292 -0
  266. package/dist/utils/workflow-agent.js.map +1 -0
  267. package/dist/utils/workflow-artifacts.d.ts +160 -0
  268. package/dist/utils/workflow-artifacts.d.ts.map +1 -0
  269. package/dist/utils/workflow-artifacts.js +801 -0
  270. package/dist/utils/workflow-artifacts.js.map +1 -0
  271. package/dist/utils/workflow-save.d.ts +120 -0
  272. package/dist/utils/workflow-save.d.ts.map +1 -0
  273. package/dist/utils/workflow-save.js +728 -0
  274. package/dist/utils/workflow-save.js.map +1 -0
  275. package/dist/utils/workflow.d.ts +564 -0
  276. package/dist/utils/workflow.d.ts.map +1 -0
  277. package/dist/utils/workflow.js +712 -0
  278. package/dist/utils/workflow.js.map +1 -0
  279. package/dist/utils/workspace.d.ts +38 -0
  280. package/dist/utils/workspace.d.ts.map +1 -0
  281. package/dist/utils/workspace.js +90 -0
  282. package/dist/utils/workspace.js.map +1 -0
  283. package/package.json +6 -4
@@ -0,0 +1,1199 @@
1
+ import { z } from 'zod';
2
+ import { type ToolCallContext } from './poll.js';
3
+ export declare const AGENT_DASHBOARD_URL = "https://wiro.ai/panel/agents";
4
+ export declare function agentDashboardUrl(guid: string): string;
5
+ export declare const agentStatusLabelSchema: z.ZodEnum<["stopped", "stopping", "queued", "starting", "running", "error", "setup_required", "unknown"]>;
6
+ export type AgentStatusLabel = z.infer<typeof agentStatusLabelSchema>;
7
+ export declare function readAgentStatus(row: Record<string, unknown>): number | null;
8
+ export declare function agentStatusLabel(status: number | null | undefined): AgentStatusLabel;
9
+ /** "Running (4)" */
10
+ export declare function describeAgentStatus(status: number | null | undefined): string;
11
+ export declare const MEMBER_SETUP_HELP: string;
12
+ /** plainMember: the connection acts as a member of the agent's team without admin rights. */
13
+ export declare function agentStatusHint(status: number | null | undefined, plainMember?: boolean): string;
14
+ /** Stopping, queued and starting move on by themselves; every other status stays until someone acts. */
15
+ export declare function isTransitionalStatus(status: number | null | undefined): boolean;
16
+ export declare const AGENT_TIERS: readonly ["starter", "pro"];
17
+ export type AgentTier = typeof AGENT_TIERS[number];
18
+ export declare const tierPriceSchema: z.ZodObject<{
19
+ priceUsd: z.ZodNumber;
20
+ monthlyCredits: z.ZodNumber;
21
+ }, "strip", z.ZodTypeAny, {
22
+ priceUsd: number;
23
+ monthlyCredits: number;
24
+ }, {
25
+ priceUsd: number;
26
+ monthlyCredits: number;
27
+ }>;
28
+ export declare const tierPricingSchema: z.ZodObject<{
29
+ starter: z.ZodObject<{
30
+ priceUsd: z.ZodNumber;
31
+ monthlyCredits: z.ZodNumber;
32
+ }, "strip", z.ZodTypeAny, {
33
+ priceUsd: number;
34
+ monthlyCredits: number;
35
+ }, {
36
+ priceUsd: number;
37
+ monthlyCredits: number;
38
+ }>;
39
+ pro: z.ZodObject<{
40
+ priceUsd: z.ZodNumber;
41
+ monthlyCredits: z.ZodNumber;
42
+ }, "strip", z.ZodTypeAny, {
43
+ priceUsd: number;
44
+ monthlyCredits: number;
45
+ }, {
46
+ priceUsd: number;
47
+ monthlyCredits: number;
48
+ }>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ starter: {
51
+ priceUsd: number;
52
+ monthlyCredits: number;
53
+ };
54
+ pro: {
55
+ priceUsd: number;
56
+ monthlyCredits: number;
57
+ };
58
+ }, {
59
+ starter: {
60
+ priceUsd: number;
61
+ monthlyCredits: number;
62
+ };
63
+ pro: {
64
+ priceUsd: number;
65
+ monthlyCredits: number;
66
+ };
67
+ }>;
68
+ export type TierPricing = z.infer<typeof tierPricingSchema>;
69
+ /** Starter and Pro prices, or null when Wiro could not price the agent. */
70
+ export declare function toTierPricing(value: unknown): TierPricing | null;
71
+ export declare function asTier(value: unknown): AgentTier | undefined;
72
+ export declare function formatUsd(value: number | null | undefined): string;
73
+ export declare function formatCredits(value: number | null | undefined): string;
74
+ export declare function roundUsd(value: number): number;
75
+ export declare const AMOUNT_TOLERANCE_USD = 0.005;
76
+ export declare function sameAmount(quoted: number, approved: number): boolean;
77
+ export declare const subscriptionSchema: z.ZodObject<{
78
+ status: z.ZodString;
79
+ billing: z.ZodEnum<["wallet", "card"]>;
80
+ switchingToWallet: z.ZodBoolean;
81
+ amountUsd: z.ZodNullable<z.ZodNumber>;
82
+ periodEndsAt: z.ZodOptional<z.ZodString>;
83
+ daysRemaining: z.ZodNullable<z.ZodNumber>;
84
+ cancelAtPeriodEnd: z.ZodBoolean;
85
+ atPeriodEnd: z.ZodOptional<z.ZodEnum<["renews", "ends", "unknown"]>>;
86
+ }, "strip", z.ZodTypeAny, {
87
+ status: string;
88
+ billing: "wallet" | "card";
89
+ switchingToWallet: boolean;
90
+ amountUsd: number | null;
91
+ daysRemaining: number | null;
92
+ cancelAtPeriodEnd: boolean;
93
+ periodEndsAt?: string | undefined;
94
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
95
+ }, {
96
+ status: string;
97
+ billing: "wallet" | "card";
98
+ switchingToWallet: boolean;
99
+ amountUsd: number | null;
100
+ daysRemaining: number | null;
101
+ cancelAtPeriodEnd: boolean;
102
+ periodEndsAt?: string | undefined;
103
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
104
+ }>;
105
+ export type AgentSubscription = z.infer<typeof subscriptionSchema>;
106
+ /**
107
+ * Whether a plan ends with its current period: true when it ends, false when
108
+ * it renews, null when that is not known. A wallet plan says so itself, and a
109
+ * card plan moving to wallet billing renews from the wallet. Any other card
110
+ * plan is known only when the row carries its card state (cardEnds).
111
+ */
112
+ export declare function planEndsWithPeriod(subscription: Record<string, unknown>, cardEnds?: unknown): boolean | null;
113
+ export declare function toSubscription(value: unknown, cardEnds?: unknown): AgentSubscription | null;
114
+ /** How a new charge for this plan is paid right now. */
115
+ export declare function chargeRoute(subscription: unknown): 'wallet' | 'card' | null;
116
+ export declare const creditsSchema: z.ZodObject<{
117
+ monthly: z.ZodNumber;
118
+ extra: z.ZodNumber;
119
+ used: z.ZodNumber;
120
+ remaining: z.ZodNumber;
121
+ period: z.ZodOptional<z.ZodString>;
122
+ }, "strip", z.ZodTypeAny, {
123
+ monthly: number;
124
+ extra: number;
125
+ used: number;
126
+ remaining: number;
127
+ period?: string | undefined;
128
+ }, {
129
+ monthly: number;
130
+ extra: number;
131
+ used: number;
132
+ remaining: number;
133
+ period?: string | undefined;
134
+ }>;
135
+ export type AgentCredits = z.infer<typeof creditsSchema>;
136
+ export declare function toCredits(row: Record<string, unknown>): AgentCredits;
137
+ /** Plain text from catalog HTML. Links keep their target so setup steps stay usable. */
138
+ export declare function htmlToText(value: unknown, maxLength?: number): string;
139
+ export declare function toStringArray(value: unknown): string[];
140
+ export declare const credentialStatusSchema: z.ZodObject<{
141
+ key: z.ZodString;
142
+ title: z.ZodString;
143
+ optional: z.ZodBoolean;
144
+ oauth: z.ZodBoolean;
145
+ connected: z.ZodBoolean;
146
+ filled: z.ZodBoolean;
147
+ requiredMissing: z.ZodBoolean;
148
+ }, "strip", z.ZodTypeAny, {
149
+ key: string;
150
+ optional: boolean;
151
+ title: string;
152
+ oauth: boolean;
153
+ connected: boolean;
154
+ filled: boolean;
155
+ requiredMissing: boolean;
156
+ }, {
157
+ key: string;
158
+ optional: boolean;
159
+ title: string;
160
+ oauth: boolean;
161
+ connected: boolean;
162
+ filled: boolean;
163
+ requiredMissing: boolean;
164
+ }>;
165
+ export type CredentialStatus = z.infer<typeof credentialStatusSchema>;
166
+ /** The state of each credential: whether it is filled, connected or missing. */
167
+ export declare function summarizeCredentials(credentials: unknown, skipKeys?: Set<string>): CredentialStatus[];
168
+ export declare const channelStatusSchema: z.ZodObject<{
169
+ id: z.ZodString;
170
+ title: z.ZodString;
171
+ credentialKey: z.ZodString;
172
+ enabled: z.ZodBoolean;
173
+ configured: z.ZodBoolean;
174
+ missingFields: z.ZodArray<z.ZodString, "many">;
175
+ }, "strip", z.ZodTypeAny, {
176
+ id: string;
177
+ title: string;
178
+ credentialKey: string;
179
+ enabled: boolean;
180
+ configured: boolean;
181
+ missingFields: string[];
182
+ }, {
183
+ id: string;
184
+ title: string;
185
+ credentialKey: string;
186
+ enabled: boolean;
187
+ configured: boolean;
188
+ missingFields: string[];
189
+ }>;
190
+ export type ChannelStatus = z.infer<typeof channelStatusSchema>;
191
+ export declare function summarizeChannels(value: unknown): ChannelStatus[];
192
+ export declare const agentTaskSchema: z.ZodObject<{
193
+ key: z.ZodString;
194
+ description: z.ZodOptional<z.ZodString>;
195
+ enabled: z.ZodBoolean;
196
+ interval: z.ZodOptional<z.ZodNullable<z.ZodString>>;
197
+ source: z.ZodOptional<z.ZodEnum<["template", "skill", "user"]>>;
198
+ instructions: z.ZodOptional<z.ZodString>;
199
+ instructionsTruncated: z.ZodOptional<z.ZodBoolean>;
200
+ }, "strip", z.ZodTypeAny, {
201
+ key: string;
202
+ enabled: boolean;
203
+ instructions?: string | undefined;
204
+ description?: string | undefined;
205
+ interval?: string | null | undefined;
206
+ source?: "user" | "template" | "skill" | undefined;
207
+ instructionsTruncated?: boolean | undefined;
208
+ }, {
209
+ key: string;
210
+ enabled: boolean;
211
+ instructions?: string | undefined;
212
+ description?: string | undefined;
213
+ interval?: string | null | undefined;
214
+ source?: "user" | "template" | "skill" | undefined;
215
+ instructionsTruncated?: boolean | undefined;
216
+ }>;
217
+ export type AgentTask = z.infer<typeof agentTaskSchema>;
218
+ /** Custom instructions and scheduled tasks, with the instruction text cut short. */
219
+ export declare function summarizeTasks(value: unknown, maxInstructionLength?: number): AgentTask[];
220
+ declare const selectableModelSchema: z.ZodObject<{
221
+ slug: z.ZodString;
222
+ label: z.ZodOptional<z.ZodString>;
223
+ inputCreditsPer1M: z.ZodOptional<z.ZodNumber>;
224
+ outputCreditsPer1M: z.ZodOptional<z.ZodNumber>;
225
+ }, "strip", z.ZodTypeAny, {
226
+ slug: string;
227
+ label?: string | undefined;
228
+ inputCreditsPer1M?: number | undefined;
229
+ outputCreditsPer1M?: number | undefined;
230
+ }, {
231
+ slug: string;
232
+ label?: string | undefined;
233
+ inputCreditsPer1M?: number | undefined;
234
+ outputCreditsPer1M?: number | undefined;
235
+ }>;
236
+ type SelectableModel = z.infer<typeof selectableModelSchema>;
237
+ export declare const extraCreditPackSchema: z.ZodObject<{
238
+ pack: z.ZodString;
239
+ credits: z.ZodNumber;
240
+ priceUsd: z.ZodNumber;
241
+ }, "strip", z.ZodTypeAny, {
242
+ priceUsd: number;
243
+ credits: number;
244
+ pack: string;
245
+ }, {
246
+ priceUsd: number;
247
+ credits: number;
248
+ pack: string;
249
+ }>;
250
+ export declare const agentSummarySchema: z.ZodObject<{
251
+ guid: z.ZodString;
252
+ title: z.ZodString;
253
+ status: z.ZodNullable<z.ZodNumber>;
254
+ statusLabel: z.ZodEnum<["stopped", "stopping", "queued", "starting", "running", "error", "setup_required", "unknown"]>;
255
+ setupRequired: z.ZodBoolean;
256
+ workspace: z.ZodEnum<["personal", "team"]>;
257
+ template: z.ZodObject<{
258
+ custom: z.ZodBoolean;
259
+ guid: z.ZodOptional<z.ZodString>;
260
+ slug: z.ZodOptional<z.ZodString>;
261
+ title: z.ZodOptional<z.ZodString>;
262
+ }, "strip", z.ZodTypeAny, {
263
+ custom: boolean;
264
+ guid?: string | undefined;
265
+ title?: string | undefined;
266
+ slug?: string | undefined;
267
+ }, {
268
+ custom: boolean;
269
+ guid?: string | undefined;
270
+ title?: string | undefined;
271
+ slug?: string | undefined;
272
+ }>;
273
+ tier: z.ZodOptional<z.ZodString>;
274
+ monthlyPriceUsd: z.ZodNullable<z.ZodNumber>;
275
+ credits: z.ZodObject<{
276
+ monthly: z.ZodNumber;
277
+ extra: z.ZodNumber;
278
+ used: z.ZodNumber;
279
+ remaining: z.ZodNumber;
280
+ period: z.ZodOptional<z.ZodString>;
281
+ }, "strip", z.ZodTypeAny, {
282
+ monthly: number;
283
+ extra: number;
284
+ used: number;
285
+ remaining: number;
286
+ period?: string | undefined;
287
+ }, {
288
+ monthly: number;
289
+ extra: number;
290
+ used: number;
291
+ remaining: number;
292
+ period?: string | undefined;
293
+ }>;
294
+ subscription: z.ZodNullable<z.ZodObject<{
295
+ status: z.ZodString;
296
+ billing: z.ZodEnum<["wallet", "card"]>;
297
+ switchingToWallet: z.ZodBoolean;
298
+ amountUsd: z.ZodNullable<z.ZodNumber>;
299
+ periodEndsAt: z.ZodOptional<z.ZodString>;
300
+ daysRemaining: z.ZodNullable<z.ZodNumber>;
301
+ cancelAtPeriodEnd: z.ZodBoolean;
302
+ atPeriodEnd: z.ZodOptional<z.ZodEnum<["renews", "ends", "unknown"]>>;
303
+ }, "strip", z.ZodTypeAny, {
304
+ status: string;
305
+ billing: "wallet" | "card";
306
+ switchingToWallet: boolean;
307
+ amountUsd: number | null;
308
+ daysRemaining: number | null;
309
+ cancelAtPeriodEnd: boolean;
310
+ periodEndsAt?: string | undefined;
311
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
312
+ }, {
313
+ status: string;
314
+ billing: "wallet" | "card";
315
+ switchingToWallet: boolean;
316
+ amountUsd: number | null;
317
+ daysRemaining: number | null;
318
+ cancelAtPeriodEnd: boolean;
319
+ periodEndsAt?: string | undefined;
320
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
321
+ }>>;
322
+ timezone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
323
+ teamSessionMode: z.ZodOptional<z.ZodString>;
324
+ skills: z.ZodArray<z.ZodString, "many">;
325
+ createdAt: z.ZodOptional<z.ZodString>;
326
+ updatedAt: z.ZodOptional<z.ZodString>;
327
+ }, "strip", z.ZodTypeAny, {
328
+ guid: string;
329
+ title: string;
330
+ status: number | null;
331
+ workspace: "personal" | "team";
332
+ credits: {
333
+ monthly: number;
334
+ extra: number;
335
+ used: number;
336
+ remaining: number;
337
+ period?: string | undefined;
338
+ };
339
+ template: {
340
+ custom: boolean;
341
+ guid?: string | undefined;
342
+ title?: string | undefined;
343
+ slug?: string | undefined;
344
+ };
345
+ statusLabel: "error" | "running" | "unknown" | "stopped" | "stopping" | "queued" | "starting" | "setup_required";
346
+ setupRequired: boolean;
347
+ monthlyPriceUsd: number | null;
348
+ subscription: {
349
+ status: string;
350
+ billing: "wallet" | "card";
351
+ switchingToWallet: boolean;
352
+ amountUsd: number | null;
353
+ daysRemaining: number | null;
354
+ cancelAtPeriodEnd: boolean;
355
+ periodEndsAt?: string | undefined;
356
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
357
+ } | null;
358
+ skills: string[];
359
+ createdAt?: string | undefined;
360
+ updatedAt?: string | undefined;
361
+ tier?: string | undefined;
362
+ timezone?: string | null | undefined;
363
+ teamSessionMode?: string | undefined;
364
+ }, {
365
+ guid: string;
366
+ title: string;
367
+ status: number | null;
368
+ workspace: "personal" | "team";
369
+ credits: {
370
+ monthly: number;
371
+ extra: number;
372
+ used: number;
373
+ remaining: number;
374
+ period?: string | undefined;
375
+ };
376
+ template: {
377
+ custom: boolean;
378
+ guid?: string | undefined;
379
+ title?: string | undefined;
380
+ slug?: string | undefined;
381
+ };
382
+ statusLabel: "error" | "running" | "unknown" | "stopped" | "stopping" | "queued" | "starting" | "setup_required";
383
+ setupRequired: boolean;
384
+ monthlyPriceUsd: number | null;
385
+ subscription: {
386
+ status: string;
387
+ billing: "wallet" | "card";
388
+ switchingToWallet: boolean;
389
+ amountUsd: number | null;
390
+ daysRemaining: number | null;
391
+ cancelAtPeriodEnd: boolean;
392
+ periodEndsAt?: string | undefined;
393
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
394
+ } | null;
395
+ skills: string[];
396
+ createdAt?: string | undefined;
397
+ updatedAt?: string | undefined;
398
+ tier?: string | undefined;
399
+ timezone?: string | null | undefined;
400
+ teamSessionMode?: string | undefined;
401
+ }>;
402
+ export type AgentSummary = z.infer<typeof agentSummarySchema>;
403
+ export declare const agentDetailSchema: z.ZodObject<{
404
+ guid: z.ZodString;
405
+ title: z.ZodString;
406
+ status: z.ZodNullable<z.ZodNumber>;
407
+ statusLabel: z.ZodEnum<["stopped", "stopping", "queued", "starting", "running", "error", "setup_required", "unknown"]>;
408
+ setupRequired: z.ZodBoolean;
409
+ workspace: z.ZodEnum<["personal", "team"]>;
410
+ template: z.ZodObject<{
411
+ custom: z.ZodBoolean;
412
+ guid: z.ZodOptional<z.ZodString>;
413
+ slug: z.ZodOptional<z.ZodString>;
414
+ title: z.ZodOptional<z.ZodString>;
415
+ }, "strip", z.ZodTypeAny, {
416
+ custom: boolean;
417
+ guid?: string | undefined;
418
+ title?: string | undefined;
419
+ slug?: string | undefined;
420
+ }, {
421
+ custom: boolean;
422
+ guid?: string | undefined;
423
+ title?: string | undefined;
424
+ slug?: string | undefined;
425
+ }>;
426
+ tier: z.ZodOptional<z.ZodString>;
427
+ monthlyPriceUsd: z.ZodNullable<z.ZodNumber>;
428
+ credits: z.ZodObject<{
429
+ monthly: z.ZodNumber;
430
+ extra: z.ZodNumber;
431
+ used: z.ZodNumber;
432
+ remaining: z.ZodNumber;
433
+ period: z.ZodOptional<z.ZodString>;
434
+ }, "strip", z.ZodTypeAny, {
435
+ monthly: number;
436
+ extra: number;
437
+ used: number;
438
+ remaining: number;
439
+ period?: string | undefined;
440
+ }, {
441
+ monthly: number;
442
+ extra: number;
443
+ used: number;
444
+ remaining: number;
445
+ period?: string | undefined;
446
+ }>;
447
+ subscription: z.ZodNullable<z.ZodObject<{
448
+ status: z.ZodString;
449
+ billing: z.ZodEnum<["wallet", "card"]>;
450
+ switchingToWallet: z.ZodBoolean;
451
+ amountUsd: z.ZodNullable<z.ZodNumber>;
452
+ periodEndsAt: z.ZodOptional<z.ZodString>;
453
+ daysRemaining: z.ZodNullable<z.ZodNumber>;
454
+ cancelAtPeriodEnd: z.ZodBoolean;
455
+ atPeriodEnd: z.ZodOptional<z.ZodEnum<["renews", "ends", "unknown"]>>;
456
+ }, "strip", z.ZodTypeAny, {
457
+ status: string;
458
+ billing: "wallet" | "card";
459
+ switchingToWallet: boolean;
460
+ amountUsd: number | null;
461
+ daysRemaining: number | null;
462
+ cancelAtPeriodEnd: boolean;
463
+ periodEndsAt?: string | undefined;
464
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
465
+ }, {
466
+ status: string;
467
+ billing: "wallet" | "card";
468
+ switchingToWallet: boolean;
469
+ amountUsd: number | null;
470
+ daysRemaining: number | null;
471
+ cancelAtPeriodEnd: boolean;
472
+ periodEndsAt?: string | undefined;
473
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
474
+ }>>;
475
+ timezone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
476
+ teamSessionMode: z.ZodOptional<z.ZodString>;
477
+ skills: z.ZodArray<z.ZodString, "many">;
478
+ createdAt: z.ZodOptional<z.ZodString>;
479
+ updatedAt: z.ZodOptional<z.ZodString>;
480
+ } & {
481
+ description: z.ZodOptional<z.ZodString>;
482
+ cover: z.ZodOptional<z.ZodString>;
483
+ categories: z.ZodArray<z.ZodString, "many">;
484
+ pricing: z.ZodNullable<z.ZodObject<{
485
+ starter: z.ZodObject<{
486
+ priceUsd: z.ZodNumber;
487
+ monthlyCredits: z.ZodNumber;
488
+ }, "strip", z.ZodTypeAny, {
489
+ priceUsd: number;
490
+ monthlyCredits: number;
491
+ }, {
492
+ priceUsd: number;
493
+ monthlyCredits: number;
494
+ }>;
495
+ pro: z.ZodObject<{
496
+ priceUsd: z.ZodNumber;
497
+ monthlyCredits: z.ZodNumber;
498
+ }, "strip", z.ZodTypeAny, {
499
+ priceUsd: number;
500
+ monthlyCredits: number;
501
+ }, {
502
+ priceUsd: number;
503
+ monthlyCredits: number;
504
+ }>;
505
+ }, "strip", z.ZodTypeAny, {
506
+ starter: {
507
+ priceUsd: number;
508
+ monthlyCredits: number;
509
+ };
510
+ pro: {
511
+ priceUsd: number;
512
+ monthlyCredits: number;
513
+ };
514
+ }, {
515
+ starter: {
516
+ priceUsd: number;
517
+ monthlyCredits: number;
518
+ };
519
+ pro: {
520
+ priceUsd: number;
521
+ monthlyCredits: number;
522
+ };
523
+ }>>;
524
+ extraCreditPacks: z.ZodArray<z.ZodObject<{
525
+ pack: z.ZodString;
526
+ credits: z.ZodNumber;
527
+ priceUsd: z.ZodNumber;
528
+ }, "strip", z.ZodTypeAny, {
529
+ priceUsd: number;
530
+ credits: number;
531
+ pack: string;
532
+ }, {
533
+ priceUsd: number;
534
+ credits: number;
535
+ pack: string;
536
+ }>, "many">;
537
+ models: z.ZodOptional<z.ZodObject<{
538
+ chat: z.ZodNullable<z.ZodString>;
539
+ cron: z.ZodNullable<z.ZodString>;
540
+ voicePrep: z.ZodNullable<z.ZodString>;
541
+ voicePostcall: z.ZodNullable<z.ZodString>;
542
+ }, "strip", z.ZodTypeAny, {
543
+ chat: string | null;
544
+ cron: string | null;
545
+ voicePrep: string | null;
546
+ voicePostcall: string | null;
547
+ }, {
548
+ chat: string | null;
549
+ cron: string | null;
550
+ voicePrep: string | null;
551
+ voicePostcall: string | null;
552
+ }>>;
553
+ selectableModels: z.ZodOptional<z.ZodArray<z.ZodObject<{
554
+ slug: z.ZodString;
555
+ label: z.ZodOptional<z.ZodString>;
556
+ inputCreditsPer1M: z.ZodOptional<z.ZodNumber>;
557
+ outputCreditsPer1M: z.ZodOptional<z.ZodNumber>;
558
+ }, "strip", z.ZodTypeAny, {
559
+ slug: string;
560
+ label?: string | undefined;
561
+ inputCreditsPer1M?: number | undefined;
562
+ outputCreditsPer1M?: number | undefined;
563
+ }, {
564
+ slug: string;
565
+ label?: string | undefined;
566
+ inputCreditsPer1M?: number | undefined;
567
+ outputCreditsPer1M?: number | undefined;
568
+ }>, "many">>;
569
+ enabledCommands: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
570
+ credentials: z.ZodArray<z.ZodObject<{
571
+ key: z.ZodString;
572
+ title: z.ZodString;
573
+ optional: z.ZodBoolean;
574
+ oauth: z.ZodBoolean;
575
+ connected: z.ZodBoolean;
576
+ filled: z.ZodBoolean;
577
+ requiredMissing: z.ZodBoolean;
578
+ }, "strip", z.ZodTypeAny, {
579
+ key: string;
580
+ optional: boolean;
581
+ title: string;
582
+ oauth: boolean;
583
+ connected: boolean;
584
+ filled: boolean;
585
+ requiredMissing: boolean;
586
+ }, {
587
+ key: string;
588
+ optional: boolean;
589
+ title: string;
590
+ oauth: boolean;
591
+ connected: boolean;
592
+ filled: boolean;
593
+ requiredMissing: boolean;
594
+ }>, "many">;
595
+ missingCredentials: z.ZodArray<z.ZodObject<{
596
+ key: z.ZodString;
597
+ title: z.ZodString;
598
+ oauth: z.ZodBoolean;
599
+ }, "strip", z.ZodTypeAny, {
600
+ key: string;
601
+ title: string;
602
+ oauth: boolean;
603
+ }, {
604
+ key: string;
605
+ title: string;
606
+ oauth: boolean;
607
+ }>, "many">;
608
+ channels: z.ZodArray<z.ZodObject<{
609
+ id: z.ZodString;
610
+ title: z.ZodString;
611
+ credentialKey: z.ZodString;
612
+ enabled: z.ZodBoolean;
613
+ configured: z.ZodBoolean;
614
+ missingFields: z.ZodArray<z.ZodString, "many">;
615
+ }, "strip", z.ZodTypeAny, {
616
+ id: string;
617
+ title: string;
618
+ credentialKey: string;
619
+ enabled: boolean;
620
+ configured: boolean;
621
+ missingFields: string[];
622
+ }, {
623
+ id: string;
624
+ title: string;
625
+ credentialKey: string;
626
+ enabled: boolean;
627
+ configured: boolean;
628
+ missingFields: string[];
629
+ }>, "many">;
630
+ scheduledTasks: z.ZodArray<z.ZodObject<{
631
+ key: z.ZodString;
632
+ description: z.ZodOptional<z.ZodString>;
633
+ enabled: z.ZodBoolean;
634
+ interval: z.ZodOptional<z.ZodNullable<z.ZodString>>;
635
+ source: z.ZodOptional<z.ZodEnum<["template", "skill", "user"]>>;
636
+ instructions: z.ZodOptional<z.ZodString>;
637
+ instructionsTruncated: z.ZodOptional<z.ZodBoolean>;
638
+ }, "strip", z.ZodTypeAny, {
639
+ key: string;
640
+ enabled: boolean;
641
+ instructions?: string | undefined;
642
+ description?: string | undefined;
643
+ interval?: string | null | undefined;
644
+ source?: "user" | "template" | "skill" | undefined;
645
+ instructionsTruncated?: boolean | undefined;
646
+ }, {
647
+ key: string;
648
+ enabled: boolean;
649
+ instructions?: string | undefined;
650
+ description?: string | undefined;
651
+ interval?: string | null | undefined;
652
+ source?: "user" | "template" | "skill" | undefined;
653
+ instructionsTruncated?: boolean | undefined;
654
+ }>, "many">;
655
+ customInstructions: z.ZodArray<z.ZodObject<{
656
+ key: z.ZodString;
657
+ description: z.ZodOptional<z.ZodString>;
658
+ enabled: z.ZodBoolean;
659
+ interval: z.ZodOptional<z.ZodNullable<z.ZodString>>;
660
+ source: z.ZodOptional<z.ZodEnum<["template", "skill", "user"]>>;
661
+ instructions: z.ZodOptional<z.ZodString>;
662
+ instructionsTruncated: z.ZodOptional<z.ZodBoolean>;
663
+ }, "strip", z.ZodTypeAny, {
664
+ key: string;
665
+ enabled: boolean;
666
+ instructions?: string | undefined;
667
+ description?: string | undefined;
668
+ interval?: string | null | undefined;
669
+ source?: "user" | "template" | "skill" | undefined;
670
+ instructionsTruncated?: boolean | undefined;
671
+ }, {
672
+ key: string;
673
+ enabled: boolean;
674
+ instructions?: string | undefined;
675
+ description?: string | undefined;
676
+ interval?: string | null | undefined;
677
+ source?: "user" | "template" | "skill" | undefined;
678
+ instructionsTruncated?: boolean | undefined;
679
+ }>, "many">;
680
+ queuedAt: z.ZodOptional<z.ZodString>;
681
+ startedAt: z.ZodOptional<z.ZodString>;
682
+ runningAt: z.ZodOptional<z.ZodString>;
683
+ stoppedAt: z.ZodOptional<z.ZodString>;
684
+ erroredAt: z.ZodOptional<z.ZodString>;
685
+ dashboardUrl: z.ZodString;
686
+ }, "strip", z.ZodTypeAny, {
687
+ categories: string[];
688
+ guid: string;
689
+ title: string;
690
+ status: number | null;
691
+ pricing: {
692
+ starter: {
693
+ priceUsd: number;
694
+ monthlyCredits: number;
695
+ };
696
+ pro: {
697
+ priceUsd: number;
698
+ monthlyCredits: number;
699
+ };
700
+ } | null;
701
+ workspace: "personal" | "team";
702
+ credits: {
703
+ monthly: number;
704
+ extra: number;
705
+ used: number;
706
+ remaining: number;
707
+ period?: string | undefined;
708
+ };
709
+ template: {
710
+ custom: boolean;
711
+ guid?: string | undefined;
712
+ title?: string | undefined;
713
+ slug?: string | undefined;
714
+ };
715
+ statusLabel: "error" | "running" | "unknown" | "stopped" | "stopping" | "queued" | "starting" | "setup_required";
716
+ setupRequired: boolean;
717
+ monthlyPriceUsd: number | null;
718
+ subscription: {
719
+ status: string;
720
+ billing: "wallet" | "card";
721
+ switchingToWallet: boolean;
722
+ amountUsd: number | null;
723
+ daysRemaining: number | null;
724
+ cancelAtPeriodEnd: boolean;
725
+ periodEndsAt?: string | undefined;
726
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
727
+ } | null;
728
+ skills: string[];
729
+ extraCreditPacks: {
730
+ priceUsd: number;
731
+ credits: number;
732
+ pack: string;
733
+ }[];
734
+ enabledCommands: string[] | null;
735
+ credentials: {
736
+ key: string;
737
+ optional: boolean;
738
+ title: string;
739
+ oauth: boolean;
740
+ connected: boolean;
741
+ filled: boolean;
742
+ requiredMissing: boolean;
743
+ }[];
744
+ missingCredentials: {
745
+ key: string;
746
+ title: string;
747
+ oauth: boolean;
748
+ }[];
749
+ channels: {
750
+ id: string;
751
+ title: string;
752
+ credentialKey: string;
753
+ enabled: boolean;
754
+ configured: boolean;
755
+ missingFields: string[];
756
+ }[];
757
+ scheduledTasks: {
758
+ key: string;
759
+ enabled: boolean;
760
+ instructions?: string | undefined;
761
+ description?: string | undefined;
762
+ interval?: string | null | undefined;
763
+ source?: "user" | "template" | "skill" | undefined;
764
+ instructionsTruncated?: boolean | undefined;
765
+ }[];
766
+ customInstructions: {
767
+ key: string;
768
+ enabled: boolean;
769
+ instructions?: string | undefined;
770
+ description?: string | undefined;
771
+ interval?: string | null | undefined;
772
+ source?: "user" | "template" | "skill" | undefined;
773
+ instructionsTruncated?: boolean | undefined;
774
+ }[];
775
+ dashboardUrl: string;
776
+ description?: string | undefined;
777
+ createdAt?: string | undefined;
778
+ models?: {
779
+ chat: string | null;
780
+ cron: string | null;
781
+ voicePrep: string | null;
782
+ voicePostcall: string | null;
783
+ } | undefined;
784
+ cover?: string | undefined;
785
+ updatedAt?: string | undefined;
786
+ startedAt?: string | undefined;
787
+ tier?: string | undefined;
788
+ timezone?: string | null | undefined;
789
+ teamSessionMode?: string | undefined;
790
+ selectableModels?: {
791
+ slug: string;
792
+ label?: string | undefined;
793
+ inputCreditsPer1M?: number | undefined;
794
+ outputCreditsPer1M?: number | undefined;
795
+ }[] | undefined;
796
+ queuedAt?: string | undefined;
797
+ runningAt?: string | undefined;
798
+ stoppedAt?: string | undefined;
799
+ erroredAt?: string | undefined;
800
+ }, {
801
+ categories: string[];
802
+ guid: string;
803
+ title: string;
804
+ status: number | null;
805
+ pricing: {
806
+ starter: {
807
+ priceUsd: number;
808
+ monthlyCredits: number;
809
+ };
810
+ pro: {
811
+ priceUsd: number;
812
+ monthlyCredits: number;
813
+ };
814
+ } | null;
815
+ workspace: "personal" | "team";
816
+ credits: {
817
+ monthly: number;
818
+ extra: number;
819
+ used: number;
820
+ remaining: number;
821
+ period?: string | undefined;
822
+ };
823
+ template: {
824
+ custom: boolean;
825
+ guid?: string | undefined;
826
+ title?: string | undefined;
827
+ slug?: string | undefined;
828
+ };
829
+ statusLabel: "error" | "running" | "unknown" | "stopped" | "stopping" | "queued" | "starting" | "setup_required";
830
+ setupRequired: boolean;
831
+ monthlyPriceUsd: number | null;
832
+ subscription: {
833
+ status: string;
834
+ billing: "wallet" | "card";
835
+ switchingToWallet: boolean;
836
+ amountUsd: number | null;
837
+ daysRemaining: number | null;
838
+ cancelAtPeriodEnd: boolean;
839
+ periodEndsAt?: string | undefined;
840
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
841
+ } | null;
842
+ skills: string[];
843
+ extraCreditPacks: {
844
+ priceUsd: number;
845
+ credits: number;
846
+ pack: string;
847
+ }[];
848
+ enabledCommands: string[] | null;
849
+ credentials: {
850
+ key: string;
851
+ optional: boolean;
852
+ title: string;
853
+ oauth: boolean;
854
+ connected: boolean;
855
+ filled: boolean;
856
+ requiredMissing: boolean;
857
+ }[];
858
+ missingCredentials: {
859
+ key: string;
860
+ title: string;
861
+ oauth: boolean;
862
+ }[];
863
+ channels: {
864
+ id: string;
865
+ title: string;
866
+ credentialKey: string;
867
+ enabled: boolean;
868
+ configured: boolean;
869
+ missingFields: string[];
870
+ }[];
871
+ scheduledTasks: {
872
+ key: string;
873
+ enabled: boolean;
874
+ instructions?: string | undefined;
875
+ description?: string | undefined;
876
+ interval?: string | null | undefined;
877
+ source?: "user" | "template" | "skill" | undefined;
878
+ instructionsTruncated?: boolean | undefined;
879
+ }[];
880
+ customInstructions: {
881
+ key: string;
882
+ enabled: boolean;
883
+ instructions?: string | undefined;
884
+ description?: string | undefined;
885
+ interval?: string | null | undefined;
886
+ source?: "user" | "template" | "skill" | undefined;
887
+ instructionsTruncated?: boolean | undefined;
888
+ }[];
889
+ dashboardUrl: string;
890
+ description?: string | undefined;
891
+ createdAt?: string | undefined;
892
+ models?: {
893
+ chat: string | null;
894
+ cron: string | null;
895
+ voicePrep: string | null;
896
+ voicePostcall: string | null;
897
+ } | undefined;
898
+ cover?: string | undefined;
899
+ updatedAt?: string | undefined;
900
+ startedAt?: string | undefined;
901
+ tier?: string | undefined;
902
+ timezone?: string | null | undefined;
903
+ teamSessionMode?: string | undefined;
904
+ selectableModels?: {
905
+ slug: string;
906
+ label?: string | undefined;
907
+ inputCreditsPer1M?: number | undefined;
908
+ outputCreditsPer1M?: number | undefined;
909
+ }[] | undefined;
910
+ queuedAt?: string | undefined;
911
+ runningAt?: string | undefined;
912
+ stoppedAt?: string | undefined;
913
+ erroredAt?: string | undefined;
914
+ }>;
915
+ export type AgentDetail = z.infer<typeof agentDetailSchema>;
916
+ /** The part of a new agent that matters right after deploying it. */
917
+ export declare const deployedAgentSchema: z.ZodObject<{
918
+ guid: z.ZodString;
919
+ title: z.ZodString;
920
+ status: z.ZodNullable<z.ZodNumber>;
921
+ statusLabel: z.ZodEnum<["stopped", "stopping", "queued", "starting", "running", "error", "setup_required", "unknown"]>;
922
+ setupRequired: z.ZodBoolean;
923
+ workspace: z.ZodEnum<["personal", "team"]>;
924
+ template: z.ZodObject<{
925
+ custom: z.ZodBoolean;
926
+ guid: z.ZodOptional<z.ZodString>;
927
+ slug: z.ZodOptional<z.ZodString>;
928
+ title: z.ZodOptional<z.ZodString>;
929
+ }, "strip", z.ZodTypeAny, {
930
+ custom: boolean;
931
+ guid?: string | undefined;
932
+ title?: string | undefined;
933
+ slug?: string | undefined;
934
+ }, {
935
+ custom: boolean;
936
+ guid?: string | undefined;
937
+ title?: string | undefined;
938
+ slug?: string | undefined;
939
+ }>;
940
+ tier: z.ZodOptional<z.ZodString>;
941
+ monthlyPriceUsd: z.ZodNullable<z.ZodNumber>;
942
+ credits: z.ZodObject<{
943
+ monthly: z.ZodNumber;
944
+ extra: z.ZodNumber;
945
+ used: z.ZodNumber;
946
+ remaining: z.ZodNumber;
947
+ period: z.ZodOptional<z.ZodString>;
948
+ }, "strip", z.ZodTypeAny, {
949
+ monthly: number;
950
+ extra: number;
951
+ used: number;
952
+ remaining: number;
953
+ period?: string | undefined;
954
+ }, {
955
+ monthly: number;
956
+ extra: number;
957
+ used: number;
958
+ remaining: number;
959
+ period?: string | undefined;
960
+ }>;
961
+ subscription: z.ZodNullable<z.ZodObject<{
962
+ status: z.ZodString;
963
+ billing: z.ZodEnum<["wallet", "card"]>;
964
+ switchingToWallet: z.ZodBoolean;
965
+ amountUsd: z.ZodNullable<z.ZodNumber>;
966
+ periodEndsAt: z.ZodOptional<z.ZodString>;
967
+ daysRemaining: z.ZodNullable<z.ZodNumber>;
968
+ cancelAtPeriodEnd: z.ZodBoolean;
969
+ atPeriodEnd: z.ZodOptional<z.ZodEnum<["renews", "ends", "unknown"]>>;
970
+ }, "strip", z.ZodTypeAny, {
971
+ status: string;
972
+ billing: "wallet" | "card";
973
+ switchingToWallet: boolean;
974
+ amountUsd: number | null;
975
+ daysRemaining: number | null;
976
+ cancelAtPeriodEnd: boolean;
977
+ periodEndsAt?: string | undefined;
978
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
979
+ }, {
980
+ status: string;
981
+ billing: "wallet" | "card";
982
+ switchingToWallet: boolean;
983
+ amountUsd: number | null;
984
+ daysRemaining: number | null;
985
+ cancelAtPeriodEnd: boolean;
986
+ periodEndsAt?: string | undefined;
987
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
988
+ }>>;
989
+ timezone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
990
+ teamSessionMode: z.ZodOptional<z.ZodString>;
991
+ skills: z.ZodArray<z.ZodString, "many">;
992
+ createdAt: z.ZodOptional<z.ZodString>;
993
+ updatedAt: z.ZodOptional<z.ZodString>;
994
+ } & {
995
+ missingCredentials: z.ZodArray<z.ZodObject<{
996
+ key: z.ZodString;
997
+ title: z.ZodString;
998
+ oauth: z.ZodBoolean;
999
+ }, "strip", z.ZodTypeAny, {
1000
+ key: string;
1001
+ title: string;
1002
+ oauth: boolean;
1003
+ }, {
1004
+ key: string;
1005
+ title: string;
1006
+ oauth: boolean;
1007
+ }>, "many">;
1008
+ channels: z.ZodArray<z.ZodObject<{
1009
+ id: z.ZodString;
1010
+ title: z.ZodString;
1011
+ credentialKey: z.ZodString;
1012
+ enabled: z.ZodBoolean;
1013
+ configured: z.ZodBoolean;
1014
+ missingFields: z.ZodArray<z.ZodString, "many">;
1015
+ }, "strip", z.ZodTypeAny, {
1016
+ id: string;
1017
+ title: string;
1018
+ credentialKey: string;
1019
+ enabled: boolean;
1020
+ configured: boolean;
1021
+ missingFields: string[];
1022
+ }, {
1023
+ id: string;
1024
+ title: string;
1025
+ credentialKey: string;
1026
+ enabled: boolean;
1027
+ configured: boolean;
1028
+ missingFields: string[];
1029
+ }>, "many">;
1030
+ dashboardUrl: z.ZodString;
1031
+ }, "strip", z.ZodTypeAny, {
1032
+ guid: string;
1033
+ title: string;
1034
+ status: number | null;
1035
+ workspace: "personal" | "team";
1036
+ credits: {
1037
+ monthly: number;
1038
+ extra: number;
1039
+ used: number;
1040
+ remaining: number;
1041
+ period?: string | undefined;
1042
+ };
1043
+ template: {
1044
+ custom: boolean;
1045
+ guid?: string | undefined;
1046
+ title?: string | undefined;
1047
+ slug?: string | undefined;
1048
+ };
1049
+ statusLabel: "error" | "running" | "unknown" | "stopped" | "stopping" | "queued" | "starting" | "setup_required";
1050
+ setupRequired: boolean;
1051
+ monthlyPriceUsd: number | null;
1052
+ subscription: {
1053
+ status: string;
1054
+ billing: "wallet" | "card";
1055
+ switchingToWallet: boolean;
1056
+ amountUsd: number | null;
1057
+ daysRemaining: number | null;
1058
+ cancelAtPeriodEnd: boolean;
1059
+ periodEndsAt?: string | undefined;
1060
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
1061
+ } | null;
1062
+ skills: string[];
1063
+ missingCredentials: {
1064
+ key: string;
1065
+ title: string;
1066
+ oauth: boolean;
1067
+ }[];
1068
+ channels: {
1069
+ id: string;
1070
+ title: string;
1071
+ credentialKey: string;
1072
+ enabled: boolean;
1073
+ configured: boolean;
1074
+ missingFields: string[];
1075
+ }[];
1076
+ dashboardUrl: string;
1077
+ createdAt?: string | undefined;
1078
+ updatedAt?: string | undefined;
1079
+ tier?: string | undefined;
1080
+ timezone?: string | null | undefined;
1081
+ teamSessionMode?: string | undefined;
1082
+ }, {
1083
+ guid: string;
1084
+ title: string;
1085
+ status: number | null;
1086
+ workspace: "personal" | "team";
1087
+ credits: {
1088
+ monthly: number;
1089
+ extra: number;
1090
+ used: number;
1091
+ remaining: number;
1092
+ period?: string | undefined;
1093
+ };
1094
+ template: {
1095
+ custom: boolean;
1096
+ guid?: string | undefined;
1097
+ title?: string | undefined;
1098
+ slug?: string | undefined;
1099
+ };
1100
+ statusLabel: "error" | "running" | "unknown" | "stopped" | "stopping" | "queued" | "starting" | "setup_required";
1101
+ setupRequired: boolean;
1102
+ monthlyPriceUsd: number | null;
1103
+ subscription: {
1104
+ status: string;
1105
+ billing: "wallet" | "card";
1106
+ switchingToWallet: boolean;
1107
+ amountUsd: number | null;
1108
+ daysRemaining: number | null;
1109
+ cancelAtPeriodEnd: boolean;
1110
+ periodEndsAt?: string | undefined;
1111
+ atPeriodEnd?: "unknown" | "renews" | "ends" | undefined;
1112
+ } | null;
1113
+ skills: string[];
1114
+ missingCredentials: {
1115
+ key: string;
1116
+ title: string;
1117
+ oauth: boolean;
1118
+ }[];
1119
+ channels: {
1120
+ id: string;
1121
+ title: string;
1122
+ credentialKey: string;
1123
+ enabled: boolean;
1124
+ configured: boolean;
1125
+ missingFields: string[];
1126
+ }[];
1127
+ dashboardUrl: string;
1128
+ createdAt?: string | undefined;
1129
+ updatedAt?: string | undefined;
1130
+ tier?: string | undefined;
1131
+ timezone?: string | null | undefined;
1132
+ teamSessionMode?: string | undefined;
1133
+ }>;
1134
+ export type DeployedAgent = z.infer<typeof deployedAgentSchema>;
1135
+ export declare function toDeployedAgent(agent: AgentDetail): DeployedAgent;
1136
+ /** The compact row used by list_my_agents. */
1137
+ export declare function toAgentSummary(row: Record<string, unknown>): AgentSummary;
1138
+ /** Slugs a deployed agent may switch its chat, cron or voice model to. */
1139
+ export declare function selectableModelSlugs(row: Record<string, unknown>): Set<string>;
1140
+ /**
1141
+ * The full view of one deployed agent (Detail, Deploy and Update rows): its
1142
+ * status, plan, prices, credits and settings, and the state of each
1143
+ * credential and channel.
1144
+ */
1145
+ export declare function toAgentDetail(row: Record<string, unknown>): AgentDetail;
1146
+ export declare function formatSubscriptionLine(subscription: AgentSubscription | null, plainMember?: boolean): string;
1147
+ /** Without an active plan, an agent starts only on the extra credits it has left. */
1148
+ export declare function startNeedsPlan(agent: Pick<AgentSummary, 'subscription' | 'credits'>): boolean;
1149
+ export declare function formatAgentSummaryLines(agent: AgentSummary, plainMember?: boolean): string[];
1150
+ /** A scheduled task as a list line: key, on or off, schedule and description, then shortenedNote if its text was cut. */
1151
+ export declare function formatScheduledTaskLine(task: AgentTask, shortenedNote?: string): string;
1152
+ /** A custom instruction as a list line: key, on or off and description, then shortenedNote if its text was cut. */
1153
+ export declare function formatCustomInstructionLine(task: AgentTask, shortenedNote?: string): string;
1154
+ /** Each model with its credits per 1M input and output tokens, separated by semicolons. */
1155
+ export declare function formatModelRates(models: readonly SelectableModel[]): string;
1156
+ export declare function formatAgentDetail(agent: AgentDetail, plainMember?: boolean): string;
1157
+ export declare function normalizeCustomSkillKey(input: string, interval?: string | null): string | null;
1158
+ export declare function isGuid(value: string): boolean;
1159
+ export interface AgentApiClient {
1160
+ post<T = Record<string, unknown>>(path: string, body?: Record<string, unknown>, signal?: AbortSignal): Promise<T>;
1161
+ }
1162
+ /** Reads one agent's Detail row; tool results are built from it with toAgentDetail or toAgentSummary. */
1163
+ export declare function readAgentDetail(client: AgentApiClient, guid: string, signal?: AbortSignal): Promise<Record<string, unknown>>;
1164
+ export declare function agentPollInterval(elapsedMs: number): number;
1165
+ export interface AgentWaitResult {
1166
+ row: Record<string, unknown>;
1167
+ /** False when no read succeeded, so row is the fallback row passed in. */
1168
+ fresh: boolean;
1169
+ settled: boolean;
1170
+ elapsedMs: number;
1171
+ }
1172
+ /** Reads the agent until its status is no longer stopping, queued or starting. */
1173
+ export declare function waitForAgentToSettle(client: AgentApiClient, guid: string, waitSeconds: number, extra: ToolCallContext | undefined, fallbackRow: Record<string, unknown>): Promise<AgentWaitResult>;
1174
+ export interface NextAction {
1175
+ tool: string;
1176
+ arguments: Record<string, unknown>;
1177
+ reason: string;
1178
+ }
1179
+ /** The call that starts on the first missing credential, with every argument it needs. */
1180
+ export declare function missingCredentialStep(agent: Pick<AgentDetail, 'guid' | 'missingCredentials'>): NextAction | undefined;
1181
+ /**
1182
+ * The most useful next call for an agent in this state, if any. For a team
1183
+ * member without admin rights it is only the wait for a status that moves on
1184
+ * by itself.
1185
+ */
1186
+ export declare function nextStepForAgent(agent: AgentDetail, waitSeconds: number, plainMember?: boolean): NextAction | undefined;
1187
+ /** Whether a result:false answer is one of the refusals known to leave the wallet untouched. */
1188
+ export declare function isPreChargeRefusal(error: unknown): boolean;
1189
+ /**
1190
+ * After a paid request was sent, whether it may still have gone through.
1191
+ * Only the known refusals and client errors (other than a timeout or rate
1192
+ * limit) settle it; any other answer, a network failure or a server error
1193
+ * leaves it open.
1194
+ */
1195
+ export declare function outcomeUnknown(error: unknown): boolean;
1196
+ /** Advice for a status reached after a start, renew or deploy. With the agent, a failed agent without a plan or extra credits is sent to billing. */
1197
+ export declare function settledStatusAdvice(status: number | null, plainMember?: boolean, agent?: Pick<AgentSummary, 'subscription' | 'credits'>): string;
1198
+ export {};
1199
+ //# sourceMappingURL=user-agent.d.ts.map