@treeseed/sdk 0.13.0-rc.56 → 0.13.0-rc.57

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.
@@ -845,12 +845,12 @@ export declare function validatePortableContentData(model: string, value: unknow
845
845
  messageTypes: string[];
846
846
  modelMutations: string[];
847
847
  };
848
- enabled: boolean;
849
848
  prompt: {
850
849
  system: string;
851
850
  templates?: Record<string, string> | undefined;
852
851
  task?: string | undefined;
853
852
  };
853
+ enabled: boolean;
854
854
  branchPolicy: {
855
855
  kind: "read-only" | "main-planning-content" | "staging-content" | "assignment-feature" | "staging-release";
856
856
  base: "staging" | "main";
@@ -1017,12 +1017,12 @@ export declare function validatePortableContentData(model: string, value: unknow
1017
1017
  messageTypes: string[];
1018
1018
  modelMutations: string[];
1019
1019
  };
1020
- enabled: boolean;
1021
1020
  prompt: {
1022
1021
  system: string;
1023
1022
  templates?: Record<string, string> | undefined;
1024
1023
  task?: string | undefined;
1025
1024
  };
1025
+ enabled: boolean;
1026
1026
  branchPolicy: {
1027
1027
  kind: "read-only" | "main-planning-content" | "staging-content" | "assignment-feature" | "staging-release";
1028
1028
  base: "staging" | "main";
@@ -1189,12 +1189,12 @@ export declare function validatePortableContentData(model: string, value: unknow
1189
1189
  messageTypes: string[];
1190
1190
  modelMutations: string[];
1191
1191
  };
1192
- enabled: boolean;
1193
1192
  prompt: {
1194
1193
  system: string;
1195
1194
  templates?: Record<string, string> | undefined;
1196
1195
  task?: string | undefined;
1197
1196
  };
1197
+ enabled: boolean;
1198
1198
  branchPolicy: {
1199
1199
  kind: "read-only" | "main-planning-content" | "staging-content" | "assignment-feature" | "staging-release";
1200
1200
  base: "staging" | "main";
@@ -1361,12 +1361,12 @@ export declare function validatePortableContentData(model: string, value: unknow
1361
1361
  messageTypes: string[];
1362
1362
  modelMutations: string[];
1363
1363
  };
1364
- enabled: boolean;
1365
1364
  prompt: {
1366
1365
  system: string;
1367
1366
  templates?: Record<string, string> | undefined;
1368
1367
  task?: string | undefined;
1369
1368
  };
1369
+ enabled: boolean;
1370
1370
  branchPolicy: {
1371
1371
  kind: "read-only" | "main-planning-content" | "staging-content" | "assignment-feature" | "staging-release";
1372
1372
  base: "staging" | "main";
@@ -1600,8 +1600,8 @@ export declare function validatePortableContentData(model: string, value: unknow
1600
1600
  prioritySnapshotId?: string | null | undefined;
1601
1601
  } | {
1602
1602
  status: "live" | "archived" | "draft";
1603
- audience: string[];
1604
1603
  description: string;
1604
+ audience: string[];
1605
1605
  summary: string;
1606
1606
  slug: string;
1607
1607
  title: string;
@@ -1700,10 +1700,10 @@ export declare function validatePortableContentData(model: string, value: unknow
1700
1700
  paths?: string[] | undefined;
1701
1701
  models?: string[] | undefined;
1702
1702
  };
1703
+ description: string;
1703
1704
  required: boolean;
1704
1705
  revision: number;
1705
- format: "map" | "summary" | "list" | "full" | "brief" | "sources";
1706
- description: string;
1706
+ format: "map" | "sources" | "summary" | "list" | "full" | "brief";
1707
1707
  query: string;
1708
1708
  depth: number;
1709
1709
  title: string;
@@ -1720,8 +1720,8 @@ export declare function validatePortableContentData(model: string, value: unknow
1720
1720
  codeScopes?: string[] | undefined;
1721
1721
  } | {
1722
1722
  id: string;
1723
- revision: number;
1724
1723
  description: string;
1724
+ revision: number;
1725
1725
  title: string;
1726
1726
  queryRefs: {
1727
1727
  id: string;
@@ -1731,8 +1731,8 @@ export declare function validatePortableContentData(model: string, value: unknow
1731
1731
  } | {
1732
1732
  kind: "message" | "status" | "summary" | "plan";
1733
1733
  id: string;
1734
- revision: number;
1735
1734
  description: string;
1735
+ revision: number;
1736
1736
  title: string;
1737
1737
  instructions: string;
1738
1738
  variables: string[];
@@ -1866,8 +1866,8 @@ export declare function validatePortableContentData(model: string, value: unknow
1866
1866
  } | {
1867
1867
  title: string;
1868
1868
  status?: "live" | "planned" | "in progress" | "exploratory" | "speculative" | undefined;
1869
- audience?: string[] | undefined;
1870
1869
  description?: string | undefined;
1870
+ audience?: string[] | undefined;
1871
1871
  summary?: string | undefined;
1872
1872
  stage?: string | undefined;
1873
1873
  slug?: string | undefined;
@@ -1995,8 +1995,8 @@ export declare function validatePortableContentData(model: string, value: unknow
1995
1995
  summary: string;
1996
1996
  slug: string;
1997
1997
  title: string;
1998
- audience?: string[] | undefined;
1999
1998
  description?: string | undefined;
1999
+ audience?: string[] | undefined;
2000
2000
  groupIds?: string[] | undefined;
2001
2001
  relatedBookIds?: string[] | undefined;
2002
2002
  } | {
@@ -2008,14 +2008,14 @@ export declare function validatePortableContentData(model: string, value: unknow
2008
2008
  slug: string;
2009
2009
  title: string;
2010
2010
  bookId: string;
2011
- order?: number | undefined;
2012
2011
  description?: string | undefined;
2012
+ order?: number | undefined;
2013
2013
  groupIds?: string[] | undefined;
2014
2014
  } | {
2015
2015
  name: string;
2016
2016
  status?: "live" | "planned" | "in progress" | "exploratory" | "speculative" | undefined;
2017
- role?: string | undefined;
2018
2017
  description?: string | undefined;
2018
+ role?: string | undefined;
2019
2019
  summary?: string | undefined;
2020
2020
  group_ids?: string[] | undefined;
2021
2021
  related_objectives?: string[] | undefined;
@@ -2061,8 +2061,8 @@ export declare function validatePortableContentData(model: string, value: unknow
2061
2061
  } | {
2062
2062
  id: string;
2063
2063
  name: string;
2064
- classification: string;
2065
2064
  description: string;
2065
+ classification: string;
2066
2066
  slug: string;
2067
2067
  contract: "treeseed.group/v1";
2068
2068
  status?: "active" | "archived" | undefined;
@@ -1,5 +1,149 @@
1
1
  import { z } from 'zod';
2
2
  export declare const deploymentTrackSchema: z.ZodEnum<["stable", "development"]>;
3
+ export declare const hostCredentialInitializerSchema: z.ZodEffects<z.ZodObject<{
4
+ schemaVersion: z.ZodLiteral<"treeseed.host-credential-initializer/v1">;
5
+ id: z.ZodString;
6
+ displayName: z.ZodString;
7
+ description: z.ZodString;
8
+ credentialId: z.ZodString;
9
+ sources: z.ZodArray<z.ZodEffects<z.ZodObject<{
10
+ id: z.ZodString;
11
+ label: z.ZodString;
12
+ kind: z.ZodEnum<["file", "secret"]>;
13
+ prompt: z.ZodString;
14
+ suggestedPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
15
+ contentType: z.ZodEnum<["application/json", "text/plain"]>;
16
+ minimumBytes: z.ZodNumber;
17
+ maximumBytes: z.ZodNumber;
18
+ }, "strict", z.ZodTypeAny, {
19
+ kind: "secret" | "file";
20
+ id: string;
21
+ label: string;
22
+ prompt: string;
23
+ suggestedPaths: string[];
24
+ contentType: "application/json" | "text/plain";
25
+ minimumBytes: number;
26
+ maximumBytes: number;
27
+ }, {
28
+ kind: "secret" | "file";
29
+ id: string;
30
+ label: string;
31
+ prompt: string;
32
+ contentType: "application/json" | "text/plain";
33
+ minimumBytes: number;
34
+ maximumBytes: number;
35
+ suggestedPaths?: string[] | undefined;
36
+ }>, {
37
+ kind: "secret" | "file";
38
+ id: string;
39
+ label: string;
40
+ prompt: string;
41
+ suggestedPaths: string[];
42
+ contentType: "application/json" | "text/plain";
43
+ minimumBytes: number;
44
+ maximumBytes: number;
45
+ }, {
46
+ kind: "secret" | "file";
47
+ id: string;
48
+ label: string;
49
+ prompt: string;
50
+ contentType: "application/json" | "text/plain";
51
+ minimumBytes: number;
52
+ maximumBytes: number;
53
+ suggestedPaths?: string[] | undefined;
54
+ }>, "many">;
55
+ activation: z.ZodObject<{
56
+ kind: z.ZodLiteral<"sandbox-model-gateway">;
57
+ authenticationModes: z.ZodRecord<z.ZodString, z.ZodEnum<["api-key", "subscription-file"]>>;
58
+ }, "strict", z.ZodTypeAny, {
59
+ kind: "sandbox-model-gateway";
60
+ authenticationModes: Record<string, "api-key" | "subscription-file">;
61
+ }, {
62
+ kind: "sandbox-model-gateway";
63
+ authenticationModes: Record<string, "api-key" | "subscription-file">;
64
+ }>;
65
+ }, "strict", z.ZodTypeAny, {
66
+ schemaVersion: "treeseed.host-credential-initializer/v1";
67
+ id: string;
68
+ displayName: string;
69
+ description: string;
70
+ credentialId: string;
71
+ sources: {
72
+ kind: "secret" | "file";
73
+ id: string;
74
+ label: string;
75
+ prompt: string;
76
+ suggestedPaths: string[];
77
+ contentType: "application/json" | "text/plain";
78
+ minimumBytes: number;
79
+ maximumBytes: number;
80
+ }[];
81
+ activation: {
82
+ kind: "sandbox-model-gateway";
83
+ authenticationModes: Record<string, "api-key" | "subscription-file">;
84
+ };
85
+ }, {
86
+ schemaVersion: "treeseed.host-credential-initializer/v1";
87
+ id: string;
88
+ displayName: string;
89
+ description: string;
90
+ credentialId: string;
91
+ sources: {
92
+ kind: "secret" | "file";
93
+ id: string;
94
+ label: string;
95
+ prompt: string;
96
+ contentType: "application/json" | "text/plain";
97
+ minimumBytes: number;
98
+ maximumBytes: number;
99
+ suggestedPaths?: string[] | undefined;
100
+ }[];
101
+ activation: {
102
+ kind: "sandbox-model-gateway";
103
+ authenticationModes: Record<string, "api-key" | "subscription-file">;
104
+ };
105
+ }>, {
106
+ schemaVersion: "treeseed.host-credential-initializer/v1";
107
+ id: string;
108
+ displayName: string;
109
+ description: string;
110
+ credentialId: string;
111
+ sources: {
112
+ kind: "secret" | "file";
113
+ id: string;
114
+ label: string;
115
+ prompt: string;
116
+ suggestedPaths: string[];
117
+ contentType: "application/json" | "text/plain";
118
+ minimumBytes: number;
119
+ maximumBytes: number;
120
+ }[];
121
+ activation: {
122
+ kind: "sandbox-model-gateway";
123
+ authenticationModes: Record<string, "api-key" | "subscription-file">;
124
+ };
125
+ }, {
126
+ schemaVersion: "treeseed.host-credential-initializer/v1";
127
+ id: string;
128
+ displayName: string;
129
+ description: string;
130
+ credentialId: string;
131
+ sources: {
132
+ kind: "secret" | "file";
133
+ id: string;
134
+ label: string;
135
+ prompt: string;
136
+ contentType: "application/json" | "text/plain";
137
+ minimumBytes: number;
138
+ maximumBytes: number;
139
+ suggestedPaths?: string[] | undefined;
140
+ }[];
141
+ activation: {
142
+ kind: "sandbox-model-gateway";
143
+ authenticationModes: Record<string, "api-key" | "subscription-file">;
144
+ };
145
+ }>;
146
+ export type HostCredentialInitializer = z.infer<typeof hostCredentialInitializerSchema>;
3
147
  export declare const hostRoleSchema: z.ZodUnion<[z.ZodEnum<["integrated", "capacity-provider", "control-plane", "knowledge", "ai-gpu", "edge"]>, z.ZodString]>;
4
148
  export declare const hostConnectionBindingSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
5
149
  kind: z.ZodLiteral<"local">;
@@ -6281,6 +6425,11 @@ export declare const hostUpdateSchema: z.ZodObject<{
6281
6425
  }, "strict", z.ZodTypeAny, {
6282
6426
  schemaVersion: "treeseed.host-update/v1";
6283
6427
  state: "failed" | "planned" | "rolled-back" | "draining" | "applying" | "healthy";
6428
+ activation: {
6429
+ policy: "maintenance-window" | "continuous";
6430
+ eligibleAt: string;
6431
+ jitterSeconds: number;
6432
+ };
6284
6433
  track: "stable" | "development";
6285
6434
  components: {
6286
6435
  from: string | null;
@@ -6291,14 +6440,14 @@ export declare const hostUpdateSchema: z.ZodObject<{
6291
6440
  updateId: string;
6292
6441
  fromCatalogDigest: string;
6293
6442
  toCatalogDigest: string;
6443
+ }, {
6444
+ schemaVersion: "treeseed.host-update/v1";
6445
+ state: "failed" | "planned" | "rolled-back" | "draining" | "applying" | "healthy";
6294
6446
  activation: {
6295
6447
  policy: "maintenance-window" | "continuous";
6296
6448
  eligibleAt: string;
6297
6449
  jitterSeconds: number;
6298
6450
  };
6299
- }, {
6300
- schemaVersion: "treeseed.host-update/v1";
6301
- state: "failed" | "planned" | "rolled-back" | "draining" | "applying" | "healthy";
6302
6451
  track: "stable" | "development";
6303
6452
  components: {
6304
6453
  from: string | null;
@@ -6309,11 +6458,6 @@ export declare const hostUpdateSchema: z.ZodObject<{
6309
6458
  updateId: string;
6310
6459
  fromCatalogDigest: string;
6311
6460
  toCatalogDigest: string;
6312
- activation: {
6313
- policy: "maintenance-window" | "continuous";
6314
- eligibleAt: string;
6315
- jitterSeconds: number;
6316
- };
6317
6461
  }>;
6318
6462
  export declare const hostReceiptSchema: z.ZodObject<{
6319
6463
  schemaVersion: z.ZodLiteral<"treeseed.host-receipt/v1">;
@@ -15,6 +15,31 @@ const localAlias = z.string().regex(
15
15
  const binding = z.string().regex(/^(?:\[[0-9a-f:]+\]|[^:]+):[1-9][0-9]{0,4}$/iu);
16
16
  const httpsUrl = z.string().url().refine((value) => new URL(value).protocol === "https:", "Remote TreeSeed connections require HTTPS.");
17
17
  const deploymentTrackSchema = z.enum(["stable", "development"]);
18
+ const hostCredentialInitializerSchema = z.object({
19
+ schemaVersion: z.literal("treeseed.host-credential-initializer/v1"),
20
+ id: identifier,
21
+ displayName: z.string().min(1).max(128),
22
+ description: z.string().min(1).max(1024),
23
+ credentialId: identifier,
24
+ sources: z.array(z.object({
25
+ id: identifier,
26
+ label: z.string().min(1).max(128),
27
+ kind: z.enum(["file", "secret"]),
28
+ prompt: z.string().min(1).max(256),
29
+ suggestedPaths: z.array(z.string().min(1).max(4096)).max(16).default([]),
30
+ contentType: z.enum(["application/json", "text/plain"]),
31
+ minimumBytes: z.number().int().positive().max(1048576),
32
+ maximumBytes: z.number().int().positive().max(1048576)
33
+ }).strict().refine((source) => source.maximumBytes >= source.minimumBytes, "Credential source maximum must be at least its minimum.")).min(1),
34
+ activation: z.object({
35
+ kind: z.literal("sandbox-model-gateway"),
36
+ authenticationModes: z.record(identifier, z.enum(["api-key", "subscription-file"]))
37
+ }).strict()
38
+ }).strict().superRefine((initializer, context) => {
39
+ for (const source of initializer.sources) if (!initializer.activation.authenticationModes[source.id]) {
40
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["activation", "authenticationModes", source.id], message: "Every credential source requires an activation mode." });
41
+ }
42
+ });
18
43
  const hostRoleSchema = z.union([
19
44
  z.enum(["integrated", "capacity-provider", "control-plane", "knowledge", "ai-gpu", "edge"]),
20
45
  identifier
@@ -342,6 +367,7 @@ export {
342
367
  hostComponentSchema,
343
368
  hostConfigurationSchema,
344
369
  hostConnectionBindingSchema,
370
+ hostCredentialInitializerSchema,
345
371
  hostMigrationSchema,
346
372
  hostPlanSchema,
347
373
  hostReceiptSchema,
@@ -53,6 +53,9 @@ const operationBindings = {
53
53
  "host topology": local("local.host.topology"),
54
54
  "host connections": local("local.host.connections"),
55
55
  "host provider status": local("local.host.provider.status"),
56
+ "host provider credentials list": local("local.host.provider.credentials.list"),
57
+ "host provider credentials status": local("local.host.provider.credentials.status"),
58
+ "host provider credentials initialize": local("local.host.provider.credentials.initialize"),
56
59
  "host storage status": local("local.host.storage.status"),
57
60
  "host storage connect": local("local.host.storage.connect"),
58
61
  "host storage reconcile": local("local.host.storage.reconcile"),
@@ -214,6 +217,13 @@ function hostSecurityRotate() {
214
217
  ];
215
218
  return value;
216
219
  }
220
+ function hostProviderCredentialInitialize() {
221
+ const value = leaf("initialize", "mutation", "initializer", "credential");
222
+ if (value.nodeType !== "leaf") throw new Error("Provider credential initialization must be a leaf command.");
223
+ value.description = "Initialize an execution-provider credential through its registered host initializer.";
224
+ value.options = [...value.options ?? [], { name: "--source", description: "Registered credential source to use instead of automatic selection.", type: "string" }];
225
+ return value;
226
+ }
217
227
  function hostRecoveryVerify() {
218
228
  return {
219
229
  nodeType: "leaf",
@@ -332,7 +342,7 @@ const commandTree = {
332
342
  branch("config", [leaf("show"), leaf("plan", "read", "file"), leaf("apply", "mutation", "file", "authority"), configurationAdopt()]),
333
343
  leaf("topology"),
334
344
  leaf("connections"),
335
- branch("provider", [leaf("status")]),
345
+ branch("provider", [leaf("status"), branch("credentials", [leaf("list"), leaf("status"), hostProviderCredentialInitialize()])]),
336
346
  branch("storage", [
337
347
  leaf("status"),
338
348
  addOptions(leaf("connect", "mutation", "backend", "credential"), [{ name: "--account-id", description: "Optional Cloudflare account ID when the bootstrap authority reaches multiple accounts.", type: "string" }]),
@@ -20,15 +20,15 @@ export declare function capabilityOntologyOperations(): {
20
20
  }[];
21
21
  digest: string;
22
22
  version: string;
23
+ description: string;
23
24
  configuration: {
24
25
  key: string;
25
- schema: Record<string, unknown>;
26
26
  description: string;
27
+ schema: Record<string, unknown>;
27
28
  requirementSupport: ("required" | "preferred")[];
28
29
  securityCritical?: boolean | undefined;
29
30
  }[];
30
31
  family: "research" | "coordination" | "data" | "engineering" | "publishing" | "external-work";
31
- description: string;
32
32
  title: string;
33
33
  features: string[];
34
34
  inputs: {
@@ -72,15 +72,15 @@ export declare function capabilityOntologyOperations(): {
72
72
  }[];
73
73
  digest: string;
74
74
  version: string;
75
+ description: string;
75
76
  configuration: {
76
77
  key: string;
77
- schema: Record<string, unknown>;
78
78
  description: string;
79
+ schema: Record<string, unknown>;
79
80
  requirementSupport: ("required" | "preferred")[];
80
81
  securityCritical?: boolean | undefined;
81
82
  }[];
82
83
  family: "research" | "coordination" | "data" | "engineering" | "publishing" | "external-work";
83
- description: string;
84
84
  title: string;
85
85
  features: string[];
86
86
  inputs: {
@@ -123,15 +123,15 @@ export declare function capabilityOntologyOperations(): {
123
123
  }[];
124
124
  digest: string;
125
125
  version: string;
126
+ description: string;
126
127
  configuration: {
127
128
  key: string;
128
- schema: Record<string, unknown>;
129
129
  description: string;
130
+ schema: Record<string, unknown>;
130
131
  requirementSupport: ("required" | "preferred")[];
131
132
  securityCritical?: boolean | undefined;
132
133
  }[];
133
134
  family: "research" | "coordination" | "data" | "engineering" | "publishing" | "external-work";
134
- description: string;
135
135
  title: string;
136
136
  features: string[];
137
137
  inputs: {
@@ -53,10 +53,10 @@ export declare function inboxOperations(): {
53
53
  title: string;
54
54
  availableActions: {
55
55
  reason: string | null;
56
+ label: string;
56
57
  enabled: boolean;
57
58
  action: "approve" | "reject" | "publish_revision" | "comment" | "answer" | "reply" | "reopen";
58
59
  confirmation: "never" | "input_required";
59
- label: string;
60
60
  requiresFeedback: boolean;
61
61
  }[];
62
62
  comments: {
@@ -131,10 +131,10 @@ export declare function inboxOperations(): {
131
131
  title: string;
132
132
  availableActions: {
133
133
  reason: string | null;
134
+ label: string;
134
135
  enabled: boolean;
135
136
  action: "approve" | "reject" | "publish_revision" | "comment" | "answer" | "reply" | "reopen";
136
137
  confirmation: "never" | "input_required";
137
- label: string;
138
138
  requiresFeedback: boolean;
139
139
  }[];
140
140
  comments: {
@@ -231,10 +231,10 @@ export declare function inboxOperations(): {
231
231
  title: string;
232
232
  availableActions: {
233
233
  reason: string | null;
234
+ label: string;
234
235
  enabled: boolean;
235
236
  action: "approve" | "reject" | "publish_revision" | "comment" | "answer" | "reply" | "reopen";
236
237
  confirmation: "never" | "input_required";
237
- label: string;
238
238
  requiresFeedback: boolean;
239
239
  }[];
240
240
  comments: {
@@ -22,15 +22,15 @@ export declare const CONTROL_PLANE_OPERATIONS: {
22
22
  }[];
23
23
  digest: string;
24
24
  version: string;
25
+ description: string;
25
26
  configuration: {
26
27
  key: string;
27
- schema: Record<string, unknown>;
28
28
  description: string;
29
+ schema: Record<string, unknown>;
29
30
  requirementSupport: ("required" | "preferred")[];
30
31
  securityCritical?: boolean | undefined;
31
32
  }[];
32
33
  family: "research" | "coordination" | "data" | "engineering" | "publishing" | "external-work";
33
- description: string;
34
34
  title: string;
35
35
  features: string[];
36
36
  inputs: {
@@ -74,15 +74,15 @@ export declare const CONTROL_PLANE_OPERATIONS: {
74
74
  }[];
75
75
  digest: string;
76
76
  version: string;
77
+ description: string;
77
78
  configuration: {
78
79
  key: string;
79
- schema: Record<string, unknown>;
80
80
  description: string;
81
+ schema: Record<string, unknown>;
81
82
  requirementSupport: ("required" | "preferred")[];
82
83
  securityCritical?: boolean | undefined;
83
84
  }[];
84
85
  family: "research" | "coordination" | "data" | "engineering" | "publishing" | "external-work";
85
- description: string;
86
86
  title: string;
87
87
  features: string[];
88
88
  inputs: {
@@ -125,15 +125,15 @@ export declare const CONTROL_PLANE_OPERATIONS: {
125
125
  }[];
126
126
  digest: string;
127
127
  version: string;
128
+ description: string;
128
129
  configuration: {
129
130
  key: string;
130
- schema: Record<string, unknown>;
131
131
  description: string;
132
+ schema: Record<string, unknown>;
132
133
  requirementSupport: ("required" | "preferred")[];
133
134
  securityCritical?: boolean | undefined;
134
135
  }[];
135
136
  family: "research" | "coordination" | "data" | "engineering" | "publishing" | "external-work";
136
- description: string;
137
137
  title: string;
138
138
  features: string[];
139
139
  inputs: {
@@ -219,10 +219,10 @@ export declare const CONTROL_PLANE_OPERATIONS: {
219
219
  title: string;
220
220
  availableActions: {
221
221
  reason: string | null;
222
+ label: string;
222
223
  enabled: boolean;
223
224
  action: "approve" | "reject" | "publish_revision" | "comment" | "answer" | "reply" | "reopen";
224
225
  confirmation: "never" | "input_required";
225
- label: string;
226
226
  requiresFeedback: boolean;
227
227
  }[];
228
228
  comments: {
@@ -297,10 +297,10 @@ export declare const CONTROL_PLANE_OPERATIONS: {
297
297
  title: string;
298
298
  availableActions: {
299
299
  reason: string | null;
300
+ label: string;
300
301
  enabled: boolean;
301
302
  action: "approve" | "reject" | "publish_revision" | "comment" | "answer" | "reply" | "reopen";
302
303
  confirmation: "never" | "input_required";
303
- label: string;
304
304
  requiresFeedback: boolean;
305
305
  }[];
306
306
  comments: {
@@ -397,10 +397,10 @@ export declare const CONTROL_PLANE_OPERATIONS: {
397
397
  title: string;
398
398
  availableActions: {
399
399
  reason: string | null;
400
+ label: string;
400
401
  enabled: boolean;
401
402
  action: "approve" | "reject" | "publish_revision" | "comment" | "answer" | "reply" | "reopen";
402
403
  confirmation: "never" | "input_required";
403
- label: string;
404
404
  requiresFeedback: boolean;
405
405
  }[];
406
406
  comments: {