@tai42/api-client 25.0.0 → 26.0.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 (157) hide show
  1. package/dist/agents.d.ts +1 -0
  2. package/dist/agents.d.ts.map +1 -1
  3. package/dist/agents.js.map +1 -1
  4. package/dist/client/auth-client.d.ts +1 -0
  5. package/dist/client/auth-client.d.ts.map +1 -1
  6. package/dist/client/backup-client.d.ts +1 -0
  7. package/dist/client/backup-client.d.ts.map +1 -1
  8. package/dist/client/capabilities-client.d.ts +1 -0
  9. package/dist/client/capabilities-client.d.ts.map +1 -1
  10. package/dist/client/channels-client.d.ts +4 -1
  11. package/dist/client/channels-client.d.ts.map +1 -1
  12. package/dist/client/config-client.d.ts +1 -0
  13. package/dist/client/config-client.d.ts.map +1 -1
  14. package/dist/client/connectors-client.d.ts +7 -0
  15. package/dist/client/connectors-client.d.ts.map +1 -1
  16. package/dist/client/conversations-client.d.ts +9 -9
  17. package/dist/client/hooks-client.d.ts +1 -1
  18. package/dist/client/index.d.ts +529 -198
  19. package/dist/client/index.d.ts.map +1 -1
  20. package/dist/client/index.js +9 -1
  21. package/dist/client/index.js.map +1 -1
  22. package/dist/client/interactions-client.d.ts +1 -1
  23. package/dist/client/manifest-client.d.ts +161 -30
  24. package/dist/client/manifest-client.d.ts.map +1 -1
  25. package/dist/client/manifest-client.js +16 -5
  26. package/dist/client/manifest-client.js.map +1 -1
  27. package/dist/client/marketplace-client.d.ts +132 -83
  28. package/dist/client/marketplace-client.d.ts.map +1 -1
  29. package/dist/client/observability-client.d.ts +2 -2
  30. package/dist/client/presets-client.d.ts +113 -11
  31. package/dist/client/presets-client.d.ts.map +1 -1
  32. package/dist/client/presets-client.js +4 -3
  33. package/dist/client/presets-client.js.map +1 -1
  34. package/dist/client/profiles-client.d.ts +1 -0
  35. package/dist/client/profiles-client.d.ts.map +1 -1
  36. package/dist/client/states-client.d.ts +30 -21
  37. package/dist/client/states-client.d.ts.map +1 -1
  38. package/dist/client/states-client.js +5 -0
  39. package/dist/client/states-client.js.map +1 -1
  40. package/dist/client/storage-client.d.ts +19 -0
  41. package/dist/client/storage-client.d.ts.map +1 -1
  42. package/dist/client/storage-client.js +14 -17
  43. package/dist/client/storage-client.js.map +1 -1
  44. package/dist/client/templates-client.d.ts +20 -2
  45. package/dist/client/templates-client.d.ts.map +1 -1
  46. package/dist/client/templates-client.js +1 -1
  47. package/dist/client/templates-client.js.map +1 -1
  48. package/dist/client/tool-extensions-client.d.ts +3 -0
  49. package/dist/client/tool-extensions-client.d.ts.map +1 -1
  50. package/dist/client/transport.d.ts +2 -1
  51. package/dist/client/transport.d.ts.map +1 -1
  52. package/dist/client/transport.js.map +1 -1
  53. package/dist/errors.d.ts +13 -0
  54. package/dist/errors.d.ts.map +1 -1
  55. package/dist/errors.js +31 -0
  56. package/dist/errors.js.map +1 -1
  57. package/dist/fleet-report.d.ts +14 -2
  58. package/dist/fleet-report.d.ts.map +1 -1
  59. package/dist/fleet-report.js +41 -10
  60. package/dist/fleet-report.js.map +1 -1
  61. package/dist/generated/api-routes.d.ts +17 -1
  62. package/dist/generated/api-routes.d.ts.map +1 -1
  63. package/dist/generated/api-routes.js +7 -2
  64. package/dist/generated/api-routes.js.map +1 -1
  65. package/dist/generated/openapi-schemas.d.ts +737 -160
  66. package/dist/generated/openapi-schemas.d.ts.map +1 -1
  67. package/dist/generated/openapi-schemas.js +46 -27
  68. package/dist/generated/openapi-schemas.js.map +1 -1
  69. package/dist/generated/served-schemas.d.ts +80 -16
  70. package/dist/generated/served-schemas.d.ts.map +1 -1
  71. package/dist/generated/served-schemas.js +64 -4
  72. package/dist/generated/served-schemas.js.map +1 -1
  73. package/dist/http.d.ts +6 -0
  74. package/dist/http.d.ts.map +1 -1
  75. package/dist/http.js +11 -0
  76. package/dist/http.js.map +1 -1
  77. package/dist/index.d.ts +3 -3
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js.map +1 -1
  80. package/dist/schemas/auth-routes.d.ts +34 -8
  81. package/dist/schemas/auth-routes.d.ts.map +1 -1
  82. package/dist/schemas/auth-routes.js +16 -8
  83. package/dist/schemas/auth-routes.js.map +1 -1
  84. package/dist/schemas/backup.d.ts +13 -0
  85. package/dist/schemas/backup.d.ts.map +1 -1
  86. package/dist/schemas/backup.js +5 -0
  87. package/dist/schemas/backup.js.map +1 -1
  88. package/dist/schemas/capabilities.d.ts +11 -6
  89. package/dist/schemas/capabilities.d.ts.map +1 -1
  90. package/dist/schemas/capabilities.js +10 -6
  91. package/dist/schemas/capabilities.js.map +1 -1
  92. package/dist/schemas/channels.d.ts +7 -1
  93. package/dist/schemas/channels.d.ts.map +1 -1
  94. package/dist/schemas/connectors.d.ts +6 -0
  95. package/dist/schemas/connectors.d.ts.map +1 -1
  96. package/dist/schemas/conversations.d.ts +11 -11
  97. package/dist/schemas/extensions.d.ts +8 -4
  98. package/dist/schemas/extensions.d.ts.map +1 -1
  99. package/dist/schemas/extensions.js +5 -4
  100. package/dist/schemas/extensions.js.map +1 -1
  101. package/dist/schemas/hooks.d.ts +1 -1
  102. package/dist/schemas/interactions.d.ts +3 -3
  103. package/dist/schemas/manifest-mcp.d.ts +79 -0
  104. package/dist/schemas/manifest-mcp.d.ts.map +1 -1
  105. package/dist/schemas/manifest-mcp.js +19 -0
  106. package/dist/schemas/manifest-mcp.js.map +1 -1
  107. package/dist/schemas/marketplace.d.ts +155 -84
  108. package/dist/schemas/marketplace.d.ts.map +1 -1
  109. package/dist/schemas/marketplace.js +7 -2
  110. package/dist/schemas/marketplace.js.map +1 -1
  111. package/dist/schemas/observability.d.ts +3 -3
  112. package/dist/schemas/presets.d.ts +107 -14
  113. package/dist/schemas/presets.d.ts.map +1 -1
  114. package/dist/schemas/presets.js +7 -5
  115. package/dist/schemas/presets.js.map +1 -1
  116. package/dist/schemas/profiles.d.ts +1 -0
  117. package/dist/schemas/profiles.d.ts.map +1 -1
  118. package/dist/schemas/served.d.ts +67 -13
  119. package/dist/schemas/served.d.ts.map +1 -1
  120. package/dist/schemas/states.d.ts +22 -22
  121. package/dist/schemas/storage.d.ts +30 -1
  122. package/dist/schemas/storage.d.ts.map +1 -1
  123. package/dist/schemas/storage.js +8 -1
  124. package/dist/schemas/storage.js.map +1 -1
  125. package/dist/schemas/system-kinds.d.ts +1 -0
  126. package/dist/schemas/system-kinds.d.ts.map +1 -1
  127. package/dist/schemas/templates.d.ts +110 -83
  128. package/dist/schemas/templates.d.ts.map +1 -1
  129. package/dist/schemas/templates.js +14 -2
  130. package/dist/schemas/templates.js.map +1 -1
  131. package/dist/schemas/tools.d.ts +1 -1
  132. package/package.json +3 -3
  133. package/src/agents.ts +1 -0
  134. package/src/client/index.ts +9 -2
  135. package/src/client/manifest-client.ts +39 -12
  136. package/src/client/presets-client.ts +20 -6
  137. package/src/client/states-client.ts +10 -0
  138. package/src/client/storage-client.ts +21 -17
  139. package/src/client/templates-client.ts +1 -1
  140. package/src/client/transport.ts +3 -1
  141. package/src/errors.ts +34 -0
  142. package/src/fleet-report.ts +46 -7
  143. package/src/generated/api-routes.ts +7 -2
  144. package/src/generated/openapi-schemas.ts +80 -31
  145. package/src/generated/served-schemas.ts +64 -4
  146. package/src/http.ts +12 -0
  147. package/src/index.ts +19 -2
  148. package/src/schemas/auth-routes.ts +18 -8
  149. package/src/schemas/backup.ts +7 -0
  150. package/src/schemas/capabilities.ts +10 -6
  151. package/src/schemas/channels.ts +2 -0
  152. package/src/schemas/extensions.ts +5 -4
  153. package/src/schemas/manifest-mcp.ts +25 -0
  154. package/src/schemas/marketplace.ts +7 -2
  155. package/src/schemas/presets.ts +13 -6
  156. package/src/schemas/storage.ts +10 -1
  157. package/src/schemas/templates.ts +17 -1
