@tai42/api-client 16.0.0 → 17.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.
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +1 -1
- package/dist/agents.js.map +1 -1
- package/dist/client/agents-client.d.ts +26 -0
- package/dist/client/agents-client.d.ts.map +1 -0
- package/dist/client/agents-client.js +19 -0
- package/dist/client/agents-client.js.map +1 -0
- package/dist/client/auth-client.d.ts +247 -0
- package/dist/client/auth-client.d.ts.map +1 -0
- package/dist/client/auth-client.js +73 -0
- package/dist/client/auth-client.js.map +1 -0
- package/dist/client/backend-client.d.ts +39 -0
- package/dist/client/backend-client.d.ts.map +1 -0
- package/dist/client/backend-client.js +22 -0
- package/dist/client/backend-client.js.map +1 -0
- package/dist/client/backup-client.d.ts +56 -0
- package/dist/client/backup-client.d.ts.map +1 -0
- package/dist/client/backup-client.js +12 -0
- package/dist/client/backup-client.js.map +1 -0
- package/dist/client/capabilities-client.d.ts +40 -0
- package/dist/client/capabilities-client.d.ts.map +1 -0
- package/dist/client/capabilities-client.js +19 -0
- package/dist/client/capabilities-client.js.map +1 -0
- package/dist/client/channels-client.d.ts +7 -0
- package/dist/client/channels-client.d.ts.map +1 -0
- package/dist/client/channels-client.js +10 -0
- package/dist/client/channels-client.js.map +1 -0
- package/dist/client/config-client.d.ts +59 -0
- package/dist/client/config-client.d.ts.map +1 -0
- package/dist/client/config-client.js +18 -0
- package/dist/client/config-client.js.map +1 -0
- package/dist/client/connectors-client.d.ts +225 -0
- package/dist/client/connectors-client.d.ts.map +1 -0
- package/dist/client/connectors-client.js +31 -0
- package/dist/client/connectors-client.js.map +1 -0
- package/dist/client/conversations-client.d.ts +398 -0
- package/dist/client/conversations-client.d.ts.map +1 -0
- package/dist/client/conversations-client.js +120 -0
- package/dist/client/conversations-client.js.map +1 -0
- package/dist/client/hooks-client.d.ts +112 -0
- package/dist/client/hooks-client.d.ts.map +1 -0
- package/dist/client/hooks-client.js +25 -0
- package/dist/client/hooks-client.js.map +1 -0
- package/dist/{client.d.ts → client/index.d.ts} +2336 -2708
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +79 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/interactions-client.d.ts +52 -0
- package/dist/client/interactions-client.d.ts.map +1 -0
- package/dist/client/interactions-client.js +84 -0
- package/dist/client/interactions-client.js.map +1 -0
- package/dist/client/login-client.d.ts +69 -0
- package/dist/client/login-client.d.ts.map +1 -0
- package/dist/client/login-client.js +137 -0
- package/dist/client/login-client.js.map +1 -0
- package/dist/client/manifest-client.d.ts +354 -0
- package/dist/client/manifest-client.d.ts.map +1 -0
- package/dist/client/manifest-client.js +76 -0
- package/dist/client/manifest-client.js.map +1 -0
- package/dist/client/marketplace-client.d.ts +274 -0
- package/dist/client/marketplace-client.d.ts.map +1 -0
- package/dist/client/marketplace-client.js +46 -0
- package/dist/client/marketplace-client.js.map +1 -0
- package/dist/client/mcp-config-schema-client.d.ts +5 -0
- package/dist/client/mcp-config-schema-client.d.ts.map +1 -0
- package/dist/client/mcp-config-schema-client.js +9 -0
- package/dist/client/mcp-config-schema-client.js.map +1 -0
- package/dist/client/notifications-client.d.ts +27 -0
- package/dist/client/notifications-client.d.ts.map +1 -0
- package/dist/client/notifications-client.js +11 -0
- package/dist/client/notifications-client.js.map +1 -0
- package/dist/client/observability-client.d.ts +103 -0
- package/dist/client/observability-client.d.ts.map +1 -0
- package/dist/client/observability-client.js +43 -0
- package/dist/client/observability-client.js.map +1 -0
- package/dist/client/plugins-client.d.ts +17 -0
- package/dist/client/plugins-client.d.ts.map +1 -0
- package/dist/client/plugins-client.js +9 -0
- package/dist/client/plugins-client.js.map +1 -0
- package/dist/client/policy-client.d.ts +37 -0
- package/dist/client/policy-client.d.ts.map +1 -0
- package/dist/client/policy-client.js +26 -0
- package/dist/client/policy-client.js.map +1 -0
- package/dist/client/presets-client.d.ts +334 -0
- package/dist/client/presets-client.d.ts.map +1 -0
- package/dist/client/presets-client.js +38 -0
- package/dist/client/presets-client.js.map +1 -0
- package/dist/client/profiles-client.d.ts +101 -0
- package/dist/client/profiles-client.d.ts.map +1 -0
- package/dist/client/profiles-client.js +37 -0
- package/dist/client/profiles-client.js.map +1 -0
- package/dist/client/schedules-client.d.ts +27 -0
- package/dist/client/schedules-client.d.ts.map +1 -0
- package/dist/client/schedules-client.js +13 -0
- package/dist/client/schedules-client.js.map +1 -0
- package/dist/client/settings-schema-client.d.ts +23 -0
- package/dist/client/settings-schema-client.d.ts.map +1 -0
- package/dist/client/settings-schema-client.js +9 -0
- package/dist/client/settings-schema-client.js.map +1 -0
- package/dist/client/states-client.d.ts +470 -0
- package/dist/client/states-client.d.ts.map +1 -0
- package/dist/client/states-client.js +144 -0
- package/dist/client/states-client.js.map +1 -0
- package/dist/client/storage-client.d.ts +40 -0
- package/dist/client/storage-client.d.ts.map +1 -0
- package/dist/client/storage-client.js +43 -0
- package/dist/client/storage-client.js.map +1 -0
- package/dist/client/sub-mcp-client.d.ts +17 -0
- package/dist/client/sub-mcp-client.d.ts.map +1 -0
- package/dist/client/sub-mcp-client.js +14 -0
- package/dist/client/sub-mcp-client.js.map +1 -0
- package/dist/client/system-client.d.ts +11 -0
- package/dist/client/system-client.d.ts.map +1 -0
- package/dist/client/system-client.js +13 -0
- package/dist/client/system-client.js.map +1 -0
- package/dist/client/templates-client.d.ts +29 -0
- package/dist/client/templates-client.d.ts.map +1 -0
- package/dist/client/templates-client.js +21 -0
- package/dist/client/templates-client.js.map +1 -0
- package/dist/client/tool-extensions-client.d.ts +53 -0
- package/dist/client/tool-extensions-client.d.ts.map +1 -0
- package/dist/client/tool-extensions-client.js +21 -0
- package/dist/client/tool-extensions-client.js.map +1 -0
- package/dist/client/tool-meta-client.d.ts +69 -0
- package/dist/client/tool-meta-client.d.ts.map +1 -0
- package/dist/client/tool-meta-client.js +38 -0
- package/dist/client/tool-meta-client.js.map +1 -0
- package/dist/client/tools-client.d.ts +83 -0
- package/dist/client/tools-client.d.ts.map +1 -0
- package/dist/client/tools-client.js +38 -0
- package/dist/client/tools-client.js.map +1 -0
- package/dist/client/transport.d.ts +13 -0
- package/dist/client/transport.d.ts.map +1 -0
- package/dist/client/transport.js +10 -0
- package/dist/client/transport.js.map +1 -0
- package/dist/client/trigger-links-client.d.ts +44 -0
- package/dist/client/trigger-links-client.d.ts.map +1 -0
- package/dist/client/trigger-links-client.js +30 -0
- package/dist/client/trigger-links-client.js.map +1 -0
- package/dist/client/web-entry-gate-client.d.ts +34 -0
- package/dist/client/web-entry-gate-client.d.ts.map +1 -0
- package/dist/client/web-entry-gate-client.js +25 -0
- package/dist/client/web-entry-gate-client.js.map +1 -0
- package/dist/errors.d.ts +11 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +15 -0
- package/dist/errors.js.map +1 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +33 -17
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -13
- package/dist/index.js.map +1 -1
- package/dist/schemas/api-keys.d.ts +43 -0
- package/dist/schemas/api-keys.d.ts.map +1 -0
- package/dist/schemas/api-keys.js +29 -0
- package/dist/schemas/api-keys.js.map +1 -0
- package/dist/schemas/auth-routes.d.ts +78 -0
- package/dist/schemas/auth-routes.d.ts.map +1 -0
- package/dist/schemas/auth-routes.js +42 -0
- package/dist/schemas/auth-routes.js.map +1 -0
- package/dist/schemas/backup.d.ts +78 -0
- package/dist/schemas/backup.d.ts.map +1 -0
- package/dist/schemas/backup.js +33 -0
- package/dist/schemas/backup.js.map +1 -0
- package/dist/schemas/capabilities.d.ts +109 -0
- package/dist/schemas/capabilities.d.ts.map +1 -0
- package/dist/schemas/capabilities.js +78 -0
- package/dist/schemas/capabilities.js.map +1 -0
- package/dist/schemas/channels.d.ts +7 -0
- package/dist/schemas/channels.d.ts.map +1 -0
- package/dist/schemas/channels.js +9 -0
- package/dist/schemas/channels.js.map +1 -0
- package/dist/schemas/config.d.ts +17 -0
- package/dist/schemas/config.d.ts.map +1 -0
- package/dist/schemas/config.js +17 -0
- package/dist/schemas/config.js.map +1 -0
- package/dist/schemas/connectors.d.ts +383 -0
- package/dist/schemas/connectors.d.ts.map +1 -0
- package/dist/schemas/connectors.js +122 -0
- package/dist/schemas/connectors.js.map +1 -0
- package/dist/schemas/conversations.d.ts +600 -0
- package/dist/schemas/conversations.d.ts.map +1 -0
- package/dist/schemas/conversations.js +208 -0
- package/dist/schemas/conversations.js.map +1 -0
- package/dist/schemas/extensions.d.ts +44 -0
- package/dist/schemas/extensions.d.ts.map +1 -0
- package/dist/schemas/extensions.js +29 -0
- package/dist/schemas/extensions.js.map +1 -0
- package/dist/schemas/fleet.d.ts +271 -0
- package/dist/schemas/fleet.d.ts.map +1 -0
- package/dist/schemas/fleet.js +132 -0
- package/dist/schemas/fleet.js.map +1 -0
- package/dist/schemas/hooks.d.ts +120 -0
- package/dist/schemas/hooks.d.ts.map +1 -0
- package/dist/schemas/hooks.js +44 -0
- package/dist/schemas/hooks.js.map +1 -0
- package/dist/schemas/index.d.ts +40 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +40 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/interactions.d.ts +156 -0
- package/dist/schemas/interactions.d.ts.map +1 -0
- package/dist/schemas/interactions.js +124 -0
- package/dist/schemas/interactions.js.map +1 -0
- package/dist/schemas/login.d.ts +93 -0
- package/dist/schemas/login.d.ts.map +1 -0
- package/dist/schemas/login.js +61 -0
- package/dist/schemas/login.js.map +1 -0
- package/dist/schemas/manifest-mcp.d.ts +125 -0
- package/dist/schemas/manifest-mcp.d.ts.map +1 -0
- package/dist/schemas/manifest-mcp.js +61 -0
- package/dist/schemas/manifest-mcp.js.map +1 -0
- package/dist/schemas/marketplace.d.ts +708 -0
- package/dist/schemas/marketplace.d.ts.map +1 -0
- package/dist/schemas/marketplace.js +387 -0
- package/dist/schemas/marketplace.js.map +1 -0
- package/dist/schemas/notifications.d.ts +61 -0
- package/dist/schemas/notifications.d.ts.map +1 -0
- package/dist/schemas/notifications.js +38 -0
- package/dist/schemas/notifications.js.map +1 -0
- package/dist/schemas/observability.d.ts +114 -0
- package/dist/schemas/observability.d.ts.map +1 -0
- package/dist/schemas/observability.js +74 -0
- package/dist/schemas/observability.js.map +1 -0
- package/dist/schemas/policy.d.ts +58 -0
- package/dist/schemas/policy.d.ts.map +1 -0
- package/dist/schemas/policy.js +32 -0
- package/dist/schemas/policy.js.map +1 -0
- package/dist/schemas/presets.d.ts +258 -0
- package/dist/schemas/presets.d.ts.map +1 -0
- package/dist/schemas/presets.js +95 -0
- package/dist/schemas/presets.js.map +1 -0
- package/dist/schemas/principals.d.ts +54 -0
- package/dist/schemas/principals.d.ts.map +1 -0
- package/dist/schemas/principals.js +34 -0
- package/dist/schemas/principals.js.map +1 -0
- package/dist/schemas/profiles.d.ts +180 -0
- package/dist/schemas/profiles.d.ts.map +1 -0
- package/dist/schemas/profiles.js +100 -0
- package/dist/schemas/profiles.js.map +1 -0
- package/dist/schemas/roles.d.ts +125 -0
- package/dist/schemas/roles.d.ts.map +1 -0
- package/dist/schemas/roles.js +46 -0
- package/dist/schemas/roles.js.map +1 -0
- package/dist/schemas/schedules.d.ts +25 -0
- package/dist/schemas/schedules.d.ts.map +1 -0
- package/dist/schemas/schedules.js +24 -0
- package/dist/schemas/schedules.js.map +1 -0
- package/dist/schemas/served.d.ts +626 -0
- package/dist/schemas/served.d.ts.map +1 -0
- package/dist/schemas/served.js +28 -0
- package/dist/schemas/served.js.map +1 -0
- package/dist/schemas/settings-schema.d.ts +23 -0
- package/dist/schemas/settings-schema.d.ts.map +1 -0
- package/dist/schemas/settings-schema.js +25 -0
- package/dist/schemas/settings-schema.js.map +1 -0
- package/dist/schemas/setup.d.ts +43 -0
- package/dist/schemas/setup.d.ts.map +1 -0
- package/dist/schemas/setup.js +19 -0
- package/dist/schemas/setup.js.map +1 -0
- package/dist/schemas/shared.d.ts +20 -0
- package/dist/schemas/shared.d.ts.map +1 -0
- package/dist/schemas/shared.js +20 -0
- package/dist/schemas/shared.js.map +1 -0
- package/dist/schemas/states.d.ts +499 -0
- package/dist/schemas/states.d.ts.map +1 -0
- package/dist/schemas/states.js +220 -0
- package/dist/schemas/states.js.map +1 -0
- package/dist/schemas/storage.d.ts +37 -0
- package/dist/schemas/storage.d.ts.map +1 -0
- package/dist/schemas/storage.js +24 -0
- package/dist/schemas/storage.js.map +1 -0
- package/dist/schemas/studio-plugins.d.ts +30 -0
- package/dist/schemas/studio-plugins.d.ts.map +1 -0
- package/dist/schemas/studio-plugins.js +20 -0
- package/dist/schemas/studio-plugins.js.map +1 -0
- package/dist/schemas/sub-mcp.d.ts +29 -0
- package/dist/schemas/sub-mcp.d.ts.map +1 -0
- package/dist/schemas/sub-mcp.js +22 -0
- package/dist/schemas/sub-mcp.js.map +1 -0
- package/dist/schemas/system-kinds.d.ts +122 -0
- package/dist/schemas/system-kinds.d.ts.map +1 -0
- package/dist/schemas/system-kinds.js +40 -0
- package/dist/schemas/system-kinds.js.map +1 -0
- package/dist/schemas/templates.d.ts +26 -0
- package/dist/schemas/templates.d.ts.map +1 -0
- package/dist/schemas/templates.js +11 -0
- package/dist/schemas/templates.js.map +1 -0
- package/dist/schemas/tool-meta.d.ts +64 -0
- package/dist/schemas/tool-meta.d.ts.map +1 -0
- package/dist/schemas/tool-meta.js +44 -0
- package/dist/schemas/tool-meta.js.map +1 -0
- package/dist/schemas/tools.d.ts +62 -0
- package/dist/schemas/tools.d.ts.map +1 -0
- package/dist/schemas/tools.js +53 -0
- package/dist/schemas/tools.js.map +1 -0
- package/dist/schemas/trigger-links.d.ts +71 -0
- package/dist/schemas/trigger-links.d.ts.map +1 -0
- package/dist/schemas/trigger-links.js +46 -0
- package/dist/schemas/trigger-links.js.map +1 -0
- package/dist/schemas/web-entry.d.ts +45 -0
- package/dist/schemas/web-entry.d.ts.map +1 -0
- package/dist/schemas/web-entry.js +36 -0
- package/dist/schemas/web-entry.js.map +1 -0
- package/dist/tool-runs.d.ts.map +1 -1
- package/dist/tool-runs.js.map +1 -1
- package/package.json +1 -1
- package/src/agents.ts +2 -2
- package/src/client/agents-client.ts +23 -0
- package/src/client/auth-client.ts +170 -0
- package/src/client/backend-client.ts +25 -0
- package/src/client/backup-client.ts +16 -0
- package/src/client/capabilities-client.ts +22 -0
- package/src/client/channels-client.ts +11 -0
- package/src/client/config-client.ts +21 -0
- package/src/client/connectors-client.ts +52 -0
- package/src/client/conversations-client.ts +240 -0
- package/src/client/hooks-client.ts +44 -0
- package/src/client/index.ts +122 -0
- package/src/client/interactions-client.ts +89 -0
- package/src/client/login-client.ts +150 -0
- package/src/client/manifest-client.ts +118 -0
- package/src/client/marketplace-client.ts +122 -0
- package/src/client/mcp-config-schema-client.ts +11 -0
- package/src/client/notifications-client.ts +13 -0
- package/src/client/observability-client.ts +82 -0
- package/src/client/plugins-client.ts +11 -0
- package/src/client/policy-client.ts +41 -0
- package/src/client/presets-client.ts +124 -0
- package/src/client/profiles-client.ts +51 -0
- package/src/client/schedules-client.ts +22 -0
- package/src/client/settings-schema-client.ts +11 -0
- package/src/client/states-client.ts +292 -0
- package/src/client/storage-client.ts +63 -0
- package/src/client/sub-mcp-client.ts +17 -0
- package/src/client/system-client.ts +16 -0
- package/src/client/templates-client.ts +28 -0
- package/src/client/tool-extensions-client.ts +24 -0
- package/src/client/tool-meta-client.ts +65 -0
- package/src/client/tools-client.ts +66 -0
- package/src/client/transport.ts +18 -0
- package/src/client/trigger-links-client.ts +51 -0
- package/src/client/web-entry-gate-client.ts +45 -0
- package/src/errors.ts +16 -0
- package/src/http.ts +48 -24
- package/src/index.ts +231 -226
- package/src/schemas/api-keys.ts +34 -0
- package/src/schemas/auth-routes.ts +48 -0
- package/src/schemas/backup.ts +43 -0
- package/src/schemas/capabilities.ts +92 -0
- package/src/schemas/channels.ts +11 -0
- package/src/schemas/config.ts +17 -0
- package/src/schemas/connectors.ts +139 -0
- package/src/schemas/conversations.ts +257 -0
- package/src/schemas/extensions.ts +34 -0
- package/src/schemas/fleet.ts +154 -0
- package/src/schemas/hooks.ts +57 -0
- package/src/schemas/index.ts +39 -0
- package/src/schemas/interactions.ts +147 -0
- package/src/schemas/login.ts +69 -0
- package/src/schemas/manifest-mcp.ts +70 -0
- package/src/schemas/marketplace.ts +447 -0
- package/src/schemas/notifications.ts +43 -0
- package/src/schemas/observability.ts +87 -0
- package/src/schemas/policy.ts +38 -0
- package/src/schemas/presets.ts +114 -0
- package/src/schemas/principals.ts +41 -0
- package/src/schemas/profiles.ts +120 -0
- package/src/schemas/roles.ts +58 -0
- package/src/schemas/schedules.ts +28 -0
- package/src/schemas/served.ts +50 -0
- package/src/schemas/settings-schema.ts +32 -0
- package/src/schemas/setup.ts +39 -0
- package/src/schemas/shared.ts +21 -0
- package/src/schemas/states.ts +273 -0
- package/src/schemas/storage.ts +31 -0
- package/src/schemas/studio-plugins.ts +21 -0
- package/src/schemas/sub-mcp.ts +24 -0
- package/src/schemas/system-kinds.ts +47 -0
- package/src/schemas/templates.ts +12 -0
- package/src/schemas/tool-meta.ts +51 -0
- package/src/schemas/tools.ts +62 -0
- package/src/schemas/trigger-links.ts +55 -0
- package/src/schemas/web-entry.ts +46 -0
- package/src/tool-runs.ts +1 -1
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -920
- package/dist/client.js.map +0 -1
- package/dist/schemas.d.ts +0 -5172
- package/dist/schemas.d.ts.map +0 -1
- package/dist/schemas.js +0 -2268
- package/dist/schemas.js.map +0 -1
- package/src/client.ts +0 -1771
- package/src/schemas.ts +0 -2760
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Route catalog, scope mapping and public-route response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
/** `{ url: scope_id }` — every URL currently mapped to a scope. */
|
|
4
|
+
export const authScopes = z.record(z.string(), z.string());
|
|
5
|
+
export const addUrlToScopeResult = z.object({ scope_id: z.string(), url: z.string() });
|
|
6
|
+
export const removeUrlFromScopeResult = z.object({ url: z.string() });
|
|
7
|
+
export const removeScopeResult = z.object({ scope_id: z.string(), deleted_keys: z.number() });
|
|
8
|
+
/**
|
|
9
|
+
* A route's authorization ACTION class, joined onto the catalog from the route
|
|
10
|
+
* registry. `read`/`write` routes are GRANTABLE — a role's per-tag level opens
|
|
11
|
+
* them; `fenced`/`secret` routes are ADMIN-ONLY and never grantable (no per-tag
|
|
12
|
+
* level reaches them). `null` marks a path the registry carries no metadata for
|
|
13
|
+
* (an unregistered/ungated path — no feature tags, no action).
|
|
14
|
+
*/
|
|
15
|
+
export const routeAction = z.enum(['read', 'write', 'fenced', 'secret']);
|
|
16
|
+
/**
|
|
17
|
+
* One row of the route catalog (`GET /api/auth/routes`) — a plain HTTP route with
|
|
18
|
+
* its current mapping, JOINED with its route-registry metadata. `mapped` is the
|
|
19
|
+
* scope id, the public marker, or `null` when the path is unmapped (the mapper's
|
|
20
|
+
* "unassigned" bucket source). `methods` is the route's method set with `HEAD`
|
|
21
|
+
* removed. `tags` are the route's feature-group labels, `summary` its one-line
|
|
22
|
+
* description, and `action` its authorization class — the join fields the Roles
|
|
23
|
+
* grant editor reads to derive grantable feature groups and mark the admin-only
|
|
24
|
+
* (fenced/secret) routes it must never offer a grant for. An unregistered path
|
|
25
|
+
* carries `tags: []`, `summary: ''`, `action: null`.
|
|
26
|
+
*/
|
|
27
|
+
export const authRoute = z.object({
|
|
28
|
+
path: z.string(),
|
|
29
|
+
methods: z.array(z.string()),
|
|
30
|
+
mapped: z.string().nullable(),
|
|
31
|
+
tags: z.array(z.string()),
|
|
32
|
+
summary: z.string(),
|
|
33
|
+
action: routeAction.nullable(),
|
|
34
|
+
});
|
|
35
|
+
export const authRoutes = z.array(authRoute);
|
|
36
|
+
/** `GET /api/auth/public-routes` — the sorted urls pinned to the public marker. */
|
|
37
|
+
export const publicRoutes = z.array(z.string());
|
|
38
|
+
/** `POST /api/auth/public-routes` — the pinned url. */
|
|
39
|
+
export const pinPublicResult = z.object({ url: z.string() });
|
|
40
|
+
/** `DELETE /api/auth/public-routes` — the unpinned url (404 when not pinned). */
|
|
41
|
+
export const unpinPublicResult = z.object({ url: z.string() });
|
|
42
|
+
//# sourceMappingURL=auth-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-routes.js","sourceRoot":"","sources":["../../src/schemas/auth-routes.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mEAAmE;AACnE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAE9F;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGzE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC7C,mFAAmF;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAEhD,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC7D,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/** Backup section, document and import-report response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const backupSections: z.ZodArray<z.ZodObject<{
|
|
4
|
+
name: z.ZodString;
|
|
5
|
+
secret: z.ZodBoolean;
|
|
6
|
+
}, z.core.$strip>>;
|
|
7
|
+
/** The exported backup document — validated when the UI reads a picked file. */
|
|
8
|
+
export declare const backupDocument: z.ZodObject<{
|
|
9
|
+
version: z.ZodLiteral<1>;
|
|
10
|
+
created_at: z.ZodString;
|
|
11
|
+
sections: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
12
|
+
errors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export type BackupDocument = z.infer<typeof backupDocument>;
|
|
15
|
+
export declare const backupImportReport: z.ZodObject<{
|
|
16
|
+
ok: z.ZodBoolean;
|
|
17
|
+
sections: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
18
|
+
created: z.ZodNumber;
|
|
19
|
+
updated: z.ZodNumber;
|
|
20
|
+
skipped: z.ZodNumber;
|
|
21
|
+
errors: z.ZodArray<z.ZodString>;
|
|
22
|
+
new_api_keys: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
23
|
+
user_id: z.ZodString;
|
|
24
|
+
description: z.ZodString;
|
|
25
|
+
api_key: z.ZodString;
|
|
26
|
+
}, z.core.$strip>>>;
|
|
27
|
+
fanout: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
28
|
+
mode: z.ZodLiteral<"local-only">;
|
|
29
|
+
note: z.ZodString;
|
|
30
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
31
|
+
op: z.ZodString;
|
|
32
|
+
reachable: z.ZodBoolean;
|
|
33
|
+
local_only: z.ZodBoolean;
|
|
34
|
+
results: z.ZodArray<z.ZodObject<{
|
|
35
|
+
name: z.ZodString;
|
|
36
|
+
outcome: z.ZodEnum<{
|
|
37
|
+
failed: "failed";
|
|
38
|
+
resyncing: "resyncing";
|
|
39
|
+
recycling: "recycling";
|
|
40
|
+
stale: "stale";
|
|
41
|
+
applied: "applied";
|
|
42
|
+
missing: "missing";
|
|
43
|
+
departed: "departed";
|
|
44
|
+
timed_out: "timed_out";
|
|
45
|
+
}>;
|
|
46
|
+
payload: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
47
|
+
error: z.ZodNullable<z.ZodString>;
|
|
48
|
+
detail: z.ZodNullable<z.ZodString>;
|
|
49
|
+
}, z.core.$strip>>;
|
|
50
|
+
error: z.ZodNullable<z.ZodString>;
|
|
51
|
+
mode: z.ZodLiteral<"fleet">;
|
|
52
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
53
|
+
op: z.ZodString;
|
|
54
|
+
reachable: z.ZodBoolean;
|
|
55
|
+
local_only: z.ZodBoolean;
|
|
56
|
+
results: z.ZodArray<z.ZodObject<{
|
|
57
|
+
name: z.ZodString;
|
|
58
|
+
outcome: z.ZodEnum<{
|
|
59
|
+
failed: "failed";
|
|
60
|
+
resyncing: "resyncing";
|
|
61
|
+
recycling: "recycling";
|
|
62
|
+
stale: "stale";
|
|
63
|
+
applied: "applied";
|
|
64
|
+
missing: "missing";
|
|
65
|
+
departed: "departed";
|
|
66
|
+
timed_out: "timed_out";
|
|
67
|
+
}>;
|
|
68
|
+
payload: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
69
|
+
error: z.ZodNullable<z.ZodString>;
|
|
70
|
+
detail: z.ZodNullable<z.ZodString>;
|
|
71
|
+
}, z.core.$strip>>;
|
|
72
|
+
error: z.ZodNullable<z.ZodString>;
|
|
73
|
+
mode: z.ZodLiteral<"unreachable">;
|
|
74
|
+
}, z.core.$strip>], "mode">>;
|
|
75
|
+
}, z.core.$strip>>;
|
|
76
|
+
}, z.core.$strip>;
|
|
77
|
+
export type BackupImportReport = z.infer<typeof backupImportReport>;
|
|
78
|
+
//# sourceMappingURL=backup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/schemas/backup.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;kBAA+D,CAAC;AAE3F,gFAAgF;AAChF,eAAO,MAAM,cAAc;;;;;iBAKzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Backup section, document and import-report response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { fleetReportFanout } from './fleet';
|
|
4
|
+
export const backupSections = z.array(z.object({ name: z.string(), secret: z.boolean() }));
|
|
5
|
+
/** The exported backup document — validated when the UI reads a picked file. */
|
|
6
|
+
export const backupDocument = z.object({
|
|
7
|
+
version: z.literal(1),
|
|
8
|
+
created_at: z.string(),
|
|
9
|
+
sections: z.record(z.string(), z.unknown()),
|
|
10
|
+
errors: z.record(z.string(), z.string()).optional(),
|
|
11
|
+
});
|
|
12
|
+
export const backupImportReport = z.object({
|
|
13
|
+
ok: z.boolean(),
|
|
14
|
+
sections: z.record(z.string(), z.object({
|
|
15
|
+
created: z.number(),
|
|
16
|
+
updated: z.number(),
|
|
17
|
+
skipped: z.number(),
|
|
18
|
+
errors: z.array(z.string()),
|
|
19
|
+
new_api_keys: z
|
|
20
|
+
.array(z.object({
|
|
21
|
+
user_id: z.string(),
|
|
22
|
+
description: z.string(),
|
|
23
|
+
api_key: z.string(),
|
|
24
|
+
}))
|
|
25
|
+
.optional(),
|
|
26
|
+
// The `manifest` and `env` sections apply through the config pipeline, so their
|
|
27
|
+
// report carries the mode-wrapped fleet `fanout` of the restore's reload; other
|
|
28
|
+
// sections omit it. Parsed EXPLICITLY so the shared fleet-report handler can
|
|
29
|
+
// surface a failed restore propagation — otherwise zod would strip it silently.
|
|
30
|
+
fanout: fleetReportFanout.optional(),
|
|
31
|
+
})),
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=backup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/schemas/backup.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3F,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,QAAQ,EAAE,CAAC,CAAC,MAAM,CAChB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,YAAY,EAAE,CAAC;aACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;YACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC,CACH;aACA,QAAQ,EAAE;QACb,gFAAgF;QAChF,gFAAgF;QAChF,6EAA6E;QAC7E,gFAAgF;QAChF,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE;KACrC,CAAC,CACH;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/** Caller capability projection and auth-capabilities schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
/** A concrete route the caller can reach, with the methods that pass its jq fence. */
|
|
4
|
+
export declare const routeEntry: z.ZodObject<{
|
|
5
|
+
path: z.ZodString;
|
|
6
|
+
methods: z.ZodArray<z.ZodString>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export type RouteEntry = z.infer<typeof routeEntry>;
|
|
9
|
+
/**
|
|
10
|
+
* A dynamic route pattern the caller can reach — a mount/pattern surface not
|
|
11
|
+
* enumerable into concrete paths, projected only when its scope AND jq admit it.
|
|
12
|
+
*/
|
|
13
|
+
export declare const patternEntry: z.ZodObject<{
|
|
14
|
+
pattern: z.ZodString;
|
|
15
|
+
scope_id: z.ZodString;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export type PatternEntry = z.infer<typeof patternEntry>;
|
|
18
|
+
/**
|
|
19
|
+
* A sub-MCP mount the caller can reach, with the tools it exposes and its
|
|
20
|
+
* transport. Shares the {@link subMcpMount} shape with the registry list, adding
|
|
21
|
+
* the `slug` the projection carries inline (the list keys mounts by slug instead).
|
|
22
|
+
*/
|
|
23
|
+
export declare const subMcpEntry: z.ZodObject<{
|
|
24
|
+
tools: z.ZodArray<z.ZodString>;
|
|
25
|
+
transport: z.ZodString;
|
|
26
|
+
slug: z.ZodString;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export type SubMcpEntry = z.infer<typeof subMcpEntry>;
|
|
29
|
+
/**
|
|
30
|
+
* `GET /api/auth/me` — the caller's derived capability projection: the concrete
|
|
31
|
+
* (path, method) surface, dynamic patterns, sub-MCP mounts, tools, and agents it
|
|
32
|
+
* can reach RIGHT NOW (derived server-side, never stored). `admin` is the
|
|
33
|
+
* condition-free `"*"` discriminator (a TOTAL projection); a scoped
|
|
34
|
+
* session carries `admin: false` and a jq-exact `routes` list. `owner_user_id` is
|
|
35
|
+
* the key's owner claim, `null` for a key with no owner claim. `principal` is the
|
|
36
|
+
* caller's principal (kind + display name), `null` when no principal row backs the
|
|
37
|
+
* credential. The invariant is projection ⊆ gate: every projected surface is one
|
|
38
|
+
* the server would admit, so the UI can filter on it without ever advertising a
|
|
39
|
+
* door the gate denies.
|
|
40
|
+
*/
|
|
41
|
+
export declare const meProjection: z.ZodObject<{
|
|
42
|
+
user_id: z.ZodString;
|
|
43
|
+
owner_user_id: z.ZodNullable<z.ZodString>;
|
|
44
|
+
principal: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
45
|
+
user_id: z.ZodString;
|
|
46
|
+
kind: z.ZodEnum<{
|
|
47
|
+
human: "human";
|
|
48
|
+
service: "service";
|
|
49
|
+
}>;
|
|
50
|
+
display_name: z.ZodString;
|
|
51
|
+
}, z.core.$strip>>>;
|
|
52
|
+
admin: z.ZodBoolean;
|
|
53
|
+
scopes: z.ZodArray<z.ZodString>;
|
|
54
|
+
routes: z.ZodArray<z.ZodObject<{
|
|
55
|
+
path: z.ZodString;
|
|
56
|
+
methods: z.ZodArray<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>>;
|
|
58
|
+
route_patterns: z.ZodArray<z.ZodObject<{
|
|
59
|
+
pattern: z.ZodString;
|
|
60
|
+
scope_id: z.ZodString;
|
|
61
|
+
}, z.core.$strip>>;
|
|
62
|
+
sub_mcp: z.ZodArray<z.ZodObject<{
|
|
63
|
+
tools: z.ZodArray<z.ZodString>;
|
|
64
|
+
transport: z.ZodString;
|
|
65
|
+
slug: z.ZodString;
|
|
66
|
+
}, z.core.$strip>>;
|
|
67
|
+
tools: z.ZodArray<z.ZodString>;
|
|
68
|
+
agents: z.ZodArray<z.ZodString>;
|
|
69
|
+
mintable: z.ZodBoolean;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
export type MeProjection = z.infer<typeof meProjection>;
|
|
72
|
+
/**
|
|
73
|
+
* `POST /api/auth/claim-links` — a one-time claim link minted in the key-create
|
|
74
|
+
* flow. `claim_path` is a fragment-carrier path (`/login#claim=<token>`, never an
|
|
75
|
+
* absolute URL — the Studio composes the origin); `token` is the raw claim token
|
|
76
|
+
* returned exactly ONCE; `expires_at` is an ISO-8601 instant.
|
|
77
|
+
*/
|
|
78
|
+
export declare const claimLinkCreated: z.ZodObject<{
|
|
79
|
+
claim_path: z.ZodString;
|
|
80
|
+
token: z.ZodString;
|
|
81
|
+
expires_at: z.ZodString;
|
|
82
|
+
}, z.core.$strip>;
|
|
83
|
+
export type ClaimLinkCreated = z.infer<typeof claimLinkCreated>;
|
|
84
|
+
/**
|
|
85
|
+
* `POST /api/auth/logout` — the single authed logout dispatcher's result.
|
|
86
|
+
* `revoked` is `true` when a live accounts session was revoked; a plain `sk-` key
|
|
87
|
+
* has nothing to revoke and answers `404` (a loud absent-session signal), never a
|
|
88
|
+
* `revoked: false` body. Non-strict, so a SUCCESSFUL logout never throws
|
|
89
|
+
* `ApiSchemaError` on an additive field.
|
|
90
|
+
*/
|
|
91
|
+
export declare const logoutResult: z.ZodObject<{
|
|
92
|
+
revoked: z.ZodBoolean;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
export type LogoutResult = z.infer<typeof logoutResult>;
|
|
95
|
+
/**
|
|
96
|
+
* `GET /api/auth/capabilities` — whether this deployment can MINT API keys
|
|
97
|
+
* locally. `mintable: false` means every configured identity provider is
|
|
98
|
+
* validator-only (keys are issued at an external issuer), so the key-creation
|
|
99
|
+
* UI disables up front instead of surfacing a raw mint failure. Non-strict.
|
|
100
|
+
*/
|
|
101
|
+
export declare const authCapabilities: z.ZodObject<{
|
|
102
|
+
mintable: z.ZodBoolean;
|
|
103
|
+
providers: z.ZodArray<z.ZodObject<{
|
|
104
|
+
name: z.ZodString;
|
|
105
|
+
mintable: z.ZodBoolean;
|
|
106
|
+
}, z.core.$strip>>;
|
|
107
|
+
}, z.core.$strip>;
|
|
108
|
+
export type AuthCapabilities = z.infer<typeof authCapabilities>;
|
|
109
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/schemas/capabilities.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,sFAAsF;AACtF,eAAO,MAAM,UAAU;;;iBAGrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,YAAY;;;iBAGvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;iBAA2C,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;iBAAqC,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;iBAG3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/** Caller capability projection and auth-capabilities schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { principalRef } from './principals';
|
|
4
|
+
import { subMcpMount } from './sub-mcp';
|
|
5
|
+
/** A concrete route the caller can reach, with the methods that pass its jq fence. */
|
|
6
|
+
export const routeEntry = z.object({
|
|
7
|
+
path: z.string(),
|
|
8
|
+
methods: z.array(z.string()),
|
|
9
|
+
});
|
|
10
|
+
/**
|
|
11
|
+
* A dynamic route pattern the caller can reach — a mount/pattern surface not
|
|
12
|
+
* enumerable into concrete paths, projected only when its scope AND jq admit it.
|
|
13
|
+
*/
|
|
14
|
+
export const patternEntry = z.object({
|
|
15
|
+
pattern: z.string(),
|
|
16
|
+
scope_id: z.string(),
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* A sub-MCP mount the caller can reach, with the tools it exposes and its
|
|
20
|
+
* transport. Shares the {@link subMcpMount} shape with the registry list, adding
|
|
21
|
+
* the `slug` the projection carries inline (the list keys mounts by slug instead).
|
|
22
|
+
*/
|
|
23
|
+
export const subMcpEntry = subMcpMount.extend({ slug: z.string() });
|
|
24
|
+
/**
|
|
25
|
+
* `GET /api/auth/me` — the caller's derived capability projection: the concrete
|
|
26
|
+
* (path, method) surface, dynamic patterns, sub-MCP mounts, tools, and agents it
|
|
27
|
+
* can reach RIGHT NOW (derived server-side, never stored). `admin` is the
|
|
28
|
+
* condition-free `"*"` discriminator (a TOTAL projection); a scoped
|
|
29
|
+
* session carries `admin: false` and a jq-exact `routes` list. `owner_user_id` is
|
|
30
|
+
* the key's owner claim, `null` for a key with no owner claim. `principal` is the
|
|
31
|
+
* caller's principal (kind + display name), `null` when no principal row backs the
|
|
32
|
+
* credential. The invariant is projection ⊆ gate: every projected surface is one
|
|
33
|
+
* the server would admit, so the UI can filter on it without ever advertising a
|
|
34
|
+
* door the gate denies.
|
|
35
|
+
*/
|
|
36
|
+
export const meProjection = z.object({
|
|
37
|
+
user_id: z.string(),
|
|
38
|
+
owner_user_id: z.string().nullable(),
|
|
39
|
+
principal: principalRef.nullable().optional(),
|
|
40
|
+
admin: z.boolean(),
|
|
41
|
+
scopes: z.array(z.string()),
|
|
42
|
+
routes: z.array(routeEntry),
|
|
43
|
+
route_patterns: z.array(patternEntry),
|
|
44
|
+
sub_mcp: z.array(subMcpEntry),
|
|
45
|
+
tools: z.array(z.string()),
|
|
46
|
+
agents: z.array(z.string()),
|
|
47
|
+
mintable: z.boolean(),
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* `POST /api/auth/claim-links` — a one-time claim link minted in the key-create
|
|
51
|
+
* flow. `claim_path` is a fragment-carrier path (`/login#claim=<token>`, never an
|
|
52
|
+
* absolute URL — the Studio composes the origin); `token` is the raw claim token
|
|
53
|
+
* returned exactly ONCE; `expires_at` is an ISO-8601 instant.
|
|
54
|
+
*/
|
|
55
|
+
export const claimLinkCreated = z.object({
|
|
56
|
+
claim_path: z.string(),
|
|
57
|
+
token: z.string(),
|
|
58
|
+
expires_at: z.string(),
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* `POST /api/auth/logout` — the single authed logout dispatcher's result.
|
|
62
|
+
* `revoked` is `true` when a live accounts session was revoked; a plain `sk-` key
|
|
63
|
+
* has nothing to revoke and answers `404` (a loud absent-session signal), never a
|
|
64
|
+
* `revoked: false` body. Non-strict, so a SUCCESSFUL logout never throws
|
|
65
|
+
* `ApiSchemaError` on an additive field.
|
|
66
|
+
*/
|
|
67
|
+
export const logoutResult = z.object({ revoked: z.boolean() });
|
|
68
|
+
/**
|
|
69
|
+
* `GET /api/auth/capabilities` — whether this deployment can MINT API keys
|
|
70
|
+
* locally. `mintable: false` means every configured identity provider is
|
|
71
|
+
* validator-only (keys are issued at an external issuer), so the key-creation
|
|
72
|
+
* UI disables up front instead of surfacing a raw mint failure. Non-strict.
|
|
73
|
+
*/
|
|
74
|
+
export const authCapabilities = z.object({
|
|
75
|
+
mintable: z.boolean(),
|
|
76
|
+
providers: z.array(z.object({ name: z.string(), mintable: z.boolean() })),
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/schemas/capabilities.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,sFAAsF;AACtF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAGpE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAC3B,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;CACtB,CAAC,CAAC;AAGH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAGH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAG/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;CAC1E,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Installed channel-plugin catalog response schema. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const channels: z.ZodObject<{
|
|
4
|
+
channels: z.ZodArray<z.ZodString>;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export type Channels = z.infer<typeof channels>;
|
|
7
|
+
//# sourceMappingURL=channels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/schemas/channels.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,QAAQ;;iBAEnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Installed channel-plugin catalog response schema. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
// The installed channel-plugin catalog: names registered via the manifest's
|
|
4
|
+
// channel modules. A deployment with none bound answers questions only in this
|
|
5
|
+
// inbox (the Studio default).
|
|
6
|
+
export const channels = z.object({
|
|
7
|
+
channels: z.array(z.string()),
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=channels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/schemas/channels.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4EAA4E;AAC5E,+EAA+E;AAC/E,8BAA8B;AAE9B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Environment-config and config-mode response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const envConfig: z.ZodObject<{
|
|
4
|
+
env: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
5
|
+
secret_keys: z.ZodArray<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
/**
|
|
8
|
+
* `GET /api/config/mode` — the active config backend mode (`file` / `k8s`). The
|
|
9
|
+
* skeleton emits only `config_mode`; `read_only` is a UI-side gate, tolerated-absent
|
|
10
|
+
* and defaulting to `false` (writable) so a normal response never drifts, while a
|
|
11
|
+
* genuinely read-only deployment can opt in by emitting `read_only: true`.
|
|
12
|
+
*/
|
|
13
|
+
export declare const configMode: z.ZodObject<{
|
|
14
|
+
config_mode: z.ZodString;
|
|
15
|
+
read_only: z.ZodDefault<z.ZodBoolean>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,SAAS;;;iBAGpB,CAAC;AACH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;iBAGrB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Environment-config and config-mode response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export const envConfig = z.object({
|
|
4
|
+
env: z.record(z.string(), z.string()),
|
|
5
|
+
secret_keys: z.array(z.string()),
|
|
6
|
+
});
|
|
7
|
+
/**
|
|
8
|
+
* `GET /api/config/mode` — the active config backend mode (`file` / `k8s`). The
|
|
9
|
+
* skeleton emits only `config_mode`; `read_only` is a UI-side gate, tolerated-absent
|
|
10
|
+
* and defaulting to `false` (writable) so a normal response never drifts, while a
|
|
11
|
+
* genuinely read-only deployment can opt in by emitting `read_only: true`.
|
|
12
|
+
*/
|
|
13
|
+
export const configMode = z.object({
|
|
14
|
+
config_mode: z.string(),
|
|
15
|
+
read_only: z.boolean().default(false),
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACjC,CAAC,CAAC;AACH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACtC,CAAC,CAAC"}
|