@archastro/sdk 0.13.0 → 0.15.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/channels/api_chat_channel.d.ts +19 -2
- package/dist/channels/api_chat_channel.d.ts.map +1 -1
- package/dist/channels/api_chat_channel.js +19 -3
- package/dist/channels/api_chat_channel.js.map +1 -1
- package/dist/client.d.ts +6 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -1
- package/dist/client.js.map +1 -1
- package/dist/types/artifacts.d.ts +35 -35
- package/dist/types/automations.d.ts +4 -4
- package/dist/types/automations.d.ts.map +1 -1
- package/dist/types/automations.js +2 -2
- package/dist/types/automations.js.map +1 -1
- package/dist/types/chat.d.ts +21606 -18929
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/chat.js +31 -2
- package/dist/types/chat.js.map +1 -1
- package/dist/types/common.d.ts +10594 -9131
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/common.js +278 -143
- package/dist/types/common.js.map +1 -1
- package/dist/types/extractions.d.ts +112 -112
- package/dist/types/image.d.ts +28 -28
- package/dist/types/image.d.ts.map +1 -1
- package/dist/types/image.js +8 -8
- package/dist/types/image.js.map +1 -1
- package/dist/types/invites.d.ts +35 -35
- package/dist/types/oauth.d.ts +80 -55
- package/dist/types/oauth.d.ts.map +1 -1
- package/dist/types/status.d.ts +85 -60
- package/dist/types/status.d.ts.map +1 -1
- package/dist/types/status.js +2 -2
- package/dist/types/status.js.map +1 -1
- package/dist/types/system.d.ts +52 -22
- package/dist/types/system.d.ts.map +1 -1
- package/dist/types/system.js +17 -7
- package/dist/types/system.js.map +1 -1
- package/dist/types/tasks.d.ts +311 -281
- package/dist/types/tasks.d.ts.map +1 -1
- package/dist/types/tasks.js +28 -18
- package/dist/types/tasks.js.map +1 -1
- package/dist/types/teams.d.ts +2300 -2240
- package/dist/types/teams.d.ts.map +1 -1
- package/dist/types/teams.js +13 -13
- package/dist/types/teams.js.map +1 -1
- package/dist/types/threads.d.ts +2021 -1786
- package/dist/types/threads.d.ts.map +1 -1
- package/dist/types/threads.js +26 -26
- package/dist/types/threads.js.map +1 -1
- package/dist/types/users.d.ts +167 -93
- package/dist/types/users.d.ts.map +1 -1
- package/dist/types/users.js +37 -12
- package/dist/types/users.js.map +1 -1
- package/dist/v1/resources/activity_feed.d.ts +107 -102
- package/dist/v1/resources/activity_feed.d.ts.map +1 -1
- package/dist/v1/resources/activity_feed.js +1 -1
- package/dist/v1/resources/agents.d.ts +2 -1
- package/dist/v1/resources/agents.d.ts.map +1 -1
- package/dist/v1/resources/agents.js +1 -1
- package/dist/v1/resources/agents.js.map +1 -1
- package/dist/v1/resources/event_subscription_deliveries.d.ts +17 -0
- package/dist/v1/resources/event_subscription_deliveries.d.ts.map +1 -0
- package/dist/v1/resources/event_subscription_deliveries.js +21 -0
- package/dist/v1/resources/event_subscription_deliveries.js.map +1 -0
- package/dist/v1/resources/event_subscriptions.d.ts +110 -0
- package/dist/v1/resources/event_subscriptions.d.ts.map +1 -0
- package/dist/v1/resources/event_subscriptions.js +119 -0
- package/dist/v1/resources/event_subscriptions.js.map +1 -0
- package/dist/v1/resources/index.d.ts +3 -0
- package/dist/v1/resources/index.d.ts.map +1 -1
- package/dist/v1/resources/index.js +4 -1
- package/dist/v1/resources/index.js.map +1 -1
- package/dist/v1/resources/private_service_definitions.d.ts +4 -1
- package/dist/v1/resources/private_service_definitions.d.ts.map +1 -1
- package/dist/v1/resources/private_service_definitions.js +2 -2
- package/dist/v1/resources/private_service_definitions.js.map +1 -1
- package/dist/v1/resources/solutions.d.ts +11 -1
- package/dist/v1/resources/solutions.d.ts.map +1 -1
- package/dist/v1/resources/solutions.js +13 -1
- package/dist/v1/resources/solutions.js.map +1 -1
- package/dist/v1/resources/ssh_keys.d.ts +13 -0
- package/dist/v1/resources/ssh_keys.d.ts.map +1 -0
- package/dist/v1/resources/ssh_keys.js +19 -0
- package/dist/v1/resources/ssh_keys.js.map +1 -0
- package/dist/v1/resources/tasks.d.ts +153 -126
- package/dist/v1/resources/tasks.d.ts.map +1 -1
- package/dist/v1/resources/tasks.js +8 -1
- package/dist/v1/resources/tasks.js.map +1 -1
- package/dist/v1/resources/teams.d.ts +584 -491
- package/dist/v1/resources/teams.d.ts.map +1 -1
- package/dist/v1/resources/teams.js +53 -2
- package/dist/v1/resources/teams.js.map +1 -1
- package/dist/v1/resources/threads.d.ts +104 -77
- package/dist/v1/resources/threads.d.ts.map +1 -1
- package/dist/v1/resources/threads.js +3 -2
- package/dist/v1/resources/threads.js.map +1 -1
- package/dist/v1/resources/trajectories.d.ts +4 -1
- package/dist/v1/resources/trajectories.d.ts.map +1 -1
- package/dist/v1/resources/trajectories.js +2 -2
- package/dist/v1/resources/trajectories.js.map +1 -1
- package/dist/v1/resources/users.d.ts +501 -377
- package/dist/v1/resources/users.d.ts.map +1 -1
- package/dist/v1/resources/users.js +92 -1
- package/dist/v1/resources/users.js.map +1 -1
- package/dist/v1.d.ts +6 -0
- package/dist/v1.d.ts.map +1 -1
- package/dist/v1.js +10 -1
- package/dist/v1.js.map +1 -1
- package/package.json +2 -2
package/dist/types/common.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) 2026 ArchAstro Inc. Licensed under the MIT License.
|
|
2
2
|
// This file is auto-generated by @archastro/sdk-generator. Do not edit.
|
|
3
|
-
// Content hash:
|
|
3
|
+
// Content hash: 4b056560955c
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { automationParticipantSlotSchema, automationPrefillsSchema } from "./automations.js";
|
|
6
6
|
import { configSchema } from "./config.js";
|
|
@@ -34,7 +34,7 @@ export const aclSchema = z.object({
|
|
|
34
34
|
/** Runtime validator for {@link ActivityFeedEntry}. */
|
|
35
35
|
export const activityFeedEntrySchema = z.object({
|
|
36
36
|
/** The agent that produced this event. Returns an agent ID (`agi_...`) by default, or an expanded agent object when the association is loaded. `null` if no agent is associated. */
|
|
37
|
-
agent: z.union([z.string(), z.object({ acl: z.object({ add: z.array(z.object({ actions: z.array(z.string()), principal: z.string().optional(), principal_type: z.string() })).optional(), grants: z.array(z.object({ actions: z.array(z.string()), principal: z.string().optional(), principal_type: z.string() })).optional(), remove: z.array(z.object({ principal: z.string().optional(), principal_type: z.string() })).optional() }).optional(), app: z.string().optional(), created_at: z.string().optional(), default_model: z.string().optional(), description: z.string().optional(), email: z.string().optional(), id: z.string(), identity: z.string().optional(), last_applied_template_config: z.string().optional(), lookup_key: z.string().optional(), metadata: z.record(z.unknown()).optional(), name: z.string().optional(), org: z.string().optional(), org_name: z.string().optional(), originator: z.string().optional(), phone_number: z.string().optional(), sandbox: z.string().optional(), source_solution: z.object({ current_solution: z.object({ category_keys: z.array(z.string()).optional(), created_at: z.string().optional(), description: z.string().optional(), events: z.record(z.unknown()).optional(), id: z.string(), image_url: z.string().optional(), kind: z.string(), latest_solution: z.string().optional(), latest_version: z.string().optional(), lookup_key: z.string().optional(), metadata: z.record(z.unknown()).optional(), name: z.string().optional(), org: z.string().optional(), org_logo: z.object({ file: z.string().optional(), height: z.number().int().optional(), media: z.string().optional(), mime_type: z.string().optional(), refresh_url: z.string().optional(), url: z.string().optional(), width: z.number().int().optional() }).optional(), org_name: z.string().optional(), org_slug: z.string().optional(), owners: z.array(z.string()), readme_url: z.string().optional(), screenshot_urls: z.array(z.string()).optional(), solution_id: z.string().optional(), solution_version: z.string().optional(), tag_keys: z.array(z.string()).optional(), template_kind: z.string().optional(), templates: z.array(z.object({ description: z.string().optional(), details: z.object({ automation_type: z.string().optional(), invoke_contract: z.object({ input_schema: z.record(z.unknown()).optional(), participants: z.array(z.object({ description: z.string().optional(), name: z.string(), required: z.boolean(), type: z.string() })).optional(), prefills: z.object({ participants: z.record(z.unknown()).optional(), payload: z.record(z.unknown()).optional() }) }).optional(), type: z.literal("automation") }).optional(), display_name: z.string().optional(), id: z.string().optional(), kind: z.string(), lookup_key: z.string().optional(), name: z.string().optional(), readme_url: z.string().optional(), virtual_path: z.string().optional() })), updated_at: z.string().optional(), upgrade_available: z.boolean(), virtual_path: z.string().optional() }).optional(), solution: z.object({ category_keys: z.array(z.string()).optional(), created_at: z.string().optional(), description: z.string().optional(), events: z.record(z.unknown()).optional(), id: z.string(), image_url: z.string().optional(), kind: z.string(), latest_solution: z.string().optional(), latest_version: z.string().optional(), lookup_key: z.string().optional(), metadata: z.record(z.unknown()).optional(), name: z.string().optional(), org: z.string().optional(), org_logo: z.object({ file: z.string().optional(), height: z.number().int().optional(), media: z.string().optional(), mime_type: z.string().optional(), refresh_url: z.string().optional(), url: z.string().optional(), width: z.number().int().optional() }).optional(), org_name: z.string().optional(), org_slug: z.string().optional(), owners: z.array(z.string()), readme_url: z.string().optional(), screenshot_urls: z.array(z.string()).optional(), solution_id: z.string().optional(), solution_version: z.string().optional(), tag_keys: z.array(z.string()).optional(), template_kind: z.string().optional(), templates: z.array(z.object({ description: z.string().optional(), details: z.object({ automation_type: z.string().optional(), invoke_contract: z.object({ input_schema: z.record(z.unknown()).optional(), participants: z.array(z.object({ description: z.string().optional(), name: z.string(), required: z.boolean(), type: z.string() })).optional(), prefills: z.object({ participants: z.record(z.unknown()).optional(), payload: z.record(z.unknown()).optional() }) }).optional(), type: z.literal("automation") }).optional(), display_name: z.string().optional(), id: z.string().optional(), kind: z.string(), lookup_key: z.string().optional(), name: z.string().optional(), readme_url: z.string().optional(), virtual_path: z.string().optional() })), updated_at: z.string().optional(), upgrade_available: z.boolean(), virtual_path: z.string().optional() }), template: z.object({ created_at: z.string().optional(), description: z.string().optional(), display_name: z.string().optional(), id: z.string(), kind: z.string(), lookup_key: z.string().optional(), name: z.string().optional(), updated_at: z.string().optional(), virtual_path: z.string().optional() }) }).optional(), team: z.string().optional(), template_upgrade_available: z.boolean().optional(), updated_at: z.string().optional(), user: z.string().optional() })]).optional().describe("The agent that produced this event. Returns an agent ID (`agi_...`) by default, or an expanded agent object when the association is loaded. `null` if no agent is associated."),
|
|
37
|
+
agent: z.union([z.string(), z.object({ acl: z.object({ add: z.array(z.object({ actions: z.array(z.string()), principal: z.string().optional(), principal_type: z.string() })).optional(), grants: z.array(z.object({ actions: z.array(z.string()), principal: z.string().optional(), principal_type: z.string() })).optional(), remove: z.array(z.object({ principal: z.string().optional(), principal_type: z.string() })).optional() }).nullable().optional(), app: z.string().optional(), created_at: z.string().optional(), default_model: z.string().nullable().optional(), description: z.string().nullable().optional(), email: z.string().nullable().optional(), id: z.string(), identity: z.string().nullable().optional(), last_applied_template_config: z.string().nullable().optional(), lookup_key: z.string().nullable().optional(), metadata: z.record(z.unknown()).optional(), name: z.string().optional(), org: z.string().nullable().optional(), org_name: z.string().nullable().optional(), originator: z.string().nullable().optional(), phone_number: z.string().nullable().optional(), sandbox: z.string().nullable().optional(), source_solution: z.object({ current_solution: z.object({ category_keys: z.array(z.string()).optional(), created_at: z.string().optional(), description: z.string().nullable().optional(), events: z.record(z.unknown()).optional(), id: z.string(), image_url: z.string().nullable().optional(), kind: z.string(), latest_solution: z.string().nullable().optional(), latest_version: z.string().nullable().optional(), lookup_key: z.string().nullable().optional(), metadata: z.record(z.unknown()).optional(), name: z.string().nullable().optional(), org: z.string().nullable().optional(), org_logo: z.object({ file: z.string().nullable().optional(), height: z.number().int().nullable().optional(), media: z.string().nullable().optional(), mime_type: z.string().nullable().optional(), refresh_url: z.string().nullable().optional(), url: z.string().nullable().optional(), width: z.number().int().nullable().optional() }).nullable().optional(), org_name: z.string().nullable().optional(), org_slug: z.string().nullable().optional(), owners: z.array(z.string()), readme_url: z.string().nullable().optional(), screenshot_urls: z.array(z.string()).optional(), solution_id: z.string().nullable().optional(), solution_version: z.string().nullable().optional(), tag_keys: z.array(z.string()).optional(), template_kind: z.string().nullable().optional(), templates: z.array(z.object({ description: z.string().nullable().optional(), details: z.object({ automation_type: z.string().nullable().optional(), invoke_contract: z.object({ input_schema: z.record(z.unknown()).nullable().optional(), participants: z.array(z.object({ description: z.string().nullable().optional(), name: z.string(), required: z.boolean(), type: z.string() })).nullable().optional(), prefills: z.object({ participants: z.record(z.unknown()).optional(), payload: z.record(z.unknown()).optional() }) }).nullable().optional(), type: z.literal("automation") }).nullable().optional(), display_name: z.string().nullable().optional(), id: z.string().nullable().optional(), kind: z.string(), lookup_key: z.string().nullable().optional(), name: z.string().nullable().optional(), readme_url: z.string().nullable().optional(), virtual_path: z.string().nullable().optional() })), updated_at: z.string().optional(), upgrade_available: z.boolean(), virtual_path: z.string().nullable().optional() }).optional(), solution: z.object({ category_keys: z.array(z.string()).optional(), created_at: z.string().optional(), description: z.string().nullable().optional(), events: z.record(z.unknown()).optional(), id: z.string(), image_url: z.string().nullable().optional(), kind: z.string(), latest_solution: z.string().nullable().optional(), latest_version: z.string().nullable().optional(), lookup_key: z.string().nullable().optional(), metadata: z.record(z.unknown()).optional(), name: z.string().nullable().optional(), org: z.string().nullable().optional(), org_logo: z.object({ file: z.string().nullable().optional(), height: z.number().int().nullable().optional(), media: z.string().nullable().optional(), mime_type: z.string().nullable().optional(), refresh_url: z.string().nullable().optional(), url: z.string().nullable().optional(), width: z.number().int().nullable().optional() }).nullable().optional(), org_name: z.string().nullable().optional(), org_slug: z.string().nullable().optional(), owners: z.array(z.string()), readme_url: z.string().nullable().optional(), screenshot_urls: z.array(z.string()).optional(), solution_id: z.string().nullable().optional(), solution_version: z.string().nullable().optional(), tag_keys: z.array(z.string()).optional(), template_kind: z.string().nullable().optional(), templates: z.array(z.object({ description: z.string().nullable().optional(), details: z.object({ automation_type: z.string().nullable().optional(), invoke_contract: z.object({ input_schema: z.record(z.unknown()).nullable().optional(), participants: z.array(z.object({ description: z.string().nullable().optional(), name: z.string(), required: z.boolean(), type: z.string() })).nullable().optional(), prefills: z.object({ participants: z.record(z.unknown()).optional(), payload: z.record(z.unknown()).optional() }) }).nullable().optional(), type: z.literal("automation") }).nullable().optional(), display_name: z.string().nullable().optional(), id: z.string().nullable().optional(), kind: z.string(), lookup_key: z.string().nullable().optional(), name: z.string().nullable().optional(), readme_url: z.string().nullable().optional(), virtual_path: z.string().nullable().optional() })), updated_at: z.string().optional(), upgrade_available: z.boolean(), virtual_path: z.string().nullable().optional() }), template: z.object({ created_at: z.string().optional(), description: z.string().nullable().optional(), display_name: z.string().nullable().optional(), id: z.string(), kind: z.string(), lookup_key: z.string().nullable().optional(), name: z.string().nullable().optional(), updated_at: z.string().optional(), virtual_path: z.string().nullable().optional() }) }).nullable().optional(), team: z.string().nullable().optional(), template_upgrade_available: z.boolean().nullable().optional(), updated_at: z.string().optional(), user: z.string().nullable().optional() })]).optional().describe("The agent that produced this event. Returns an agent ID (`agi_...`) by default, or an expanded agent object when the association is loaded. `null` if no agent is associated."),
|
|
38
38
|
/** ID of the application that produced this entry (`dap_...`). `null` if not scoped to an app. */
|
|
39
39
|
app: z.string().optional().describe("ID of the application that produced this entry (`dap_...`). `null` if not scoped to an app."),
|
|
40
40
|
/** Array of attachment objects associated with this entry. Each attachment has a `type` field (e.g. `"file"`, `"task"`, `"artifact"`) and type-specific additional fields. Empty array when there are no attachments. */
|
|
@@ -72,7 +72,7 @@ export const activityFeedEntrySchema = z.object({
|
|
|
72
72
|
/** When this activity feed entry was last modified (ISO 8601). */
|
|
73
73
|
updated_at: z.string().optional().describe("When this activity feed entry was last modified (ISO 8601)."),
|
|
74
74
|
/** The user who triggered this event. Returns a user ID (`usr_...`) by default, or an expanded user object when the association is loaded. `null` if no user is associated. */
|
|
75
|
-
user: z.union([z.string(), z.object({ alias: z.string().optional(), app: z.string().optional(), app_name: z.string().optional(), email: z.string().optional(), id: z.string(), is_system_user: z.boolean().optional(), metadata: z.record(z.unknown()).optional(), name: z.string().optional(), org: z.string().optional(), org_name: z.string().optional(), org_role: z.string().optional(), org_slug: z.string().optional(), sandbox: z.string().optional(), sandbox_name: z.string().optional() })]).optional().describe("The user who triggered this event. Returns a user ID (`usr_...`) by default, or an expanded user object when the association is loaded. `null` if no user is associated."),
|
|
75
|
+
user: z.union([z.string(), z.object({ alias: z.string().nullable().optional(), app: z.string().nullable().optional(), app_name: z.string().nullable().optional(), created_by_agent_user: z.string().nullable().optional(), created_by_developer: z.string().nullable().optional(), created_by_org: z.string().nullable().optional(), created_by_team: z.string().nullable().optional(), created_by_user: z.string().nullable().optional(), email: z.string().nullable().optional(), id: z.string(), is_system_user: z.boolean().optional(), metadata: z.record(z.unknown()).optional(), name: z.string().nullable().optional(), org: z.string().nullable().optional(), org_name: z.string().nullable().optional(), org_role: z.string().nullable().optional(), org_slug: z.string().nullable().optional(), sandbox: z.string().nullable().optional(), sandbox_name: z.string().nullable().optional() })]).optional().describe("The user who triggered this event. Returns a user ID (`usr_...`) by default, or an expanded user object when the association is loaded. `null` if no user is associated."),
|
|
76
76
|
}).describe("A single event record in an activity feed, capturing what happened, who caused it, and which resources were involved.");
|
|
77
77
|
/** Runtime validator for {@link ActivityFeedEntryListResponse}. */
|
|
78
78
|
export const activityFeedEntryListResponseSchema = z.object({
|
|
@@ -88,34 +88,34 @@ export const activityFeedEntryListResponseSchema = z.object({
|
|
|
88
88
|
/** Runtime validator for {@link Actor}. */
|
|
89
89
|
export const actorSchema = z.object({
|
|
90
90
|
/** Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. */
|
|
91
|
-
alias: z.string().optional().describe("Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured."),
|
|
91
|
+
alias: z.string().nullable().optional().describe("Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured."),
|
|
92
92
|
/** Composite actor identifier. Format is `"user-<usr_...>"` for human users or `"agent-<agi_...>"` for agents. */
|
|
93
|
-
id: z.string().optional().describe("Composite actor identifier. Format is `\"user-<usr_...>\"` for human users or `\"agent-<agi_...>\"` for agents."),
|
|
93
|
+
id: z.string().nullable().optional().describe("Composite actor identifier. Format is `\"user-<usr_...>\"` for human users or `\"agent-<agi_...>\"` for agents."),
|
|
94
94
|
/** Display name of the actor shown in the UI. `null` if no name is set. */
|
|
95
|
-
name: z.string().optional().describe("Display name of the actor shown in the UI. `null` if no name is set."),
|
|
95
|
+
name: z.string().nullable().optional().describe("Display name of the actor shown in the UI. `null` if no name is set."),
|
|
96
96
|
/** Profile picture for the actor. `null` if the actor has no profile picture. */
|
|
97
|
-
profile_picture: imageSourceSchema.optional().describe("Profile picture for the actor. `null` if the actor has no profile picture."),
|
|
97
|
+
profile_picture: imageSourceSchema.nullable().optional().describe("Profile picture for the actor. `null` if the actor has no profile picture."),
|
|
98
98
|
}).describe("The entity that authored a message, either a human user or an agent.");
|
|
99
99
|
/** Runtime validator for {@link UpgradeTemplateSummary}. */
|
|
100
100
|
export const upgradeTemplateSummarySchema = z.object({
|
|
101
101
|
/** When this template config was created (ISO 8601). */
|
|
102
102
|
created_at: z.string().optional().describe("When this template config was created (ISO 8601)."),
|
|
103
103
|
/** Description of the template from the config body. `null` if the current version has no `description` field. */
|
|
104
|
-
description: z.string().optional().describe("Description of the template from the config body. `null` if the current version has no `description` field."),
|
|
104
|
+
description: z.string().nullable().optional().describe("Description of the template from the config body. `null` if the current version has no `description` field."),
|
|
105
105
|
/** Human-readable display name from the config body. `null` if the current version has no `display_name` field. */
|
|
106
|
-
display_name: z.string().optional().describe("Human-readable display name from the config body. `null` if the current version has no `display_name` field."),
|
|
106
|
+
display_name: z.string().nullable().optional().describe("Human-readable display name from the config body. `null` if the current version has no `display_name` field."),
|
|
107
107
|
/** Template config ID (`cfg_...`). */
|
|
108
108
|
id: z.string().describe("Template config ID (`cfg_...`)."),
|
|
109
109
|
/** Config kind identifier for this template (e.g. `"agent_tool_template"`). */
|
|
110
110
|
kind: z.string().describe("Config kind identifier for this template (e.g. `\"agent_tool_template\"`)."),
|
|
111
111
|
/** Stable lookup key assigned to this template config. `null` if no lookup key is set. */
|
|
112
|
-
lookup_key: z.string().optional().describe("Stable lookup key assigned to this template config. `null` if no lookup key is set."),
|
|
112
|
+
lookup_key: z.string().nullable().optional().describe("Stable lookup key assigned to this template config. `null` if no lookup key is set."),
|
|
113
113
|
/** Template name as stored in the config body. `null` if the current version has no `name` field. */
|
|
114
|
-
name: z.string().optional().describe("Template name as stored in the config body. `null` if the current version has no `name` field."),
|
|
114
|
+
name: z.string().nullable().optional().describe("Template name as stored in the config body. `null` if the current version has no `name` field."),
|
|
115
115
|
/** When this template config was last modified (ISO 8601). */
|
|
116
116
|
updated_at: z.string().optional().describe("When this template config was last modified (ISO 8601)."),
|
|
117
117
|
/** Virtual filesystem path for this template config. `null` if not set. */
|
|
118
|
-
virtual_path: z.string().optional().describe("Virtual filesystem path for this template config. `null` if not set."),
|
|
118
|
+
virtual_path: z.string().nullable().optional().describe("Virtual filesystem path for this template config. `null` if not set."),
|
|
119
119
|
}).describe("Compact summary of an AgentTemplate config referenced by an agent upgrade or source-solution response.");
|
|
120
120
|
/** Runtime validator for {@link InstalledConfigEntry}. */
|
|
121
121
|
export const installedConfigEntrySchema = z.object({
|
|
@@ -126,7 +126,7 @@ export const installedConfigEntrySchema = z.object({
|
|
|
126
126
|
/** Type of config that was created. One of `"Skill"`, `"File"`, `"Script"`, `"AgentTemplate"`, or `"Config"`. */
|
|
127
127
|
kind: z.string().describe("Type of config that was created. One of `\"Skill\"`, `\"File\"`, `\"Script\"`, `\"AgentTemplate\"`, or `\"Config\"`."),
|
|
128
128
|
/** Stored `lookup_key` for this config after any suffix has been applied. `null` for `File` children inside a skill bundle, which are keyed by `(parent_id, relative_path)` rather than by `lookup_key`. */
|
|
129
|
-
lookup_key: z.string().optional().describe("Stored `lookup_key` for this config after any suffix has been applied. `null` for `File` children inside a skill bundle, which are keyed by `(parent_id, relative_path)` rather than by `lookup_key`."),
|
|
129
|
+
lookup_key: z.string().nullable().optional().describe("Stored `lookup_key` for this config after any suffix has been applied. `null` for `File` children inside a skill bundle, which are keyed by `(parent_id, relative_path)` rather than by `lookup_key`."),
|
|
130
130
|
}).describe("A slim summary of a single config record created during an agent install transaction. Returned as an entry in `AgentCreateResponse.installed_configs`.");
|
|
131
131
|
/** Runtime validator for {@link MessagePolicy}. */
|
|
132
132
|
export const messagePolicySchema = z.object({
|
|
@@ -165,66 +165,66 @@ export const workerStatusSchema = z.object({
|
|
|
165
165
|
/** Runtime validator for {@link MediaVariant}. */
|
|
166
166
|
export const mediaVariantSchema = z.object({
|
|
167
167
|
/** MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. */
|
|
168
|
-
content_type: z.string().optional().describe("MIME type of this variant's file (e.g., `\"image/jpeg\"`, `\"video/mp4\"`). `null` if the file is not loaded."),
|
|
168
|
+
content_type: z.string().nullable().optional().describe("MIME type of this variant's file (e.g., `\"image/jpeg\"`, `\"video/mp4\"`). `null` if the file is not loaded."),
|
|
169
169
|
/** When this variant was created (ISO 8601). */
|
|
170
170
|
created_at: z.string().optional().describe("When this variant was created (ISO 8601)."),
|
|
171
171
|
/** ID of the underlying storage file that backs this variant (`fil_...`). */
|
|
172
172
|
file: z.string().optional().describe("ID of the underlying storage file that backs this variant (`fil_...`)."),
|
|
173
173
|
/** Original filename of the uploaded file for this variant. `null` if the file is not loaded. */
|
|
174
|
-
filename: z.string().optional().describe("Original filename of the uploaded file for this variant. `null` if the file is not loaded."),
|
|
174
|
+
filename: z.string().nullable().optional().describe("Original filename of the uploaded file for this variant. `null` if the file is not loaded."),
|
|
175
175
|
/** Height of this variant in pixels. `null` if not recorded. */
|
|
176
|
-
height: z.number().int().optional().describe("Height of this variant in pixels. `null` if not recorded."),
|
|
176
|
+
height: z.number().int().nullable().optional().describe("Height of this variant in pixels. `null` if not recorded."),
|
|
177
177
|
/** Media variant ID (`mvr_...`). */
|
|
178
178
|
id: z.string().describe("Media variant ID (`mvr_...`)."),
|
|
179
179
|
/** Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. */
|
|
180
|
-
image_source: imageSourceSchema.optional().describe("Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types."),
|
|
180
|
+
image_source: imageSourceSchema.nullable().optional().describe("Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types."),
|
|
181
181
|
/** When this variant was last updated (ISO 8601). */
|
|
182
182
|
updated_at: z.string().optional().describe("When this variant was last updated (ISO 8601)."),
|
|
183
183
|
/** Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. */
|
|
184
|
-
url: z.string().optional().describe("Signed download URL for this variant, resolved at request time. `null` if the file is unavailable."),
|
|
184
|
+
url: z.string().nullable().optional().describe("Signed download URL for this variant, resolved at request time. `null` if the file is unavailable."),
|
|
185
185
|
/** Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). */
|
|
186
186
|
variant_key: z.string().optional().describe("Identifier for this variant's processing tier. Common values include `\"original\"` (the unmodified upload) and `\"thumbnail\"` (a resized preview)."),
|
|
187
187
|
/** Width of this variant in pixels. `null` if not recorded. */
|
|
188
|
-
width: z.number().int().optional().describe("Width of this variant in pixels. `null` if not recorded."),
|
|
188
|
+
width: z.number().int().nullable().optional().describe("Width of this variant in pixels. `null` if not recorded."),
|
|
189
189
|
}).describe("A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time.");
|
|
190
190
|
/** Runtime validator for {@link Attachment}. */
|
|
191
191
|
export const attachmentSchema = z.object({
|
|
192
192
|
/** MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. */
|
|
193
|
-
content_type: z.string().optional().describe("MIME type of the attached file, e.g. `\"image/png\"` or `\"application/pdf\"`. Present on `file`, `artifact`, and `media` types. `null` otherwise."),
|
|
193
|
+
content_type: z.string().nullable().optional().describe("MIME type of the attached file, e.g. `\"image/png\"` or `\"application/pdf\"`. Present on `file`, `artifact`, and `media` types. `null` otherwise."),
|
|
194
194
|
/** Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. */
|
|
195
|
-
description: z.string().optional().describe("Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types."),
|
|
195
|
+
description: z.string().nullable().optional().describe("Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types."),
|
|
196
196
|
/** Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. */
|
|
197
|
-
filename: z.string().optional().describe("Original filename of the attached file, e.g. `\"report.pdf\"`. Present on `file`, `artifact`, and `media` types. `null` otherwise."),
|
|
197
|
+
filename: z.string().nullable().optional().describe("Original filename of the attached file, e.g. `\"report.pdf\"`. Present on `file`, `artifact`, and `media` types. `null` otherwise."),
|
|
198
198
|
/** Height in pixels of the media item. Present on `media` type only. `null` otherwise. */
|
|
199
|
-
height: z.number().int().optional().describe("Height in pixels of the media item. Present on `media` type only. `null` otherwise."),
|
|
199
|
+
height: z.number().int().nullable().optional().describe("Height in pixels of the media item. Present on `media` type only. `null` otherwise."),
|
|
200
200
|
/** Unique identifier for this attachment within the message. */
|
|
201
201
|
id: z.string().describe("Unique identifier for this attachment within the message."),
|
|
202
202
|
/** Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. */
|
|
203
|
-
image_height: z.number().int().optional().describe("Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise."),
|
|
203
|
+
image_height: z.number().int().nullable().optional().describe("Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise."),
|
|
204
204
|
/** Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. */
|
|
205
|
-
image_source: imageSourceSchema.optional().describe("Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise."),
|
|
205
|
+
image_source: imageSourceSchema.nullable().optional().describe("Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise."),
|
|
206
206
|
/** URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. */
|
|
207
|
-
image_url: z.string().optional().describe("URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise."),
|
|
207
|
+
image_url: z.string().nullable().optional().describe("URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise."),
|
|
208
208
|
/** Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. */
|
|
209
|
-
image_width: z.number().int().optional().describe("Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise."),
|
|
210
|
-
/** The media category, e.g. `"video"` or `"audio"`. Present on `media` type only
|
|
211
|
-
media_type: z.string().optional().describe("The media category, e.g. `\"video\"` or `\"audio\"`. Present on `media` type only
|
|
209
|
+
image_width: z.number().int().nullable().optional().describe("Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise."),
|
|
210
|
+
/** The media category, e.g. `"video"` or `"audio"`. Present on `media` type only; omitted otherwise. */
|
|
211
|
+
media_type: z.string().optional().describe("The media category, e.g. `\"video\"` or `\"audio\"`. Present on `media` type only; omitted otherwise."),
|
|
212
212
|
/** Display name of the media item. Present on `media` type only. `null` otherwise. */
|
|
213
|
-
name: z.string().optional().describe("Display name of the media item. Present on `media` type only. `null` otherwise."),
|
|
214
|
-
/** The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. For `chart` type, contains the chart with its inline `spec`.
|
|
215
|
-
object: z.record(z.unknown()).optional().describe("The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. For `chart` type, contains the chart with its inline `spec`.
|
|
213
|
+
name: z.string().nullable().optional().describe("Display name of the media item. Present on `media` type only. `null` otherwise."),
|
|
214
|
+
/** The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. For `chart` type, contains the chart with its inline `spec`. Omitted on other types. */
|
|
215
|
+
object: z.record(z.unknown()).optional().describe("The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. For `chart` type, contains the chart with its inline `spec`. Omitted on other types."),
|
|
216
216
|
/** Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. */
|
|
217
|
-
title: z.string().optional().describe("Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types."),
|
|
217
|
+
title: z.string().nullable().optional().describe("Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types."),
|
|
218
218
|
/** The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, `"action"`, or `"chart"`. Determines which additional fields are present. */
|
|
219
219
|
type: z.string().describe("The attachment type. One of `\"file\"`, `\"scraped_link\"`, `\"artifact\"`, `\"task\"`, `\"media\"`, `\"action\"`, or `\"chart\"`. Determines which additional fields are present."),
|
|
220
220
|
/** URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. */
|
|
221
|
-
url: z.string().optional().describe("URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types."),
|
|
222
|
-
/** Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only
|
|
223
|
-
variants: z.array(mediaVariantSchema).optional().describe("Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only
|
|
221
|
+
url: z.string().nullable().optional().describe("URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types."),
|
|
222
|
+
/** Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only; omitted otherwise. */
|
|
223
|
+
variants: z.array(mediaVariantSchema).optional().describe("Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only; omitted otherwise."),
|
|
224
224
|
/** Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. */
|
|
225
|
-
version: z.number().int().optional().describe("Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise."),
|
|
225
|
+
version: z.number().int().nullable().optional().describe("Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise."),
|
|
226
226
|
/** Width in pixels of the media item. Present on `media` type only. `null` otherwise. */
|
|
227
|
-
width: z.number().int().optional().describe("Width in pixels of the media item. Present on `media` type only. `null` otherwise."),
|
|
227
|
+
width: z.number().int().nullable().optional().describe("Width in pixels of the media item. Present on `media` type only. `null` otherwise."),
|
|
228
228
|
}).describe("A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action.");
|
|
229
229
|
/** Runtime validator for {@link AuthTokens}. */
|
|
230
230
|
export const authTokensSchema = z.object({
|
|
@@ -296,8 +296,25 @@ export const builtinToolCatalogEntrySchema = z.object({
|
|
|
296
296
|
/** Array of individual tool definitions included in this category. Each entry describes a single callable tool with its own name and description. */
|
|
297
297
|
tools: z.array(builtinToolSchema).optional().describe("Array of individual tool definitions included in this category. Each entry describes a single callable tool with its own name and description."),
|
|
298
298
|
}).describe("A catalog entry describing a category of platform-provided (builtin) tools that can be enabled for an agent. Each entry groups one or more individual tools under a shared key, label, and configuration schema.");
|
|
299
|
+
/** Runtime validator for {@link Cancelled}. */
|
|
300
|
+
export const cancelledSchema = z.object({
|
|
301
|
+
call_id: z.string(),
|
|
302
|
+
reason: z.string(),
|
|
303
|
+
status: z.literal("cancelled"),
|
|
304
|
+
}).describe("A cancelled local-tool outcome.");
|
|
299
305
|
/** Runtime validator for {@link ChannelAck}. */
|
|
300
306
|
export const channelAckSchema = z.object({}).describe("Empty acknowledgement payload returned by channel message handlers that produce no data. The wire envelope is `{\"status\": \"ok\", \"response\": {}}`.");
|
|
307
|
+
/** Runtime validator for {@link MessageContext}. */
|
|
308
|
+
export const messageContextSchema = z.object({
|
|
309
|
+
/** Scalar key-value fields describing the context, such as route, repository, or pull-request number. */
|
|
310
|
+
attributes: z.record(z.unknown()).optional().describe("Scalar key-value fields describing the context, such as route, repository, or pull-request number."),
|
|
311
|
+
/** Optional context body. The model receives it as escaped XML data, not a system instruction. */
|
|
312
|
+
content: z.string().nullable().optional().describe("Optional context body. The model receives it as escaped XML data, not a system instruction."),
|
|
313
|
+
/** Optional human-readable label for this context block. */
|
|
314
|
+
title: z.string().nullable().optional().describe("Optional human-readable label for this context block."),
|
|
315
|
+
/** Stable context kind. Must start with a lowercase letter and contain only lowercase letters, numbers, dots, dashes, or underscores. */
|
|
316
|
+
type: z.string().describe("Stable context kind. Must start with a lowercase letter and contain only lowercase letters, numbers, dots, dashes, or underscores."),
|
|
317
|
+
}).describe("Structured context captured with a chat message and delivered to agents as data.");
|
|
301
318
|
/** Runtime validator for {@link MessageReaction}. */
|
|
302
319
|
export const messageReactionSchema = z.object({
|
|
303
320
|
/** Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). */
|
|
@@ -310,19 +327,21 @@ export const messageReactionSchema = z.object({
|
|
|
310
327
|
/** Runtime validator for {@link Message}. */
|
|
311
328
|
export const messageSchema = z.object({
|
|
312
329
|
/** Access control list for private messages (grants with `read` action). Only returned to resource owners (and privileged/org-admin viewers) via server-side `field_redactions: [acl: :owner]`; `null` for everyone else. */
|
|
313
|
-
acl: aclSchema.optional().describe("Access control list for private messages (grants with `read` action). Only returned to resource owners (and privileged/org-admin viewers) via server-side `field_redactions: [acl: :owner]`; `null` for everyone else."),
|
|
330
|
+
acl: aclSchema.nullable().optional().describe("Access control list for private messages (grants with `read` action). Only returned to resource owners (and privileged/org-admin viewers) via server-side `field_redactions: [acl: :owner]`; `null` for everyone else."),
|
|
314
331
|
/** Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. */
|
|
315
332
|
actors: z.array(actorSchema).optional().describe("Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry."),
|
|
316
333
|
/** ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. */
|
|
317
|
-
agent: z.string().optional().describe("ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users."),
|
|
334
|
+
agent: z.string().nullable().optional().describe("ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users."),
|
|
318
335
|
/** Local agent execution mode for this message. One of `cli`, `embedded`, or `null` when the message was not created by a local agent execution path. */
|
|
319
|
-
agent_mode: z.enum(["cli", "embedded"]).optional().describe("Local agent execution mode for this message. One of `cli`, `embedded`, or `null` when the message was not created by a local agent execution path."),
|
|
336
|
+
agent_mode: z.enum(["cli", "embedded"]).nullable().optional().describe("Local agent execution mode for this message. One of `cli`, `embedded`, or `null` when the message was not created by a local agent execution path."),
|
|
320
337
|
/** Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. */
|
|
321
338
|
attachments: z.array(attachmentSchema).optional().describe("Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments."),
|
|
322
339
|
/** ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. */
|
|
323
|
-
branched_thread: z.string().optional().describe("ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread."),
|
|
340
|
+
branched_thread: z.string().nullable().optional().describe("ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread."),
|
|
324
341
|
/** Text content of the message. `null` for messages that contain only attachments. */
|
|
325
|
-
content: z.string().optional().describe("Text content of the message. `null` for messages that contain only attachments."),
|
|
342
|
+
content: z.string().nullable().optional().describe("Text content of the message. `null` for messages that contain only attachments."),
|
|
343
|
+
/** Immutable structured context captured when the message was posted. Each entry has `type`, optional `title` and `content`, and scalar `attributes`. Always present; defaults to an empty array. Context is delivered to agents as escaped XML data, not as system instructions. */
|
|
344
|
+
context: z.array(messageContextSchema).optional().describe("Immutable structured context captured when the message was posted. Each entry has `type`, optional `title` and `content`, and scalar `attributes`. Always present; defaults to an empty array. Context is delivered to agents as escaped XML data, not as system instructions."),
|
|
326
345
|
/** When the message was posted (ISO 8601). */
|
|
327
346
|
created_at: z.string().optional().describe("When the message was posted (ISO 8601)."),
|
|
328
347
|
/** Whether this message has at least one reply. Only present when explicitly requested or computed by the server. */
|
|
@@ -330,44 +349,57 @@ export const messageSchema = z.object({
|
|
|
330
349
|
/** Message ID (`msg_...`). */
|
|
331
350
|
id: z.string().describe("Message ID (`msg_...`)."),
|
|
332
351
|
/** Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. */
|
|
333
|
-
idempotency_key: z.string().optional().describe("Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one."),
|
|
352
|
+
idempotency_key: z.string().nullable().optional().describe("Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one."),
|
|
334
353
|
/** Whether this message is a deletion tombstone. `true` only on the `message_updated` broadcast emitted when a message is deleted: the original content is replaced with a placeholder and the message no longer exists on the server. Always `false` for live messages. */
|
|
335
354
|
is_deleted: z.boolean().optional().describe("Whether this message is a deletion tombstone. `true` only on the `message_updated` broadcast emitted when a message is deleted: the original content is replaced with a placeholder and the message no longer exists on the server. Always `false` for live messages."),
|
|
336
355
|
/** Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. */
|
|
337
|
-
legacy_agent: z.string().optional().describe("Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users."),
|
|
356
|
+
legacy_agent: z.string().nullable().optional().describe("Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users."),
|
|
338
357
|
/** Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. */
|
|
339
358
|
metadata: z.record(z.unknown()).optional().describe("Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set."),
|
|
340
359
|
/** ID of the organization that owns this message (`org_...`). */
|
|
341
|
-
org: z.string().optional().describe("ID of the organization that owns this message (`org_...`)."),
|
|
360
|
+
org: z.string().nullable().optional().describe("ID of the organization that owns this message (`org_...`)."),
|
|
342
361
|
/** Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. */
|
|
343
362
|
reactions: z.array(messageReactionSchema).optional().describe("Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded."),
|
|
344
363
|
/** Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. */
|
|
345
|
-
rendering_mode: z.string().optional().describe("Display hint for how the message should be rendered. One of `\"reply\"`, `\"direct\"`, or `\"inline\"`. `null` for user-authored messages, which are always rendered as standard replies."),
|
|
364
|
+
rendering_mode: z.string().nullable().optional().describe("Display hint for how the message should be rendered. One of `\"reply\"`, `\"direct\"`, or `\"inline\"`. `null` for user-authored messages, which are always rendered as standard replies."),
|
|
346
365
|
/** Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. */
|
|
347
366
|
replies: z.array(z.record(z.unknown())).optional().describe("Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message."),
|
|
348
367
|
/** Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. */
|
|
349
|
-
replies_after_cursor: z.string().optional().describe("Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response."),
|
|
368
|
+
replies_after_cursor: z.string().nullable().optional().describe("Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response."),
|
|
350
369
|
/** Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. */
|
|
351
|
-
replies_before_cursor: z.string().optional().describe("Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response."),
|
|
370
|
+
replies_before_cursor: z.string().nullable().optional().describe("Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response."),
|
|
352
371
|
/** Total number of direct replies to this message. Only present when explicitly requested or computed by the server. */
|
|
353
372
|
reply_count: z.number().int().optional().describe("Total number of direct replies to this message. Only present when explicitly requested or computed by the server."),
|
|
354
373
|
/** The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. */
|
|
355
|
-
reply_to: z.record(z.unknown()).optional().describe("The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded."),
|
|
374
|
+
reply_to: z.record(z.unknown()).nullable().optional().describe("The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded."),
|
|
356
375
|
/** ID of the root message in this reply chain (`msg_...`). `null` for a top-level message. The value is persisted when the reply is created, so callers can correlate a multi-turn session without walking parent messages. */
|
|
357
376
|
root_message_id: z.string().nullable().optional().describe("ID of the root message in this reply chain (`msg_...`). `null` for a top-level message. The value is persisted when the reply is created, so callers can correlate a multi-turn session without walking parent messages."),
|
|
358
377
|
/** ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. */
|
|
359
|
-
sandbox: z.string().optional().describe("ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages."),
|
|
378
|
+
sandbox: z.string().nullable().optional().describe("ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages."),
|
|
360
379
|
/** ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. */
|
|
361
|
-
team: z.string().optional().describe("ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped."),
|
|
362
|
-
/** ID of the thread this message belongs to (`thr_...`).
|
|
363
|
-
thread: z.string().optional().describe("ID of the thread this message belongs to (`thr_...`).
|
|
380
|
+
team: z.string().nullable().optional().describe("ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped."),
|
|
381
|
+
/** ID of the thread this message belongs to (`thr_...`). */
|
|
382
|
+
thread: z.string().optional().describe("ID of the thread this message belongs to (`thr_...`)."),
|
|
364
383
|
/** Optional client-defined classification for the message (for example `note` or `status`). Free-form string up to 64 characters. The value `system` is reserved for platform-authored messages and cannot be set by clients. `null` when unset. */
|
|
365
|
-
type: z.string().optional().describe("Optional client-defined classification for the message (for example `note` or `status`). Free-form string up to 64 characters. The value `system` is reserved for platform-authored messages and cannot be set by clients. `null` when unset."),
|
|
384
|
+
type: z.string().nullable().optional().describe("Optional client-defined classification for the message (for example `note` or `status`). Free-form string up to 64 characters. The value `system` is reserved for platform-authored messages and cannot be set by clients. `null` when unset."),
|
|
366
385
|
/** The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. */
|
|
367
|
-
user: z.string().optional().describe("The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents."),
|
|
386
|
+
user: z.union([z.string(), z.object({ alias: z.string().nullable().optional(), app: z.string().nullable().optional(), app_name: z.string().nullable().optional(), created_by_agent_user: z.string().nullable().optional(), created_by_developer: z.string().nullable().optional(), created_by_org: z.string().nullable().optional(), created_by_team: z.string().nullable().optional(), created_by_user: z.string().nullable().optional(), email: z.string().nullable().optional(), id: z.string(), is_system_user: z.boolean().optional(), metadata: z.record(z.unknown()).optional(), name: z.string().nullable().optional(), org: z.string().nullable().optional(), org_name: z.string().nullable().optional(), org_role: z.string().nullable().optional(), org_slug: z.string().nullable().optional(), sandbox: z.string().nullable().optional(), sandbox_name: z.string().nullable().optional() })]).nullable().optional().describe("The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents."),
|
|
368
387
|
/** Message-level visibility. `default` is visible to anyone who can see the parent thread. `private` is restricted to the sender and explicit ACL `read` grantees. */
|
|
369
388
|
visibility: z.enum(["default", "private"]).optional().describe("Message-level visibility. `default` is visible to anyone who can see the parent thread. `private` is restricted to the sender and explicit ACL `read` grantees."),
|
|
370
389
|
}).describe("A chat message posted in a thread, including its content, author, attachments, reactions, and optional reply metadata.");
|
|
390
|
+
/** Runtime validator for {@link Ok}. */
|
|
391
|
+
export const okSchema = z.object({
|
|
392
|
+
call_id: z.string(),
|
|
393
|
+
content: z.string(),
|
|
394
|
+
status: z.literal("ok"),
|
|
395
|
+
}).describe("A successful local-tool outcome.");
|
|
396
|
+
/** Runtime validator for {@link Error}. */
|
|
397
|
+
export const errorSchema = z.object({
|
|
398
|
+
call_id: z.string(),
|
|
399
|
+
code: z.string(),
|
|
400
|
+
message: z.string(),
|
|
401
|
+
status: z.literal("error"),
|
|
402
|
+
}).describe("A failed local-tool outcome.");
|
|
371
403
|
/** Runtime validator for {@link ComputerExecResult}. */
|
|
372
404
|
export const computerExecResultSchema = z.object({
|
|
373
405
|
/** The UNIX exit code returned by the process. `0` indicates success; any non-zero value indicates an error. `null` if the process did not terminate normally. */
|
|
@@ -553,6 +585,91 @@ export const deploymentSchema = z.object({
|
|
|
553
585
|
/** Opaque SHA-256 fingerprint of the image reference, or `null` in local development. */
|
|
554
586
|
release: z.string().nullable().optional().describe("Opaque SHA-256 fingerprint of the image reference, or `null` in local development."),
|
|
555
587
|
}).describe("Deployment metadata.");
|
|
588
|
+
/** Runtime validator for {@link DomainEvent}. */
|
|
589
|
+
export const domainEventSchema = z.object({
|
|
590
|
+
agent: z.string().optional(),
|
|
591
|
+
created_at: z.string(),
|
|
592
|
+
event_name: z.string(),
|
|
593
|
+
id: z.string(),
|
|
594
|
+
idempotency_key: z.string().optional(),
|
|
595
|
+
org: z.string().optional(),
|
|
596
|
+
/** Opaque event-specific JSON. Use event_name to select the expected payload schema. */
|
|
597
|
+
payload: z.record(z.unknown()).describe("Opaque event-specific JSON. Use event_name to select the expected payload schema."),
|
|
598
|
+
sandbox: z.string().optional(),
|
|
599
|
+
team: z.string().optional(),
|
|
600
|
+
user: z.string().optional(),
|
|
601
|
+
}).describe("A domain event with stable attribution fields and an event-specific payload.");
|
|
602
|
+
/** Runtime validator for {@link EventSubscription}. */
|
|
603
|
+
export const eventSubscriptionSchema = z.object({
|
|
604
|
+
agent: z.string().optional(),
|
|
605
|
+
available_count: z.number().int(),
|
|
606
|
+
created_at: z.string(),
|
|
607
|
+
dropped_events_total: z.number().int(),
|
|
608
|
+
dropped_through_position: z.number().int(),
|
|
609
|
+
event_names: z.array(z.string()),
|
|
610
|
+
id: z.string(),
|
|
611
|
+
last_overflow_at: z.string().optional(),
|
|
612
|
+
leased_count: z.number().int(),
|
|
613
|
+
max_pending_events: z.number().int(),
|
|
614
|
+
name: z.string(),
|
|
615
|
+
org: z.string().optional(),
|
|
616
|
+
queue_epoch: z.number().int(),
|
|
617
|
+
retention_seconds: z.number().int(),
|
|
618
|
+
sandbox: z.string().optional(),
|
|
619
|
+
status: z.enum(["active", "paused"]),
|
|
620
|
+
team: z.string().optional(),
|
|
621
|
+
updated_at: z.string(),
|
|
622
|
+
user: z.string().optional(),
|
|
623
|
+
visibility_timeout_seconds: z.number().int(),
|
|
624
|
+
}).describe("An app-scoped subscription to exact domain-event names.");
|
|
625
|
+
/** Runtime validator for {@link EventSubscriptionDelivery}. */
|
|
626
|
+
export const eventSubscriptionDeliverySchema = z.object({
|
|
627
|
+
delivery_id: z.string(),
|
|
628
|
+
event: domainEventSchema,
|
|
629
|
+
lease_expires_at: z.string(),
|
|
630
|
+
receipt_handle: z.string(),
|
|
631
|
+
receive_count: z.number().int(),
|
|
632
|
+
sequence: z.number().int(),
|
|
633
|
+
}).describe("A domain event leased from a subscription queue.");
|
|
634
|
+
/** Runtime validator for {@link EventSubscriptionClaim}. */
|
|
635
|
+
export const eventSubscriptionClaimSchema = z.object({
|
|
636
|
+
data: z.array(eventSubscriptionDeliverySchema),
|
|
637
|
+
dropped_events_total: z.number().int(),
|
|
638
|
+
dropped_through_position: z.number().int(),
|
|
639
|
+
has_more: z.boolean(),
|
|
640
|
+
queue_epoch: z.number().int(),
|
|
641
|
+
}).describe("Result of atomically claiming the head delivery.");
|
|
642
|
+
/** Runtime validator for {@link EventSubscriptionQueueEntry}. */
|
|
643
|
+
export const eventSubscriptionQueueEntrySchema = z.object({
|
|
644
|
+
delivery_id: z.string(),
|
|
645
|
+
event: domainEventSchema,
|
|
646
|
+
lease_expires_at: z.string().optional(),
|
|
647
|
+
receive_count: z.number().int(),
|
|
648
|
+
sequence: z.number().int(),
|
|
649
|
+
state: z.enum(["available", "leased"]),
|
|
650
|
+
}).describe("A non-reserving view of one queued delivery.");
|
|
651
|
+
/** Runtime validator for {@link EventSubscriptionHead}. */
|
|
652
|
+
export const eventSubscriptionHeadSchema = z.object({
|
|
653
|
+
data: eventSubscriptionQueueEntrySchema.optional(),
|
|
654
|
+
}).describe("A non-reserving view of the queue head.");
|
|
655
|
+
/** Runtime validator for {@link EventSubscriptionPage}. */
|
|
656
|
+
export const eventSubscriptionPageSchema = z.object({
|
|
657
|
+
data: z.array(eventSubscriptionSchema),
|
|
658
|
+
page: z.number().int(),
|
|
659
|
+
per_page: z.number().int(),
|
|
660
|
+
total_count: z.number().int(),
|
|
661
|
+
total_pages: z.number().int(),
|
|
662
|
+
}).describe("A page of domain-event subscriptions.");
|
|
663
|
+
/** Runtime validator for {@link EventSubscriptionQueue}. */
|
|
664
|
+
export const eventSubscriptionQueueSchema = z.object({
|
|
665
|
+
after_cursor: z.string().optional(),
|
|
666
|
+
before_cursor: z.string().optional(),
|
|
667
|
+
data: z.array(eventSubscriptionQueueEntrySchema),
|
|
668
|
+
dropped_events_total: z.number().int(),
|
|
669
|
+
dropped_through_position: z.number().int(),
|
|
670
|
+
has_more: z.boolean(),
|
|
671
|
+
queue_epoch: z.number().int(),
|
|
672
|
+
}).describe("A cursor-paginated non-reserving view of a subscription queue.");
|
|
556
673
|
/** Runtime validator for {@link StorageFile}. */
|
|
557
674
|
export const storageFileSchema = z.object({
|
|
558
675
|
/** ID of the app this file belongs to (`app_...`). */
|
|
@@ -868,6 +985,24 @@ export const privateServicePageSchema = z.object({
|
|
|
868
985
|
total_entries: z.number().int(),
|
|
869
986
|
total_pages: z.number().int(),
|
|
870
987
|
}).describe("A page of private services.");
|
|
988
|
+
/** Runtime validator for {@link ProductKnowledgeReconcileFailure}. */
|
|
989
|
+
export const productKnowledgeReconcileFailureSchema = z.object({
|
|
990
|
+
/** Stable vendor-defined key for the customer whose agent did not converge. */
|
|
991
|
+
customer_key: z.string().describe("Stable vendor-defined key for the customer whose agent did not converge."),
|
|
992
|
+
/** Stable failure reason for operator and vendor feedback. */
|
|
993
|
+
error: z.string().describe("Stable failure reason for operator and vendor feedback."),
|
|
994
|
+
/** Whether rerunning the desired-state reconciliation is safe. */
|
|
995
|
+
retryable: z.boolean().describe("Whether rerunning the desired-state reconciliation is safe."),
|
|
996
|
+
}).describe("One stamped customer whose product-knowledge tool update did not converge.");
|
|
997
|
+
/** Runtime validator for {@link ProductKnowledgeReconcileResponse}. */
|
|
998
|
+
export const productKnowledgeReconcileResponseSchema = z.object({
|
|
999
|
+
/** True when every stamped customer agent now has the desired source allowlist. */
|
|
1000
|
+
complete: z.boolean().describe("True when every stamped customer agent now has the desired source allowlist."),
|
|
1001
|
+
/** Per-customer failures. Empty when reconciliation is complete. */
|
|
1002
|
+
failures: z.array(productKnowledgeReconcileFailureSchema).describe("Per-customer failures. Empty when reconciliation is complete."),
|
|
1003
|
+
/** Customer keys whose agent tool config is converged. */
|
|
1004
|
+
reconciled_customers: z.array(z.string()).describe("Customer keys whose agent tool config is converged."),
|
|
1005
|
+
}).describe("Desired-state reconciliation result for a CM install's stamped agents.");
|
|
871
1006
|
/** Runtime validator for {@link RoutinePreset}. */
|
|
872
1007
|
export const routinePresetSchema = z.object({
|
|
873
1008
|
/** Event types that routines using this preset may be triggered by. `["*"]` means the preset accepts any event type. Routines assigned to this preset will be rejected at creation time if their trigger event is not in this list. */
|
|
@@ -939,17 +1074,17 @@ export const sandboxKeySchema = z.object({
|
|
|
939
1074
|
/** When this key was created (ISO 8601). */
|
|
940
1075
|
created_at: z.string().optional().describe("When this key was created (ISO 8601)."),
|
|
941
1076
|
/** When this key expires and becomes invalid. `null` if the key does not expire. */
|
|
942
|
-
expires_at: z.string().optional().describe("When this key expires and becomes invalid. `null` if the key does not expire."),
|
|
1077
|
+
expires_at: z.string().nullable().optional().describe("When this key expires and becomes invalid. `null` if the key does not expire."),
|
|
943
1078
|
/** The complete secret key value, returned only once when the key is first created. `null` on subsequent retrievals. */
|
|
944
1079
|
full_key: z.string().optional().describe("The complete secret key value, returned only once when the key is first created. `null` on subsequent retrievals."),
|
|
945
1080
|
/** Sandbox key ID (`dsk_...`). */
|
|
946
1081
|
id: z.string().describe("Sandbox key ID (`dsk_...`)."),
|
|
947
1082
|
/** A short hint showing the last four characters of the key, used for identification. `null` if no hint is available. */
|
|
948
|
-
key_hint: z.string().optional().describe("A short hint showing the last four characters of the key, used for identification. `null` if no hint is available."),
|
|
1083
|
+
key_hint: z.string().nullable().optional().describe("A short hint showing the last four characters of the key, used for identification. `null` if no hint is available."),
|
|
949
1084
|
/** The full key value for `"publishable"` keys. `null` for `"secret"` keys; use `full_key` instead, which is returned only at creation time. */
|
|
950
|
-
key_value: z.string().optional().describe("The full key value for `\"publishable\"` keys. `null` for `\"secret\"` keys; use `full_key` instead, which is returned only at creation time."),
|
|
1085
|
+
key_value: z.string().nullable().optional().describe("The full key value for `\"publishable\"` keys. `null` for `\"secret\"` keys; use `full_key` instead, which is returned only at creation time."),
|
|
951
1086
|
/** When this key was last used to authenticate a request. `null` if the key has never been used. */
|
|
952
|
-
last_used_at: z.string().optional().describe("When this key was last used to authenticate a request. `null` if the key has never been used."),
|
|
1087
|
+
last_used_at: z.string().nullable().optional().describe("When this key was last used to authenticate a request. `null` if the key has never been used."),
|
|
953
1088
|
/** Current lifecycle status of the key. One of `"active"` (usable) or `"revoked"` (permanently disabled). */
|
|
954
1089
|
status: z.string().describe("Current lifecycle status of the key. One of `\"active\"` (usable) or `\"revoked\"` (permanently disabled)."),
|
|
955
1090
|
/** The kind of key. One of `"publishable"` (safe for client-side use) or `"secret"` (server-side only). */
|
|
@@ -960,7 +1095,7 @@ export const sandboxSchema = z.object({
|
|
|
960
1095
|
/** When this sandbox was created (ISO 8601). */
|
|
961
1096
|
created_at: z.string().optional().describe("When this sandbox was created (ISO 8601)."),
|
|
962
1097
|
/** When an eval sandbox expires and becomes eligible for platform cleanup. `null` for ordinary developer sandboxes. */
|
|
963
|
-
expires_at: z.string().optional().describe("When an eval sandbox expires and becomes eligible for platform cleanup. `null` for ordinary developer sandboxes."),
|
|
1098
|
+
expires_at: z.string().nullable().optional().describe("When an eval sandbox expires and becomes eligible for platform cleanup. `null` for ordinary developer sandboxes."),
|
|
964
1099
|
/** Sandbox ID (`dsb_...`). */
|
|
965
1100
|
id: z.string().describe("Sandbox ID (`dsb_...`)."),
|
|
966
1101
|
/** API keys associated with this sandbox. `null` if keys were not loaded with this response. */
|
|
@@ -968,13 +1103,13 @@ export const sandboxSchema = z.object({
|
|
|
968
1103
|
/** Human-readable display name for the sandbox. */
|
|
969
1104
|
name: z.string().describe("Human-readable display name for the sandbox."),
|
|
970
1105
|
/** Organization ID this sandbox is scoped to, or `null` for an app-level sandbox. */
|
|
971
|
-
org: z.string().optional().describe("Organization ID this sandbox is scoped to, or `null` for an app-level sandbox."),
|
|
1106
|
+
org: z.string().nullable().optional().describe("Organization ID this sandbox is scoped to, or `null` for an app-level sandbox."),
|
|
972
1107
|
/** Logo of the owning organization, when present. */
|
|
973
|
-
org_logo: imageSourceSchema.optional().describe("Logo of the owning organization, when present."),
|
|
1108
|
+
org_logo: imageSourceSchema.nullable().optional().describe("Logo of the owning organization, when present."),
|
|
974
1109
|
/** Display name of the owning organization, when org-scoped. */
|
|
975
|
-
org_name: z.string().optional().describe("Display name of the owning organization, when org-scoped."),
|
|
1110
|
+
org_name: z.string().nullable().optional().describe("Display name of the owning organization, when org-scoped."),
|
|
976
1111
|
/** Sandbox purpose marker. `"eval"` marks a remote-eval sandbox; `null` for ordinary developer sandboxes. */
|
|
977
|
-
purpose: z.string().optional().describe("Sandbox purpose marker. `\"eval\"` marks a remote-eval sandbox; `null` for ordinary developer sandboxes."),
|
|
1112
|
+
purpose: z.string().nullable().optional().describe("Sandbox purpose marker. `\"eval\"` marks a remote-eval sandbox; `null` for ordinary developer sandboxes."),
|
|
978
1113
|
/** URL-safe identifier for the sandbox, unique within the application (e.g. `"my-sandbox"`). */
|
|
979
1114
|
slug: z.string().describe("URL-safe identifier for the sandbox, unique within the application (e.g. `\"my-sandbox\"`)."),
|
|
980
1115
|
/** When this sandbox was last modified (ISO 8601). */
|
|
@@ -1052,8 +1187,8 @@ export const slackDeliveryOutcomeSchema = z.object({
|
|
|
1052
1187
|
id: z.string().describe("Unique identifier for this delivery outcome."),
|
|
1053
1188
|
/** ID of the platform message this attempt was carrying. Reading that message still requires access to its thread — this field correlates, it does not grant. */
|
|
1054
1189
|
message: z.string().optional().describe("ID of the platform message this attempt was carrying. Reading that message still requires access to its thread — this field correlates, it does not grant."),
|
|
1055
|
-
/**
|
|
1056
|
-
operation: z.enum(["post", "update"]).describe("
|
|
1190
|
+
/** Which Slack call the attempt made. `post` — a new message in the channel, visible to everyone in it. `post_ephemeral` — a message only one named channel member could see; Slack returns no durable timestamp for one, so it has no `thread_ts` to correlate and cannot be found in the channel's history afterwards. `update` — replacing an existing message (typically a thinking placeholder). */
|
|
1191
|
+
operation: z.enum(["post", "post_ephemeral", "update"]).describe("Which Slack call the attempt made. `post` — a new message in the channel, visible to everyone in it. `post_ephemeral` — a message only one named channel member could see; Slack returns no durable timestamp for one, so it has no `thread_ts` to correlate and cannot be found in the channel's history afterwards. `update` — replacing an existing message (typically a thinking placeholder)."),
|
|
1057
1192
|
/** What happened to the send. `delivered` — Slack accepted the message. `floored` — a deterministic content guard withheld it, so it never left. `judge_refused` — the cross-org judge decided it was not appropriate for this channel's audience. `failed` — Slack rejected the call, or the content floor could not be evaluated and the send failed closed. */
|
|
1058
1193
|
outcome: z.enum(["delivered", "floored", "judge_refused", "failed"]).describe("What happened to the send. `delivered` — Slack accepted the message. `floored` — a deterministic content guard withheld it, so it never left. `judge_refused` — the cross-org judge decided it was not appropriate for this channel's audience. `failed` — Slack rejected the call, or the content floor could not be evaluated and the send failed closed."),
|
|
1059
1194
|
/** When the send was attempted. */
|
|
@@ -1076,18 +1211,18 @@ export const slackDeliveryOutcomeListResponseSchema = z.object({
|
|
|
1076
1211
|
export const trajectorySchema = z.object({
|
|
1077
1212
|
/** When the trajectory was recorded (ISO 8601). */
|
|
1078
1213
|
created_at: z.string().optional().describe("When the trajectory was recorded (ISO 8601)."),
|
|
1079
|
-
/** ID of the storage file that persists the raw trajectory data (`fil_...`).
|
|
1080
|
-
file: z.string().optional().describe("ID of the storage file that persists the raw trajectory data (`fil_...`).
|
|
1214
|
+
/** ID of the storage file that persists the raw trajectory data (`fil_...`). */
|
|
1215
|
+
file: z.string().optional().describe("ID of the storage file that persists the raw trajectory data (`fil_...`)."),
|
|
1081
1216
|
/** Trajectory ID (`trj_...`). */
|
|
1082
1217
|
id: z.string().describe("Trajectory ID (`trj_...`)."),
|
|
1083
1218
|
/** Serialized message log for this trajectory. Contains the ordered sequence of AI and tool messages produced during the session. */
|
|
1084
|
-
messages: z.record(z.unknown()).optional().describe("Serialized message log for this trajectory. Contains the ordered sequence of AI and tool messages produced during the session."),
|
|
1219
|
+
messages: z.array(z.record(z.unknown())).optional().describe("Serialized message log for this trajectory. Contains the ordered sequence of AI and tool messages produced during the session."),
|
|
1085
1220
|
/** ID of the organization this trajectory belongs to (`org_...`). `null` for trajectories outside an org context. */
|
|
1086
|
-
org: z.string().optional().describe("ID of the organization this trajectory belongs to (`org_...`). `null` for trajectories outside an org context."),
|
|
1221
|
+
org: z.string().nullable().optional().describe("ID of the organization this trajectory belongs to (`org_...`). `null` for trajectories outside an org context."),
|
|
1087
1222
|
/** ID of the developer sandbox this trajectory is scoped to (`sbx_...`). `null` for production trajectories. */
|
|
1088
|
-
sandbox: z.string().optional().describe("ID of the developer sandbox this trajectory is scoped to (`sbx_...`). `null` for production trajectories."),
|
|
1223
|
+
sandbox: z.string().nullable().optional().describe("ID of the developer sandbox this trajectory is scoped to (`sbx_...`). `null` for production trajectories."),
|
|
1089
1224
|
/** ID of the team this trajectory is scoped to (`team_...`). `null` for trajectories not associated with a team. */
|
|
1090
|
-
team: z.string().optional().describe("ID of the team this trajectory is scoped to (`team_...`). `null` for trajectories not associated with a team."),
|
|
1225
|
+
team: z.string().nullable().optional().describe("ID of the team this trajectory is scoped to (`team_...`). `null` for trajectories not associated with a team."),
|
|
1091
1226
|
/** When the trajectory record was last updated (ISO 8601). */
|
|
1092
1227
|
updated_at: z.string().optional().describe("When the trajectory record was last updated (ISO 8601)."),
|
|
1093
1228
|
}).describe("A recorded sequence of AI messages and tool interactions representing a single AI reasoning session. Trajectories are stored as structured message logs and can be replayed or inspected after execution.");
|
|
@@ -1187,18 +1322,18 @@ export const workingMemoryEntryListResponseSchema = z.object({
|
|
|
1187
1322
|
/** Runtime validator for {@link SolutionAutomationInvokeContract}. */
|
|
1188
1323
|
export const solutionAutomationInvokeContractSchema = z.object({
|
|
1189
1324
|
/** JSON Schema validated against the whole invoke payload, from the automation's `input_schema_config`. `null` when none is configured. */
|
|
1190
|
-
input_schema: z.record(z.unknown()).optional().describe("JSON Schema validated against the whole invoke payload, from the automation's `input_schema_config`. `null` when none is configured."),
|
|
1325
|
+
input_schema: z.record(z.unknown()).nullable().optional().describe("JSON Schema validated against the whole invoke payload, from the automation's `input_schema_config`. `null` when none is configured."),
|
|
1191
1326
|
/** Named participant slots declared by the workflow, sorted by name. `null` when the workflow declares none. Values supplied under the top-level `participants` field are agent IDs. */
|
|
1192
|
-
participants: z.array(automationParticipantSlotSchema).optional().describe("Named participant slots declared by the workflow, sorted by name. `null` when the workflow declares none. Values supplied under the top-level `participants` field are agent IDs."),
|
|
1327
|
+
participants: z.array(automationParticipantSlotSchema).nullable().optional().describe("Named participant slots declared by the workflow, sorted by name. `null` when the workflow declares none. Values supplied under the top-level `participants` field are agent IDs."),
|
|
1193
1328
|
/** Owner-controlled payload and participant values the platform applies to every invocation. Supplying a conflicting value is rejected. */
|
|
1194
1329
|
prefills: automationPrefillsSchema.describe("Owner-controlled payload and participant values the platform applies to every invocation. Supplying a conflicting value is rejected."),
|
|
1195
1330
|
}).describe("The schema-driven values an installer may lock when provisioning an invoked automation template.");
|
|
1196
1331
|
/** Runtime validator for {@link SolutionAutomationTemplateDetails}. */
|
|
1197
1332
|
export const solutionAutomationTemplateDetailsSchema = z.object({
|
|
1198
|
-
/** Automation execution type (`invoked`, `scheduled`, or `trigger`). */
|
|
1199
|
-
automation_type: z.string().optional().describe("Automation execution type (`invoked`, `scheduled`, or `trigger`)."),
|
|
1200
|
-
/** Schema-driven payload and participant inputs for an invoked automation. Used by installation clients to collect locked prefills before provisioning. */
|
|
1201
|
-
invoke_contract: solutionAutomationInvokeContractSchema.optional().describe("Schema-driven payload and participant inputs for an invoked automation. Used by installation clients to collect locked prefills before provisioning."),
|
|
1333
|
+
/** Automation execution type (`invoked`, `scheduled`, or `trigger`). `null` when the template body does not declare one. */
|
|
1334
|
+
automation_type: z.string().nullable().optional().describe("Automation execution type (`invoked`, `scheduled`, or `trigger`). `null` when the template body does not declare one."),
|
|
1335
|
+
/** Schema-driven payload and participant inputs for an invoked automation. Used by installation clients to collect locked prefills before provisioning. `null` for non-invoked automation types. */
|
|
1336
|
+
invoke_contract: solutionAutomationInvokeContractSchema.nullable().optional().describe("Schema-driven payload and participant inputs for an invoked automation. Used by installation clients to collect locked prefills before provisioning. `null` for non-invoked automation types."),
|
|
1202
1337
|
/** Template-details discriminator. Always `automation` for this variant. */
|
|
1203
1338
|
type: z.literal("automation").describe("Template-details discriminator. Always `automation` for this variant."),
|
|
1204
1339
|
}).describe("AutomationTemplate-specific details exposed by a Solution template summary.");
|
|
@@ -1207,23 +1342,23 @@ export const solutionTemplateDetailsSchema = z.discriminatedUnion("type", [solut
|
|
|
1207
1342
|
/** Runtime validator for {@link SolutionTemplateSummary}. */
|
|
1208
1343
|
export const solutionTemplateSummarySchema = z.object({
|
|
1209
1344
|
/** Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. */
|
|
1210
|
-
description: z.string().optional().describe("Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel."),
|
|
1345
|
+
description: z.string().nullable().optional().describe("Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel."),
|
|
1211
1346
|
/** Template-kind-specific details selected by the `type` discriminator. `null` when this template kind has no additional details. */
|
|
1212
|
-
details: solutionTemplateDetailsSchema.optional().describe("Template-kind-specific details selected by the `type` discriminator. `null` when this template kind has no additional details."),
|
|
1347
|
+
details: solutionTemplateDetailsSchema.nullable().optional().describe("Template-kind-specific details selected by the `type` discriminator. `null` when this template kind has no additional details."),
|
|
1213
1348
|
/** Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. */
|
|
1214
|
-
display_name: z.string().optional().describe("Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`."),
|
|
1349
|
+
display_name: z.string().nullable().optional().describe("Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`."),
|
|
1215
1350
|
/** Template config ID (`cfg_...`). `null` for inline-only templates. */
|
|
1216
|
-
id: z.string().optional().describe("Template config ID (`cfg_...`). `null` for inline-only templates."),
|
|
1351
|
+
id: z.string().nullable().optional().describe("Template config ID (`cfg_...`). `null` for inline-only templates."),
|
|
1217
1352
|
/** Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. */
|
|
1218
1353
|
kind: z.string().describe("Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved."),
|
|
1219
1354
|
/** Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. */
|
|
1220
|
-
lookup_key: z.string().optional().describe("Lookup key stamped on the template config at import time. `null` when no lookup key was assigned."),
|
|
1355
|
+
lookup_key: z.string().nullable().optional().describe("Lookup key stamped on the template config at import time. `null` when no lookup key was assigned."),
|
|
1221
1356
|
/** Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. */
|
|
1222
|
-
name: z.string().optional().describe("Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`."),
|
|
1357
|
+
name: z.string().nullable().optional().describe("Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`."),
|
|
1223
1358
|
/** Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. */
|
|
1224
|
-
readme_url: z.string().optional().describe("Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`."),
|
|
1359
|
+
readme_url: z.string().nullable().optional().describe("Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`."),
|
|
1225
1360
|
/** Stable virtual path assigned to the template config. `null` when no virtual path was set. */
|
|
1226
|
-
virtual_path: z.string().optional().describe("Stable virtual path assigned to the template config. `null` when no virtual path was set."),
|
|
1361
|
+
virtual_path: z.string().nullable().optional().describe("Stable virtual path assigned to the template config. `null` when no virtual path was set."),
|
|
1227
1362
|
}).describe("Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity.");
|
|
1228
1363
|
/** Runtime validator for {@link SolutionSummary}. */
|
|
1229
1364
|
export const solutionSummarySchema = z.object({
|
|
@@ -1232,47 +1367,47 @@ export const solutionSummarySchema = z.object({
|
|
|
1232
1367
|
/** When the Solution config was first imported (ISO 8601). */
|
|
1233
1368
|
created_at: z.string().optional().describe("When the Solution config was first imported (ISO 8601)."),
|
|
1234
1369
|
/** Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. */
|
|
1235
|
-
description: z.string().optional().describe("Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one."),
|
|
1370
|
+
description: z.string().nullable().optional().describe("Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one."),
|
|
1236
1371
|
/** Custom analytics events declared in the Solution body's `events:` manifest — a map of event key (snake_case) to its definition (`label`, optional `description`, optional typed `fields`). Dashboards use the `label` as the event's display name. Present as an empty object when the body declares none. */
|
|
1237
1372
|
events: z.record(z.unknown()).optional().describe("Custom analytics events declared in the Solution body's `events:` manifest — a map of event key (snake_case) to its definition (`label`, optional `description`, optional typed `fields`). Dashboards use the `label` as the event's display name. Present as an empty object when the body declares none."),
|
|
1238
1373
|
/** Solution config ID (`cfg_...`). */
|
|
1239
1374
|
id: z.string().describe("Solution config ID (`cfg_...`)."),
|
|
1240
1375
|
/** Absolute URL of the Solution's cover image — the bundled asset the body's `image:` field names. A stable, non-expiring capability URL (like `org_logo.url`), safe to hold in caches and OpenGraph tags; it 404s if the Solution stops declaring a cover. `null` when the Solution has no cover image, and always `null` for org-scoped rows — the permanent URL is minted for system-scope (catalog) Solutions only. */
|
|
1241
|
-
image_url: z.string().optional().describe("Absolute URL of the Solution's cover image — the bundled asset the body's `image:` field names. A stable, non-expiring capability URL (like `org_logo.url`), safe to hold in caches and OpenGraph tags; it 404s if the Solution stops declaring a cover. `null` when the Solution has no cover image, and always `null` for org-scoped rows — the permanent URL is minted for system-scope (catalog) Solutions only."),
|
|
1376
|
+
image_url: z.string().nullable().optional().describe("Absolute URL of the Solution's cover image — the bundled asset the body's `image:` field names. A stable, non-expiring capability URL (like `org_logo.url`), safe to hold in caches and OpenGraph tags; it 404s if the Solution stops declaring a cover. `null` when the Solution has no cover image, and always `null` for org-scoped rows — the permanent URL is minted for system-scope (catalog) Solutions only."),
|
|
1242
1377
|
/** Resource type. Always `"Solution"`. */
|
|
1243
1378
|
kind: z.string().describe("Resource type. Always `\"Solution\"`."),
|
|
1244
1379
|
/** When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. */
|
|
1245
|
-
latest_solution: z.string().optional().describe("When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise."),
|
|
1380
|
+
latest_solution: z.string().nullable().optional().describe("When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise."),
|
|
1246
1381
|
/** When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. */
|
|
1247
|
-
latest_version: z.string().optional().describe("When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise."),
|
|
1382
|
+
latest_version: z.string().nullable().optional().describe("When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise."),
|
|
1248
1383
|
/** The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. */
|
|
1249
|
-
lookup_key: z.string().optional().describe("The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set."),
|
|
1384
|
+
lookup_key: z.string().nullable().optional().describe("The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set."),
|
|
1250
1385
|
/** Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. */
|
|
1251
1386
|
metadata: z.record(z.unknown()).optional().describe("Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none."),
|
|
1252
1387
|
/** Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. */
|
|
1253
|
-
name: z.string().optional().describe("Human-facing display name declared in the Solution body. `null` when the Solution body does not set one."),
|
|
1388
|
+
name: z.string().nullable().optional().describe("Human-facing display name declared in the Solution body. `null` when the Solution body does not set one."),
|
|
1254
1389
|
/** Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. */
|
|
1255
|
-
org: z.string().optional().describe("Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions."),
|
|
1390
|
+
org: z.string().nullable().optional().describe("Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions."),
|
|
1256
1391
|
/** Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. The `url` is a stable, non-expiring capability URL (`refresh_url` is `null` — there is nothing to refresh). `null` when `org_slug` is `null` or the org has no logo. */
|
|
1257
|
-
org_logo: imageSourceSchema.optional().describe("Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. The `url` is a stable, non-expiring capability URL (`refresh_url` is `null` — there is nothing to refresh). `null` when `org_slug` is `null` or the org has no logo."),
|
|
1392
|
+
org_logo: imageSourceSchema.nullable().optional().describe("Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. The `url` is a stable, non-expiring capability URL (`refresh_url` is `null` — there is nothing to refresh). `null` when `org_slug` is `null` or the org has no logo."),
|
|
1258
1393
|
/** Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. */
|
|
1259
|
-
org_name: z.string().optional().describe("Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`."),
|
|
1394
|
+
org_name: z.string().nullable().optional().describe("Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`."),
|
|
1260
1395
|
/** Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. */
|
|
1261
|
-
org_slug: z.string().optional().describe("Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve."),
|
|
1396
|
+
org_slug: z.string().nullable().optional().describe("Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve."),
|
|
1262
1397
|
/** Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer's org scope). */
|
|
1263
1398
|
owners: z.array(z.string()).describe("Owner scopes this Solution appears under. Members: `\"system\"` (app-level system scope) and/or `\"org\"` (viewer's org scope)."),
|
|
1264
1399
|
/** Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. */
|
|
1265
|
-
readme_url: z.string().optional().describe("Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`."),
|
|
1400
|
+
readme_url: z.string().nullable().optional().describe("Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`."),
|
|
1266
1401
|
/** Absolute URLs of the Solution's gallery screenshots — the bundled assets the body's `screenshots:` field names, in declared order. Each is a stable, non-expiring capability URL with the same cacheability contract as `image_url` (one shared token, a `v` cache key, and a `file` param selecting the screenshot); a URL 404s if the Solution stops declaring its screenshot. An empty array when the Solution declares none, and always empty for org-scoped rows — the permanent URLs are minted for system-scope (catalog) Solutions only. */
|
|
1267
1402
|
screenshot_urls: z.array(z.string()).optional().describe("Absolute URLs of the Solution's gallery screenshots — the bundled assets the body's `screenshots:` field names, in declared order. Each is a stable, non-expiring capability URL with the same cacheability contract as `image_url` (one shared token, a `v` cache key, and a `file` param selecting the screenshot); a URL 404s if the Solution stops declaring its screenshot. An empty array when the Solution declares none, and always empty for org-scoped rows — the permanent URLs are minted for system-scope (catalog) Solutions only."),
|
|
1268
1403
|
/** Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. */
|
|
1269
|
-
solution_id: z.string().optional().describe("Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it."),
|
|
1404
|
+
solution_id: z.string().nullable().optional().describe("Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it."),
|
|
1270
1405
|
/** Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. */
|
|
1271
|
-
solution_version: z.string().optional().describe("Semver string declared in the Solution body (e.g. `\"1.2.0\"`). `null` when the body does not declare a version."),
|
|
1406
|
+
solution_version: z.string().nullable().optional().describe("Semver string declared in the Solution body (e.g. `\"1.2.0\"`). `null` when the body does not declare a version."),
|
|
1272
1407
|
/** Freeform tag keys declared in the Solution body. An empty array when the body declares none. */
|
|
1273
1408
|
tag_keys: z.array(z.string()).optional().describe("Freeform tag keys declared in the Solution body. An empty array when the body declares none."),
|
|
1274
1409
|
/** Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. */
|
|
1275
|
-
template_kind: z.string().optional().describe("Wrapped template kind — `\"AgentTemplate\"`, `\"AutomationTemplate\"`, `\"AgentRoutineTemplate\"`, `\"AgentToolTemplate\"`, `\"AgentComputerTemplate\"`, or `\"SolutionTemplateRef\"` for ref-mode bundles."),
|
|
1410
|
+
template_kind: z.string().nullable().optional().describe("Wrapped template kind — `\"AgentTemplate\"`, `\"AutomationTemplate\"`, `\"AgentRoutineTemplate\"`, `\"AgentToolTemplate\"`, `\"AgentComputerTemplate\"`, or `\"SolutionTemplateRef\"` for ref-mode bundles."),
|
|
1276
1411
|
/** Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. */
|
|
1277
1412
|
templates: z.array(solutionTemplateSummarySchema).describe("Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references."),
|
|
1278
1413
|
/** When the Solution config was last modified (ISO 8601). */
|
|
@@ -1280,7 +1415,7 @@ export const solutionSummarySchema = z.object({
|
|
|
1280
1415
|
/** `true` when this Solution is installed at the viewer's org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows. */
|
|
1281
1416
|
upgrade_available: z.boolean().describe("`true` when this Solution is installed at the viewer's org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows."),
|
|
1282
1417
|
/** The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. */
|
|
1283
|
-
virtual_path: z.string().optional().describe("The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset."),
|
|
1418
|
+
virtual_path: z.string().nullable().optional().describe("The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset."),
|
|
1284
1419
|
}).describe("A catalog entry for an imported Solution, including its display metadata, bundled templates, owner scopes, and any available upgrade information.");
|
|
1285
1420
|
/** Runtime validator for {@link AgentSourceSolution}. */
|
|
1286
1421
|
export const agentSourceSolutionSchema = z.object({
|
|
@@ -1294,49 +1429,49 @@ export const agentSourceSolutionSchema = z.object({
|
|
|
1294
1429
|
/** Runtime validator for {@link Agent}. */
|
|
1295
1430
|
export const agentSchema = z.object({
|
|
1296
1431
|
/** Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. */
|
|
1297
|
-
acl: aclSchema.optional().describe("Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope."),
|
|
1432
|
+
acl: aclSchema.nullable().optional().describe("Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope."),
|
|
1298
1433
|
/** ID of the application that owns this agent (`dap_...`). */
|
|
1299
1434
|
app: z.string().optional().describe("ID of the application that owns this agent (`dap_...`)."),
|
|
1300
1435
|
/** When the agent was created (ISO 8601). */
|
|
1301
1436
|
created_at: z.string().optional().describe("When the agent was created (ISO 8601)."),
|
|
1302
1437
|
/** Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). */
|
|
1303
|
-
default_model: z.string().optional().describe("Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `\"claude-3-7-sonnet-latest\"`)."),
|
|
1438
|
+
default_model: z.string().nullable().optional().describe("Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `\"claude-3-7-sonnet-latest\"`)."),
|
|
1304
1439
|
/** Human-readable description of what the agent does. `null` if not set. */
|
|
1305
|
-
description: z.string().optional().describe("Human-readable description of what the agent does. `null` if not set."),
|
|
1440
|
+
description: z.string().nullable().optional().describe("Human-readable description of what the agent does. `null` if not set."),
|
|
1306
1441
|
/** Email address provisioned for this agent. `null` if email delivery is not configured. */
|
|
1307
|
-
email: z.string().optional().describe("Email address provisioned for this agent. `null` if email delivery is not configured."),
|
|
1442
|
+
email: z.string().nullable().optional().describe("Email address provisioned for this agent. `null` if email delivery is not configured."),
|
|
1308
1443
|
/** Agent ID (`agi_...`). */
|
|
1309
1444
|
id: z.string().describe("Agent ID (`agi_...`)."),
|
|
1310
1445
|
/** System-level identity prompt that shapes the agent's persona and behavior. */
|
|
1311
|
-
identity: z.string().optional().describe("System-level identity prompt that shapes the agent's persona and behavior."),
|
|
1446
|
+
identity: z.string().nullable().optional().describe("System-level identity prompt that shapes the agent's persona and behavior."),
|
|
1312
1447
|
/** ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. */
|
|
1313
|
-
last_applied_template_config: z.string().optional().describe("ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents."),
|
|
1448
|
+
last_applied_template_config: z.string().nullable().optional().describe("ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents."),
|
|
1314
1449
|
/** Stable, user-defined identifier for this agent within the application. Unique per app. */
|
|
1315
|
-
lookup_key: z.string().optional().describe("Stable, user-defined identifier for this agent within the application. Unique per app."),
|
|
1450
|
+
lookup_key: z.string().nullable().optional().describe("Stable, user-defined identifier for this agent within the application. Unique per app."),
|
|
1316
1451
|
/** Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. */
|
|
1317
1452
|
metadata: z.record(z.unknown()).optional().describe("Arbitrary key-value metadata attached to the agent. Not interpreted by the platform."),
|
|
1318
1453
|
/** Human-readable display name for the agent. `null` if not set. */
|
|
1319
1454
|
name: z.string().optional().describe("Human-readable display name for the agent. `null` if not set."),
|
|
1320
1455
|
/** ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. */
|
|
1321
|
-
org: z.string().optional().describe("ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped."),
|
|
1456
|
+
org: z.string().nullable().optional().describe("ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped."),
|
|
1322
1457
|
/** Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. */
|
|
1323
|
-
org_name: z.string().optional().describe("Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded."),
|
|
1458
|
+
org_name: z.string().nullable().optional().describe("Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded."),
|
|
1324
1459
|
/** Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). */
|
|
1325
|
-
originator: z.string().optional().describe("Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name)."),
|
|
1460
|
+
originator: z.string().nullable().optional().describe("Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name)."),
|
|
1326
1461
|
/** Phone number provisioned for this agent. `null` if SMS is not configured. */
|
|
1327
|
-
phone_number: z.string().optional().describe("Phone number provisioned for this agent. `null` if SMS is not configured."),
|
|
1462
|
+
phone_number: z.string().nullable().optional().describe("Phone number provisioned for this agent. `null` if SMS is not configured."),
|
|
1328
1463
|
/** ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. */
|
|
1329
|
-
sandbox: z.string().optional().describe("ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments."),
|
|
1464
|
+
sandbox: z.string().nullable().optional().describe("ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments."),
|
|
1330
1465
|
/** Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. */
|
|
1331
|
-
source_solution: agentSourceSolutionSchema.optional().describe("Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints."),
|
|
1466
|
+
source_solution: agentSourceSolutionSchema.nullable().optional().describe("Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints."),
|
|
1332
1467
|
/** ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. */
|
|
1333
|
-
team: z.string().optional().describe("ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped."),
|
|
1468
|
+
team: z.string().nullable().optional().describe("ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped."),
|
|
1334
1469
|
/** True when the agent's last-applied template version is behind the current version of its AgentTemplate config — i.e. reapplying the template (a per-agent upgrade) would bring it newer Solution content. Self-clears once the agent is reapplied. Computed on both the list endpoints and single-agent GET. Distinct from `source_solution.upgrade_available`, which compares Solution *versions*: an agent can lag its template (`template_upgrade_available: true`) while the org already holds the latest Solution version (`upgrade_available: false`). */
|
|
1335
|
-
template_upgrade_available: z.boolean().optional().describe("True when the agent's last-applied template version is behind the current version of its AgentTemplate config — i.e. reapplying the template (a per-agent upgrade) would bring it newer Solution content. Self-clears once the agent is reapplied. Computed on both the list endpoints and single-agent GET. Distinct from `source_solution.upgrade_available`, which compares Solution *versions*: an agent can lag its template (`template_upgrade_available: true`) while the org already holds the latest Solution version (`upgrade_available: false`)."),
|
|
1470
|
+
template_upgrade_available: z.boolean().nullable().optional().describe("True when the agent's last-applied template version is behind the current version of its AgentTemplate config — i.e. reapplying the template (a per-agent upgrade) would bring it newer Solution content. Self-clears once the agent is reapplied. Computed on both the list endpoints and single-agent GET. Distinct from `source_solution.upgrade_available`, which compares Solution *versions*: an agent can lag its template (`template_upgrade_available: true`) while the org already holds the latest Solution version (`upgrade_available: false`)."),
|
|
1336
1471
|
/** When the agent was last modified (ISO 8601). */
|
|
1337
1472
|
updated_at: z.string().optional().describe("When the agent was last modified (ISO 8601)."),
|
|
1338
1473
|
/** ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. */
|
|
1339
|
-
user: z.string().optional().describe("ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped."),
|
|
1474
|
+
user: z.string().nullable().optional().describe("ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped."),
|
|
1340
1475
|
}).describe("An AI agent that can be configured with tools, routines, and skills, and invoked to handle conversations or tasks.");
|
|
1341
1476
|
/** Runtime validator for {@link AgentComputer}. */
|
|
1342
1477
|
export const agentComputerSchema = z.object({
|
|
@@ -1379,41 +1514,41 @@ export const agentComputerListResponseSchema = z.object({
|
|
|
1379
1514
|
/** Runtime validator for {@link AgentCreateResponse}. */
|
|
1380
1515
|
export const agentCreateResponseSchema = z.object({
|
|
1381
1516
|
/** Access control list governing who can interact with this agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied. */
|
|
1382
|
-
acl: aclSchema.optional().describe("Access control list governing who can interact with this agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied."),
|
|
1517
|
+
acl: aclSchema.nullable().optional().describe("Access control list governing who can interact with this agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied."),
|
|
1383
1518
|
/** ID of the app this agent belongs to (`dap_...`). */
|
|
1384
1519
|
app: z.string().optional().describe("ID of the app this agent belongs to (`dap_...`)."),
|
|
1385
1520
|
/** When the agent was created (ISO 8601). */
|
|
1386
1521
|
created_at: z.string().optional().describe("When the agent was created (ISO 8601)."),
|
|
1387
1522
|
/** Default AI model the agent uses when no model is specified at runtime, e.g. `"claude-3-5-sonnet-20241022"`. `null` if not configured. */
|
|
1388
|
-
default_model: z.string().optional().describe("Default AI model the agent uses when no model is specified at runtime, e.g. `\"claude-3-5-sonnet-20241022\"`. `null` if not configured."),
|
|
1523
|
+
default_model: z.string().nullable().optional().describe("Default AI model the agent uses when no model is specified at runtime, e.g. `\"claude-3-5-sonnet-20241022\"`. `null` if not configured."),
|
|
1389
1524
|
/** Email address assigned to this agent for inbound email handling. `null` if not configured. */
|
|
1390
|
-
email: z.string().optional().describe("Email address assigned to this agent for inbound email handling. `null` if not configured."),
|
|
1525
|
+
email: z.string().nullable().optional().describe("Email address assigned to this agent for inbound email handling. `null` if not configured."),
|
|
1391
1526
|
/** Agent ID (`agi_...`). */
|
|
1392
1527
|
id: z.string().describe("Agent ID (`agi_...`)."),
|
|
1393
1528
|
/** System prompt or persona description that shapes the agent's behavior. `null` if not set. */
|
|
1394
|
-
identity: z.string().optional().describe("System prompt or persona description that shapes the agent's behavior. `null` if not set."),
|
|
1529
|
+
identity: z.string().nullable().optional().describe("System prompt or persona description that shapes the agent's behavior. `null` if not set."),
|
|
1395
1530
|
/** List of config records created as part of this request's `template_bundle` install. One entry per persisted config, sorted by `key`. Omitted entirely when the request did not include a `template_bundle`. */
|
|
1396
1531
|
installed_configs: z.array(installedConfigEntrySchema).optional().describe("List of config records created as part of this request's `template_bundle` install. One entry per persisted config, sorted by `key`. Omitted entirely when the request did not include a `template_bundle`."),
|
|
1397
1532
|
/** Unique, stable identifier for the agent within its app. `null` if not set. */
|
|
1398
|
-
lookup_key: z.string().optional().describe("Unique, stable identifier for the agent within its app. `null` if not set."),
|
|
1533
|
+
lookup_key: z.string().nullable().optional().describe("Unique, stable identifier for the agent within its app. `null` if not set."),
|
|
1399
1534
|
/** Arbitrary key-value metadata attached to the agent. `null` if none was provided. */
|
|
1400
1535
|
metadata: z.record(z.unknown()).optional().describe("Arbitrary key-value metadata attached to the agent. `null` if none was provided."),
|
|
1401
1536
|
/** Human-readable display name for the agent. `null` if not set. */
|
|
1402
1537
|
name: z.string().optional().describe("Human-readable display name for the agent. `null` if not set."),
|
|
1403
1538
|
/** ID of the organization this agent belongs to (`org_...`). `null` for agents outside an org. */
|
|
1404
|
-
org: z.string().optional().describe("ID of the organization this agent belongs to (`org_...`). `null` for agents outside an org."),
|
|
1539
|
+
org: z.string().nullable().optional().describe("ID of the organization this agent belongs to (`org_...`). `null` for agents outside an org."),
|
|
1405
1540
|
/** Free-form label identifying the source or author of the agent, e.g. a username or service name. `null` if not set. */
|
|
1406
|
-
originator: z.string().optional().describe("Free-form label identifying the source or author of the agent, e.g. a username or service name. `null` if not set."),
|
|
1541
|
+
originator: z.string().nullable().optional().describe("Free-form label identifying the source or author of the agent, e.g. a username or service name. `null` if not set."),
|
|
1407
1542
|
/** Phone number assigned to this agent for inbound SMS or voice handling. `null` if not configured. */
|
|
1408
|
-
phone_number: z.string().optional().describe("Phone number assigned to this agent for inbound SMS or voice handling. `null` if not configured."),
|
|
1543
|
+
phone_number: z.string().nullable().optional().describe("Phone number assigned to this agent for inbound SMS or voice handling. `null` if not configured."),
|
|
1409
1544
|
/** ID of the sandbox environment this agent is scoped to (`sbx_...`). `null` for agents not scoped to a sandbox. */
|
|
1410
|
-
sandbox: z.string().optional().describe("ID of the sandbox environment this agent is scoped to (`sbx_...`). `null` for agents not scoped to a sandbox."),
|
|
1545
|
+
sandbox: z.string().nullable().optional().describe("ID of the sandbox environment this agent is scoped to (`sbx_...`). `null` for agents not scoped to a sandbox."),
|
|
1411
1546
|
/** ID of the team that owns this agent (`tea_...`). `null` if owned by a user rather than a team. */
|
|
1412
|
-
team: z.string().optional().describe("ID of the team that owns this agent (`tea_...`). `null` if owned by a user rather than a team."),
|
|
1547
|
+
team: z.string().nullable().optional().describe("ID of the team that owns this agent (`tea_...`). `null` if owned by a user rather than a team."),
|
|
1413
1548
|
/** When the agent record was last modified (ISO 8601). */
|
|
1414
1549
|
updated_at: z.string().optional().describe("When the agent record was last modified (ISO 8601)."),
|
|
1415
1550
|
/** ID of the user that owns this agent (`usr_...`). `null` if owned by a team. */
|
|
1416
|
-
user: z.string().optional().describe("ID of the user that owns this agent (`usr_...`). `null` if owned by a team."),
|
|
1551
|
+
user: z.string().nullable().optional().describe("ID of the user that owns this agent (`usr_...`). `null` if owned by a team."),
|
|
1417
1552
|
}).describe("The response returned by `POST /api/v1/agents`. Contains all agent fields plus an optional `installed_configs` array when a `template_bundle` was supplied in the request.");
|
|
1418
1553
|
/** Runtime validator for {@link AgentEnvVarMasked}. */
|
|
1419
1554
|
export const agentEnvVarMaskedSchema = z.object({
|
|
@@ -1958,15 +2093,15 @@ export const solutionImportWarningSchema = z.object({
|
|
|
1958
2093
|
/** Runtime validator for {@link SolutionImportResult}. */
|
|
1959
2094
|
export const solutionImportResultSchema = z.object({
|
|
1960
2095
|
/** Machine-readable conflict code present when `status` is `"conflict"`, identifying the specific conflict reason. `null` when `status` is `"ready"`. */
|
|
1961
|
-
code: z.string().optional().describe("Machine-readable conflict code present when `status` is `\"conflict\"`, identifying the specific conflict reason. `null` when `status` is `\"ready\"`."),
|
|
2096
|
+
code: z.string().nullable().optional().describe("Machine-readable conflict code present when `status` is `\"conflict\"`, identifying the specific conflict reason. `null` when `status` is `\"ready\"`."),
|
|
1962
2097
|
/** Whether this result was produced by a dry-run check. `true` when the import was validated without persisting any changes. */
|
|
1963
2098
|
dry_run: z.boolean().describe("Whether this result was produced by a dry-run check. `true` when the import was validated without persisting any changes."),
|
|
1964
2099
|
/** Semver string of the Solution version already present in the library. `null` when no prior version exists. */
|
|
1965
|
-
existing_solution_version: z.string().optional().describe("Semver string of the Solution version already present in the library. `null` when no prior version exists."),
|
|
2100
|
+
existing_solution_version: z.string().nullable().optional().describe("Semver string of the Solution version already present in the library. `null` when no prior version exists."),
|
|
1966
2101
|
/** Semver string of the Solution version in the bundle being imported. `null` when the bundle does not declare a version. */
|
|
1967
|
-
incoming_solution_version: z.string().optional().describe("Semver string of the Solution version in the bundle being imported. `null` when the bundle does not declare a version."),
|
|
2102
|
+
incoming_solution_version: z.string().nullable().optional().describe("Semver string of the Solution version in the bundle being imported. `null` when the bundle does not declare a version."),
|
|
1968
2103
|
/** Human-readable description of the import status or conflict reason, suitable for display in a confirmation dialog. `null` when no detail is available. */
|
|
1969
|
-
message: z.string().optional().describe("Human-readable description of the import status or conflict reason, suitable for display in a confirmation dialog. `null` when no detail is available."),
|
|
2104
|
+
message: z.string().nullable().optional().describe("Human-readable description of the import status or conflict reason, suitable for display in a confirmation dialog. `null` when no detail is available."),
|
|
1970
2105
|
/** Outcome of the import check. `"ready"` means the import can proceed as a normal create or update. `"conflict"` means a version conflict was detected and the upgrade flow must be used instead. */
|
|
1971
2106
|
status: z.string().describe("Outcome of the import check. `\"ready\"` means the import can proceed as a normal create or update. `\"conflict\"` means a version conflict was detected and the upgrade flow must be used instead."),
|
|
1972
2107
|
/** Whether the caller must invoke the dedicated upgrade flow to complete the import. Mirrors `status == "conflict"` as a convenience boolean. */
|
|
@@ -1987,13 +2122,13 @@ export const solutionImportResponseSchema = z.object({
|
|
|
1987
2122
|
/** Resource type. Always `"Solution"`. */
|
|
1988
2123
|
kind: z.string().describe("Resource type. Always `\"Solution\"`."),
|
|
1989
2124
|
/** The `lookup_key` stored on the Solution config after the import's suffix normalization. `null` when the Solution was not given a lookup key. */
|
|
1990
|
-
lookup_key: z.string().optional().describe("The `lookup_key` stored on the Solution config after the import's suffix normalization. `null` when the Solution was not given a lookup key."),
|
|
2125
|
+
lookup_key: z.string().nullable().optional().describe("The `lookup_key` stored on the Solution config after the import's suffix normalization. `null` when the Solution was not given a lookup key."),
|
|
1991
2126
|
/** Full summary of the imported Solution, in the same shape as the individual Solution retrieval endpoint. */
|
|
1992
2127
|
solution: solutionSummarySchema.describe("Full summary of the imported Solution, in the same shape as the individual Solution retrieval endpoint."),
|
|
1993
2128
|
/** When the Solution config record was last modified (ISO 8601). */
|
|
1994
2129
|
updated_at: z.string().optional().describe("When the Solution config record was last modified (ISO 8601)."),
|
|
1995
2130
|
/** The `virtual_path` stored on the Solution config, used as the stable dedupe key across owner scopes. `null` when no virtual path was assigned. */
|
|
1996
|
-
virtual_path: z.string().optional().describe("The `virtual_path` stored on the Solution config, used as the stable dedupe key across owner scopes. `null` when no virtual path was assigned."),
|
|
2131
|
+
virtual_path: z.string().nullable().optional().describe("The `virtual_path` stored on the Solution config, used as the stable dedupe key across owner scopes. `null` when no virtual path was assigned."),
|
|
1997
2132
|
}).describe("The result of importing a Solution bundle into the library, including the Solution config record, a structured import result, and the list of all configs persisted during the transaction.");
|
|
1998
2133
|
/** Runtime validator for {@link SolutionInstallResponseWebhook}. */
|
|
1999
2134
|
export const solutionInstallResponseWebhookSchema = z.object({
|
|
@@ -2007,7 +2142,7 @@ export const solutionInstallResponseSchema = z.object({
|
|
|
2007
2142
|
/** Type of the provisioned resource. One of `"Agent"`, `"Automation"`, `"AgentRoutine"`, `"AgentTool"`, `"AgentSkill"`, or `"AgentComputer"`. */
|
|
2008
2143
|
kind: z.string().describe("Type of the provisioned resource. One of `\"Agent\"`, `\"Automation\"`, `\"AgentRoutine\"`, `\"AgentTool\"`, `\"AgentSkill\"`, or `\"AgentComputer\"`."),
|
|
2009
2144
|
/** The `lookup_key` stamped on the provisioned resource. `null` for `AgentSkill`, which is a join record and does not carry a lookup key. */
|
|
2010
|
-
lookup_key: z.string().optional().describe("The `lookup_key` stamped on the provisioned resource. `null` for `AgentSkill`, which is a join record and does not carry a lookup key."),
|
|
2145
|
+
lookup_key: z.string().nullable().optional().describe("The `lookup_key` stamped on the provisioned resource. `null` for `AgentSkill`, which is a join record and does not carry a lookup key."),
|
|
2011
2146
|
/** Solution config ID (`cfg_...`) that was used as the source for this install. */
|
|
2012
2147
|
solution: z.string().describe("Solution config ID (`cfg_...`) that was used as the source for this install."),
|
|
2013
2148
|
/** One-time connection details for a webhook-auth Automation install. */
|
|
@@ -2016,25 +2151,25 @@ export const solutionInstallResponseSchema = z.object({
|
|
|
2016
2151
|
/** Runtime validator for {@link SolutionInstance}. */
|
|
2017
2152
|
export const solutionInstanceSchema = z.object({
|
|
2018
2153
|
/** Materialized agent for this customer (`agi_...`). `null` for a row without an agent. */
|
|
2019
|
-
agent: z.string().optional().describe("Materialized agent for this customer (`agi_...`). `null` for a row without an agent."),
|
|
2154
|
+
agent: z.string().nullable().optional().describe("Materialized agent for this customer (`agi_...`). `null` for a row without an agent."),
|
|
2020
2155
|
/** Human-readable display name of the materialized agent. `null` when no agent is visible. */
|
|
2021
|
-
agent_name: z.string().optional().describe("Human-readable display name of the materialized agent. `null` when no agent is visible."),
|
|
2156
|
+
agent_name: z.string().nullable().optional().describe("Human-readable display name of the materialized agent. `null` when no agent is visible."),
|
|
2022
2157
|
/** Opaque tagged reference to the deployment target. Consumers interpret its kind. */
|
|
2023
|
-
attachment_ref: z.record(z.unknown()).optional().describe("Opaque tagged reference to the deployment target. Consumers interpret its kind."),
|
|
2158
|
+
attachment_ref: z.record(z.unknown()).nullable().optional().describe("Opaque tagged reference to the deployment target. Consumers interpret its kind."),
|
|
2024
2159
|
/** When this instance was stamped. */
|
|
2025
2160
|
created_at: z.string().describe("When this instance was stamped."),
|
|
2026
2161
|
/** Stable vendor-defined key for the customer. */
|
|
2027
2162
|
customer_key: z.string().describe("Stable vendor-defined key for the customer."),
|
|
2028
2163
|
/** Human-readable customer label. `null` when the vendor did not provide one. */
|
|
2029
|
-
customer_label: z.string().optional().describe("Human-readable customer label. `null` when the vendor did not provide one."),
|
|
2164
|
+
customer_label: z.string().nullable().optional().describe("Human-readable customer label. `null` when the vendor did not provide one."),
|
|
2030
2165
|
/** Solution instance ID (`sli_...`). */
|
|
2031
2166
|
id: z.string().describe("Solution instance ID (`sli_...`)."),
|
|
2032
2167
|
/** Count of local agent edits relative to the pinned template. `null` when unavailable. */
|
|
2033
|
-
local_edit_count: z.number().int().optional().describe("Count of local agent edits relative to the pinned template. `null` when unavailable."),
|
|
2168
|
+
local_edit_count: z.number().int().nullable().optional().describe("Count of local agent edits relative to the pinned template. `null` when unavailable."),
|
|
2034
2169
|
/** Pinned template version record (`cfv_...`). `null` when no version is pinned. */
|
|
2035
|
-
pinned_template_version: z.string().optional().describe("Pinned template version record (`cfv_...`). `null` when no version is pinned."),
|
|
2170
|
+
pinned_template_version: z.string().nullable().optional().describe("Pinned template version record (`cfv_...`). `null` when no version is pinned."),
|
|
2036
2171
|
/** Human-readable version number of the pinned template. `null` when unavailable. */
|
|
2037
|
-
pinned_version_number: z.number().int().optional().describe("Human-readable version number of the pinned template. `null` when unavailable."),
|
|
2172
|
+
pinned_version_number: z.number().int().nullable().optional().describe("Human-readable version number of the pinned template. `null` when unavailable."),
|
|
2038
2173
|
/** Installed solution template config that stamped this instance (`cfg_...`). */
|
|
2039
2174
|
solution_template_config: z.string().describe("Installed solution template config that stamped this instance (`cfg_...`)."),
|
|
2040
2175
|
/** Lifecycle status of this stamped instance. */
|