@@ -68,7 +68,7 @@ export const freshLife = z.object({ "generation": z.number().int(), "kind": z.st
68
68
  export const recycleEntry = z.object({ "detail": z.string().nullable().default(null), "generation_before": z.number().int(), "kind": z.string(), "name": z.string(), "status": z.string() });
69
69
  export const recycleStop = z.object({ "detail": z.string(), "kind": z.string(), "name": z.string().nullable() });
70
70
  export const recycleRoll = z.object({ "fresh": z.array(freshLife), "recycle": z.array(recycleEntry), "recycle_stopped": recycleStop.nullable().default(null) });
71
- export const applyResponse = z.object({ "awaiting_respawn": z.array(awaitingWorker).default([]), "env_keys": z.number().int(), "fanout": fanoutSummary, "recycle": recycleRoll.nullable().default(null), "status": z.string() });
71
+ export const applyResponse = z.object({ "awaiting_respawn": z.array(awaitingWorker).default([]), "env_keys": z.number().int(), "fanout": fanoutSummary, "recycle": recycleRoll.nullable().default(null), "span_release_error": z.string().nullable().default(null), "status": z.string() });
72
72
  export const applyResult = z.object({ "applied": z.boolean(), "data": z.record(z.string(), z.unknown()).nullable().default(null), "seq": z.number().nullable().default(null), "skipped": z.array(z.record(z.string(), z.unknown())).default([]) }).strict();
73
73
  export const replyToStatus = z.enum(["found", "not_found", "sensitive", "no_text"]);
74
74
  export const replyTo = z.object({ "message_id": z.string(), "status": replyToStatus, "text": z.string().nullable() }).strict();
@@ -84,7 +84,7 @@ export const backendInfo = z.object({ "backend": z.string().nullable().default(n
84
84
  export const backupExport = z.object({ "sections": z.array(z.string()) });
85
85
  export const backupExportDocument = z.object({ "created_at": z.string(), "errors": z.record(z.string(), z.string()), "sections": z.record(z.string(), z.unknown()), "version": z.number().int() });
86
86
  export const backupImport = z.object({ "document": z.record(z.string(), z.unknown()), "mode": z.enum(["skip", "overwrite"]).default("skip"), "sections": z.array(z.string()) });
87
- export const backupSectionReport = z.object({ "awaiting_respawn": z.array(awaitingWorker).default([]), "created": z.number().int().default(0), "details": z.record(z.string(), z.unknown()).default({}), "errors": z.array(z.string()).default([]), "fanout": fanoutSummary.nullable().default(null), "recycle": recycleRoll.nullable().default(null), "skipped": z.number().int().default(0), "updated": z.number().int().default(0) }).strict();
87
+ export const backupSectionReport = z.object({ "awaiting_respawn": z.array(awaitingWorker).default([]), "created": z.number().int().default(0), "details": z.record(z.string(), z.unknown()).default({}), "errors": z.array(z.string()).default([]), "fanout": fanoutSummary.nullable().default(null), "recycle": recycleRoll.nullable().default(null), "skipped": z.number().int().default(0), "span_release_error": z.string().nullable().default(null), "updated": z.number().int().default(0) }).strict();
88
88
  export const backupImportResult = z.object({ "ok": z.boolean(), "sections": z.record(z.string(), backupSectionReport) });
89
89
  export const backupSectionInfo = z.object({ "name": z.string(), "secret": z.boolean() });
90
90
  export const backupSectionListing = z.array(backupSectionInfo);
@@ -92,7 +92,8 @@ export const buttonMethod = z.object({ "href": z.string(), "icon": z.string().nu
92
92
  export const cacheClearResult = z.object({ "cleared": z.boolean(), "fanout": fanoutSummary });
93
93
  export const channelConversationRouteCreate = z.object({ "callback_url": z.null().default(null), "cancel_expr": templatedText.nullable().default(null), "channel": z.string().regex(new RegExp("^[^:]*[^:\\s][^:]*$")), "door": z.literal("channel"), "execution_key": z.string().min(1), "extras_expr": templatedText.nullable().default(null), "initial_mode": z.enum(["agent", "manual"]).default("agent"), "locale": z.string().nullable().default(null), "our_identity": z.string().regex(new RegExp("\\S")), "overlap": overlapPolicy.default({ "deliver": "one", "running": "continue", "settle_seconds": 0 }), "reply_expr": templatedText.nullable().default(null), "reply_texts": replyTexts.nullable().default(null), "resume_expr": templatedText.nullable().default(null), "route_name": z.string().regex(new RegExp("^[a-z0-9-]+$")), "start_expr": templatedText.nullable().default(null), "target_kind": z.enum(["agent", "tool"]), "target_name": z.string().min(1), "turns_per_hour_override": z.number().int().gt(0).nullable().default(null) });
94
94
  export const channelConversationRouteView = z.object({ "callback_url": z.null().default(null), "cancel_expr": templatedText.nullable().default(null), "channel": z.string().regex(new RegExp("^[^:]*[^:\\s][^:]*$")), "door": z.literal("channel"), "execution_key": z.string().min(1), "execution_key_fingerprint": z.string(), "extras_expr": templatedText.nullable().default(null), "initial_mode": z.enum(["agent", "manual"]).default("agent"), "locale": z.string().nullable().default(null), "our_identity": z.string().regex(new RegExp("\\S")), "overlap": overlapPolicy.default({ "deliver": "one", "running": "continue", "settle_seconds": 0 }), "reply_expr": templatedText.nullable().default(null), "reply_texts": replyTexts.nullable().default(null), "resume_expr": templatedText.nullable().default(null), "route_name": z.string().regex(new RegExp("^[a-z0-9-]+$")), "start_expr": templatedText.nullable().default(null), "target_kind": z.enum(["agent", "tool"]), "target_name": z.string().min(1), "turns_per_hour_override": z.number().int().gt(0).nullable().default(null) });
95
- export const channelListing = z.object({ "channels": z.array(z.string()) });
95
+ export const channelEntry = z.object({ "identity_hint": z.string().nullable(), "name": z.string() });
96
+ export const channelListing = z.object({ "channels": z.array(channelEntry) });
96
97
  export const checkpointSweepResult = z.object({ "finished_minutes": z.number().int(), "finished_swept": z.array(z.string()), "provider": z.string(), "skipped": z.string().nullable().default(null), "spared": z.array(z.string()), "swept_count": z.number().int(), "waiting_minutes": z.number().int(), "waiting_swept": z.array(z.string()) });
97
98
  export const claimExchange = z.object({ "token": z.string().min(1) });
98
99
  export const claimExchangeResult = z.object({ "token": z.string(), "user_id": z.string() });
@@ -130,7 +131,7 @@ export const conversationTurnAck = z.object({ "answer": conversationAnswer.nulla
130
131
  export const crontabCadence = z.object({ "day_of_month": z.string().default("*"), "day_of_week": z.string().default("*"), "hour": z.string().default("*"), "kind": z.literal("crontab").default("crontab"), "minute": z.string().default("*"), "month_of_year": z.string().default("*") }).strict();
131
132
  export const detachAck = z.object({ "detached": z.boolean(), "state": z.string(), "template": z.string() });
132
133
  export const dirDeleted = z.object({ "deleted": z.boolean(), "dir": z.string() });
133
- export const disconnectResponse = z.object({ "connection_id": z.string(), "fanout": z.record(z.string(), z.unknown()).nullable().default(null), "removed_manifest_entries": z.array(z.string()), "upstream_revoke_outcome": z.enum(["success", "failed", "skipped"]), "upstream_revoke_status": z.number().int().nullable().default(null) });
134
+ export const disconnectResponse = z.object({ "connection_id": z.string(), "fanout": z.record(z.string(), z.unknown()).nullable().default(null), "removed_manifest_entries": z.array(z.string()), "span_release_error": z.string().nullable().default(null), "upstream_revoke_outcome": z.enum(["success", "failed", "skipped"]), "upstream_revoke_status": z.number().int().nullable().default(null) });
134
135
  export const discoverServerRequest = z.object({ "provider_id": z.string().nullable().default(null), "url": z.string().nullable().default(null) });
135
136
  export const discoveredServerView = z.object({ "authorization_servers": z.array(z.string()), "automatic_client": z.boolean(), "client_issuer": z.string().nullable().default(null), "issuer": z.string(), "redirect_uri": z.string().nullable().default(null), "registration_supported": z.boolean(), "resource": z.string(), "resource_name": z.string().nullable().default(null), "scopes_supported": z.array(z.string()), "suggested_display_name": z.string(), "suggested_id": z.string(), "url": z.string() });
136
137
  export const documentVersion = z.object({ "body": z.record(z.string(), z.unknown()), "created_at": z.string(), "is_current": z.boolean().default(false), "tags": z.array(z.string()).default([]), "version": z.number().int() });
@@ -139,7 +140,7 @@ export const envUpdate = z.object({ "env": z.record(z.string(), z.string()), "se
139
140
  export const envView = z.object({ "env": z.record(z.string(), z.string()), "secret_keys": z.array(z.string()) });
140
141
  export const eraseAck = z.object({ "erased": z.boolean() });
141
142
  export const error = z.object({ "code": z.string().optional(), "error": z.string() });
142
- export const extensionView = z.object({ "kind": z.string(), "multiple": z.boolean(), "name": z.string() });
143
+ export const extensionView = z.object({ "config_schema": z.record(z.string(), z.unknown()).nullable(), "kind": z.string(), "multiple": z.boolean(), "name": z.string() });
143
144
  export const extensionListing = z.array(extensionView);
144
145
  export const failedConversationsEnvelope = z.object({ "items": z.array(conversationRecordView), "total": z.number().int(), "unreadable": z.number().int().default(0) });
145
146
  export const failedMcp = z.object({ "category": z.string(), "http_status": z.number().int().nullable(), "message": z.string(), "status": z.string(), "title": z.string() });
@@ -155,6 +156,8 @@ export const folderRecord = z.object({ "id": z.string(), "name": z.string(), "pa
155
156
  export const folderRename = z.object({ "name": z.string() });
156
157
  export const formField = z.object({ "autocomplete": z.string().nullable().default(null), "label": z.string().min(1), "name": z.string().min(1), "secret": z.boolean().default(false) }).strict();
157
158
  export const formMethod = z.object({ "fields": z.array(formField).min(1), "id": z.string().min(1), "purpose": z.enum(["login", "invite"]).default("login"), "shape": z.literal("form").default("form"), "submit_path": z.string(), "title": z.string().min(1) }).strict();
159
+ export const referenceHolder = z.object({ "kind": z.string().min(1), "locator": z.record(z.string(), z.union([z.string(), z.number().int()])).default({}), "name": z.string().min(1), "summary": z.string().min(1) }).strict();
160
+ export const holdersPreview = z.object({ "action": z.enum(["rename", "delete", "detach"]), "holders": z.array(referenceHolder) });
158
161
  export const hookListView = z.object({ "items": z.array(hookParams), "topic_verifiers": z.record(z.string(), jsonValue), "total": z.number().int(), "trigger_auth": z.record(z.string(), z.enum(["public", "verifier", "token", "token+api_key", "out-of-service"])) });
159
162
  export const hookRegisterResult = z.object({ "name": z.string(), "registered": z.boolean() });
160
163
  export const hookRunClaimIntentView = z.object({ "action": z.enum(["resume", "take"]), "ids": z.array(z.string()) });
@@ -192,11 +195,15 @@ export const setupLogin = z.object({ "kinds": z.array(z.enum(["password", "invit
192
195
  export const loginMethodsListing = z.object({ "claim_fragment_key": z.string(), "methods": z.array(z.discriminatedUnion("shape", [formMethod, buttonMethod])), "needs_setup": z.boolean(), "setup_login": setupLogin.nullable().default(null) });
193
196
  export const logoutResult = z.object({ "revoked": z.boolean() });
194
197
  export const mCPConfig = z.object({ "args": z.array(z.string()).default([]), "command": z.string().nullable().default(null), "env": z.record(z.string(), z.string()).default({}), "headers": z.record(z.string(), z.string()).default({}), "type": z.string().nullable().default(null), "uds": z.string().nullable().default(null), "url": z.string().nullable().default(null) }).strict();
198
+ export const manifestExtensionMap = z.object({ "extensions": z.record(z.string(), z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())])))), "title": z.string() });
199
+ export const manifestExtensionSettings = z.object({ "api_tools": z.record(z.string(), z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())])))), "backend_module": z.string().nullable(), "extensions_modules": z.array(z.string()), "mcp": z.array(manifestExtensionMap), "tools": z.array(manifestExtensionMap) });
195
200
  export const manifestReplace = z.object({ "manifest_text": z.string() });
196
201
  export const marketplaceInstall = z.object({ "accept_public_routes": z.boolean().default(false), "env": z.record(z.string(), z.string()).nullable().default(null), "ref": z.string(), "route_mounts": z.record(z.string(), z.string()).nullable().default(null), "secret_keys": z.array(z.string()).nullable().default(null), "version": z.string().nullable().default(null) });
197
202
  export const marketplaceInstallPreview = z.object({ "ref": z.string(), "route_mounts": z.record(z.string(), z.string()).nullable().default(null), "version": z.string().nullable().default(null) });
198
203
  export const marketplaceUninstall = z.object({ "ref": z.string() });
199
204
  export const marketplaceUpdate = z.object({ "accept_public_routes": z.boolean().default(false), "env": z.record(z.string(), z.string()).nullable().default(null), "ref": z.string(), "route_mounts": z.record(z.string(), z.string()).nullable().default(null), "secret_keys": z.array(z.string()).nullable().default(null), "version": z.string().nullable().default(null) });
205
+ export const mcpAdvertisedTool = z.object({ "bound": z.boolean(), "description": z.string().nullable(), "name": z.string(), "selected": z.boolean(), "title": z.string().nullable(), "unbound_reason": z.enum(["server_failed", "not_loaded", "preset_conflict", "unusable_schema", "not_listed_at_bind"]).nullable() });
206
+ export const mcpAdvertisedTools = z.object({ "exclude": z.array(z.string()), "include": z.array(z.string()), "title": z.string(), "tools": z.array(mcpAdvertisedTool), "unadvertised": z.array(z.string()) });
200
207
  export const taiMCPConfig = z.object({ "config": mCPConfig, "exclude": z.array(z.string()).default([]), "extensions": z.record(z.string(), z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())])))).default({}), "include": z.array(z.string()).default([]), "managed": connectorRef.nullable().default(null), "title": z.string() }).strict();
201
208
  export const mcpConfigUpdate = z.object({ "mcp": z.array(taiMCPConfig) });
202
209
  export const mcpEntriesAdd = z.object({ "entries": z.array(taiMCPConfig), "replace": z.boolean().default(false) });
@@ -205,6 +212,7 @@ export const mcpEnvRefList = z.array(mcpEnvRef);
205
212
  export const mcpHealth = z.object({ "consecutive_failures": z.number().int(), "failing_since": z.string().nullable(), "last_error": z.record(z.string(), z.string()).nullable(), "last_success": z.string().nullable() });
206
213
  export const mcpStatusSnapshot = z.object({ "bound": z.record(z.string(), z.array(z.string())), "failed": z.array(failedMcp), "health": z.record(z.string(), mcpHealth) });
207
214
  export const mcpTargets = z.object({ "targets": z.array(z.string()).nullable().default(null) });
215
+ export const mcpToolFilterUpdate = z.object({ "exclude": z.array(z.string()).default([]), "include": z.array(z.string()).default([]) });
208
216
  export const memberActionDescriptor = z.object({ "destructive": z.boolean(), "input_schema": z.record(z.string(), z.unknown()), "key": z.string().min(1), "label": z.string(), "result_schema": z.record(z.string(), z.unknown()), "scope": z.enum(["page", "member_row", "invite_row"]) }).strict();
209
217
  export const memberActionCatalog = z.object({ "actions": z.array(memberActionDescriptor) }).strict();
210
218
  export const memberPrincipalState = z.object({ "disabled": z.boolean(), "role": z.string().min(1).nullable(), "user_id": z.string().min(1) }).strict();
@@ -225,7 +233,7 @@ export const oAuthCancelled = z.object({ "kind": z.literal("cancelled"), "messag
225
233
  export const oAuthComplete = z.object({ "code": z.string().nullable().default(null), "error": z.string().nullable().default(null), "iss": z.string().nullable().default(null), "state": z.string().nullable().default(null) });
226
234
  export const oAuthFailed = z.object({ "kind": z.literal("failed"), "reason": z.string() });
227
235
  export const oAuthNotConfigured = z.object({ "kind": z.literal("not_configured") });
228
- export const oAuthSuccess = z.object({ "connection_id": z.string(), "fanout": fanoutSummary, "kind": z.literal("success"), "return_url": z.string() });
236
+ export const oAuthSuccess = z.object({ "connection_id": z.string(), "fanout": fanoutSummary, "kind": z.literal("success"), "return_url": z.string(), "span_release_error": z.string().nullable().default(null) });
229
237
  export const oAuthCompletionResult = z.discriminatedUnion("kind", [oAuthNotConfigured, oAuthCancelled, oAuthFailed, oAuthSuccess]);
230
238
  export const observabilityMetricsCapabilities = z.object({ "dimensions": z.array(z.string()), "measures": z.array(z.string()) });
231
239
  export const observabilityCapabilities = z.object({ "incompatibleFilters": z.record(z.string(), z.array(z.string())), "metrics": observabilityMetricsCapabilities, "pageSizeMax": z.number().int(), "sortKeys": z.array(z.enum(["createdAt", "cost", "latencyMs", "totalTokens"])) });
@@ -236,7 +244,7 @@ export const opaqueJson = jsonValue;
236
244
  export const parkedEntry = z.object({ "answer_format": z.string().nullable().default(null), "asked_by": z.array(z.string()).nullable().default(null), "audience": z.string().nullable().default(null), "channel": z.string().nullable().default(null), "created_at": z.string().nullable().default(null), "error": z.unknown().default(null), "expiry_at": z.string().nullable().default(null), "format_payload": z.record(z.string(), z.unknown()).nullable().default(null), "group_id": z.string().nullable().default(null), "id": z.string(), "media": z.array(z.record(z.string(), z.unknown())).nullable().default(null), "on_expiry": z.enum(["kill", "resume"]).nullable().default(null), "payload": z.record(z.string(), z.unknown()).nullable().default(null), "question": z.string().nullable().default(null), "recipient": z.string().nullable().default(null), "result": z.unknown().default(null), "status": z.enum(["asking", "running", "finished", "failed"]), "thread_id": z.string().nullable().default(null), "to": z.enum(["user", "caller"]).nullable().default(null) }).strict();
237
245
  export const passwordCredential = z.object({ "email": z.string().min(1), "kind": z.literal("password").default("password"), "password": z.string().min(1) }).strict();
238
246
  export const patchSubServicesRequest = z.object({ "enabled_sub_services": z.array(z.string()).min(1).max(64), "return_url": z.string().nullable().default(null) });
239
- export const patchSubServicesResponse = z.object({ "added_manifest_entries": z.array(z.string()).default([]), "authorize_url": z.string().nullable().default(null), "connection_id": z.string(), "consent_required": z.boolean(), "enabled_sub_services": z.array(z.string()), "fanout": z.record(z.string(), z.unknown()).nullable().default(null), "flow_id": z.string().nullable().default(null), "removed_manifest_entries": z.array(z.string()).default([]) });
247
+ export const patchSubServicesResponse = z.object({ "added_manifest_entries": z.array(z.string()).default([]), "authorize_url": z.string().nullable().default(null), "connection_id": z.string(), "consent_required": z.boolean(), "enabled_sub_services": z.array(z.string()), "fanout": z.record(z.string(), z.unknown()).nullable().default(null), "flow_id": z.string().nullable().default(null), "removed_manifest_entries": z.array(z.string()).default([]), "span_release_error": z.string().nullable().default(null) });
240
248
  export const patternEntry = z.object({ "open_prefix": z.string().nullable(), "pattern": z.string(), "scope_id": z.string() });
241
249
  export const pendingInteraction = z.object({ "audience": z.string().nullable().default(null), "channel": z.string().nullable().default(null), "created_at": z.string(), "expiry_at": z.string().nullable().default(null), "group_id": z.string(), "interaction_id": z.string(), "mode": z.string(), "question": z.string(), "recipient": z.string().nullable().default(null), "thread_id": z.string().nullable().default(null) });
242
250
  export const pendingInteractionListing = z.object({ "count": z.number().int(), "items": z.array(pendingInteraction) });
@@ -245,21 +253,20 @@ export const person = z.object({ "addresses": z.array(personAddress).min(1), "cr
245
253
  export const personDeleteResult = z.object({ "absorbed_person_ids": z.array(z.string()), "erased": z.boolean(), "person_id": z.string(), "removed": z.number().int(), "states_erased": z.number().int() });
246
254
  export const policyRollback = z.object({ "version": z.number().int() });
247
255
  export const policyRollbackResult = z.object({ "active_version": z.number().int(), "user_id": z.string() });
248
- export const preservedManifestView = z.object({ "mcp": z.array(z.record(z.string(), z.unknown())), "user_tools": z.array(z.string()) });
249
- export const presetCreate = z.object({ "base_tool": z.string(), "description": z.string(), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))).default([]), "fixed_kwargs": z.record(z.string(), z.unknown()).default({}), "input_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "name": z.string(), "output_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "state_binding": stateBinding.nullable().default(null) });
250
- export const presetCreateResult = z.object({ "active_version": z.number().int(), "base_tool": z.string(), "conflicted": z.boolean(), "conflicted_reason": z.string().nullable(), "description": z.string(), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))), "fanout": fanoutSummary, "input_schema": z.record(z.string(), z.unknown()).nullable(), "name": z.string(), "output_schema": z.record(z.string(), z.unknown()).nullable(), "used_by": z.array(z.string()), "uses": z.array(z.string()) });
256
+ export const preservedManifestView = z.object({ "extension_settings": manifestExtensionSettings, "mcp": z.array(z.record(z.string(), z.unknown())), "user_tools": z.array(z.string()) });
257
+ export const presetCreate = z.object({ "base_tool": z.string(), "description": z.string(), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))).default([]), "fixed_kwargs": z.record(z.string(), z.unknown()).default({}), "input_map": z.union([templatedText, z.string(), z.null()]).default(null), "input_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "name": z.string(), "output_map": z.union([templatedText, z.string(), z.null()]).default(null), "output_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "state_binding": stateBinding.nullable().default(null) });
258
+ export const presetCreateResult = z.object({ "active_version": z.number().int(), "base_tool": z.string(), "conflicted": z.boolean(), "conflicted_reason": z.string().nullable(), "description": z.string(), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))), "fanout": fanoutSummary, "input_map": z.union([templatedText, z.string(), z.null()]), "input_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]), "name": z.string(), "output_map": z.union([templatedText, z.string(), z.null()]), "output_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]), "used_by": z.array(z.string()), "uses": z.array(z.string()) });
251
259
  export const presetDeleteResult = z.object({ "deleted": z.boolean(), "fanout": fanoutSummary, "name": z.string() });
