@treeseed/sdk 0.13.0-rc.25 → 0.13.0-rc.26
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/agent-capacity/validation/agent-definition-schema.d.ts +362 -362
- package/dist/capacity-provider/client.d.ts +1 -1
- package/dist/content/validation/agent-operational-content-schemas.d.ts +50 -50
- package/dist/content/validation/auxiliary-content-schemas.d.ts +46 -46
- package/dist/content/validation/content-model-schemas.d.ts +875 -875
- package/dist/content/validation/portable-content-data.d.ts +99 -99
- package/dist/deployment/canonical.d.ts +2 -0
- package/dist/deployment/canonical.js +17 -0
- package/dist/deployment/catalog.d.ts +16 -0
- package/dist/deployment/catalog.js +38 -0
- package/dist/deployment/index.d.ts +3 -0
- package/dist/deployment/index.js +3 -0
- package/dist/deployment/schemas.d.ts +2743 -0
- package/dist/deployment/schemas.js +179 -0
- package/dist/operator-contracts/canonical-command-tree.js +35 -0
- package/dist/operator-contracts/catalog/communication-operations.d.ts +11 -11
- package/dist/operator-contracts/communication/contracts.d.ts +24 -24
- package/dist/operator-contracts/control-plane-operations.d.ts +11 -11
- package/package.json +5 -1
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const identifier = z.string().regex(/^[a-z][a-z0-9.-]{1,63}$/u);
|
|
3
|
+
const digest = z.string().regex(/^sha256:[a-f0-9]{64}$/u);
|
|
4
|
+
const gitCommit = z.string().regex(/^[a-f0-9]{40}$/u);
|
|
5
|
+
const packageVersion = z.string().min(1).regex(/^[0-9][0-9A-Za-z.+:~-]*$/u);
|
|
6
|
+
const localAlias = z.string().regex(
|
|
7
|
+
/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*\.localhost$/u,
|
|
8
|
+
"Host aliases must use the .localhost namespace."
|
|
9
|
+
);
|
|
10
|
+
const binding = z.string().regex(/^(?:\[[0-9a-f:]+\]|[^:]+):[1-9][0-9]{0,4}$/iu);
|
|
11
|
+
const deploymentTrackSchema = z.enum(["stable", "development"]);
|
|
12
|
+
const hostComponentSchema = z.object({
|
|
13
|
+
enabled: z.boolean(),
|
|
14
|
+
track: deploymentTrackSchema,
|
|
15
|
+
profile: identifier.optional(),
|
|
16
|
+
aliases: z.record(z.string().min(1), localAlias).default({}),
|
|
17
|
+
configuration: z.record(z.unknown()).default({})
|
|
18
|
+
}).strict();
|
|
19
|
+
const hostConfigurationSchema = z.object({
|
|
20
|
+
schemaVersion: z.literal("treeseed.host/v1"),
|
|
21
|
+
configurationId: identifier,
|
|
22
|
+
generation: z.number().int().positive(),
|
|
23
|
+
host: z.object({
|
|
24
|
+
id: identifier,
|
|
25
|
+
role: identifier,
|
|
26
|
+
architecture: z.literal("amd64")
|
|
27
|
+
}).strict(),
|
|
28
|
+
runtime: z.object({ management: z.enum(["managed", "external"]) }).strict(),
|
|
29
|
+
updates: z.object({
|
|
30
|
+
defaultTrack: deploymentTrackSchema,
|
|
31
|
+
stable: z.object({
|
|
32
|
+
metadataPollSeconds: z.number().int().min(3600),
|
|
33
|
+
maintenanceWindow: z.object({
|
|
34
|
+
weekday: z.enum(["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]),
|
|
35
|
+
localTime: z.string().regex(/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/u),
|
|
36
|
+
jitterMinutes: z.number().int().min(0).max(30)
|
|
37
|
+
}).strict()
|
|
38
|
+
}).strict(),
|
|
39
|
+
development: z.object({ pollSeconds: z.literal(60) }).strict()
|
|
40
|
+
}).strict(),
|
|
41
|
+
components: z.record(identifier, hostComponentSchema),
|
|
42
|
+
network: z.object({
|
|
43
|
+
manager: z.object({ binding, aliases: z.array(localAlias).min(1), sans: z.array(z.string().min(1)), trustedLanCidrs: z.array(z.string().min(1)) }).strict()
|
|
44
|
+
}).strict(),
|
|
45
|
+
secrets: z.record(identifier, z.object({
|
|
46
|
+
provider: z.enum(["file", "systemd-credential", "vault", "aws-secrets-manager"]),
|
|
47
|
+
reference: z.string().min(1)
|
|
48
|
+
}).strict())
|
|
49
|
+
}).strict();
|
|
50
|
+
const packageEndpointSchema = z.object({
|
|
51
|
+
id: identifier,
|
|
52
|
+
protocol: z.enum(["http", "https", "tcp"]),
|
|
53
|
+
port: z.number().int().min(1).max(65535),
|
|
54
|
+
visibility: z.enum(["private", "host"]),
|
|
55
|
+
defaultAlias: localAlias.optional(),
|
|
56
|
+
aliasOverride: z.boolean().default(true),
|
|
57
|
+
tls: z.enum(["edge", "passthrough", "none"]),
|
|
58
|
+
authentication: z.enum(["none", "application", "mtls"]),
|
|
59
|
+
healthGate: z.object({ protocol: z.enum(["http", "https", "tcp"]), path: z.string().startsWith("/").optional(), timeoutSeconds: z.number().int().positive().max(600) }).strict().optional()
|
|
60
|
+
}).strict().superRefine((endpoint, context) => {
|
|
61
|
+
if (endpoint.visibility === "host" && !endpoint.defaultAlias) context.addIssue({ code: z.ZodIssueCode.custom, path: ["defaultAlias"], message: "Host-visible endpoints require a .localhost alias." });
|
|
62
|
+
if (endpoint.visibility === "host" && !endpoint.healthGate) context.addIssue({ code: z.ZodIssueCode.custom, path: ["healthGate"], message: "Host-visible endpoints require a health gate." });
|
|
63
|
+
if (endpoint.visibility === "private" && endpoint.defaultAlias) context.addIssue({ code: z.ZodIssueCode.custom, path: ["defaultAlias"], message: "Private endpoints cannot declare host aliases." });
|
|
64
|
+
});
|
|
65
|
+
const packageRuntimeSchema = z.object({
|
|
66
|
+
schemaVersion: z.literal("treeseed.package-runtime/v1"),
|
|
67
|
+
componentId: identifier,
|
|
68
|
+
version: packageVersion,
|
|
69
|
+
compose: z.object({ projectName: identifier, files: z.array(z.string().min(1)).min(1) }).strict(),
|
|
70
|
+
services: z.array(z.object({ id: identifier, composeService: identifier, endpoints: z.array(packageEndpointSchema) }).strict()).min(1),
|
|
71
|
+
stateVolumes: z.array(z.object({ id: identifier, volume: z.string().min(1), backup: z.enum(["required", "optional", "none"]) }).strict()),
|
|
72
|
+
migrations: z.array(z.object({ id: identifier, order: z.number().int().nonnegative(), backupRequired: z.boolean() }).strict()),
|
|
73
|
+
requiredCapabilities: z.array(identifier)
|
|
74
|
+
}).strict().superRefine((runtime, context) => {
|
|
75
|
+
const endpointIds = runtime.services.flatMap((service) => service.endpoints.map((endpoint) => `${service.id}.${endpoint.id}`));
|
|
76
|
+
if (new Set(endpointIds).size !== endpointIds.length) context.addIssue({ code: z.ZodIssueCode.custom, path: ["services"], message: "Endpoint identities must be unique within a component." });
|
|
77
|
+
});
|
|
78
|
+
const catalogPackageSchema = z.object({ name: z.string().regex(/^treeseed(?:-[a-z0-9-]+)?$/u), version: packageVersion, architecture: z.enum(["amd64", "all"]), origin: z.literal("TreeSeed Deployment"), order: z.number().int().nonnegative() }).strict();
|
|
79
|
+
const catalogImageSchema = z.object({ role: identifier, repository: z.string().regex(/^treeseed\/[a-z0-9-]+$/u), digest, platforms: z.array(z.enum(["linux/amd64", "linux/arm64"])).min(1), consumers: z.array(identifier).min(1) }).strict();
|
|
80
|
+
const componentReleaseSchema = z.object({
|
|
81
|
+
schemaVersion: z.literal("treeseed.component-release/v1"),
|
|
82
|
+
componentId: identifier,
|
|
83
|
+
release: packageVersion,
|
|
84
|
+
track: deploymentTrackSchema,
|
|
85
|
+
source: z.object({ repository: z.string().regex(/^treeseed-ai\/[a-z0-9-]+$/u), commit: gitCommit }).strict(),
|
|
86
|
+
stableBase: z.object({ releaseRange: z.string().min(1), compatibilityId: identifier, catalogDigest: digest }).strict().nullable(),
|
|
87
|
+
packages: z.array(catalogPackageSchema).min(1),
|
|
88
|
+
images: z.array(catalogImageSchema),
|
|
89
|
+
runtime: packageRuntimeSchema,
|
|
90
|
+
runtimeDigest: digest,
|
|
91
|
+
rollback: z.object({ compatible: z.boolean(), requiresBackup: z.boolean() }).strict(),
|
|
92
|
+
evidence: z.object({ provenance: z.array(z.string().url()), sboms: z.array(z.string().url()), vulnerabilities: z.array(z.string().url()) }).strict()
|
|
93
|
+
}).strict().superRefine((release, context) => {
|
|
94
|
+
if (release.runtime.componentId !== release.componentId || release.runtime.version !== release.release) context.addIssue({ code: z.ZodIssueCode.custom, path: ["runtime"], message: "Runtime identity must match its component release." });
|
|
95
|
+
if (release.track === "development" && !release.stableBase) context.addIssue({ code: z.ZodIssueCode.custom, path: ["stableBase"], message: "Development releases require an exact stable-base binding." });
|
|
96
|
+
if (release.track === "stable" && release.stableBase) context.addIssue({ code: z.ZodIssueCode.custom, path: ["stableBase"], message: "Stable releases cannot be overlays." });
|
|
97
|
+
});
|
|
98
|
+
const releaseCatalogSchema = z.object({
|
|
99
|
+
schemaVersion: z.literal("treeseed.release-catalog/v1"),
|
|
100
|
+
release: packageVersion,
|
|
101
|
+
generation: z.number().int().positive(),
|
|
102
|
+
track: deploymentTrackSchema,
|
|
103
|
+
compatibilityId: identifier,
|
|
104
|
+
catalogDigest: digest,
|
|
105
|
+
stableBase: z.object({ release: packageVersion, catalogDigest: digest }).strict().nullable(),
|
|
106
|
+
components: z.array(componentReleaseSchema).min(1),
|
|
107
|
+
createdAt: z.string().datetime()
|
|
108
|
+
}).strict();
|
|
109
|
+
const hostPlanSchema = z.object({ schemaVersion: z.literal("treeseed.host-plan/v1"), planId: identifier, configurationDigest: digest, catalogDigest: digest, changes: z.array(z.object({ componentId: identifier, action: z.enum(["install", "upgrade", "reconfigure", "remove", "noop"]), from: packageVersion.nullable(), to: packageVersion.nullable() }).strict()), blockers: z.array(z.object({ code: identifier, message: z.string().min(1) }).strict()) }).strict();
|
|
110
|
+
const hostBootstrapSchema = z.object({
|
|
111
|
+
schemaVersion: z.literal("treeseed.host-bootstrap/v1"),
|
|
112
|
+
bootstrapId: identifier,
|
|
113
|
+
configurationDigest: digest,
|
|
114
|
+
apt: z.object({ origin: z.literal("TreeSeed Deployment"), suite: deploymentTrackSchema, repository: z.string().url(), keyFingerprint: z.string().regex(/^[A-F0-9]{40}$/u) }).strict(),
|
|
115
|
+
packages: z.array(catalogPackageSchema).min(1),
|
|
116
|
+
credentialPolicy: z.object({ noStoreResponse: z.literal(true), redactedLogging: z.literal(true), ephemeralGeneration: z.literal(true), deleteAfterInstall: z.literal(true) }).strict(),
|
|
117
|
+
createdAt: z.string().datetime()
|
|
118
|
+
}).strict();
|
|
119
|
+
const hostUpdateSchema = z.object({
|
|
120
|
+
schemaVersion: z.literal("treeseed.host-update/v1"),
|
|
121
|
+
updateId: identifier,
|
|
122
|
+
track: deploymentTrackSchema,
|
|
123
|
+
fromCatalogDigest: digest,
|
|
124
|
+
toCatalogDigest: digest,
|
|
125
|
+
components: z.array(z.object({ componentId: identifier, from: packageVersion.nullable(), to: packageVersion, imageDigests: z.array(digest) }).strict()).min(1),
|
|
126
|
+
activation: z.object({ policy: z.enum(["maintenance-window", "continuous"]), eligibleAt: z.string().datetime(), jitterSeconds: z.number().int().nonnegative() }).strict(),
|
|
127
|
+
state: z.enum(["planned", "draining", "applying", "healthy", "failed", "rolled-back"])
|
|
128
|
+
}).strict();
|
|
129
|
+
const hostReceiptSchema = z.object({ schemaVersion: z.literal("treeseed.host-receipt/v1"), receiptId: identifier, planId: identifier, state: z.enum(["known-good", "degraded", "rolled-back"]), configurationDigest: digest, catalogDigest: digest, packages: z.array(catalogPackageSchema), images: z.array(catalogImageSchema), completedAt: z.string().datetime() }).strict();
|
|
130
|
+
const hostBackupSchema = z.object({
|
|
131
|
+
schemaVersion: z.literal("treeseed.host-backup/v1"),
|
|
132
|
+
backupId: identifier,
|
|
133
|
+
componentId: identifier,
|
|
134
|
+
generation: z.number().int().positive(),
|
|
135
|
+
state: z.enum(["pending", "complete", "failed", "verified"]),
|
|
136
|
+
artifacts: z.array(z.object({ volumeId: identifier, location: z.string().min(1), digest, encrypted: z.boolean() }).strict()),
|
|
137
|
+
createdAt: z.string().datetime(),
|
|
138
|
+
verifiedAt: z.string().datetime().nullable()
|
|
139
|
+
}).strict();
|
|
140
|
+
const hostMigrationSchema = z.object({
|
|
141
|
+
schemaVersion: z.literal("treeseed.host-migration/v1"),
|
|
142
|
+
migrationId: identifier,
|
|
143
|
+
componentId: identifier,
|
|
144
|
+
operation: identifier,
|
|
145
|
+
fromGeneration: z.number().int().nonnegative(),
|
|
146
|
+
toGeneration: z.number().int().positive(),
|
|
147
|
+
backupId: identifier.nullable(),
|
|
148
|
+
state: z.enum(["pending", "quiesced", "copied", "verified", "activated", "failed", "rolled-back"]),
|
|
149
|
+
sourceWritersStopped: z.boolean(),
|
|
150
|
+
completedAt: z.string().datetime().nullable()
|
|
151
|
+
}).strict();
|
|
152
|
+
const hostRecoverySchema = z.object({
|
|
153
|
+
schemaVersion: z.literal("treeseed.host-recovery/v1"),
|
|
154
|
+
recoveryId: identifier,
|
|
155
|
+
receiptId: identifier,
|
|
156
|
+
componentId: identifier.nullable(),
|
|
157
|
+
trigger: z.enum(["health-gate", "operator", "boot", "interrupted-update"]),
|
|
158
|
+
action: z.enum(["retry", "rollback", "restore"]),
|
|
159
|
+
targetGeneration: z.number().int().positive(),
|
|
160
|
+
state: z.enum(["pending", "running", "healthy", "failed"]),
|
|
161
|
+
backupId: identifier.nullable(),
|
|
162
|
+
completedAt: z.string().datetime().nullable()
|
|
163
|
+
}).strict();
|
|
164
|
+
export {
|
|
165
|
+
componentReleaseSchema,
|
|
166
|
+
deploymentTrackSchema,
|
|
167
|
+
hostBackupSchema,
|
|
168
|
+
hostBootstrapSchema,
|
|
169
|
+
hostComponentSchema,
|
|
170
|
+
hostConfigurationSchema,
|
|
171
|
+
hostMigrationSchema,
|
|
172
|
+
hostPlanSchema,
|
|
173
|
+
hostReceiptSchema,
|
|
174
|
+
hostRecoverySchema,
|
|
175
|
+
hostUpdateSchema,
|
|
176
|
+
packageEndpointSchema,
|
|
177
|
+
packageRuntimeSchema,
|
|
178
|
+
releaseCatalogSchema
|
|
179
|
+
};
|
|
@@ -18,6 +18,28 @@ const operationBindings = {
|
|
|
18
18
|
"secrets unlock": local("local.secrets.unlock"),
|
|
19
19
|
"secrets lock": local("local.secrets.lock"),
|
|
20
20
|
"secrets rotate": local("local.secrets.rotate"),
|
|
21
|
+
"host status": local("local.host.status"),
|
|
22
|
+
"host doctor": local("local.host.doctor"),
|
|
23
|
+
"host plan": local("local.host.plan"),
|
|
24
|
+
"host apply": local("local.host.apply"),
|
|
25
|
+
"host reconcile": local("local.host.reconcile"),
|
|
26
|
+
"host events": local("local.host.events"),
|
|
27
|
+
"host update status": local("local.host.update.status"),
|
|
28
|
+
"host update check": local("local.host.update.check"),
|
|
29
|
+
"host update apply": local("local.host.update.apply"),
|
|
30
|
+
"host update channel": local("local.host.update.channel"),
|
|
31
|
+
"host update pause": local("local.host.update.pause"),
|
|
32
|
+
"host update resume": local("local.host.update.resume"),
|
|
33
|
+
"host component list": local("local.host.component.list"),
|
|
34
|
+
"host component status": local("local.host.component.status"),
|
|
35
|
+
"host component enable": local("local.host.component.enable"),
|
|
36
|
+
"host component disable": local("local.host.component.disable"),
|
|
37
|
+
"host aliases list": local("local.host.aliases.list"),
|
|
38
|
+
"host recovery status": local("local.host.recovery.status"),
|
|
39
|
+
"host recovery retry": local("local.host.recovery.retry"),
|
|
40
|
+
"host recovery restore": local("local.host.recovery.restore"),
|
|
41
|
+
"host bootstrap status": local("local.host.bootstrap.status"),
|
|
42
|
+
"host bootstrap enroll": local("local.host.bootstrap.enroll"),
|
|
21
43
|
"agents list": operation("agents.list", [field("path", "projectId", "context", "project", true), ...page()]),
|
|
22
44
|
"agents show": operation("agents.show", [field("path", "projectId", "context", "project", true), field("path", "agentSlug", "argument", "agent", true)]),
|
|
23
45
|
"agents classes list": operation("agents.classes.list", [field("path", "projectId", "context", "project", true)]),
|
|
@@ -95,6 +117,19 @@ const commandTree = {
|
|
|
95
117
|
{ nodeType: "leaf", segment: "send", description: "Send a message to project agents through a team discussion channel.", kind: "mutation", arguments: [{ name: "channel", description: "Team discussion channel.", required: true }, { name: "message", description: "Markdown message to send.", required: true }], options: [planOption, { name: "--team", description: "Team identity or slug.", type: "string" }, { name: "--project", description: "Default project for unqualified agent names.", type: "string" }, { name: "--to", description: "Agent target; use project/agent when names may be ambiguous.", type: "string[]" }, { name: "--topic", description: "Optional discussion topic.", type: "string" }, { name: "--wait", description: "Seconds to wait for durable responses.", type: "number", defaultValue: 0 }], authorization: { capability: "agents.execute", confirmation: "never" }, resultSchemaId: "treeseed.communication-send-receipt/v1", execution: unavailable() },
|
|
96
118
|
branch("auth", [leaf("login", "mutation", void 0, "credential"), leaf("logout", "mutation"), leaf("status")]),
|
|
97
119
|
branch("secrets", [leaf("list"), leaf("status"), leaf("unlock", "mutation", void 0, "credential"), leaf("lock", "mutation"), leaf("rotate", "mutation", void 0, "credential")]),
|
|
120
|
+
branch("host", [
|
|
121
|
+
leaf("status"),
|
|
122
|
+
leaf("doctor"),
|
|
123
|
+
leaf("plan"),
|
|
124
|
+
leaf("apply", "mutation", void 0, "authority"),
|
|
125
|
+
leaf("reconcile", "mutation", void 0, "authority"),
|
|
126
|
+
leaf("events"),
|
|
127
|
+
branch("update", [leaf("status"), leaf("check", "mutation"), leaf("apply", "mutation", void 0, "authority"), leaf("channel", "mutation", "track", "authority"), leaf("pause", "mutation", void 0, "authority"), leaf("resume", "mutation", void 0, "authority")]),
|
|
128
|
+
branch("component", [leaf("list"), leaf("status", "read", "component"), leaf("enable", "mutation", "component", "authority"), leaf("disable", "mutation", "component", "destructive")]),
|
|
129
|
+
branch("aliases", [leaf("list")]),
|
|
130
|
+
branch("recovery", [leaf("status"), leaf("retry", "mutation", void 0, "authority"), leaf("restore", "mutation", "generation", "destructive")]),
|
|
131
|
+
branch("bootstrap", [leaf("status"), leaf("enroll", "mutation", void 0, "credential")])
|
|
132
|
+
]),
|
|
98
133
|
branch("agents", [
|
|
99
134
|
leaf("list"),
|
|
100
135
|
leaf("show", "read", "agent"),
|
|
@@ -9,27 +9,27 @@ export declare function communicationOperations(): {
|
|
|
9
9
|
topic?: string | undefined;
|
|
10
10
|
waitSeconds?: number | undefined;
|
|
11
11
|
}, {
|
|
12
|
+
status: "partial" | "failed" | "complete" | "running" | "queued";
|
|
12
13
|
schemaVersion: "treeseed.communication-send-receipt/v1";
|
|
14
|
+
createdAt: string;
|
|
13
15
|
responses: {
|
|
14
|
-
status: "
|
|
16
|
+
status: "failed" | "cancelled" | "responded";
|
|
17
|
+
createdAt: string;
|
|
15
18
|
projectId: string;
|
|
16
19
|
agentSlug: string;
|
|
17
20
|
assignmentId: string | null;
|
|
18
21
|
invocationId: string;
|
|
19
22
|
messageRef: string;
|
|
20
23
|
markdown: string;
|
|
21
|
-
createdAt: string;
|
|
22
24
|
}[];
|
|
23
|
-
status: "failed" | "queued" | "running" | "complete" | "partial";
|
|
24
25
|
teamId: string;
|
|
25
26
|
channel: string;
|
|
26
27
|
topic: string | null;
|
|
27
28
|
messageRef: string;
|
|
28
|
-
createdAt: string;
|
|
29
29
|
sendId: string;
|
|
30
30
|
discussionId: string;
|
|
31
31
|
targets: {
|
|
32
|
-
status: "
|
|
32
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
33
33
|
projectId: string;
|
|
34
34
|
agentSlug: string;
|
|
35
35
|
projectSlug: string;
|
|
@@ -42,27 +42,27 @@ export declare function communicationOperations(): {
|
|
|
42
42
|
teamId: string;
|
|
43
43
|
sendId: string;
|
|
44
44
|
}, {}, undefined, {
|
|
45
|
+
status: "partial" | "failed" | "complete" | "running" | "queued";
|
|
45
46
|
schemaVersion: "treeseed.communication-send-receipt/v1";
|
|
47
|
+
createdAt: string;
|
|
46
48
|
responses: {
|
|
47
|
-
status: "
|
|
49
|
+
status: "failed" | "cancelled" | "responded";
|
|
50
|
+
createdAt: string;
|
|
48
51
|
projectId: string;
|
|
49
52
|
agentSlug: string;
|
|
50
53
|
assignmentId: string | null;
|
|
51
54
|
invocationId: string;
|
|
52
55
|
messageRef: string;
|
|
53
56
|
markdown: string;
|
|
54
|
-
createdAt: string;
|
|
55
57
|
}[];
|
|
56
|
-
status: "failed" | "queued" | "running" | "complete" | "partial";
|
|
57
58
|
teamId: string;
|
|
58
59
|
channel: string;
|
|
59
60
|
topic: string | null;
|
|
60
61
|
messageRef: string;
|
|
61
|
-
createdAt: string;
|
|
62
62
|
sendId: string;
|
|
63
63
|
discussionId: string;
|
|
64
64
|
targets: {
|
|
65
|
-
status: "
|
|
65
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
66
66
|
projectId: string;
|
|
67
67
|
agentSlug: string;
|
|
68
68
|
projectSlug: string;
|
|
@@ -81,8 +81,8 @@ export declare function providerDiscussionResponseOperation(): import("../contro
|
|
|
81
81
|
summary?: string | undefined;
|
|
82
82
|
usage?: Record<string, unknown> | undefined;
|
|
83
83
|
}, {
|
|
84
|
-
schemaVersion: "treeseed.provider-discussion-response-receipt/v1";
|
|
85
84
|
status: "responded";
|
|
85
|
+
schemaVersion: "treeseed.provider-discussion-response-receipt/v1";
|
|
86
86
|
assignmentId: string;
|
|
87
87
|
invocationId: string;
|
|
88
88
|
messageRef: string;
|
|
@@ -37,14 +37,14 @@ export declare const communicationTargetSchema: z.ZodObject<{
|
|
|
37
37
|
invocationId: z.ZodNullable<z.ZodString>;
|
|
38
38
|
status: z.ZodEnum<["queued", "running", "responded", "failed", "cancelled"]>;
|
|
39
39
|
}, "strict", z.ZodTypeAny, {
|
|
40
|
-
status: "
|
|
40
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
41
41
|
projectId: string;
|
|
42
42
|
agentSlug: string;
|
|
43
43
|
projectSlug: string;
|
|
44
44
|
definitionRevision: string;
|
|
45
45
|
invocationId: string | null;
|
|
46
46
|
}, {
|
|
47
|
-
status: "
|
|
47
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
48
48
|
projectId: string;
|
|
49
49
|
agentSlug: string;
|
|
50
50
|
projectSlug: string;
|
|
@@ -62,23 +62,23 @@ export declare const communicationResponseSchema: z.ZodObject<{
|
|
|
62
62
|
status: z.ZodEnum<["responded", "failed", "cancelled"]>;
|
|
63
63
|
createdAt: z.ZodString;
|
|
64
64
|
}, "strict", z.ZodTypeAny, {
|
|
65
|
-
status: "
|
|
65
|
+
status: "failed" | "cancelled" | "responded";
|
|
66
|
+
createdAt: string;
|
|
66
67
|
projectId: string;
|
|
67
68
|
agentSlug: string;
|
|
68
69
|
assignmentId: string | null;
|
|
69
70
|
invocationId: string;
|
|
70
71
|
messageRef: string;
|
|
71
72
|
markdown: string;
|
|
72
|
-
createdAt: string;
|
|
73
73
|
}, {
|
|
74
|
-
status: "
|
|
74
|
+
status: "failed" | "cancelled" | "responded";
|
|
75
|
+
createdAt: string;
|
|
75
76
|
projectId: string;
|
|
76
77
|
agentSlug: string;
|
|
77
78
|
assignmentId: string | null;
|
|
78
79
|
invocationId: string;
|
|
79
80
|
messageRef: string;
|
|
80
81
|
markdown: string;
|
|
81
|
-
createdAt: string;
|
|
82
82
|
}>;
|
|
83
83
|
export declare const communicationSendReceiptSchema: z.ZodObject<{
|
|
84
84
|
schemaVersion: z.ZodLiteral<"treeseed.communication-send-receipt/v1">;
|
|
@@ -98,14 +98,14 @@ export declare const communicationSendReceiptSchema: z.ZodObject<{
|
|
|
98
98
|
invocationId: z.ZodNullable<z.ZodString>;
|
|
99
99
|
status: z.ZodEnum<["queued", "running", "responded", "failed", "cancelled"]>;
|
|
100
100
|
}, "strict", z.ZodTypeAny, {
|
|
101
|
-
status: "
|
|
101
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
102
102
|
projectId: string;
|
|
103
103
|
agentSlug: string;
|
|
104
104
|
projectSlug: string;
|
|
105
105
|
definitionRevision: string;
|
|
106
106
|
invocationId: string | null;
|
|
107
107
|
}, {
|
|
108
|
-
status: "
|
|
108
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
109
109
|
projectId: string;
|
|
110
110
|
agentSlug: string;
|
|
111
111
|
projectSlug: string;
|
|
@@ -123,48 +123,48 @@ export declare const communicationSendReceiptSchema: z.ZodObject<{
|
|
|
123
123
|
status: z.ZodEnum<["responded", "failed", "cancelled"]>;
|
|
124
124
|
createdAt: z.ZodString;
|
|
125
125
|
}, "strict", z.ZodTypeAny, {
|
|
126
|
-
status: "
|
|
126
|
+
status: "failed" | "cancelled" | "responded";
|
|
127
|
+
createdAt: string;
|
|
127
128
|
projectId: string;
|
|
128
129
|
agentSlug: string;
|
|
129
130
|
assignmentId: string | null;
|
|
130
131
|
invocationId: string;
|
|
131
132
|
messageRef: string;
|
|
132
133
|
markdown: string;
|
|
133
|
-
createdAt: string;
|
|
134
134
|
}, {
|
|
135
|
-
status: "
|
|
135
|
+
status: "failed" | "cancelled" | "responded";
|
|
136
|
+
createdAt: string;
|
|
136
137
|
projectId: string;
|
|
137
138
|
agentSlug: string;
|
|
138
139
|
assignmentId: string | null;
|
|
139
140
|
invocationId: string;
|
|
140
141
|
messageRef: string;
|
|
141
142
|
markdown: string;
|
|
142
|
-
createdAt: string;
|
|
143
143
|
}>, "many">;
|
|
144
144
|
createdAt: z.ZodString;
|
|
145
145
|
updatedAt: z.ZodString;
|
|
146
146
|
}, "strict", z.ZodTypeAny, {
|
|
147
|
+
status: "partial" | "failed" | "complete" | "running" | "queued";
|
|
147
148
|
schemaVersion: "treeseed.communication-send-receipt/v1";
|
|
149
|
+
createdAt: string;
|
|
148
150
|
responses: {
|
|
149
|
-
status: "
|
|
151
|
+
status: "failed" | "cancelled" | "responded";
|
|
152
|
+
createdAt: string;
|
|
150
153
|
projectId: string;
|
|
151
154
|
agentSlug: string;
|
|
152
155
|
assignmentId: string | null;
|
|
153
156
|
invocationId: string;
|
|
154
157
|
messageRef: string;
|
|
155
158
|
markdown: string;
|
|
156
|
-
createdAt: string;
|
|
157
159
|
}[];
|
|
158
|
-
status: "failed" | "queued" | "running" | "complete" | "partial";
|
|
159
160
|
teamId: string;
|
|
160
161
|
channel: string;
|
|
161
162
|
topic: string | null;
|
|
162
163
|
messageRef: string;
|
|
163
|
-
createdAt: string;
|
|
164
164
|
sendId: string;
|
|
165
165
|
discussionId: string;
|
|
166
166
|
targets: {
|
|
167
|
-
status: "
|
|
167
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
168
168
|
projectId: string;
|
|
169
169
|
agentSlug: string;
|
|
170
170
|
projectSlug: string;
|
|
@@ -173,27 +173,27 @@ export declare const communicationSendReceiptSchema: z.ZodObject<{
|
|
|
173
173
|
}[];
|
|
174
174
|
updatedAt: string;
|
|
175
175
|
}, {
|
|
176
|
+
status: "partial" | "failed" | "complete" | "running" | "queued";
|
|
176
177
|
schemaVersion: "treeseed.communication-send-receipt/v1";
|
|
178
|
+
createdAt: string;
|
|
177
179
|
responses: {
|
|
178
|
-
status: "
|
|
180
|
+
status: "failed" | "cancelled" | "responded";
|
|
181
|
+
createdAt: string;
|
|
179
182
|
projectId: string;
|
|
180
183
|
agentSlug: string;
|
|
181
184
|
assignmentId: string | null;
|
|
182
185
|
invocationId: string;
|
|
183
186
|
messageRef: string;
|
|
184
187
|
markdown: string;
|
|
185
|
-
createdAt: string;
|
|
186
188
|
}[];
|
|
187
|
-
status: "failed" | "queued" | "running" | "complete" | "partial";
|
|
188
189
|
teamId: string;
|
|
189
190
|
channel: string;
|
|
190
191
|
topic: string | null;
|
|
191
192
|
messageRef: string;
|
|
192
|
-
createdAt: string;
|
|
193
193
|
sendId: string;
|
|
194
194
|
discussionId: string;
|
|
195
195
|
targets: {
|
|
196
|
-
status: "
|
|
196
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
197
197
|
projectId: string;
|
|
198
198
|
agentSlug: string;
|
|
199
199
|
projectSlug: string;
|
|
@@ -229,15 +229,15 @@ export declare const providerDiscussionResponseReceiptSchema: z.ZodObject<{
|
|
|
229
229
|
status: z.ZodLiteral<"responded">;
|
|
230
230
|
settledAt: z.ZodString;
|
|
231
231
|
}, "strict", z.ZodTypeAny, {
|
|
232
|
-
schemaVersion: "treeseed.provider-discussion-response-receipt/v1";
|
|
233
232
|
status: "responded";
|
|
233
|
+
schemaVersion: "treeseed.provider-discussion-response-receipt/v1";
|
|
234
234
|
assignmentId: string;
|
|
235
235
|
invocationId: string;
|
|
236
236
|
messageRef: string;
|
|
237
237
|
settledAt: string;
|
|
238
238
|
}, {
|
|
239
|
-
schemaVersion: "treeseed.provider-discussion-response-receipt/v1";
|
|
240
239
|
status: "responded";
|
|
240
|
+
schemaVersion: "treeseed.provider-discussion-response-receipt/v1";
|
|
241
241
|
assignmentId: string;
|
|
242
242
|
invocationId: string;
|
|
243
243
|
messageRef: string;
|
|
@@ -471,27 +471,27 @@ export declare const CONTROL_PLANE_OPERATIONS: {
|
|
|
471
471
|
topic?: string | undefined;
|
|
472
472
|
waitSeconds?: number | undefined;
|
|
473
473
|
}, {
|
|
474
|
+
status: "partial" | "failed" | "complete" | "running" | "queued";
|
|
474
475
|
schemaVersion: "treeseed.communication-send-receipt/v1";
|
|
476
|
+
createdAt: string;
|
|
475
477
|
responses: {
|
|
476
|
-
status: "
|
|
478
|
+
status: "failed" | "cancelled" | "responded";
|
|
479
|
+
createdAt: string;
|
|
477
480
|
projectId: string;
|
|
478
481
|
agentSlug: string;
|
|
479
482
|
assignmentId: string | null;
|
|
480
483
|
invocationId: string;
|
|
481
484
|
messageRef: string;
|
|
482
485
|
markdown: string;
|
|
483
|
-
createdAt: string;
|
|
484
486
|
}[];
|
|
485
|
-
status: "failed" | "queued" | "running" | "complete" | "partial";
|
|
486
487
|
teamId: string;
|
|
487
488
|
channel: string;
|
|
488
489
|
topic: string | null;
|
|
489
490
|
messageRef: string;
|
|
490
|
-
createdAt: string;
|
|
491
491
|
sendId: string;
|
|
492
492
|
discussionId: string;
|
|
493
493
|
targets: {
|
|
494
|
-
status: "
|
|
494
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
495
495
|
projectId: string;
|
|
496
496
|
agentSlug: string;
|
|
497
497
|
projectSlug: string;
|
|
@@ -504,27 +504,27 @@ export declare const CONTROL_PLANE_OPERATIONS: {
|
|
|
504
504
|
teamId: string;
|
|
505
505
|
sendId: string;
|
|
506
506
|
}, {}, undefined, {
|
|
507
|
+
status: "partial" | "failed" | "complete" | "running" | "queued";
|
|
507
508
|
schemaVersion: "treeseed.communication-send-receipt/v1";
|
|
509
|
+
createdAt: string;
|
|
508
510
|
responses: {
|
|
509
|
-
status: "
|
|
511
|
+
status: "failed" | "cancelled" | "responded";
|
|
512
|
+
createdAt: string;
|
|
510
513
|
projectId: string;
|
|
511
514
|
agentSlug: string;
|
|
512
515
|
assignmentId: string | null;
|
|
513
516
|
invocationId: string;
|
|
514
517
|
messageRef: string;
|
|
515
518
|
markdown: string;
|
|
516
|
-
createdAt: string;
|
|
517
519
|
}[];
|
|
518
|
-
status: "failed" | "queued" | "running" | "complete" | "partial";
|
|
519
520
|
teamId: string;
|
|
520
521
|
channel: string;
|
|
521
522
|
topic: string | null;
|
|
522
523
|
messageRef: string;
|
|
523
|
-
createdAt: string;
|
|
524
524
|
sendId: string;
|
|
525
525
|
discussionId: string;
|
|
526
526
|
targets: {
|
|
527
|
-
status: "
|
|
527
|
+
status: "failed" | "running" | "cancelled" | "queued" | "responded";
|
|
528
528
|
projectId: string;
|
|
529
529
|
agentSlug: string;
|
|
530
530
|
projectSlug: string;
|
|
@@ -1074,8 +1074,8 @@ export declare const CONTROL_PLANE_OPERATIONS: {
|
|
|
1074
1074
|
summary?: string | undefined;
|
|
1075
1075
|
usage?: Record<string, unknown> | undefined;
|
|
1076
1076
|
}, {
|
|
1077
|
-
schemaVersion: "treeseed.provider-discussion-response-receipt/v1";
|
|
1078
1077
|
status: "responded";
|
|
1078
|
+
schemaVersion: "treeseed.provider-discussion-response-receipt/v1";
|
|
1079
1079
|
assignmentId: string;
|
|
1080
1080
|
invocationId: string;
|
|
1081
1081
|
messageRef: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@treeseed/sdk",
|
|
3
|
-
"version": "0.13.0-rc.
|
|
3
|
+
"version": "0.13.0-rc.26",
|
|
4
4
|
"description": "Portable TreeSeed contracts, standards, and typed remote control-plane clients.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -61,6 +61,10 @@
|
|
|
61
61
|
"vitest": "^4.1.2"
|
|
62
62
|
},
|
|
63
63
|
"exports": {
|
|
64
|
+
"./deployment": {
|
|
65
|
+
"types": "./dist/deployment/index.d.ts",
|
|
66
|
+
"default": "./dist/deployment/index.js"
|
|
67
|
+
},
|
|
64
68
|
"./standards": {
|
|
65
69
|
"types": "./dist/standards/index.d.ts",
|
|
66
70
|
"default": "./dist/standards/index.js"
|