@rosthq/cli 0.7.76 → 0.7.78
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/index.js
CHANGED
|
@@ -38310,6 +38310,30 @@ var CATALOG_ENTRIES = [
|
|
|
38310
38310
|
// (script_run_secret_grants) gates availability on top of this — no grant, no call.
|
|
38311
38311
|
default_access_policy: "always_ask"
|
|
38312
38312
|
},
|
|
38313
|
+
{
|
|
38314
|
+
// DER-1739: the first named consumers of the generalized secret broker. They ride
|
|
38315
|
+
// the same server-side egress core as `secret.broker` — no credential ever enters
|
|
38316
|
+
// agent context; a `baserow` secret grant (secret_grant.grant) pins the host/token.
|
|
38317
|
+
id: "baserow.read",
|
|
38318
|
+
title: "Read Baserow rows (brokered)",
|
|
38319
|
+
provider: "baserow",
|
|
38320
|
+
description: "Call this to read rows from an approved Baserow table \u2014 list a table's rows or fetch one row by id. You supply only the table id, an optional row id, and optional query filters (page, size, search, filter/order params) \u2014 never a credential. A server-side broker injects the tenant's Baserow token, calls only the allowlisted host, and returns a size-capped, secret-scrubbed result. Read-only.",
|
|
38321
|
+
default_scope_tier: "read",
|
|
38322
|
+
scope_tiers: ["read"],
|
|
38323
|
+
// Resolved via a vault-ref `baserow` secret grant, injected server-side.
|
|
38324
|
+
credential_required: true,
|
|
38325
|
+
default_access_policy: "always_allow"
|
|
38326
|
+
},
|
|
38327
|
+
{
|
|
38328
|
+
id: "baserow.write",
|
|
38329
|
+
title: "Write Baserow row (brokered)",
|
|
38330
|
+
provider: "baserow",
|
|
38331
|
+
description: "Call this to request creating or updating a row in an approved Baserow table. You supply the table id, the field values, and \u2014 to UPDATE \u2014 the row id (omit it to CREATE). You never supply a credential. Every write is HELD for human approval before it is sent; on approval the broker injects the tenant's Baserow token server-side and audits the call. It never writes autonomously.",
|
|
38332
|
+
default_scope_tier: "write_with_approval",
|
|
38333
|
+
scope_tiers: ["write_with_approval"],
|
|
38334
|
+
credential_required: true,
|
|
38335
|
+
default_access_policy: "always_ask"
|
|
38336
|
+
},
|
|
38313
38337
|
{
|
|
38314
38338
|
id: "ap.invoices.read",
|
|
38315
38339
|
title: "Read AP invoices",
|
|
@@ -38668,7 +38692,7 @@ function providerRequirementFor(entry) {
|
|
|
38668
38692
|
if (!entry.credential_required) {
|
|
38669
38693
|
return entry.provider === "rost" || entry.provider === "web" ? "platform_managed" : "none";
|
|
38670
38694
|
}
|
|
38671
|
-
return entry.id === "secret.broker" ? "vault_ref" : "connection";
|
|
38695
|
+
return entry.id === "secret.broker" || entry.id === "baserow.read" || entry.id === "baserow.write" ? "vault_ref" : "connection";
|
|
38672
38696
|
}
|
|
38673
38697
|
function trustedRequiredMetadataFor(entry) {
|
|
38674
38698
|
if (entry.default_access_policy === "always_allow" && entry.default_scope_tier !== "write_with_approval") {
|
|
@@ -38693,7 +38717,7 @@ function enrichCatalogEntry(entry) {
|
|
|
38693
38717
|
access_levels: accessLevels,
|
|
38694
38718
|
default_access_level: accessLevelForScope(entry.default_scope_tier),
|
|
38695
38719
|
provider_requirement: providerRequirementFor(entry),
|
|
38696
|
-
cost_class: entry.id === "script.run" || entry.id === "secret.broker" ? "metered_standard" : entry.id === "web.search" || entry.id === "web.fetch" || entry.id === "browser.read" ? "metered_low" : "included",
|
|
38720
|
+
cost_class: entry.id === "script.run" || entry.id === "secret.broker" || entry.id === "baserow.read" || entry.id === "baserow.write" ? "metered_standard" : entry.id === "web.search" || entry.id === "web.fetch" || entry.id === "browser.read" ? "metered_low" : "included",
|
|
38697
38721
|
lane_support: ["cloud", "runner", "mcp"],
|
|
38698
38722
|
trusted_required_metadata: trustedRequiredMetadataFor(entry)
|
|
38699
38723
|
};
|
|
@@ -44177,8 +44201,109 @@ var signalReadingProposalSchema = external_exports.object({
|
|
|
44177
44201
|
}
|
|
44178
44202
|
});
|
|
44179
44203
|
|
|
44180
|
-
// ../../packages/protocol/src/
|
|
44204
|
+
// ../../packages/protocol/src/secret-broker.ts
|
|
44181
44205
|
var uuid10 = external_exports.string().uuid();
|
|
44206
|
+
var VAULT_REF_PROVIDER = /^(?:infisical|doppler|local-dev):\/\/\S+$/;
|
|
44207
|
+
var brokerVaultRefSchema = external_exports.string().min(1).max(500).regex(VAULT_REF_PROVIDER, "vault_ref must be a provider URI, e.g. infisical://path, doppler://path, or local-dev://path").refine((value) => !hasSecretShapedValue(value), {
|
|
44208
|
+
message: "vault_ref must be a pointer, never raw secret material"
|
|
44209
|
+
});
|
|
44210
|
+
var brokerGrantKeySchema = external_exports.string().trim().min(1).max(200).regex(/^[a-z0-9][a-z0-9._:-]*$/i, "grant_key must be a short identifier (letters, digits, . _ : -)").refine((value) => !hasSecretShapedValue(value), {
|
|
44211
|
+
message: "grant_key must be an identifier, never raw secret material"
|
|
44212
|
+
});
|
|
44213
|
+
var brokerProviderSchema = external_exports.string().trim().min(1).max(100).refine((value) => !hasSecretShapedValue(value), {
|
|
44214
|
+
message: "provider must be a label, never raw secret material"
|
|
44215
|
+
});
|
|
44216
|
+
var brokerAllowedHostSchema = external_exports.string().trim().min(1).max(255).regex(/^[a-zA-Z0-9.-]+$/, "allowed_host must be a bare hostname (letters, digits, dots, hyphens) \u2014 no scheme, port, or path");
|
|
44217
|
+
var brokerAllowedPathPrefixSchema = external_exports.string().min(1).max(512).refine((value) => value.startsWith("/"), { message: "allowed_path_prefix must start with /" }).refine((value) => !value.includes("//"), { message: "allowed_path_prefix must not contain //" }).refine((value) => !value.includes("\\"), { message: "allowed_path_prefix must not contain a backslash" }).refine((value) => !value.includes("://"), { message: "allowed_path_prefix must not contain a scheme" }).refine((value) => !value.includes("?") && !value.includes("#"), { message: "allowed_path_prefix must not contain a query or fragment" }).refine((value) => !value.includes(".."), { message: "allowed_path_prefix must not contain .." }).refine((value) => ![...value].some((ch) => ch <= " "), { message: "allowed_path_prefix must not contain whitespace or control characters" });
|
|
44218
|
+
var brokerHttpMethodSchema = external_exports.enum(["GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH", "DELETE"]);
|
|
44219
|
+
var READ_SAFE_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD", "OPTIONS"]);
|
|
44220
|
+
var brokerScopeTierSchema = external_exports.enum(["read", "write"]);
|
|
44221
|
+
var brokerInjectionModeSchema = external_exports.enum(["header_bearer", "header", "query"]);
|
|
44222
|
+
var brokerInjectionNameSchema = external_exports.string().min(1).max(100).regex(/^[A-Za-z0-9._-]+$/, "injection_name may contain only letters, digits, . _ -");
|
|
44223
|
+
var brokerAllowedMethodsSchema = external_exports.array(brokerHttpMethodSchema).min(1, "at least one allowed method is required").max(7).refine((methods) => new Set(methods).size === methods.length, { message: "allowed_methods must not contain duplicates" });
|
|
44224
|
+
var brokerGrantStatusSchema = external_exports.enum(["active", "revoked"]);
|
|
44225
|
+
function refineGrantShape(value, ctx) {
|
|
44226
|
+
if (value.scope_tier === "read" && value.allowed_methods.some((method) => !READ_SAFE_METHODS.has(method))) {
|
|
44227
|
+
ctx.addIssue({ code: "custom", path: ["allowed_methods"], message: "a read-tier grant may only allow GET, HEAD, or OPTIONS" });
|
|
44228
|
+
}
|
|
44229
|
+
const injectionMode = value.injection_mode ?? "header_bearer";
|
|
44230
|
+
if (injectionMode !== "header_bearer" && !value.injection_name) {
|
|
44231
|
+
ctx.addIssue({ code: "custom", path: ["injection_name"], message: "injection_name is required unless injection_mode is header_bearer" });
|
|
44232
|
+
}
|
|
44233
|
+
}
|
|
44234
|
+
var secretGrantRequestInputSchema = external_exports.object({
|
|
44235
|
+
seat_id: uuid10,
|
|
44236
|
+
grant_key: brokerGrantKeySchema,
|
|
44237
|
+
provider: brokerProviderSchema,
|
|
44238
|
+
allowed_host: brokerAllowedHostSchema,
|
|
44239
|
+
allowed_path_prefix: brokerAllowedPathPrefixSchema.optional(),
|
|
44240
|
+
allowed_methods: brokerAllowedMethodsSchema,
|
|
44241
|
+
scope_tier: brokerScopeTierSchema,
|
|
44242
|
+
reason: external_exports.string().max(2e3).refine((value) => !hasSecretShapedValue(value), { message: "reason must never contain secret material" }).optional()
|
|
44243
|
+
}).strict().superRefine((value, ctx) => refineGrantShape(value, ctx));
|
|
44244
|
+
var secretGrantRequestOutputSchema = external_exports.object({
|
|
44245
|
+
requested: external_exports.literal(true),
|
|
44246
|
+
event_id: uuid10,
|
|
44247
|
+
seat_id: uuid10,
|
|
44248
|
+
grant_key: external_exports.string(),
|
|
44249
|
+
scope_tier: brokerScopeTierSchema
|
|
44250
|
+
}).strict();
|
|
44251
|
+
var secretGrantGrantInputSchema = external_exports.object({
|
|
44252
|
+
seat_id: uuid10,
|
|
44253
|
+
grant_key: brokerGrantKeySchema,
|
|
44254
|
+
// POINTER only. The vault-ref refinement rejects any raw-secret value.
|
|
44255
|
+
vault_ref: brokerVaultRefSchema,
|
|
44256
|
+
provider: brokerProviderSchema,
|
|
44257
|
+
allowed_host: brokerAllowedHostSchema,
|
|
44258
|
+
allowed_path_prefix: brokerAllowedPathPrefixSchema.optional(),
|
|
44259
|
+
allowed_methods: brokerAllowedMethodsSchema,
|
|
44260
|
+
scope_tier: brokerScopeTierSchema,
|
|
44261
|
+
injection_mode: brokerInjectionModeSchema.default("header_bearer"),
|
|
44262
|
+
injection_name: brokerInjectionNameSchema.optional(),
|
|
44263
|
+
// ISO-8601; absent = no expiry.
|
|
44264
|
+
expires_at: external_exports.string().datetime({ offset: true }).optional()
|
|
44265
|
+
}).strict().superRefine((value, ctx) => refineGrantShape(value, ctx));
|
|
44266
|
+
var secretGrantGrantOutputSchema = external_exports.object({
|
|
44267
|
+
grant_id: uuid10,
|
|
44268
|
+
seat_id: uuid10,
|
|
44269
|
+
grant_key: external_exports.string(),
|
|
44270
|
+
scope_tier: brokerScopeTierSchema,
|
|
44271
|
+
status: brokerGrantStatusSchema
|
|
44272
|
+
}).strict();
|
|
44273
|
+
var secretGrantRevokeInputSchema = external_exports.object({
|
|
44274
|
+
grant_id: uuid10
|
|
44275
|
+
}).strict();
|
|
44276
|
+
var secretGrantRevokeOutputSchema = external_exports.object({
|
|
44277
|
+
grant_id: uuid10,
|
|
44278
|
+
status: brokerGrantStatusSchema
|
|
44279
|
+
}).strict();
|
|
44280
|
+
var secretGrantSummarySchema = external_exports.object({
|
|
44281
|
+
id: uuid10,
|
|
44282
|
+
seat_id: uuid10,
|
|
44283
|
+
grant_key: external_exports.string(),
|
|
44284
|
+
provider: external_exports.string(),
|
|
44285
|
+
allowed_host: external_exports.string(),
|
|
44286
|
+
allowed_path_prefix: external_exports.string(),
|
|
44287
|
+
allowed_methods: external_exports.array(external_exports.string()),
|
|
44288
|
+
scope_tier: brokerScopeTierSchema,
|
|
44289
|
+
injection_mode: brokerInjectionModeSchema,
|
|
44290
|
+
injection_name: external_exports.string().nullable(),
|
|
44291
|
+
status: brokerGrantStatusSchema,
|
|
44292
|
+
granted_by_user_id: uuid10,
|
|
44293
|
+
granted_at: external_exports.string(),
|
|
44294
|
+
revoked_at: external_exports.string().nullable(),
|
|
44295
|
+
expires_at: external_exports.string().nullable()
|
|
44296
|
+
}).strict();
|
|
44297
|
+
var secretGrantListInputSchema = external_exports.object({
|
|
44298
|
+
seat_id: uuid10.nullable().optional(),
|
|
44299
|
+
include_revoked: external_exports.boolean().optional()
|
|
44300
|
+
}).strict();
|
|
44301
|
+
var secretGrantListOutputSchema = external_exports.object({
|
|
44302
|
+
grants: external_exports.array(secretGrantSummarySchema)
|
|
44303
|
+
}).strict();
|
|
44304
|
+
|
|
44305
|
+
// ../../packages/protocol/src/software-factory.ts
|
|
44306
|
+
var uuid11 = external_exports.string().uuid();
|
|
44182
44307
|
var SOFTWARE_PHASE_VALUES = [
|
|
44183
44308
|
"intake",
|
|
44184
44309
|
"discovery_scoping",
|
|
@@ -44289,7 +44414,7 @@ var softwareConfigValueKindSchema = external_exports.enum(["plain", "secret_ref"
|
|
|
44289
44414
|
var softwareCredentialRequestStatusSchema = external_exports.enum(["pending", "fulfilled", "rejected", "canceled"]);
|
|
44290
44415
|
var softwareSecretAccessOperationSchema = external_exports.enum(["use", "vercel_env_sync", "test_execution"]);
|
|
44291
44416
|
var softwareProjectSummarySchema = external_exports.object({
|
|
44292
|
-
id:
|
|
44417
|
+
id: uuid11,
|
|
44293
44418
|
name: external_exports.string().min(1),
|
|
44294
44419
|
slug: external_exports.string().min(1),
|
|
44295
44420
|
base_branch: external_exports.string().min(1),
|
|
@@ -44316,8 +44441,8 @@ var softwareProjectListInputSchema = external_exports.object({}).strict();
|
|
|
44316
44441
|
var softwareProjectListOutputSchema = external_exports.object({
|
|
44317
44442
|
projects: external_exports.array(softwareProjectSummarySchema)
|
|
44318
44443
|
});
|
|
44319
|
-
var
|
|
44320
|
-
var softwareVaultRefSchema = external_exports.string().min(1).max(500).regex(
|
|
44444
|
+
var VAULT_REF_PROVIDER2 = /^(?:infisical|doppler|local-dev):\/\/\S+$/;
|
|
44445
|
+
var softwareVaultRefSchema = external_exports.string().min(1).max(500).regex(VAULT_REF_PROVIDER2, "vault_ref must be a provider URI, e.g. infisical://path, doppler://path, or local-dev://path").refine((value) => !hasSecretShapedValue(value), {
|
|
44321
44446
|
message: "vault_ref must be a pointer, never raw secret material"
|
|
44322
44447
|
});
|
|
44323
44448
|
var softwareSecretKeyNameSchema = external_exports.string().trim().min(1).max(200).refine((value) => !hasSecretShapedValue(value), {
|
|
@@ -44343,11 +44468,11 @@ var softwarePhaseSchedulerStateSchema = external_exports.object({
|
|
|
44343
44468
|
]).nullable(),
|
|
44344
44469
|
message: external_exports.string(),
|
|
44345
44470
|
remediation_href: external_exports.string().nullable(),
|
|
44346
|
-
work_order_id:
|
|
44471
|
+
work_order_id: uuid11.nullable()
|
|
44347
44472
|
});
|
|
44348
44473
|
var softwareBuildRequestSummarySchema = external_exports.object({
|
|
44349
|
-
id:
|
|
44350
|
-
software_project_id:
|
|
44474
|
+
id: uuid11,
|
|
44475
|
+
software_project_id: uuid11,
|
|
44351
44476
|
title: external_exports.string(),
|
|
44352
44477
|
source_channel: softwareSourceChannelSchema,
|
|
44353
44478
|
source_ref: external_exports.string().nullable(),
|
|
@@ -44363,7 +44488,7 @@ var softwareBuildRequestSummarySchema = external_exports.object({
|
|
|
44363
44488
|
scheduler_state: softwarePhaseSchedulerStateSchema.nullable()
|
|
44364
44489
|
});
|
|
44365
44490
|
var softwarePhaseRunSummarySchema = external_exports.object({
|
|
44366
|
-
id:
|
|
44491
|
+
id: uuid11,
|
|
44367
44492
|
phase: softwarePhaseSchema,
|
|
44368
44493
|
status: softwarePhaseRunStatusSchema,
|
|
44369
44494
|
attempt_no: external_exports.number().int(),
|
|
@@ -44373,17 +44498,17 @@ var softwarePhaseRunSummarySchema = external_exports.object({
|
|
|
44373
44498
|
scheduler_state: softwarePhaseSchedulerStateSchema.nullable()
|
|
44374
44499
|
});
|
|
44375
44500
|
var softwareGateSummarySchema = external_exports.object({
|
|
44376
|
-
id:
|
|
44501
|
+
id: uuid11,
|
|
44377
44502
|
gate_type: softwareGateTypeSchema,
|
|
44378
44503
|
status: external_exports.enum(["pending", "approved", "rejected", "held"]),
|
|
44379
|
-
phase_run_id:
|
|
44380
|
-
resolved_by_user_id:
|
|
44504
|
+
phase_run_id: uuid11.nullable(),
|
|
44505
|
+
resolved_by_user_id: uuid11.nullable(),
|
|
44381
44506
|
rationale: external_exports.string().nullable(),
|
|
44382
44507
|
created_at: external_exports.string()
|
|
44383
44508
|
});
|
|
44384
44509
|
var softwareChangesetSummarySchema = external_exports.object({
|
|
44385
|
-
id:
|
|
44386
|
-
build_request_id:
|
|
44510
|
+
id: uuid11,
|
|
44511
|
+
build_request_id: uuid11,
|
|
44387
44512
|
ordinal: external_exports.number().int(),
|
|
44388
44513
|
title: external_exports.string(),
|
|
44389
44514
|
split_criterion: softwareChangesetSplitCriterionSchema,
|
|
@@ -44397,10 +44522,10 @@ var softwareChangesetSummarySchema = external_exports.object({
|
|
|
44397
44522
|
created_at: external_exports.string()
|
|
44398
44523
|
});
|
|
44399
44524
|
var softwareTaskSummarySchema = external_exports.object({
|
|
44400
|
-
id:
|
|
44401
|
-
build_request_id:
|
|
44402
|
-
changeset_id:
|
|
44403
|
-
plan_version_id:
|
|
44525
|
+
id: uuid11,
|
|
44526
|
+
build_request_id: uuid11,
|
|
44527
|
+
changeset_id: uuid11,
|
|
44528
|
+
plan_version_id: uuid11,
|
|
44404
44529
|
ordinal: external_exports.number().int(),
|
|
44405
44530
|
task_key: external_exports.string(),
|
|
44406
44531
|
title: external_exports.string(),
|
|
@@ -44415,8 +44540,8 @@ var softwareTaskSummarySchema = external_exports.object({
|
|
|
44415
44540
|
created_at: external_exports.string()
|
|
44416
44541
|
});
|
|
44417
44542
|
var softwarePlanVersionSummarySchema = external_exports.object({
|
|
44418
|
-
id:
|
|
44419
|
-
build_request_id:
|
|
44543
|
+
id: uuid11,
|
|
44544
|
+
build_request_id: uuid11,
|
|
44420
44545
|
version_no: external_exports.number().int(),
|
|
44421
44546
|
status: softwarePlanVersionStatusSchema,
|
|
44422
44547
|
summary: external_exports.string().nullable(),
|
|
@@ -44426,37 +44551,37 @@ var softwarePlanVersionSummarySchema = external_exports.object({
|
|
|
44426
44551
|
question: external_exports.string(),
|
|
44427
44552
|
answer: external_exports.string()
|
|
44428
44553
|
})).default([]),
|
|
44429
|
-
created_by_seat_id:
|
|
44554
|
+
created_by_seat_id: uuid11.nullable(),
|
|
44430
44555
|
created_at: external_exports.string()
|
|
44431
44556
|
});
|
|
44432
44557
|
var softwarePlanConformanceFindingSummarySchema = external_exports.object({
|
|
44433
|
-
id:
|
|
44434
|
-
build_request_id:
|
|
44435
|
-
changeset_id:
|
|
44436
|
-
phase_run_id:
|
|
44437
|
-
plan_version_id:
|
|
44558
|
+
id: uuid11,
|
|
44559
|
+
build_request_id: uuid11,
|
|
44560
|
+
changeset_id: uuid11.nullable(),
|
|
44561
|
+
phase_run_id: uuid11.nullable(),
|
|
44562
|
+
plan_version_id: uuid11.nullable(),
|
|
44438
44563
|
severity: softwareConformanceSeveritySchema,
|
|
44439
44564
|
category: softwareConformanceCategorySchema,
|
|
44440
44565
|
summary: external_exports.string(),
|
|
44441
44566
|
detail: external_exports.string().nullable(),
|
|
44442
44567
|
status: softwareConformanceStatusSchema,
|
|
44443
|
-
accepted_by_decision_id:
|
|
44568
|
+
accepted_by_decision_id: uuid11.nullable(),
|
|
44444
44569
|
resolved_at: external_exports.string().nullable(),
|
|
44445
44570
|
created_at: external_exports.string()
|
|
44446
44571
|
});
|
|
44447
44572
|
var softwareAuthorityProfileSummarySchema = external_exports.object({
|
|
44448
|
-
id:
|
|
44449
|
-
software_project_id:
|
|
44573
|
+
id: uuid11,
|
|
44574
|
+
software_project_id: uuid11.nullable(),
|
|
44450
44575
|
name: external_exports.string(),
|
|
44451
44576
|
preset: softwareAuthorityPresetSchema,
|
|
44452
44577
|
is_default: external_exports.boolean(),
|
|
44453
44578
|
created_at: external_exports.string()
|
|
44454
44579
|
});
|
|
44455
44580
|
var softwareSecretGrantSummarySchema = external_exports.object({
|
|
44456
|
-
id:
|
|
44457
|
-
software_project_id:
|
|
44581
|
+
id: uuid11,
|
|
44582
|
+
software_project_id: uuid11,
|
|
44458
44583
|
environment: softwareEnvironmentSchema,
|
|
44459
|
-
seat_id:
|
|
44584
|
+
seat_id: uuid11,
|
|
44460
44585
|
action: external_exports.string(),
|
|
44461
44586
|
key_name: external_exports.string(),
|
|
44462
44587
|
vault_ref: external_exports.string(),
|
|
@@ -44465,8 +44590,8 @@ var softwareSecretGrantSummarySchema = external_exports.object({
|
|
|
44465
44590
|
revoked_at: external_exports.string().nullable()
|
|
44466
44591
|
});
|
|
44467
44592
|
var softwareConfigEntrySummarySchema = external_exports.object({
|
|
44468
|
-
id:
|
|
44469
|
-
software_project_id:
|
|
44593
|
+
id: uuid11,
|
|
44594
|
+
software_project_id: uuid11,
|
|
44470
44595
|
environment: softwareEnvironmentSchema,
|
|
44471
44596
|
key_name: external_exports.string(),
|
|
44472
44597
|
value_kind: softwareConfigValueKindSchema,
|
|
@@ -44476,20 +44601,20 @@ var softwareConfigEntrySummarySchema = external_exports.object({
|
|
|
44476
44601
|
updated_at: external_exports.string()
|
|
44477
44602
|
});
|
|
44478
44603
|
var softwareCredentialRequestSummarySchema = external_exports.object({
|
|
44479
|
-
id:
|
|
44480
|
-
software_project_id:
|
|
44604
|
+
id: uuid11,
|
|
44605
|
+
software_project_id: uuid11,
|
|
44481
44606
|
environment: softwareEnvironmentSchema,
|
|
44482
|
-
requested_by_seat_id:
|
|
44607
|
+
requested_by_seat_id: uuid11,
|
|
44483
44608
|
action: external_exports.string(),
|
|
44484
44609
|
key_name: external_exports.string(),
|
|
44485
44610
|
reason: external_exports.string().nullable(),
|
|
44486
44611
|
status: softwareCredentialRequestStatusSchema,
|
|
44487
|
-
approval_task_id:
|
|
44612
|
+
approval_task_id: uuid11.nullable(),
|
|
44488
44613
|
created_at: external_exports.string()
|
|
44489
44614
|
});
|
|
44490
44615
|
var softwareCapacityObservationSummarySchema = external_exports.object({
|
|
44491
|
-
id:
|
|
44492
|
-
runner_id:
|
|
44616
|
+
id: uuid11,
|
|
44617
|
+
runner_id: uuid11,
|
|
44493
44618
|
observed_at: external_exports.string(),
|
|
44494
44619
|
os: external_exports.string().nullable(),
|
|
44495
44620
|
cpu_count: external_exports.number().int().nullable(),
|
|
@@ -44505,7 +44630,7 @@ var softwareRequestCreateInputSchema = external_exports.object({
|
|
|
44505
44630
|
// this schema) enforces that exactly one resolves, with an actionable error
|
|
44506
44631
|
// when neither is given or neither matches — keeping this shape a plain
|
|
44507
44632
|
// `z.object` so JSON-schema/CLI-flag projection stays simple (no `.refine`).
|
|
44508
|
-
software_project_id:
|
|
44633
|
+
software_project_id: uuid11.optional(),
|
|
44509
44634
|
project: external_exports.string().trim().min(1).max(200).optional(),
|
|
44510
44635
|
// Untrusted display text (ADR-0018 §5) — bounded, never treated as an instruction.
|
|
44511
44636
|
title: external_exports.string().trim().min(1).max(500),
|
|
@@ -44517,11 +44642,11 @@ var softwareRequestCreateInputSchema = external_exports.object({
|
|
|
44517
44642
|
automation_mode: softwareAutomationModeSchema.optional()
|
|
44518
44643
|
}).strict();
|
|
44519
44644
|
var softwareRequestCreateOutputSchema = external_exports.object({
|
|
44520
|
-
build_request_id:
|
|
44521
|
-
software_project_id:
|
|
44645
|
+
build_request_id: uuid11,
|
|
44646
|
+
software_project_id: uuid11,
|
|
44522
44647
|
status: softwareRequestStatusSchema,
|
|
44523
44648
|
current_phase: softwarePhaseSchema,
|
|
44524
|
-
phase_run_id:
|
|
44649
|
+
phase_run_id: uuid11,
|
|
44525
44650
|
scheduler_state: softwarePhaseSchedulerStateSchema
|
|
44526
44651
|
});
|
|
44527
44652
|
var softwareRequestListInputSchema = external_exports.object({
|
|
@@ -44531,7 +44656,7 @@ var softwareRequestListOutputSchema = external_exports.object({
|
|
|
44531
44656
|
requests: external_exports.array(softwareBuildRequestSummarySchema)
|
|
44532
44657
|
});
|
|
44533
44658
|
var softwareRequestShowInputSchema = external_exports.object({
|
|
44534
|
-
build_request_id:
|
|
44659
|
+
build_request_id: uuid11
|
|
44535
44660
|
}).strict();
|
|
44536
44661
|
var softwareRequestShowOutputSchema = external_exports.object({
|
|
44537
44662
|
request: softwareBuildRequestSummarySchema,
|
|
@@ -44544,80 +44669,80 @@ var softwareRequestShowOutputSchema = external_exports.object({
|
|
|
44544
44669
|
});
|
|
44545
44670
|
var softwareRequestLifecycleReason = external_exports.string().trim().min(1).max(2e3);
|
|
44546
44671
|
var softwareRequestPauseInputSchema = external_exports.object({
|
|
44547
|
-
build_request_id:
|
|
44672
|
+
build_request_id: uuid11,
|
|
44548
44673
|
reason: softwareRequestLifecycleReason.optional()
|
|
44549
44674
|
}).strict();
|
|
44550
44675
|
var softwareRequestCancelInputSchema = external_exports.object({
|
|
44551
|
-
build_request_id:
|
|
44676
|
+
build_request_id: uuid11,
|
|
44552
44677
|
reason: softwareRequestLifecycleReason.optional()
|
|
44553
44678
|
}).strict();
|
|
44554
44679
|
var softwareRequestResumeInputSchema = external_exports.object({
|
|
44555
|
-
build_request_id:
|
|
44680
|
+
build_request_id: uuid11,
|
|
44556
44681
|
reason: softwareRequestLifecycleReason.optional(),
|
|
44557
44682
|
termination_bound: softwareTerminationBoundSchema.optional()
|
|
44558
44683
|
}).strict();
|
|
44559
44684
|
var softwareRequestLifecycleOutputSchema = external_exports.object({
|
|
44560
|
-
build_request_id:
|
|
44685
|
+
build_request_id: uuid11,
|
|
44561
44686
|
status: softwareRequestStatusSchema,
|
|
44562
44687
|
current_phase: softwarePhaseSchema,
|
|
44563
|
-
phase_run_id:
|
|
44564
|
-
work_order_id:
|
|
44565
|
-
resume_from_task_id:
|
|
44688
|
+
phase_run_id: uuid11.nullable(),
|
|
44689
|
+
work_order_id: uuid11.nullable(),
|
|
44690
|
+
resume_from_task_id: uuid11.nullable()
|
|
44566
44691
|
});
|
|
44567
44692
|
var softwarePhaseAdvanceInputSchema = external_exports.object({
|
|
44568
|
-
build_request_id:
|
|
44693
|
+
build_request_id: uuid11,
|
|
44569
44694
|
to_phase: softwarePhaseSchema,
|
|
44570
|
-
owning_seat_id:
|
|
44695
|
+
owning_seat_id: uuid11.optional(),
|
|
44571
44696
|
note: external_exports.string().max(2e3).optional()
|
|
44572
44697
|
}).strict();
|
|
44573
44698
|
var softwarePhaseAdvanceOutputSchema = external_exports.object({
|
|
44574
|
-
build_request_id:
|
|
44699
|
+
build_request_id: uuid11,
|
|
44575
44700
|
from_phase: softwarePhaseSchema,
|
|
44576
44701
|
to_phase: softwarePhaseSchema,
|
|
44577
|
-
phase_run_id:
|
|
44702
|
+
phase_run_id: uuid11
|
|
44578
44703
|
});
|
|
44579
44704
|
var softwareGateDecideInputSchema = external_exports.object({
|
|
44580
|
-
gate_id:
|
|
44705
|
+
gate_id: uuid11,
|
|
44581
44706
|
decision: softwareGateDecisionSchema,
|
|
44582
44707
|
rationale: external_exports.string().max(4e3).optional()
|
|
44583
44708
|
}).strict();
|
|
44584
44709
|
var softwareGateDecideOutputSchema = external_exports.object({
|
|
44585
|
-
gate_id:
|
|
44710
|
+
gate_id: uuid11,
|
|
44586
44711
|
status: external_exports.enum(["approved", "rejected"]),
|
|
44587
|
-
resolved_by_user_id:
|
|
44588
|
-
decision_id:
|
|
44712
|
+
resolved_by_user_id: uuid11,
|
|
44713
|
+
decision_id: uuid11.nullable()
|
|
44589
44714
|
});
|
|
44590
44715
|
var forgeClarificationAnswer = external_exports.object({
|
|
44591
44716
|
question: external_exports.string().trim().min(1).max(2e3),
|
|
44592
44717
|
answer: external_exports.string().trim().min(1).max(4e3)
|
|
44593
44718
|
}).strict();
|
|
44594
44719
|
var softwareRequestAnswerClarificationInputSchema = external_exports.object({
|
|
44595
|
-
build_request_id:
|
|
44720
|
+
build_request_id: uuid11,
|
|
44596
44721
|
answers: external_exports.array(forgeClarificationAnswer).min(1).max(50),
|
|
44597
44722
|
// The planner marks the plan ready once its questions are resolved; the human/COS can
|
|
44598
44723
|
// signal that here. Default false keeps the plan in needs_clarification.
|
|
44599
44724
|
mark_ready_for_plan_review: external_exports.boolean().default(false)
|
|
44600
44725
|
}).strict();
|
|
44601
44726
|
var softwareRequestAnswerClarificationOutputSchema = external_exports.object({
|
|
44602
|
-
build_request_id:
|
|
44603
|
-
plan_version_id:
|
|
44727
|
+
build_request_id: uuid11,
|
|
44728
|
+
plan_version_id: uuid11,
|
|
44604
44729
|
status: softwarePlanVersionStatusSchema,
|
|
44605
44730
|
answered_count: external_exports.number().int()
|
|
44606
44731
|
});
|
|
44607
44732
|
var softwarePlanApproveInputSchema = external_exports.object({
|
|
44608
|
-
build_request_id:
|
|
44733
|
+
build_request_id: uuid11,
|
|
44609
44734
|
rationale: external_exports.string().trim().min(1).max(4e3).optional()
|
|
44610
44735
|
}).strict();
|
|
44611
44736
|
var softwarePlanRejectInputSchema = external_exports.object({
|
|
44612
|
-
build_request_id:
|
|
44737
|
+
build_request_id: uuid11,
|
|
44613
44738
|
// A rejection must say why (it routes the request back to discovery/scoping).
|
|
44614
44739
|
rationale: external_exports.string().trim().min(1).max(4e3)
|
|
44615
44740
|
}).strict();
|
|
44616
44741
|
var softwarePlanDecisionOutputSchema = external_exports.object({
|
|
44617
|
-
build_request_id:
|
|
44618
|
-
plan_version_id:
|
|
44742
|
+
build_request_id: uuid11,
|
|
44743
|
+
plan_version_id: uuid11,
|
|
44619
44744
|
status: external_exports.enum(["approved", "rejected"]),
|
|
44620
|
-
decision_id:
|
|
44745
|
+
decision_id: uuid11,
|
|
44621
44746
|
current_phase: softwarePhaseSchema
|
|
44622
44747
|
});
|
|
44623
44748
|
var forgeConformanceFindingInput = external_exports.object({
|
|
@@ -44625,41 +44750,41 @@ var forgeConformanceFindingInput = external_exports.object({
|
|
|
44625
44750
|
category: softwareConformanceCategorySchema.default("other"),
|
|
44626
44751
|
summary: external_exports.string().trim().min(1).max(2e3),
|
|
44627
44752
|
detail: external_exports.string().trim().min(1).max(8e3).optional(),
|
|
44628
|
-
changeset_id:
|
|
44629
|
-
plan_version_id:
|
|
44753
|
+
changeset_id: uuid11.optional(),
|
|
44754
|
+
plan_version_id: uuid11.optional()
|
|
44630
44755
|
}).strict();
|
|
44631
44756
|
var softwareConformanceRecordFindingsInputSchema = external_exports.object({
|
|
44632
|
-
build_request_id:
|
|
44633
|
-
phase_run_id:
|
|
44757
|
+
build_request_id: uuid11,
|
|
44758
|
+
phase_run_id: uuid11.optional(),
|
|
44634
44759
|
findings: external_exports.array(forgeConformanceFindingInput).min(1).max(50)
|
|
44635
44760
|
}).strict();
|
|
44636
44761
|
var softwareConformanceRecordFindingsOutputSchema = external_exports.object({
|
|
44637
|
-
build_request_id:
|
|
44762
|
+
build_request_id: uuid11,
|
|
44638
44763
|
recorded_count: external_exports.number().int(),
|
|
44639
|
-
finding_ids: external_exports.array(
|
|
44764
|
+
finding_ids: external_exports.array(uuid11),
|
|
44640
44765
|
open_finding_count: external_exports.number().int()
|
|
44641
44766
|
}).strict();
|
|
44642
44767
|
var softwareConformanceResolveFindingInputSchema = external_exports.object({
|
|
44643
|
-
build_request_id:
|
|
44644
|
-
finding_ids: external_exports.array(
|
|
44768
|
+
build_request_id: uuid11,
|
|
44769
|
+
finding_ids: external_exports.array(uuid11).min(1).max(50),
|
|
44645
44770
|
// The re-review run that verified the fix — provenance only (rides into the append-only audit
|
|
44646
44771
|
// event; the finding row's resolution state is the durable transition).
|
|
44647
|
-
phase_run_id:
|
|
44772
|
+
phase_run_id: uuid11.optional()
|
|
44648
44773
|
}).strict();
|
|
44649
44774
|
var softwareConformanceResolveFindingOutputSchema = external_exports.object({
|
|
44650
|
-
build_request_id:
|
|
44775
|
+
build_request_id: uuid11,
|
|
44651
44776
|
resolved_count: external_exports.number().int(),
|
|
44652
|
-
resolved_finding_ids: external_exports.array(
|
|
44777
|
+
resolved_finding_ids: external_exports.array(uuid11),
|
|
44653
44778
|
open_finding_count: external_exports.number().int()
|
|
44654
44779
|
}).strict();
|
|
44655
44780
|
var softwareAuthorityProfileListInputSchema = external_exports.object({
|
|
44656
|
-
software_project_id:
|
|
44781
|
+
software_project_id: uuid11.nullable().optional()
|
|
44657
44782
|
}).strict();
|
|
44658
44783
|
var softwareAuthorityProfileListOutputSchema = external_exports.object({
|
|
44659
44784
|
profiles: external_exports.array(softwareAuthorityProfileSummarySchema)
|
|
44660
44785
|
});
|
|
44661
44786
|
var softwareAuthorityProfileCreateInputSchema = external_exports.object({
|
|
44662
|
-
software_project_id:
|
|
44787
|
+
software_project_id: uuid11.nullable().optional(),
|
|
44663
44788
|
name: external_exports.string().trim().min(1).max(120),
|
|
44664
44789
|
preset: softwareAuthorityPresetSchema.default("read_only"),
|
|
44665
44790
|
// A closed capability map (booleans by capability key). Never derived from
|
|
@@ -44668,77 +44793,77 @@ var softwareAuthorityProfileCreateInputSchema = external_exports.object({
|
|
|
44668
44793
|
is_default: external_exports.boolean().optional()
|
|
44669
44794
|
}).strict();
|
|
44670
44795
|
var softwareAuthorityProfileCreateOutputSchema = external_exports.object({
|
|
44671
|
-
profile_id:
|
|
44796
|
+
profile_id: uuid11,
|
|
44672
44797
|
name: external_exports.string(),
|
|
44673
44798
|
preset: softwareAuthorityPresetSchema
|
|
44674
44799
|
});
|
|
44675
44800
|
var softwareAuthorityGrantInputSchema = external_exports.object({
|
|
44676
|
-
software_project_id:
|
|
44677
|
-
seat_id:
|
|
44678
|
-
authority_profile_id:
|
|
44801
|
+
software_project_id: uuid11,
|
|
44802
|
+
seat_id: uuid11,
|
|
44803
|
+
authority_profile_id: uuid11
|
|
44679
44804
|
}).strict();
|
|
44680
44805
|
var softwareAuthorityGrantOutputSchema = external_exports.object({
|
|
44681
|
-
grant_id:
|
|
44682
|
-
software_project_id:
|
|
44683
|
-
seat_id:
|
|
44684
|
-
authority_profile_id:
|
|
44806
|
+
grant_id: uuid11,
|
|
44807
|
+
software_project_id: uuid11,
|
|
44808
|
+
seat_id: uuid11,
|
|
44809
|
+
authority_profile_id: uuid11,
|
|
44685
44810
|
status: softwareGrantStatusSchema
|
|
44686
44811
|
});
|
|
44687
44812
|
var softwareAuthorityRevokeInputSchema = external_exports.object({
|
|
44688
|
-
grant_id:
|
|
44813
|
+
grant_id: uuid11
|
|
44689
44814
|
}).strict();
|
|
44690
44815
|
var softwareAuthorityRevokeOutputSchema = external_exports.object({
|
|
44691
|
-
grant_id:
|
|
44816
|
+
grant_id: uuid11,
|
|
44692
44817
|
status: softwareGrantStatusSchema
|
|
44693
44818
|
});
|
|
44694
44819
|
var softwareSecretRequestInputSchema = external_exports.object({
|
|
44695
|
-
software_project_id:
|
|
44820
|
+
software_project_id: uuid11,
|
|
44696
44821
|
environment: softwareEnvironmentSchema,
|
|
44697
|
-
seat_id:
|
|
44822
|
+
seat_id: uuid11,
|
|
44698
44823
|
action: softwareSecretActionSchema,
|
|
44699
44824
|
key_name: softwareSecretKeyNameSchema,
|
|
44700
44825
|
reason: external_exports.string().max(2e3).optional()
|
|
44701
44826
|
}).strict();
|
|
44702
44827
|
var softwareSecretRequestOutputSchema = external_exports.object({
|
|
44703
44828
|
requested: external_exports.literal(true),
|
|
44704
|
-
credential_request_id:
|
|
44705
|
-
approval_task_id:
|
|
44706
|
-
software_project_id:
|
|
44829
|
+
credential_request_id: uuid11,
|
|
44830
|
+
approval_task_id: uuid11,
|
|
44831
|
+
software_project_id: uuid11,
|
|
44707
44832
|
environment: softwareEnvironmentSchema,
|
|
44708
|
-
seat_id:
|
|
44833
|
+
seat_id: uuid11,
|
|
44709
44834
|
key_name: external_exports.string()
|
|
44710
44835
|
});
|
|
44711
44836
|
var softwareSecretGrantInputSchema = external_exports.object({
|
|
44712
|
-
software_project_id:
|
|
44837
|
+
software_project_id: uuid11,
|
|
44713
44838
|
environment: softwareEnvironmentSchema,
|
|
44714
|
-
seat_id:
|
|
44839
|
+
seat_id: uuid11,
|
|
44715
44840
|
action: softwareSecretActionSchema,
|
|
44716
44841
|
key_name: softwareSecretKeyNameSchema,
|
|
44717
44842
|
// POINTER only. The vault ref shape refinement rejects any raw-secret value.
|
|
44718
44843
|
vault_ref: softwareVaultRefSchema
|
|
44719
44844
|
}).strict();
|
|
44720
44845
|
var softwareSecretGrantOutputSchema = external_exports.object({
|
|
44721
|
-
grant_id:
|
|
44846
|
+
grant_id: uuid11,
|
|
44722
44847
|
key_name: external_exports.string(),
|
|
44723
44848
|
environment: softwareEnvironmentSchema,
|
|
44724
44849
|
status: softwareGrantStatusSchema
|
|
44725
44850
|
});
|
|
44726
44851
|
var softwareSecretRevokeInputSchema = external_exports.object({
|
|
44727
|
-
grant_id:
|
|
44852
|
+
grant_id: uuid11
|
|
44728
44853
|
}).strict();
|
|
44729
44854
|
var softwareSecretRevokeOutputSchema = external_exports.object({
|
|
44730
|
-
grant_id:
|
|
44855
|
+
grant_id: uuid11,
|
|
44731
44856
|
status: softwareGrantStatusSchema
|
|
44732
44857
|
});
|
|
44733
44858
|
var softwareConfigListInputSchema = external_exports.object({
|
|
44734
|
-
software_project_id:
|
|
44859
|
+
software_project_id: uuid11.nullable().optional(),
|
|
44735
44860
|
environment: softwareEnvironmentSchema.nullable().optional()
|
|
44736
44861
|
}).strict();
|
|
44737
44862
|
var softwareConfigListOutputSchema = external_exports.object({
|
|
44738
44863
|
entries: external_exports.array(softwareConfigEntrySummarySchema)
|
|
44739
44864
|
});
|
|
44740
44865
|
var softwareConfigSetInputSchema = external_exports.object({
|
|
44741
|
-
software_project_id:
|
|
44866
|
+
software_project_id: uuid11,
|
|
44742
44867
|
environment: softwareEnvironmentSchema,
|
|
44743
44868
|
key_name: softwareSecretKeyNameSchema,
|
|
44744
44869
|
value_kind: softwareConfigValueKindSchema,
|
|
@@ -44758,24 +44883,24 @@ var softwareConfigSetInputSchema = external_exports.object({
|
|
|
44758
44883
|
}
|
|
44759
44884
|
});
|
|
44760
44885
|
var softwareConfigSetOutputSchema = external_exports.object({
|
|
44761
|
-
config_entry_id:
|
|
44762
|
-
software_project_id:
|
|
44886
|
+
config_entry_id: uuid11,
|
|
44887
|
+
software_project_id: uuid11,
|
|
44763
44888
|
environment: softwareEnvironmentSchema,
|
|
44764
44889
|
key_name: external_exports.string(),
|
|
44765
44890
|
value_kind: softwareConfigValueKindSchema,
|
|
44766
44891
|
has_secret_ref: external_exports.boolean()
|
|
44767
44892
|
});
|
|
44768
44893
|
var softwareSecretRequestListInputSchema = external_exports.object({
|
|
44769
|
-
software_project_id:
|
|
44894
|
+
software_project_id: uuid11.nullable().optional(),
|
|
44770
44895
|
status: softwareCredentialRequestStatusSchema.nullable().optional()
|
|
44771
44896
|
}).strict();
|
|
44772
44897
|
var softwareSecretRequestListOutputSchema = external_exports.object({
|
|
44773
44898
|
requests: external_exports.array(softwareCredentialRequestSummarySchema)
|
|
44774
44899
|
});
|
|
44775
44900
|
var softwareSecretUseInputSchema = external_exports.object({
|
|
44776
|
-
software_project_id:
|
|
44901
|
+
software_project_id: uuid11,
|
|
44777
44902
|
environment: softwareEnvironmentSchema,
|
|
44778
|
-
seat_id:
|
|
44903
|
+
seat_id: uuid11,
|
|
44779
44904
|
action: softwareSecretActionSchema,
|
|
44780
44905
|
key_name: softwareSecretKeyNameSchema,
|
|
44781
44906
|
operation: softwareSecretAccessOperationSchema.default("use")
|
|
@@ -44786,12 +44911,12 @@ var softwareSecretUseOutputSchema = external_exports.object({
|
|
|
44786
44911
|
key_name: external_exports.string(),
|
|
44787
44912
|
environment: softwareEnvironmentSchema,
|
|
44788
44913
|
operation: softwareSecretAccessOperationSchema,
|
|
44789
|
-
access_log_id:
|
|
44790
|
-
missing_request_id:
|
|
44914
|
+
access_log_id: uuid11,
|
|
44915
|
+
missing_request_id: uuid11.nullable(),
|
|
44791
44916
|
redacted_summary: external_exports.record(external_exports.string(), external_exports.unknown())
|
|
44792
44917
|
});
|
|
44793
44918
|
var softwareCapacityListInputSchema = external_exports.object({
|
|
44794
|
-
runner_id:
|
|
44919
|
+
runner_id: uuid11.nullable().optional(),
|
|
44795
44920
|
limit: external_exports.number().int().positive().max(200).optional()
|
|
44796
44921
|
}).strict();
|
|
44797
44922
|
var softwareCapacityListOutputSchema = external_exports.object({
|
|
@@ -44846,9 +44971,9 @@ var forgeTrustedControlSchema = external_exports.object({
|
|
|
44846
44971
|
automation_mode: softwareAutomationModeSchema,
|
|
44847
44972
|
inferred_risk: softwareRiskLevelSchema,
|
|
44848
44973
|
risk_ceiling: softwareRiskLevelSchema.nullable().default(null),
|
|
44849
|
-
authority_profile_ids: external_exports.array(
|
|
44974
|
+
authority_profile_ids: external_exports.array(uuid11).max(50).default([]),
|
|
44850
44975
|
active_secret_grant_count: external_exports.number().int().nonnegative().max(1e3).default(0),
|
|
44851
|
-
pending_gate_ids: external_exports.array(
|
|
44976
|
+
pending_gate_ids: external_exports.array(uuid11).max(50).default([])
|
|
44852
44977
|
}).strict();
|
|
44853
44978
|
var forgeSeatSkillSchema = external_exports.object({
|
|
44854
44979
|
slug: external_exports.string().trim().min(1).max(200),
|
|
@@ -44857,9 +44982,9 @@ var forgeSeatSkillSchema = external_exports.object({
|
|
|
44857
44982
|
}).strict();
|
|
44858
44983
|
var forgeRuntimeContextPacketSchema = external_exports.object({
|
|
44859
44984
|
schema_version: external_exports.literal(1),
|
|
44860
|
-
phase_run_id:
|
|
44861
|
-
build_request_id:
|
|
44862
|
-
software_project_id:
|
|
44985
|
+
phase_run_id: uuid11,
|
|
44986
|
+
build_request_id: uuid11,
|
|
44987
|
+
software_project_id: uuid11,
|
|
44863
44988
|
phase: softwarePhaseSchema,
|
|
44864
44989
|
request_status: softwareRequestStatusSchema,
|
|
44865
44990
|
project: external_exports.object({
|
|
@@ -44868,7 +44993,7 @@ var forgeRuntimeContextPacketSchema = external_exports.object({
|
|
|
44868
44993
|
}).strict(),
|
|
44869
44994
|
scheduler: external_exports.object({
|
|
44870
44995
|
lease_model: external_exports.literal("work_order_claim_heartbeat"),
|
|
44871
|
-
runner_id:
|
|
44996
|
+
runner_id: uuid11,
|
|
44872
44997
|
max_runner_sessions: external_exports.number().int().positive().max(8),
|
|
44873
44998
|
model_account_state: external_exports.string().min(1).max(80),
|
|
44874
44999
|
account_alias: external_exports.string().min(1).max(200).nullable()
|
|
@@ -44952,7 +45077,7 @@ var runnerTurnReportSchema = external_exports.object({
|
|
|
44952
45077
|
var softwareDeveloperTeamInstallInputSchema = external_exports.object({
|
|
44953
45078
|
// The human-accountable steward seat for the installed team. Agent seats created
|
|
44954
45079
|
// by the template chain through this seat so no agent occupancy can be orphaned.
|
|
44955
|
-
steward_seat_id:
|
|
45080
|
+
steward_seat_id: uuid11,
|
|
44956
45081
|
// Optional project scope for authority grants. Authority profile presets are
|
|
44957
45082
|
// installed tenant-wide either way; grants are project-scoped only when supplied.
|
|
44958
45083
|
// DER-1241: `.nullable()` too — this command is human-confirmed, so its input is
|
|
@@ -44960,7 +45085,7 @@ var softwareDeveloperTeamInstallInputSchema = external_exports.object({
|
|
|
44960
45085
|
// replay; an empty project round-trips as JSON `null`, which a bare `.optional()`
|
|
44961
45086
|
// rejects (→ "Command input failed schema validation"). Matches the sibling
|
|
44962
45087
|
// software-factory schemas that already use `.nullable().optional()`.
|
|
44963
|
-
software_project_id:
|
|
45088
|
+
software_project_id: uuid11.nullable().optional(),
|
|
44964
45089
|
assign_skills: external_exports.boolean().default(true),
|
|
44965
45090
|
// DER-1264: the install auto-staffs live agents at a pr_only, observe-first
|
|
44966
45091
|
// posture. If the tenant's company autonomy ceiling (`agent_policy`) is MORE
|
|
@@ -44980,34 +45105,34 @@ var softwareDeveloperTeamInstallInputSchema = external_exports.object({
|
|
|
44980
45105
|
}).strict();
|
|
44981
45106
|
var softwareDeveloperTeamSeatSummarySchema = external_exports.object({
|
|
44982
45107
|
role: softwareDeveloperTeamRoleSchema,
|
|
44983
|
-
seat_id:
|
|
45108
|
+
seat_id: uuid11,
|
|
44984
45109
|
name: external_exports.string(),
|
|
44985
|
-
charter_version_id:
|
|
45110
|
+
charter_version_id: uuid11,
|
|
44986
45111
|
created: external_exports.boolean()
|
|
44987
45112
|
});
|
|
44988
45113
|
var softwareDeveloperTeamSkillSummarySchema = external_exports.object({
|
|
44989
45114
|
slug: external_exports.string(),
|
|
44990
|
-
skill_id:
|
|
44991
|
-
skill_version_id:
|
|
44992
|
-
assigned_seat_ids: external_exports.array(
|
|
45115
|
+
skill_id: uuid11,
|
|
45116
|
+
skill_version_id: uuid11,
|
|
45117
|
+
assigned_seat_ids: external_exports.array(uuid11)
|
|
44993
45118
|
});
|
|
44994
45119
|
var softwareDeveloperTeamAuthorityProfileSummarySchema = external_exports.object({
|
|
44995
45120
|
preset: softwareAuthorityPresetSchema,
|
|
44996
|
-
profile_id:
|
|
45121
|
+
profile_id: uuid11,
|
|
44997
45122
|
name: external_exports.string()
|
|
44998
45123
|
});
|
|
44999
45124
|
var softwareDeveloperTeamAuthorityGrantSummarySchema = external_exports.object({
|
|
45000
45125
|
role: softwareDeveloperTeamRoleSchema,
|
|
45001
|
-
software_project_id:
|
|
45002
|
-
seat_id:
|
|
45003
|
-
authority_profile_id:
|
|
45004
|
-
grant_id:
|
|
45126
|
+
software_project_id: uuid11,
|
|
45127
|
+
seat_id: uuid11,
|
|
45128
|
+
authority_profile_id: uuid11,
|
|
45129
|
+
grant_id: uuid11,
|
|
45005
45130
|
created: external_exports.boolean()
|
|
45006
45131
|
});
|
|
45007
45132
|
var softwareDeveloperTeamOccupancySummarySchema = external_exports.object({
|
|
45008
45133
|
role: softwareDeveloperTeamRoleSchema,
|
|
45009
|
-
seat_id:
|
|
45010
|
-
agent_id:
|
|
45134
|
+
seat_id: uuid11,
|
|
45135
|
+
agent_id: uuid11,
|
|
45011
45136
|
template_slug: external_exports.string(),
|
|
45012
45137
|
status: external_exports.literal("live"),
|
|
45013
45138
|
// false when a live agent already occupied the seat (idempotent re-install).
|
|
@@ -45027,7 +45152,7 @@ var softwareDeveloperTeamTokenBudgetSummarySchema = external_exports.object({
|
|
|
45027
45152
|
set_by_install: external_exports.boolean()
|
|
45028
45153
|
});
|
|
45029
45154
|
var softwareDeveloperTeamGithubPolicySummarySchema = external_exports.object({
|
|
45030
|
-
software_project_id:
|
|
45155
|
+
software_project_id: uuid11,
|
|
45031
45156
|
automation_mode_ceiling: softwareAutomationModeSchema,
|
|
45032
45157
|
// false when a pre-existing policy was preserved (not created by this install).
|
|
45033
45158
|
created: external_exports.boolean()
|
|
@@ -45055,8 +45180,8 @@ var softwareDeveloperTeamUninstallInputSchema = external_exports.object({
|
|
|
45055
45180
|
}).strict();
|
|
45056
45181
|
var softwareDeveloperTeamDecommissionedAgentSchema = external_exports.object({
|
|
45057
45182
|
role: softwareDeveloperTeamRoleSchema.nullable(),
|
|
45058
|
-
seat_id:
|
|
45059
|
-
agent_id:
|
|
45183
|
+
seat_id: uuid11,
|
|
45184
|
+
agent_id: uuid11
|
|
45060
45185
|
});
|
|
45061
45186
|
var softwareDeveloperTeamUninstallOutputSchema = external_exports.object({
|
|
45062
45187
|
torn_down: external_exports.boolean(),
|
|
@@ -45206,8 +45331,8 @@ var forgeMemoryDraftArtifact = external_exports.object({
|
|
|
45206
45331
|
follow_up_items: forgeArtifactList
|
|
45207
45332
|
}).strict();
|
|
45208
45333
|
var softwareGithubAutomationPolicyInputSchema = external_exports.object({
|
|
45209
|
-
software_project_id:
|
|
45210
|
-
authority_profile_id:
|
|
45334
|
+
software_project_id: uuid11,
|
|
45335
|
+
authority_profile_id: uuid11.nullable().optional(),
|
|
45211
45336
|
automation_mode_ceiling: softwareAutomationModeSchema.default("plan_only"),
|
|
45212
45337
|
allowed_actions: external_exports.array(softwareGithubActionSchema).max(20),
|
|
45213
45338
|
// DER-1233: the element schema is a single FLATTENED enum (the union of the
|
|
@@ -45238,12 +45363,12 @@ var softwareGithubInstallationConnectInputSchema = external_exports.object({
|
|
|
45238
45363
|
repositories: external_exports.array(softwareGithubConnectedRepositoryInputSchema).min(1).max(200)
|
|
45239
45364
|
}).strict();
|
|
45240
45365
|
var softwareGithubInstallationConnectOutputSchema = external_exports.object({
|
|
45241
|
-
github_installation_id:
|
|
45366
|
+
github_installation_id: uuid11,
|
|
45242
45367
|
repositories_connected: external_exports.number().int().nonnegative()
|
|
45243
45368
|
});
|
|
45244
45369
|
var softwareGithubRepositoryBindMappingSchema = external_exports.object({
|
|
45245
45370
|
repository_id: external_exports.number().int().positive(),
|
|
45246
|
-
software_project_id:
|
|
45371
|
+
software_project_id: uuid11
|
|
45247
45372
|
}).strict();
|
|
45248
45373
|
var softwareGithubInstallationBindInputSchema = external_exports.object({
|
|
45249
45374
|
app_slug: external_exports.string().trim().min(1).max(120).default("rost-forge"),
|
|
@@ -45251,7 +45376,7 @@ var softwareGithubInstallationBindInputSchema = external_exports.object({
|
|
|
45251
45376
|
bindings: external_exports.array(softwareGithubRepositoryBindMappingSchema).min(1).max(100)
|
|
45252
45377
|
}).strict();
|
|
45253
45378
|
var softwareGithubInstallationBindOutputSchema = external_exports.object({
|
|
45254
|
-
github_installation_id:
|
|
45379
|
+
github_installation_id: uuid11,
|
|
45255
45380
|
repositories_bound: external_exports.number().int().nonnegative()
|
|
45256
45381
|
});
|
|
45257
45382
|
var softwareGithubRepositoryUnbindInputSchema = external_exports.object({
|
|
@@ -45272,12 +45397,12 @@ var softwareGithubInstallationRepositoryViewSchema = external_exports.object({
|
|
|
45272
45397
|
private: external_exports.boolean(),
|
|
45273
45398
|
default_branch: external_exports.string(),
|
|
45274
45399
|
status: external_exports.enum(["connected", "active"]),
|
|
45275
|
-
software_project_id:
|
|
45400
|
+
software_project_id: uuid11.nullable(),
|
|
45276
45401
|
software_project_name: external_exports.string().nullable(),
|
|
45277
45402
|
software_project_slug: external_exports.string().nullable()
|
|
45278
45403
|
});
|
|
45279
45404
|
var softwareGithubInstallationViewSchema = external_exports.object({
|
|
45280
|
-
id:
|
|
45405
|
+
id: uuid11,
|
|
45281
45406
|
installation_id: external_exports.number().int().positive(),
|
|
45282
45407
|
account_login: external_exports.string(),
|
|
45283
45408
|
account_id: external_exports.number().int().positive(),
|
|
@@ -45289,16 +45414,16 @@ var softwareGithubInstallationListOutputSchema = external_exports.object({
|
|
|
45289
45414
|
installations: external_exports.array(softwareGithubInstallationViewSchema)
|
|
45290
45415
|
});
|
|
45291
45416
|
var softwareGithubAutomationPolicyUpsertOutputSchema = external_exports.object({
|
|
45292
|
-
policy_id:
|
|
45293
|
-
software_project_id:
|
|
45417
|
+
policy_id: uuid11,
|
|
45418
|
+
software_project_id: uuid11,
|
|
45294
45419
|
automation_mode_ceiling: softwareAutomationModeSchema
|
|
45295
45420
|
});
|
|
45296
45421
|
var softwareGithubInstallationTokenCreateInputSchema = external_exports.object({
|
|
45297
|
-
software_project_id:
|
|
45422
|
+
software_project_id: uuid11,
|
|
45298
45423
|
repository_id: external_exports.number().int().positive(),
|
|
45299
45424
|
requested_actions: external_exports.array(softwareGithubActionSchema).min(1).max(20),
|
|
45300
45425
|
requested_automation_mode: softwareAutomationModeSchema.default("plan_only"),
|
|
45301
|
-
seat_id:
|
|
45426
|
+
seat_id: uuid11.optional()
|
|
45302
45427
|
}).strict();
|
|
45303
45428
|
var softwareGithubInstallationTokenCreateOutputSchema = external_exports.object({
|
|
45304
45429
|
installation_id: external_exports.number().int().positive(),
|
|
@@ -45335,13 +45460,13 @@ var softwareVercelConnectionConnectInputSchema = external_exports.object({
|
|
|
45335
45460
|
scopes: external_exports.array(external_exports.string().trim().min(1).max(120)).max(40).default([])
|
|
45336
45461
|
}).strict();
|
|
45337
45462
|
var softwareVercelConnectionConnectOutputSchema = external_exports.object({
|
|
45338
|
-
vercel_connection_id:
|
|
45463
|
+
vercel_connection_id: uuid11,
|
|
45339
45464
|
account_id: external_exports.string(),
|
|
45340
45465
|
team_id: external_exports.string().nullable()
|
|
45341
45466
|
});
|
|
45342
45467
|
var softwareVercelProjectLinkInputSchema = external_exports.object({
|
|
45343
|
-
software_project_id:
|
|
45344
|
-
vercel_connection_id:
|
|
45468
|
+
software_project_id: uuid11,
|
|
45469
|
+
vercel_connection_id: uuid11,
|
|
45345
45470
|
vercel_project_id: external_exports.string().trim().min(1).max(200),
|
|
45346
45471
|
vercel_project_name: external_exports.string().trim().min(1).max(255),
|
|
45347
45472
|
framework: external_exports.string().trim().min(1).max(120).nullable().optional(),
|
|
@@ -45350,12 +45475,12 @@ var softwareVercelProjectLinkInputSchema = external_exports.object({
|
|
|
45350
45475
|
git_repository: external_exports.record(external_exports.string().min(1), external_exports.unknown()).default({})
|
|
45351
45476
|
}).strict();
|
|
45352
45477
|
var softwareVercelProjectLinkOutputSchema = external_exports.object({
|
|
45353
|
-
vercel_project_link_id:
|
|
45354
|
-
software_project_id:
|
|
45478
|
+
vercel_project_link_id: uuid11,
|
|
45479
|
+
software_project_id: uuid11,
|
|
45355
45480
|
vercel_project_id: external_exports.string()
|
|
45356
45481
|
});
|
|
45357
45482
|
var softwareVercelConnectionViewSchema = external_exports.object({
|
|
45358
|
-
id:
|
|
45483
|
+
id: uuid11,
|
|
45359
45484
|
account_id: external_exports.string(),
|
|
45360
45485
|
account_name: external_exports.string().nullable(),
|
|
45361
45486
|
team_id: external_exports.string().nullable(),
|
|
@@ -45366,11 +45491,11 @@ var softwareVercelConnectionViewSchema = external_exports.object({
|
|
|
45366
45491
|
connected_at: external_exports.string()
|
|
45367
45492
|
});
|
|
45368
45493
|
var softwareVercelProjectLinkViewSchema = external_exports.object({
|
|
45369
|
-
id:
|
|
45370
|
-
software_project_id:
|
|
45494
|
+
id: uuid11,
|
|
45495
|
+
software_project_id: uuid11,
|
|
45371
45496
|
software_project_name: external_exports.string(),
|
|
45372
45497
|
software_project_slug: external_exports.string(),
|
|
45373
|
-
vercel_connection_id:
|
|
45498
|
+
vercel_connection_id: uuid11,
|
|
45374
45499
|
vercel_project_id: external_exports.string(),
|
|
45375
45500
|
vercel_project_name: external_exports.string(),
|
|
45376
45501
|
framework: external_exports.string().nullable(),
|
|
@@ -45384,16 +45509,16 @@ var softwareVercelProjectListOutputSchema = external_exports.object({
|
|
|
45384
45509
|
project_links: external_exports.array(softwareVercelProjectLinkViewSchema)
|
|
45385
45510
|
});
|
|
45386
45511
|
var softwareVercelDeployPreviewInputSchema = external_exports.object({
|
|
45387
|
-
software_project_id:
|
|
45512
|
+
software_project_id: uuid11,
|
|
45388
45513
|
commit_sha: external_exports.string().trim().regex(/^[A-Fa-f0-9]{7,64}$/),
|
|
45389
45514
|
git_ref: external_exports.string().trim().min(1).max(255),
|
|
45390
|
-
build_request_id:
|
|
45391
|
-
phase_run_id:
|
|
45392
|
-
seat_id:
|
|
45515
|
+
build_request_id: uuid11.optional(),
|
|
45516
|
+
phase_run_id: uuid11.optional(),
|
|
45517
|
+
seat_id: uuid11.optional(),
|
|
45393
45518
|
required_secret_keys: external_exports.array(external_exports.string().trim().min(1).max(200)).max(25).default([])
|
|
45394
45519
|
}).strict();
|
|
45395
45520
|
var softwareVercelDeployPreviewOutputSchema = external_exports.object({
|
|
45396
|
-
vercel_deployment_record_id:
|
|
45521
|
+
vercel_deployment_record_id: uuid11,
|
|
45397
45522
|
deployment_id: external_exports.string(),
|
|
45398
45523
|
deployment_url: external_exports.string().nullable(),
|
|
45399
45524
|
commit_sha: external_exports.string(),
|
|
@@ -45401,18 +45526,18 @@ var softwareVercelDeployPreviewOutputSchema = external_exports.object({
|
|
|
45401
45526
|
});
|
|
45402
45527
|
|
|
45403
45528
|
// ../../packages/protocol/src/software-factory-events.ts
|
|
45404
|
-
var
|
|
45529
|
+
var uuid12 = external_exports.string().uuid();
|
|
45405
45530
|
var softwareFactoryPhaseRunCompletedEventSchema = external_exports.object({
|
|
45406
|
-
tenantId:
|
|
45407
|
-
phaseRunId:
|
|
45408
|
-
buildRequestId:
|
|
45531
|
+
tenantId: uuid12,
|
|
45532
|
+
phaseRunId: uuid12,
|
|
45533
|
+
buildRequestId: uuid12.nullish(),
|
|
45409
45534
|
status: external_exports.enum(["passed", "failed"]),
|
|
45410
45535
|
idempotencyKey: external_exports.string().min(1).optional()
|
|
45411
45536
|
}).strict();
|
|
45412
45537
|
var softwareFactoryBudgetExhaustedEventSchema = external_exports.object({
|
|
45413
|
-
tenantId:
|
|
45414
|
-
phaseRunId:
|
|
45415
|
-
buildRequestId:
|
|
45538
|
+
tenantId: uuid12,
|
|
45539
|
+
phaseRunId: uuid12,
|
|
45540
|
+
buildRequestId: uuid12,
|
|
45416
45541
|
reason: external_exports.string().min(1),
|
|
45417
45542
|
idempotencyKey: external_exports.string().min(1).optional()
|
|
45418
45543
|
}).strict();
|
|
@@ -45868,6 +45993,170 @@ var escalationDecisionOutputSchema = external_exports.object({
|
|
|
45868
45993
|
replay_action_pending: external_exports.boolean().optional()
|
|
45869
45994
|
}).strict();
|
|
45870
45995
|
|
|
45996
|
+
// ../../packages/protocol/src/work-ledger.ts
|
|
45997
|
+
var WORK_VERBS = [
|
|
45998
|
+
"created",
|
|
45999
|
+
"updated",
|
|
46000
|
+
"removed",
|
|
46001
|
+
"sent",
|
|
46002
|
+
"received",
|
|
46003
|
+
"contacted",
|
|
46004
|
+
"replied",
|
|
46005
|
+
"offered",
|
|
46006
|
+
"accepted",
|
|
46007
|
+
"rejected",
|
|
46008
|
+
"assessed",
|
|
46009
|
+
"announced",
|
|
46010
|
+
"assigned",
|
|
46011
|
+
"invited",
|
|
46012
|
+
"flagged",
|
|
46013
|
+
"booked",
|
|
46014
|
+
"searched",
|
|
46015
|
+
"filed",
|
|
46016
|
+
"extracted",
|
|
46017
|
+
"escalated"
|
|
46018
|
+
];
|
|
46019
|
+
var workVerbSchema = external_exports.enum(WORK_VERBS);
|
|
46020
|
+
var WORK_OUTCOMES = ["success", "warning", "error", "held"];
|
|
46021
|
+
var workOutcomeSchema = external_exports.enum(WORK_OUTCOMES);
|
|
46022
|
+
var objectKindSchema = external_exports.string().trim().min(1).max(128);
|
|
46023
|
+
var externalIdSchema = external_exports.string().trim().min(1).max(512);
|
|
46024
|
+
var labelSchema = external_exports.string().trim().min(1).max(200);
|
|
46025
|
+
var displayUrlSchema = external_exports.string().trim().max(2048).refine(
|
|
46026
|
+
(value) => /^https?:\/\//u.test(value) || value.startsWith("/") || value.startsWith("rost://"),
|
|
46027
|
+
{ message: "url must be http(s), a tenant-local path, or a rost:// reference" }
|
|
46028
|
+
);
|
|
46029
|
+
var entityRefSchema = external_exports.object({
|
|
46030
|
+
kind: objectKindSchema,
|
|
46031
|
+
external_id: externalIdSchema,
|
|
46032
|
+
label: labelSchema.optional(),
|
|
46033
|
+
url: displayUrlSchema.optional()
|
|
46034
|
+
}).strict();
|
|
46035
|
+
var contextRefSchema = external_exports.object({
|
|
46036
|
+
kind: objectKindSchema,
|
|
46037
|
+
external_id: externalIdSchema,
|
|
46038
|
+
label: labelSchema.optional()
|
|
46039
|
+
}).strict();
|
|
46040
|
+
var workLedgerRecordSchema = external_exports.object({
|
|
46041
|
+
verb: workVerbSchema,
|
|
46042
|
+
outcome: workOutcomeSchema.default("success"),
|
|
46043
|
+
object: entityRefSchema,
|
|
46044
|
+
// Optional second slot ("…about PO-1892"); genuinely multi-target activity
|
|
46045
|
+
// goes in details, not a second fixed slot (Salesforce's documented wall).
|
|
46046
|
+
target: entityRefSchema.optional(),
|
|
46047
|
+
context: contextRefSchema.optional(),
|
|
46048
|
+
// Optional governance joins. run_id / tool_call_id are re-validated server-side
|
|
46049
|
+
// against the acting tenant + seat; a caller cannot forge cross-tenant links.
|
|
46050
|
+
run_id: external_exports.string().uuid().optional(),
|
|
46051
|
+
tool_call_id: external_exports.string().uuid().optional(),
|
|
46052
|
+
// Deliverable / document / thread link (≈ A2A Artifact).
|
|
46053
|
+
evidence_ref: external_exports.string().trim().min(1).max(2048).optional(),
|
|
46054
|
+
// Versioned prompt used for external comms (P-17; invariant #9 tie-in).
|
|
46055
|
+
template_ref: external_exports.string().trim().min(1).max(512).optional(),
|
|
46056
|
+
// Default 1; only for genuinely anonymous bulk work. Rule: if a client might
|
|
46057
|
+
// ask "which ones?", log per-entity.
|
|
46058
|
+
quantity: external_exports.number().int().min(1).max(1e6).default(1),
|
|
46059
|
+
summary: external_exports.string().trim().min(1).max(2e3),
|
|
46060
|
+
// Zod-validated against the registry entry's details schema at log time
|
|
46061
|
+
// (permissive JSON object when no typed schema is registered).
|
|
46062
|
+
details: external_exports.record(external_exports.string(), external_exports.unknown()).default({}),
|
|
46063
|
+
// Idempotency: verb + object_ref + external event id (Gmail message id,
|
|
46064
|
+
// Baserow row id). A retried turn re-logging the same key is a no-op.
|
|
46065
|
+
dedup_key: external_exports.string().trim().min(1).max(512).optional(),
|
|
46066
|
+
// Correction: this record supersedes an earlier one (same seat + tenant).
|
|
46067
|
+
supersedes_id: external_exports.string().uuid().optional()
|
|
46068
|
+
}).strict();
|
|
46069
|
+
var WORK_LEDGER_MAX_BATCH = 100;
|
|
46070
|
+
var workLedgerLogInputSchema = external_exports.object({
|
|
46071
|
+
records: external_exports.array(workLedgerRecordSchema).min(1).max(WORK_LEDGER_MAX_BATCH)
|
|
46072
|
+
}).strict();
|
|
46073
|
+
var workLedgerLogResultSchema = external_exports.object({
|
|
46074
|
+
id: external_exports.string().uuid(),
|
|
46075
|
+
dedup_key: external_exports.string().nullable(),
|
|
46076
|
+
// true when this dedup_key already existed — the insert was an idempotent no-op.
|
|
46077
|
+
deduplicated: external_exports.boolean()
|
|
46078
|
+
}).strict();
|
|
46079
|
+
var workLedgerLogOutputSchema = external_exports.object({
|
|
46080
|
+
records: external_exports.array(workLedgerLogResultSchema),
|
|
46081
|
+
logged_count: external_exports.number().int().min(0),
|
|
46082
|
+
deduplicated_count: external_exports.number().int().min(0)
|
|
46083
|
+
}).strict();
|
|
46084
|
+
var workLedgerRecordViewSchema = external_exports.object({
|
|
46085
|
+
id: external_exports.string().uuid(),
|
|
46086
|
+
seat_id: external_exports.string().uuid(),
|
|
46087
|
+
agent_id: external_exports.string().uuid().nullable(),
|
|
46088
|
+
run_id: external_exports.string().uuid().nullable(),
|
|
46089
|
+
tool_call_id: external_exports.string().uuid().nullable(),
|
|
46090
|
+
verb: workVerbSchema,
|
|
46091
|
+
outcome: workOutcomeSchema,
|
|
46092
|
+
object_kind: external_exports.string(),
|
|
46093
|
+
object_external_id: external_exports.string(),
|
|
46094
|
+
object_label: external_exports.string().nullable(),
|
|
46095
|
+
object_url: external_exports.string().nullable(),
|
|
46096
|
+
target_kind: external_exports.string().nullable(),
|
|
46097
|
+
target_external_id: external_exports.string().nullable(),
|
|
46098
|
+
target_label: external_exports.string().nullable(),
|
|
46099
|
+
target_url: external_exports.string().nullable(),
|
|
46100
|
+
context_kind: external_exports.string().nullable(),
|
|
46101
|
+
context_external_id: external_exports.string().nullable(),
|
|
46102
|
+
context_label: external_exports.string().nullable(),
|
|
46103
|
+
evidence_ref: external_exports.string().nullable(),
|
|
46104
|
+
template_ref: external_exports.string().nullable(),
|
|
46105
|
+
quantity: external_exports.number().int(),
|
|
46106
|
+
summary: external_exports.string(),
|
|
46107
|
+
details: external_exports.record(external_exports.string(), external_exports.unknown()),
|
|
46108
|
+
dedup_key: external_exports.string().nullable(),
|
|
46109
|
+
supersedes_id: external_exports.string().uuid().nullable(),
|
|
46110
|
+
created_at: external_exports.string()
|
|
46111
|
+
}).strict();
|
|
46112
|
+
var workLedgerListInputSchema = external_exports.object({
|
|
46113
|
+
verb: workVerbSchema.optional(),
|
|
46114
|
+
outcome: workOutcomeSchema.optional(),
|
|
46115
|
+
object_kind: objectKindSchema.optional(),
|
|
46116
|
+
object_external_id: externalIdSchema.optional(),
|
|
46117
|
+
run_id: external_exports.string().uuid().optional(),
|
|
46118
|
+
// Tenant-admin cross-seat view: an explicit seat filter. Seat-scoped callers
|
|
46119
|
+
// are always constrained to their own seat server-side regardless of this.
|
|
46120
|
+
seat_id: external_exports.string().uuid().optional(),
|
|
46121
|
+
// Include records that have been superseded by a later correction (default off
|
|
46122
|
+
// so the feed shows the current narrative).
|
|
46123
|
+
include_superseded: external_exports.boolean().default(false),
|
|
46124
|
+
limit: external_exports.number().int().min(1).max(100).default(50),
|
|
46125
|
+
// Opaque keyset cursor from a previous page's next_cursor.
|
|
46126
|
+
cursor: external_exports.string().min(1).max(200).optional()
|
|
46127
|
+
}).strict();
|
|
46128
|
+
var workLedgerListOutputSchema = external_exports.object({
|
|
46129
|
+
records: external_exports.array(workLedgerRecordViewSchema),
|
|
46130
|
+
next_cursor: external_exports.string().nullable()
|
|
46131
|
+
}).strict();
|
|
46132
|
+
var activityRegistryEntrySchema = external_exports.object({
|
|
46133
|
+
activity_kind: external_exports.string().regex(/^[a-z][a-z0-9_]{0,63}$/u, "activity_kind must be a lower_snake slug (<=64 chars)"),
|
|
46134
|
+
verb: workVerbSchema,
|
|
46135
|
+
object_kind: objectKindSchema,
|
|
46136
|
+
label: labelSchema,
|
|
46137
|
+
// Names one of workDetailsSchemas; null = permissive (details need only be a
|
|
46138
|
+
// JSON object). A novel kind starts null until a typed schema ships.
|
|
46139
|
+
details_schema_key: external_exports.string().min(1).max(128).nullable().default(null),
|
|
46140
|
+
// Seam for signal auto-derivation (a later PR): whether ledger counts feed a
|
|
46141
|
+
// Signal, and the human-facing unit ("suppliers/week").
|
|
46142
|
+
derives_measurable: external_exports.boolean().default(false),
|
|
46143
|
+
measurable_unit: external_exports.string().min(1).max(64).nullable().default(null),
|
|
46144
|
+
description: external_exports.string().max(2e3).nullable().default(null)
|
|
46145
|
+
}).strict();
|
|
46146
|
+
var workDetailsSchemas = {
|
|
46147
|
+
supplier_contacted: external_exports.object({
|
|
46148
|
+
channel: external_exports.enum(["email", "phone", "portal", "chat", "other"]).optional(),
|
|
46149
|
+
subject: external_exports.string().max(500).optional(),
|
|
46150
|
+
thread_ref: external_exports.string().max(512).optional()
|
|
46151
|
+
}).strict(),
|
|
46152
|
+
quote_extracted: external_exports.object({
|
|
46153
|
+
amount: external_exports.number().nonnegative().optional(),
|
|
46154
|
+
currency: external_exports.string().length(3).optional(),
|
|
46155
|
+
unit: external_exports.string().max(64).optional(),
|
|
46156
|
+
lead_time_days: external_exports.number().int().nonnegative().optional()
|
|
46157
|
+
}).strict()
|
|
46158
|
+
};
|
|
46159
|
+
|
|
45871
46160
|
// ../../packages/protocol/src/index.ts
|
|
45872
46161
|
var eventTypes = [
|
|
45873
46162
|
"status",
|
|
@@ -47267,7 +47556,7 @@ External connectors are being rolled out provider by provider, conservatively (r
|
|
|
47267
47556
|
order: 48,
|
|
47268
47557
|
title: "CLI and MCP installation guide",
|
|
47269
47558
|
summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
|
|
47270
|
-
version: "2026-07-13.
|
|
47559
|
+
version: "2026-07-13.7",
|
|
47271
47560
|
public: true,
|
|
47272
47561
|
audiences: ["human", "cli", "mcp", "in_app_agent"],
|
|
47273
47562
|
stages: ["company_setup", "staffing"],
|
|
@@ -48058,6 +48347,15 @@ Forge Vercel access is through a tenant-bound OAuth connection, never a browser-
|
|
|
48058
48347
|
|
|
48059
48348
|
Preview deployment creation is a governed command. \`software_factory.vercel.deploy_preview\` requires an active Vercel project link, a Vercel OAuth vault-ref connection, active \`deploy_preview\` Forge authority for the requesting seat when a seat is supplied, and any requested preview secret/config grants. It writes the deployment id, URL, commit SHA, checks, status, and error metadata into \`software_vercel_deployments\`; build-request deployments also write a Forge artifact and event. Raw OAuth tokens and vault refs are never returned.
|
|
48060
48349
|
|
|
48350
|
+
#### Secret broker grants (tenant-level)
|
|
48351
|
+
|
|
48352
|
+
Generalized brokered-secret egress beyond Forge (DER-1738). A human grants an agent seat a scoped secret the \`secret.broker\` egress tool and the \`baserow.read\`/\`baserow.write\` tools (DER-1739) resolve server-side; Postgres stores only a vault-ref pointer, never secret material. A seat agent asks for and lists its own grants through the seat-scoped \`secret_grant.request\` / \`secret_grant.list\` tools (in Seat-scoped operating tools below); a human grants and revokes here. Baserow authenticates with an \`Authorization: Token <key>\` header, so a Baserow grant uses \`injection_mode: "header"\`, \`injection_name: "Authorization"\`, and stores the full \`Token <key>\` string as its vault secret.
|
|
48353
|
+
|
|
48354
|
+
| Tool | Command | What it does | Scope | Notes |
|
|
48355
|
+
|---|---|---|---|---|
|
|
48356
|
+
| \`rost_grant_a_brokered_secret\` | \`secret_grant.grant\` | A human grants a seat scoped brokered-secret access by vault ref (host, path prefix, methods, injection). Postgres stores only the pointer, never secret material. Owner-only and human-gated; the secret.broker and baserow.* tools resolve it server-side and the secret never enters agent context. | Tenant-admin | Call with {"seat_id":"<seat-id>","grant_key":"baserow","provider":"baserow","allowed_host":"baserow.example.com","allowed_path_prefix":"/api/database/rows/","allowed_methods":["GET","POST","PATCH"],"scope_tier":"write","injection_mode":"header","injection_name":"Authorization","vault_ref":"infisical://prod/baserow-token"}. |
|
|
48357
|
+
| \`rost_revoke_a_brokered_secret_grant\` | \`secret_grant.revoke\` | Revoke a brokered secret grant (teardown \u2014 cut a compromised or over-scoped seat egress immediately; the next broker call fails closed). Owner-only and human-gated. | Tenant-admin | Call with {"grant_id":"<grant-id>"}; non-interactive callers receive a confirmation handoff. |
|
|
48358
|
+
|
|
48061
48359
|
### Seat-scoped operating tools
|
|
48062
48360
|
|
|
48063
48361
|
Seat-scoped MCP tokens expose the operating protocol below. The server still checks the seat's permission manifest, Charter, task ownership, and tenant boundary. These are the **seat-token equivalents** of the CLI \`{{cli}} task\` / \`{{cli}} signal\` / \`{{cli}} friction\` wrappers and the tenant-admin task tools above: \`rost_get_tasks\`, \`{{cli}} task list\`, and \`task.list\` are the same operation reached three different ways. The command-id column makes the mapping explicit.
|
|
@@ -48072,12 +48370,16 @@ Seat-scoped MCP tokens expose the operating protocol below. The server still che
|
|
|
48072
48370
|
| \`rost_complete_task\` | \`task.complete\` | Complete a task and record evidence. | Seat | Call with \`task_id\` and evidence. |
|
|
48073
48371
|
| \`rost_escalate\` | \`escalation.raise\` | Escalate approval-scope or must-escalate work. | Seat | Call with severity, reason, and requested decision. |
|
|
48074
48372
|
| \`rost_file_issue\` | \`friction.file_issue\` | File a Friction issue. | Seat | Call with title, severity, and impact. |
|
|
48075
|
-
| \`rost_log_work\` | \`work.log\` | Record work
|
|
48373
|
+
| \`rost_log_work\` | \`work.log\` | Record a lightweight free-text work breadcrumb for the seat. For structured, per-entity, queryable business activity (a client might ask "which ones?"), use \`rost_record_work\` instead. | Seat | Call with summary and evidence. |
|
|
48076
48374
|
| \`rost_report_a_signal_reading\` | \`signal.report\` | Propose one draft reading for this seat's own agent-sourced measurable. The reading lands unconfirmed for human review. | Seat | Call with \`{"measurable_id":"<id>","value":42,"note":"read off the source","confidence":"high"}\`. |
|
|
48077
48375
|
| \`rost_create_agent_deliverable\` | \`deliverable.create\` | Create a scrubbed durable work output for the acting seat. | Seat | Call with title, kind, summary/content, and optional safe links. |
|
|
48078
48376
|
| \`rost_attach_agent_deliverable\` | \`deliverable.attach\` | Attach a scrubbed deliverable to a source run, task, or work order after server-side seat validation. | Seat | Call with title, kind, and the source ids that belong to the acting seat. |
|
|
48377
|
+
| \`rost_record_work\` | \`work.record\` | Append structured business-activity records to the seat's append-only work ledger, in a batch, right after each action succeeds. Prefer this over \`rost_log_work\` for durable, per-entity, queryable activity (verb + entity ref + outcome + evidence). Secret-redacted; idempotent on \`dedup_key\`; corrections are superseding records. | Seat | Call with \`{"records":[{"verb":"contacted","object":{"kind":"supplier","external_id":"sup_42","label":"Acme Foods"},"summary":"Emailed Acme for a monk fruit quote.","dedup_key":"gmail:msg-abc"}]}\`. |
|
|
48378
|
+
| \`rost_list_work_records\` | \`work.list\` | List the seat's work-ledger records newest-first (keyset-paginated), filterable by verb, object kind/ref, outcome, or run. | Seat | Call with \`{"verb":"contacted","object_kind":"supplier","limit":50}\`. |
|
|
48079
48379
|
| \`rost_request_a_forge_secret_grant\` | \`software_factory.secret.request\` | Request access to a project secret by key. It creates a durable credential request and approval Task, never accepts a secret value, and does not grant access by itself. | Seat | Call with \`{"software_project_id":"<project-id>","environment":"preview","seat_id":"<seat-id>","action":"test.run","key_name":"OPENAI_API_KEY"}\`. |
|
|
48080
48380
|
| \`rost_verify_forge_secret_broker_access\` | \`software_factory.secret.use\` | Verify broker authorization for a Forge secret without opening the vault. Missing grants create or reuse a credential request + approval Task; allowed grants return a redacted authorization summary only. Runtime vault use happens runner-side. | Seat | Call with \`{"software_project_id":"<project-id>","environment":"preview","seat_id":"<seat-id>","action":"test.run","key_name":"OPENAI_API_KEY","operation":"test_execution"}\`. |
|
|
48381
|
+
| \`rost_request_a_brokered_secret_grant\` | \`secret_grant.request\` | A seat agent requests a scoped brokered-secret grant (for secret.broker / baserow.*) by naming the host, path prefix, methods, and scope it needs. Draft-and-confirm: no secret and no vault ref; returns an event id for a human to grant via secret_grant.grant. | Seat | Call with {"seat_id":"<seat-id>","grant_key":"baserow","provider":"baserow","allowed_host":"baserow.example.com","allowed_path_prefix":"/api/database/rows/","allowed_methods":["GET"],"scope_tier":"read"}. |
|
|
48382
|
+
| \`rost_list_brokered_secret_grants\` | \`secret_grant.list\` | List the seat's own brokered secret grants. Returns egress allowlist metadata only (host, path prefix, methods, scope, status), never the vault ref or any secret. | Seat | Call with {} (an agent is server-pinned to its own seat). |
|
|
48081
48383
|
| \`rost_record_forge_conformance_findings\` | \`software_factory.conformance.record_findings\` | A Forge review seat (plan conformance, security, or QA) records structured findings as reviewer evidence. Set \`changeset_id\` on a finding that targets a specific changeset. Open findings route the request back to implementation; accepting a gap remains a separate human gate. Requires the seat's signed manifest grant. | Seat | Call with \`{"build_request_id":"<request-id>","findings":[{"severity":"major","category":"scope_gap","summary":"Missing migration verification","changeset_id":"<changeset-id>"}]}\`. |
|
|
48082
48384
|
| \`rost_resolve_forge_conformance_finding\` | \`software_factory.conformance.resolve_finding\` | A Forge review seat marks a prior open finding resolved after re-reviewing the changeset and verifying it is fixed (reviewer verification, not human gap-acceptance). A resolved finding stops routing the request back to implementation, so the recycle loop converges. Requires the seat's signed manifest grant. | Seat | Call with \`{"build_request_id":"<request-id>","finding_ids":["<finding-id>"]}\`. |
|
|
48083
48385
|
|
|
@@ -51336,6 +51638,10 @@ var COMMAND_MANIFEST = [
|
|
|
51336
51638
|
{ "id": "seat.rename", "namespace": "seat", "action": "rename", "title": "Rename seat", "description": "Rename a Responsibility Graph seat.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "name", "flag": "name", "type": "string", "required": true }], "hasComplexInput": false, "help": "Seat names should describe the function and accountability clearly." },
|
|
51337
51639
|
{ "id": "seat.reparent", "namespace": "seat", "action": "reparent", "title": "Reparent seat", "description": "Move a Responsibility Graph seat under a new parent.", "requiredScope": "seat", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "new_parent_seat_id", "flag": "new-parent-seat-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Reparent seats only when it clarifies accountable structure and preserves a clean graph." },
|
|
51338
51640
|
{ "id": "seat.set_type", "namespace": "seat", "action": "set_type", "title": "Set seat type", "description": "Set a Responsibility Graph seat type.", "requiredScope": "seat", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "seat_type", "flag": "seat-type", "type": "enum", "required": true, "enumValues": ["human", "agent", "hybrid"] }], "hasComplexInput": false, "help": "Seat type should follow the work, risk, measurable, and stewardship model." },
|
|
51641
|
+
{ "id": "secret_grant.grant", "namespace": "secret_grant", "action": "grant", "title": "Grant a brokered secret", "description": "A human grants a seat scoped access to a brokered secret by VAULT REF (host + path prefix + methods + scope + injection). Postgres stores only the pointer \u2014 never secret material (invariant #5). Owner-only, human-gated. The secret.broker/baserow.* tools resolve this grant server-side; the secret never enters agent context.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "grant_key", "flag": "grant-key", "type": "string", "required": true }, { "name": "vault_ref", "flag": "vault-ref", "type": "string", "required": true }, { "name": "provider", "flag": "provider", "type": "string", "required": true }, { "name": "allowed_host", "flag": "allowed-host", "type": "string", "required": true }, { "name": "allowed_path_prefix", "flag": "allowed-path-prefix", "type": "string", "required": false }, { "name": "allowed_methods", "flag": "allowed-methods", "type": "array", "required": true, "itemType": "string" }, { "name": "scope_tier", "flag": "scope-tier", "type": "enum", "required": true, "enumValues": ["read", "write"] }, { "name": "injection_mode", "flag": "injection-mode", "type": "enum", "required": false, "enumValues": ["header_bearer", "header", "query"] }, { "name": "injection_name", "flag": "injection-name", "type": "string", "required": false }, { "name": "expires_at", "flag": "expires-at", "type": "string", "required": false }], "hasComplexInput": false, "help": "A human grants a seat a scoped brokered secret by vault ref (host + path prefix + methods + injection). Postgres stores only the pointer, never secret material. Owner-only and human-gated; the secret.broker/baserow.* tools resolve it server-side." },
|
|
51642
|
+
{ "id": "secret_grant.list", "namespace": "secret_grant", "action": "list", "title": "List brokered secret grants", "description": "List brokered secret grants for the tenant (or one seat). Returns the egress allowlist metadata only (host, path prefix, methods, scope, status) \u2014 never the vault ref or any secret. An agent sees only its own seat's grants.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "include_revoked", "flag": "include-revoked", "type": "boolean", "required": false }], "hasComplexInput": false, "help": "List brokered secret grants for the tenant (or one seat). Returns the egress allowlist metadata only \u2014 host, path prefix, methods, scope, status \u2014 never the vault ref or any secret." },
|
|
51643
|
+
{ "id": "secret_grant.request", "namespace": "secret_grant", "action": "request", "title": "Request a brokered secret grant", "description": "An agent or user REQUESTS a scoped brokered-secret grant by naming the egress it needs (grant key, host, path prefix, methods, scope). No secret and no vault ref are ever accepted (invariant #5) \u2014 this only records a durable ask for a human to grant.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "grant_key", "flag": "grant-key", "type": "string", "required": true }, { "name": "provider", "flag": "provider", "type": "string", "required": true }, { "name": "allowed_host", "flag": "allowed-host", "type": "string", "required": true }, { "name": "allowed_path_prefix", "flag": "allowed-path-prefix", "type": "string", "required": false }, { "name": "allowed_methods", "flag": "allowed-methods", "type": "array", "required": true, "itemType": "string" }, { "name": "scope_tier", "flag": "scope-tier", "type": "enum", "required": true, "enumValues": ["read", "write"] }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "An agent or user requests a brokered-secret egress grant by naming the host, path prefix, methods, and scope it needs. Draft-and-confirm: no secret or vault ref is accepted; a human grants it." },
|
|
51644
|
+
{ "id": "secret_grant.revoke", "namespace": "secret_grant", "action": "revoke", "title": "Revoke a brokered secret grant", "description": "Revoke a brokered secret grant \u2014 a compromised or over-scoped seat's egress access can be cut immediately; the next broker call resolves no grant and fails closed. Owner-only, human-gated.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "grant_id", "flag": "grant-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Revoke a brokered secret grant (teardown \u2014 cut a compromised or over-scoped seat's egress immediately; the next broker call fails closed). Owner-only and human-gated." },
|
|
51339
51645
|
{ "id": "settings.agent_policy.get", "namespace": "settings", "action": "agent_policy.get", "title": "Get company autonomy ceiling", "description": "Read this company's Company Guardrails ceiling (ADR-0007): the profile, enforcement mode, and the most an agent may do autonomously (max_autonomous_risk). Returns metadata only.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "Read this company's autonomy ceiling (Company Guardrails, ADR-0007): profile, enforcement mode, and the most an agent may do autonomously." },
|
|
51340
51646
|
{ "id": "settings.agent_policy.update", "namespace": "settings", "action": "agent_policy.update", "title": "Set company autonomy ceiling", "description": "Set the Company Guardrails ceiling (ADR-0007): a named profile (locked_down, balanced, high_autonomy) or custom + max_autonomous_risk. Tenant-admin and human-gated. An explicitly set ceiling is ENFORCED by default; pass enforcement=observe to stage a change without blocking.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "profile", "flag": "profile", "type": "enum", "required": true, "enumValues": ["locked_down", "balanced", "high_autonomy", "custom"] }, { "name": "max_autonomous_risk", "flag": "max-autonomous-risk", "type": "enum", "required": false, "enumValues": ["low", "medium", "high", "critical"] }, { "name": "enforcement", "flag": "enforcement", "type": "enum", "required": false, "enumValues": ["observe", "enforce"] }], "hasComplexInput": false, "help": "Set the company autonomy ceiling: a profile (locked_down, balanced, high_autonomy) or custom + max_autonomous_risk. Owner-only, human-gated, and enforced by default." },
|
|
51341
51647
|
{ "id": "settings.confirmation_policy.get", "namespace": "settings", "action": "confirmation_policy.get", "title": "Get CLI confirmation mode", "description": "Read this company's CLI confirmation mode (DER-1490): careful (the strict default \u2014 the CLI cannot silently auto-approve a confirmation) or trusted_operator (an owner opt-in permitting silent auto-approval of non-dangerous confirmations). Returns metadata only.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "Read this company's CLI confirmation mode: careful (the strict default \u2014 the CLI cannot silently auto-approve a confirmation) or trusted_operator (an owner opt-in permitting silent auto-approval of non-dangerous confirmations)." },
|
|
@@ -51447,7 +51753,9 @@ var COMMAND_MANIFEST = [
|
|
|
51447
51753
|
{ "id": "work_order.cancel", "namespace": "work_order", "action": "cancel", "title": "Cancel work order", "description": "Cancel a queued, claimed, or running work order. Already-terminal orders return a stable error.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "work_order_id", "flag": "work-order-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Cancel a queued, claimed, or running work order; this is a human-gated action." },
|
|
51448
51754
|
{ "id": "work_order.enqueue", "namespace": "work_order", "action": "enqueue", "title": "Enqueue work order", "description": "Queue a work order for a live scheduled agent. Idempotent per (agent, scheduled time).", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }, { "name": "scheduled_for", "flag": "scheduled-for", "type": "string", "required": false }, { "name": "task_id", "flag": "task-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Queue a work order for a live scheduled agent; enqueue is idempotent per agent and scheduled time." },
|
|
51449
51755
|
{ "id": "work_order.list", "namespace": "work_order", "action": "list", "title": "List work orders", "description": "List runner/cloud work orders for the tenant, optionally filtered by status, agent, or runner.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "status", "flag": "status", "type": "enum", "required": false, "enumValues": ["queued", "claimed", "running", "done", "failed", "expired"] }, { "name": "agent_id", "flag": "agent-id", "type": "string", "required": false }, { "name": "runner_id", "flag": "runner-id", "type": "string", "required": false }, { "name": "limit", "flag": "limit", "type": "integer", "required": false }], "hasComplexInput": false, "help": "Inspect queued, claimed, running, and expired work orders to understand runner activity." },
|
|
51450
|
-
{ "id": "work.
|
|
51756
|
+
{ "id": "work.list", "namespace": "work", "action": "list", "title": "List work records", "description": "List the acting seat's work-ledger records newest-first (keyset-paginated), filterable by verb, object kind/ref, outcome, or run. Superseded records are hidden unless include_superseded is set.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "verb", "flag": "verb", "type": "enum", "required": false, "enumValues": ["created", "updated", "removed", "sent", "received", "contacted", "replied", "offered", "accepted", "rejected", "assessed", "announced", "assigned", "invited", "flagged", "booked", "searched", "filed", "extracted", "escalated"] }, { "name": "outcome", "flag": "outcome", "type": "enum", "required": false, "enumValues": ["success", "warning", "error", "held"] }, { "name": "object_kind", "flag": "object-kind", "type": "string", "required": false }, { "name": "object_external_id", "flag": "object-external-id", "type": "string", "required": false }, { "name": "run_id", "flag": "run-id", "type": "string", "required": false }, { "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "include_superseded", "flag": "include-superseded", "type": "boolean", "required": false }, { "name": "limit", "flag": "limit", "type": "integer", "required": false }, { "name": "cursor", "flag": "cursor", "type": "string", "required": false }], "hasComplexInput": false, "help": "List the seat's work-ledger records newest-first with keyset pagination, filterable by verb, object, outcome, or run." },
|
|
51757
|
+
{ "id": "work.log", "namespace": "work", "action": "log", "title": "Log work", "description": "Write a lightweight activity breadcrumb event for the acting seat.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "note", "flag": "note", "type": "string", "required": true }], "hasComplexInput": false, "help": "Log a lightweight work breadcrumb so the seat's activity is visible without durable side effects." },
|
|
51758
|
+
{ "id": "work.record", "namespace": "work", "action": "record", "title": "Record work", "description": "Append one or more structured business-activity records to the agent work ledger for the acting seat. Batch-accepting, append-only, secret-redacted, and idempotent on dedup_key. Corrections are superseding records.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": true, "help": "Append structured business-activity records (verb + entity refs + outcome + evidence) to the seat's work ledger, in a batch, right after each action succeeds." }
|
|
51451
51759
|
];
|
|
51452
51760
|
|
|
51453
51761
|
// src/generator/groups.ts
|