252
- export const presetDetailView = z.object({ "active_version": z.number().int(), "base_tool": z.string(), "conflicted": z.boolean(), "conflicted_reason": z.string().nullable(), "description": z.string(), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))), "fixed_kwargs": z.record(z.string(), z.unknown()), "input_schema": z.record(z.string(), z.unknown()).nullable(), "name": z.string(), "output_schema": z.record(z.string(), z.unknown()).nullable(), "used_by": z.array(z.string()), "uses": z.array(z.string()) });
253
- export const presetRecordView = z.object({ "active_version": z.number().int(), "base_tool": z.string(), "conflicted": z.boolean(), "conflicted_reason": z.string().nullable(), "description": z.string(), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))), "input_schema": z.record(z.string(), z.unknown()).nullable(), "name": z.string(), "output_schema": z.record(z.string(), z.unknown()).nullable(), "used_by": z.array(z.string()), "uses": z.array(z.string()) });
260
+ export const presetDetailView = z.object({ "active_version": z.number().int(), "base_tool": z.string(), "conflicted": z.boolean(), "conflicted_reason": z.string().nullable(), "description": z.string(), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))), "fixed_kwargs": z.record(z.string(), z.unknown()), "input_map": z.union([templatedText, z.string(), z.null()]), "input_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]), "name": z.string(), "output_map": z.union([templatedText, z.string(), z.null()]), "output_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]), "used_by": z.array(z.string()), "uses": z.array(z.string()) });
261
+ export const presetRecordView = z.object({ "active_version": z.number().int(), "base_tool": z.string(), "conflicted": z.boolean(), "conflicted_reason": z.string().nullable(), "description": z.string(), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))), "input_map": z.union([templatedText, z.string(), z.null()]), "input_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]), "name": z.string(), "output_map": z.union([templatedText, z.string(), z.null()]), "output_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]), "used_by": z.array(z.string()), "uses": z.array(z.string()) });
254
262
  export const presetRecordList = z.array(presetRecordView);
