@rosthq/cli 0.7.70 → 0.7.72

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
@@ -38201,6 +38201,21 @@ function hasSecretShapedValue(value) {
38201
38201
  // ../../packages/protocol/src/tool-catalog.ts
38202
38202
  var toolScopeTierSchema = external_exports.enum(["read", "draft", "write_with_approval", "full"]);
38203
38203
  var toolAccessPolicySchema = external_exports.enum(["always_allow", "always_ask"]);
38204
+ var toolAccessLevelSchema = external_exports.enum(["read", "draft", "write", "admin"]);
38205
+ var toolProviderRequirementSchema = external_exports.enum(["none", "connection", "vault_ref", "platform_managed"]);
38206
+ var toolCostClassSchema = external_exports.enum(["included", "metered_low", "metered_standard", "metered_high"]);
38207
+ var toolExecutionLaneSchema = external_exports.enum(["cloud", "runner", "mcp"]);
38208
+ var trustedRequiredMetadataSchema = external_exports.enum([
38209
+ "standing_authorization_id",
38210
+ "decided_by_user_id",
38211
+ "charter_scope",
38212
+ "budget_cap",
38213
+ "lane",
38214
+ "capability_id",
38215
+ "access_level",
38216
+ "authorization_expires_at",
38217
+ "authorization_revoked_at"
38218
+ ]);
38204
38219
  var toolCatalogEntrySchema = external_exports.object({
38205
38220
  // Stable tool id used in permission manifests and execution.
38206
38221
  id: external_exports.string().min(1),
@@ -38217,7 +38232,18 @@ var toolCatalogEntrySchema = external_exports.object({
38217
38232
  // Whether using this tool requires attaching a credential (vault ref) first.
38218
38233
  credential_required: external_exports.boolean(),
38219
38234
  // The conservative default access policy for this tool in a new manifest.
38220
- default_access_policy: toolAccessPolicySchema
38235
+ default_access_policy: toolAccessPolicySchema,
38236
+ // Provider-neutral capability grant access levels supported by this tool.
38237
+ access_levels: external_exports.array(toolAccessLevelSchema).min(1),
38238
+ default_access_level: toolAccessLevelSchema,
38239
+ // What must exist before the provider can execute this capability.
38240
+ provider_requirement: toolProviderRequirementSchema,
38241
+ // Coarse cost class for setup and Trusted-mode launch review.
38242
+ cost_class: toolCostClassSchema,
38243
+ // Execution lanes whose server guard path can carry this capability.
38244
+ lane_support: external_exports.array(toolExecutionLaneSchema).min(1),
38245
+ // Metadata that must be present when this capability is used under Trusted mode.
38246
+ trusted_required_metadata: external_exports.array(trustedRequiredMetadataSchema)
38221
38247
  }).strict();
38222
38248
  var toolCatalogOutputSchema = external_exports.object({
38223
38249
  // The explicit, important note that the catalog is configuration the builder
@@ -38393,6 +38419,36 @@ var CATALOG_ENTRIES = [
38393
38419
  credential_required: false,
38394
38420
  default_access_policy: "always_allow"
38395
38421
  },
38422
+ {
38423
+ id: "browser.read",
38424
+ title: "Read public page in browser",
38425
+ provider: "web",
38426
+ description: "Call this to inspect a public page in a read-only sandbox browser. It never submits forms, persists authenticated state, downloads executables, or reaches private networks.",
38427
+ default_scope_tier: "read",
38428
+ scope_tiers: ["read"],
38429
+ credential_required: false,
38430
+ default_access_policy: "always_allow"
38431
+ },
38432
+ {
38433
+ id: "files.read",
38434
+ title: "Read working files",
38435
+ provider: "rost",
38436
+ description: "Call this to read bounded tenant-scoped working files and published artifact references. Read-only: it never exposes files outside the approved workspace.",
38437
+ default_scope_tier: "read",
38438
+ scope_tiers: ["read"],
38439
+ credential_required: false,
38440
+ default_access_policy: "always_allow"
38441
+ },
38442
+ {
38443
+ id: "files.write",
38444
+ title: "Write working files",
38445
+ provider: "rost",
38446
+ description: "Call this to create bounded working files or publish reviewable artifacts inside the tenant workspace. It never executes file contents or writes outside the approved workspace.",
38447
+ default_scope_tier: "draft",
38448
+ scope_tiers: ["draft"],
38449
+ credential_required: false,
38450
+ default_access_policy: "always_allow"
38451
+ },
38396
38452
  {
38397
38453
  id: "docs.drafts.write",
38398
38454
  title: "Write document drafts",
@@ -38585,7 +38641,54 @@ var CATALOG_ENTRIES = [
38585
38641
  default_access_policy: "always_allow"
38586
38642
  }
38587
38643
  ];
38588
- var catalogById = new Map(CATALOG_ENTRIES.map((entry) => [entry.id, entry]));
38644
+ function accessLevelForScope(scopeTier) {
38645
+ switch (scopeTier) {
38646
+ case "read":
38647
+ return "read";
38648
+ case "draft":
38649
+ return "draft";
38650
+ case "write_with_approval":
38651
+ return "write";
38652
+ case "full":
38653
+ return "admin";
38654
+ }
38655
+ }
38656
+ function providerRequirementFor(entry) {
38657
+ if (!entry.credential_required) {
38658
+ return entry.provider === "rost" ? "platform_managed" : "none";
38659
+ }
38660
+ return entry.id === "secret.broker" ? "vault_ref" : "connection";
38661
+ }
38662
+ function trustedRequiredMetadataFor(entry) {
38663
+ if (entry.default_access_policy === "always_allow" && entry.default_scope_tier !== "write_with_approval") {
38664
+ return [];
38665
+ }
38666
+ return [
38667
+ "standing_authorization_id",
38668
+ "decided_by_user_id",
38669
+ "charter_scope",
38670
+ "budget_cap",
38671
+ "lane",
38672
+ "capability_id",
38673
+ "access_level",
38674
+ "authorization_expires_at",
38675
+ "authorization_revoked_at"
38676
+ ];
38677
+ }
38678
+ function enrichCatalogEntry(entry) {
38679
+ const accessLevels = [...new Set(entry.scope_tiers.map(accessLevelForScope))];
38680
+ return {
38681
+ ...entry,
38682
+ access_levels: accessLevels,
38683
+ default_access_level: accessLevelForScope(entry.default_scope_tier),
38684
+ provider_requirement: providerRequirementFor(entry),
38685
+ cost_class: entry.id === "script.run" || entry.id === "secret.broker" ? "metered_standard" : "included",
38686
+ lane_support: ["cloud", "runner", "mcp"],
38687
+ trusted_required_metadata: trustedRequiredMetadataFor(entry)
38688
+ };
38689
+ }
38690
+ var catalogEntries = CATALOG_ENTRIES.map(enrichCatalogEntry);
38691
+ var catalogById = new Map(catalogEntries.map((entry) => [entry.id, entry]));
38589
38692
 
38590
38693
  // ../../packages/protocol/src/skills.ts
38591
38694
  var skillVisibilitySchema = external_exports.enum(["private", "seat", "tenant"]);
@@ -39491,6 +39594,275 @@ var agentBuilderCompilationSchema = external_exports.object({
39491
39594
  }).strict()).default([]),
39492
39595
  pendingConfirmationCards: external_exports.array(agentBuilderPendingConfirmationCardSchema).default([])
39493
39596
  }).strict();
39597
+ var agentSetupSectionSchema = external_exports.enum([
39598
+ "overview",
39599
+ "charter",
39600
+ "outcomes_signals",
39601
+ "tools_connections",
39602
+ "skills",
39603
+ "autonomy",
39604
+ "activity",
39605
+ "settings"
39606
+ ]);
39607
+ var agentSetupMethodSchema = external_exports.enum(["manual", "template", "chat", "import"]);
39608
+ var agentBuilderFieldDiffSchema = external_exports.object({
39609
+ section: agentSetupSectionSchema,
39610
+ field: external_exports.string().trim().min(1).max(80),
39611
+ label: external_exports.string().trim().min(1).max(120),
39612
+ before: external_exports.unknown(),
39613
+ proposed: external_exports.unknown(),
39614
+ rationale: external_exports.string().trim().max(360)
39615
+ }).strict();
39616
+
39617
+ // ../../packages/protocol/src/tool-policy.ts
39618
+ var uuidSchema5 = external_exports.string().uuid();
39619
+ var capabilityGrantAccessLevelSchema = external_exports.enum(["off", "read", "draft", "write", "admin"]);
39620
+ var capabilityGrantAvailabilitySchema = external_exports.enum([
39621
+ "available",
39622
+ "connection_required",
39623
+ "scope_missing",
39624
+ "revoked",
39625
+ "disabled"
39626
+ ]);
39627
+ var capabilityGrantSourceSchema = external_exports.enum([
39628
+ "connection",
39629
+ "catalog",
39630
+ "manual",
39631
+ "aicos_automatic",
39632
+ "system",
39633
+ "suggested",
39634
+ "human",
39635
+ "aicos_override",
39636
+ "migration"
39637
+ ]);
39638
+ var capabilityGrantCompileStatusSchema = external_exports.enum([
39639
+ "compiled",
39640
+ "unavailable",
39641
+ "revoked",
39642
+ "off",
39643
+ "unsupported_lane"
39644
+ ]);
39645
+ var capabilityGrantConnectionSchema = external_exports.object({
39646
+ integration_id: uuidSchema5.nullable(),
39647
+ provider: external_exports.string().min(1).nullable(),
39648
+ account_email: external_exports.string().min(1).nullable(),
39649
+ account_label: external_exports.string().min(1).nullable(),
39650
+ status: external_exports.enum(["connected", "error", "disconnected"]).nullable()
39651
+ }).strict();
39652
+ var tenantCapabilityGrantDtoSchema = external_exports.object({
39653
+ tool_grant_id: uuidSchema5,
39654
+ capability_id: external_exports.string().min(1),
39655
+ connection: capabilityGrantConnectionSchema,
39656
+ availability: capabilityGrantAvailabilitySchema,
39657
+ source: capabilityGrantSourceSchema,
39658
+ max_access_level: capabilityGrantAccessLevelSchema,
39659
+ default_agent_access_level: capabilityGrantAccessLevelSchema,
39660
+ compile_status: capabilityGrantCompileStatusSchema
39661
+ }).strict();
39662
+ var agentEffectiveCapabilityGrantDtoSchema = external_exports.object({
39663
+ tool_grant_id: uuidSchema5,
39664
+ agent_tool_grant_id: uuidSchema5.nullable(),
39665
+ agent_id: uuidSchema5,
39666
+ capability_id: external_exports.string().min(1),
39667
+ connection: capabilityGrantConnectionSchema,
39668
+ availability: capabilityGrantAvailabilitySchema,
39669
+ source: capabilityGrantSourceSchema,
39670
+ selection_source: capabilityGrantSourceSchema.nullable(),
39671
+ max_access_level: capabilityGrantAccessLevelSchema,
39672
+ default_agent_access_level: capabilityGrantAccessLevelSchema,
39673
+ selected_access_level: capabilityGrantAccessLevelSchema,
39674
+ effective_access_level: capabilityGrantAccessLevelSchema,
39675
+ compile_status: capabilityGrantCompileStatusSchema
39676
+ }).strict();
39677
+ var toolGrantsTenantListInputSchema = external_exports.object({}).strict();
39678
+ var toolGrantsTenantListOutputSchema = external_exports.object({
39679
+ grants: external_exports.array(tenantCapabilityGrantDtoSchema)
39680
+ }).strict();
39681
+ var toolGrantsAgentEffectiveInputSchema = external_exports.object({
39682
+ agent_id: uuidSchema5
39683
+ }).strict();
39684
+ var toolGrantsAgentEffectiveOutputSchema = external_exports.object({
39685
+ agent_id: uuidSchema5,
39686
+ seat_id: uuidSchema5,
39687
+ grants: external_exports.array(agentEffectiveCapabilityGrantDtoSchema)
39688
+ }).strict();
39689
+ var agentCapabilityGrantUpdateSchema = external_exports.object({
39690
+ tool_grant_id: uuidSchema5,
39691
+ access_level: capabilityGrantAccessLevelSchema
39692
+ }).strict();
39693
+ var compiledCapabilityManifestEntrySchema = external_exports.object({
39694
+ tool: external_exports.string().min(1),
39695
+ capability_id: external_exports.string().min(1),
39696
+ integration_id: uuidSchema5.optional(),
39697
+ access_level: capabilityGrantAccessLevelSchema.exclude(["off"]),
39698
+ scope_tier: external_exports.enum(["read", "draft", "write_with_approval", "full"]),
39699
+ access_policy: external_exports.enum(["always_allow", "always_ask"]),
39700
+ mode: external_exports.enum(["allow", "escalate"])
39701
+ }).strict();
39702
+ var toolGrantsAgentUpdateInputSchema = external_exports.object({
39703
+ agent_id: uuidSchema5,
39704
+ grants: external_exports.array(agentCapabilityGrantUpdateSchema).min(1).max(50),
39705
+ reason: external_exports.string().trim().min(1).max(500).optional()
39706
+ }).strict();
39707
+ var toolGrantsAgentUpdateOutputSchema = external_exports.object({
39708
+ agent_id: uuidSchema5,
39709
+ applied_immediately: external_exports.boolean(),
39710
+ requires_charter_supersession: external_exports.boolean(),
39711
+ changed_grants: external_exports.array(agentEffectiveCapabilityGrantDtoSchema),
39712
+ charter_proposal: external_exports.object({
39713
+ compiler_version: external_exports.string().min(1),
39714
+ scope_digest: external_exports.string().regex(/^sha256:[0-9a-f]{64}$/),
39715
+ permission_manifest: external_exports.array(compiledCapabilityManifestEntrySchema)
39716
+ }).strict().nullable()
39717
+ }).strict();
39718
+ var scopeDigestSchema = external_exports.string().regex(/^sha256:[0-9a-f]{64}$/);
39719
+ var classifierVersionSchema = external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/);
39720
+ var agentActivationReceiptInputSchema = external_exports.object({
39721
+ agent_id: uuidSchema5,
39722
+ proposed_budget_cents: external_exports.number().int().nonnegative().max(1e7).optional()
39723
+ }).strict();
39724
+ var agentActivationReceiptCapabilitySchema = external_exports.object({
39725
+ capability_id: external_exports.string().min(1),
39726
+ access_level: capabilityGrantAccessLevelSchema,
39727
+ compile_status: capabilityGrantCompileStatusSchema,
39728
+ connection: capabilityGrantConnectionSchema
39729
+ }).strict();
39730
+ var agentActivationReceiptDiffSchema = external_exports.object({
39731
+ added: external_exports.array(external_exports.string().min(1)),
39732
+ removed: external_exports.array(external_exports.string().min(1)),
39733
+ changed: external_exports.array(external_exports.object({
39734
+ capability_id: external_exports.string().min(1),
39735
+ from_access_level: capabilityGrantAccessLevelSchema.nullable(),
39736
+ to_access_level: capabilityGrantAccessLevelSchema
39737
+ }).strict())
39738
+ }).strict();
39739
+ var agentActivationReceiptOutputSchema = external_exports.object({
39740
+ agent_id: uuidSchema5,
39741
+ seat_id: uuidSchema5,
39742
+ steward_seat_id: uuidSchema5,
39743
+ steward_label: external_exports.string().min(1).max(160),
39744
+ lane: external_exports.enum(["cloud", "runner", "mcp_session"]),
39745
+ cadence: external_exports.string().min(1).max(120).nullable(),
39746
+ budget_cents: external_exports.number().int().nonnegative().max(1e7),
39747
+ currency: external_exports.literal("USD"),
39748
+ scope_digest: scopeDigestSchema,
39749
+ compiler_version: classifierVersionSchema,
39750
+ classifier_version: classifierVersionSchema,
39751
+ trusted_boundary: external_exports.object({
39752
+ eligible_command_count: external_exports.number().int().nonnegative(),
39753
+ always_human: external_exports.array(external_exports.string().min(1)).min(1)
39754
+ }).strict(),
39755
+ capabilities: external_exports.array(agentActivationReceiptCapabilitySchema),
39756
+ diff: agentActivationReceiptDiffSchema
39757
+ }).strict().superRefine((value, ctx) => {
39758
+ if (hasSecretShapedValue(value)) {
39759
+ ctx.addIssue({
39760
+ code: external_exports.ZodIssueCode.custom,
39761
+ message: "Activation receipt cannot contain secret-shaped content."
39762
+ });
39763
+ }
39764
+ });
39765
+ var agentActivationSignInputSchema = external_exports.object({
39766
+ agent_id: uuidSchema5,
39767
+ expected_scope_digest: scopeDigestSchema,
39768
+ budget_cents: external_exports.number().int().nonnegative().max(1e7),
39769
+ reason: external_exports.string().trim().min(1).max(500).optional()
39770
+ }).strict();
39771
+ var agentActivationSignOutputSchema = external_exports.object({
39772
+ agent_id: uuidSchema5,
39773
+ seat_id: uuidSchema5,
39774
+ scope_digest: scopeDigestSchema,
39775
+ decision_id: uuidSchema5,
39776
+ event_id: uuidSchema5,
39777
+ activated: external_exports.boolean()
39778
+ }).strict();
39779
+ var agentTrustGrantDtoSchema = external_exports.object({
39780
+ grant_id: uuidSchema5,
39781
+ agent_id: uuidSchema5,
39782
+ seat_id: uuidSchema5,
39783
+ granted_by_user_id: uuidSchema5,
39784
+ scope_digest: scopeDigestSchema,
39785
+ classifier_version: classifierVersionSchema,
39786
+ budget_cents: external_exports.number().int().nonnegative(),
39787
+ reserved_cents: external_exports.number().int().nonnegative(),
39788
+ spent_cents: external_exports.number().int().nonnegative(),
39789
+ currency: external_exports.literal("USD"),
39790
+ status: external_exports.enum(["active", "revoked", "superseded", "expired"]),
39791
+ effective_at: external_exports.string().datetime({ offset: true }),
39792
+ expires_at: external_exports.string().datetime({ offset: true }).nullable(),
39793
+ revoked_at: external_exports.string().datetime({ offset: true }).nullable(),
39794
+ supersedes_id: uuidSchema5.nullable()
39795
+ }).strict();
39796
+ var agentTrustGrantCreateInputSchema = external_exports.object({
39797
+ agent_id: uuidSchema5,
39798
+ expected_scope_digest: scopeDigestSchema,
39799
+ budget_cents: external_exports.number().int().nonnegative().max(1e7),
39800
+ expires_at: external_exports.string().datetime({ offset: true }).optional(),
39801
+ reason: external_exports.string().trim().min(1).max(500).optional()
39802
+ }).strict();
39803
+ var agentTrustGrantInspectInputSchema = external_exports.object({
39804
+ agent_id: uuidSchema5,
39805
+ include_inactive: external_exports.boolean().optional()
39806
+ }).strict();
39807
+ var agentTrustGrantInspectOutputSchema = external_exports.object({
39808
+ grants: external_exports.array(agentTrustGrantDtoSchema)
39809
+ }).strict();
39810
+ var agentTrustGrantMutationInputSchema = external_exports.object({
39811
+ grant_id: uuidSchema5,
39812
+ reason: external_exports.string().trim().min(1).max(500).optional()
39813
+ }).strict();
39814
+ var agentTrustGrantExpireInputSchema = external_exports.object({
39815
+ agent_id: uuidSchema5
39816
+ }).strict();
39817
+ var agentTrustGrantSupersedeInputSchema = external_exports.object({
39818
+ agent_id: uuidSchema5,
39819
+ expected_scope_digest: scopeDigestSchema,
39820
+ budget_cents: external_exports.number().int().nonnegative().max(1e7),
39821
+ expires_at: external_exports.string().datetime({ offset: true }).optional(),
39822
+ reason: external_exports.string().trim().min(1).max(500).optional()
39823
+ }).strict();
39824
+ var agentTrustGrantMutationOutputSchema = external_exports.object({
39825
+ grant: agentTrustGrantDtoSchema,
39826
+ event_id: uuidSchema5
39827
+ }).strict();
39828
+ var agentSetupCapabilitySuggestionsInputSchema = external_exports.object({
39829
+ seat_id: uuidSchema5.optional(),
39830
+ setup_id: uuidSchema5.optional()
39831
+ }).strict().refine(
39832
+ (value) => Boolean(value.seat_id) || Boolean(value.setup_id),
39833
+ "Provide seat_id or setup_id."
39834
+ );
39835
+ var agentSetupCapabilitySuggestionSchema = external_exports.object({
39836
+ capability_id: external_exports.string().min(1),
39837
+ tool_grant_id: uuidSchema5.nullable(),
39838
+ suggested_access_level: capabilityGrantAccessLevelSchema,
39839
+ reason: external_exports.string().min(1).max(240),
39840
+ available: external_exports.boolean()
39841
+ }).strict();
39842
+ var agentSetupCapabilitySuggestionsOutputSchema = external_exports.object({
39843
+ agent_id: uuidSchema5,
39844
+ seat_id: uuidSchema5,
39845
+ template_slug: external_exports.string().nullable(),
39846
+ suggestions: external_exports.array(agentSetupCapabilitySuggestionSchema)
39847
+ }).strict();
39848
+ var tenantToolPolicyAicosSchema = external_exports.object({
39849
+ trust_new_capabilities_automatically: external_exports.boolean()
39850
+ }).strict();
39851
+ var storedTenantToolPolicySchema = external_exports.object({
39852
+ mode: external_exports.enum(["managed", "open"]),
39853
+ aicos: tenantToolPolicyAicosSchema
39854
+ }).strict().superRefine((value, ctx) => {
39855
+ if (hasSecretShapedValue(value)) {
39856
+ ctx.addIssue({
39857
+ code: external_exports.ZodIssueCode.custom,
39858
+ message: "Tenant tool policy cannot contain secret-shaped content."
39859
+ });
39860
+ }
39861
+ });
39862
+ var toolPolicyGetInputSchema = external_exports.object({}).strict();
39863
+ var toolPolicyGetOutputSchema = external_exports.object({
39864
+ tool_policy: storedTenantToolPolicySchema
39865
+ }).strict();
39494
39866
 
39495
39867
  // ../../packages/protocol/src/agent-policy.ts
39496
39868
  var AUTONOMOUS_RISK_LEVELS = ["low", "medium", "high", "critical"];
@@ -39554,7 +39926,7 @@ var cloudBrainOptionSchema = external_exports.object({
39554
39926
  }).strict();
39555
39927
 
39556
39928
  // ../../packages/protocol/src/aicos.ts
39557
- var uuidSchema5 = external_exports.string().uuid();
39929
+ var uuidSchema6 = external_exports.string().uuid();
39558
39930
  var jsonObjectSchema = external_exports.record(external_exports.string(), external_exports.unknown());
39559
39931
  var aicosConversationPurposeSchema = external_exports.enum(["onboarding", "general", "seat"]);
39560
39932
  var aicosLaneSchema = external_exports.enum(["cloud", "runner", "mcp"]);
@@ -39630,19 +40002,19 @@ var aicosBrainSelectionSchema = external_exports.object({
39630
40002
  }).strict();
39631
40003
  var agentTurnExecutionLaneSchema = external_exports.enum(["cloud", "mcp_session", "runner"]);
39632
40004
  var agentTurnExecutionSchema = external_exports.object({
39633
- id: uuidSchema5,
39634
- tenantId: uuidSchema5,
39635
- sessionId: uuidSchema5,
39636
- userMessageId: uuidSchema5,
39637
- assistantMessageId: uuidSchema5.nullable(),
39638
- seatId: uuidSchema5,
39639
- agentId: uuidSchema5,
39640
- userId: uuidSchema5,
40005
+ id: uuidSchema6,
40006
+ tenantId: uuidSchema6,
40007
+ sessionId: uuidSchema6,
40008
+ userMessageId: uuidSchema6,
40009
+ assistantMessageId: uuidSchema6.nullable(),
40010
+ seatId: uuidSchema6,
40011
+ agentId: uuidSchema6,
40012
+ userId: uuidSchema6,
39641
40013
  lane: agentTurnExecutionLaneSchema,
39642
40014
  brain: agentTurnExecutionBrainSchema,
39643
40015
  status: agentTurnExecutionStatusSchema,
39644
- claimedByRunnerId: uuidSchema5.nullable(),
39645
- linkedRunId: uuidSchema5.nullable(),
40016
+ claimedByRunnerId: uuidSchema6.nullable(),
40017
+ linkedRunId: uuidSchema6.nullable(),
39646
40018
  interactiveDeadline: external_exports.string().datetime({ offset: true }),
39647
40019
  claimedAt: external_exports.string().datetime({ offset: true }).nullable().optional(),
39648
40020
  startedAt: external_exports.string().datetime({ offset: true }).nullable().optional(),
@@ -39658,13 +40030,13 @@ var agentTurnExecutionSchema = external_exports.object({
39658
40030
  updatedAt: external_exports.string().datetime({ offset: true })
39659
40031
  }).strict();
39660
40032
  var aicosPendingTurnSchema = external_exports.object({
39661
- id: uuidSchema5,
39662
- userMessageId: uuidSchema5,
39663
- assistantMessageId: uuidSchema5.nullable(),
40033
+ id: uuidSchema6,
40034
+ userMessageId: uuidSchema6,
40035
+ assistantMessageId: uuidSchema6.nullable(),
39664
40036
  lane: agentTurnExecutionLaneSchema,
39665
40037
  brain: agentTurnExecutionBrainSchema,
39666
40038
  status: agentTurnExecutionStatusSchema,
39667
- linkedRunId: uuidSchema5.nullable(),
40039
+ linkedRunId: uuidSchema6.nullable(),
39668
40040
  interactiveDeadline: external_exports.string().datetime({ offset: true }),
39669
40041
  terminalReason: external_exports.string().min(1).max(120).nullable().default(null),
39670
40042
  claimLatencyMs: external_exports.number().int().nonnegative().nullable().default(null),
@@ -39730,8 +40102,8 @@ var aicosRouteContextSchema = external_exports.object({
39730
40102
  pathname: external_exports.string().min(1),
39731
40103
  routeTemplate: external_exports.string().min(1),
39732
40104
  search: external_exports.string().max(500).optional(),
39733
- selectedSeatId: uuidSchema5.nullable().optional(),
39734
- selectedObjectId: uuidSchema5.nullable().optional()
40105
+ selectedSeatId: uuidSchema6.nullable().optional(),
40106
+ selectedObjectId: uuidSchema6.nullable().optional()
39735
40107
  }).strict();
39736
40108
  var aicosOnboardingContextSchema = external_exports.object({
39737
40109
  step: external_exports.string().min(1).nullable().default(null),
@@ -39739,7 +40111,7 @@ var aicosOnboardingContextSchema = external_exports.object({
39739
40111
  state: jsonObjectSchema.optional()
39740
40112
  }).strict();
39741
40113
  var aicosSeatScopeSchema = external_exports.object({
39742
- seatId: uuidSchema5,
40114
+ seatId: uuidSchema6,
39743
40115
  seatName: external_exports.string().min(1).max(200)
39744
40116
  }).strict();
39745
40117
  var aicosCapabilitySnapshotSchema = external_exports.object({
@@ -39797,7 +40169,7 @@ var aicosBrainSettingsUpdateInputSchema = external_exports.object({
39797
40169
  "At least one AICOS lane or brain setting must be provided."
39798
40170
  );
39799
40171
  var aicosSessionSchema = external_exports.object({
39800
- id: uuidSchema5,
40172
+ id: uuidSchema6,
39801
40173
  title: external_exports.string().min(1),
39802
40174
  purpose: aicosConversationPurposeSchema,
39803
40175
  active: external_exports.boolean(),
@@ -39814,7 +40186,7 @@ var aicosAttachmentContentTypeSchema = external_exports.enum(AICOS_ATTACHMENT_CO
39814
40186
  var AICOS_ATTACHMENT_READINESS = ["ready", "unavailable", "expired"];
39815
40187
  var aicosAttachmentReadinessSchema = external_exports.enum(AICOS_ATTACHMENT_READINESS);
39816
40188
  var aicosAttachmentSchema = external_exports.object({
39817
- id: uuidSchema5,
40189
+ id: uuidSchema6,
39818
40190
  contentType: aicosAttachmentContentTypeSchema,
39819
40191
  sizeBytes: external_exports.number().int().positive(),
39820
40192
  width: external_exports.number().int().positive().nullable(),
@@ -39827,7 +40199,7 @@ var aicosAttachmentUploadResultSchema = external_exports.object({
39827
40199
  attachment: aicosAttachmentSchema
39828
40200
  }).strict();
39829
40201
  var aicosRunnerAttachmentRefSchema = external_exports.object({
39830
- id: uuidSchema5,
40202
+ id: uuidSchema6,
39831
40203
  content_type: aicosAttachmentContentTypeSchema,
39832
40204
  size_bytes: external_exports.number().int().positive(),
39833
40205
  width: external_exports.number().int().positive().nullable(),
@@ -39840,28 +40212,28 @@ var aicosRunnerAttachmentRefSchema = external_exports.object({
39840
40212
  }).strict();
39841
40213
  var AICOS_RUNNER_ATTACHMENT_OUTCOMES = ["used", "expired", "load_failed"];
39842
40214
  var aicosRunnerAttachmentOutcomeSchema = external_exports.object({
39843
- id: uuidSchema5,
40215
+ id: uuidSchema6,
39844
40216
  outcome: external_exports.enum(AICOS_RUNNER_ATTACHMENT_OUTCOMES)
39845
40217
  }).strict();
39846
40218
  var aicosMessageSchema = external_exports.object({
39847
- id: uuidSchema5,
39848
- sessionId: uuidSchema5,
40219
+ id: uuidSchema6,
40220
+ sessionId: uuidSchema6,
39849
40221
  role: aicosMessageRoleSchema,
39850
40222
  actorKind: aicosActorKindSchema,
39851
40223
  contentText: external_exports.string(),
39852
40224
  routeContext: jsonObjectSchema,
39853
40225
  onboardingContext: jsonObjectSchema,
39854
40226
  metadata: jsonObjectSchema.default({}),
39855
- linkedRunId: uuidSchema5.nullable(),
39856
- linkedWorkOrderId: uuidSchema5.nullable(),
40227
+ linkedRunId: uuidSchema6.nullable(),
40228
+ linkedWorkOrderId: uuidSchema6.nullable(),
39857
40229
  sourceCount: external_exports.number().int().nonnegative().default(0),
39858
40230
  attachments: external_exports.array(aicosAttachmentSchema).default([]),
39859
40231
  createdAt: external_exports.string().datetime({ offset: true })
39860
40232
  }).strict();
39861
40233
  var aicosSourceSchema = external_exports.object({
39862
- id: uuidSchema5,
39863
- sessionId: uuidSchema5,
39864
- messageId: uuidSchema5.nullable(),
40234
+ id: uuidSchema6,
40235
+ sessionId: uuidSchema6,
40236
+ messageId: uuidSchema6.nullable(),
39865
40237
  sourceKind: aicosSourceKindSchema,
39866
40238
  sourceRef: external_exports.string().min(1).max(500),
39867
40239
  title: external_exports.string().min(1).max(300),
@@ -39884,14 +40256,14 @@ var aicosAgentBuilderMetadataSchema = external_exports.object({
39884
40256
  agentBuilder: agentBuilderCompilationSchema
39885
40257
  }).strict();
39886
40258
  var aicosTurnRequestSchema = external_exports.object({
39887
- requestId: uuidSchema5,
39888
- sessionId: uuidSchema5.nullable().optional(),
40259
+ requestId: uuidSchema6,
40260
+ sessionId: uuidSchema6.nullable().optional(),
39889
40261
  purpose: aicosConversationPurposeSchema.default("general"),
39890
40262
  // Empty is permitted only when attachments are present (an image-only turn);
39891
40263
  // runAicosTurn enforces the "message or attachment required" invariant so the
39892
40264
  // schema stays a plain object for downstream `.shape`/`.extend` consumers.
39893
40265
  message: external_exports.string().trim().max(12e3).default(""),
39894
- attachmentIds: external_exports.array(uuidSchema5).max(AICOS_MAX_ATTACHMENTS_PER_TURN).default([]),
40266
+ attachmentIds: external_exports.array(uuidSchema6).max(AICOS_MAX_ATTACHMENTS_PER_TURN).default([]),
39895
40267
  routeContext: aicosRouteContextSchema,
39896
40268
  model: aicosModelRequestSchema.optional(),
39897
40269
  agentBuilderClarification: agentBuilderClarificationSetSchema.optional()
@@ -39960,6 +40332,21 @@ var aicosPulseSnapshotSchema = external_exports.object({
39960
40332
  // ../../packages/protocol/src/command-introspection.ts
39961
40333
  var requiredScopeSchema = external_exports.enum(["tenant_admin", "tenant", "seat", "user"]);
39962
40334
  var confirmationSchema = external_exports.enum(["none", "human_required", "credential_flow", "dangerous"]);
40335
+ var trustedExecutionModeSchema = external_exports.enum(["eligible", "always_human", "not_applicable"]);
40336
+ var trustedExecutionRiskFlagSchema = external_exports.enum([
40337
+ "admin",
40338
+ "credential",
40339
+ "destructive",
40340
+ "production",
40341
+ "self_approval",
40342
+ "external_send",
40343
+ "spend"
40344
+ ]);
40345
+ var trustedExecutionSchema = external_exports.object({
40346
+ mode: trustedExecutionModeSchema,
40347
+ risk_flags: external_exports.array(trustedExecutionRiskFlagSchema),
40348
+ rationale: external_exports.string().min(1)
40349
+ }).strict();
39963
40350
  var jsonSchemaObjectSchema = external_exports.record(external_exports.string(), external_exports.unknown()).refine((value) => value !== null, { message: "JSON Schema must be an object." });
39964
40351
  var commandDescribeInputSchema = external_exports.object({
39965
40352
  // The command id to describe, e.g. "compass.draft".
@@ -39971,6 +40358,7 @@ var commandDescribeOutputSchema = external_exports.object({
39971
40358
  description: external_exports.string().min(1),
39972
40359
  required_scope: requiredScopeSchema,
39973
40360
  confirmation: confirmationSchema,
40361
+ trusted_execution: trustedExecutionSchema,
39974
40362
  expose_over_mcp: external_exports.boolean(),
39975
40363
  input_schema: jsonSchemaObjectSchema,
39976
40364
  output_schema: jsonSchemaObjectSchema,
@@ -39988,6 +40376,7 @@ var commandListEntrySchema = external_exports.object({
39988
40376
  title: external_exports.string().min(1),
39989
40377
  required_scope: requiredScopeSchema,
39990
40378
  confirmation: confirmationSchema,
40379
+ trusted_execution: trustedExecutionSchema,
39991
40380
  expose_over_mcp: external_exports.boolean(),
39992
40381
  stages: external_exports.array(external_exports.string())
39993
40382
  }).strict();
@@ -39996,10 +40385,10 @@ var commandListOutputSchema = external_exports.object({
39996
40385
  }).strict();
39997
40386
 
39998
40387
  // ../../packages/protocol/src/compass.ts
39999
- var uuidSchema6 = external_exports.string().uuid();
40388
+ var uuidSchema7 = external_exports.string().uuid();
40000
40389
  var sourceCitationSchema = external_exports.object({
40001
40390
  source_id: external_exports.string().min(1),
40002
- document_id: uuidSchema6.optional(),
40391
+ document_id: uuidSchema7.optional(),
40003
40392
  label: external_exports.string().min(1),
40004
40393
  locator: external_exports.string().min(1),
40005
40394
  quote: external_exports.string().min(1).optional(),
@@ -40028,14 +40417,14 @@ var contextGapSchema = external_exports.object({
40028
40417
  var gapInterviewAnswerSchema = external_exports.object({
40029
40418
  gap_id: external_exports.string().min(1),
40030
40419
  answer: external_exports.string().min(1),
40031
- answered_by: uuidSchema6
40420
+ answered_by: uuidSchema7
40032
40421
  }).strict();
40033
40422
  var contextPackSchema = external_exports.object({
40034
40423
  schema_version: external_exports.literal(1),
40035
- tenant_id: uuidSchema6.optional(),
40424
+ tenant_id: uuidSchema7.optional(),
40036
40425
  sources: external_exports.array(external_exports.object({
40037
40426
  id: external_exports.string().min(1),
40038
- document_id: uuidSchema6.optional(),
40427
+ document_id: uuidSchema7.optional(),
40039
40428
  name: external_exports.string().min(1),
40040
40429
  kind: external_exports.enum(["document", "financial_upload", "interview", "integration_stub"]),
40041
40430
  mime_type: external_exports.string().min(1).optional()
@@ -40085,7 +40474,7 @@ var compassDraftSchema = external_exports.discriminatedUnion("schema_version", [
40085
40474
  compassDraftSchemaV2
40086
40475
  ]);
40087
40476
  var guardrailInputSchema = external_exports.object({
40088
- source_compass_version_id: uuidSchema6.optional(),
40477
+ source_compass_version_id: uuidSchema7.optional(),
40089
40478
  principles: external_exports.array(external_exports.object({
40090
40479
  index: external_exports.number().int().positive(),
40091
40480
  statement: external_exports.string().min(1),
@@ -40138,6 +40527,8 @@ var charterMeasurableSchema = external_exports.object({
40138
40527
  });
40139
40528
  var charterPermissionSchema = external_exports.object({
40140
40529
  tool: external_exports.string().min(1),
40530
+ capability_id: external_exports.string().min(1).optional(),
40531
+ integration_id: external_exports.string().uuid().optional(),
40141
40532
  scope: external_exports.string().min(1),
40142
40533
  granted: external_exports.boolean(),
40143
40534
  rationale: external_exports.string().min(1),
@@ -40279,6 +40670,21 @@ var coachDiscussionGuideOutputSchema = external_exports.object({
40279
40670
  suggested_structure: external_exports.array(external_exports.string()).max(8)
40280
40671
  });
40281
40672
 
40673
+ // ../../packages/protocol/src/integration-scopes.ts
40674
+ var integrationCapabilityAvailabilitySchema = external_exports.object({
40675
+ capability_id: external_exports.string().min(1),
40676
+ provider: external_exports.string().min(1),
40677
+ max_access_level: toolAccessLevelSchema.or(external_exports.literal("off")),
40678
+ availability: external_exports.enum(["available", "connection_required", "scope_missing", "revoked", "disabled"]),
40679
+ granted_scopes: external_exports.array(external_exports.string().min(1)),
40680
+ missing_scopes: external_exports.array(external_exports.string().min(1))
40681
+ }).strict();
40682
+ var normalizedIntegrationScopesSchema = external_exports.object({
40683
+ provider: external_exports.string().min(1),
40684
+ granted_scopes: external_exports.array(external_exports.string().min(1)),
40685
+ capabilities: external_exports.array(integrationCapabilityAvailabilitySchema)
40686
+ }).strict();
40687
+
40282
40688
  // ../../packages/protocol/src/integrations.ts
40283
40689
  var uuid5 = external_exports.string().uuid();
40284
40690
  var isoDateTime = external_exports.string().datetime({ offset: true });
@@ -40301,6 +40707,7 @@ var tenantIntegrationSummarySchema = external_exports.object({
40301
40707
  account_label: external_exports.string().min(1).nullable(),
40302
40708
  scopes: external_exports.array(external_exports.string().min(1)),
40303
40709
  capabilities: external_exports.array(external_exports.string().min(1)),
40710
+ capability_availability: external_exports.array(integrationCapabilityAvailabilitySchema).optional(),
40304
40711
  last_synced_at: isoDateTime.nullable(),
40305
40712
  last_tested_at: isoDateTime.nullable(),
40306
40713
  last_test_result: external_exports.enum(["ok", "failed"]).nullable(),
@@ -40397,15 +40804,15 @@ var integrationReadinessOutputSchema = external_exports.object({
40397
40804
  }).strict();
40398
40805
 
40399
40806
  // ../../packages/protocol/src/cli-bootstrap.ts
40400
- var uuidSchema7 = external_exports.string().uuid();
40807
+ var uuidSchema8 = external_exports.string().uuid();
40401
40808
  var userWhoamiInputSchema = external_exports.object({}).strict();
40402
40809
  var userWhoamiOutputSchema = external_exports.object({
40403
- user_id: uuidSchema7,
40810
+ user_id: uuidSchema8,
40404
40811
  email: external_exports.string().email().nullable(),
40405
40812
  full_name: external_exports.string().nullable(),
40406
- current_tenant_id: uuidSchema7.nullable(),
40813
+ current_tenant_id: uuidSchema8.nullable(),
40407
40814
  roles: external_exports.array(external_exports.object({
40408
- tenant_id: uuidSchema7,
40815
+ tenant_id: uuidSchema8,
40409
40816
  role: external_exports.enum(["owner", "admin", "steward", "member"]),
40410
40817
  status: external_exports.enum(["active", "invited", "suspended"])
40411
40818
  }).strict())
@@ -40413,7 +40820,7 @@ var userWhoamiOutputSchema = external_exports.object({
40413
40820
  var userTenantsInputSchema = external_exports.object({}).strict();
40414
40821
  var userTenantsOutputSchema = external_exports.object({
40415
40822
  tenants: external_exports.array(external_exports.object({
40416
- id: uuidSchema7,
40823
+ id: uuidSchema8,
40417
40824
  slug: external_exports.string().min(1),
40418
40825
  name: external_exports.string().min(1),
40419
40826
  role: external_exports.enum(["owner", "admin", "steward", "member"]),
@@ -40425,7 +40832,7 @@ var userUseTenantInputSchema = external_exports.object({
40425
40832
  tenant: external_exports.string().min(1)
40426
40833
  }).strict();
40427
40834
  var userUseTenantOutputSchema = external_exports.object({
40428
- tenant_id: uuidSchema7,
40835
+ tenant_id: uuidSchema8,
40429
40836
  slug: external_exports.string().min(1),
40430
40837
  name: external_exports.string().min(1),
40431
40838
  role: external_exports.enum(["owner", "admin", "steward", "member"]),
@@ -40435,7 +40842,7 @@ var signupProvisionTenantInputSchema = external_exports.object({
40435
40842
  company_name: external_exports.string().trim().min(2).max(120)
40436
40843
  }).strict();
40437
40844
  var signupProvisionTenantOutputSchema = external_exports.object({
40438
- tenant_id: uuidSchema7,
40845
+ tenant_id: uuidSchema8,
40439
40846
  slug: external_exports.string().min(1),
40440
40847
  name: external_exports.string().min(1),
40441
40848
  // false when the caller already had an active tenant — conservative-by-default
@@ -40446,26 +40853,26 @@ var tenantCreateInputSchema = external_exports.object({
40446
40853
  company_name: external_exports.string().trim().min(2).max(120)
40447
40854
  }).strict();
40448
40855
  var tenantCreateOutputSchema = external_exports.object({
40449
- tenant_id: uuidSchema7,
40856
+ tenant_id: uuidSchema8,
40450
40857
  slug: external_exports.string().min(1),
40451
40858
  name: external_exports.string().min(1),
40452
40859
  created: external_exports.literal(true),
40453
- source_tenant_id: uuidSchema7,
40454
- entitlement_id: uuidSchema7,
40455
- accounting_event_id: uuidSchema7,
40860
+ source_tenant_id: uuidSchema8,
40861
+ entitlement_id: uuidSchema8,
40862
+ accounting_event_id: uuidSchema8,
40456
40863
  active: external_exports.boolean(),
40457
40864
  next_action: external_exports.string().min(1)
40458
40865
  }).strict();
40459
40866
 
40460
40867
  // ../../packages/protocol/src/cli-operations.ts
40461
- var uuidSchema8 = external_exports.string().uuid();
40868
+ var uuidSchema9 = external_exports.string().uuid();
40462
40869
  var dateOnlySchema = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/, "expected YYYY-MM-DD");
40463
40870
  var signalListInputSchema = external_exports.object({
40464
- seat_id: uuidSchema8.optional()
40871
+ seat_id: uuidSchema9.optional()
40465
40872
  }).strict();
40466
40873
  var signalSummarySchema = external_exports.object({
40467
- measurable_id: uuidSchema8,
40468
- seat_id: uuidSchema8,
40874
+ measurable_id: uuidSchema9,
40875
+ seat_id: uuidSchema9,
40469
40876
  seat_name: external_exports.string(),
40470
40877
  name: external_exports.string(),
40471
40878
  unit: external_exports.string(),
@@ -40473,7 +40880,7 @@ var signalSummarySchema = external_exports.object({
40473
40880
  target: external_exports.number(),
40474
40881
  cadence: external_exports.enum(["daily", "weekly", "monthly", "quarterly", "annual"]),
40475
40882
  source: external_exports.enum(["agent", "human", "integration"]),
40476
- latest_reading_id: uuidSchema8.nullable(),
40883
+ latest_reading_id: uuidSchema9.nullable(),
40477
40884
  latest_value: external_exports.number().nullable(),
40478
40885
  latest_period_start: external_exports.string().nullable(),
40479
40886
  latest_confirmed: external_exports.boolean().nullable(),
@@ -40483,20 +40890,20 @@ var signalListOutputSchema = external_exports.object({
40483
40890
  signals: external_exports.array(signalSummarySchema)
40484
40891
  }).strict();
40485
40892
  var signalGetInputSchema = external_exports.object({
40486
- measurable_id: uuidSchema8
40893
+ measurable_id: uuidSchema9
40487
40894
  }).strict();
40488
40895
  var signalReadingSchema = external_exports.object({
40489
- reading_id: uuidSchema8,
40896
+ reading_id: uuidSchema9,
40490
40897
  period_start: dateOnlySchema,
40491
40898
  value: external_exports.number(),
40492
40899
  source: external_exports.enum(["agent", "human", "integration"]),
40493
40900
  confirmed: external_exports.boolean(),
40494
40901
  confirmed_at: external_exports.string().nullable(),
40495
- confirmed_by: uuidSchema8.nullable()
40902
+ confirmed_by: uuidSchema9.nullable()
40496
40903
  }).strict();
40497
40904
  var signalGetOutputSchema = external_exports.object({
40498
- measurable_id: uuidSchema8,
40499
- seat_id: uuidSchema8,
40905
+ measurable_id: uuidSchema9,
40906
+ seat_id: uuidSchema9,
40500
40907
  name: external_exports.string(),
40501
40908
  unit: external_exports.string(),
40502
40909
  direction: external_exports.enum(["up_good", "down_good"]),
@@ -40507,26 +40914,26 @@ var signalGetOutputSchema = external_exports.object({
40507
40914
  readings: external_exports.array(signalReadingSchema)
40508
40915
  }).strict();
40509
40916
  var signalConfirmReadingInputSchema = external_exports.object({
40510
- reading_id: uuidSchema8
40917
+ reading_id: uuidSchema9
40511
40918
  }).strict();
40512
40919
  var signalConfirmReadingOutputSchema = external_exports.object({
40513
- reading_id: uuidSchema8,
40920
+ reading_id: uuidSchema9,
40514
40921
  confirmed: external_exports.literal(true)
40515
40922
  }).strict();
40516
40923
  var signalCorrectReadingInputSchema = external_exports.object({
40517
- measurable_id: uuidSchema8,
40924
+ measurable_id: uuidSchema9,
40518
40925
  period_start: dateOnlySchema,
40519
40926
  value: external_exports.number().finite()
40520
40927
  }).strict();
40521
40928
  var signalCorrectReadingOutputSchema = external_exports.object({
40522
- reading_id: uuidSchema8,
40523
- measurable_id: uuidSchema8,
40929
+ reading_id: uuidSchema9,
40930
+ measurable_id: uuidSchema9,
40524
40931
  period_start: dateOnlySchema,
40525
40932
  value: external_exports.number(),
40526
40933
  confirmed: external_exports.literal(true)
40527
40934
  }).strict();
40528
40935
  var measurableCreateInputSchema = external_exports.object({
40529
- seat_id: uuidSchema8,
40936
+ seat_id: uuidSchema9,
40530
40937
  name: external_exports.string().trim().min(1).max(120),
40531
40938
  unit: external_exports.string().trim().min(1).max(40),
40532
40939
  direction: external_exports.enum(["up_good", "down_good"]),
@@ -40534,8 +40941,8 @@ var measurableCreateInputSchema = external_exports.object({
40534
40941
  cadence: external_exports.enum(["daily", "weekly", "monthly", "quarterly", "annual"])
40535
40942
  }).strict();
40536
40943
  var measurableCreateOutputSchema = external_exports.object({
40537
- measurable_id: uuidSchema8,
40538
- seat_id: uuidSchema8,
40944
+ measurable_id: uuidSchema9,
40945
+ seat_id: uuidSchema9,
40539
40946
  name: external_exports.string(),
40540
40947
  unit: external_exports.string(),
40541
40948
  direction: external_exports.enum(["up_good", "down_good"]),
@@ -40566,8 +40973,8 @@ var signalImportSkipSchema = external_exports.object({
40566
40973
  reason: external_exports.string()
40567
40974
  }).strict();
40568
40975
  var signalImportMeasurableResultSchema = external_exports.object({
40569
- measurable_id: uuidSchema8,
40570
- seat_id: uuidSchema8,
40976
+ measurable_id: uuidSchema9,
40977
+ seat_id: uuidSchema9,
40571
40978
  name: external_exports.string(),
40572
40979
  cadence: external_exports.enum(["daily", "weekly", "monthly", "quarterly", "annual"]),
40573
40980
  readings_written: external_exports.number().int().nonnegative()
@@ -40611,13 +41018,13 @@ var measurableTemplateListOutputSchema = external_exports.object({
40611
41018
  }).strict();
40612
41019
  var measurableTemplateAdoptInputSchema = external_exports.object({
40613
41020
  template_id: external_exports.string().trim().min(1).max(80),
40614
- seat_id: uuidSchema8,
41021
+ seat_id: uuidSchema9,
40615
41022
  target: external_exports.number().finite().optional()
40616
41023
  }).strict();
40617
41024
  var measurableTemplateAdoptOutputSchema = external_exports.object({
40618
- measurable_id: uuidSchema8,
41025
+ measurable_id: uuidSchema9,
40619
41026
  template_id: external_exports.string(),
40620
- seat_id: uuidSchema8,
41027
+ seat_id: uuidSchema9,
40621
41028
  name: external_exports.string(),
40622
41029
  unit: external_exports.string(),
40623
41030
  direction: measureDirectionSchema,
@@ -40628,7 +41035,7 @@ var scorecardGridInputSchema = external_exports.object({
40628
41035
  cadence: measureCadenceSchema.optional(),
40629
41036
  // Trailing period count; defaults per cadence (weekly 13, monthly 6, …).
40630
41037
  trailing: external_exports.number().int().min(1).max(53).optional(),
40631
- seat_id: uuidSchema8.optional(),
41038
+ seat_id: uuidSchema9.optional(),
40632
41039
  // Anchor date (YYYY-MM-DD) for the trailing window; defaults to today. Present
40633
41040
  // so callers/tests get a deterministic column set.
40634
41041
  as_of: dateOnlySchema.optional()
@@ -40645,8 +41052,8 @@ var scorecardGridCellSchema = external_exports.object({
40645
41052
  confirmed: external_exports.boolean().nullable()
40646
41053
  }).strict();
40647
41054
  var scorecardGridRowSchema = external_exports.object({
40648
- measurable_id: uuidSchema8,
40649
- seat_id: uuidSchema8,
41055
+ measurable_id: uuidSchema9,
41056
+ seat_id: uuidSchema9,
40650
41057
  seat_name: external_exports.string(),
40651
41058
  name: external_exports.string(),
40652
41059
  unit: external_exports.string(),
@@ -40695,7 +41102,7 @@ var frictionImportOutputSchema = external_exports.object({
40695
41102
  issues_created: external_exports.number().int().nonnegative(),
40696
41103
  issues_matched: external_exports.number().int().nonnegative(),
40697
41104
  issues_skipped: external_exports.number().int().nonnegative(),
40698
- batch_id: uuidSchema8.nullable(),
41105
+ batch_id: uuidSchema9.nullable(),
40699
41106
  skipped: external_exports.array(importSkipSchema).max(200)
40700
41107
  }).strict();
40701
41108
  var taskImportTodoSchema = external_exports.object({
@@ -40713,7 +41120,7 @@ var taskImportOutputSchema = external_exports.object({
40713
41120
  tasks_created: external_exports.number().int().nonnegative(),
40714
41121
  tasks_matched: external_exports.number().int().nonnegative(),
40715
41122
  tasks_skipped: external_exports.number().int().nonnegative(),
40716
- batch_id: uuidSchema8.nullable(),
41123
+ batch_id: uuidSchema9.nullable(),
40717
41124
  skipped: external_exports.array(importSkipSchema).max(200)
40718
41125
  }).strict();
40719
41126
  var cascadeImportRockSchema = external_exports.object({
@@ -40723,7 +41130,7 @@ var cascadeImportRockSchema = external_exports.object({
40723
41130
  }).strict();
40724
41131
  var cascadeImportInputSchema = external_exports.object({
40725
41132
  dry_run: external_exports.boolean().optional().default(false),
40726
- parent_objective_id: uuidSchema8.optional(),
41133
+ parent_objective_id: uuidSchema9.optional(),
40727
41134
  rocks: external_exports.array(cascadeImportRockSchema).min(1).max(1e3)
40728
41135
  }).strict();
40729
41136
  var cascadeImportOutputSchema = external_exports.object({
@@ -40731,8 +41138,8 @@ var cascadeImportOutputSchema = external_exports.object({
40731
41138
  rocks_created: external_exports.number().int().nonnegative(),
40732
41139
  rocks_matched: external_exports.number().int().nonnegative(),
40733
41140
  rocks_skipped: external_exports.number().int().nonnegative(),
40734
- objective_id: uuidSchema8.nullable(),
40735
- batch_id: uuidSchema8.nullable(),
41141
+ objective_id: uuidSchema9.nullable(),
41142
+ batch_id: uuidSchema9.nullable(),
40736
41143
  skipped: external_exports.array(importSkipSchema).max(200)
40737
41144
  }).strict();
40738
41145
  var MAX_VTO_TEXT_CHARS = 4e4;
@@ -40748,9 +41155,9 @@ var compassImportOutputSchema = external_exports.object({
40748
41155
  drafted: external_exports.boolean(),
40749
41156
  advisory_available: external_exports.boolean(),
40750
41157
  already_imported: external_exports.boolean(),
40751
- draft_id: uuidSchema8.nullable(),
41158
+ draft_id: uuidSchema9.nullable(),
40752
41159
  compass_version: external_exports.number().int().nonnegative().nullable(),
40753
- batch_id: uuidSchema8.nullable(),
41160
+ batch_id: uuidSchema9.nullable(),
40754
41161
  principles: external_exports.number().int().nonnegative(),
40755
41162
  horizons: external_exports.number().int().nonnegative(),
40756
41163
  cycle_objectives: external_exports.number().int().nonnegative(),
@@ -40758,18 +41165,18 @@ var compassImportOutputSchema = external_exports.object({
40758
41165
  }).strict();
40759
41166
  var goalStatusSchema = external_exports.enum(["on", "off", "done", "dropped"]);
40760
41167
  var goalListInputSchema = external_exports.object({
40761
- cycle_id: uuidSchema8.optional(),
40762
- seat_id: uuidSchema8.optional()
41168
+ cycle_id: uuidSchema9.optional(),
41169
+ seat_id: uuidSchema9.optional()
40763
41170
  }).strict();
40764
41171
  var goalSummarySchema = external_exports.object({
40765
- goal_id: uuidSchema8,
41172
+ goal_id: uuidSchema9,
40766
41173
  // DER-1039: 4-kind taxonomy (company_objective | seat_goal | milestone). Legacy
40767
41174
  // 'objective'/'cycle_goal' stay in the read enum for any tenant not yet re-seeded
40768
41175
  // during the add-only expand window (goal.list surfaces whatever the DB holds).
40769
41176
  kind: external_exports.enum(["objective", "cycle_goal", "company_objective", "seat_goal", "milestone"]),
40770
- cycle_id: uuidSchema8,
40771
- seat_id: uuidSchema8.nullable(),
40772
- parent_goal_id: uuidSchema8.nullable(),
41177
+ cycle_id: uuidSchema9,
41178
+ seat_id: uuidSchema9.nullable(),
41179
+ parent_goal_id: uuidSchema9.nullable(),
40773
41180
  title: external_exports.string(),
40774
41181
  status: goalStatusSchema,
40775
41182
  status_source: external_exports.enum(["human", "agent", "rollup"])
@@ -40778,24 +41185,24 @@ var goalListOutputSchema = external_exports.object({
40778
41185
  goals: external_exports.array(goalSummarySchema)
40779
41186
  }).strict();
40780
41187
  var goalCreateInputSchema = external_exports.object({
40781
- cycle_id: uuidSchema8,
40782
- seat_id: uuidSchema8,
40783
- parent_goal_id: uuidSchema8,
41188
+ cycle_id: uuidSchema9,
41189
+ seat_id: uuidSchema9,
41190
+ parent_goal_id: uuidSchema9,
40784
41191
  title: external_exports.string().trim().min(1),
40785
41192
  definition_of_done: external_exports.string().trim().min(1),
40786
41193
  status: external_exports.enum(["on", "off"]).optional()
40787
41194
  }).strict();
40788
41195
  var goalMutationOutputSchema = external_exports.object({
40789
- goal_id: uuidSchema8,
40790
- cycle_id: uuidSchema8,
40791
- seat_id: uuidSchema8.nullable(),
40792
- parent_goal_id: uuidSchema8.nullable(),
41196
+ goal_id: uuidSchema9,
41197
+ cycle_id: uuidSchema9,
41198
+ seat_id: uuidSchema9.nullable(),
41199
+ parent_goal_id: uuidSchema9.nullable(),
40793
41200
  title: external_exports.string(),
40794
41201
  status: goalStatusSchema,
40795
41202
  status_source: external_exports.enum(["human", "agent", "rollup"])
40796
41203
  }).strict();
40797
41204
  var goalUpdateInputSchema = external_exports.object({
40798
- goal_id: uuidSchema8,
41205
+ goal_id: uuidSchema9,
40799
41206
  title: external_exports.string().trim().min(1).optional(),
40800
41207
  definition_of_done: external_exports.string().trim().min(1).optional()
40801
41208
  }).strict().refine(
@@ -40803,22 +41210,22 @@ var goalUpdateInputSchema = external_exports.object({
40803
41210
  { message: "goal.update requires at least one of title or definition_of_done" }
40804
41211
  );
40805
41212
  var goalSetStatusInputSchema = external_exports.object({
40806
- goal_id: uuidSchema8,
41213
+ goal_id: uuidSchema9,
40807
41214
  status: external_exports.enum(["on", "off", "done"])
40808
41215
  }).strict();
40809
41216
  var goalReparentInputSchema = external_exports.object({
40810
- goal_id: uuidSchema8,
40811
- parent_goal_id: uuidSchema8
41217
+ goal_id: uuidSchema9,
41218
+ parent_goal_id: uuidSchema9
40812
41219
  }).strict();
40813
41220
  var goalDropInputSchema = external_exports.object({
40814
- goal_id: uuidSchema8
41221
+ goal_id: uuidSchema9
40815
41222
  }).strict();
40816
41223
  var goalSetProgressInputSchema = external_exports.object({
40817
- goal_id: uuidSchema8,
41224
+ goal_id: uuidSchema9,
40818
41225
  progress_pct: external_exports.number().int().min(0).max(100)
40819
41226
  }).strict();
40820
41227
  var goalSetProgressOutputSchema = external_exports.object({
40821
- goal_id: uuidSchema8,
41228
+ goal_id: uuidSchema9,
40822
41229
  progress_pct: external_exports.number().int().min(0).max(100),
40823
41230
  status: goalStatusSchema
40824
41231
  }).strict();
@@ -40829,10 +41236,10 @@ var goalPaceClassificationSchema = external_exports.enum([
40829
41236
  "untracked"
40830
41237
  ]);
40831
41238
  var goalAtRiskSchema = external_exports.object({
40832
- goal_id: uuidSchema8,
41239
+ goal_id: uuidSchema9,
40833
41240
  title: external_exports.string(),
40834
- seat_id: uuidSchema8.nullable(),
40835
- cycle_id: uuidSchema8,
41241
+ seat_id: uuidSchema9.nullable(),
41242
+ cycle_id: uuidSchema9,
40836
41243
  progress_pct: external_exports.number().int().min(0).max(100),
40837
41244
  classification: goalPaceClassificationSchema,
40838
41245
  expected_pct: external_exports.number().nullable(),
@@ -40853,8 +41260,8 @@ var goalDriverAnchorSchema = external_exports.object({
40853
41260
  expected_value: external_exports.number()
40854
41261
  }).strict();
40855
41262
  var goalBindMeasurableInputSchema = external_exports.object({
40856
- goal_id: uuidSchema8,
40857
- measurable_id: uuidSchema8,
41263
+ goal_id: uuidSchema9,
41264
+ measurable_id: uuidSchema9,
40858
41265
  // DER-1643: new operator bindings default to the conservative 'informs' role.
40859
41266
  // 'drives_status' is the deliberate leaf-only status driver (childless goal only,
40860
41267
  // one per goal) and stays human-confirmed.
@@ -40865,8 +41272,8 @@ var goalBindMeasurableInputSchema = external_exports.object({
40865
41272
  second_anchor: goalDriverAnchorSchema.optional()
40866
41273
  }).strict();
40867
41274
  var goalBindMeasurableOutputSchema = external_exports.object({
40868
- goal_id: uuidSchema8,
40869
- measurable_id: uuidSchema8,
41275
+ goal_id: uuidSchema9,
41276
+ measurable_id: uuidSchema9,
40870
41277
  role: goalMeasurableRoleSchema,
40871
41278
  // Per-binding steward opt-in; a fresh binding is always created OFF.
40872
41279
  auto_status_enabled: external_exports.boolean(),
@@ -40887,24 +41294,24 @@ var goalBindMeasurableOutputSchema = external_exports.object({
40887
41294
  driver_anchor: goalDriverAnchorSchema.nullable()
40888
41295
  }).strict();
40889
41296
  var goalUnbindMeasurableInputSchema = external_exports.object({
40890
- goal_id: uuidSchema8,
40891
- measurable_id: uuidSchema8,
41297
+ goal_id: uuidSchema9,
41298
+ measurable_id: uuidSchema9,
40892
41299
  // Which binding to remove; defaults to the status driver (the historical unbind).
40893
41300
  role: goalMeasurableRoleSchema.default("drives_status")
40894
41301
  }).strict();
40895
41302
  var goalUnbindMeasurableOutputSchema = external_exports.object({
40896
- goal_id: uuidSchema8,
40897
- measurable_id: uuidSchema8,
41303
+ goal_id: uuidSchema9,
41304
+ measurable_id: uuidSchema9,
40898
41305
  removed: external_exports.boolean()
40899
41306
  }).strict();
40900
41307
  var goalSetAutoStatusInputSchema = external_exports.object({
40901
- goal_id: uuidSchema8,
40902
- measurable_id: uuidSchema8,
41308
+ goal_id: uuidSchema9,
41309
+ measurable_id: uuidSchema9,
40903
41310
  enabled: external_exports.boolean()
40904
41311
  }).strict();
40905
41312
  var goalSetAutoStatusOutputSchema = external_exports.object({
40906
- goal_id: uuidSchema8,
40907
- measurable_id: uuidSchema8,
41313
+ goal_id: uuidSchema9,
41314
+ measurable_id: uuidSchema9,
40908
41315
  auto_status_enabled: external_exports.boolean(),
40909
41316
  // The goal's status after applying: enabling opts in and, when a confirmed
40910
41317
  // reading is available on a childless leaf that is not human-pinned, drives the
@@ -40914,7 +41321,7 @@ var goalSetAutoStatusOutputSchema = external_exports.object({
40914
41321
  applied_from_signal: external_exports.boolean()
40915
41322
  }).strict();
40916
41323
  var goalMeasurableBindingSchema = external_exports.object({
40917
- measurable_id: uuidSchema8,
41324
+ measurable_id: uuidSchema9,
40918
41325
  name: external_exports.string(),
40919
41326
  unit: external_exports.string(),
40920
41327
  role: external_exports.literal("drives_status"),
@@ -40932,25 +41339,25 @@ var goalMeasurableBindingSchema = external_exports.object({
40932
41339
  driver_anchor: goalDriverAnchorSchema.nullable()
40933
41340
  }).strict();
40934
41341
  var goalListMeasurablesInputSchema = external_exports.object({
40935
- goal_id: uuidSchema8
41342
+ goal_id: uuidSchema9
40936
41343
  }).strict();
40937
41344
  var goalListMeasurablesOutputSchema = external_exports.object({
40938
- goal_id: uuidSchema8,
41345
+ goal_id: uuidSchema9,
40939
41346
  bindings: external_exports.array(goalMeasurableBindingSchema)
40940
41347
  }).strict();
40941
41348
  var goalCoreSchema = external_exports.object({
40942
- id: uuidSchema8,
41349
+ id: uuidSchema9,
40943
41350
  title: external_exports.string(),
40944
41351
  kind: external_exports.enum(["objective", "cycle_goal", "company_objective", "seat_goal", "milestone"]),
40945
41352
  status: goalStatusSchema,
40946
41353
  status_source: goalStatusSourceSchema,
40947
41354
  progress_pct: external_exports.number().int().min(0).max(100).nullable(),
40948
- seat_id: uuidSchema8.nullable(),
40949
- parent_goal_id: uuidSchema8.nullable(),
41355
+ seat_id: uuidSchema9.nullable(),
41356
+ parent_goal_id: uuidSchema9.nullable(),
40950
41357
  definition_of_done: external_exports.string()
40951
41358
  }).strict();
40952
41359
  var goalGetInputSchema = external_exports.object({
40953
- goal_id: uuidSchema8
41360
+ goal_id: uuidSchema9
40954
41361
  }).strict();
40955
41362
  var goalGetOutputSchema = external_exports.object({
40956
41363
  goal: goalCoreSchema
@@ -40960,16 +41367,16 @@ var frictionListInputSchema = external_exports.object({
40960
41367
  status: external_exports.enum(["open", "diagnosing", "resolved", "dropped", "active", "all"]).optional()
40961
41368
  }).strict();
40962
41369
  var frictionIssueSummarySchema = external_exports.object({
40963
- issue_id: uuidSchema8,
40964
- raised_by_seat_id: uuidSchema8,
41370
+ issue_id: uuidSchema9,
41371
+ raised_by_seat_id: uuidSchema9,
40965
41372
  raised_by_seat_name: external_exports.string(),
40966
41373
  summary: external_exports.string(),
40967
41374
  severity: external_exports.enum(["low", "med", "high", "critical"]),
40968
41375
  impact_score: external_exports.number(),
40969
41376
  status: issueStatusSchema,
40970
- blocking_goal_id: uuidSchema8.nullable(),
40971
- broken_measurable_id: uuidSchema8.nullable(),
40972
- action_task_id: uuidSchema8.nullable(),
41377
+ blocking_goal_id: uuidSchema9.nullable(),
41378
+ broken_measurable_id: uuidSchema9.nullable(),
41379
+ action_task_id: uuidSchema9.nullable(),
40973
41380
  root_cause: external_exports.string().nullable(),
40974
41381
  resolved_at: external_exports.string().nullable(),
40975
41382
  created_at: external_exports.string()
@@ -40981,42 +41388,42 @@ var frictionIssueDetailSchema = frictionIssueSummarySchema.extend({
40981
41388
  raised_by_seat_type: external_exports.enum(["human", "agent", "hybrid"]),
40982
41389
  raised_by_seat_steward_name: external_exports.string().nullable(),
40983
41390
  origin_actor_kind: external_exports.enum(["user", "agent", "system"]).nullable(),
40984
- origin_actor_id: uuidSchema8.nullable(),
41391
+ origin_actor_id: uuidSchema9.nullable(),
40985
41392
  evidence: external_exports.unknown(),
40986
41393
  action_task_title: external_exports.string().nullable(),
40987
- action_task_owner_seat_id: uuidSchema8.nullable(),
41394
+ action_task_owner_seat_id: uuidSchema9.nullable(),
40988
41395
  action_task_owner_seat_name: external_exports.string().nullable(),
40989
41396
  action_task_due_on: external_exports.string().nullable(),
40990
- decision_id: uuidSchema8.nullable(),
41397
+ decision_id: uuidSchema9.nullable(),
40991
41398
  decision_title: external_exports.string().nullable(),
40992
41399
  decision_summary: external_exports.string().nullable(),
40993
41400
  decided_by_name: external_exports.string().nullable(),
40994
41401
  updated_at: external_exports.string()
40995
41402
  }).strict();
40996
41403
  var frictionGetInputSchema = external_exports.object({
40997
- issue_id: uuidSchema8
41404
+ issue_id: uuidSchema9
40998
41405
  }).strict();
40999
41406
  var frictionGetOutputSchema = external_exports.object({
41000
41407
  issue: frictionIssueDetailSchema
41001
41408
  }).strict();
41002
41409
  var frictionUpdateStatusInputSchema = external_exports.object({
41003
- issue_id: uuidSchema8,
41410
+ issue_id: uuidSchema9,
41004
41411
  status: external_exports.enum(["open", "diagnosing"])
41005
41412
  }).strict();
41006
41413
  var frictionUpdateStatusOutputSchema = external_exports.object({
41007
- issue_id: uuidSchema8,
41414
+ issue_id: uuidSchema9,
41008
41415
  status: external_exports.enum(["open", "diagnosing"]),
41009
- event_id: uuidSchema8
41416
+ event_id: uuidSchema9
41010
41417
  }).strict();
41011
41418
  var frictionResolveInputSchema = external_exports.object({
41012
- issue_id: uuidSchema8,
41419
+ issue_id: uuidSchema9,
41013
41420
  resolution_mode: external_exports.enum(["ids", "already_fixed"]).default("ids"),
41014
41421
  root_cause: external_exports.string().trim().min(1),
41015
- owner_seat_id: uuidSchema8.optional(),
41422
+ owner_seat_id: uuidSchema9.optional(),
41016
41423
  task_title: external_exports.string().trim().min(1).optional(),
41017
41424
  task_description: external_exports.string().trim().min(1).optional(),
41018
41425
  done_by: dateOnlySchema.optional(),
41019
- resolving_seat_id: uuidSchema8.optional()
41426
+ resolving_seat_id: uuidSchema9.optional()
41020
41427
  }).strict().superRefine((value, ctx) => {
41021
41428
  if (value.resolution_mode !== "ids") {
41022
41429
  return;
@@ -41035,38 +41442,38 @@ var frictionResolveInputSchema = external_exports.object({
41035
41442
  }
41036
41443
  });
41037
41444
  var frictionResolveOutputSchema = external_exports.object({
41038
- issue_id: uuidSchema8,
41445
+ issue_id: uuidSchema9,
41039
41446
  status: external_exports.literal("resolved"),
41040
- action_task_id: uuidSchema8.nullable(),
41041
- decision_id: uuidSchema8
41447
+ action_task_id: uuidSchema9.nullable(),
41448
+ decision_id: uuidSchema9
41042
41449
  }).strict();
41043
41450
  var frictionLinkTaskInputSchema = external_exports.object({
41044
- issue_id: uuidSchema8,
41045
- task_id: uuidSchema8
41451
+ issue_id: uuidSchema9,
41452
+ task_id: uuidSchema9
41046
41453
  }).strict();
41047
41454
  var frictionLinkTaskOutputSchema = external_exports.object({
41048
- issue_id: uuidSchema8,
41049
- action_task_id: uuidSchema8
41455
+ issue_id: uuidSchema9,
41456
+ action_task_id: uuidSchema9
41050
41457
  }).strict();
41051
41458
  var taskCreateInputSchema = external_exports.object({
41052
- owner_seat_id: uuidSchema8,
41053
- from_seat_id: uuidSchema8.optional(),
41459
+ owner_seat_id: uuidSchema9,
41460
+ from_seat_id: uuidSchema9.optional(),
41054
41461
  title: external_exports.string().trim().min(1),
41055
41462
  description: external_exports.string().trim().min(1),
41056
- goal_id: uuidSchema8.optional(),
41463
+ goal_id: uuidSchema9.optional(),
41057
41464
  acceptance_criteria: external_exports.array(external_exports.string().min(1)).optional(),
41058
41465
  due_on: dateOnlySchema.optional()
41059
41466
  }).strict();
41060
41467
  var taskCreateOutputSchema = external_exports.object({
41061
- task_id: uuidSchema8,
41062
- owner_seat_id: uuidSchema8,
41063
- from_seat_id: uuidSchema8.nullable(),
41468
+ task_id: uuidSchema9,
41469
+ owner_seat_id: uuidSchema9,
41470
+ from_seat_id: uuidSchema9.nullable(),
41064
41471
  status: external_exports.string(),
41065
41472
  due_on: external_exports.string().nullable()
41066
41473
  }).strict();
41067
41474
  var taskUpdateInputSchema = external_exports.object({
41068
- task_id: uuidSchema8,
41069
- owner_seat_id: uuidSchema8.optional(),
41475
+ task_id: uuidSchema9,
41476
+ owner_seat_id: uuidSchema9.optional(),
41070
41477
  due_on: dateOnlySchema.optional(),
41071
41478
  title: external_exports.string().trim().min(1).optional(),
41072
41479
  description: external_exports.string().trim().min(1).optional(),
@@ -41076,17 +41483,17 @@ var taskUpdateInputSchema = external_exports.object({
41076
41483
  { message: "Provide at least one field to update." }
41077
41484
  );
41078
41485
  var taskUpdateOutputSchema = external_exports.object({
41079
- task_id: uuidSchema8,
41080
- owner_seat_id: uuidSchema8,
41081
- from_seat_id: uuidSchema8.nullable(),
41486
+ task_id: uuidSchema9,
41487
+ owner_seat_id: uuidSchema9,
41488
+ from_seat_id: uuidSchema9.nullable(),
41082
41489
  status: external_exports.string(),
41083
41490
  due_on: external_exports.string().nullable()
41084
41491
  }).strict();
41085
41492
  var syncBriefCompileInputSchema = external_exports.object({
41086
- cluster_id: uuidSchema8.optional()
41493
+ cluster_id: uuidSchema9.optional()
41087
41494
  }).strict();
41088
41495
  var syncBriefRefSchema = external_exports.object({
41089
- sync_brief_id: uuidSchema8,
41496
+ sync_brief_id: uuidSchema9,
41090
41497
  period_start: dateOnlySchema,
41091
41498
  period_end: dateOnlySchema,
41092
41499
  compiled_at: external_exports.string(),
@@ -41095,10 +41502,10 @@ var syncBriefRefSchema = external_exports.object({
41095
41502
  created: external_exports.boolean()
41096
41503
  }).strict();
41097
41504
  var syncBriefGetInputSchema = external_exports.object({
41098
- sync_brief_id: uuidSchema8.optional()
41505
+ sync_brief_id: uuidSchema9.optional()
41099
41506
  }).strict();
41100
41507
  var syncBriefGetOutputSchema = external_exports.object({
41101
- sync_brief_id: uuidSchema8,
41508
+ sync_brief_id: uuidSchema9,
41102
41509
  period_start: dateOnlySchema,
41103
41510
  period_end: dateOnlySchema,
41104
41511
  compiled_at: external_exports.string(),
@@ -41107,10 +41514,10 @@ var syncBriefGetOutputSchema = external_exports.object({
41107
41514
  doc: external_exports.unknown()
41108
41515
  }).strict();
41109
41516
  var syncRunStartInputSchema = external_exports.object({
41110
- cluster_id: uuidSchema8.optional()
41517
+ cluster_id: uuidSchema9.optional()
41111
41518
  }).strict();
41112
41519
  var syncRunStartOutputSchema = external_exports.object({
41113
- sync_brief_id: uuidSchema8,
41520
+ sync_brief_id: uuidSchema9,
41114
41521
  period_start: dateOnlySchema,
41115
41522
  period_end: dateOnlySchema,
41116
41523
  compiled_at: external_exports.string(),
@@ -41118,25 +41525,25 @@ var syncRunStartOutputSchema = external_exports.object({
41118
41525
  degraded: external_exports.boolean()
41119
41526
  }).strict();
41120
41527
  var syncRunCompleteInputSchema = external_exports.object({
41121
- sync_brief_id: uuidSchema8
41528
+ sync_brief_id: uuidSchema9
41122
41529
  }).strict();
41123
41530
  var syncRunCompleteOutputSchema = external_exports.object({
41124
- sync_brief_id: uuidSchema8,
41125
- event_id: uuidSchema8,
41126
- decision_ids: external_exports.array(uuidSchema8),
41127
- task_ids: external_exports.array(uuidSchema8)
41531
+ sync_brief_id: uuidSchema9,
41532
+ event_id: uuidSchema9,
41533
+ decision_ids: external_exports.array(uuidSchema9),
41534
+ task_ids: external_exports.array(uuidSchema9)
41128
41535
  }).strict();
41129
41536
  var syncItemAssignInputSchema = external_exports.object({
41130
- sync_brief_id: uuidSchema8,
41131
- owner_seat_id: uuidSchema8,
41537
+ sync_brief_id: uuidSchema9,
41538
+ owner_seat_id: uuidSchema9,
41132
41539
  title: external_exports.string().trim().min(1),
41133
41540
  description: external_exports.string().trim().min(1),
41134
41541
  due_on: dateOnlySchema.optional()
41135
41542
  }).strict();
41136
41543
  var syncItemAssignOutputSchema = external_exports.object({
41137
- sync_brief_id: uuidSchema8,
41138
- task_id: uuidSchema8,
41139
- owner_seat_id: uuidSchema8,
41544
+ sync_brief_id: uuidSchema9,
41545
+ task_id: uuidSchema9,
41546
+ owner_seat_id: uuidSchema9,
41140
41547
  status: external_exports.string(),
41141
41548
  due_on: external_exports.string().nullable()
41142
41549
  }).strict();
@@ -41632,18 +42039,18 @@ function parseNinetyRocksCsv(text) {
41632
42039
  }
41633
42040
 
41634
42041
  // ../../packages/protocol/src/markdown-readout.ts
41635
- var uuidSchema9 = external_exports.string().uuid();
42042
+ var uuidSchema10 = external_exports.string().uuid();
41636
42043
  var markdownOutputSchema = external_exports.object({
41637
42044
  markdown: external_exports.string().min(1)
41638
42045
  }).strict();
41639
42046
  var compassShowMarkdownInputSchema = external_exports.object({}).strict();
41640
42047
  var charterShowMarkdownInputSchema = external_exports.object({
41641
- seat_id: uuidSchema9
42048
+ seat_id: uuidSchema10
41642
42049
  }).strict();
41643
42050
  var charterShowMarkdownOutputSchema = external_exports.object({
41644
42051
  markdown: external_exports.string().min(1),
41645
- charter_version_id: uuidSchema9.nullable(),
41646
- seat_id: uuidSchema9,
42052
+ charter_version_id: uuidSchema10.nullable(),
42053
+ seat_id: uuidSchema10,
41647
42054
  version: external_exports.number().int().nonnegative().nullable(),
41648
42055
  status: external_exports.string().nullable(),
41649
42056
  doc: external_exports.unknown().nullable(),
@@ -41653,7 +42060,7 @@ var charterShowMarkdownOutputSchema = external_exports.object({
41653
42060
  }).strict().nullable()
41654
42061
  }).strict();
41655
42062
  var agentShowMarkdownInputSchema = external_exports.object({
41656
- seat_id: uuidSchema9
42063
+ seat_id: uuidSchema10
41657
42064
  }).strict();
41658
42065
 
41659
42066
  // ../../packages/protocol/src/constants.ts
@@ -41677,7 +42084,7 @@ var SEAT_MCP_CLAIM_TOKEN_TTL_SECONDS = (FORGE_TURN_HARD_CEILING_SECONDS + FORGE_
41677
42084
 
41678
42085
  // ../../packages/protocol/src/mcp-onboarding.ts
41679
42086
  var MCP_TOKEN_ABSOLUTE_MAX_EXPIRY_MS = (MCP_TOKEN_NO_EXPIRY_SENTINEL_DAYS + 1) * 24 * 60 * 60 * 1e3;
41680
- var uuidSchema10 = external_exports.string().uuid();
42087
+ var uuidSchema11 = external_exports.string().uuid();
41681
42088
  var isoDateTime2 = external_exports.string().datetime({ offset: true });
41682
42089
  var onboardingStatusInputSchema = external_exports.object({}).strict();
41683
42090
  var onboardingStatusOutputSchema = external_exports.object({
@@ -41718,7 +42125,7 @@ var onboardingAttachReferenceInputSchema = external_exports.object({
41718
42125
  source: external_exports.string().trim().min(1).max(500).optional()
41719
42126
  }).strict();
41720
42127
  var onboardingAttachReferenceOutputSchema = external_exports.object({
41721
- document_id: uuidSchema10,
42128
+ document_id: uuidSchema11,
41722
42129
  storage_ref: external_exports.string().min(1),
41723
42130
  kind: external_exports.enum(["org_chart", "role_doc", "plan", "financial", "other"]),
41724
42131
  title: external_exports.string().min(1).nullable()
@@ -41740,7 +42147,7 @@ var onboardingCreateInviteInputSchema = external_exports.object({
41740
42147
  flags: external_exports.record(external_exports.string(), external_exports.unknown()).default({})
41741
42148
  }).strict();
41742
42149
  var onboardingCreateInviteOutputSchema = external_exports.object({
41743
- invite_id: uuidSchema10,
42150
+ invite_id: uuidSchema11,
41744
42151
  email: external_exports.string().email(),
41745
42152
  role: external_exports.enum(["owner", "admin", "steward", "member"]),
41746
42153
  token: external_exports.string().min(1)
@@ -41753,36 +42160,36 @@ var tenantAnthropicKeySaveOutputSchema = external_exports.object({
41753
42160
  }).strict();
41754
42161
  var seatCreateInputSchema = external_exports.object({
41755
42162
  name: external_exports.string().trim().min(1).max(120),
41756
- parent_seat_id: uuidSchema10.nullable().optional(),
42163
+ parent_seat_id: uuidSchema11.nullable().optional(),
41757
42164
  seat_type: external_exports.enum(["human", "agent", "hybrid"]).default("human")
41758
42165
  }).strict();
41759
42166
  var seatCreateOutputSchema = external_exports.object({
41760
- seat_id: uuidSchema10
42167
+ seat_id: uuidSchema11
41761
42168
  }).strict();
41762
42169
  var seatRenameInputSchema = external_exports.object({
41763
- seat_id: uuidSchema10,
42170
+ seat_id: uuidSchema11,
41764
42171
  name: external_exports.string().trim().min(1).max(120)
41765
42172
  }).strict();
41766
42173
  var seatReparentInputSchema = external_exports.object({
41767
- seat_id: uuidSchema10,
41768
- new_parent_seat_id: uuidSchema10.nullable()
42174
+ seat_id: uuidSchema11,
42175
+ new_parent_seat_id: uuidSchema11.nullable()
41769
42176
  }).strict();
41770
42177
  var seatSetTypeInputSchema = external_exports.object({
41771
- seat_id: uuidSchema10,
42178
+ seat_id: uuidSchema11,
41772
42179
  seat_type: external_exports.enum(["human", "agent", "hybrid"])
41773
42180
  }).strict();
41774
42181
  var seatDecommissionInputSchema = external_exports.object({
41775
- seat_id: uuidSchema10
42182
+ seat_id: uuidSchema11
41776
42183
  }).strict();
41777
42184
  var seatMutationOutputSchema = external_exports.object({
41778
- seat_id: uuidSchema10
42185
+ seat_id: uuidSchema11
41779
42186
  }).strict();
41780
42187
  var seatDecommissionPreviewOutputSchema = external_exports.object({
41781
- seat_id: uuidSchema10,
42188
+ seat_id: uuidSchema11,
41782
42189
  seat_name: external_exports.string(),
41783
42190
  previous_status: external_exports.enum(["draft", "active", "vacant", "decommissioned"]),
41784
42191
  active_occupancy_count: external_exports.number().int().nonnegative(),
41785
- active_agent_ids: external_exports.array(uuidSchema10),
42192
+ active_agent_ids: external_exports.array(uuidSchema11),
41786
42193
  active_charter_count: external_exports.number().int().nonnegative(),
41787
42194
  active_mcp_token_count: external_exports.number().int().nonnegative(),
41788
42195
  active_credential_count: external_exports.number().int().nonnegative(),
@@ -41792,15 +42199,15 @@ var seatDecommissionPreviewOutputSchema = external_exports.object({
41792
42199
  effects: external_exports.array(external_exports.string())
41793
42200
  }).strict();
41794
42201
  var charterDraftInputSchema = external_exports.object({
41795
- seat_id: uuidSchema10
42202
+ seat_id: uuidSchema11
41796
42203
  }).strict();
41797
42204
  var charterDraftOutputSchema = external_exports.object({
41798
- charter_version_id: uuidSchema10,
41799
- seat_id: uuidSchema10,
42205
+ charter_version_id: uuidSchema11,
42206
+ seat_id: uuidSchema11,
41800
42207
  doc: external_exports.unknown()
41801
42208
  }).strict();
41802
42209
  var charterUpdateDraftInputSchema = external_exports.object({
41803
- charter_version_id: uuidSchema10,
42210
+ charter_version_id: uuidSchema11,
41804
42211
  // DER-785 (Part G): the full Charter document contract (was `z.unknown()`).
41805
42212
  // The DB layer already validated this with `charterSchema.parse`; advertising
41806
42213
  // it here gives `command.describe`/`rost command schema` a real shape and a
@@ -41808,17 +42215,17 @@ var charterUpdateDraftInputSchema = external_exports.object({
41808
42215
  doc: charterDocSchema
41809
42216
  }).strict();
41810
42217
  var charterSetInputSchema = external_exports.object({
41811
- seat_id: uuidSchema10,
42218
+ seat_id: uuidSchema11,
41812
42219
  doc: charterDocSchema,
41813
42220
  approve: external_exports.boolean().default(false)
41814
42221
  }).strict();
41815
42222
  var charterMutationOutputSchema = external_exports.object({
41816
- charter_version_id: uuidSchema10,
41817
- seat_id: uuidSchema10
42223
+ charter_version_id: uuidSchema11,
42224
+ seat_id: uuidSchema11
41818
42225
  }).strict();
41819
42226
  var charterApproveInputSchema = external_exports.object({
41820
- seat_id: uuidSchema10.optional(),
41821
- charter_version_id: uuidSchema10.optional(),
42227
+ seat_id: uuidSchema11.optional(),
42228
+ charter_version_id: uuidSchema11.optional(),
41822
42229
  // DER-785 (Part G): a partial of the Charter doc shape (was an untyped record).
41823
42230
  // These fields are shallow-merged onto the existing draft, then the merged doc
41824
42231
  // is re-validated against the full schema at persist time.
@@ -41833,20 +42240,20 @@ var charterDraftSkipReasonSchema = external_exports.enum(["seat_not_active", "ch
41833
42240
  var charterDraftAllOutputSchema = external_exports.object({
41834
42241
  drafted: external_exports.number().int().nonnegative(),
41835
42242
  skipped: external_exports.number().int().nonnegative(),
41836
- draft_ids: external_exports.array(uuidSchema10),
42243
+ draft_ids: external_exports.array(uuidSchema11),
41837
42244
  skipped_seats: external_exports.array(external_exports.object({
41838
- seat_id: uuidSchema10,
42245
+ seat_id: uuidSchema11,
41839
42246
  reason: charterDraftSkipReasonSchema
41840
42247
  }).strict())
41841
42248
  }).strict();
41842
42249
  var charterSkipInputSchema = external_exports.object({
41843
- charter_version_id: uuidSchema10
42250
+ charter_version_id: uuidSchema11
41844
42251
  }).strict();
41845
42252
  var charterApplySeatTypeRecommendationInputSchema = external_exports.object({
41846
- charter_version_id: uuidSchema10
42253
+ charter_version_id: uuidSchema11
41847
42254
  }).strict();
41848
42255
  var charterSignManifestInputSchema = external_exports.object({
41849
- charter_version_id: uuidSchema10
42256
+ charter_version_id: uuidSchema11
41850
42257
  }).strict();
41851
42258
  var pendingConfirmationSchema = external_exports.object({
41852
42259
  confirmationId: external_exports.string().min(1),
@@ -41890,13 +42297,13 @@ var confirmationListInputSchema = external_exports.object({
41890
42297
  limit: external_exports.number().int().min(1).max(200).optional()
41891
42298
  }).strict();
41892
42299
  var confirmationSummarySchema = external_exports.object({
41893
- id: uuidSchema10,
42300
+ id: uuidSchema11,
41894
42301
  command_id: external_exports.string(),
41895
42302
  redacted_args: external_exports.unknown(),
41896
42303
  actor_kind: external_exports.enum(["user", "agent", "system"]),
41897
42304
  source: external_exports.string(),
41898
42305
  scope_kind: external_exports.enum(["tenant_admin", "tenant", "seat"]),
41899
- seat_id: uuidSchema10.nullable(),
42306
+ seat_id: uuidSchema11.nullable(),
41900
42307
  seat_name: external_exports.string().nullable(),
41901
42308
  seat_type: external_exports.enum(["human", "agent", "hybrid"]).nullable(),
41902
42309
  risk_level: external_exports.enum(["normal", "sensitive", "dangerous"]),
@@ -41908,28 +42315,28 @@ var confirmationListOutputSchema = external_exports.object({
41908
42315
  confirmations: external_exports.array(confirmationSummarySchema)
41909
42316
  }).strict();
41910
42317
  var credentialIngressInputSchema = external_exports.object({
41911
- seat_id: uuidSchema10.optional(),
42318
+ seat_id: uuidSchema11.optional(),
41912
42319
  provider: external_exports.string().trim().min(1),
41913
42320
  scope_description: external_exports.string().trim().min(1),
41914
42321
  secret_name: external_exports.string().trim().min(1),
41915
42322
  secret: external_exports.string().trim().min(1)
41916
42323
  }).strict();
41917
42324
  var credentialIngressOutputSchema = external_exports.object({
41918
- credential_id: uuidSchema10,
42325
+ credential_id: uuidSchema11,
41919
42326
  provider: external_exports.string().min(1),
41920
- seat_id: uuidSchema10.nullable()
42327
+ seat_id: uuidSchema11.nullable()
41921
42328
  }).strict();
41922
42329
  var agentGoLiveInputSchema = external_exports.object({
41923
- seat_id: uuidSchema10,
41924
- charter_version_id: uuidSchema10
42330
+ seat_id: uuidSchema11,
42331
+ charter_version_id: uuidSchema11
41925
42332
  }).strict();
41926
42333
  var agentGoLiveOutputSchema = external_exports.object({
41927
- seat_id: uuidSchema10,
41928
- charter_version_id: uuidSchema10,
42334
+ seat_id: uuidSchema11,
42335
+ charter_version_id: uuidSchema11,
41929
42336
  status: external_exports.literal("live")
41930
42337
  }).strict();
41931
42338
  var compassSetInputSchema = external_exports.object({
41932
- draft_id: uuidSchema10.optional(),
42339
+ draft_id: uuidSchema11.optional(),
41933
42340
  doc: compassDraftSchema.optional(),
41934
42341
  approve: external_exports.boolean().default(false)
41935
42342
  }).strict().refine((input) => Boolean(input.draft_id) !== Boolean(input.doc), {
@@ -41937,7 +42344,7 @@ var compassSetInputSchema = external_exports.object({
41937
42344
  path: ["draft_id"]
41938
42345
  });
41939
42346
  var compassMutationOutputSchema = external_exports.object({
41940
- compass_version_id: uuidSchema10,
42347
+ compass_version_id: uuidSchema11,
41941
42348
  status: external_exports.enum(["draft", "active", "superseded"]),
41942
42349
  version: external_exports.number().int().nonnegative()
41943
42350
  }).strict();
@@ -41945,42 +42352,42 @@ var compassDraftInputSchema = external_exports.object({
41945
42352
  doc: compassDraftSchema
41946
42353
  }).strict();
41947
42354
  var compassUpdateDraftInputSchema = external_exports.object({
41948
- draft_id: uuidSchema10,
42355
+ draft_id: uuidSchema11,
41949
42356
  doc: compassDraftSchema
41950
42357
  }).strict();
41951
42358
  var compassApproveVersionInputSchema = external_exports.object({
41952
- draft_id: uuidSchema10
42359
+ draft_id: uuidSchema11
41953
42360
  }).strict();
41954
42361
  var compassRejectDraftInputSchema = external_exports.object({
41955
- draft_id: uuidSchema10
42362
+ draft_id: uuidSchema11
41956
42363
  }).strict();
41957
42364
  var compassAnswerGapInputSchema = external_exports.object({
41958
42365
  gap_id: external_exports.string().min(1),
41959
42366
  answer: external_exports.string().trim().min(1)
41960
42367
  }).strict();
41961
42368
  var seatStaffInputSchema = external_exports.object({
41962
- seat_id: uuidSchema10,
42369
+ seat_id: uuidSchema11,
41963
42370
  occupant: external_exports.discriminatedUnion("type", [
41964
42371
  external_exports.object({ type: external_exports.literal("vacant") }).strict(),
41965
- external_exports.object({ type: external_exports.literal("user"), user_id: uuidSchema10 }).strict(),
41966
- external_exports.object({ type: external_exports.literal("agent"), agent_id: uuidSchema10 }).strict()
42372
+ external_exports.object({ type: external_exports.literal("user"), user_id: uuidSchema11 }).strict(),
42373
+ external_exports.object({ type: external_exports.literal("agent"), agent_id: uuidSchema11 }).strict()
41967
42374
  ])
41968
42375
  }).strict();
41969
42376
  var staffingMutationOutputSchema = external_exports.object({
41970
- seat_id: uuidSchema10,
42377
+ seat_id: uuidSchema11,
41971
42378
  staffed: external_exports.enum(["vacant", "user", "agent"])
41972
42379
  }).strict();
41973
42380
  var staffingAssignUserInputSchema = external_exports.object({
41974
- seat_id: uuidSchema10,
41975
- user_id: uuidSchema10
42381
+ seat_id: uuidSchema11,
42382
+ user_id: uuidSchema11
41976
42383
  }).strict();
41977
42384
  var staffingAssignAgentDryRunInputSchema = external_exports.object({
41978
- seat_id: uuidSchema10,
41979
- agent_id: uuidSchema10
42385
+ seat_id: uuidSchema11,
42386
+ agent_id: uuidSchema11
41980
42387
  }).strict();
41981
42388
  var mcpTokenCreateInputSchema = external_exports.object({
41982
42389
  scope: external_exports.enum(["tenant_admin", "seat"]),
41983
- seat_id: uuidSchema10.optional(),
42390
+ seat_id: uuidSchema11.optional(),
41984
42391
  // DER-830: explicit absolute expiry (kept for back-compat / direct callers).
41985
42392
  // When omitted OR null, the DB default (now() + 90 days) applies — `null` is an
41986
42393
  // accepted "no explicit expiry" signal (existing UI/MCP callers pass it), so it
@@ -42024,17 +42431,17 @@ var mcpTokenCreateInputSchema = external_exports.object({
42024
42431
  }
42025
42432
  });
42026
42433
  var mcpTokenCreateOutputSchema = external_exports.object({
42027
- token_id: uuidSchema10,
42434
+ token_id: uuidSchema11,
42028
42435
  token: external_exports.string().min(1),
42029
42436
  scope: external_exports.enum(["tenant_admin", "seat"]),
42030
- seat_id: uuidSchema10.nullable()
42437
+ seat_id: uuidSchema11.nullable()
42031
42438
  }).strict();
42032
42439
  var mcpTokenRevokeInputSchema = external_exports.object({
42033
- token_id: uuidSchema10,
42034
- seat_id: uuidSchema10.optional()
42440
+ token_id: uuidSchema11,
42441
+ seat_id: uuidSchema11.optional()
42035
42442
  }).strict();
42036
42443
  var mcpTokenRevokeOutputSchema = external_exports.object({
42037
- token_id: uuidSchema10,
42444
+ token_id: uuidSchema11,
42038
42445
  revoked: external_exports.boolean()
42039
42446
  }).strict();
42040
42447
 
@@ -42047,7 +42454,7 @@ var markNotificationsReadRequestSchema = external_exports.object({
42047
42454
  });
42048
42455
 
42049
42456
  // ../../packages/protocol/src/product-analytics.ts
42050
- var uuidSchema11 = external_exports.string().uuid();
42457
+ var uuidSchema12 = external_exports.string().uuid();
42051
42458
  var safeNameSchema = external_exports.string().trim().min(1).max(120).regex(/^[a-z][a-z0-9._:-]*$/);
42052
42459
  var safeSurfaceSchema = external_exports.string().trim().min(1).max(80).regex(/^[a-z][a-z0-9_-]*$/);
42053
42460
  var routeSegmentSchema = /^(?:[a-z][a-z0-9-]{0,31}|:[a-z][a-z0-9_]{0,31}|\*)$/;
@@ -42110,8 +42517,8 @@ var recommendationOutcomeStatusSchema = external_exports.enum([
42110
42517
  ]);
42111
42518
  var durationMsSchema = external_exports.number().int().nonnegative().max(24 * 60 * 60 * 1e3).optional();
42112
42519
  var productEventInputSchema = external_exports.object({
42113
- tenant_id: uuidSchema11,
42114
- user_id: uuidSchema11.optional(),
42520
+ tenant_id: uuidSchema12,
42521
+ user_id: uuidSchema12.optional(),
42115
42522
  source: analyticsSourceSchema,
42116
42523
  event_name: safeNameSchema,
42117
42524
  route_template: routeTemplateSchema.optional(),
@@ -42120,8 +42527,8 @@ var productEventInputSchema = external_exports.object({
42120
42527
  occurred_at: external_exports.string().datetime({ offset: true }).optional()
42121
42528
  }).strict();
42122
42529
  var pageViewInputSchema = external_exports.object({
42123
- tenant_id: uuidSchema11,
42124
- user_id: uuidSchema11.optional(),
42530
+ tenant_id: uuidSchema12,
42531
+ user_id: uuidSchema12.optional(),
42125
42532
  route_template: routeTemplateSchema,
42126
42533
  referrer_route_template: routeTemplateSchema.optional(),
42127
42534
  surface: safeSurfaceSchema.default("web"),
@@ -42130,9 +42537,9 @@ var pageViewInputSchema = external_exports.object({
42130
42537
  occurred_at: external_exports.string().datetime({ offset: true }).optional()
42131
42538
  }).strict();
42132
42539
  var commandInvocationInputSchema = external_exports.object({
42133
- tenant_id: uuidSchema11,
42134
- user_id: uuidSchema11.optional(),
42135
- seat_id: uuidSchema11.optional(),
42540
+ tenant_id: uuidSchema12,
42541
+ user_id: uuidSchema12.optional(),
42542
+ seat_id: uuidSchema12.optional(),
42136
42543
  command_id: safeNameSchema,
42137
42544
  source: analyticsSourceSchema,
42138
42545
  actor_kind: external_exports.enum(["user", "agent", "system"]),
@@ -42141,7 +42548,7 @@ var commandInvocationInputSchema = external_exports.object({
42141
42548
  guard_result: external_exports.enum(["allowed", "denied_manifest", "denied_budget", "escalated", "denied_tenant_policy"]).optional(),
42142
42549
  duration_ms: durationMsSchema,
42143
42550
  confirmation_required: external_exports.boolean().optional(),
42144
- request_id: uuidSchema11.optional(),
42551
+ request_id: uuidSchema12.optional(),
42145
42552
  properties: analyticsPropertiesSchema.optional(),
42146
42553
  occurred_at: external_exports.string().datetime({ offset: true }).optional()
42147
42554
  }).strict().superRefine((value, ctx) => {
@@ -42154,8 +42561,8 @@ var commandInvocationInputSchema = external_exports.object({
42154
42561
  }
42155
42562
  });
42156
42563
  var onboardingMilestoneInputSchema = external_exports.object({
42157
- tenant_id: uuidSchema11,
42158
- user_id: uuidSchema11.optional(),
42564
+ tenant_id: uuidSchema12,
42565
+ user_id: uuidSchema12.optional(),
42159
42566
  milestone: safeNameSchema,
42160
42567
  status: analyticsOutcomeStatusSchema,
42161
42568
  step_index: external_exports.number().int().nonnegative().max(100).optional(),
@@ -42164,19 +42571,19 @@ var onboardingMilestoneInputSchema = external_exports.object({
42164
42571
  occurred_at: external_exports.string().datetime({ offset: true }).optional()
42165
42572
  }).strict();
42166
42573
  var recommendationEventInputSchema = external_exports.object({
42167
- tenant_id: uuidSchema11,
42168
- user_id: uuidSchema11.optional(),
42574
+ tenant_id: uuidSchema12,
42575
+ user_id: uuidSchema12.optional(),
42169
42576
  recommendation_type: safeNameSchema,
42170
42577
  source_surface: safeSurfaceSchema,
42171
42578
  status: recommendationOutcomeStatusSchema,
42172
42579
  target_kind: safeSurfaceSchema.optional(),
42173
- target_id: uuidSchema11.optional(),
42580
+ target_id: uuidSchema12.optional(),
42174
42581
  properties: analyticsPropertiesSchema.optional(),
42175
42582
  occurred_at: external_exports.string().datetime({ offset: true }).optional()
42176
42583
  }).strict();
42177
42584
 
42178
42585
  // ../../packages/protocol/src/reads.ts
42179
- var uuidSchema12 = external_exports.string().uuid();
42586
+ var uuidSchema13 = external_exports.string().uuid();
42180
42587
  var isoDateTime3 = external_exports.string().datetime({ offset: true });
42181
42588
  var seatTypeSchema = external_exports.enum(["human", "agent", "hybrid"]);
42182
42589
  var seatStatusSchema = external_exports.enum(["draft", "active", "vacant", "decommissioned"]);
@@ -42191,13 +42598,13 @@ var credentialStatusSchema = external_exports.enum(["active", "revoked"]);
42191
42598
  var runStatusSchema = external_exports.enum(["running", "succeeded", "failed", "timeout", "cancelled"]);
42192
42599
  var graphGetInputSchema = external_exports.object({}).strict();
42193
42600
  var graphNodeSchema = external_exports.object({
42194
- seat_id: uuidSchema12,
42601
+ seat_id: uuidSchema13,
42195
42602
  name: external_exports.string(),
42196
42603
  seat_type: seatTypeSchema,
42197
42604
  status: seatStatusSchema,
42198
- parent_seat_id: uuidSchema12.nullable(),
42605
+ parent_seat_id: uuidSchema13.nullable(),
42199
42606
  is_root: external_exports.boolean(),
42200
- steward_seat_id: uuidSchema12.nullable(),
42607
+ steward_seat_id: uuidSchema13.nullable(),
42201
42608
  occupant: external_exports.object({
42202
42609
  kind: external_exports.enum(["user", "agent"]),
42203
42610
  label: external_exports.string(),
@@ -42210,11 +42617,11 @@ var graphNodeSchema = external_exports.object({
42210
42617
  is_peer: external_exports.boolean()
42211
42618
  }).strict();
42212
42619
  var graphEdgeSchema = external_exports.object({
42213
- parent_seat_id: uuidSchema12,
42214
- child_seat_id: uuidSchema12
42620
+ parent_seat_id: uuidSchema13,
42621
+ child_seat_id: uuidSchema13
42215
42622
  }).strict();
42216
42623
  var graphGetOutputSchema = external_exports.object({
42217
- root_seat_id: uuidSchema12.nullable(),
42624
+ root_seat_id: uuidSchema13.nullable(),
42218
42625
  nodes: external_exports.array(graphNodeSchema),
42219
42626
  edges: external_exports.array(graphEdgeSchema),
42220
42627
  status_rollups: external_exports.object({
@@ -42226,32 +42633,32 @@ var graphGetOutputSchema = external_exports.object({
42226
42633
  }).strict()
42227
42634
  }).strict();
42228
42635
  var seatGetInputSchema = external_exports.object({
42229
- seat_id: uuidSchema12
42636
+ seat_id: uuidSchema13
42230
42637
  }).strict();
42231
42638
  var seatGetOutputSchema = external_exports.object({
42232
- seat_id: uuidSchema12,
42639
+ seat_id: uuidSchema13,
42233
42640
  name: external_exports.string(),
42234
42641
  seat_type: seatTypeSchema,
42235
42642
  status: seatStatusSchema,
42236
42643
  purpose: external_exports.string().nullable(),
42237
- parent_seat_id: uuidSchema12.nullable(),
42644
+ parent_seat_id: uuidSchema13.nullable(),
42238
42645
  steward_chain: external_exports.array(external_exports.object({
42239
- seat_id: uuidSchema12,
42646
+ seat_id: uuidSchema13,
42240
42647
  name: external_exports.string()
42241
42648
  }).strict()),
42242
42649
  occupancies: external_exports.array(external_exports.object({
42243
- occupancy_id: uuidSchema12,
42650
+ occupancy_id: uuidSchema13,
42244
42651
  occupant_type: external_exports.enum(["user", "agent"]),
42245
42652
  label: external_exports.string(),
42246
42653
  started_at: isoDateTime3,
42247
42654
  ended_at: isoDateTime3.nullable()
42248
42655
  }).strict()),
42249
- active_charter_version_id: uuidSchema12.nullable(),
42250
- draft_charter_version_id: uuidSchema12.nullable(),
42656
+ active_charter_version_id: uuidSchema13.nullable(),
42657
+ draft_charter_version_id: uuidSchema13.nullable(),
42251
42658
  agent_status: agentStatusEnum2.nullable(),
42252
42659
  agent_lane: agentLaneSchema2.nullable(),
42253
42660
  mcp_tokens: external_exports.array(external_exports.object({
42254
- token_id: uuidSchema12,
42661
+ token_id: uuidSchema13,
42255
42662
  scope: mcpScopeSchema,
42256
42663
  created_at: isoDateTime3,
42257
42664
  last_seen_at: isoDateTime3.nullable(),
@@ -42261,7 +42668,7 @@ var seatGetOutputSchema = external_exports.object({
42261
42668
  revoked_at: isoDateTime3.nullable()
42262
42669
  }).strict()),
42263
42670
  credentials: external_exports.array(external_exports.object({
42264
- credential_id: uuidSchema12,
42671
+ credential_id: uuidSchema13,
42265
42672
  provider: external_exports.string(),
42266
42673
  status: credentialStatusSchema
42267
42674
  }).strict()),
@@ -42273,12 +42680,12 @@ var seatGetOutputSchema = external_exports.object({
42273
42680
  }).strict()
42274
42681
  }).strict();
42275
42682
  var charterListInputSchema = external_exports.object({
42276
- seat_id: uuidSchema12.optional(),
42683
+ seat_id: uuidSchema13.optional(),
42277
42684
  status: charterStatusSchema.optional()
42278
42685
  }).strict();
42279
42686
  var charterSummarySchema = external_exports.object({
42280
- charter_version_id: uuidSchema12,
42281
- seat_id: uuidSchema12,
42687
+ charter_version_id: uuidSchema13,
42688
+ seat_id: uuidSchema13,
42282
42689
  version: external_exports.number().int().nonnegative(),
42283
42690
  status: charterStatusSchema,
42284
42691
  created_at: isoDateTime3,
@@ -42288,11 +42695,11 @@ var charterListOutputSchema = external_exports.object({
42288
42695
  charters: external_exports.array(charterSummarySchema)
42289
42696
  }).strict();
42290
42697
  var charterGetInputSchema = external_exports.object({
42291
- charter_version_id: uuidSchema12
42698
+ charter_version_id: uuidSchema13
42292
42699
  }).strict();
42293
42700
  var charterGetOutputSchema = external_exports.object({
42294
- charter_version_id: uuidSchema12,
42295
- seat_id: uuidSchema12,
42701
+ charter_version_id: uuidSchema13,
42702
+ seat_id: uuidSchema13,
42296
42703
  version: external_exports.number().int().nonnegative(),
42297
42704
  status: charterStatusSchema,
42298
42705
  created_at: isoDateTime3,
@@ -42306,7 +42713,7 @@ var charterGetOutputSchema = external_exports.object({
42306
42713
  }).strict();
42307
42714
  var compassGetCurrentInputSchema = external_exports.object({}).strict();
42308
42715
  var compassVersionRefSchema = external_exports.object({
42309
- compass_version_id: uuidSchema12,
42716
+ compass_version_id: uuidSchema13,
42310
42717
  version: external_exports.number().int().nonnegative(),
42311
42718
  status: compassStatusSchema,
42312
42719
  doc: external_exports.unknown()
@@ -42317,7 +42724,7 @@ var compassGetCurrentOutputSchema = external_exports.object({
42317
42724
  // Sources expose document id and kind only. The underlying storage_ref can
42318
42725
  // be a local file path, so it is never surfaced (redaction rule).
42319
42726
  sources: external_exports.array(external_exports.object({
42320
- document_id: uuidSchema12,
42727
+ document_id: uuidSchema13,
42321
42728
  kind: external_exports.string()
42322
42729
  }).strict())
42323
42730
  }).strict();
@@ -42332,31 +42739,31 @@ var compassGapSchema = external_exports.object({
42332
42739
  answer: external_exports.string().nullable()
42333
42740
  }).strict();
42334
42741
  var compassListGapsOutputSchema = external_exports.object({
42335
- compass_version_id: uuidSchema12.nullable(),
42742
+ compass_version_id: uuidSchema13.nullable(),
42336
42743
  unanswered: external_exports.array(compassGapSchema),
42337
42744
  answered: external_exports.array(compassGapSchema)
42338
42745
  }).strict();
42339
42746
  var agentStatusInputSchema = external_exports.object({
42340
- seat_id: uuidSchema12
42747
+ seat_id: uuidSchema13
42341
42748
  }).strict();
42342
42749
  var agentStatusOutputSchema = external_exports.object({
42343
- seat_id: uuidSchema12,
42750
+ seat_id: uuidSchema13,
42344
42751
  // DER-786 (C7): `has_agent` is true whenever a setup agent exists for the seat
42345
42752
  // — including a draft setup that has no occupancy yet — so it agrees with
42346
42753
  // agent_setup.get. `lifecycle` is the shared cross-surface term derived from
42347
42754
  // `status` (none | draft_setup | dry_run | live | …).
42348
42755
  has_agent: external_exports.boolean(),
42349
42756
  lifecycle: agentLifecycleSchema,
42350
- agent_id: uuidSchema12.nullable(),
42757
+ agent_id: uuidSchema13.nullable(),
42351
42758
  kind: agentKindSchema2.nullable(),
42352
42759
  display_name: external_exports.string().nullable(),
42353
42760
  lane: agentLaneSchema2.nullable(),
42354
42761
  status: agentStatusEnum2.nullable(),
42355
42762
  schedule_cron: external_exports.string().nullable(),
42356
42763
  live: external_exports.boolean(),
42357
- charter_version_id: uuidSchema12.nullable(),
42764
+ charter_version_id: uuidSchema13.nullable(),
42358
42765
  steward_chain: external_exports.array(external_exports.object({
42359
- seat_id: uuidSchema12,
42766
+ seat_id: uuidSchema13,
42360
42767
  name: external_exports.string()
42361
42768
  }).strict()),
42362
42769
  steward_chain_resolves_to_human: external_exports.boolean(),
@@ -42368,7 +42775,7 @@ var agentStatusOutputSchema = external_exports.object({
42368
42775
  }).strict();
42369
42776
  var agentListFleetInputSchema = external_exports.object({}).strict();
42370
42777
  var fleetOverviewRowSchema = external_exports.object({
42371
- seat_id: uuidSchema12,
42778
+ seat_id: uuidSchema13,
42372
42779
  seat_name: external_exports.string(),
42373
42780
  seat_path: external_exports.string(),
42374
42781
  lane: agentLaneSchema2.nullable(),
@@ -42385,7 +42792,7 @@ var agentListFleetOutputSchema = external_exports.object({
42385
42792
  agents: external_exports.array(fleetOverviewRowSchema)
42386
42793
  }).strict();
42387
42794
  var runErrorLogSchema = external_exports.object({
42388
- error_log_id: uuidSchema12,
42795
+ error_log_id: uuidSchema13,
42389
42796
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]),
42390
42797
  severity: external_exports.enum(["warning", "error", "critical"]),
42391
42798
  code: external_exports.string().nullable(),
@@ -42398,9 +42805,9 @@ var agentFleetDigestInputSchema = external_exports.object({
42398
42805
  error_limit: external_exports.number().int().min(1).max(100).default(50)
42399
42806
  }).strict();
42400
42807
  var fleetDigestRunSchema = external_exports.object({
42401
- run_id: uuidSchema12,
42402
- seat_id: uuidSchema12,
42403
- agent_id: uuidSchema12,
42808
+ run_id: uuidSchema13,
42809
+ seat_id: uuidSchema13,
42810
+ agent_id: uuidSchema13,
42404
42811
  status: runStatusSchema,
42405
42812
  lane: agentLaneSchema2,
42406
42813
  model: external_exports.string(),
@@ -42410,22 +42817,22 @@ var fleetDigestRunSchema = external_exports.object({
42410
42817
  error_logs: external_exports.array(runErrorLogSchema)
42411
42818
  }).strict();
42412
42819
  var fleetDigestErrorSchema = runErrorLogSchema.extend({
42413
- seat_id: uuidSchema12.nullable(),
42414
- agent_id: uuidSchema12.nullable(),
42415
- run_id: uuidSchema12.nullable(),
42820
+ seat_id: uuidSchema13.nullable(),
42821
+ agent_id: uuidSchema13.nullable(),
42822
+ run_id: uuidSchema13.nullable(),
42416
42823
  disposition: external_exports.enum(["active", "acknowledged", "resolved", "superseded"])
42417
42824
  }).strict();
42418
42825
  var fleetDigestNotificationErrorSchema = external_exports.object({
42419
- notification_id: uuidSchema12,
42826
+ notification_id: uuidSchema13,
42420
42827
  kind: external_exports.string(),
42421
42828
  channel: external_exports.string(),
42422
42829
  status: external_exports.string(),
42423
42830
  provider: external_exports.string(),
42424
42831
  error_message: external_exports.string().nullable(),
42425
- error_log_id: uuidSchema12.nullable(),
42832
+ error_log_id: uuidSchema13.nullable(),
42426
42833
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).nullable(),
42427
- seat_id: uuidSchema12.nullable(),
42428
- run_id: uuidSchema12.nullable(),
42834
+ seat_id: uuidSchema13.nullable(),
42835
+ run_id: uuidSchema13.nullable(),
42429
42836
  created_at: isoDateTime3
42430
42837
  }).strict();
42431
42838
  var fleetDigestAgentSchema = fleetOverviewRowSchema.extend({
@@ -42474,17 +42881,17 @@ var seatTrustSummarySchema = external_exports.object({
42474
42881
  last_activity_at: isoDateTime3.nullable()
42475
42882
  }).strict();
42476
42883
  var agentListRunsInputSchema = external_exports.object({
42477
- seat_id: uuidSchema12,
42884
+ seat_id: uuidSchema13,
42478
42885
  // Conservative, bounded page size; the timeline is a recent-history view.
42479
42886
  limit: external_exports.number().int().min(1).max(200).default(50)
42480
42887
  }).strict();
42481
42888
  var agentGetRunInputSchema = external_exports.object({
42482
- seat_id: uuidSchema12,
42483
- run_id: uuidSchema12
42889
+ seat_id: uuidSchema13,
42890
+ run_id: uuidSchema13
42484
42891
  }).strict();
42485
42892
  var seatRunSchema = external_exports.object({
42486
- run_id: uuidSchema12,
42487
- agent_id: uuidSchema12,
42893
+ run_id: uuidSchema13,
42894
+ agent_id: uuidSchema13,
42488
42895
  agent_display_name: external_exports.string().nullable(),
42489
42896
  status: runStatusSchema,
42490
42897
  lane: agentLaneSchema2,
@@ -42497,16 +42904,16 @@ var seatRunSchema = external_exports.object({
42497
42904
  skill_activation_count: external_exports.number().int().nonnegative()
42498
42905
  }).strict();
42499
42906
  var seatRunDetailSchema = seatRunSchema.extend({
42500
- task_id: uuidSchema12.nullable(),
42501
- work_order_id: uuidSchema12.nullable(),
42907
+ task_id: uuidSchema13.nullable(),
42908
+ work_order_id: uuidSchema13.nullable(),
42502
42909
  transcript_ref: external_exports.string(),
42503
42910
  input_tokens: external_exports.number().int().nonnegative(),
42504
42911
  output_tokens: external_exports.number().int().nonnegative(),
42505
42912
  outcome: external_exports.record(external_exports.string(), external_exports.unknown()),
42506
42913
  error_logs: external_exports.array(runErrorLogSchema),
42507
42914
  skill_activations: external_exports.array(external_exports.object({
42508
- skill_activation_id: uuidSchema12,
42509
- skill_version_id: uuidSchema12,
42915
+ skill_activation_id: uuidSchema13,
42916
+ skill_version_id: uuidSchema13,
42510
42917
  slug: external_exports.string().min(1),
42511
42918
  name: external_exports.string().min(1),
42512
42919
  version: external_exports.number().int().positive(),
@@ -42520,23 +42927,23 @@ var seatRunDetailSchema = seatRunSchema.extend({
42520
42927
  }).strict())
42521
42928
  }).strict();
42522
42929
  var agentListRunsOutputSchema = external_exports.object({
42523
- seat_id: uuidSchema12,
42930
+ seat_id: uuidSchema13,
42524
42931
  summary: seatTrustSummarySchema,
42525
42932
  runs: external_exports.array(seatRunSchema)
42526
42933
  }).strict();
42527
42934
  var agentGetRunOutputSchema = external_exports.object({
42528
- seat_id: uuidSchema12,
42935
+ seat_id: uuidSchema13,
42529
42936
  run: seatRunDetailSchema
42530
42937
  }).strict();
42531
42938
  var agentListToolCallsInputSchema = external_exports.object({
42532
- seat_id: uuidSchema12,
42939
+ seat_id: uuidSchema13,
42533
42940
  limit: external_exports.number().int().min(1).max(200).default(50),
42534
42941
  // When true, return only HELD (non-allowed) tool calls — the governance view.
42535
42942
  held_only: external_exports.boolean().default(false)
42536
42943
  }).strict();
42537
42944
  var seatToolCallSchema = external_exports.object({
42538
- tool_call_id: uuidSchema12,
42539
- run_id: uuidSchema12.nullable(),
42945
+ tool_call_id: uuidSchema13,
42946
+ run_id: uuidSchema13.nullable(),
42540
42947
  tool_name: external_exports.string(),
42541
42948
  guard_result: guardResultSchema,
42542
42949
  manifest_clause: external_exports.string().nullable(),
@@ -42545,7 +42952,7 @@ var seatToolCallSchema = external_exports.object({
42545
42952
  finished_at: isoDateTime3.nullable()
42546
42953
  }).strict();
42547
42954
  var agentListToolCallsOutputSchema = external_exports.object({
42548
- seat_id: uuidSchema12,
42955
+ seat_id: uuidSchema13,
42549
42956
  summary: seatTrustSummarySchema,
42550
42957
  tool_calls: external_exports.array(seatToolCallSchema)
42551
42958
  }).strict();
@@ -42556,16 +42963,16 @@ var deliverableLinkSchema = external_exports.object({
42556
42963
  kind: external_exports.enum(["internal", "linear", "github", "external"])
42557
42964
  }).strict();
42558
42965
  var deliverableIdSchema = external_exports.union([
42559
- uuidSchema12,
42966
+ uuidSchema13,
42560
42967
  external_exports.string().regex(/^run:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i)
42561
42968
  ]);
42562
42969
  var deliverableRowSchema = external_exports.object({
42563
42970
  id: deliverableIdSchema,
42564
- seat_id: uuidSchema12,
42565
- agent_id: uuidSchema12.nullable(),
42566
- run_id: uuidSchema12.nullable(),
42567
- task_id: uuidSchema12.nullable(),
42568
- work_order_id: uuidSchema12.nullable(),
42971
+ seat_id: uuidSchema13,
42972
+ agent_id: uuidSchema13.nullable(),
42973
+ run_id: uuidSchema13.nullable(),
42974
+ task_id: uuidSchema13.nullable(),
42975
+ work_order_id: uuidSchema13.nullable(),
42569
42976
  kind: deliverableKindSchema,
42570
42977
  title: external_exports.string(),
42571
42978
  summary: external_exports.string().nullable(),
@@ -42578,13 +42985,13 @@ var deliverableRowSchema = external_exports.object({
42578
42985
  links: external_exports.array(deliverableLinkSchema)
42579
42986
  }).strict();
42580
42987
  var deliverableListInputSchema = external_exports.object({
42581
- seat_id: uuidSchema12
42988
+ seat_id: uuidSchema13
42582
42989
  }).strict();
42583
42990
  var deliverableListOutputSchema = external_exports.object({
42584
42991
  deliverables: external_exports.array(deliverableRowSchema)
42585
42992
  }).strict();
42586
42993
  var deliverableGetInputSchema = external_exports.object({
42587
- seat_id: uuidSchema12,
42994
+ seat_id: uuidSchema13,
42588
42995
  deliverable_id: deliverableIdSchema
42589
42996
  }).strict();
42590
42997
  var deliverableGetOutputSchema = external_exports.object({
@@ -42592,12 +42999,12 @@ var deliverableGetOutputSchema = external_exports.object({
42592
42999
  }).strict();
42593
43000
  var mcpTokenListInputSchema = external_exports.object({
42594
43001
  include_revoked: external_exports.boolean().default(false),
42595
- seat_id: uuidSchema12.optional()
43002
+ seat_id: uuidSchema13.optional()
42596
43003
  }).strict();
42597
43004
  var mcpTokenMetadataSchema = external_exports.object({
42598
- token_id: uuidSchema12,
43005
+ token_id: uuidSchema13,
42599
43006
  scope: mcpScopeSchema,
42600
- seat_id: uuidSchema12.nullable(),
43007
+ seat_id: uuidSchema13.nullable(),
42601
43008
  created_at: isoDateTime3,
42602
43009
  last_seen_at: isoDateTime3.nullable(),
42603
43010
  // DER-830: expires_at is now always present (the column is NOT NULL).
@@ -42611,29 +43018,29 @@ var mcpTokenListOutputSchema = external_exports.object({
42611
43018
  tokens: external_exports.array(mcpTokenMetadataSchema)
42612
43019
  }).strict();
42613
43020
  var errorLogListInputSchema = external_exports.object({
42614
- seat_id: uuidSchema12.optional(),
43021
+ seat_id: uuidSchema13.optional(),
42615
43022
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).optional(),
42616
43023
  severity: external_exports.enum(["warning", "error", "critical"]).optional(),
42617
43024
  resolved: external_exports.enum(["active", "acknowledged", "resolved", "all"]).default("active"),
42618
43025
  limit: external_exports.number().int().min(1).max(200).default(50)
42619
43026
  }).strict();
42620
43027
  var errorLogListItemSchema = external_exports.object({
42621
- error_log_id: uuidSchema12,
43028
+ error_log_id: uuidSchema13,
42622
43029
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]),
42623
43030
  severity: external_exports.enum(["warning", "error", "critical"]),
42624
43031
  code: external_exports.string().nullable(),
42625
43032
  message: external_exports.string(),
42626
- seat_id: uuidSchema12.nullable(),
42627
- agent_id: uuidSchema12.nullable(),
42628
- run_id: uuidSchema12.nullable(),
43033
+ seat_id: uuidSchema13.nullable(),
43034
+ agent_id: uuidSchema13.nullable(),
43035
+ run_id: uuidSchema13.nullable(),
42629
43036
  disposition: external_exports.enum(["active", "acknowledged", "resolved", "superseded"]),
42630
43037
  resolved_at: isoDateTime3.nullable(),
42631
- resolved_by: uuidSchema12.nullable(),
43038
+ resolved_by: uuidSchema13.nullable(),
42632
43039
  resolution_reason: external_exports.string().nullable(),
42633
- linked_task_id: uuidSchema12.nullable(),
42634
- linked_issue_id: uuidSchema12.nullable(),
43040
+ linked_task_id: uuidSchema13.nullable(),
43041
+ linked_issue_id: uuidSchema13.nullable(),
42635
43042
  linked_pr_ref: external_exports.string().nullable(),
42636
- superseded_by_id: uuidSchema12.nullable(),
43043
+ superseded_by_id: uuidSchema13.nullable(),
42637
43044
  created_at: isoDateTime3
42638
43045
  }).strict();
42639
43046
  var errorLogListOutputSchema = external_exports.object({
@@ -42641,29 +43048,29 @@ var errorLogListOutputSchema = external_exports.object({
42641
43048
  total: external_exports.number().int().nonnegative()
42642
43049
  }).strict();
42643
43050
  var errorLogResolveInputSchema = external_exports.object({
42644
- error_log_id: uuidSchema12,
43051
+ error_log_id: uuidSchema13,
42645
43052
  reason: external_exports.string().trim().min(1),
42646
43053
  disposition: external_exports.enum(["acknowledged", "resolved"]).default("acknowledged"),
42647
- linked_task_id: uuidSchema12.optional(),
42648
- linked_issue_id: uuidSchema12.optional(),
43054
+ linked_task_id: uuidSchema13.optional(),
43055
+ linked_issue_id: uuidSchema13.optional(),
42649
43056
  linked_pr_ref: external_exports.string().trim().min(1).optional()
42650
43057
  }).strict();
42651
43058
  var errorLogResolveOutputSchema = external_exports.object({
42652
- error_log_id: uuidSchema12,
43059
+ error_log_id: uuidSchema13,
42653
43060
  disposition: external_exports.enum(["acknowledged", "resolved"]),
42654
43061
  resolved_at: isoDateTime3
42655
43062
  }).strict();
42656
43063
  var errorLogSupersedeInputSchema = external_exports.object({
42657
- error_log_id: uuidSchema12,
42658
- new_error_log_id: uuidSchema12,
43064
+ error_log_id: uuidSchema13,
43065
+ new_error_log_id: uuidSchema13,
42659
43066
  reason: external_exports.string().trim().min(1),
42660
- linked_task_id: uuidSchema12.optional(),
42661
- linked_issue_id: uuidSchema12.optional(),
43067
+ linked_task_id: uuidSchema13.optional(),
43068
+ linked_issue_id: uuidSchema13.optional(),
42662
43069
  linked_pr_ref: external_exports.string().trim().min(1).optional()
42663
43070
  }).strict();
42664
43071
  var errorLogSupersedeOutputSchema = external_exports.object({
42665
- error_log_id: uuidSchema12,
42666
- superseded_by_id: uuidSchema12,
43072
+ error_log_id: uuidSchema13,
43073
+ superseded_by_id: uuidSchema13,
42667
43074
  disposition: external_exports.literal("superseded"),
42668
43075
  resolved_at: isoDateTime3
42669
43076
  }).strict();
@@ -43009,13 +43416,13 @@ var tenantRenameOutputSchema = external_exports.object({
43009
43416
  }).strict();
43010
43417
 
43011
43418
  // ../../packages/protocol/src/system-health.ts
43012
- var uuidSchema13 = external_exports.string().uuid();
43419
+ var uuidSchema14 = external_exports.string().uuid();
43013
43420
  var isoDateTime5 = external_exports.string().datetime({ offset: true });
43014
43421
  var systemHealthCallerKindSchema = external_exports.enum(["tenant_admin", "member", "seat_token"]);
43015
43422
  var systemHealthCallerSchema = external_exports.object({
43016
43423
  kind: systemHealthCallerKindSchema,
43017
- seat_id: uuidSchema13.optional(),
43018
- seat_ids: external_exports.array(uuidSchema13).min(1).optional()
43424
+ seat_id: uuidSchema14.optional(),
43425
+ seat_ids: external_exports.array(uuidSchema14).min(1).optional()
43019
43426
  }).strict();
43020
43427
  var systemHealthVerdictSchema = external_exports.enum(["healthy", "degraded", "blocked"]);
43021
43428
  var systemHealthSeveritySchema = external_exports.enum(["info", "warning", "critical"]);
@@ -43053,18 +43460,18 @@ var systemHealthFindingSchema = external_exports.object({
43053
43460
  summary: external_exports.string().min(1),
43054
43461
  detail: external_exports.string().min(1),
43055
43462
  remediation: systemHealthActionSchema,
43056
- seat_id: uuidSchema13.nullable(),
43057
- goal_id: uuidSchema13.nullable(),
43058
- run_id: uuidSchema13.nullable(),
43059
- issue_id: uuidSchema13.nullable(),
43060
- task_id: uuidSchema13.nullable(),
43061
- error_log_id: uuidSchema13.nullable()
43463
+ seat_id: uuidSchema14.nullable(),
43464
+ goal_id: uuidSchema14.nullable(),
43465
+ run_id: uuidSchema14.nullable(),
43466
+ issue_id: uuidSchema14.nullable(),
43467
+ task_id: uuidSchema14.nullable(),
43468
+ error_log_id: uuidSchema14.nullable()
43062
43469
  }).strict();
43063
43470
  var systemHealthScopeSchema = external_exports.object({
43064
43471
  mode: systemHealthScopeModeSchema,
43065
- root_seat_ids: external_exports.array(uuidSchema13),
43066
- included_seat_ids: external_exports.array(uuidSchema13),
43067
- requested_seat_id: uuidSchema13.nullable(),
43472
+ root_seat_ids: external_exports.array(uuidSchema14),
43473
+ included_seat_ids: external_exports.array(uuidSchema14),
43474
+ requested_seat_id: uuidSchema14.nullable(),
43068
43475
  total_seat_count: external_exports.number().int().nonnegative()
43069
43476
  }).strict();
43070
43477
  var systemHealthFleetSectionSchema = external_exports.object({
@@ -43114,7 +43521,7 @@ var systemHealthSectionsSchema = external_exports.object({
43114
43521
  sync: systemHealthSyncSectionSchema
43115
43522
  }).strict();
43116
43523
  var systemHealthInputSchema = external_exports.object({
43117
- seat_id: uuidSchema13.optional()
43524
+ seat_id: uuidSchema14.optional()
43118
43525
  }).strict();
43119
43526
  var systemHealthCheckInputSchema = systemHealthInputSchema.extend({
43120
43527
  caller: systemHealthCallerSchema
@@ -43302,10 +43709,10 @@ var baserowFilteredCountInputSchema = external_exports.object({
43302
43709
  }).strict();
43303
43710
 
43304
43711
  // ../../packages/protocol/src/signal-report.ts
43305
- var uuidSchema14 = external_exports.string().uuid();
43712
+ var uuidSchema15 = external_exports.string().uuid();
43306
43713
  var dateOnlySchema2 = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/, "expected YYYY-MM-DD");
43307
43714
  var signalReportInputSchema = external_exports.object({
43308
- measurable_id: uuidSchema14,
43715
+ measurable_id: uuidSchema15,
43309
43716
  value: external_exports.number().finite(),
43310
43717
  // Optional; defaults to the measurable's current period (resolved in the
43311
43718
  // command against the measurable's own cadence via the canonical bounds).
@@ -43316,8 +43723,8 @@ var signalReportInputSchema = external_exports.object({
43316
43723
  confidence: external_exports.enum(["low", "medium", "high"]).optional()
43317
43724
  }).strict();
43318
43725
  var signalReportOutputSchema = external_exports.object({
43319
- reading_id: uuidSchema14,
43320
- measurable_id: uuidSchema14,
43726
+ reading_id: uuidSchema15,
43727
+ measurable_id: uuidSchema15,
43321
43728
  // Always false: an agent-sourced reading is a draft until a human confirms it.
43322
43729
  confirmed: external_exports.literal(false)
43323
43730
  }).strict();
@@ -44588,7 +44995,7 @@ var softwareFactoryBudgetExhaustedEventSchema = external_exports.object({
44588
44995
  }).strict();
44589
44996
 
44590
44997
  // ../../packages/protocol/src/sync-brief.ts
44591
- var uuidSchema15 = external_exports.string().uuid();
44998
+ var uuidSchema16 = external_exports.string().uuid();
44592
44999
  var dateSchema = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/);
44593
45000
  var syncBriefGapSchema = external_exports.object({
44594
45001
  section: external_exports.enum(["exceptions", "goal_deltas", "task_review", "friction", "agent_activity"]),
@@ -44601,8 +45008,8 @@ var sectionSchema = (itemSchema) => external_exports.object({
44601
45008
  flagged_gaps: external_exports.array(syncBriefGapSchema)
44602
45009
  }).strict();
44603
45010
  var syncBriefExceptionSchema = external_exports.object({
44604
- measurable_id: uuidSchema15,
44605
- seat_id: uuidSchema15,
45011
+ measurable_id: uuidSchema16,
45012
+ seat_id: uuidSchema16,
44606
45013
  seat_name: external_exports.string().min(1),
44607
45014
  name: external_exports.string().min(1),
44608
45015
  state: external_exports.enum(["risk", "crit", "pending"]),
@@ -44613,8 +45020,8 @@ var syncBriefExceptionSchema = external_exports.object({
44613
45020
  freshness: external_exports.enum(["fresh", "due", "stale", "awaiting_first_reading", "not_expected"]).optional()
44614
45021
  }).strict();
44615
45022
  var syncBriefGoalDeltaSchema = external_exports.object({
44616
- goal_id: uuidSchema15,
44617
- seat_id: uuidSchema15.nullable(),
45023
+ goal_id: uuidSchema16,
45024
+ seat_id: uuidSchema16.nullable(),
44618
45025
  seat_name: external_exports.string().nullable(),
44619
45026
  title: external_exports.string().min(1),
44620
45027
  status: external_exports.enum(["on", "off", "done", "dropped"]),
@@ -44628,22 +45035,22 @@ var syncBriefTaskReviewSchema = external_exports.object({
44628
45035
  previous_done_rate: external_exports.number().min(0).max(1),
44629
45036
  delta: external_exports.number().min(-1).max(1),
44630
45037
  stalled: external_exports.array(external_exports.object({
44631
- task_id: uuidSchema15,
44632
- owner_seat_id: uuidSchema15,
45038
+ task_id: uuidSchema16,
45039
+ owner_seat_id: uuidSchema16,
44633
45040
  owner_seat_name: external_exports.string().min(1),
44634
45041
  title: external_exports.string().min(1),
44635
45042
  due_on: dateSchema,
44636
45043
  stalled_at: external_exports.string().nullable()
44637
45044
  }).strict()),
44638
45045
  overdue_by_owner: external_exports.array(external_exports.object({
44639
- owner_seat_id: uuidSchema15,
45046
+ owner_seat_id: uuidSchema16,
44640
45047
  owner_seat_name: external_exports.string().min(1),
44641
45048
  overdue_count: external_exports.number().int().nonnegative()
44642
45049
  }).strict())
44643
45050
  }).strict();
44644
45051
  var syncBriefIssueSchema = external_exports.object({
44645
- issue_id: uuidSchema15,
44646
- raised_by_seat_id: uuidSchema15,
45052
+ issue_id: uuidSchema16,
45053
+ raised_by_seat_id: uuidSchema16,
44647
45054
  raised_by_seat_name: external_exports.string().min(1),
44648
45055
  summary: external_exports.string().min(1),
44649
45056
  severity: external_exports.enum(["low", "med", "high", "critical"]),
@@ -44660,16 +45067,16 @@ var syncBriefActionItemTrendSchema = external_exports.object({
44660
45067
  has_prior: external_exports.boolean()
44661
45068
  }).strict();
44662
45069
  var syncBriefCascadeAtRiskSchema = external_exports.object({
44663
- goal_id: uuidSchema15,
45070
+ goal_id: uuidSchema16,
44664
45071
  title: external_exports.string().min(1),
44665
- seat_id: uuidSchema15.nullable(),
45072
+ seat_id: uuidSchema16.nullable(),
44666
45073
  progress_pct: external_exports.number().int().min(0).max(100),
44667
45074
  classification: external_exports.enum(["at_risk", "projected_miss"]),
44668
45075
  behind_days: external_exports.number().nullable()
44669
45076
  }).strict();
44670
45077
  var syncBriefAgentActivitySchema = external_exports.object({
44671
- agent_id: uuidSchema15,
44672
- seat_id: uuidSchema15,
45078
+ agent_id: uuidSchema16,
45079
+ seat_id: uuidSchema16,
44673
45080
  seat_name: external_exports.string().min(1),
44674
45081
  run_count: external_exports.number().int().nonnegative(),
44675
45082
  failed_run_count: external_exports.number().int().nonnegative(),
@@ -44681,11 +45088,11 @@ var syncBriefAgentActivitySchema = external_exports.object({
44681
45088
  var syncBriefSchema = external_exports.object({
44682
45089
  schema_version: external_exports.literal(1),
44683
45090
  tenant: external_exports.object({
44684
- id: uuidSchema15,
45091
+ id: uuidSchema16,
44685
45092
  name: external_exports.string().min(1)
44686
45093
  }).strict(),
44687
45094
  cluster: external_exports.object({
44688
- id: uuidSchema15,
45095
+ id: uuidSchema16,
44689
45096
  name: external_exports.string().min(1)
44690
45097
  }).strict().nullable(),
44691
45098
  period: external_exports.object({
@@ -44796,11 +45203,11 @@ var usageSnapshotOutputSchema = external_exports.object({
44796
45203
  }).strict();
44797
45204
 
44798
45205
  // ../../packages/protocol/src/event-payloads.ts
44799
- var uuidSchema16 = external_exports.string().uuid();
45206
+ var uuidSchema17 = external_exports.string().uuid();
44800
45207
  var evidenceSchema = external_exports.array(external_exports.unknown());
44801
45208
  var statusEventPayloadSchema = external_exports.object({
44802
45209
  measurables: external_exports.array(external_exports.object({
44803
- id: uuidSchema16,
45210
+ id: uuidSchema17,
44804
45211
  value: external_exports.number().finite(),
44805
45212
  // DER-1045: an optional, non-secret citation for an agent-proposed reading
44806
45213
  // (signal.report) — where the number came from + the agent's confidence.
@@ -44829,7 +45236,7 @@ var statusEventPayloadSchema = external_exports.object({
44829
45236
  }).strict().optional()
44830
45237
  }).strict()).optional(),
44831
45238
  goals: external_exports.array(external_exports.object({
44832
- id: uuidSchema16,
45239
+ id: uuidSchema17,
44833
45240
  state: external_exports.enum(["on", "off"]),
44834
45241
  note: external_exports.string().min(1).optional()
44835
45242
  }).strict()).optional()
@@ -44842,8 +45249,8 @@ var escalationEventPayloadSchema = external_exports.object({
44842
45249
  }).strict();
44843
45250
  var issueEventPayloadSchema = external_exports.object({
44844
45251
  summary: external_exports.string().min(1),
44845
- blocking_goal_id: uuidSchema16.optional(),
44846
- broken_measurable_id: uuidSchema16.optional(),
45252
+ blocking_goal_id: uuidSchema17.optional(),
45253
+ broken_measurable_id: uuidSchema17.optional(),
44847
45254
  evidence: evidenceSchema,
44848
45255
  severity: external_exports.enum(["low", "med", "high", "critical"])
44849
45256
  }).strict();
@@ -44856,14 +45263,14 @@ var heldToolActionReplaySchema = external_exports.object({
44856
45263
  }).strict();
44857
45264
 
44858
45265
  // ../../packages/protocol/src/operating.ts
44859
- var uuidSchema17 = external_exports.string().uuid();
45266
+ var uuidSchema18 = external_exports.string().uuid();
44860
45267
  var taskListInputSchema = external_exports.object({}).strict();
44861
45268
  var operatingTaskSchema = external_exports.object({
44862
- id: uuidSchema17,
45269
+ id: uuidSchema18,
44863
45270
  title: external_exports.string(),
44864
45271
  description: external_exports.string().nullable(),
44865
- from_seat_id: uuidSchema17.nullable(),
44866
- goal_id: uuidSchema17.nullable(),
45272
+ from_seat_id: uuidSchema18.nullable(),
45273
+ goal_id: uuidSchema18.nullable(),
44867
45274
  acceptance_criteria: external_exports.unknown(),
44868
45275
  due_on: external_exports.string().nullable(),
44869
45276
  status: external_exports.string()
@@ -44872,48 +45279,48 @@ var taskListOutputSchema = external_exports.object({
44872
45279
  tasks: external_exports.array(operatingTaskSchema)
44873
45280
  }).strict();
44874
45281
  var taskAcceptInputSchema = external_exports.object({
44875
- id: uuidSchema17
45282
+ id: uuidSchema18
44876
45283
  }).strict();
44877
45284
  var taskMutationOutputSchema = external_exports.object({
44878
45285
  task: external_exports.object({
44879
- id: uuidSchema17,
45286
+ id: uuidSchema18,
44880
45287
  status: external_exports.string()
44881
45288
  }).strict()
44882
45289
  }).strict();
44883
45290
  var taskDeclineInputSchema = external_exports.object({
44884
- id: uuidSchema17,
45291
+ id: uuidSchema18,
44885
45292
  reason: external_exports.string().min(1)
44886
45293
  }).strict();
44887
45294
  var taskDeclineOutputSchema = external_exports.object({
44888
45295
  task: external_exports.object({
44889
- id: uuidSchema17,
45296
+ id: uuidSchema18,
44890
45297
  status: external_exports.string(),
44891
45298
  decline_reason: external_exports.string()
44892
45299
  }).strict()
44893
45300
  }).strict();
44894
45301
  var taskCompleteInputSchema = external_exports.object({
44895
- id: uuidSchema17,
45302
+ id: uuidSchema18,
44896
45303
  summary: external_exports.string().min(1),
44897
45304
  artifacts: external_exports.unknown().optional()
44898
45305
  }).strict();
44899
45306
  var taskCompleteOutputSchema = external_exports.object({
44900
- task_id: uuidSchema17,
44901
- event_id: uuidSchema17,
45307
+ task_id: uuidSchema18,
45308
+ event_id: uuidSchema18,
44902
45309
  type: external_exports.literal("handoff")
44903
45310
  }).strict();
44904
45311
  var statusRecordOutputSchema = external_exports.object({
44905
- event_id: uuidSchema17,
45312
+ event_id: uuidSchema18,
44906
45313
  type: external_exports.literal("status")
44907
45314
  }).strict();
44908
45315
  var duplicateFrictionCandidateSchema = external_exports.object({
44909
- issue_id: uuidSchema17,
45316
+ issue_id: uuidSchema18,
44910
45317
  summary: external_exports.string().min(1),
44911
45318
  // pg_trgm similarity in [0, 1]; higher is more similar.
44912
45319
  similarity: external_exports.number().min(0).max(1)
44913
45320
  }).strict();
44914
45321
  var frictionFileIssueOutputSchema = external_exports.object({
44915
- event_id: uuidSchema17,
44916
- issue_id: uuidSchema17,
45322
+ event_id: uuidSchema18,
45323
+ issue_id: uuidSchema18,
44917
45324
  type: external_exports.literal("issue"),
44918
45325
  // DER-1522: likely-duplicate candidates detected before creation. Recommend,
44919
45326
  // never block — filing always proceeds; empty when nothing crossed the
@@ -44924,12 +45331,12 @@ var workLogInputSchema = external_exports.object({
44924
45331
  note: external_exports.string().min(1)
44925
45332
  }).strict();
44926
45333
  var workLogOutputSchema = external_exports.object({
44927
- event_id: uuidSchema17,
45334
+ event_id: uuidSchema18,
44928
45335
  type: external_exports.literal("task")
44929
45336
  }).strict();
44930
45337
  var escalationRaiseOutputSchema = external_exports.object({
44931
- event_id: uuidSchema17,
44932
- escalation_id: uuidSchema17,
45338
+ event_id: uuidSchema18,
45339
+ escalation_id: uuidSchema18,
44933
45340
  type: external_exports.literal("escalation")
44934
45341
  }).strict();
44935
45342
  var deliverableKindSchema2 = external_exports.enum(["brief", "work_evidence", "artifact", "report", "other"]);
@@ -44977,7 +45384,7 @@ var deliverableAcceptOutputSchema = external_exports.object({
44977
45384
  }).strict();
44978
45385
 
44979
45386
  // ../../packages/protocol/src/steward.ts
44980
- var uuidSchema18 = external_exports.string().uuid();
45387
+ var uuidSchema19 = external_exports.string().uuid();
44981
45388
  var escalationStatusSchema = external_exports.enum([
44982
45389
  "open",
44983
45390
  "approved",
@@ -44985,21 +45392,21 @@ var escalationStatusSchema = external_exports.enum([
44985
45392
  "converted_to_issue"
44986
45393
  ]);
44987
45394
  var stewardEscalationSchema = external_exports.object({
44988
- id: uuidSchema18,
44989
- seat_id: uuidSchema18,
45395
+ id: uuidSchema19,
45396
+ seat_id: uuidSchema19,
44990
45397
  seat_name: external_exports.string(),
44991
45398
  seat_type: external_exports.enum(["human", "agent", "hybrid"]),
44992
- steward_seat_id: uuidSchema18,
45399
+ steward_seat_id: uuidSchema19,
44993
45400
  steward_seat_name: external_exports.string(),
44994
45401
  reason: external_exports.string(),
44995
45402
  charter_clause: external_exports.string(),
44996
45403
  recommended_action: external_exports.string().nullable(),
44997
45404
  status: escalationStatusSchema,
44998
- decided_by: uuidSchema18.nullable(),
45405
+ decided_by: uuidSchema19.nullable(),
44999
45406
  decided_by_name: external_exports.string().nullable(),
45000
45407
  decided_at: external_exports.string().nullable(),
45001
45408
  decision_note: external_exports.string().nullable(),
45002
- issue_id: uuidSchema18.nullable(),
45409
+ issue_id: uuidSchema19.nullable(),
45003
45410
  created_at: external_exports.string(),
45004
45411
  updated_at: external_exports.string()
45005
45412
  }).strict();
@@ -45010,27 +45417,27 @@ var escalationListOutputSchema = external_exports.object({
45010
45417
  escalations: external_exports.array(stewardEscalationSchema)
45011
45418
  }).strict();
45012
45419
  var escalationGetInputSchema = external_exports.object({
45013
- id: uuidSchema18
45420
+ id: uuidSchema19
45014
45421
  }).strict();
45015
45422
  var escalationGetOutputSchema = external_exports.object({
45016
45423
  escalation: stewardEscalationSchema
45017
45424
  }).strict();
45018
45425
  var escalationResolveActionSchema = external_exports.enum(["approve", "convert_to_issue"]);
45019
45426
  var escalationResolveInputSchema = external_exports.object({
45020
- id: uuidSchema18,
45427
+ id: uuidSchema19,
45021
45428
  action: escalationResolveActionSchema.optional(),
45022
45429
  rationale: external_exports.string().trim().min(1).optional()
45023
45430
  }).strict();
45024
45431
  var escalationRejectInputSchema = external_exports.object({
45025
- id: uuidSchema18,
45432
+ id: uuidSchema19,
45026
45433
  rationale: external_exports.string().trim().min(1).optional()
45027
45434
  }).strict();
45028
45435
  var escalationDecisionOutputSchema = external_exports.object({
45029
- escalation_id: uuidSchema18,
45436
+ escalation_id: uuidSchema19,
45030
45437
  status: escalationStatusSchema,
45031
- decision_id: uuidSchema18,
45032
- decided_by: uuidSchema18,
45033
- issue_id: uuidSchema18.nullable(),
45438
+ decision_id: uuidSchema19,
45439
+ decided_by: uuidSchema19,
45440
+ issue_id: uuidSchema19.nullable(),
45034
45441
  // DER-1478: true when the resolved escalation carries a durable replay_action
45035
45442
  // (an approval-gated connector write) that the approvals path should actuate
45036
45443
  // after this decision is recorded. Omitted (not false) for non-connector
@@ -45052,7 +45459,7 @@ var eventTypes = [
45052
45459
  "task"
45053
45460
  ];
45054
45461
  var publicMessageTypes = ["status", "handoff", "escalation", "issue"];
45055
- var uuidSchema19 = external_exports.string().uuid();
45462
+ var uuidSchema20 = external_exports.string().uuid();
45056
45463
  var evidenceSchema2 = external_exports.array(external_exports.unknown());
45057
45464
  var internalEventPayloadSchema = external_exports.record(external_exports.string(), external_exports.unknown()).refine((payload) => !Array.isArray(payload), "Internal event payload must be an object");
45058
45465
  var handoffEventPayloadSchema = external_exports.object({
@@ -45062,24 +45469,24 @@ var handoffEventPayloadSchema = external_exports.object({
45062
45469
  acceptance_criteria: external_exports.array(external_exports.string().min(1)),
45063
45470
  due: external_exports.string().datetime({ offset: true })
45064
45471
  }).strict(),
45065
- to_seat_id: uuidSchema19
45472
+ to_seat_id: uuidSchema20
45066
45473
  }).strict();
45067
45474
  var intakeEventPayloadSchema = external_exports.discriminatedUnion("action", [
45068
45475
  external_exports.object({
45069
45476
  action: external_exports.literal("uploaded"),
45070
- document_id: uuidSchema19,
45477
+ document_id: uuidSchema20,
45071
45478
  storage_ref: external_exports.string().min(1)
45072
45479
  }).strict(),
45073
45480
  external_exports.object({
45074
45481
  action: external_exports.literal("parsed"),
45075
- document_id: uuidSchema19,
45482
+ document_id: uuidSchema20,
45076
45483
  mode: external_exports.enum(["source_tree", "function_first"]),
45077
45484
  seat_count: external_exports.number().int().nonnegative(),
45078
45485
  edge_count: external_exports.number().int().nonnegative()
45079
45486
  }).strict(),
45080
45487
  external_exports.object({
45081
45488
  action: external_exports.literal("failed"),
45082
- document_id: uuidSchema19,
45489
+ document_id: uuidSchema20,
45083
45490
  reason: external_exports.string().min(1)
45084
45491
  }).strict(),
45085
45492
  external_exports.object({
@@ -45185,9 +45592,9 @@ var publicMessageTypeSchema = external_exports.enum(publicMessageTypes);
45185
45592
  var eventEnvelopeBaseSchema = external_exports.object({
45186
45593
  protocol: external_exports.literal(EVENT_PROTOCOL),
45187
45594
  type: eventTypeSchema,
45188
- seat_id: uuidSchema19.nullable(),
45595
+ seat_id: uuidSchema20.nullable(),
45189
45596
  occurred_at: external_exports.string().datetime({ offset: true }),
45190
- goal_ancestry: external_exports.array(uuidSchema19)
45597
+ goal_ancestry: external_exports.array(uuidSchema20)
45191
45598
  }).strict();
45192
45599
  var statusEventEnvelopeSchema = eventEnvelopeBaseSchema.extend({
45193
45600
  type: external_exports.literal("status"),
@@ -45613,7 +46020,7 @@ Treat AICOS as a coordinator over the operating system. It can become more usefu
45613
46020
  order: 20,
45614
46021
  title: "Responsibility Graph playbook",
45615
46022
  summary: "How to build a functions-first graph with seats, owners, Stewards, vacancies, and clean authority.",
45616
- version: "2026-07-10.3",
46023
+ version: "2026-07-10.6",
45617
46024
  public: true,
45618
46025
  audiences: ["human", "cli", "mcp", "in_app_agent"],
45619
46026
  stages: ["graph_design", "staffing"],
@@ -45694,7 +46101,11 @@ The graph also carries a mission-control panel. It pulls the same operational st
45694
46101
 
45695
46102
  A staffed non-AICOS agent's seat page uses one profile shell with eight URL-addressable tabs: **Overview**, **Charter**, **Tools & connections**, **Skills**, **Autonomy**, **Signals**, **Activity**, and **Settings**. The hero shows status, Charter purpose, Steward, seat path, lane, model, and last run. The sidebar keeps access, connection, tool/Skill/Signal/escalation/Charter counters, and schedule facts visible while the tabs organize the existing read models and controls. Legacy links such as \`#agent-ops\`, \`#recent-runs\`, and \`#run-<id>\` select the matching Settings or Activity tab. Human seats and the AICOS foundation seat keep their dedicated pages. Members without sensitive-data access see the same shell with explicit unavailable states for run, tool-call, cost, connection-status, and escalation facts; the page never broadens Trust Card access or turns an unavailable read into a confident empty/disconnected claim.
45696
46103
 
45697
- Agent creation at \`/agents/new\` begins with four doors: **Describe the job** opens the existing in-app builder, **Start from a template** opens the stock-template picker, **Build manually** opens the custom setup path, and **Import** opens an in-app format explainer. Definition-file import is roadmap-only and never opens a bare file picker; operators can instead continue to the existing-agent pairing flow. Setup is the detail page filling in: creating a seat from any door hands off to that agent's detail page in draft mode (\`/seats/{seatId}\`), where numbered setup tabs and a shared go-live gate rail complete the draft \u2014 there is no separate multi-step wizard. Existing \`?mode=template|custom|existing\` links open the matching door, and a \`?seat=\` resume link redirects straight to the draft detail page.
46104
+ The **Charter** tab renders the accepted Charter as a document \u2014 purpose, responsibilities, decision authority \u2014 with its version chip and signer, plus a structured edit drawer for quick purpose/responsibilities/decision-authority changes. The drawer prefills from the active Charter (or an open amendment draft, if one exists) and stages the edited slice through the same audited commands as any other Charter change; sensitive fields (permission manifest, budget, measurables, escalation rules) never round-trip through the client, and a save fails closed with an explicit conflict message if the Charter changed underneath the drawer since it opened. An **Amend** action stays next to the drawer for changes it does not cover, opening the same draft-and-confirm flow as the Charter Builder.
46105
+
46106
+ An owner or Steward manages the agent's capabilities in context from the **Tools & connections** and **Skills** tabs, no separate editor page. On **Skills**, assign or revoke a Skill directly; each change stages a confirmation envelope for the human to approve in \`/approvals\` \u2014 never a silent write. On **Tools & connections**, granted tools are read-only on this page; a change routes to the governed Charter re-sign flow (tool grants live in the signed, active Charter, so they change by supersession, never in place), and a missing provider links straight to Settings connections with a return link back to this tab. Viewers without manage authority see the same tabs with an explanation instead of controls; every write still re-asserts seat authority server-side regardless of what the client shows.
46107
+
46108
+ Agent creation at \`/agents/new\` begins with four doors: **Describe the job** opens the existing in-app builder, **Start from a template** opens the stock-template picker, **Build manually** opens the custom setup path, and **Import** opens an in-app format explainer. Definition-file import is roadmap-only and never opens a bare file picker; operators can instead continue to the existing-agent pairing flow. Setup is the detail page filling in: creating a seat from any door hands off to that agent's detail page in draft mode (\`/seats/{seatId}\`) \u2014 there is no separate wizard shell or tab vocabulary. Draft mode renders the exact same eight tabs the live seat uses; **Overview** and **Activity** stay locked until the first run has something to show, and the other six own the editable draft (Charter, Tools & connections, Skills, Autonomy, Outcomes & Signals, Settings). The shared **GateRail** review rail (sign manifest \u2192 sandbox dry run \u2192 go-live) and the server's \`next_action\` stay the sole lifecycle truth throughout, unaffected by which door you entered through. The door only changes how the one canonical form gets filled in: manual is the blank form, template pre-populates it, chat opens an AICOS setup assistant beside the form that proposes typed field changes grouped by section for review before anything durable saves, and import maps a definition file into the same fields and reports what did not map \u2014 never credentials. Existing \`?mode=template|custom|existing\` links open the matching door, and a \`?seat=\` resume link redirects straight to the draft detail page.
45698
46109
 
45699
46110
  ## Review an agent seat's delivered work
45700
46111
 
@@ -46285,7 +46696,7 @@ Use the lower-level commands after health names a finding: \`agent.get_run\` for
46285
46696
  order: 46,
46286
46697
  title: "Tool access and vault",
46287
46698
  summary: "How to give agents access to tools without exposing raw credentials or expanding authority by accident.",
46288
- version: "2026-07-02.4",
46699
+ version: "2026-07-13.1",
46289
46700
  public: true,
46290
46701
  audiences: ["human", "cli", "mcp", "in_app_agent"],
46291
46702
  stages: ["staffing"],
@@ -46339,7 +46750,7 @@ The native Gmail handlers run inside the same broker boundary as the REST and Sl
46339
46750
 
46340
46751
  ## Google connector status
46341
46752
 
46342
- Google can be connected from Settings once the workspace OAuth app is configured. The connection flow requests offline access for Gmail read/compose and Sheets, stores the returned credential in the vault, and records only account and scope metadata in the integration row. The test action refreshes the vaulted credential and performs a minimal Gmail profile read. Gmail read/draft, bounded Sheets read, and approval-held Sheets write handlers run through the guarded broker when Google is connected; connecting Google still does not bypass the signed Charter manifest, tenant policy ceiling, credential vault, or tool-call audit. Sheet grants should use exact signed argument bindings for approved spreadsheet ids and ranges.
46753
+ Google can be connected from Settings once the workspace OAuth app is configured. The connection flow requests offline access for Gmail read/compose/send and Sheets, stores the returned credential in the vault, and records only account, scope, and capability-availability metadata in the integration row. Partial grants are accepted when at least one connector capability is usable; missing or revoked scopes reduce the affected capability instead of granting more authority. The test action refreshes the vaulted credential and performs a minimal Gmail profile read. Gmail read/draft/send, bounded Sheets read, and approval-held Sheets write handlers run through the guarded broker when Google is connected; connecting Google still does not bypass the signed Charter manifest, tenant policy ceiling, credential vault, or tool-call audit. Sheet grants should use exact signed argument bindings for approved spreadsheet ids and ranges.
46343
46754
 
46344
46755
  CLI and MCP can inspect connector readiness without seeing secrets: \`integration.list\` / \`rost_list_integrations\` lists connected providers and health metadata, \`integration.status\` / \`rost_get_integration_status\` reads one provider by id or name, and \`integration.test\` / \`rost_test_integration_connection\` runs the installed provider-specific health check. For Google, the test refreshes the vaulted OAuth credential and reads the Gmail profile, then records only account, scope, and health metadata.
46345
46756
 
@@ -46376,7 +46787,7 @@ There is exactly one way to give a connected tool its credential, and it is the
46376
46787
  order: 47,
46377
46788
  title: "Available tools guide",
46378
46789
  summary: "How to think about tool categories available to seats and what each category should be used for.",
46379
- version: "2026-07-04.1",
46790
+ version: "2026-07-13.1",
46380
46791
  public: true,
46381
46792
  audiences: ["human", "cli", "mcp", "in_app_agent"],
46382
46793
  stages: ["staffing"],
@@ -46412,9 +46823,9 @@ Start from the seat's responsibility, not the tool list. If a tool does not dire
46412
46823
 
46413
46824
  ## Skills and tool dependencies
46414
46825
 
46415
- Skills are reusable procedures a seat can learn from; they are not tools and they never grant authority. A skill package may declare required or optional tool dependencies so setup can identify blockers before assignment. Those dependencies are checked against the discoverable \`tool.catalog\` ids and scope tiers, then compared to the seat's Charter permission manifest. Missing required tools block approval; optional tools produce setup warnings. A published skill version is immutable, so later corrections create a new version instead of rewriting what a run may have used.
46826
+ Skills are reusable procedures a seat can learn from; they are not tools and they never grant authority. A skill package may declare required or optional tool dependencies so setup can identify blockers before assignment. Those dependencies are checked against the discoverable \`tool.catalog\` ids, scope tiers, and provider-neutral access levels, then compared to the seat's Charter permission manifest. Missing required tools block approval; optional tools produce setup warnings. A published skill version is immutable, so later corrections create a new version instead of rewriting what a run may have used.
46416
46827
 
46417
- The catalog covers both the platform verbs (status, escalation, Signal readings) and the business tools the stock-agent templates grant \u2014 accounts-payable and receivable reads, AP-inbox and collections drafts, helpdesk triage, CRM reads, and content-calendar, release-artifact, and issue drafts. Each is listed at a conservative scope tier (read for the reads, draft for the drafts, where a draft never sends), and the business tools are credential-gated. Because a skill's required tool id is matched against these ids, a skill that requires one of them resolves against the catalog rather than reporting an unknown tool. Catalog membership is configuration only: it still confers no authority, and a listed id runs only once a live handler exists behind the seat's signed permission manifest, the server guard, and any required credential \u2014 the manifest and guard remain the control plane.
46828
+ The catalog covers both the platform verbs (status, escalation, Signal readings) and the business tools the stock-agent templates grant \u2014 accounts-payable and receivable reads, AP-inbox and collections drafts, helpdesk triage, CRM reads, and content-calendar, release-artifact, and issue drafts. Each is listed with a conservative scope tier (read for the reads, draft for the drafts, where a draft never sends), a provider-neutral access level, a provider requirement, cost class, lane support, and any Trusted-mode metadata that must be present before a standing authorization can apply. Business tools are credential-gated. Because a skill's required tool id is matched against these ids, a skill that requires one of them resolves against the catalog rather than reporting an unknown tool. Catalog membership is configuration only: it still confers no authority, and a listed id runs only once a live handler exists behind the seat's signed permission manifest, the server guard, and any required credential \u2014 the manifest and guard remain the control plane. Unknown tool ids or unsupported access levels fail closed.
46418
46829
 
46419
46830
  ## How agents should request tools
46420
46831
 
@@ -46431,7 +46842,7 @@ External connectors are being rolled out provider by provider, conservatively (r
46431
46842
  order: 48,
46432
46843
  title: "CLI and MCP installation guide",
46433
46844
  summary: "Install the public CLI, register remote token-backed MCP clients, and find the full command and tool catalog.",
46434
- version: "2026-07-12.4",
46845
+ version: "2026-07-13.3",
46435
46846
  public: true,
46436
46847
  audiences: ["human", "cli", "mcp", "in_app_agent"],
46437
46848
  stages: ["company_setup", "staffing"],
@@ -46862,8 +47273,8 @@ These are the security posture rules for operating after install \u2014 a checkl
46862
47273
  | Command | Purpose | Scope | Safe example |
46863
47274
  |---|---|---|---|
46864
47275
  | \`{{cli}} command <id> [--seat <seat-id>] --json [json-body]\` | Execute a server-side command by id. Add \`--seat <seat-id>\` to run a seat-scoped command (e.g. \`task.list\`) against a specific seat. | Command-defined | \`{{cli}} command task.list --seat <seat-id> --json '{}'\` |
46865
- | \`{{cli}} command schema <id> [--json]\` | Discover a command's exact input/output schema, help pointer, and a worked example before calling it. | User | \`{{cli}} command schema compass.draft\` |
46866
- | \`{{cli}} command list [--json]\` | List every callable command id with its scope and confirmation gate. | User | \`{{cli}} command list\` |
47276
+ | \`{{cli}} command schema <id> [--json]\` | Discover a command's exact input/output schema, help pointer, Trusted execution classification, and a worked example before calling it. | User | \`{{cli}} command schema compass.draft\` |
47277
+ | \`{{cli}} command list [--json]\` | List every callable command id with its scope, confirmation gate, and Trusted execution classification. | User | \`{{cli}} command list\` |
46867
47278
  | \`{{cli}} command onboarding.attach_reference --json ...\` | Attach a company reference document (reference-only). | Tenant | \`{{cli}} command onboarding.attach_reference --json '{"text":"# Ops handbook\\n...","title":"Ops handbook","kind":"process","source":"handbook/ops.md"}'\` |
46868
47279
  | \`{{cli}} command seat.create --json ...\` | Create a Responsibility Graph seat. | Tenant | \`{{cli}} command seat.create --json '{"name":"Finance","seat_type":"human"}'\` |
46869
47280
  | \`{{cli}} command charter.draft --json ...\` | Create or fetch a draft Charter. | Seat or tenant-admin | \`{{cli}} command charter.draft --json '{"seat_id":"<seat-id>"}'\` |
@@ -46901,7 +47312,8 @@ The signed-in app exposes the same Skill command surface at **Skills**, linked f
46901
47312
  | \`{{cli}} command tenant.model_gateway_policy.update\` | \`tenant.model_gateway_policy.update\` | Unlock or relock managed models that lack a zero-retention (ZDR) tier (ADR-0019). Locked (default) restricts the AI Gateway to zero-retention-eligible managed models. Owner-only and human-gated; unlocking establishes an ADR-0018 \xA76 standing authorization and surfaces a per-model retention disclosure. | Tenant-admin | \`{{cli}} command tenant.model_gateway_policy.update --json '{"allow_non_zdr_models":true}'\` |
46902
47313
  | \`{{cli}} member invite|update|remove\` | \`member.invite\`, \`member.update\`, \`member.remove\` | Manage tenant members; execution requires an owner or admin membership. | Tenant | \`{{cli}} member invite --email ops@example.com --role member\` |
46903
47314
  | \`{{cli}} agent templates|create|setup|tools|dry-run|go-live|status|run-now|fleet-digest|get-run|show\` | \`agent_template.list\`, \`agent.create_from_template\`, \`agent.create_custom\`, \`agent_setup.get\`, \`agent_setup.update\`, \`agent.configure_tools\`, \`agent.run_dry_run\`, \`agent.go_live\`, \`agent.status\`, \`agent.run_now\`, \`agent.fleet_digest\`, \`agent.get_run\`, \`agent.show_markdown\` | Run the full agent setup and operation flow: list templates, create a draft from a template or guided custom answers (with \`--model\` and \`--effort\`), read or answer setup state, connect or decline tools, dry-run, go live, run on demand, capture the fleet-health digest, read one run's transcript/error diagnostics, and show a markdown readout. Human CLI dry-runs print the rehearsal transcript and, when present, the per-tool preview labels (\`Would run\`, \`Blocked\`, \`Escalated\`) before go-live. Create and go-live stop at human gates; the dry-run is ungated by human approval but requires a signed manifest first. | Tenant and seat | \`{{cli}} agent fleet-digest --json\` |
46904
- | \`{{cli}} tools list\` | \`tool.catalog\` | List the discoverable tool catalog the builder reads (id, scope tiers, credential requirement, access policy, and execution-boundary guidance). | Tenant | \`{{cli}} tools list --json\` |
47315
+ | \`{{cli}} command agent.activation_receipt|agent.activation_sign|agent.trust.*\` | \`agent.activation_receipt\`, \`agent.activation_sign\`, \`agent.trust.create\`, \`agent.trust.inspect\`, \`agent.trust.revoke\`, \`agent.trust.expire\`, \`agent.trust.supersede\` | Build a secret-free activation receipt, sign the exact current digest, and create/inspect/revoke/expire/supersede bounded Trusted execution grants. Receipt and inspect are reads; sign and grant lifecycle writes are human steward/admin only and refuse stale receipt digests. | Seat read; tenant write | \`{{cli}} command agent.activation_receipt --json '{"agent_id":"<agent-id>"}'\`; \`{{cli}} command agent.trust.create --json '{"agent_id":"<agent-id>","expected_scope_digest":"sha256:...","budget_cents":2500}'\` |
47316
+ | \`{{cli}} tools list\` | \`tool.catalog\` | List the discoverable tool catalog the builder reads (id, scope tiers, access levels, provider requirement, cost class, lane support, credential requirement, access policy, Trusted metadata, and execution-boundary guidance). | Tenant | \`{{cli}} tools list --json\` |
46905
47317
  | \`{{cli}} skills list|get|file|assigned|check-dependencies\` | \`skill.list\`, \`skill.get\`, \`skill.file.get\`, \`skill.assigned.list\`, \`skill.check_dependencies\` | Discover reusable Skills, read descriptors and stored package files, list approved Seat assignments, and compare required/optional tool dependencies with a Seat's signed Charter manifest. Skills are instructions, not authority. | Tenant-admin; seat-scoped reads for assigned Skills | \`{{cli}} skills list --json\`; \`{{cli}} skills file --slug invoice-review --path SKILL.md\` |
46906
47318
  | \`{{cli}} skills catalog|enable|install|sync\` | \`skill.catalog\`, \`skill.enable_catalog\`, \`skill.install_local\`, \`skill.sync_local\` | Discover entitled {{brand}} catalog Skills, enable a catalog Skill into the company library with human confirmation, and install or sync approved Skill files locally from {{brand}} APIs. Private catalog source URLs and GitHub tokens never go to local agents. | Tenant-admin for catalog enablement; seat-scoped sync for assigned Skills | \`{{cli}} skills sync --seat-id <id> --client codex\`; \`{{cli}} skills install rost/ap-review --seat-id <id> --client codex\` |
46907
47319
  | \`{{cli}} skills create|update-draft|import|publish|assign|revoke\` | \`skill.create\`, \`skill.update_draft\`, \`skill.import_github\`, \`skill.import_upload\`, \`skill.publish\`, \`skill.assign_to_seat\`, \`skill.revoke_from_seat\` | Create or import bounded text Skill packages, publish reviewed immutable versions, propose Seat assignments, and revoke future use without deleting historical activations. Publish, revoke, and approved assignment stop at human confirmation; blocked required tools cannot be approved. | Tenant-admin writes; seat agents read assignments and escalate requests | \`{{cli}} skills import github --url https://github.com/acme/skills/tree/main/ap --json\`; \`{{cli}} skills assign --seat-id <id> --slug invoice-review --json\` |
@@ -46950,7 +47362,7 @@ Skills wrapper help:
46950
47362
  This catalog is the canonical machine surface \u2014 the \`rost_*\` tools your MCP client calls. Three different things are called "tools" in {{brand}}; do not confuse them:
46951
47363
 
46952
47364
  1. **The MCP tools below** \u2014 the \`rost_*\` surface your client actually calls to read and act.
46953
- 2. **\`{{cli}} tools list\` / \`tool.catalog\`** (MCP \`rost_list_tool_catalog\`) \u2014 the agent-configuration catalog the builder reads when staffing an agent. It is selectable per agent, but selecting a tool is not itself a call; live handlers execute later only behind the signed manifest, guard, credentials, and bindings.
47365
+ 2. **\`{{cli}} tools list\` / \`tool.catalog\`** (MCP \`rost_list_tool_catalog\`) \u2014 the agent-configuration catalog the builder reads when staffing an agent. It includes scope tiers, provider-neutral access levels, provider requirements, cost class, lane support, and Trusted metadata. It is selectable per agent, but selecting a tool is not itself a call; live handlers execute later only behind the signed manifest, guard, credentials, and bindings.
46954
47366
  3. **\`{{cli}} model list\` / \`model.catalog\`** (MCP \`rost_list_model_catalog\`) \u2014 the guided model-tier catalog the builder reads for recommendations, effort, token prices, cost bands, and model id selection.
46955
47367
  4. **The "Available tools guide"** (in the sidebar) \u2014 covers tool *categories* and governance, not a callable surface. See the available-tools-guide.
46956
47368
 
@@ -46962,8 +47374,8 @@ These read-only tools are available to any valid MCP token (like the reference t
46962
47374
 
46963
47375
  | Tool | Purpose | Scope | Safe example |
46964
47376
  |---|---|---|---|
46965
- | \`rost_describe_command\` | Return a command's input/output JSON Schema, scope, confirmation gate, MCP tool name, help pointer, guides, a validated example, and related commands. | Any valid MCP token | Query \`{"command_id":"compass.draft"}\` |
46966
- | \`rost_list_commands\` | List callable command ids in bounded pages with title, scope, confirmation, stages, and MCP tool name when callable. Supports \`q\`, \`category\`, \`stage\`, \`limit\`, and \`cursor\`. | Any valid MCP token | Query \`{"q":"status","limit":10}\` |
47377
+ | \`rost_describe_command\` | Return a command's input/output JSON Schema, scope, confirmation gate, Trusted execution classification, MCP tool name, help pointer, guides, a validated example, and related commands. | Any valid MCP token | Query \`{"command_id":"compass.draft"}\` |
47378
+ | \`rost_list_commands\` | List callable command ids in bounded pages with title, scope, confirmation, Trusted execution classification, stages, and MCP tool name when callable. Supports \`q\`, \`category\`, \`stage\`, \`limit\`, and \`cursor\`. | Any valid MCP token | Query \`{"q":"status","limit":10}\` |
46967
47379
 
46968
47380
  The equivalent CLI verbs are \`{{cli}} command schema <id>\` and \`{{cli}} command list\`. The discoverable tool catalog is \`{{cli}} tools list\` (MCP \`rost_list_tool_catalog\`, tenant-scoped).
46969
47381
 
@@ -47084,6 +47496,8 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
47084
47496
  | \`rost_set_company_autonomy_ceiling\` | \`settings.agent_policy.update\` | Set the company autonomy ceiling. | Tenant-admin | Owner-only, human-gated; call with \`{"profile":"locked_down"}\` (or \`balanced\`/\`high_autonomy\`, or \`{"profile":"custom","max_autonomous_risk":"high"}\`). Enforced by default. |
47085
47497
  | \`rost_get_cli_confirmation_mode\` | \`settings.confirmation_policy.get\` | Read the CLI confirmation mode: \`careful\` (the strict default \u2014 the CLI cannot silently auto-approve a pending confirmation) or \`trusted_operator\` (an owner opt-in). | Tenant | Call with \`{}\`; metadata only. |
47086
47498
  | \`rost_set_cli_confirmation_mode\` | \`settings.confirmation_policy.update\` | Set the CLI confirmation mode. | Tenant-admin | Owner-only, human-gated; call with \`{"cli_mode":"trusted_operator"}\` (or \`{"cli_mode":"careful"}\`). Choosing \`trusted_operator\` establishes an ADR-0018 \xA76 standing authorization; a \`dangerous\`-risk confirmation always requires interactive human review in either mode. |
47499
+ | \`rost_get_tenant_tool_policy\` | \`settings.tool_policy.get\` | Read tenant capability-grant defaults and the AICOS auto-trust posture. | Tenant | Call with \`{}\`; metadata only. |
47500
+ | \`rost_update_tenant_tool_policy\` | \`settings.tool_policy.update\` | Update tenant capability-grant defaults and the AICOS auto-trust posture. | Tenant-admin | Owner/admin only and human-gated; call with \`{"mode":"managed","aicos":{"trust_new_capabilities_automatically":true}}\`. |
47087
47501
  | \`rost_update_model_gateway_policy\` | \`tenant.model_gateway_policy.update\` | Unlock or relock managed models that lack a zero-retention (ZDR) tier. | Tenant-admin | Owner-only, human-gated; call with \`{"allow_non_zdr_models":true}\` (or \`false\` to relock). Unlocking establishes an ADR-0018 \xA76 standing authorization and surfaces a per-model retention disclosure. |
47088
47502
  | \`rost_get_aicos_brain_settings\` | \`aicos.brain_settings.get\` | Read AICOS lane and brain labels for cloud managed/BYOK, runner Claude/Codex, and MCP client. | Tenant | Call with \`{}\`; returns enum labels only, never keys, vault refs, or runner secrets. |
47089
47503
  | \`rost_update_aicos_brain_settings\` | \`aicos.brain_settings.update\` | Update AICOS lane and cloud/runner brain preferences. | Tenant-admin | Owner-only and human-gated; call with \`{"lane":"runner","runner_brain":"claude-cli"}\` or \`{"cloud_brain":"byok"}\`. BYOK requires an active tenant Anthropic key. For AICOS, selecting \`codex-cli\` is currently rejected until the governed interactive runner path is verified. |
@@ -47138,6 +47552,17 @@ Several rows here are seat-operating commands (\`task.create\`, the \`signal.*\`
47138
47552
  | \`rost_show_charter_as_markdown\` | \`charter.show_markdown\` | Render a seat's active or latest Charter as a clean markdown card for review. | Tenant | Call with \`{"seat_id":"<seat-id>"}\`. |
47139
47553
  | \`rost_show_agent_setup_as_markdown\` | \`agent.show_markdown\` | Render a seat's agent setup, model, steward, tools, and Charter as a clean markdown card for review. | Tenant | Call with \`{"seat_id":"<seat-id>"}\`. |
47140
47554
  | \`rost_list_tool_catalog\` | \`tool.catalog\` | List the discoverable tool catalog the agent builder reads \u2014 id, prescriptive description, scope tiers, credential requirement, access policy, and execution-boundary guidance. | Tenant | Call with \`{}\` or \`{"provider":"google"}\`. |
47555
+ | \`rost_list_tenant_capability_grants\` | \`tool_grants.tenant.list\` | List tenant capability ceilings/defaults with connection, availability, source, and compile status. | Tenant | Call with \`{}\`; no secrets or vault refs. |
47556
+ | \`rost_list_agent_effective_capability_grants\` | \`tool_grants.agent.effective\` | Read one agent's effective capability grants after tenant ceilings, agent selections, and compile availability are applied. | Tenant | Call with \`{"agent_id":"<agent-id>"}\`. |
47557
+ | \`rost_update_agent_capability_grants\` | \`tool_grants.agent.update\` | Compile a Charter supersession proposal for agent capability grant reductions or expansions. | Tenant | Human steward/admin only; call with \`{"agent_id":"<agent-id>","grants":[{"tool_grant_id":"<grant-id>","access_level":"read"}]}\`; active authority changes only after the signed Charter is superseded. |
47558
+ | \`rost_build_agent_activation_receipt\` | \`agent.activation_receipt\` | Build the current activation receipt for an agent: capabilities, connection metadata, digest, budget, and always-human boundary. | Seat or tenant-admin | Call with \`{"agent_id":"<agent-id>"}\`; rebuild after Charter, connection, lane, schedule, or grant changes. |
47559
+ | \`rost_sign_agent_activation_receipt\` | \`agent.activation_sign\` | Human steward/admin sign-off for the exact activation receipt digest. | Tenant | Human-gated; call with \`{"agent_id":"<agent-id>","expected_scope_digest":"sha256:...","budget_cents":2500}\`. |
47560
+ | \`rost_create_agent_trusted_grant\` | \`agent.trust.create\` | Create a bounded Trusted execution grant for a live agent after receipt review. | Tenant | Human steward/admin only; call with \`{"agent_id":"<agent-id>","expected_scope_digest":"sha256:...","budget_cents":2500}\`. |
47561
+ | \`rost_inspect_agent_trusted_grants\` | \`agent.trust.inspect\` | Inspect active or historical Trusted grants for one agent. | Seat or tenant-admin | Call with \`{"agent_id":"<agent-id>","include_inactive":true}\`; metadata only. |
47562
+ | \`rost_revoke_agent_trusted_grant\` | \`agent.trust.revoke\` | Revoke an active Trusted grant while preserving history. | Tenant | Human steward/admin only; call with \`{"grant_id":"<grant-id>","reason":"..."}\`; non-interactive callers receive a confirmation handoff. |
47563
+ | \`rost_expire_agent_trusted_grants\` | \`agent.trust.expire\` | Mark overdue active Trusted grants expired and append audit events. | Tenant | Human steward/admin only; call with \`{"agent_id":"<agent-id>"}\`. |
47564
+ | \`rost_supersede_agent_trusted_grant\` | \`agent.trust.supersede\` | Replace the active Trusted grant with a fresh digest and budget. | Tenant | Human steward/admin only; call with \`{"agent_id":"<agent-id>","expected_scope_digest":"sha256:...","budget_cents":2500}\`. |
47565
+ | \`rost_suggest_setup_capability_grants\` | \`agent_setup.capability_suggestions\` | Suggest deterministic minimum capability grants from the current setup/template and tenant grant availability. | Tenant | Call with \`{"seat_id":"<seat-id>"}\` or \`{"setup_id":"<agent-id>"}\`; no model call and no mutation. |
47141
47566
  | \`rost_list_skills\` | \`skill.list\` | List tenant Skills with application descriptors, dependency metadata, source status, latest version, and assigned Seat count. Seat-scoped reads are available through \`rost://skills\`. | Tenant-admin | Call with \`{}\` or \`{"query":"invoice"}\`. |
47142
47567
  | \`rost_list_rost_skill_catalog\` | \`skill.catalog\` | List entitled {{brand}} catalog Skills. Private catalog source URLs and credentials stay server-side. | Tenant-admin | Call with \`{}\`; use \`{"include_unentitled":true}\` only to inspect tier availability. |
47143
47568
  | \`rost_enable_rost_catalog_skill\` | \`skill.enable_catalog\` | Enable an entitled {{brand}} catalog Skill into the company library with human confirmation. | Tenant-admin | Call with \`{"slug":"rost/ap-review"}\`; non-interactive callers receive a confirmation handoff. |
@@ -49252,7 +49677,7 @@ A consultancy's purpose might be "Make expert tax guidance affordable for first-
49252
49677
  order: 31,
49253
49678
  title: "Charter authoring deep-dive",
49254
49679
  summary: "The full Charter document contract field by field \u2014 decision authority, escalation, measurables, budget, permissions \u2014 with worked examples for human, agent, and hybrid seats.",
49255
- version: "2026-06-18.1",
49680
+ version: "2026-07-13.1",
49256
49681
  public: true,
49257
49682
  audiences: ["cli", "mcp", "in_app_agent"],
49258
49683
  stages: ["charter_design", "staffing"],
@@ -49299,7 +49724,7 @@ A Charter is a seat's executable operating contract. On the CLI and MCP path you
49299
49724
  - **escalate** (1+) \u2014 the must-ask set: ambiguous authority, irreversible actions, credentials, legal or financial exposure, customer-impacting exceptions. At least one escalate item should carry \`unanswered_boundary: true\` so unresolved boundaries default conservative. The submit schema does not strictly require it, but the direct submit path (\`charter.update_draft\` / \`charter.set\`) does not add one for you \u2014 it only records the boundaries you flag \u2014 so include one whenever a boundary is unresolved.
49300
49725
  - **escalation_rules** (1+) \u2014 plain-language rules that trigger escalation, beyond the structured authority items. "Escalate any invoice over $5,000 or from a vendor not already in the ledger."
49301
49726
  - **measurables** (1+) \u2014 each \`{ name, target, cadence, source }\`. A measurable must measure the accountability, not vanity. \`cadence\` is \`daily|weekly|monthly|quarterly\`; \`source\` is \`human|agent|integration\`. Agent-sourced readings are unconfirmed until a human confirms them.
49302
- - **permission_manifest** \u2014 each \`{ tool, scope, granted, rationale }\`. Map each accountability to the narrowest tool scope that performs it. Prefer draft/read scopes; a send or spend scope is a deliberate, justified grant. The manifest is what the tool-guard enforces and what a human signs.
49727
+ - **permission_manifest** \u2014 each \`{ tool, scope, granted, rationale }\`, with machine fields such as \`capability_id\` and \`integration_id\` when the grant is backed by a connected capability. Map each accountability to the narrowest tool scope that performs it. Prefer draft/read scopes; a send or spend scope is a deliberate, justified grant. Connection-backed entries are signed against the exact tenant integration; stale, cross-tenant, or scope-revoked identities fail closed before activation. The manifest is what the tool-guard enforces and what a human signs.
49303
49728
  - **budget** \u2014 \`{ monthly_usd, approval_required_over_usd, notes }\`. \`monthly_usd\` may be \`null\` (no autonomous budget). \`approval_required_over_usd: 0\` means any spend needs approval. State the rule in \`notes\`.
49304
49729
  - **unanswered_boundaries** (optional) \u2014 the open questions about this seat's authority you have not resolved. Naming them keeps them conservative instead of silently autonomous. **You may omit this field**; the server defaults it to \`[]\` (and still records any boundary you flag inline via \`unanswered_boundary: true\` on an authority item).
49305
49730
  - **seat_type_recommendation** (optional) \u2014 \`{ recommendation, rationale, confidence }\` where recommendation is \`human|agent|hybrid\`. Reason from the work: high-volume, rule-bound, reviewable work suits an agent under a Steward; judgment-heavy or relationship work stays human; split work is hybrid. **You may omit this field**; the server defaults conservatively to \`human\` until a human decides otherwise. Supply it when you have a clear recommendation.
@@ -50327,11 +50752,14 @@ function parseSemver(value) {
50327
50752
 
50328
50753
  // src/generated/command-manifest.ts
50329
50754
  var COMMAND_MANIFEST = [
50755
+ { "id": "agent_setup.capability_suggestions", "namespace": "agent_setup", "action": "capability_suggestions", "title": "Suggest setup capability grants", "description": "Return deterministic minimum capability suggestions from a stock template and current tenant grant availability. No model call and no authority mutation.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "setup_id", "flag": "setup-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Suggest deterministic minimum capability grants from the setup/template and current tenant grant availability. No model call and no mutation." },
50330
50756
  { "id": "agent_setup.get", "namespace": "agent_setup", "action": "get", "title": "Get agent setup", "description": "Read the resumable agent-setup state: mode, parent, steward, template, lane, schedule, tool decisions, dry run, and next action.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": false }, { "name": "setup_id", "flag": "setup-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Read the resumable setup state: mode, parent, steward, lane, schedule, tool decisions, dry-run blockers, and the next action." },
50331
50757
  { "id": "agent_setup.relane", "namespace": "agent_setup", "action": "relane", "title": "Re-lane a live agent", "description": "Governed re-lane of a live agent: pause, move to the new lane, force a fresh dry-run rehearsal on that lane, then go live. Owner-only and human-gated; records a rationale.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "lane", "flag": "lane", "type": "enum", "required": true, "enumValues": ["cloud", "mcp_session", "runner"] }, { "name": "reason", "flag": "reason", "type": "string", "required": true }], "hasComplexInput": false, "help": "Re-lane a live agent (cloud / runner / mcp_session): it pauses, moves to the new lane, forces a fresh dry-run rehearsal on that lane, then goes live \u2014 owner-only, human-gated, with a required rationale. A runner target needs a paired runner; a failed rehearsal leaves the agent paused on the new lane." },
50332
50758
  { "id": "agent_setup.start", "namespace": "agent_setup", "action": "start", "title": "Start agent setup", "description": "Start (or resume) a draft agent setup for a seat in template, custom, or existing mode.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "mode", "flag": "mode", "type": "enum", "required": true, "enumValues": ["template", "custom", "existing"] }, { "name": "template_slug", "flag": "template-slug", "type": "string", "required": false }], "hasComplexInput": false, "help": "Start a draft agent setup from a template, custom, or existing mode; the setup resumes from the draft agent and Charter, not a fresh start." },
50333
50759
  { "id": "agent_setup.update", "namespace": "agent_setup", "action": "update", "title": "Update agent setup", "description": "Update the draft agent's parent, steward, lane, schedule, operational answers, and tool decisions.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "parent_seat_id", "flag": "parent-seat-id", "type": "string", "required": false }, { "name": "steward_seat_id", "flag": "steward-seat-id", "type": "string", "required": false }, { "name": "lane", "flag": "lane", "type": "enum", "required": false, "enumValues": ["cloud", "mcp_session", "runner"] }, { "name": "schedule_cron", "flag": "schedule-cron", "type": "string", "required": false }, { "name": "answers", "flag": "answers", "type": "array", "required": false, "itemType": "string" }, { "name": "skill_discovery_enabled", "flag": "skill-discovery-enabled", "type": "boolean", "required": false }], "hasComplexInput": true, "help": "Update parent, steward, lane, schedule, answers, or tool decisions on the draft; steward and parent changes keep the no-orphan chain explicit." },
50334
50760
  { "id": "agent_template.list", "namespace": "agent_template", "action": "list", "title": "List agent templates", "description": "List stock agent templates and their responsibilities, default tools, and dry-run rehearsal.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "List stock agent templates and their default tools and safety boundaries before starting a template setup." },
50761
+ { "id": "agent.activation_receipt", "namespace": "agent", "action": "activation_receipt", "title": "Build agent activation receipt", "description": "Read the compiled authority receipt for one agent: effective capabilities, connection metadata, stale-scope digest, budget, and always-human boundary.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }, { "name": "proposed_budget_cents", "flag": "proposed-budget-cents", "type": "integer", "required": false }], "hasComplexInput": false, "help": "Build the current compiled activation receipt before signing or creating a Trusted grant. Rebuild it after any Charter, capability, connection, schedule, or lane change." },
50762
+ { "id": "agent.activation_sign", "namespace": "agent", "action": "activation_sign", "title": "Sign agent activation receipt", "description": "Human steward/admin activation sign-off for the current compiled receipt digest. Refuses stale receipts and records a human decision plus append-only event.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }, { "name": "expected_scope_digest", "flag": "expected-scope-digest", "type": "string", "required": true }, { "name": "budget_cents", "flag": "budget-cents", "type": "integer", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Human steward/admin sign-off for the exact activation receipt digest. Agents can surface the pending confirmation but cannot sign their own authority." },
50335
50763
  { "id": "agent.configure_tools", "namespace": "agent", "action": "configure_tools", "title": "Configure agent tools", "description": "Save tool proposals, declines, and credential-ingress requests for a draft agent. Never stores or echoes secret material; vault refs only.", "requiredScope": "seat", "confirmation": "credential_flow", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }], "hasComplexInput": true, "help": "Connect or decline proposed tools and stage credential-ingress requests; never place raw secrets here \u2014 secrets flow through vault-backed credential.ingress as vault refs only.", "example": { "seat_id": "0190aaaa-aaaa-7aaa-8aaa-aaaaaaaaaaaa", "tool_decisions": [{ "tool": "ap.invoices.read", "decision": "connect" }, { "tool": "email.draft", "decision": "connect" }] } },
50336
50764
  { "id": "agent.create_custom", "namespace": "agent", "action": "create_custom", "title": "Create custom agent", "description": "Create a draft custom agent shell and a draft Charter seed from operational answers (what it owns, success, never-do-alone, steward).", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "steward_seat_id", "flag": "steward-seat-id", "type": "string", "required": false }, { "name": "lane", "flag": "lane", "type": "enum", "required": false, "enumValues": ["cloud", "mcp_session", "runner"] }, { "name": "what_it_owns", "flag": "what-it-owns", "type": "string", "required": false }, { "name": "what_success_looks_like", "flag": "what-success-looks-like", "type": "string", "required": false }, { "name": "what_it_must_never_do_alone", "flag": "what-it-must-never-do-alone", "type": "string", "required": false }], "hasComplexInput": true, "help": "Create a draft custom agent from operational answers (what it owns, success, never-do-alone, steward); the Charter Builder owns the contract and go-live stays human-gated.", "example": { "seat_id": "0190aaaa-aaaa-7aaa-8aaa-aaaaaaaaaaaa", "steward_seat_id": "0190bbbb-bbbb-7bbb-8bbb-bbbbbbbbbbbb", "lane": "cloud", "what_it_owns": "Drafting AP invoice entries from inbound vendor emails for human review.", "what_success_looks_like": "Every inbound invoice is drafted within one business day with the correct GL coding.", "what_it_must_never_do_alone": "Never send payment or approve an invoice without a human sign-off." } },
50337
50765
  { "id": "agent.create_from_template", "namespace": "agent", "action": "create_from_template", "title": "Create agent from template", "description": "Create a draft stock agent and draft Charter from a stock template. Creates the agent occupancy only when a human steward chain resolves; the agent stays draft until a signed manifest, a passed dry run, and human go-live.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "template_slug", "flag": "template-slug", "type": "string", "required": true }, { "name": "expected_template_version", "flag": "expected-template-version", "type": "string", "required": false }], "hasComplexInput": false, "help": "Create a draft stock agent and draft Charter from a template; the agent occupancy is created only when a human steward chain resolves, and the agent stays draft until a signed manifest, a passed dry run, and human go-live." },
@@ -50348,6 +50776,11 @@ var COMMAND_MANIFEST = [
50348
50776
  { "id": "agent.run_now", "namespace": "agent", "action": "run_now", "title": "Run agent now", "description": "Queue and dispatch an immediate work order for a live cloud or runner agent on a seat.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "task_id", "flag": "task-id", "type": "string", "required": false }], "hasComplexInput": false, "help": "Queue and dispatch an immediate live agent run without changing the agent's saved schedule." },
50349
50777
  { "id": "agent.show_markdown", "namespace": "agent", "action": "show_markdown", "title": "Show agent setup as markdown", "description": "Compose a seat's agent setup, steward, model, tools, and Charter into a clean, human-skimmable markdown card for review.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Render a seat's agent setup, model, steward, tools, and Charter as a clean markdown card to show your human a quick review." },
50350
50778
  { "id": "agent.status", "namespace": "agent", "action": "status", "title": "Get agent status", "description": "Return the agent occupancy, lane, schedule, live/offline state, steward chain, dry-run result, and Runner availability for a seat.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Check an agent's lane, live state, steward chain, dry-run result, and Runner availability before relying on it." },
50779
+ { "id": "agent.trust.create", "namespace": "agent", "action": "trust.create", "title": "Create agent Trusted grant", "description": "Create a bounded Trusted execution grant for a live agent after a human steward/admin signs the current activation receipt digest.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }, { "name": "expected_scope_digest", "flag": "expected-scope-digest", "type": "string", "required": true }, { "name": "budget_cents", "flag": "budget-cents", "type": "integer", "required": true }, { "name": "expires_at", "flag": "expires-at", "type": "string", "required": false }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Create a bounded Trusted execution grant only after reviewing the activation receipt digest, budget, and always-human boundary. Human steward/admin only." },
50780
+ { "id": "agent.trust.expire", "namespace": "agent", "action": "trust.expire", "title": "Expire agent Trusted grants", "description": "Human steward/admin maintenance command that marks overdue active Trusted grants expired and appends an event for each expired grant.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Mark overdue active Trusted grants expired and append audit events. Human steward/admin only." },
50781
+ { "id": "agent.trust.inspect", "namespace": "agent", "action": "trust.inspect", "title": "Inspect agent Trusted grants", "description": "Read active or historical Trusted execution grants for one agent. Returns metadata only, never secrets.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }, { "name": "include_inactive", "flag": "include-inactive", "type": "boolean", "required": false }], "hasComplexInput": false, "help": "Inspect active or historical Trusted grants for one agent. Metadata only; no secrets or vault refs." },
50782
+ { "id": "agent.trust.revoke", "namespace": "agent", "action": "trust.revoke", "title": "Revoke agent Trusted grant", "description": "Human steward/admin revocation for an active Trusted execution grant. Preserves the historical grant row and appends an event.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "grant_id", "flag": "grant-id", "type": "string", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Revoke an active Trusted grant while preserving history. Human steward/admin only." },
50783
+ { "id": "agent.trust.supersede", "namespace": "agent", "action": "trust.supersede", "title": "Supersede agent Trusted grant", "description": "Human steward/admin replacement for an active Trusted grant. Refuses stale receipt digests and links the new grant to the superseded grant.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }, { "name": "expected_scope_digest", "flag": "expected-scope-digest", "type": "string", "required": true }, { "name": "budget_cents", "flag": "budget-cents", "type": "integer", "required": true }, { "name": "expires_at", "flag": "expires-at", "type": "string", "required": false }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Replace the active Trusted grant with a fresh digest and budget. Rebuild the receipt first; stale digests are refused." },
50351
50784
  { "id": "agent.update_schedule", "namespace": "agent", "action": "update_schedule", "title": "Update agent schedule", "description": "Set or clear the scheduled execution cron for a draft or live agent on a seat.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "schedule_cron", "flag": "schedule-cron", "type": "string", "required": true }], "hasComplexInput": false, "help": "Set or clear an agent's scheduled execution; a live scheduled agent must keep a steward chain resolving to a human." },
50352
50785
  { "id": "aicos.brain_settings.get", "namespace": "aicos", "action": "brain_settings.get", "title": "Get AICOS brain settings", "description": "Read the AICOS run lane and brain selection. Returns labels and enum settings only; no secrets or vault refs.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "Read the AICOS lane and brain selection labels without returning provider keys, vault refs, or runner secrets." },
50353
50786
  { "id": "aicos.brain_settings.update", "namespace": "aicos", "action": "brain_settings.update", "title": "Update AICOS brain settings", "description": "Update the AICOS lane and cloud/runner brain preferences. Owner-only and audited.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "lane", "flag": "lane", "type": "enum", "required": false, "enumValues": ["cloud", "runner", "mcp"] }, { "name": "cloud_brain", "flag": "cloud-brain", "type": "enum", "required": false, "enumValues": ["managed", "byok"] }, { "name": "runner_brain", "flag": "runner-brain", "type": "enum", "required": false, "enumValues": ["claude-cli", "codex-cli"] }, { "name": "cloud_model_slug", "flag": "cloud-model-slug", "type": "string", "required": false }], "hasComplexInput": false, "help": "Owner-only update for AICOS cloud managed/BYOK and runner Claude/Codex preferences; BYOK requires an active tenant Anthropic key." },
@@ -50465,6 +50898,8 @@ var COMMAND_MANIFEST = [
50465
50898
  { "id": "settings.product_learning.update", "namespace": "settings", "action": "product_learning.update", "title": "Update product-learning policy", "description": "Set tenant product-learning participation. Disabled and enterprise-contract modes block generic product analytics writes, but not security/audit logs.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "mode", "flag": "mode", "type": "enum", "required": true, "enumValues": ["enabled", "disabled", "enterprise_contract"] }], "hasComplexInput": false, "help": "Set tenant product-learning mode to enabled, disabled, or enterprise_contract; the change is human-gated." },
50466
50899
  { "id": "settings.sync_brief_scope.get", "namespace": "settings", "action": "sync_brief_scope.get", "title": "Get Sync Brief scope", "description": "Read the tenant's Sync Brief scope: company_wide (one weekly brief) or per_cluster (one brief per cluster).", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "Read whether weekly Sync Briefs compile company-wide (one brief) or per cluster (one brief per cluster)." },
50467
50900
  { "id": "settings.sync_brief_scope.update", "namespace": "settings", "action": "sync_brief_scope.update", "title": "Update Sync Brief scope", "description": "Set the tenant's Sync Brief scope (company_wide or per_cluster). Per_cluster falls back to company-wide when the tenant has no clusters.", "requiredScope": "tenant_admin", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "sync_brief_scope", "flag": "sync-brief-scope", "type": "enum", "required": true, "enumValues": ["company_wide", "per_cluster"] }], "hasComplexInput": false, "help": "Set Sync Brief scope to company_wide or per_cluster; per_cluster falls back to company-wide when no clusters exist." },
50901
+ { "id": "settings.tool_policy.get", "namespace": "settings", "action": "tool_policy.get", "title": "Get tenant tool policy", "description": "Read the tenant tool-policy settings that govern capability-grant defaults and the AICOS auto-trust posture. Returns metadata only.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "Read tenant capability-grant defaults and the AICOS auto-trust posture. No secrets." },
50902
+ { "id": "settings.tool_policy.update", "namespace": "settings", "action": "tool_policy.update", "title": "Update tenant tool policy", "description": "Set the tenant tool-policy defaults for capability grants and the AICOS auto-trust posture. Owner/admin only and human-gated.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "mode", "flag": "mode", "type": "enum", "required": true, "enumValues": ["managed", "open"] }], "hasComplexInput": true, "help": "Update tenant capability-grant defaults and the AICOS auto-trust posture. Owner/admin only, human-gated, and event-audited." },
50468
50903
  { "id": "settings.update", "namespace": "settings", "action": "update", "title": "Update tenant settings", "description": "Update tenant AI budget caps (soft/hard, USD). Budget changes are dangerous and gated.", "requiredScope": "tenant", "confirmation": "dangerous", "exposeOverMcp": true, "fields": [{ "name": "soft_cap_usd", "flag": "soft-cap-usd", "type": "string", "required": false }, { "name": "hard_cap_usd", "flag": "hard-cap-usd", "type": "string", "required": false }], "hasComplexInput": false, "help": "Update tenant AI budget caps; budget changes are dangerous and require human confirmation." },
50469
50904
  { "id": "signal.bind", "namespace": "signal", "action": "bind", "title": "Bind a signal source (draft)", "description": "Persist a validated recipe + connection + cadence as an INERT draft binding for a measurable. Requires a valid preview_token from signal.preview of the same recipe. Never activates \u2014 a human signal.bind_confirm does that.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "measurable_id", "flag": "measurable-id", "type": "string", "required": true }, { "name": "integration_id", "flag": "integration-id", "type": "string", "required": true }, { "name": "cadence", "flag": "cadence", "type": "enum", "required": true, "enumValues": ["daily", "weekly", "monthly", "quarterly", "annual"] }, { "name": "host_allowlist", "flag": "host-allowlist", "type": "array", "required": true, "itemType": "string" }, { "name": "preview_token", "flag": "preview-token", "type": "string", "required": true }, { "name": "role", "flag": "role", "type": "enum", "required": false, "enumValues": ["informs", "drives_status"] }], "hasComplexInput": true, "help": "Persist a validated recipe as an inert draft binding; requires the preview_token from a preview of the same recipe." },
50470
50905
  { "id": "signal.bind_confirm", "namespace": "signal", "action": "bind_confirm", "title": "Confirm and activate a signal binding", "description": "Human-only activation of a draft signal binding (draft \u2192 active). Agents can never self-activate \u2014 an agent caller produces a pending confirmation. A drives_status binding requires a second-anchor confirmation. Once active, the scheduled pull auto-fills the measurable.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "binding_id", "flag": "binding-id", "type": "string", "required": true }], "hasComplexInput": true, "help": "Human-only: activate a draft signal binding (draft -> active) so scheduled pulls begin; an agent that calls it produces a pending confirmation." },
@@ -50553,6 +50988,9 @@ var COMMAND_MANIFEST = [
50553
50988
  { "id": "tenant.create", "namespace": "tenant", "action": "create", "title": "Create additional company", "description": "Create a new clean company for an already-provisioned account after checking tenant.create.additional entitlement.", "requiredScope": "tenant_admin", "confirmation": "none", "exposeOverMcp": false, "fields": [{ "name": "company_name", "flag": "company-name", "type": "string", "required": true }], "hasComplexInput": false, "help": "Create an additional clean company from an existing company session. Requires tenant.create.additional entitlement; first-company bootstrap stays signup.provision_tenant." },
50554
50989
  { "id": "tenant.model_gateway_policy.update", "namespace": "tenant", "action": "model_gateway_policy.update", "title": "Update model gateway policy", "description": "Unlock or relock managed models that do not offer a zero-retention (ZDR) tier (ADR-0019). Locked (the conservative default) restricts the AI Gateway to zero-retention-eligible managed models. Owner-only and human-gated: unlocking is a deliberate ADR-0018 \xA76 standing authorization that lets managed brains without a zero-retention tier run. This provider retains data up to 30 days for abuse monitoring.", "requiredScope": "tenant_admin", "confirmation": "dangerous", "exposeOverMcp": true, "fields": [{ "name": "allow_non_zdr_models", "flag": "allow-non-zdr-models", "type": "boolean", "required": true }], "hasComplexInput": false, "help": "Unlock or relock managed models that do not offer a zero-retention (ZDR) tier (ADR-0019). Locked (default) restricts the AI Gateway to zero-retention-eligible managed models. Owner-only and human-gated; unlocking establishes an ADR-0018 \xA76 standing authorization and surfaces the per-model retention disclosure." },
50555
50990
  { "id": "tenant.rename", "namespace": "tenant", "action": "rename", "title": "Rename company", "description": "Rename the current tenant/company. The rename is human-gated and writes an audit event.", "requiredScope": "tenant_admin", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "company_name", "flag": "company-name", "type": "string", "required": true }], "hasComplexInput": false, "help": "Rename the current company; owner-only, human-gated, and audited as an event." },
50991
+ { "id": "tool_grants.agent.effective", "namespace": "tool_grants", "action": "agent.effective", "title": "List agent effective capability grants", "description": "Read the effective capability grants for one agent, including the lower-of-ceiling-and-selection access level and compile status. Returns metadata only.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Read one agent's effective capability grants after tenant ceilings, agent selections, and compile availability are applied." },
50992
+ { "id": "tool_grants.agent.update", "namespace": "tool_grants", "action": "agent.update", "title": "Update agent capability grants", "description": "Compile a Charter supersession proposal for per-agent capability grant reductions or expansions. Human steward/admin only.", "requiredScope": "tenant", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "agent_id", "flag": "agent-id", "type": "string", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": true, "help": "Compile a Charter supersession proposal for an agent capability grant reduction or expansion. Human steward/admin only." },
50993
+ { "id": "tool_grants.tenant.list", "namespace": "tool_grants", "action": "tenant.list", "title": "List tenant capability grants", "description": "Read the tenant capability ceiling/default matrix with connection, availability, source, ceiling, and compile status. Returns metadata only.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "List tenant capability ceilings/defaults with connection, availability, source, and compile status. Read-only." },
50556
50994
  { "id": "tool.catalog", "namespace": "tool", "action": "catalog", "title": "List tool catalog", "description": "List the discoverable tool catalog the agent builder reads \u2014 tool id, title, provider, prescriptive description, default scope tiers, credential requirement, access policy, and execution-boundary guidance.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "provider", "flag": "provider", "type": "string", "required": false }], "hasComplexInput": false, "help": "List the tool catalog the builder reads \u2014 id, prescriptive description, scope tiers, credential requirement, access policy, and execution-boundary guidance." },
50557
50995
  { "id": "usage.report", "namespace": "usage", "action": "report", "title": "AI-workforce ROI report", "description": "Return the tenant's immutable per-period usage snapshots \u2014 agents ran, outputs, token/run cost, human-accepted value, exceptions, and approvals \u2014 for the AI-workforce ROI report.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "limit", "flag": "limit", "type": "integer", "required": false }], "hasComplexInput": false, "help": "Read the AI-workforce ROI report \u2014 per-period agents/outputs/token+run cost, human-accepted value, exceptions, and approvals \u2014 from immutable usage snapshots." },
50558
50996
  { "id": "usage.snapshot", "namespace": "usage", "action": "snapshot", "title": "Capture usage period snapshot", "description": "Freeze the current (or a given) period's usage and accepted-value totals into an immutable snapshot for the ROI report. Insert-only and idempotent \u2014 re-running a captured period changes nothing.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": true, "help": "Freeze the current period's usage and accepted-value totals into an immutable snapshot for the ROI report; insert-only and idempotent, so re-running a captured period changes nothing." },