@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,180 @@
|
|
|
1
|
+
/** Settings-profile record, version, diff and apply response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
/**
|
|
4
|
+
* `GET /api/config/profiles` — one row per stored profile. The list is
|
|
5
|
+
* names+descriptions ONLY (action=read); no `env`, no `secret_keys`, no bodies.
|
|
6
|
+
* (No `last_modified`: the list carries identity, not history — version metadata
|
|
7
|
+
* is the `/versions` surface — so the list renders no last-modified column.)
|
|
8
|
+
*/
|
|
9
|
+
export declare const settingsProfileSummary: z.ZodObject<{
|
|
10
|
+
name: z.ZodString;
|
|
11
|
+
description: z.ZodString;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export type SettingsProfileSummary = z.infer<typeof settingsProfileSummary>;
|
|
14
|
+
export declare const settingsProfileList: z.ZodArray<z.ZodObject<{
|
|
15
|
+
name: z.ZodString;
|
|
16
|
+
description: z.ZodString;
|
|
17
|
+
}, z.core.$strip>>;
|
|
18
|
+
/**
|
|
19
|
+
* `GET /api/config/profiles/{name}` and each version body — the stored profile
|
|
20
|
+
* document (action=secret). `env` carries REAL values; `secret_keys` is the
|
|
21
|
+
* per-profile secret-marks band folded into the secret-mask union for masking.
|
|
22
|
+
*/
|
|
23
|
+
export declare const settingsProfileBody: z.ZodObject<{
|
|
24
|
+
description: z.ZodString;
|
|
25
|
+
env: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
26
|
+
secret_keys: z.ZodArray<z.ZodString>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export type SettingsProfileBody = z.infer<typeof settingsProfileBody>;
|
|
29
|
+
/** `PUT /api/config/profiles/{name}` — a minimal save ack; `version` is the new store version. */
|
|
30
|
+
export declare const settingsProfileSaved: z.ZodObject<{
|
|
31
|
+
ok: z.ZodLiteral<true>;
|
|
32
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
export type SettingsProfileSaved = z.infer<typeof settingsProfileSaved>;
|
|
35
|
+
/** `DELETE /api/config/profiles/{name}` — a minimal removal ack. */
|
|
36
|
+
export declare const settingsProfileDeleted: z.ZodObject<{
|
|
37
|
+
ok: z.ZodLiteral<true>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
/** `POST /api/config/profiles/{name}/rollback` — the restore ack; `version` is the resulting active version. */
|
|
40
|
+
export declare const settingsProfileRollback: z.ZodObject<{
|
|
41
|
+
ok: z.ZodLiteral<true>;
|
|
42
|
+
version: z.ZodNumber;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
export type SettingsProfileRollback = z.infer<typeof settingsProfileRollback>;
|
|
45
|
+
/**
|
|
46
|
+
* `POST /api/config/profiles/{name}/diff` — the SAVED profile vs the stored env
|
|
47
|
+
* (action=secret). `changed` carries real `old`/`new` values (UI masks via
|
|
48
|
+
* JsonDiff); `recycle_keys`/`refused_keys` are the diff's recycle-class and
|
|
49
|
+
* boundary-refused key names, called out in the UI before apply.
|
|
50
|
+
*/
|
|
51
|
+
export declare const settingsProfileDiff: z.ZodObject<{
|
|
52
|
+
added: z.ZodArray<z.ZodString>;
|
|
53
|
+
removed: z.ZodArray<z.ZodString>;
|
|
54
|
+
changed: z.ZodArray<z.ZodObject<{
|
|
55
|
+
key: z.ZodString;
|
|
56
|
+
old: z.ZodString;
|
|
57
|
+
new: z.ZodString;
|
|
58
|
+
}, z.core.$strip>>;
|
|
59
|
+
recycle_keys: z.ZodArray<z.ZodString>;
|
|
60
|
+
refused_keys: z.ZodArray<z.ZodString>;
|
|
61
|
+
}, z.core.$strip>;
|
|
62
|
+
export type SettingsProfileDiff = z.infer<typeof settingsProfileDiff>;
|
|
63
|
+
/**
|
|
64
|
+
* `POST /api/config/profiles/{name}/apply` — the dedicated `profile_apply_response`
|
|
65
|
+
* (action=fenced, destructive). NAMES-ONLY (no env value in any
|
|
66
|
+
* section): `hot` is the hot-swapped key names; `recycle` is the orchestrator's
|
|
67
|
+
* per-worker section — one `{name, kind, status, generation_before}` row per recycled
|
|
68
|
+
* target, `generation_before` the life that was recycled, the applier's OWN row carrying
|
|
69
|
+
* the `self-deferred` status literal when the diff has serve-affecting recycle keys;
|
|
70
|
+
* `fresh` is the per-kind list of NEW ready lives observed since the pre-apply snapshot
|
|
71
|
+
* (each `{name, kind, generation}`), evidence of fresh capacity and never claimed as any
|
|
72
|
+
* target's successor; `refused` is `[]` on success by construction (populated
|
|
73
|
+
* `{key, reason}` only on a refusal), the populated refusal surfaces being the diff
|
|
74
|
+
* preview and the refusal error report. `fanout` is the mode-wrapped fleet broadcast,
|
|
75
|
+
* parsed EXPLICITLY so a failed propagation reaches the shared fleet-report handler. A
|
|
76
|
+
* drift throws `ApiSchemaError`.
|
|
77
|
+
*/
|
|
78
|
+
export declare const profileApplyResponse: z.ZodObject<{
|
|
79
|
+
hot: z.ZodArray<z.ZodString>;
|
|
80
|
+
recycle: z.ZodArray<z.ZodObject<{
|
|
81
|
+
name: z.ZodString;
|
|
82
|
+
kind: z.ZodString;
|
|
83
|
+
status: z.ZodString;
|
|
84
|
+
generation_before: z.ZodNumber;
|
|
85
|
+
}, z.core.$strip>>;
|
|
86
|
+
fresh: z.ZodArray<z.ZodObject<{
|
|
87
|
+
name: z.ZodString;
|
|
88
|
+
kind: z.ZodString;
|
|
89
|
+
generation: z.ZodNumber;
|
|
90
|
+
}, z.core.$strip>>;
|
|
91
|
+
refused: z.ZodArray<z.ZodObject<{
|
|
92
|
+
key: z.ZodString;
|
|
93
|
+
reason: z.ZodString;
|
|
94
|
+
}, z.core.$strip>>;
|
|
95
|
+
fanout: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
96
|
+
mode: z.ZodLiteral<"local-only">;
|
|
97
|
+
note: z.ZodString;
|
|
98
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
99
|
+
op: z.ZodString;
|
|
100
|
+
reachable: z.ZodBoolean;
|
|
101
|
+
local_only: z.ZodBoolean;
|
|
102
|
+
results: z.ZodArray<z.ZodObject<{
|
|
103
|
+
name: z.ZodString;
|
|
104
|
+
outcome: z.ZodEnum<{
|
|
105
|
+
failed: "failed";
|
|
106
|
+
resyncing: "resyncing";
|
|
107
|
+
recycling: "recycling";
|
|
108
|
+
stale: "stale";
|
|
109
|
+
applied: "applied";
|
|
110
|
+
missing: "missing";
|
|
111
|
+
departed: "departed";
|
|
112
|
+
timed_out: "timed_out";
|
|
113
|
+
}>;
|
|
114
|
+
payload: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
115
|
+
error: z.ZodNullable<z.ZodString>;
|
|
116
|
+
detail: z.ZodNullable<z.ZodString>;
|
|
117
|
+
}, z.core.$strip>>;
|
|
118
|
+
error: z.ZodNullable<z.ZodString>;
|
|
119
|
+
mode: z.ZodLiteral<"fleet">;
|
|
120
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
121
|
+
op: z.ZodString;
|
|
122
|
+
reachable: z.ZodBoolean;
|
|
123
|
+
local_only: z.ZodBoolean;
|
|
124
|
+
results: z.ZodArray<z.ZodObject<{
|
|
125
|
+
name: z.ZodString;
|
|
126
|
+
outcome: z.ZodEnum<{
|
|
127
|
+
failed: "failed";
|
|
128
|
+
resyncing: "resyncing";
|
|
129
|
+
recycling: "recycling";
|
|
130
|
+
stale: "stale";
|
|
131
|
+
applied: "applied";
|
|
132
|
+
missing: "missing";
|
|
133
|
+
departed: "departed";
|
|
134
|
+
timed_out: "timed_out";
|
|
135
|
+
}>;
|
|
136
|
+
payload: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
137
|
+
error: z.ZodNullable<z.ZodString>;
|
|
138
|
+
detail: z.ZodNullable<z.ZodString>;
|
|
139
|
+
}, z.core.$strip>>;
|
|
140
|
+
error: z.ZodNullable<z.ZodString>;
|
|
141
|
+
mode: z.ZodLiteral<"unreachable">;
|
|
142
|
+
}, z.core.$strip>], "mode">;
|
|
143
|
+
}, z.core.$strip>;
|
|
144
|
+
export type ProfileApplyResponse = z.infer<typeof profileApplyResponse>;
|
|
145
|
+
/**
|
|
146
|
+
* `GET /api/config/profiles/{name}/versions` — version METADATA only (action=read;
|
|
147
|
+
* no bodies), the generic versioned-store row minus `body`. `is_current` flags the
|
|
148
|
+
* active pointer.
|
|
149
|
+
*/
|
|
150
|
+
export declare const settingsProfileVersionMeta: z.ZodObject<{
|
|
151
|
+
version: z.ZodNumber;
|
|
152
|
+
tags: z.ZodArray<z.ZodString>;
|
|
153
|
+
created_at: z.ZodString;
|
|
154
|
+
is_current: z.ZodBoolean;
|
|
155
|
+
}, z.core.$strip>;
|
|
156
|
+
export type SettingsProfileVersionMeta = z.infer<typeof settingsProfileVersionMeta>;
|
|
157
|
+
export declare const settingsProfileVersionList: z.ZodArray<z.ZodObject<{
|
|
158
|
+
version: z.ZodNumber;
|
|
159
|
+
tags: z.ZodArray<z.ZodString>;
|
|
160
|
+
created_at: z.ZodString;
|
|
161
|
+
is_current: z.ZodBoolean;
|
|
162
|
+
}, z.core.$strip>>;
|
|
163
|
+
/**
|
|
164
|
+
* `GET /api/config/profiles/{name}/versions/{version}` — one immutable version WITH
|
|
165
|
+
* its `body` (action=secret; body rendered masked per the secret-mask union). The generic
|
|
166
|
+
* versioned-store row shape.
|
|
167
|
+
*/
|
|
168
|
+
export declare const settingsProfileVersion: z.ZodObject<{
|
|
169
|
+
version: z.ZodNumber;
|
|
170
|
+
tags: z.ZodArray<z.ZodString>;
|
|
171
|
+
created_at: z.ZodString;
|
|
172
|
+
is_current: z.ZodBoolean;
|
|
173
|
+
body: z.ZodObject<{
|
|
174
|
+
description: z.ZodString;
|
|
175
|
+
env: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
176
|
+
secret_keys: z.ZodArray<z.ZodString>;
|
|
177
|
+
}, z.core.$strip>;
|
|
178
|
+
}, z.core.$strip>;
|
|
179
|
+
export type SettingsProfileVersion = z.infer<typeof settingsProfileVersion>;
|
|
180
|
+
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/schemas/profiles.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,eAAO,MAAM,mBAAmB;;;kBAAkC,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,kGAAkG;AAClG,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,oEAAoE;AACpE,eAAO,MAAM,sBAAsB;;iBAAoC,CAAC;AAExE,gHAAgH;AAChH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAM9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;iBAKrC,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACpF,eAAO,MAAM,0BAA0B;;;;;kBAAsC,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;iBAEjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/** Settings-profile record, version, diff and apply response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { fleetReportFanout } from './fleet';
|
|
4
|
+
// The admin-only `/api/config/profiles/*` surface. Secrets ride the wire in the
|
|
5
|
+
// clear (secret/fenced routes); masking is CLIENT-SIDE per the secret-mask union. A drift
|
|
6
|
+
// on any of these throws `ApiSchemaError`.
|
|
7
|
+
/**
|
|
8
|
+
* `GET /api/config/profiles` — one row per stored profile. The list is
|
|
9
|
+
* names+descriptions ONLY (action=read); no `env`, no `secret_keys`, no bodies.
|
|
10
|
+
* (No `last_modified`: the list carries identity, not history — version metadata
|
|
11
|
+
* is the `/versions` surface — so the list renders no last-modified column.)
|
|
12
|
+
*/
|
|
13
|
+
export const settingsProfileSummary = z.object({
|
|
14
|
+
name: z.string(),
|
|
15
|
+
description: z.string(),
|
|
16
|
+
});
|
|
17
|
+
export const settingsProfileList = z.array(settingsProfileSummary);
|
|
18
|
+
/**
|
|
19
|
+
* `GET /api/config/profiles/{name}` and each version body — the stored profile
|
|
20
|
+
* document (action=secret). `env` carries REAL values; `secret_keys` is the
|
|
21
|
+
* per-profile secret-marks band folded into the secret-mask union for masking.
|
|
22
|
+
*/
|
|
23
|
+
export const settingsProfileBody = z.object({
|
|
24
|
+
description: z.string(),
|
|
25
|
+
env: z.record(z.string(), z.string()),
|
|
26
|
+
secret_keys: z.array(z.string()),
|
|
27
|
+
});
|
|
28
|
+
/** `PUT /api/config/profiles/{name}` — a minimal save ack; `version` is the new store version. */
|
|
29
|
+
export const settingsProfileSaved = z.object({
|
|
30
|
+
ok: z.literal(true),
|
|
31
|
+
version: z.number().optional(),
|
|
32
|
+
});
|
|
33
|
+
/** `DELETE /api/config/profiles/{name}` — a minimal removal ack. */
|
|
34
|
+
export const settingsProfileDeleted = z.object({ ok: z.literal(true) });
|
|
35
|
+
/** `POST /api/config/profiles/{name}/rollback` — the restore ack; `version` is the resulting active version. */
|
|
36
|
+
export const settingsProfileRollback = z.object({
|
|
37
|
+
ok: z.literal(true),
|
|
38
|
+
version: z.number(),
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* `POST /api/config/profiles/{name}/diff` — the SAVED profile vs the stored env
|
|
42
|
+
* (action=secret). `changed` carries real `old`/`new` values (UI masks via
|
|
43
|
+
* JsonDiff); `recycle_keys`/`refused_keys` are the diff's recycle-class and
|
|
44
|
+
* boundary-refused key names, called out in the UI before apply.
|
|
45
|
+
*/
|
|
46
|
+
export const settingsProfileDiff = z.object({
|
|
47
|
+
added: z.array(z.string()),
|
|
48
|
+
removed: z.array(z.string()),
|
|
49
|
+
changed: z.array(z.object({ key: z.string(), old: z.string(), new: z.string() })),
|
|
50
|
+
recycle_keys: z.array(z.string()),
|
|
51
|
+
refused_keys: z.array(z.string()),
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* `POST /api/config/profiles/{name}/apply` — the dedicated `profile_apply_response`
|
|
55
|
+
* (action=fenced, destructive). NAMES-ONLY (no env value in any
|
|
56
|
+
* section): `hot` is the hot-swapped key names; `recycle` is the orchestrator's
|
|
57
|
+
* per-worker section — one `{name, kind, status, generation_before}` row per recycled
|
|
58
|
+
* target, `generation_before` the life that was recycled, the applier's OWN row carrying
|
|
59
|
+
* the `self-deferred` status literal when the diff has serve-affecting recycle keys;
|
|
60
|
+
* `fresh` is the per-kind list of NEW ready lives observed since the pre-apply snapshot
|
|
61
|
+
* (each `{name, kind, generation}`), evidence of fresh capacity and never claimed as any
|
|
62
|
+
* target's successor; `refused` is `[]` on success by construction (populated
|
|
63
|
+
* `{key, reason}` only on a refusal), the populated refusal surfaces being the diff
|
|
64
|
+
* preview and the refusal error report. `fanout` is the mode-wrapped fleet broadcast,
|
|
65
|
+
* parsed EXPLICITLY so a failed propagation reaches the shared fleet-report handler. A
|
|
66
|
+
* drift throws `ApiSchemaError`.
|
|
67
|
+
*/
|
|
68
|
+
export const profileApplyResponse = z.object({
|
|
69
|
+
hot: z.array(z.string()),
|
|
70
|
+
recycle: z.array(z.object({
|
|
71
|
+
name: z.string(),
|
|
72
|
+
kind: z.string(),
|
|
73
|
+
status: z.string(),
|
|
74
|
+
generation_before: z.number(),
|
|
75
|
+
})),
|
|
76
|
+
fresh: z.array(z.object({ name: z.string(), kind: z.string(), generation: z.number() })),
|
|
77
|
+
refused: z.array(z.object({ key: z.string(), reason: z.string() })),
|
|
78
|
+
fanout: fleetReportFanout,
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* `GET /api/config/profiles/{name}/versions` — version METADATA only (action=read;
|
|
82
|
+
* no bodies), the generic versioned-store row minus `body`. `is_current` flags the
|
|
83
|
+
* active pointer.
|
|
84
|
+
*/
|
|
85
|
+
export const settingsProfileVersionMeta = z.object({
|
|
86
|
+
version: z.number(),
|
|
87
|
+
tags: z.array(z.string()),
|
|
88
|
+
created_at: z.string(),
|
|
89
|
+
is_current: z.boolean(),
|
|
90
|
+
});
|
|
91
|
+
export const settingsProfileVersionList = z.array(settingsProfileVersionMeta);
|
|
92
|
+
/**
|
|
93
|
+
* `GET /api/config/profiles/{name}/versions/{version}` — one immutable version WITH
|
|
94
|
+
* its `body` (action=secret; body rendered masked per the secret-mask union). The generic
|
|
95
|
+
* versioned-store row shape.
|
|
96
|
+
*/
|
|
97
|
+
export const settingsProfileVersion = settingsProfileVersionMeta.extend({
|
|
98
|
+
body: settingsProfileBody,
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/schemas/profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/** Role grant, version and audit response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
/** A role's per-tag ACCESS LEVEL: `none` (no access), `read`, or `write`. */
|
|
4
|
+
export declare const grantLevel: z.ZodEnum<{
|
|
5
|
+
none: "none";
|
|
6
|
+
read: "read";
|
|
7
|
+
write: "write";
|
|
8
|
+
}>;
|
|
9
|
+
export type GrantLevel = z.infer<typeof grantLevel>;
|
|
10
|
+
/** A role's editable grant map: feature-group TAG name → the role's access level. */
|
|
11
|
+
export declare const roleGrants: z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
12
|
+
none: "none";
|
|
13
|
+
read: "read";
|
|
14
|
+
write: "write";
|
|
15
|
+
}>>;
|
|
16
|
+
export type RoleGrants = z.infer<typeof roleGrants>;
|
|
17
|
+
export declare const roleList: z.ZodArray<z.ZodObject<{
|
|
18
|
+
allow_all: z.ZodDefault<z.ZodBoolean>;
|
|
19
|
+
base_tier: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
|
|
20
|
+
condition: z.ZodDefault<z.ZodUnion<readonly [z.ZodObject<{
|
|
21
|
+
content: z.ZodOptional<z.ZodString>;
|
|
22
|
+
id: z.ZodOptional<z.ZodString>;
|
|
23
|
+
kwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
24
|
+
}, z.core.$strict>, z.ZodNull]>>;
|
|
25
|
+
description: z.ZodString;
|
|
26
|
+
grants: z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
27
|
+
none: "none";
|
|
28
|
+
read: "read";
|
|
29
|
+
write: "write";
|
|
30
|
+
}>>;
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
scopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
33
|
+
}, z.core.$strip>>;
|
|
34
|
+
/** `DELETE /api/auth/roles/{name}` — the deleted role's name. */
|
|
35
|
+
export declare const roleDeleted: z.ZodObject<{
|
|
36
|
+
name: z.ZodString;
|
|
37
|
+
deleted: z.ZodBoolean;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
/**
|
|
40
|
+
* One immutable role-version row (`GET /api/auth/roles/{name}/versions` →
|
|
41
|
+
* `versions`). `body` is the role body at that version; `is_current` flags the
|
|
42
|
+
* active pointer. Mirrors the generic versioned-store row shape.
|
|
43
|
+
*/
|
|
44
|
+
export declare const roleVersion: z.ZodObject<{
|
|
45
|
+
version: z.ZodNumber;
|
|
46
|
+
body: z.ZodObject<{
|
|
47
|
+
allow_all: z.ZodDefault<z.ZodBoolean>;
|
|
48
|
+
base_tier: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
|
|
49
|
+
condition: z.ZodDefault<z.ZodUnion<readonly [z.ZodObject<{
|
|
50
|
+
content: z.ZodOptional<z.ZodString>;
|
|
51
|
+
id: z.ZodOptional<z.ZodString>;
|
|
52
|
+
kwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
53
|
+
}, z.core.$strict>, z.ZodNull]>>;
|
|
54
|
+
description: z.ZodString;
|
|
55
|
+
grants: z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
56
|
+
none: "none";
|
|
57
|
+
read: "read";
|
|
58
|
+
write: "write";
|
|
59
|
+
}>>;
|
|
60
|
+
name: z.ZodString;
|
|
61
|
+
scopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
tags: z.ZodArray<z.ZodString>;
|
|
64
|
+
created_at: z.ZodString;
|
|
65
|
+
is_current: z.ZodBoolean;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
export type RoleVersion = z.infer<typeof roleVersion>;
|
|
68
|
+
/**
|
|
69
|
+
* One who/action/before→after audit row (`GET /api/auth/roles/{name}/versions` →
|
|
70
|
+
* `audit`). Its `body` carries the mutation kind, the actor, and the before/after
|
|
71
|
+
* role bodies (both `null` for a create's `before` / a delete's `after`).
|
|
72
|
+
*/
|
|
73
|
+
export declare const roleAuditEvent: z.ZodObject<{
|
|
74
|
+
version: z.ZodNumber;
|
|
75
|
+
body: z.ZodObject<{
|
|
76
|
+
action: z.ZodString;
|
|
77
|
+
actor: z.ZodNullable<z.ZodString>;
|
|
78
|
+
before: z.ZodNullable<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
79
|
+
after: z.ZodNullable<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
80
|
+
}, z.core.$strip>;
|
|
81
|
+
tags: z.ZodArray<z.ZodString>;
|
|
82
|
+
created_at: z.ZodString;
|
|
83
|
+
is_current: z.ZodBoolean;
|
|
84
|
+
}, z.core.$strip>;
|
|
85
|
+
export type RoleAuditEvent = z.infer<typeof roleAuditEvent>;
|
|
86
|
+
/** `GET /api/auth/roles/{name}/versions` — the append-only history + audit trail. */
|
|
87
|
+
export declare const roleVersions: z.ZodObject<{
|
|
88
|
+
versions: z.ZodArray<z.ZodObject<{
|
|
89
|
+
version: z.ZodNumber;
|
|
90
|
+
body: z.ZodObject<{
|
|
91
|
+
allow_all: z.ZodDefault<z.ZodBoolean>;
|
|
92
|
+
base_tier: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
|
|
93
|
+
condition: z.ZodDefault<z.ZodUnion<readonly [z.ZodObject<{
|
|
94
|
+
content: z.ZodOptional<z.ZodString>;
|
|
95
|
+
id: z.ZodOptional<z.ZodString>;
|
|
96
|
+
kwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
97
|
+
}, z.core.$strict>, z.ZodNull]>>;
|
|
98
|
+
description: z.ZodString;
|
|
99
|
+
grants: z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
100
|
+
none: "none";
|
|
101
|
+
read: "read";
|
|
102
|
+
write: "write";
|
|
103
|
+
}>>;
|
|
104
|
+
name: z.ZodString;
|
|
105
|
+
scopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
106
|
+
}, z.core.$strip>;
|
|
107
|
+
tags: z.ZodArray<z.ZodString>;
|
|
108
|
+
created_at: z.ZodString;
|
|
109
|
+
is_current: z.ZodBoolean;
|
|
110
|
+
}, z.core.$strip>>;
|
|
111
|
+
audit: z.ZodArray<z.ZodObject<{
|
|
112
|
+
version: z.ZodNumber;
|
|
113
|
+
body: z.ZodObject<{
|
|
114
|
+
action: z.ZodString;
|
|
115
|
+
actor: z.ZodNullable<z.ZodString>;
|
|
116
|
+
before: z.ZodNullable<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
117
|
+
after: z.ZodNullable<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
118
|
+
}, z.core.$strip>;
|
|
119
|
+
tags: z.ZodArray<z.ZodString>;
|
|
120
|
+
created_at: z.ZodString;
|
|
121
|
+
is_current: z.ZodBoolean;
|
|
122
|
+
}, z.core.$strip>>;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
export type RoleVersions = z.infer<typeof roleVersions>;
|
|
125
|
+
//# sourceMappingURL=roles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/schemas/roles.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,6EAA6E;AAC7E,eAAO,MAAM,UAAU;;;;EAAoC,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,qFAAqF;AACrF,eAAO,MAAM,UAAU;;;;GAAmC,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;kBAAoB,CAAC;AAE1C,iEAAiE;AACjE,eAAO,MAAM,WAAW;;;iBAAuD,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;iBAMtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;iBAWzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,qFAAqF;AACrF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** Role grant, version and audit response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { roleBody } from './served';
|
|
4
|
+
import { jsonValue } from './shared';
|
|
5
|
+
/** A role's per-tag ACCESS LEVEL: `none` (no access), `read`, or `write`. */
|
|
6
|
+
export const grantLevel = z.enum(['none', 'read', 'write']);
|
|
7
|
+
/** A role's editable grant map: feature-group TAG name → the role's access level. */
|
|
8
|
+
export const roleGrants = z.record(z.string(), grantLevel);
|
|
9
|
+
export const roleList = z.array(roleBody);
|
|
10
|
+
/** `DELETE /api/auth/roles/{name}` — the deleted role's name. */
|
|
11
|
+
export const roleDeleted = z.object({ name: z.string(), deleted: z.boolean() });
|
|
12
|
+
/**
|
|
13
|
+
* One immutable role-version row (`GET /api/auth/roles/{name}/versions` →
|
|
14
|
+
* `versions`). `body` is the role body at that version; `is_current` flags the
|
|
15
|
+
* active pointer. Mirrors the generic versioned-store row shape.
|
|
16
|
+
*/
|
|
17
|
+
export const roleVersion = z.object({
|
|
18
|
+
version: z.number(),
|
|
19
|
+
body: roleBody,
|
|
20
|
+
tags: z.array(z.string()),
|
|
21
|
+
created_at: z.string(),
|
|
22
|
+
is_current: z.boolean(),
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* One who/action/before→after audit row (`GET /api/auth/roles/{name}/versions` →
|
|
26
|
+
* `audit`). Its `body` carries the mutation kind, the actor, and the before/after
|
|
27
|
+
* role bodies (both `null` for a create's `before` / a delete's `after`).
|
|
28
|
+
*/
|
|
29
|
+
export const roleAuditEvent = z.object({
|
|
30
|
+
version: z.number(),
|
|
31
|
+
body: z.object({
|
|
32
|
+
action: z.string(),
|
|
33
|
+
actor: z.string().nullable(),
|
|
34
|
+
before: jsonValue.nullable(),
|
|
35
|
+
after: jsonValue.nullable(),
|
|
36
|
+
}),
|
|
37
|
+
tags: z.array(z.string()),
|
|
38
|
+
created_at: z.string(),
|
|
39
|
+
is_current: z.boolean(),
|
|
40
|
+
});
|
|
41
|
+
/** `GET /api/auth/roles/{name}/versions` — the append-only history + audit trail. */
|
|
42
|
+
export const roleVersions = z.object({
|
|
43
|
+
versions: z.array(roleVersion),
|
|
44
|
+
audit: z.array(roleAuditEvent),
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=roles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/schemas/roles.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAG5D,qFAAqF;AACrF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;AAG3D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE1C,iEAAiE;AACjE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE;QAC5B,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;KAC5B,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC;AAGH,qFAAqF;AACrF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;CAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Schedule listing and server-clock response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const scheduleItem: z.ZodObject<{
|
|
4
|
+
name: z.ZodString;
|
|
5
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
6
|
+
schedule: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
7
|
+
target: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
8
|
+
args: z.ZodOptional<z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
|
|
9
|
+
kwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
|
|
10
|
+
}, z.core.$loose>;
|
|
11
|
+
export declare const scheduleList: z.ZodArray<z.ZodObject<{
|
|
12
|
+
name: z.ZodString;
|
|
13
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
14
|
+
schedule: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
15
|
+
target: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
16
|
+
args: z.ZodOptional<z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
|
|
17
|
+
kwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
|
|
18
|
+
}, z.core.$loose>>;
|
|
19
|
+
export type ScheduleItem = z.infer<typeof scheduleItem>;
|
|
20
|
+
export declare const serverDateTime: z.ZodObject<{
|
|
21
|
+
utc: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
22
|
+
local: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
23
|
+
system: z.ZodOptional<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
24
|
+
}, z.core.$loose>;
|
|
25
|
+
//# sourceMappingURL=schedules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/schemas/schedules.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,YAAY;;;;;;;iBASf,CAAC;AACX,eAAO,MAAM,YAAY;;;;;;;kBAAwB,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,cAAc;;;;iBAMjB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Schedule listing and server-clock response schemas. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { jsonValue } from './shared';
|
|
4
|
+
// The skeleton returns opaque backend-tool results; the table reads a few known
|
|
5
|
+
// fields and passes the rest through untouched.
|
|
6
|
+
export const scheduleItem = z
|
|
7
|
+
.object({
|
|
8
|
+
name: z.string(),
|
|
9
|
+
enabled: z.boolean().optional(),
|
|
10
|
+
schedule: jsonValue.optional(),
|
|
11
|
+
target: jsonValue.optional(),
|
|
12
|
+
args: z.array(jsonValue).optional(),
|
|
13
|
+
kwargs: z.record(z.string(), jsonValue).optional(),
|
|
14
|
+
})
|
|
15
|
+
.loose();
|
|
16
|
+
export const scheduleList = z.array(scheduleItem);
|
|
17
|
+
export const serverDateTime = z
|
|
18
|
+
.object({
|
|
19
|
+
utc: jsonValue,
|
|
20
|
+
local: jsonValue.optional(),
|
|
21
|
+
system: jsonValue.optional(),
|
|
22
|
+
})
|
|
23
|
+
.loose();
|
|
24
|
+
//# sourceMappingURL=schedules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../src/schemas/schedules.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,gFAAgF;AAChF,gDAAgD;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC;KACD,KAAK,EAAE,CAAC;AACX,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAGlD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,KAAK,EAAE,CAAC"}
|