255
- export const presetRefereesResult = z.object({ "name": z.string(), "referees": z.array(z.string()) });
256
263
  export const presetRename = z.object({ "new_name": z.string() });
257
264
  export const presetRenameResult = z.object({ "active_version": z.number().int(), "fanout": fanoutSummary, "name": z.string(), "renamed_from": z.string() });
258
265
  export const presetRollback = z.object({ "version": z.number().int() });
259
266
  export const presetRollbackResult = z.object({ "active_version": z.number().int(), "fanout": fanoutSummary, "name": z.string() });
260
- export const presetValidate = z.object({ "base_tool": z.string().nullable().default(null), "description": z.string().nullable().default(null), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))).nullable().default(null), "fixed_kwargs": z.record(z.string(), z.unknown()).nullable().default(null), "input_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "name": z.string(), "output_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "state_binding": stateBinding.nullable().default(null) });
267
+ export const presetValidate = z.object({ "base_tool": z.string().nullable().default(null), "description": z.string().nullable().default(null), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))).nullable().default(null), "fixed_kwargs": z.record(z.string(), z.unknown()).nullable().default(null), "input_map": z.union([templatedText, z.string(), z.null()]).default(null), "input_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "name": z.string(), "output_map": z.union([templatedText, z.string(), z.null()]).default(null), "output_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "state_binding": stateBinding.nullable().default(null) });
261
268
  export const presetValidateVerdict = z.object({ "error": z.string().nullable(), "valid": z.boolean() });
262
- export const presetVersionSave = z.object({ "description": z.string().nullable().default(null), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))).nullable().default(null), "fixed_kwargs": z.record(z.string(), z.unknown()).nullable().default(null), "input_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "output_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "state_binding": stateBinding.nullable().default(null) });
269
+ export const presetVersionSave = z.object({ "description": z.string().nullable().default(null), "extensions": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))).nullable().default(null), "fixed_kwargs": z.record(z.string(), z.unknown()).nullable().default(null), "input_map": z.union([templatedText, z.string(), z.null()]).default(null), "input_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "output_map": z.union([templatedText, z.string(), z.null()]).default(null), "output_schema": z.union([templatedText, z.record(z.string(), z.unknown()), z.null()]).default(null), "state_binding": stateBinding.nullable().default(null) });
263
270
  export const presetVersionSaveResult = z.object({ "body": z.record(z.string(), z.unknown()), "created_at": z.string(), "fanout": fanoutSummary, "is_current": z.boolean().default(false), "tags": z.array(z.string()).default([]), "version": z.number().int() });
264
271
  export const presetVersionTags = z.object({ "tags": z.array(z.string()) });
265
272
  export const presetVersionTagsResult = z.object({ "name": z.string(), "tags": z.array(z.string()), "version": z.number().int() });
@@ -269,7 +276,7 @@ export const principalDeleted = z.object({ "deleted": z.boolean(), "user_id": z.
269
276
  export const principalListing = z.array(principal);
270
277
  export const principalRef = z.object({ "display_name": z.string(), "kind": z.enum(["human", "service"]), "user_id": z.string() });
271
278
  export const principalUpdate = z.object({ "disabled": z.boolean().nullable().default(null), "display_name": z.string().min(1).nullable().default(null) });
272
- export const profileApplyResponse = z.object({ "awaiting_respawn": z.array(awaitingWorker).default([]), "fanout": fanoutSummary, "fresh": z.array(freshLife), "hot": z.array(z.string()), "recycle": z.array(recycleEntry), "recycle_stopped": recycleStop.nullable().default(null), "refused": z.array(z.string()) });
279
+ export const profileApplyResponse = z.object({ "awaiting_respawn": z.array(awaitingWorker).default([]), "fanout": fanoutSummary, "fresh": z.array(freshLife), "hot": z.array(z.string()), "recycle": z.array(recycleEntry), "recycle_stopped": recycleStop.nullable().default(null), "refused": z.array(z.string()), "span_release_error": z.string().nullable().default(null) });
273
280
  export const profileDiffChange = z.object({ "key": z.string(), "new": z.string(), "old": z.string() });
274
281
  export const profileDiff = z.object({ "added": z.array(z.string()), "changed": z.array(profileDiffChange), "recycle_keys": z.array(z.string()), "refused_keys": z.array(z.string()), "removed": z.array(z.string()) });
275
282
  export const profileSummary = z.object({ "description": z.string(), "name": z.string() });
@@ -282,11 +289,11 @@ export const profileVersionView = z.object({ "body": settingsProfileBody, "creat
282
289
  export const profileWriteResult = z.object({ "ok": z.boolean(), "version": z.number().int() });
283
290
  export const routeEntry = z.object({ "methods": z.array(z.string()), "path": z.string() });
284
291
  export const subMcpEntry = z.object({ "access_pattern": z.string(), "mount_url": z.string(), "slug": z.string(), "tools": z.array(z.string()), "transport": z.string() });
285
- export const projectionResult = z.object({ "admin": z.boolean(), "agents": z.array(z.string()), "mintable": z.boolean(), "owner_user_id": z.string().nullable(), "principal": principalRef.nullable(), "public_resource_id": z.string(), "route_patterns": z.array(patternEntry), "routes": z.array(routeEntry), "scopes": z.array(z.string()), "sub_mcp": z.array(subMcpEntry), "tools": z.array(z.string()), "user_id": z.string() });
292
+ export const projectionResult = z.object({ "access_control_enabled": z.boolean(), "admin": z.boolean(), "agents": z.array(z.string()), "mintable": z.boolean(), "owner_user_id": z.string().nullable(), "principal": principalRef.nullable(), "public_resource_id": z.string(), "route_patterns": z.array(patternEntry), "routes": z.array(routeEntry), "scopes": z.array(z.string()), "sub_mcp": z.array(subMcpEntry), "tools": z.array(z.string()), "user_id": z.string() });
286
293
  export const subServiceView = z.object({ "description": z.string().default(""), "display_name": z.string(), "id": z.string(), "scopes": z.array(z.string()).default([]) });
287
294
  export const providerCatalogEntry = z.object({ "category": z.string(), "client_source": z.enum(["env", "manual", "dynamic", "unset"]).nullable().default(null), "config_fields": z.array(configFieldSpec).default([]), "description": z.string().default(""), "display_name": z.string(), "icon_url": z.string().nullable().default(null), "id": z.string(), "kind": z.enum(["oauth", "none"]), "origin": z.enum(["system", "community"]), "removable": z.boolean().default(false), "sub_services": z.array(subServiceView) });
288
295
  export const providerCatalogResponse = z.object({ "categories": z.array(connectorCategoryView), "providers": z.array(providerCatalogEntry) });
289
- export const providerMutationResponse = z.object({ "fanout": z.record(z.string(), z.unknown()).nullable().default(null), "provider": providerCatalogEntry });
296
+ export const providerMutationResponse = z.object({ "fanout": z.record(z.string(), z.unknown()).nullable().default(null), "provider": providerCatalogEntry, "span_release_error": z.string().nullable().default(null) });
290
297
  export const pruneResult = z.object({ "held": heldPendingSaveList.optional(), "pruned": z.record(z.string(), z.number().int()) });
291
298
  export const publicRoutePin = z.object({ "pattern": z.string().nullable().default(null), "url": z.string() });
292
299
  export const publicRouteUnpin = z.object({ "url": z.string() });
@@ -297,7 +304,7 @@ export const recordValidation = z.object({ "fits": z.boolean(), "reasons": z.arr
297
304
  export const reloadConfig = z.object({ "targets": z.array(z.string()).nullable().default(null) });
298
305
  export const reloadConfigRequest = z.object({ "targets": z.array(z.string()).nullable().default(null) });
299
306
  export const reloadingError = z.object({ "error": z.literal("reloading — the server is applying a config reload; retry shortly"), "reloading": z.literal(true) });
300
- export const removeProviderResponse = z.object({ "fanout": z.record(z.string(), z.unknown()).nullable().default(null), "provider_id": z.string(), "removed_clients": z.number().int() });
307
+ export const removeProviderResponse = z.object({ "fanout": z.record(z.string(), z.unknown()).nullable().default(null), "provider_id": z.string(), "removed_clients": z.number().int(), "span_release_error": z.string().nullable().default(null) });
301
308
  export const removedByName = z.object({ "name": z.string(), "removed": z.boolean() });
302
309
  export const removedByTopic = z.object({ "removed": z.boolean(), "topic": z.string() });
303
310
  export const renderedTemplate = z.object({ "rendered": z.string() });
@@ -316,7 +323,7 @@ export const roleGrantsModify = z.object({ "remove": z.array(z.string()).default
316
323
  export const roleRollback = z.object({ "version": z.number().int() });
317
324
  export const roleUpdate = z.object({ "description": z.string().nullable().default(null), "grants": z.record(z.string(), z.enum(["none", "read", "write"])).nullable().default(null) });
318
325
  export const roleVersionsView = z.object({ "audit": z.array(z.record(z.string(), jsonValue)), "versions": z.array(documentVersion) });
319
- export const routeMappingRow = z.object({ "action": z.enum(["read", "write", "fenced", "secret"]).nullable(), "declared_public": z.boolean(), "mapped": z.string().nullable(), "methods": z.array(z.string()), "path": z.string(), "summary": z.string(), "tags": z.array(z.string()) });
326
+ export const routeMappingRow = z.object({ "action": z.enum(["read", "write", "fenced", "secret"]).nullable(), "declared_public": z.boolean(), "mapped": z.string().nullable(), "methods": z.array(z.string()), "path": z.string(), "role_reach": z.enum(["level", "self_service", "admin_only", "public"]).nullable(), "summary": z.string(), "tags": z.array(z.string()) });
320
327
  export const routeMappingList = z.array(routeMappingRow);
321
328
  export const routeRemoveResult = z.object({ "removed": z.boolean(), "route_name": z.string() });
322
329
  export const suspendedInteraction = z.object({ "caller_interaction_ids": z.array(z.string()).default([]), "expiry_at": z.string().datetime({ offset: true }).nullable().default(null), "interaction_id": z.string(), "interaction_ids": z.array(z.string()).default([]), "resume_owner": z.string().nullable().default(null) });
@@ -352,7 +359,7 @@ export const settingsGroupView = z.object({ "fields": z.array(z.record(z.string(
352
359
  export const settingsSchemaView = z.object({ "groups": z.array(settingsGroupView) });
353
360
  export const setupRequest = z.object({ "key_description": z.string().default("owner key"), "key_user_id": z.string().nullable().default(null), "login": z.discriminatedUnion("kind", [passwordCredential, inviteCredential]).nullable().default(null), "owner_display_name": z.string().min(1), "owner_user_id": z.string().nullable().default(null), "setup_token": z.string().default("") }).strict();
354
361
  export const setupResult = z.object({ "api_key": z.string(), "invite_token": z.string().nullable().default(null), "key_fingerprint": z.string(), "key_user_id": z.string(), "login_attached": z.boolean(), "login_path": z.string().nullable().default(null), "owner_user_id": z.string() }).strict();
355
- export const startConnectNoAuthResponse = z.object({ "added_manifest_entries": z.array(z.string()).default([]), "connection_id": z.string(), "fanout": z.record(z.string(), z.unknown()).nullable().default(null) });
362
+ export const startConnectNoAuthResponse = z.object({ "added_manifest_entries": z.array(z.string()).default([]), "connection_id": z.string(), "fanout": z.record(z.string(), z.unknown()).nullable().default(null), "span_release_error": z.string().nullable().default(null) });
356
363
  export const startConnectResponse = z.object({ "authorize_url": z.string(), "flow_id": z.string() });
357
364
  export const startConnectOutcome = z.union([startConnectResponse, startConnectNoAuthResponse]);
358
365
  export const startConnectRequest = z.object({ "alias": z.string(), "config_values": z.record(z.string(), z.string()).default({}), "enabled_sub_services": z.array(z.string()).min(1).max(64), "provider_id": z.string(), "return_url": z.string().nullable().default(null) });
@@ -383,8 +390,12 @@ export const stateTemplateReconcile = z.object({ "close": templatedText, "orphan
383
390
  export const stateTemplateTrace = z.object({ "enabled": z.boolean().default(false) }).strict();
384
391
  export const stateTemplateCatalogEntry = z.object({ "attached_to": z.number().int(), "declarations": stateTemplateDeclarations.nullable().default(null), "description": z.string().default(""), "kind": z.literal("state-template").default("state-template"), "name": z.string(), "parameters": z.record(z.string(), stateTemplateParameter).default({}), "reconcile": stateTemplateReconcile.nullable().default(null), "regimes": z.array(stateRegimeRule).default([]), "schema": z.union([templatedText, z.record(z.string(), z.unknown())]).optional(), "shipped_default": z.boolean(), "template_jq": z.record(z.string(), stateTemplateJq).nullable().default(null), "trace": stateTemplateTrace.optional() }).strict();
385
392
  export const stateTemplateCatalog = z.array(stateTemplateCatalogEntry);
386
- export const storageInfo = z.object({ "module": z.string().nullable(), "present": z.boolean(), "provider": z.string().nullable() });
393
+ export const storageInfo = z.object({ "module": z.string().nullable(), "present": z.boolean(), "provider": z.string().nullable(), "surfaces": z.array(z.enum(["storage", "templates"])) });
387
394
  export const storageUpload = z.object({ "content_base64": z.string().nullable().default(null), "content_text": z.string().nullable().default(null), "id": z.string() });
395
+ export const storedBinaryEntry = z.object({ "content_type": z.string().nullable(), "id": z.string(), "kind": z.literal("binary"), "size": z.number().int() });
396
+ export const storedDocumentEntry = z.object({ "content": z.string(), "content_type": z.string().nullable(), "id": z.string(), "kind": z.literal("document"), "size": z.number().int() });
397
+ export const storedTextEntry = z.object({ "content": z.string(), "content_type": z.string().nullable(), "id": z.string(), "kind": z.literal("text"), "size": z.number().int() });
398
+ export const storedEntry = z.discriminatedUnion("kind", [storedTextEntry, storedDocumentEntry, storedBinaryEntry]);
388
399
  export const stringList = z.array(z.string());
389
400
  export const stringListResponse = z.array(z.string());
390
401
  export const studioPluginListingEntry = z.object({ "api_version": z.number().int(), "contributions": contributions, "entry": z.string(), "integrity": z.record(z.string(), z.string()), "mounts": z.record(z.string(), z.string()), "name": z.string(), "version": z.string() }).strict();
@@ -395,11 +406,14 @@ export const subMcpRegistration = z.object({ "slug": z.string().min(1), "tools":
395
406
  export const subMcpRegistrationResult = z.object({ "slug": z.string(), "tools": z.array(z.string()), "transport": z.string() });
396
407
  export const subMcpRemovalResult = z.object({ "removed": z.boolean(), "slug": z.string() });
397
408
  export const systemKindsListing = z.array(kindStatus);
409
+ export const templateBinaryEntry = z.object({ "content_type": z.string().nullable(), "id": z.string(), "kind": z.literal("binary"), "schema": z.null().default(null), "size": z.number().int() });
398
410
  export const templateDelete = z.object({ "path": z.string() });
399
411
  export const templateDeleteResult = z.object({ "deleted": z.boolean(), "fanout": fanoutSummary, "path": z.string() });
400
412
  export const templateDirDelete = z.object({ "path": z.string() });
413
+ export const templateDocumentEntry = z.object({ "content": z.string(), "content_type": z.string().nullable(), "id": z.string(), "kind": z.literal("document"), "schema": z.null().default(null), "size": z.number().int() });
414
+ export const templateTextEntry = z.object({ "content": z.string(), "content_type": z.string().nullable(), "id": z.string(), "kind": z.literal("text"), "schema": z.record(z.string(), jsonValue).nullable(), "schema_error": z.string().nullable(), "size": z.number().int() });
415
+ export const templateEntry = z.discriminatedUnion("kind", [templateTextEntry, templateDocumentEntry, templateBinaryEntry]);
401
416
  export const templateFetch = z.object({ "template_id": z.string() });
402
- export const templateFetchView = z.object({ "schema": z.record(z.string(), jsonValue), "template": z.string() });
403
417
  export const templateJqApplyResult = z.object({ "applied": z.boolean(), "data": z.record(z.string(), z.unknown()).nullable().default(null), "name": z.string(), "seq": z.number().nullable().default(null), "skipped": z.array(z.record(z.string(), z.unknown())).default([]) }).strict();
404
418
  export const templateJqResult = z.object({ "name": z.string(), "purpose": z.literal("input").default("input"), "value": z.unknown().default(null) }).strict();
405
419
  export const templateRender = z.object({ "text": templatedText });
@@ -415,6 +429,7 @@ export const threadSummaryRow = z.object({ "client_address": z.string(), "last_a
415
429
  export const threadSummaryEnvelope = z.object({ "items": z.array(threadSummaryRow), "next_page": z.number().int().nullable(), "page": z.number().int(), "page_size": z.number().int(), "total": z.number().int(), "truncated": z.boolean(), "unreadable": z.number().int().default(0) });
416
430
  export const tokenPayloadRow = z.object({ "condition": templatedText.nullable().default(null), "description": z.string(), "orphaned": z.boolean().default(false), "policy_data": z.record(z.string(), z.unknown()).nullable().default(null), "principal": principalRef.nullable().default(null), "scopes": z.array(z.string()).nullable().default(null), "user_id": z.string() });
417
431
  export const tokenPayloadList = z.array(tokenPayloadRow);
432
+ export const toolExtensionCombosModified = z.object({ "available": z.array(extensionView), "combos": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))), "span_release_error": z.string().nullable() });
418
433
  export const toolExtensionCombosModify = z.object({ "add": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))).default([]), "remove": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))).default([]) });
419
434
  export const toolExtensionsUpdate = z.object({ "combos": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))) });
420
435
  export const toolExtensionsView = z.object({ "available": z.array(extensionView), "combos": z.array(z.array(z.union([z.string(), z.record(z.string(), z.unknown())]))) });
@@ -441,7 +456,7 @@ export const triggerLinkCreated = z.object({ "expires_at": z.string().nullable()
441
456
  export const triggerLinkView = z.object({ "created_at": z.string(), "created_by": z.string().nullable(), "execution_key": z.string(), "execution_key_fingerprint": z.string(), "expires_at": z.string().nullable(), "name": z.string(), "require_api_key": z.boolean(), "token_hash_prefix": z.string(), "tool_kwargs": z.record(z.string(), jsonValue).nullable(), "topic": z.string(), "trigger_auth": z.enum(["public", "verifier", "token", "token+api_key", "out-of-service"]) });
442
457
  export const triggerLinkListView = z.object({ "items": z.array(triggerLinkView), "total": z.number().int() });
443
458
  export const uninstallResult = z.object({ "notes": z.array(z.string()), "ref": z.string(), "reload": applyResponse.nullable(), "uninstalled": z.boolean() });
444
- export const upgradeRow = z.object({ "detail": z.string(), "outcome": z.enum(["upgraded", "up-to-date", "no-compatible-version", "failed"]), "ref": z.string() });
459
+ export const upgradeRow = z.object({ "detail": z.string(), "outcome": z.enum(["upgraded", "up-to-date", "no-compatible-version", "failed"]), "ref": z.string(), "span_release_error": z.string().nullable() });
445
460
  export const upgradeAllResult = z.object({ "results": z.array(upgradeRow) });
446
461
  export const urlAck = z.object({ "url": z.string() });
447
462
  export const userUpdateAck = z.object({ "updated": z.boolean(), "user_id": z.string() });
@@ -554,7 +569,7 @@ export const responseSchemas = {
554
569
  get_api_plugins: studioPluginListing,
555
570
  get_api_presets: presetRecordList,
556
571
  get_api_presets_name: presetDetailView,
557
- get_api_presets_name_referees: presetRefereesResult,
572
+ get_api_presets_name_referees: holdersPreview,
558
573
  get_api_presets_name_versions: documentVersionList,
559
574
  get_api_presets_name_versions_version: documentVersion,
560
575
  get_api_resources_get: resourceContent,
@@ -569,6 +584,7 @@ export const responseSchemas = {
569
584
  get_api_states_name: servedStateView,
570
585
  get_api_states_name_attachments: stateAttachmentList,
571
586
  get_api_states_name_attachments_template: stateAttachmentRow,
587
+ get_api_states_name_attachments_template_referees: holdersPreview,
572
588
  get_api_states_name_consumers: stateConsumerList,
573
589
  get_api_states_name_records_check: recordCheckPage,
574
590
  get_api_states_name_records_target_kind_target_name_kind_key: stateRecordOrNull,
@@ -577,6 +593,7 @@ export const responseSchemas = {
577
593
  get_api_states_name_stats: stateStats,
578
594
  get_api_states_name_subjects: stateSubjectsPage,
579
595
  get_api_storage: storageInfo,
596
+ get_api_storage_entries_resource_id: storedEntry,
580
597
  get_api_storage_resources: resourceList,
581
598
  get_api_storage_resources_resource_id_stat: resourceStat,
582
599
  get_api_sub_mcp: subMcpMapListing,
@@ -649,6 +666,7 @@ export const responseSchemas = {
649
666
  post_api_mcp_config_entries: applyResponse,
650
667
  post_api_mcp_config_secret_env: applyResponse,
651
668
  post_api_mcp_status_reload_failed: fleetResult,
669
+ post_api_mcp_status_title_advertised_tools: mcpAdvertisedTools,
652
670
  post_api_mcp_status_title_deregister: fleetResult,
653
671
  post_api_mcp_status_title_reload: fleetResult,
654
672
  post_api_notifications: notifyResult,
@@ -672,14 +690,14 @@ export const responseSchemas = {
672
690
  post_api_states_name_records_validate: recordValidation,
673
691
  post_api_storage_resources: resourceStored,
674
692
  post_api_sub_mcp: subMcpRegistrationResult,
675
- post_api_template: templateFetchView,
693
+ post_api_template: templateEntry,
676
694
  post_api_tool_meta_folders: folderRecord,
677
695
  post_api_tool_meta_folders_folder_id_move: folderRecord,
678
696
  post_api_tool_meta_folders_folder_id_rename: folderRecord,
679
697
  post_api_tool_runs: runSubmitted,
680
698
  post_api_tools_config_entries: applyResponse,
681
699
  post_api_tools_name_extensions: applyResponse,
682
- post_api_tools_name_extensions_combos: toolExtensionsView,
700
+ post_api_tools_name_extensions_combos: toolExtensionCombosModified,
683
701
  post_api_tools_reload: fleetResult,
684
702
  post_api_tools_remove: fleetResult,
685
703
  post_api_upload_template: templateUploadResult,
@@ -692,6 +710,7 @@ export const responseSchemas = {
692
710
  put_api_conversations_persons_person_id_locale: person,
693
711
  put_api_conversations_route_name_thread_mode: threadModeSetResult,
694
712
  put_api_hooks_topics_topic_verifier: topicVerifierView,
713
+ put_api_mcp_config_entries_title_tool_filter: applyResponse,
695
714
  put_api_presets_name_versions_version_tags: presetVersionTagsResult,
696
715
  put_api_state_templates_name: stateTemplateDocument,
697
716
  put_api_states_name: stateDeclarationPutResponse,