@rosthq/cli 0.7.74 → 0.7.76

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
@@ -38039,6 +38039,7 @@ function parseModelSlug(model) {
38039
38039
  var agentModelProviderSchema = external_exports.enum(["anthropic"]);
38040
38040
  var agentModelEffortSchema = external_exports.enum(["low", "medium", "high", "xhigh", "max"]);
38041
38041
  var modelIdSchema = external_exports.string().trim().min(1).max(120).regex(/^[^\n\r]+$/, "Model id must be a single line.");
38042
+ var turnTimeoutSecondsSchema = external_exports.number().int().min(30).max(1800);
38042
38043
  var agentModelConfigSchema = external_exports.object({
38043
38044
  provider: agentModelProviderSchema,
38044
38045
  model: modelIdSchema,
@@ -39193,6 +39194,10 @@ var agentSetupStateSchema = external_exports.object({
39193
39194
  // this agent. Null when the draft has no usable model config yet (the legacy
39194
39195
  // bare-string mock is coerced; an empty `{}` reads null).
39195
39196
  model_config: agentModelConfigSchema.nullable(),
39197
+ // DER-1362: the runner per-turn wall-clock override for this agent, or null to use the
39198
+ // platform default. A sibling of `schedule_cron`, not nested in `model_config` — unlike
39199
+ // model selection it stays settable after go-live (see the schema's doc comment).
39200
+ turn_timeout_seconds: turnTimeoutSecondsSchema.nullable(),
39196
39201
  charter_version_id: uuidSchema2.nullable(),
39197
39202
  charter_status: external_exports.enum(["draft", "active", "superseded"]).nullable(),
39198
39203
  parent_seat_id: uuidSchema2.nullable(),
@@ -39238,13 +39243,20 @@ var agentSetupUpdateInputSchema = external_exports.object({
39238
39243
  schedule_cron: cronSchema.nullable().optional(),
39239
39244
  // DER-787 (H1): set the structured model selection for this agent.
39240
39245
  model_config: agentModelConfigSchema.optional(),
39246
+ // DER-1362: set/clear the per-agent runner turn-timeout override. A top-level sibling of
39247
+ // `model_config`, NOT nested inside it — model_config is locked once the agent is live (the
39248
+ // dry-run rehearses a specific model), but a turn-timeout override has nothing to do with
39249
+ // model identity and must stay settable on an already-live agent (the exact agent this
39250
+ // fixes: one already failing scheduled turns on the fixed 180s cap). null clears the
39251
+ // override back to the platform default.
39252
+ turn_timeout_seconds: turnTimeoutSecondsSchema.nullable().optional(),
39241
39253
  answers: external_exports.array(external_exports.string().min(1).max(2e3)).max(20).optional(),
39242
39254
  tool_decisions: external_exports.array(agentSetupToolUpdateSchema).max(50).optional(),
39243
39255
  // DER-1529: toggle run-time skill discovery (visibility only; never grants
39244
39256
  // tools). Settable any time, including on a live agent.
39245
39257
  skill_discovery_enabled: external_exports.boolean().optional()
39246
39258
  }).strict().refine(
39247
- (value) => value.parent_seat_id !== void 0 || value.steward_seat_id !== void 0 || value.lane !== void 0 || value.schedule_cron !== void 0 || value.model_config !== void 0 || value.answers !== void 0 || value.tool_decisions !== void 0 || value.skill_discovery_enabled !== void 0,
39259
+ (value) => value.parent_seat_id !== void 0 || value.steward_seat_id !== void 0 || value.lane !== void 0 || value.schedule_cron !== void 0 || value.model_config !== void 0 || value.turn_timeout_seconds !== void 0 || value.answers !== void 0 || value.tool_decisions !== void 0 || value.skill_discovery_enabled !== void 0,
39248
39260
  "Provide at least one field to update."
39249
39261
  );
39250
39262
  var agentUpdateScheduleInputSchema = external_exports.object({
@@ -42747,9 +42759,150 @@ var recommendationEventInputSchema = external_exports.object({
42747
42759
  occurred_at: external_exports.string().datetime({ offset: true }).optional()
42748
42760
  }).strict();
42749
42761
 
42750
- // ../../packages/protocol/src/reads.ts
42751
- var uuidSchema13 = external_exports.string().uuid();
42762
+ // ../../packages/protocol/src/artifacts.ts
42752
42763
  var isoDateTime3 = external_exports.string().datetime({ offset: true });
42764
+ var uuidSchema13 = external_exports.string().uuid();
42765
+ var dataClassificationSchema = external_exports.enum([
42766
+ "customer_content",
42767
+ "operational",
42768
+ "sandbox_output"
42769
+ ]);
42770
+ var retentionClassSchema = external_exports.enum([
42771
+ "ephemeral_7d",
42772
+ "standard_90d",
42773
+ "durable_1y",
42774
+ "legal_hold"
42775
+ ]);
42776
+ var ARTIFACT_MAX_TITLE_CHARS = 200;
42777
+ var ARTIFACT_MAX_DISPLAY_LABEL_CHARS = 300;
42778
+ var ARTIFACT_MAX_EXTERNAL_REF_CHARS = 2048;
42779
+ var ARTIFACT_MAX_MIME_CHARS = 255;
42780
+ var ARTIFACT_MAX_STORAGE_PATH_CHARS = 1024;
42781
+ var ARTIFACT_MAX_STORAGE_BUCKET_CHARS = 128;
42782
+ var ARTIFACT_MAX_SNAPSHOT_BYTES = 8192;
42783
+ var artifactKindSchema = external_exports.enum(["binary", "pointer"]);
42784
+ var artifactPointerSystemSchema = external_exports.enum([
42785
+ "gmail_draft",
42786
+ "gmail_message",
42787
+ "google_drive",
42788
+ "google_doc",
42789
+ "github_pr",
42790
+ "github_issue",
42791
+ "linear_issue",
42792
+ "url",
42793
+ "other"
42794
+ ]);
42795
+ var artifactChecksumSchema = external_exports.string().regex(/^[a-f0-9]{64}$/, "checksum must be a lowercase sha256 hex digest");
42796
+ function isSafeArtifactStoragePath(value) {
42797
+ if (value.includes("\\")) {
42798
+ return false;
42799
+ }
42800
+ if (value.length === 0 || value.length > ARTIFACT_MAX_STORAGE_PATH_CHARS) {
42801
+ return false;
42802
+ }
42803
+ if (value.startsWith("/") || value.startsWith("./") || value.startsWith("../")) {
42804
+ return false;
42805
+ }
42806
+ if (value.includes("\0") || value.includes("//")) {
42807
+ return false;
42808
+ }
42809
+ return value.split("/").every((segment) => segment.length > 0 && segment !== "." && segment !== "..");
42810
+ }
42811
+ var artifactStoragePathSchema = external_exports.string().min(1).max(ARTIFACT_MAX_STORAGE_PATH_CHARS).refine(isSafeArtifactStoragePath, "Artifact storage paths must be tenant-local relative paths without traversal segments");
42812
+ var artifactSnapshotSchema = external_exports.record(external_exports.string(), external_exports.unknown()).refine((value) => Buffer.byteLength(JSON.stringify(value), "utf8") <= ARTIFACT_MAX_SNAPSHOT_BYTES, "Artifact snapshot exceeds the bounded size limit").refine((value) => !hasSecretShapedContent(value), "Artifact snapshot must not contain secret-shaped content");
42813
+ var SECRET_URL_PARAM_NAME = /^(access[_-]?token|refresh[_-]?token|id[_-]?token|token|api[_-]?key|apikey|client[_-]?secret|secret|credential|password|passwd|pwd|auth|authorization|signature|sig|x-amz-signature|x-amz-credential|x-amz-security-token|sas|jwt|session|key)$/i;
42814
+ function isTokenizedUrl(value) {
42815
+ let url2;
42816
+ try {
42817
+ url2 = new URL(value);
42818
+ } catch {
42819
+ return false;
42820
+ }
42821
+ if (url2.username !== "" || url2.password !== "") {
42822
+ return true;
42823
+ }
42824
+ for (const [name, paramValue] of url2.searchParams) {
42825
+ if (SECRET_URL_PARAM_NAME.test(name) || hasSecretShapedContent(paramValue)) {
42826
+ return true;
42827
+ }
42828
+ }
42829
+ return false;
42830
+ }
42831
+ var binaryArtifactCreateInputSchema = external_exports.object({
42832
+ seat_id: uuidSchema13,
42833
+ run_id: uuidSchema13.nullable().optional(),
42834
+ title: external_exports.string().trim().min(1).max(ARTIFACT_MAX_TITLE_CHARS).nullable().optional(),
42835
+ storage_bucket: external_exports.string().min(1).max(ARTIFACT_MAX_STORAGE_BUCKET_CHARS),
42836
+ storage_path: artifactStoragePathSchema,
42837
+ mime_type: external_exports.string().min(1).max(ARTIFACT_MAX_MIME_CHARS),
42838
+ size_bytes: external_exports.number().int().nonnegative(),
42839
+ checksum_sha256: artifactChecksumSchema,
42840
+ supersedes_id: uuidSchema13.nullable().optional(),
42841
+ data_classification: dataClassificationSchema.default("customer_content"),
42842
+ retention_class: retentionClassSchema.default("standard_90d")
42843
+ }).strict();
42844
+ var pointerArtifactCreateInputSchema = external_exports.object({
42845
+ seat_id: uuidSchema13,
42846
+ run_id: uuidSchema13.nullable().optional(),
42847
+ title: external_exports.string().trim().min(1).max(ARTIFACT_MAX_TITLE_CHARS).nullable().optional(),
42848
+ pointer_system: artifactPointerSystemSchema,
42849
+ external_ref: external_exports.string().trim().min(1).max(ARTIFACT_MAX_EXTERNAL_REF_CHARS).refine((value) => !isTokenizedUrl(value), "external_ref must be a stable reference, not a tokenized/credentialed URL"),
42850
+ display_label: external_exports.string().trim().min(1).max(ARTIFACT_MAX_DISPLAY_LABEL_CHARS).nullable().optional(),
42851
+ snapshot: artifactSnapshotSchema.default({}),
42852
+ supersedes_id: uuidSchema13.nullable().optional(),
42853
+ data_classification: dataClassificationSchema.default("operational"),
42854
+ retention_class: retentionClassSchema.default("standard_90d")
42855
+ }).strict();
42856
+ var artifactSummarySchema = external_exports.object({
42857
+ artifact_ref: external_exports.string().min(1),
42858
+ artifact_id: uuidSchema13,
42859
+ seat_id: uuidSchema13,
42860
+ run_id: uuidSchema13.nullable(),
42861
+ kind: artifactKindSchema,
42862
+ title: external_exports.string().nullable(),
42863
+ mime_type: external_exports.string().nullable(),
42864
+ size_bytes: external_exports.number().int().nonnegative().nullable(),
42865
+ checksum_sha256: external_exports.string().nullable(),
42866
+ pointer_system: artifactPointerSystemSchema.nullable(),
42867
+ external_ref: external_exports.string().nullable(),
42868
+ display_label: external_exports.string().nullable(),
42869
+ supersedes_id: uuidSchema13.nullable(),
42870
+ data_classification: dataClassificationSchema,
42871
+ retention_class: retentionClassSchema,
42872
+ created_at: isoDateTime3,
42873
+ updated_at: isoDateTime3
42874
+ }).strict();
42875
+ var artifactReadResultSchema = artifactSummarySchema.extend({
42876
+ snapshot: external_exports.record(external_exports.string(), external_exports.unknown()),
42877
+ signed_url: external_exports.string().nullable(),
42878
+ signed_url_expires_at: isoDateTime3.nullable()
42879
+ }).strict();
42880
+ var artifactListOutputSchema = external_exports.object({
42881
+ artifacts: external_exports.array(artifactSummarySchema)
42882
+ }).strict();
42883
+ var sessionTranscriptLaneSchema = external_exports.enum(["cloud", "runner"]);
42884
+ var sessionTranscriptFormatSchema = external_exports.enum(["jsonl", "text"]);
42885
+ var sessionTranscriptSummarySchema = external_exports.object({
42886
+ transcript_id: uuidSchema13,
42887
+ seat_id: uuidSchema13,
42888
+ run_id: uuidSchema13.nullable(),
42889
+ lane: sessionTranscriptLaneSchema,
42890
+ format: sessionTranscriptFormatSchema,
42891
+ message_count: external_exports.number().int().nonnegative().nullable(),
42892
+ truncated: external_exports.boolean(),
42893
+ char_count: external_exports.number().int().nonnegative(),
42894
+ data_classification: dataClassificationSchema,
42895
+ retention_class: retentionClassSchema,
42896
+ created_at: isoDateTime3,
42897
+ updated_at: isoDateTime3
42898
+ }).strict();
42899
+ var sessionTranscriptReadResultSchema = sessionTranscriptSummarySchema.extend({
42900
+ transcript: external_exports.string()
42901
+ }).strict();
42902
+
42903
+ // ../../packages/protocol/src/reads.ts
42904
+ var uuidSchema14 = external_exports.string().uuid();
42905
+ var isoDateTime4 = external_exports.string().datetime({ offset: true });
42753
42906
  var seatTypeSchema = external_exports.enum(["human", "agent", "hybrid"]);
42754
42907
  var seatStatusSchema = external_exports.enum(["draft", "active", "vacant", "decommissioned"]);
42755
42908
  var rollupStateSchema = external_exports.enum(["ok", "risk", "crit", "pending"]);
@@ -42763,13 +42916,13 @@ var credentialStatusSchema = external_exports.enum(["active", "revoked"]);
42763
42916
  var runStatusSchema = external_exports.enum(["running", "succeeded", "failed", "timeout", "cancelled"]);
42764
42917
  var graphGetInputSchema = external_exports.object({}).strict();
42765
42918
  var graphNodeSchema = external_exports.object({
42766
- seat_id: uuidSchema13,
42919
+ seat_id: uuidSchema14,
42767
42920
  name: external_exports.string(),
42768
42921
  seat_type: seatTypeSchema,
42769
42922
  status: seatStatusSchema,
42770
- parent_seat_id: uuidSchema13.nullable(),
42923
+ parent_seat_id: uuidSchema14.nullable(),
42771
42924
  is_root: external_exports.boolean(),
42772
- steward_seat_id: uuidSchema13.nullable(),
42925
+ steward_seat_id: uuidSchema14.nullable(),
42773
42926
  occupant: external_exports.object({
42774
42927
  kind: external_exports.enum(["user", "agent"]),
42775
42928
  label: external_exports.string(),
@@ -42782,11 +42935,11 @@ var graphNodeSchema = external_exports.object({
42782
42935
  is_peer: external_exports.boolean()
42783
42936
  }).strict();
42784
42937
  var graphEdgeSchema = external_exports.object({
42785
- parent_seat_id: uuidSchema13,
42786
- child_seat_id: uuidSchema13
42938
+ parent_seat_id: uuidSchema14,
42939
+ child_seat_id: uuidSchema14
42787
42940
  }).strict();
42788
42941
  var graphGetOutputSchema = external_exports.object({
42789
- root_seat_id: uuidSchema13.nullable(),
42942
+ root_seat_id: uuidSchema14.nullable(),
42790
42943
  nodes: external_exports.array(graphNodeSchema),
42791
42944
  edges: external_exports.array(graphEdgeSchema),
42792
42945
  status_rollups: external_exports.object({
@@ -42798,42 +42951,42 @@ var graphGetOutputSchema = external_exports.object({
42798
42951
  }).strict()
42799
42952
  }).strict();
42800
42953
  var seatGetInputSchema = external_exports.object({
42801
- seat_id: uuidSchema13
42954
+ seat_id: uuidSchema14
42802
42955
  }).strict();
42803
42956
  var seatGetOutputSchema = external_exports.object({
42804
- seat_id: uuidSchema13,
42957
+ seat_id: uuidSchema14,
42805
42958
  name: external_exports.string(),
42806
42959
  seat_type: seatTypeSchema,
42807
42960
  status: seatStatusSchema,
42808
42961
  purpose: external_exports.string().nullable(),
42809
- parent_seat_id: uuidSchema13.nullable(),
42962
+ parent_seat_id: uuidSchema14.nullable(),
42810
42963
  steward_chain: external_exports.array(external_exports.object({
42811
- seat_id: uuidSchema13,
42964
+ seat_id: uuidSchema14,
42812
42965
  name: external_exports.string()
42813
42966
  }).strict()),
42814
42967
  occupancies: external_exports.array(external_exports.object({
42815
- occupancy_id: uuidSchema13,
42968
+ occupancy_id: uuidSchema14,
42816
42969
  occupant_type: external_exports.enum(["user", "agent"]),
42817
42970
  label: external_exports.string(),
42818
- started_at: isoDateTime3,
42819
- ended_at: isoDateTime3.nullable()
42971
+ started_at: isoDateTime4,
42972
+ ended_at: isoDateTime4.nullable()
42820
42973
  }).strict()),
42821
- active_charter_version_id: uuidSchema13.nullable(),
42822
- draft_charter_version_id: uuidSchema13.nullable(),
42974
+ active_charter_version_id: uuidSchema14.nullable(),
42975
+ draft_charter_version_id: uuidSchema14.nullable(),
42823
42976
  agent_status: agentStatusEnum2.nullable(),
42824
42977
  agent_lane: agentLaneSchema2.nullable(),
42825
42978
  mcp_tokens: external_exports.array(external_exports.object({
42826
- token_id: uuidSchema13,
42979
+ token_id: uuidSchema14,
42827
42980
  scope: mcpScopeSchema,
42828
- created_at: isoDateTime3,
42829
- last_seen_at: isoDateTime3.nullable(),
42981
+ created_at: isoDateTime4,
42982
+ last_seen_at: isoDateTime4.nullable(),
42830
42983
  // DER-830: expires_at is NOT NULL; surface days-remaining alongside it.
42831
- expires_at: isoDateTime3,
42984
+ expires_at: isoDateTime4,
42832
42985
  expires_in_days: external_exports.number().int(),
42833
- revoked_at: isoDateTime3.nullable()
42986
+ revoked_at: isoDateTime4.nullable()
42834
42987
  }).strict()),
42835
42988
  credentials: external_exports.array(external_exports.object({
42836
- credential_id: uuidSchema13,
42989
+ credential_id: uuidSchema14,
42837
42990
  provider: external_exports.string(),
42838
42991
  status: credentialStatusSchema
42839
42992
  }).strict()),
@@ -42845,30 +42998,30 @@ var seatGetOutputSchema = external_exports.object({
42845
42998
  }).strict()
42846
42999
  }).strict();
42847
43000
  var charterListInputSchema = external_exports.object({
42848
- seat_id: uuidSchema13.optional(),
43001
+ seat_id: uuidSchema14.optional(),
42849
43002
  status: charterStatusSchema.optional()
42850
43003
  }).strict();
42851
43004
  var charterSummarySchema = external_exports.object({
42852
- charter_version_id: uuidSchema13,
42853
- seat_id: uuidSchema13,
43005
+ charter_version_id: uuidSchema14,
43006
+ seat_id: uuidSchema14,
42854
43007
  version: external_exports.number().int().nonnegative(),
42855
43008
  status: charterStatusSchema,
42856
- created_at: isoDateTime3,
42857
- approved_at: isoDateTime3.nullable()
43009
+ created_at: isoDateTime4,
43010
+ approved_at: isoDateTime4.nullable()
42858
43011
  }).strict();
42859
43012
  var charterListOutputSchema = external_exports.object({
42860
43013
  charters: external_exports.array(charterSummarySchema)
42861
43014
  }).strict();
42862
43015
  var charterGetInputSchema = external_exports.object({
42863
- charter_version_id: uuidSchema13
43016
+ charter_version_id: uuidSchema14
42864
43017
  }).strict();
42865
43018
  var charterGetOutputSchema = external_exports.object({
42866
- charter_version_id: uuidSchema13,
42867
- seat_id: uuidSchema13,
43019
+ charter_version_id: uuidSchema14,
43020
+ seat_id: uuidSchema14,
42868
43021
  version: external_exports.number().int().nonnegative(),
42869
43022
  status: charterStatusSchema,
42870
- created_at: isoDateTime3,
42871
- approved_at: isoDateTime3.nullable(),
43023
+ created_at: isoDateTime4,
43024
+ approved_at: isoDateTime4.nullable(),
42872
43025
  doc: external_exports.unknown(),
42873
43026
  history: external_exports.array(charterSummarySchema),
42874
43027
  dry_run: external_exports.object({
@@ -42878,7 +43031,7 @@ var charterGetOutputSchema = external_exports.object({
42878
43031
  }).strict();
42879
43032
  var compassGetCurrentInputSchema = external_exports.object({}).strict();
42880
43033
  var compassVersionRefSchema = external_exports.object({
42881
- compass_version_id: uuidSchema13,
43034
+ compass_version_id: uuidSchema14,
42882
43035
  version: external_exports.number().int().nonnegative(),
42883
43036
  status: compassStatusSchema,
42884
43037
  doc: external_exports.unknown()
@@ -42889,7 +43042,7 @@ var compassGetCurrentOutputSchema = external_exports.object({
42889
43042
  // Sources expose document id and kind only. The underlying storage_ref can
42890
43043
  // be a local file path, so it is never surfaced (redaction rule).
42891
43044
  sources: external_exports.array(external_exports.object({
42892
- document_id: uuidSchema13,
43045
+ document_id: uuidSchema14,
42893
43046
  kind: external_exports.string()
42894
43047
  }).strict())
42895
43048
  }).strict();
@@ -42904,31 +43057,31 @@ var compassGapSchema = external_exports.object({
42904
43057
  answer: external_exports.string().nullable()
42905
43058
  }).strict();
42906
43059
  var compassListGapsOutputSchema = external_exports.object({
42907
- compass_version_id: uuidSchema13.nullable(),
43060
+ compass_version_id: uuidSchema14.nullable(),
42908
43061
  unanswered: external_exports.array(compassGapSchema),
42909
43062
  answered: external_exports.array(compassGapSchema)
42910
43063
  }).strict();
42911
43064
  var agentStatusInputSchema = external_exports.object({
42912
- seat_id: uuidSchema13
43065
+ seat_id: uuidSchema14
42913
43066
  }).strict();
42914
43067
  var agentStatusOutputSchema = external_exports.object({
42915
- seat_id: uuidSchema13,
43068
+ seat_id: uuidSchema14,
42916
43069
  // DER-786 (C7): `has_agent` is true whenever a setup agent exists for the seat
42917
43070
  // — including a draft setup that has no occupancy yet — so it agrees with
42918
43071
  // agent_setup.get. `lifecycle` is the shared cross-surface term derived from
42919
43072
  // `status` (none | draft_setup | dry_run | live | …).
42920
43073
  has_agent: external_exports.boolean(),
42921
43074
  lifecycle: agentLifecycleSchema,
42922
- agent_id: uuidSchema13.nullable(),
43075
+ agent_id: uuidSchema14.nullable(),
42923
43076
  kind: agentKindSchema2.nullable(),
42924
43077
  display_name: external_exports.string().nullable(),
42925
43078
  lane: agentLaneSchema2.nullable(),
42926
43079
  status: agentStatusEnum2.nullable(),
42927
43080
  schedule_cron: external_exports.string().nullable(),
42928
43081
  live: external_exports.boolean(),
42929
- charter_version_id: uuidSchema13.nullable(),
43082
+ charter_version_id: uuidSchema14.nullable(),
42930
43083
  steward_chain: external_exports.array(external_exports.object({
42931
- seat_id: uuidSchema13,
43084
+ seat_id: uuidSchema14,
42932
43085
  name: external_exports.string()
42933
43086
  }).strict()),
42934
43087
  steward_chain_resolves_to_human: external_exports.boolean(),
@@ -42940,13 +43093,13 @@ var agentStatusOutputSchema = external_exports.object({
42940
43093
  }).strict();
42941
43094
  var agentListFleetInputSchema = external_exports.object({}).strict();
42942
43095
  var fleetOverviewRowSchema = external_exports.object({
42943
- seat_id: uuidSchema13,
43096
+ seat_id: uuidSchema14,
42944
43097
  seat_name: external_exports.string(),
42945
43098
  seat_path: external_exports.string(),
42946
43099
  lane: agentLaneSchema2.nullable(),
42947
43100
  agent_status: external_exports.enum(["draft", "dry_run", "live", "paused", "decommissioned", "vacant"]),
42948
43101
  live: external_exports.boolean(),
42949
- last_turn_at: isoDateTime3.nullable(),
43102
+ last_turn_at: isoDateTime4.nullable(),
42950
43103
  turns_24h: external_exports.number().int().nonnegative(),
42951
43104
  turns_7d: external_exports.number().int().nonnegative(),
42952
43105
  top_measurable_status: external_exports.enum(["on", "off", "pending", "none"]),
@@ -42957,48 +43110,48 @@ var agentListFleetOutputSchema = external_exports.object({
42957
43110
  agents: external_exports.array(fleetOverviewRowSchema)
42958
43111
  }).strict();
42959
43112
  var runErrorLogSchema = external_exports.object({
42960
- error_log_id: uuidSchema13,
43113
+ error_log_id: uuidSchema14,
42961
43114
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]),
42962
43115
  severity: external_exports.enum(["warning", "error", "critical"]),
42963
43116
  code: external_exports.string().nullable(),
42964
43117
  message: external_exports.string(),
42965
- created_at: isoDateTime3,
42966
- resolved_at: isoDateTime3.nullable()
43118
+ created_at: isoDateTime4,
43119
+ resolved_at: isoDateTime4.nullable()
42967
43120
  }).strict();
42968
43121
  var agentFleetDigestInputSchema = external_exports.object({
42969
43122
  window_hours: external_exports.number().int().min(1).max(168).default(24),
42970
43123
  error_limit: external_exports.number().int().min(1).max(100).default(50)
42971
43124
  }).strict();
42972
43125
  var fleetDigestRunSchema = external_exports.object({
42973
- run_id: uuidSchema13,
42974
- seat_id: uuidSchema13,
42975
- agent_id: uuidSchema13,
43126
+ run_id: uuidSchema14,
43127
+ seat_id: uuidSchema14,
43128
+ agent_id: uuidSchema14,
42976
43129
  status: runStatusSchema,
42977
43130
  lane: agentLaneSchema2,
42978
43131
  model: external_exports.string(),
42979
- started_at: isoDateTime3,
42980
- finished_at: isoDateTime3.nullable(),
43132
+ started_at: isoDateTime4,
43133
+ finished_at: isoDateTime4.nullable(),
42981
43134
  cost_usd: external_exports.string(),
42982
43135
  error_logs: external_exports.array(runErrorLogSchema)
42983
43136
  }).strict();
42984
43137
  var fleetDigestErrorSchema = runErrorLogSchema.extend({
42985
- seat_id: uuidSchema13.nullable(),
42986
- agent_id: uuidSchema13.nullable(),
42987
- run_id: uuidSchema13.nullable(),
43138
+ seat_id: uuidSchema14.nullable(),
43139
+ agent_id: uuidSchema14.nullable(),
43140
+ run_id: uuidSchema14.nullable(),
42988
43141
  disposition: external_exports.enum(["active", "acknowledged", "resolved", "superseded"])
42989
43142
  }).strict();
42990
43143
  var fleetDigestNotificationErrorSchema = external_exports.object({
42991
- notification_id: uuidSchema13,
43144
+ notification_id: uuidSchema14,
42992
43145
  kind: external_exports.string(),
42993
43146
  channel: external_exports.string(),
42994
43147
  status: external_exports.string(),
42995
43148
  provider: external_exports.string(),
42996
43149
  error_message: external_exports.string().nullable(),
42997
- error_log_id: uuidSchema13.nullable(),
43150
+ error_log_id: uuidSchema14.nullable(),
42998
43151
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).nullable(),
42999
- seat_id: uuidSchema13.nullable(),
43000
- run_id: uuidSchema13.nullable(),
43001
- created_at: isoDateTime3
43152
+ seat_id: uuidSchema14.nullable(),
43153
+ run_id: uuidSchema14.nullable(),
43154
+ created_at: isoDateTime4
43002
43155
  }).strict();
43003
43156
  var fleetDigestAgentSchema = fleetOverviewRowSchema.extend({
43004
43157
  failed_runs_24h: external_exports.number().int().nonnegative(),
@@ -43017,7 +43170,7 @@ var fleetDigestAgentSchema = fleetOverviewRowSchema.extend({
43017
43170
  suggested_next_action: external_exports.string()
43018
43171
  }).strict();
43019
43172
  var agentFleetDigestOutputSchema = external_exports.object({
43020
- generated_at: isoDateTime3,
43173
+ generated_at: isoDateTime4,
43021
43174
  window_hours: external_exports.number().int().min(1).max(168),
43022
43175
  summary: external_exports.object({
43023
43176
  fleet_count: external_exports.number().int().nonnegative(),
@@ -43043,42 +43196,49 @@ var seatTrustSummarySchema = external_exports.object({
43043
43196
  tool_call_count: external_exports.number().int().nonnegative(),
43044
43197
  // The hero metric: actions held this period because they exceeded the charter.
43045
43198
  denied_tool_call_count: external_exports.number().int().nonnegative(),
43046
- last_activity_at: isoDateTime3.nullable()
43199
+ last_activity_at: isoDateTime4.nullable()
43047
43200
  }).strict();
43048
43201
  var agentListRunsInputSchema = external_exports.object({
43049
- seat_id: uuidSchema13,
43202
+ seat_id: uuidSchema14,
43050
43203
  // Conservative, bounded page size; the timeline is a recent-history view.
43051
43204
  limit: external_exports.number().int().min(1).max(200).default(50)
43052
43205
  }).strict();
43053
43206
  var agentGetRunInputSchema = external_exports.object({
43054
- seat_id: uuidSchema13,
43055
- run_id: uuidSchema13
43207
+ seat_id: uuidSchema14,
43208
+ run_id: uuidSchema14,
43209
+ // DER-1661: opt in to the persisted session transcript (`--transcript`). Off by
43210
+ // default so the diagnostic read stays lean; the (potentially large) transcript body
43211
+ // loads only when asked.
43212
+ transcript: external_exports.boolean().default(false)
43056
43213
  }).strict();
43057
43214
  var seatRunSchema = external_exports.object({
43058
- run_id: uuidSchema13,
43059
- agent_id: uuidSchema13,
43215
+ run_id: uuidSchema14,
43216
+ agent_id: uuidSchema14,
43060
43217
  agent_display_name: external_exports.string().nullable(),
43061
43218
  status: runStatusSchema,
43062
43219
  lane: agentLaneSchema2,
43063
43220
  model: external_exports.string(),
43064
- started_at: isoDateTime3,
43065
- finished_at: isoDateTime3.nullable(),
43221
+ started_at: isoDateTime4,
43222
+ finished_at: isoDateTime4.nullable(),
43066
43223
  cost_usd: external_exports.string(),
43067
43224
  tool_call_count: external_exports.number().int().nonnegative(),
43068
43225
  denied_tool_call_count: external_exports.number().int().nonnegative(),
43069
43226
  skill_activation_count: external_exports.number().int().nonnegative()
43070
43227
  }).strict();
43228
+ var seatRunErrorLogSchema = runErrorLogSchema.extend({
43229
+ error_class: external_exports.string().nullable()
43230
+ }).strict();
43071
43231
  var seatRunDetailSchema = seatRunSchema.extend({
43072
- task_id: uuidSchema13.nullable(),
43073
- work_order_id: uuidSchema13.nullable(),
43232
+ task_id: uuidSchema14.nullable(),
43233
+ work_order_id: uuidSchema14.nullable(),
43074
43234
  transcript_ref: external_exports.string(),
43075
43235
  input_tokens: external_exports.number().int().nonnegative(),
43076
43236
  output_tokens: external_exports.number().int().nonnegative(),
43077
43237
  outcome: external_exports.record(external_exports.string(), external_exports.unknown()),
43078
- error_logs: external_exports.array(runErrorLogSchema),
43238
+ error_logs: external_exports.array(seatRunErrorLogSchema),
43079
43239
  skill_activations: external_exports.array(external_exports.object({
43080
- skill_activation_id: uuidSchema13,
43081
- skill_version_id: uuidSchema13,
43240
+ skill_activation_id: uuidSchema14,
43241
+ skill_version_id: uuidSchema14,
43082
43242
  slug: external_exports.string().min(1),
43083
43243
  name: external_exports.string().min(1),
43084
43244
  version: external_exports.number().int().positive(),
@@ -43088,36 +43248,39 @@ var seatRunDetailSchema = seatRunSchema.extend({
43088
43248
  content_sha256: external_exports.string().regex(/^[a-f0-9]{64}$/),
43089
43249
  size_bytes: external_exports.number().int().nonnegative()
43090
43250
  }).strict()),
43091
- created_at: isoDateTime3
43092
- }).strict())
43251
+ created_at: isoDateTime4
43252
+ }).strict()),
43253
+ // DER-1661/DER-1753: the persisted session transcript, present only when the read
43254
+ // asked for it (`transcript: true`) — null when requested but none was persisted.
43255
+ transcript: sessionTranscriptReadResultSchema.nullable().optional()
43093
43256
  }).strict();
43094
43257
  var agentListRunsOutputSchema = external_exports.object({
43095
- seat_id: uuidSchema13,
43258
+ seat_id: uuidSchema14,
43096
43259
  summary: seatTrustSummarySchema,
43097
43260
  runs: external_exports.array(seatRunSchema)
43098
43261
  }).strict();
43099
43262
  var agentGetRunOutputSchema = external_exports.object({
43100
- seat_id: uuidSchema13,
43263
+ seat_id: uuidSchema14,
43101
43264
  run: seatRunDetailSchema
43102
43265
  }).strict();
43103
43266
  var agentListToolCallsInputSchema = external_exports.object({
43104
- seat_id: uuidSchema13,
43267
+ seat_id: uuidSchema14,
43105
43268
  limit: external_exports.number().int().min(1).max(200).default(50),
43106
43269
  // When true, return only HELD (non-allowed) tool calls — the governance view.
43107
43270
  held_only: external_exports.boolean().default(false)
43108
43271
  }).strict();
43109
43272
  var seatToolCallSchema = external_exports.object({
43110
- tool_call_id: uuidSchema13,
43111
- run_id: uuidSchema13.nullable(),
43273
+ tool_call_id: uuidSchema14,
43274
+ run_id: uuidSchema14.nullable(),
43112
43275
  tool_name: external_exports.string(),
43113
43276
  guard_result: guardResultSchema,
43114
43277
  manifest_clause: external_exports.string().nullable(),
43115
43278
  outcome: external_exports.string(),
43116
- started_at: isoDateTime3,
43117
- finished_at: isoDateTime3.nullable()
43279
+ started_at: isoDateTime4,
43280
+ finished_at: isoDateTime4.nullable()
43118
43281
  }).strict();
43119
43282
  var agentListToolCallsOutputSchema = external_exports.object({
43120
- seat_id: uuidSchema13,
43283
+ seat_id: uuidSchema14,
43121
43284
  summary: seatTrustSummarySchema,
43122
43285
  tool_calls: external_exports.array(seatToolCallSchema)
43123
43286
  }).strict();
@@ -43128,21 +43291,21 @@ var deliverableLinkSchema = external_exports.object({
43128
43291
  kind: external_exports.enum(["internal", "linear", "github", "external"])
43129
43292
  }).strict();
43130
43293
  var deliverableIdSchema = external_exports.union([
43131
- uuidSchema13,
43294
+ uuidSchema14,
43132
43295
  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)
43133
43296
  ]);
43134
43297
  var deliverableRowSchema = external_exports.object({
43135
43298
  id: deliverableIdSchema,
43136
- seat_id: uuidSchema13,
43137
- agent_id: uuidSchema13.nullable(),
43138
- run_id: uuidSchema13.nullable(),
43139
- task_id: uuidSchema13.nullable(),
43140
- work_order_id: uuidSchema13.nullable(),
43299
+ seat_id: uuidSchema14,
43300
+ agent_id: uuidSchema14.nullable(),
43301
+ run_id: uuidSchema14.nullable(),
43302
+ task_id: uuidSchema14.nullable(),
43303
+ work_order_id: uuidSchema14.nullable(),
43141
43304
  kind: deliverableKindSchema,
43142
43305
  title: external_exports.string(),
43143
43306
  summary: external_exports.string().nullable(),
43144
43307
  content: external_exports.string().nullable(),
43145
- delivered_at: isoDateTime3,
43308
+ delivered_at: isoDateTime4,
43146
43309
  source_run_status: external_exports.string().nullable(),
43147
43310
  source_run_model: external_exports.string().nullable(),
43148
43311
  source_run_log_ref: external_exports.string().nullable(),
@@ -43150,13 +43313,13 @@ var deliverableRowSchema = external_exports.object({
43150
43313
  links: external_exports.array(deliverableLinkSchema)
43151
43314
  }).strict();
43152
43315
  var deliverableListInputSchema = external_exports.object({
43153
- seat_id: uuidSchema13
43316
+ seat_id: uuidSchema14
43154
43317
  }).strict();
43155
43318
  var deliverableListOutputSchema = external_exports.object({
43156
43319
  deliverables: external_exports.array(deliverableRowSchema)
43157
43320
  }).strict();
43158
43321
  var deliverableGetInputSchema = external_exports.object({
43159
- seat_id: uuidSchema13,
43322
+ seat_id: uuidSchema14,
43160
43323
  deliverable_id: deliverableIdSchema
43161
43324
  }).strict();
43162
43325
  var deliverableGetOutputSchema = external_exports.object({
@@ -43164,86 +43327,86 @@ var deliverableGetOutputSchema = external_exports.object({
43164
43327
  }).strict();
43165
43328
  var mcpTokenListInputSchema = external_exports.object({
43166
43329
  include_revoked: external_exports.boolean().default(false),
43167
- seat_id: uuidSchema13.optional()
43330
+ seat_id: uuidSchema14.optional()
43168
43331
  }).strict();
43169
43332
  var mcpTokenMetadataSchema = external_exports.object({
43170
- token_id: uuidSchema13,
43333
+ token_id: uuidSchema14,
43171
43334
  scope: mcpScopeSchema,
43172
- seat_id: uuidSchema13.nullable(),
43173
- created_at: isoDateTime3,
43174
- last_seen_at: isoDateTime3.nullable(),
43335
+ seat_id: uuidSchema14.nullable(),
43336
+ created_at: isoDateTime4,
43337
+ last_seen_at: isoDateTime4.nullable(),
43175
43338
  // DER-830: expires_at is now always present (the column is NOT NULL).
43176
- expires_at: isoDateTime3,
43339
+ expires_at: isoDateTime4,
43177
43340
  // DER-830: whole days remaining until expiry, computed server-side. Negative
43178
43341
  // when the token is already expired (so the CLI can render "expired").
43179
43342
  expires_in_days: external_exports.number().int(),
43180
- revoked_at: isoDateTime3.nullable()
43343
+ revoked_at: isoDateTime4.nullable()
43181
43344
  }).strict();
43182
43345
  var mcpTokenListOutputSchema = external_exports.object({
43183
43346
  tokens: external_exports.array(mcpTokenMetadataSchema)
43184
43347
  }).strict();
43185
43348
  var errorLogListInputSchema = external_exports.object({
43186
- seat_id: uuidSchema13.optional(),
43349
+ seat_id: uuidSchema14.optional(),
43187
43350
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).optional(),
43188
43351
  severity: external_exports.enum(["warning", "error", "critical"]).optional(),
43189
43352
  resolved: external_exports.enum(["active", "acknowledged", "resolved", "all"]).default("active"),
43190
43353
  limit: external_exports.number().int().min(1).max(200).default(50)
43191
43354
  }).strict();
43192
43355
  var errorLogListItemSchema = external_exports.object({
43193
- error_log_id: uuidSchema13,
43356
+ error_log_id: uuidSchema14,
43194
43357
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]),
43195
43358
  severity: external_exports.enum(["warning", "error", "critical"]),
43196
43359
  code: external_exports.string().nullable(),
43197
43360
  message: external_exports.string(),
43198
- seat_id: uuidSchema13.nullable(),
43199
- agent_id: uuidSchema13.nullable(),
43200
- run_id: uuidSchema13.nullable(),
43361
+ seat_id: uuidSchema14.nullable(),
43362
+ agent_id: uuidSchema14.nullable(),
43363
+ run_id: uuidSchema14.nullable(),
43201
43364
  disposition: external_exports.enum(["active", "acknowledged", "resolved", "superseded"]),
43202
- resolved_at: isoDateTime3.nullable(),
43203
- resolved_by: uuidSchema13.nullable(),
43365
+ resolved_at: isoDateTime4.nullable(),
43366
+ resolved_by: uuidSchema14.nullable(),
43204
43367
  resolution_reason: external_exports.string().nullable(),
43205
- linked_task_id: uuidSchema13.nullable(),
43206
- linked_issue_id: uuidSchema13.nullable(),
43368
+ linked_task_id: uuidSchema14.nullable(),
43369
+ linked_issue_id: uuidSchema14.nullable(),
43207
43370
  linked_pr_ref: external_exports.string().nullable(),
43208
- superseded_by_id: uuidSchema13.nullable(),
43209
- created_at: isoDateTime3
43371
+ superseded_by_id: uuidSchema14.nullable(),
43372
+ created_at: isoDateTime4
43210
43373
  }).strict();
43211
43374
  var errorLogListOutputSchema = external_exports.object({
43212
43375
  errors: external_exports.array(errorLogListItemSchema),
43213
43376
  total: external_exports.number().int().nonnegative()
43214
43377
  }).strict();
43215
43378
  var errorLogResolveInputSchema = external_exports.object({
43216
- error_log_id: uuidSchema13,
43379
+ error_log_id: uuidSchema14,
43217
43380
  reason: external_exports.string().trim().min(1),
43218
43381
  disposition: external_exports.enum(["acknowledged", "resolved"]).default("acknowledged"),
43219
- linked_task_id: uuidSchema13.optional(),
43220
- linked_issue_id: uuidSchema13.optional(),
43382
+ linked_task_id: uuidSchema14.optional(),
43383
+ linked_issue_id: uuidSchema14.optional(),
43221
43384
  linked_pr_ref: external_exports.string().trim().min(1).optional()
43222
43385
  }).strict();
43223
43386
  var errorLogResolveOutputSchema = external_exports.object({
43224
- error_log_id: uuidSchema13,
43387
+ error_log_id: uuidSchema14,
43225
43388
  disposition: external_exports.enum(["acknowledged", "resolved"]),
43226
- resolved_at: isoDateTime3
43389
+ resolved_at: isoDateTime4
43227
43390
  }).strict();
43228
43391
  var errorLogSupersedeInputSchema = external_exports.object({
43229
- error_log_id: uuidSchema13,
43230
- new_error_log_id: uuidSchema13,
43392
+ error_log_id: uuidSchema14,
43393
+ new_error_log_id: uuidSchema14,
43231
43394
  reason: external_exports.string().trim().min(1),
43232
- linked_task_id: uuidSchema13.optional(),
43233
- linked_issue_id: uuidSchema13.optional(),
43395
+ linked_task_id: uuidSchema14.optional(),
43396
+ linked_issue_id: uuidSchema14.optional(),
43234
43397
  linked_pr_ref: external_exports.string().trim().min(1).optional()
43235
43398
  }).strict();
43236
43399
  var errorLogSupersedeOutputSchema = external_exports.object({
43237
- error_log_id: uuidSchema13,
43238
- superseded_by_id: uuidSchema13,
43400
+ error_log_id: uuidSchema14,
43401
+ superseded_by_id: uuidSchema14,
43239
43402
  disposition: external_exports.literal("superseded"),
43240
- resolved_at: isoDateTime3
43403
+ resolved_at: isoDateTime4
43241
43404
  }).strict();
43242
43405
 
43243
43406
  // ../../packages/protocol/src/working-files.ts
43244
43407
  var WORKING_FILE_MAX_PATH_CHARS = 512;
43245
43408
  var WORKING_FILE_MAX_CONTENT_CHARS = 16384;
43246
- var isoDateTime4 = external_exports.string().datetime({ offset: true });
43409
+ var isoDateTime5 = external_exports.string().datetime({ offset: true });
43247
43410
  var workingFileContentTypeSchema = external_exports.enum([
43248
43411
  "text/plain",
43249
43412
  "text/markdown",
@@ -43322,10 +43485,10 @@ var workingFileSummarySchema = external_exports.object({
43322
43485
  content_type: workingFileContentTypeSchema,
43323
43486
  content_chars: external_exports.number().int().nonnegative(),
43324
43487
  published_ref: external_exports.string().min(1).nullable(),
43325
- published_at: isoDateTime4.nullable(),
43326
- expires_at: isoDateTime4,
43327
- created_at: isoDateTime4,
43328
- updated_at: isoDateTime4
43488
+ published_at: isoDateTime5.nullable(),
43489
+ expires_at: isoDateTime5,
43490
+ created_at: isoDateTime5,
43491
+ updated_at: isoDateTime5
43329
43492
  }).strict();
43330
43493
  var workingFileReadResultSchema = workingFileSummarySchema.extend({
43331
43494
  content: external_exports.string(),
@@ -43342,7 +43505,7 @@ var runSummaryOutputSchema = external_exports.object({
43342
43505
 
43343
43506
  // ../../packages/protocol/src/runner-settings.ts
43344
43507
  var uuid8 = external_exports.string().uuid();
43345
- var isoDateTime5 = external_exports.string().datetime({ offset: true });
43508
+ var isoDateTime6 = external_exports.string().datetime({ offset: true });
43346
43509
  var runnerHealthSchema = external_exports.enum(["online", "stale", "offline", "revoked", "unpaired"]);
43347
43510
  var runnerExecutionStateSchema = external_exports.enum([
43348
43511
  "ready",
@@ -43362,8 +43525,8 @@ var runnerExecutionReadinessSchema = external_exports.object({
43362
43525
  due_queued_work_orders: external_exports.number().int().nonnegative(),
43363
43526
  claimed_work_orders: external_exports.number().int().nonnegative(),
43364
43527
  running_work_orders: external_exports.number().int().nonnegative(),
43365
- recent_completed_at: isoDateTime5.nullable(),
43366
- recent_failed_at: isoDateTime5.nullable()
43528
+ recent_completed_at: isoDateTime6.nullable(),
43529
+ recent_failed_at: isoDateTime6.nullable()
43367
43530
  }).strict();
43368
43531
  var runnerSandboxPostureSchema = external_exports.enum(["guard", "strict", "off", "none", "unknown"]);
43369
43532
  var runnerPostureSchema = external_exports.object({
@@ -43380,10 +43543,10 @@ var runnerSummarySchema = external_exports.object({
43380
43543
  cli_version: external_exports.string().nullable(),
43381
43544
  posture: runnerPostureSchema,
43382
43545
  execution: runnerExecutionReadinessSchema,
43383
- paired_at: isoDateTime5.nullable(),
43384
- last_heartbeat_at: isoDateTime5.nullable(),
43385
- revoked_at: isoDateTime5.nullable(),
43386
- created_at: isoDateTime5
43546
+ paired_at: isoDateTime6.nullable(),
43547
+ last_heartbeat_at: isoDateTime6.nullable(),
43548
+ revoked_at: isoDateTime6.nullable(),
43549
+ created_at: isoDateTime6
43387
43550
  }).strict();
43388
43551
  var runnerListInputSchema = external_exports.object({
43389
43552
  include_revoked: external_exports.boolean().optional()
@@ -43402,7 +43565,7 @@ var runnerPairingStartOutputSchema = external_exports.object({
43402
43565
  pairing_session_id: uuid8,
43403
43566
  user_code: external_exports.string(),
43404
43567
  verification_uri: external_exports.string(),
43405
- expires_at: isoDateTime5,
43568
+ expires_at: isoDateTime6,
43406
43569
  expires_in: external_exports.number().int().nonnegative()
43407
43570
  }).strict();
43408
43571
  var runnerRevokeInputSchema = external_exports.object({
@@ -43420,9 +43583,9 @@ var workOrderSummarySchema = external_exports.object({
43420
43583
  lane: external_exports.enum(["cloud", "runner"]),
43421
43584
  status: workOrderStatusSchema,
43422
43585
  claimed_by_runner_id: uuid8.nullable(),
43423
- scheduled_for: isoDateTime5,
43424
- grace_deadline: isoDateTime5,
43425
- created_at: isoDateTime5
43586
+ scheduled_for: isoDateTime6,
43587
+ grace_deadline: isoDateTime6,
43588
+ created_at: isoDateTime6
43426
43589
  }).strict();
43427
43590
  var workOrderListInputSchema = external_exports.object({
43428
43591
  status: workOrderStatusSchema.optional(),
@@ -43435,7 +43598,7 @@ var workOrderListOutputSchema = external_exports.object({
43435
43598
  }).strict();
43436
43599
  var workOrderEnqueueInputSchema = external_exports.object({
43437
43600
  agent_id: uuid8,
43438
- scheduled_for: isoDateTime5.optional(),
43601
+ scheduled_for: isoDateTime6.optional(),
43439
43602
  task_id: uuid8.optional()
43440
43603
  }).strict();
43441
43604
  var agentRunNowInputSchema = external_exports.object({
@@ -43462,8 +43625,8 @@ var runnerDiagnoseOutputSchema = external_exports.object({
43462
43625
  platform: external_exports.string(),
43463
43626
  health: runnerHealthSchema,
43464
43627
  capabilities: runnerCapabilityDetailSchema,
43465
- last_heartbeat_at: isoDateTime5.nullable(),
43466
- paired_at: isoDateTime5.nullable(),
43628
+ last_heartbeat_at: isoDateTime6.nullable(),
43629
+ paired_at: isoDateTime6.nullable(),
43467
43630
  revocation_state: external_exports.enum(["active", "revoked", "unpaired"]),
43468
43631
  repair_guidance: external_exports.array(external_exports.object({
43469
43632
  action: external_exports.string(),
@@ -43524,7 +43687,7 @@ var notificationErrorSummarySchema = external_exports.object({
43524
43687
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).nullable(),
43525
43688
  seat_id: uuid8.nullable(),
43526
43689
  run_id: uuid8.nullable(),
43527
- created_at: isoDateTime5
43690
+ created_at: isoDateTime6
43528
43691
  }).strict();
43529
43692
  var notificationListErrorsOutputSchema = external_exports.object({
43530
43693
  errors: external_exports.array(notificationErrorSummarySchema)
@@ -43641,7 +43804,7 @@ var integrationSummarySchema = external_exports.object({
43641
43804
  id: uuid8,
43642
43805
  provider: external_exports.string(),
43643
43806
  status: external_exports.enum(["connected", "error", "disconnected"]),
43644
- last_synced_at: isoDateTime5.nullable()
43807
+ last_synced_at: isoDateTime6.nullable()
43645
43808
  }).strict();
43646
43809
  var settingsGetInputSchema = external_exports.object({}).strict();
43647
43810
  var settingsGetOutputSchema = external_exports.object({
@@ -43676,13 +43839,13 @@ var tenantRenameOutputSchema = external_exports.object({
43676
43839
  }).strict();
43677
43840
 
43678
43841
  // ../../packages/protocol/src/system-health.ts
43679
- var uuidSchema14 = external_exports.string().uuid();
43680
- var isoDateTime6 = external_exports.string().datetime({ offset: true });
43842
+ var uuidSchema15 = external_exports.string().uuid();
43843
+ var isoDateTime7 = external_exports.string().datetime({ offset: true });
43681
43844
  var systemHealthCallerKindSchema = external_exports.enum(["tenant_admin", "member", "seat_token"]);
43682
43845
  var systemHealthCallerSchema = external_exports.object({
43683
43846
  kind: systemHealthCallerKindSchema,
43684
- seat_id: uuidSchema14.optional(),
43685
- seat_ids: external_exports.array(uuidSchema14).min(1).optional()
43847
+ seat_id: uuidSchema15.optional(),
43848
+ seat_ids: external_exports.array(uuidSchema15).min(1).optional()
43686
43849
  }).strict();
43687
43850
  var systemHealthVerdictSchema = external_exports.enum(["healthy", "degraded", "blocked"]);
43688
43851
  var systemHealthSeveritySchema = external_exports.enum(["info", "warning", "critical"]);
@@ -43720,18 +43883,18 @@ var systemHealthFindingSchema = external_exports.object({
43720
43883
  summary: external_exports.string().min(1),
43721
43884
  detail: external_exports.string().min(1),
43722
43885
  remediation: systemHealthActionSchema,
43723
- seat_id: uuidSchema14.nullable(),
43724
- goal_id: uuidSchema14.nullable(),
43725
- run_id: uuidSchema14.nullable(),
43726
- issue_id: uuidSchema14.nullable(),
43727
- task_id: uuidSchema14.nullable(),
43728
- error_log_id: uuidSchema14.nullable()
43886
+ seat_id: uuidSchema15.nullable(),
43887
+ goal_id: uuidSchema15.nullable(),
43888
+ run_id: uuidSchema15.nullable(),
43889
+ issue_id: uuidSchema15.nullable(),
43890
+ task_id: uuidSchema15.nullable(),
43891
+ error_log_id: uuidSchema15.nullable()
43729
43892
  }).strict();
43730
43893
  var systemHealthScopeSchema = external_exports.object({
43731
43894
  mode: systemHealthScopeModeSchema,
43732
- root_seat_ids: external_exports.array(uuidSchema14),
43733
- included_seat_ids: external_exports.array(uuidSchema14),
43734
- requested_seat_id: uuidSchema14.nullable(),
43895
+ root_seat_ids: external_exports.array(uuidSchema15),
43896
+ included_seat_ids: external_exports.array(uuidSchema15),
43897
+ requested_seat_id: uuidSchema15.nullable(),
43735
43898
  total_seat_count: external_exports.number().int().nonnegative()
43736
43899
  }).strict();
43737
43900
  var systemHealthFleetSectionSchema = external_exports.object({
@@ -43767,7 +43930,7 @@ var systemHealthConnectivitySectionSchema = external_exports.object({
43767
43930
  failed_notification_count: external_exports.number().int().nonnegative()
43768
43931
  }).strict();
43769
43932
  var systemHealthSyncSectionSchema = external_exports.object({
43770
- latest_brief_at: isoDateTime6.nullable(),
43933
+ latest_brief_at: isoDateTime7.nullable(),
43771
43934
  missing_latest_brief: external_exports.boolean(),
43772
43935
  flagged_gap_count: external_exports.number().int().nonnegative()
43773
43936
  }).strict();
@@ -43781,13 +43944,13 @@ var systemHealthSectionsSchema = external_exports.object({
43781
43944
  sync: systemHealthSyncSectionSchema
43782
43945
  }).strict();
43783
43946
  var systemHealthInputSchema = external_exports.object({
43784
- seat_id: uuidSchema14.optional()
43947
+ seat_id: uuidSchema15.optional()
43785
43948
  }).strict();
43786
43949
  var systemHealthCheckInputSchema = systemHealthInputSchema.extend({
43787
43950
  caller: systemHealthCallerSchema
43788
43951
  }).strict();
43789
43952
  var systemHealthOutputSchema = external_exports.object({
43790
- generated_at: isoDateTime6,
43953
+ generated_at: isoDateTime7,
43791
43954
  scope: systemHealthScopeSchema,
43792
43955
  verdict: systemHealthVerdictSchema,
43793
43956
  top_actions: external_exports.array(systemHealthActionSchema),
@@ -43969,10 +44132,10 @@ var baserowFilteredCountInputSchema = external_exports.object({
43969
44132
  }).strict();
43970
44133
 
43971
44134
  // ../../packages/protocol/src/signal-report.ts
43972
- var uuidSchema15 = external_exports.string().uuid();
44135
+ var uuidSchema16 = external_exports.string().uuid();
43973
44136
  var dateOnlySchema2 = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/, "expected YYYY-MM-DD");
43974
44137
  var signalReportInputSchema = external_exports.object({
43975
- measurable_id: uuidSchema15,
44138
+ measurable_id: uuidSchema16,
43976
44139
  value: external_exports.number().finite(),
43977
44140
  // Optional; defaults to the measurable's current period (resolved in the
43978
44141
  // command against the measurable's own cadence via the canonical bounds).
@@ -43983,8 +44146,8 @@ var signalReportInputSchema = external_exports.object({
43983
44146
  confidence: external_exports.enum(["low", "medium", "high"]).optional()
43984
44147
  }).strict();
43985
44148
  var signalReportOutputSchema = external_exports.object({
43986
- reading_id: uuidSchema15,
43987
- measurable_id: uuidSchema15,
44149
+ reading_id: uuidSchema16,
44150
+ measurable_id: uuidSchema16,
43988
44151
  // Always false: an agent-sourced reading is a draft until a human confirms it.
43989
44152
  confirmed: external_exports.literal(false)
43990
44153
  }).strict();
@@ -45255,7 +45418,7 @@ var softwareFactoryBudgetExhaustedEventSchema = external_exports.object({
45255
45418
  }).strict();
45256
45419
 
45257
45420
  // ../../packages/protocol/src/sync-brief.ts
45258
- var uuidSchema16 = external_exports.string().uuid();
45421
+ var uuidSchema17 = external_exports.string().uuid();
45259
45422
  var dateSchema = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/);
45260
45423
  var syncBriefGapSchema = external_exports.object({
45261
45424
  section: external_exports.enum(["exceptions", "goal_deltas", "task_review", "friction", "agent_activity"]),
@@ -45268,8 +45431,8 @@ var sectionSchema = (itemSchema) => external_exports.object({
45268
45431
  flagged_gaps: external_exports.array(syncBriefGapSchema)
45269
45432
  }).strict();
45270
45433
  var syncBriefExceptionSchema = external_exports.object({
45271
- measurable_id: uuidSchema16,
45272
- seat_id: uuidSchema16,
45434
+ measurable_id: uuidSchema17,
45435
+ seat_id: uuidSchema17,
45273
45436
  seat_name: external_exports.string().min(1),
45274
45437
  name: external_exports.string().min(1),
45275
45438
  state: external_exports.enum(["risk", "crit", "pending"]),
@@ -45280,8 +45443,8 @@ var syncBriefExceptionSchema = external_exports.object({
45280
45443
  freshness: external_exports.enum(["fresh", "due", "stale", "awaiting_first_reading", "not_expected"]).optional()
45281
45444
  }).strict();
45282
45445
  var syncBriefGoalDeltaSchema = external_exports.object({
45283
- goal_id: uuidSchema16,
45284
- seat_id: uuidSchema16.nullable(),
45446
+ goal_id: uuidSchema17,
45447
+ seat_id: uuidSchema17.nullable(),
45285
45448
  seat_name: external_exports.string().nullable(),
45286
45449
  title: external_exports.string().min(1),
45287
45450
  status: external_exports.enum(["on", "off", "done", "dropped"]),
@@ -45295,22 +45458,22 @@ var syncBriefTaskReviewSchema = external_exports.object({
45295
45458
  previous_done_rate: external_exports.number().min(0).max(1),
45296
45459
  delta: external_exports.number().min(-1).max(1),
45297
45460
  stalled: external_exports.array(external_exports.object({
45298
- task_id: uuidSchema16,
45299
- owner_seat_id: uuidSchema16,
45461
+ task_id: uuidSchema17,
45462
+ owner_seat_id: uuidSchema17,
45300
45463
  owner_seat_name: external_exports.string().min(1),
45301
45464
  title: external_exports.string().min(1),
45302
45465
  due_on: dateSchema,
45303
45466
  stalled_at: external_exports.string().nullable()
45304
45467
  }).strict()),
45305
45468
  overdue_by_owner: external_exports.array(external_exports.object({
45306
- owner_seat_id: uuidSchema16,
45469
+ owner_seat_id: uuidSchema17,
45307
45470
  owner_seat_name: external_exports.string().min(1),
45308
45471
  overdue_count: external_exports.number().int().nonnegative()
45309
45472
  }).strict())
45310
45473
  }).strict();
45311
45474
  var syncBriefIssueSchema = external_exports.object({
45312
- issue_id: uuidSchema16,
45313
- raised_by_seat_id: uuidSchema16,
45475
+ issue_id: uuidSchema17,
45476
+ raised_by_seat_id: uuidSchema17,
45314
45477
  raised_by_seat_name: external_exports.string().min(1),
45315
45478
  summary: external_exports.string().min(1),
45316
45479
  severity: external_exports.enum(["low", "med", "high", "critical"]),
@@ -45327,16 +45490,16 @@ var syncBriefActionItemTrendSchema = external_exports.object({
45327
45490
  has_prior: external_exports.boolean()
45328
45491
  }).strict();
45329
45492
  var syncBriefCascadeAtRiskSchema = external_exports.object({
45330
- goal_id: uuidSchema16,
45493
+ goal_id: uuidSchema17,
45331
45494
  title: external_exports.string().min(1),
45332
- seat_id: uuidSchema16.nullable(),
45495
+ seat_id: uuidSchema17.nullable(),
45333
45496
  progress_pct: external_exports.number().int().min(0).max(100),
45334
45497
  classification: external_exports.enum(["at_risk", "projected_miss"]),
45335
45498
  behind_days: external_exports.number().nullable()
45336
45499
  }).strict();
45337
45500
  var syncBriefAgentActivitySchema = external_exports.object({
45338
- agent_id: uuidSchema16,
45339
- seat_id: uuidSchema16,
45501
+ agent_id: uuidSchema17,
45502
+ seat_id: uuidSchema17,
45340
45503
  seat_name: external_exports.string().min(1),
45341
45504
  run_count: external_exports.number().int().nonnegative(),
45342
45505
  failed_run_count: external_exports.number().int().nonnegative(),
@@ -45348,11 +45511,11 @@ var syncBriefAgentActivitySchema = external_exports.object({
45348
45511
  var syncBriefSchema = external_exports.object({
45349
45512
  schema_version: external_exports.literal(1),
45350
45513
  tenant: external_exports.object({
45351
- id: uuidSchema16,
45514
+ id: uuidSchema17,
45352
45515
  name: external_exports.string().min(1)
45353
45516
  }).strict(),
45354
45517
  cluster: external_exports.object({
45355
- id: uuidSchema16,
45518
+ id: uuidSchema17,
45356
45519
  name: external_exports.string().min(1)
45357
45520
  }).strict().nullable(),
45358
45521
  period: external_exports.object({
@@ -45390,16 +45553,16 @@ var syncBriefSchema = external_exports.object({
45390
45553
  }).strict();
45391
45554
 
45392
45555
  // ../../packages/protocol/src/usage.ts
45393
- var isoDateTime7 = external_exports.string().datetime({ offset: true });
45556
+ var isoDateTime8 = external_exports.string().datetime({ offset: true });
45394
45557
  var periodKeySchema = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/);
45395
45558
  var countSchema = external_exports.number().int().nonnegative();
45396
45559
  var usdSchema = external_exports.string();
45397
45560
  var bigCountSchema = external_exports.string();
45398
45561
  var usagePeriodSchema = external_exports.object({
45399
45562
  period: periodKeySchema,
45400
- period_start: isoDateTime7,
45401
- period_end: isoDateTime7,
45402
- captured_at: isoDateTime7,
45563
+ period_start: isoDateTime8,
45564
+ period_end: isoDateTime8,
45565
+ captured_at: isoDateTime8,
45403
45566
  run_count: countSchema,
45404
45567
  agent_count: countSchema,
45405
45568
  succeeded_run_count: countSchema,
@@ -45451,7 +45614,7 @@ var usageSnapshotInputSchema = external_exports.object({
45451
45614
  // current month. Normalized to the first of that month server-side.
45452
45615
  period: external_exports.union([
45453
45616
  external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/),
45454
- isoDateTime7
45617
+ isoDateTime8
45455
45618
  ]).optional()
45456
45619
  }).strict();
45457
45620
  var usageSnapshotOutputSchema = external_exports.object({
@@ -45463,11 +45626,11 @@ var usageSnapshotOutputSchema = external_exports.object({
45463
45626
  }).strict();
45464
45627
 
45465
45628
  // ../../packages/protocol/src/event-payloads.ts
45466
- var uuidSchema17 = external_exports.string().uuid();
45629
+ var uuidSchema18 = external_exports.string().uuid();
45467
45630
  var evidenceSchema = external_exports.array(external_exports.unknown());
45468
45631
  var statusEventPayloadSchema = external_exports.object({
45469
45632
  measurables: external_exports.array(external_exports.object({
45470
- id: uuidSchema17,
45633
+ id: uuidSchema18,
45471
45634
  value: external_exports.number().finite(),
45472
45635
  // DER-1045: an optional, non-secret citation for an agent-proposed reading
45473
45636
  // (signal.report) — where the number came from + the agent's confidence.
@@ -45496,7 +45659,7 @@ var statusEventPayloadSchema = external_exports.object({
45496
45659
  }).strict().optional()
45497
45660
  }).strict()).optional(),
45498
45661
  goals: external_exports.array(external_exports.object({
45499
- id: uuidSchema17,
45662
+ id: uuidSchema18,
45500
45663
  state: external_exports.enum(["on", "off"]),
45501
45664
  note: external_exports.string().min(1).optional()
45502
45665
  }).strict()).optional()
@@ -45509,8 +45672,8 @@ var escalationEventPayloadSchema = external_exports.object({
45509
45672
  }).strict();
45510
45673
  var issueEventPayloadSchema = external_exports.object({
45511
45674
  summary: external_exports.string().min(1),
45512
- blocking_goal_id: uuidSchema17.optional(),
45513
- broken_measurable_id: uuidSchema17.optional(),
45675
+ blocking_goal_id: uuidSchema18.optional(),
45676
+ broken_measurable_id: uuidSchema18.optional(),
45514
45677
  evidence: evidenceSchema,
45515
45678
  severity: external_exports.enum(["low", "med", "high", "critical"])
45516
45679
  }).strict();
@@ -45523,14 +45686,14 @@ var heldToolActionReplaySchema = external_exports.object({
45523
45686
  }).strict();
45524
45687
 
45525
45688
  // ../../packages/protocol/src/operating.ts
45526
- var uuidSchema18 = external_exports.string().uuid();
45689
+ var uuidSchema19 = external_exports.string().uuid();
45527
45690
  var taskListInputSchema = external_exports.object({}).strict();
45528
45691
  var operatingTaskSchema = external_exports.object({
45529
- id: uuidSchema18,
45692
+ id: uuidSchema19,
45530
45693
  title: external_exports.string(),
45531
45694
  description: external_exports.string().nullable(),
45532
- from_seat_id: uuidSchema18.nullable(),
45533
- goal_id: uuidSchema18.nullable(),
45695
+ from_seat_id: uuidSchema19.nullable(),
45696
+ goal_id: uuidSchema19.nullable(),
45534
45697
  acceptance_criteria: external_exports.unknown(),
45535
45698
  due_on: external_exports.string().nullable(),
45536
45699
  status: external_exports.string()
@@ -45539,48 +45702,48 @@ var taskListOutputSchema = external_exports.object({
45539
45702
  tasks: external_exports.array(operatingTaskSchema)
45540
45703
  }).strict();
45541
45704
  var taskAcceptInputSchema = external_exports.object({
45542
- id: uuidSchema18
45705
+ id: uuidSchema19
45543
45706
  }).strict();
45544
45707
  var taskMutationOutputSchema = external_exports.object({
45545
45708
  task: external_exports.object({
45546
- id: uuidSchema18,
45709
+ id: uuidSchema19,
45547
45710
  status: external_exports.string()
45548
45711
  }).strict()
45549
45712
  }).strict();
45550
45713
  var taskDeclineInputSchema = external_exports.object({
45551
- id: uuidSchema18,
45714
+ id: uuidSchema19,
45552
45715
  reason: external_exports.string().min(1)
45553
45716
  }).strict();
45554
45717
  var taskDeclineOutputSchema = external_exports.object({
45555
45718
  task: external_exports.object({
45556
- id: uuidSchema18,
45719
+ id: uuidSchema19,
45557
45720
  status: external_exports.string(),
45558
45721
  decline_reason: external_exports.string()
45559
45722
  }).strict()
45560
45723
  }).strict();
45561
45724
  var taskCompleteInputSchema = external_exports.object({
45562
- id: uuidSchema18,
45725
+ id: uuidSchema19,
45563
45726
  summary: external_exports.string().min(1),
45564
45727
  artifacts: external_exports.unknown().optional()
45565
45728
  }).strict();
45566
45729
  var taskCompleteOutputSchema = external_exports.object({
45567
- task_id: uuidSchema18,
45568
- event_id: uuidSchema18,
45730
+ task_id: uuidSchema19,
45731
+ event_id: uuidSchema19,
45569
45732
  type: external_exports.literal("handoff")
45570
45733
  }).strict();
45571
45734
  var statusRecordOutputSchema = external_exports.object({
45572
- event_id: uuidSchema18,
45735
+ event_id: uuidSchema19,
45573
45736
  type: external_exports.literal("status")
45574
45737
  }).strict();
45575
45738
  var duplicateFrictionCandidateSchema = external_exports.object({
45576
- issue_id: uuidSchema18,
45739
+ issue_id: uuidSchema19,
45577
45740
  summary: external_exports.string().min(1),
45578
45741
  // pg_trgm similarity in [0, 1]; higher is more similar.
45579
45742
  similarity: external_exports.number().min(0).max(1)
45580
45743
  }).strict();
45581
45744
  var frictionFileIssueOutputSchema = external_exports.object({
45582
- event_id: uuidSchema18,
45583
- issue_id: uuidSchema18,
45745
+ event_id: uuidSchema19,
45746
+ issue_id: uuidSchema19,
45584
45747
  type: external_exports.literal("issue"),
45585
45748
  // DER-1522: likely-duplicate candidates detected before creation. Recommend,
45586
45749
  // never block — filing always proceeds; empty when nothing crossed the
@@ -45591,12 +45754,12 @@ var workLogInputSchema = external_exports.object({
45591
45754
  note: external_exports.string().min(1)
45592
45755
  }).strict();
45593
45756
  var workLogOutputSchema = external_exports.object({
45594
- event_id: uuidSchema18,
45757
+ event_id: uuidSchema19,
45595
45758
  type: external_exports.literal("task")
45596
45759
  }).strict();
45597
45760
  var escalationRaiseOutputSchema = external_exports.object({
45598
- event_id: uuidSchema18,
45599
- escalation_id: uuidSchema18,
45761
+ event_id: uuidSchema19,
45762
+ escalation_id: uuidSchema19,
45600
45763
  type: external_exports.literal("escalation")
45601
45764
  }).strict();
45602
45765
  var deliverableKindSchema2 = external_exports.enum(["brief", "work_evidence", "artifact", "report", "other"]);
@@ -45644,7 +45807,7 @@ var deliverableAcceptOutputSchema = external_exports.object({
45644
45807
  }).strict();
45645
45808
 
45646
45809
  // ../../packages/protocol/src/steward.ts
45647
- var uuidSchema19 = external_exports.string().uuid();
45810
+ var uuidSchema20 = external_exports.string().uuid();
45648
45811
  var escalationStatusSchema = external_exports.enum([
45649
45812
  "open",
45650
45813
  "approved",
@@ -45652,21 +45815,21 @@ var escalationStatusSchema = external_exports.enum([
45652
45815
  "converted_to_issue"
45653
45816
  ]);
45654
45817
  var stewardEscalationSchema = external_exports.object({
45655
- id: uuidSchema19,
45656
- seat_id: uuidSchema19,
45818
+ id: uuidSchema20,
45819
+ seat_id: uuidSchema20,
45657
45820
  seat_name: external_exports.string(),
45658
45821
  seat_type: external_exports.enum(["human", "agent", "hybrid"]),
45659
- steward_seat_id: uuidSchema19,
45822
+ steward_seat_id: uuidSchema20,
45660
45823
  steward_seat_name: external_exports.string(),
45661
45824
  reason: external_exports.string(),
45662
45825
  charter_clause: external_exports.string(),
45663
45826
  recommended_action: external_exports.string().nullable(),
45664
45827
  status: escalationStatusSchema,
45665
- decided_by: uuidSchema19.nullable(),
45828
+ decided_by: uuidSchema20.nullable(),
45666
45829
  decided_by_name: external_exports.string().nullable(),
45667
45830
  decided_at: external_exports.string().nullable(),
45668
45831
  decision_note: external_exports.string().nullable(),
45669
- issue_id: uuidSchema19.nullable(),
45832
+ issue_id: uuidSchema20.nullable(),
45670
45833
  created_at: external_exports.string(),
45671
45834
  updated_at: external_exports.string()
45672
45835
  }).strict();
@@ -45677,27 +45840,27 @@ var escalationListOutputSchema = external_exports.object({
45677
45840
  escalations: external_exports.array(stewardEscalationSchema)
45678
45841
  }).strict();
45679
45842
  var escalationGetInputSchema = external_exports.object({
45680
- id: uuidSchema19
45843
+ id: uuidSchema20
45681
45844
  }).strict();
45682
45845
  var escalationGetOutputSchema = external_exports.object({
45683
45846
  escalation: stewardEscalationSchema
45684
45847
  }).strict();
45685
45848
  var escalationResolveActionSchema = external_exports.enum(["approve", "convert_to_issue"]);
45686
45849
  var escalationResolveInputSchema = external_exports.object({
45687
- id: uuidSchema19,
45850
+ id: uuidSchema20,
45688
45851
  action: escalationResolveActionSchema.optional(),
45689
45852
  rationale: external_exports.string().trim().min(1).optional()
45690
45853
  }).strict();
45691
45854
  var escalationRejectInputSchema = external_exports.object({
45692
- id: uuidSchema19,
45855
+ id: uuidSchema20,
45693
45856
  rationale: external_exports.string().trim().min(1).optional()
45694
45857
  }).strict();
45695
45858
  var escalationDecisionOutputSchema = external_exports.object({
45696
- escalation_id: uuidSchema19,
45859
+ escalation_id: uuidSchema20,
45697
45860
  status: escalationStatusSchema,
45698
- decision_id: uuidSchema19,
45699
- decided_by: uuidSchema19,
45700
- issue_id: uuidSchema19.nullable(),
45861
+ decision_id: uuidSchema20,
45862
+ decided_by: uuidSchema20,
45863
+ issue_id: uuidSchema20.nullable(),
45701
45864
  // DER-1478: true when the resolved escalation carries a durable replay_action
45702
45865
  // (an approval-gated connector write) that the approvals path should actuate
45703
45866
  // after this decision is recorded. Omitted (not false) for non-connector
@@ -45719,7 +45882,7 @@ var eventTypes = [
45719
45882
  "task"
45720
45883
  ];
45721
45884
  var publicMessageTypes = ["status", "handoff", "escalation", "issue"];
45722
- var uuidSchema20 = external_exports.string().uuid();
45885
+ var uuidSchema21 = external_exports.string().uuid();
45723
45886
  var evidenceSchema2 = external_exports.array(external_exports.unknown());
45724
45887
  var internalEventPayloadSchema = external_exports.record(external_exports.string(), external_exports.unknown()).refine((payload) => !Array.isArray(payload), "Internal event payload must be an object");
45725
45888
  var handoffEventPayloadSchema = external_exports.object({
@@ -45729,24 +45892,24 @@ var handoffEventPayloadSchema = external_exports.object({
45729
45892
  acceptance_criteria: external_exports.array(external_exports.string().min(1)),
45730
45893
  due: external_exports.string().datetime({ offset: true })
45731
45894
  }).strict(),
45732
- to_seat_id: uuidSchema20
45895
+ to_seat_id: uuidSchema21
45733
45896
  }).strict();
45734
45897
  var intakeEventPayloadSchema = external_exports.discriminatedUnion("action", [
45735
45898
  external_exports.object({
45736
45899
  action: external_exports.literal("uploaded"),
45737
- document_id: uuidSchema20,
45900
+ document_id: uuidSchema21,
45738
45901
  storage_ref: external_exports.string().min(1)
45739
45902
  }).strict(),
45740
45903
  external_exports.object({
45741
45904
  action: external_exports.literal("parsed"),
45742
- document_id: uuidSchema20,
45905
+ document_id: uuidSchema21,
45743
45906
  mode: external_exports.enum(["source_tree", "function_first"]),
45744
45907
  seat_count: external_exports.number().int().nonnegative(),
45745
45908
  edge_count: external_exports.number().int().nonnegative()
45746
45909
  }).strict(),
45747
45910
  external_exports.object({
45748
45911
  action: external_exports.literal("failed"),
45749
- document_id: uuidSchema20,
45912
+ document_id: uuidSchema21,
45750
45913
  reason: external_exports.string().min(1)
45751
45914
  }).strict(),
45752
45915
  external_exports.object({
@@ -45852,9 +46015,9 @@ var publicMessageTypeSchema = external_exports.enum(publicMessageTypes);
45852
46015
  var eventEnvelopeBaseSchema = external_exports.object({
45853
46016
  protocol: external_exports.literal(EVENT_PROTOCOL),
45854
46017
  type: eventTypeSchema,
45855
- seat_id: uuidSchema20.nullable(),
46018
+ seat_id: uuidSchema21.nullable(),
45856
46019
  occurred_at: external_exports.string().datetime({ offset: true }),
45857
- goal_ancestry: external_exports.array(uuidSchema20)
46020
+ goal_ancestry: external_exports.array(uuidSchema21)
45858
46021
  }).strict();
45859
46022
  var statusEventEnvelopeSchema = eventEnvelopeBaseSchema.extend({
45860
46023
  type: external_exports.literal("status"),
@@ -46128,7 +46291,7 @@ The Compass is drafted, then activated by a human through supersession.
46128
46291
  order: 15,
46129
46292
  title: "AICOS chat guide",
46130
46293
  summary: "How the AI Chief of Staff chat works in the authenticated app shell and what it can safely do today.",
46131
- version: "2026-07-11.1",
46294
+ version: "2026-07-13.1",
46132
46295
  public: true,
46133
46296
  audiences: ["human", "in_app_agent"],
46134
46297
  stages: ["company_setup", "operating_rhythm"],
@@ -46191,6 +46354,8 @@ The repair action ensures the same structure new companies receive: a Founder/CE
46191
46354
 
46192
46355
  Settings is the infrastructure surface for AICOS. Use it to confirm foundation status, inspect the current lane, see whether a seat-scoped MCP token exists, and choose **Cloud**, **Runner**, or **MCP** when the server-side readiness checks allow it. The AICOS seat has its own operations panel instead of the normal **Staff this seat** setup tabs, because AICOS is the company's governed AI Chief of Staff foundation rather than a generic agent to restaff from stock, custom design, or runner pairing controls. Use that panel to reach AICOS Settings, its Charter, runner readiness, MCP token management, and Trust Card run evidence.
46193
46356
 
46357
+ The same Settings area shows AICOS authority and launch recovery in customer language. AICOS starts with connected company capabilities at maximum available access and Trusted posture, but tenant dial-backs and always-human boundaries remain authoritative. Launch-credit status shows 50%, 80%, and exhaustion posture plus Billing and BYOK recovery links; BYOK reduces managed inference cost only and does not replace the required subscription after launch access ends.
46358
+
46194
46359
  ## What context AICOS receives
46195
46360
 
46196
46361
  Each turn carries server-normalized page context: route template, current path, safe search state, selected seat or object ids when authorized, onboarding state when relevant, and the current tenant clock. AICOS treats the supplied clock as authoritative for today's date and time instead of guessing from model priors. The server derives tenant and user authority from the authenticated session. Client-supplied tenant context is never accepted as authority.
@@ -46280,7 +46445,7 @@ Treat AICOS as a coordinator over the operating system. It can become more usefu
46280
46445
  order: 20,
46281
46446
  title: "Responsibility Graph playbook",
46282
46447
  summary: "How to build a functions-first graph with seats, owners, Stewards, vacancies, and clean authority.",
46283
- version: "2026-07-10.6",
46448
+ version: "2026-07-13.2",
46284
46449
  public: true,
46285
46450
  audiences: ["human", "cli", "mcp", "in_app_agent"],
46286
46451
  stages: ["graph_design", "staffing"],
@@ -46363,7 +46528,7 @@ A staffed non-AICOS agent's seat page uses one profile shell with eight URL-addr
46363
46528
 
46364
46529
  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.
46365
46530
 
46366
- 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.
46531
+ 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**, capability setup uses the production access language: **Off**, **Read**, and **Read & act**. Deterministic suggestions from the template or Charter are labelled, unavailable provider scopes are disabled instead of hidden, and human overrides stay visible until saved. Saving a capability change stages the governed \`tool_grants.agent.update\` path; selection alone never grants a tool call. The activation review then builds one receipt from the current scope digest, budget, lane, cadence, capabilities, and always-human boundaries. Signing Ask-first or creating a bounded Trusted grant uses that digest, so widening scopes or changing budget requires rebuilding and re-signing. 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.
46367
46532
 
46368
46533
  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.
46369
46534
 
@@ -46517,7 +46682,7 @@ Drafting can be assisted by agents. Activation is a human decision. When authori
46517
46682
  order: 40,
46518
46683
  title: "Agent staffing playbook",
46519
46684
  summary: "How to decide whether a seat should be human, agent, or hybrid, and how to go live safely.",
46520
- version: "2026-07-05.1",
46685
+ version: "2026-07-13.1",
46521
46686
  public: true,
46522
46687
  audiences: ["human", "cli", "mcp", "in_app_agent"],
46523
46688
  stages: ["staffing"],
@@ -46576,7 +46741,7 @@ Two creation paths, both draft-first. Read the stock-agents guide for templates
46576
46741
  - Custom: \`agent_setup.start\` / \`rost_start_agent_setup\` (returns a \`setup_id\`), iterate with \`agent_setup.get\` and \`agent_setup.update\`, then \`agent.create_custom\` / \`rost_create_custom_agent\`. Stage tools with \`agent.configure_tools\` (vault refs only) and sandbox with \`agent.run_dry_run\`.
46577
46742
  - Inspect runtime: \`agent.status\` / \`rost_get_agent_status\` with \`{"seat_id":"<seat-id>"}\` returns lane, live state, steward chain, dry-run result, and Runner availability.
46578
46743
  - Run on demand: \`{{cli}} agent run-now --seat-id <seat-id>\` / \`agent.run_now\` / \`rost_run_agent_now\` queues an immediate live run without changing the saved schedule. Cloud agents dispatch to the Inngest executor; runner agents queue work for the paired runner. The command is ungated but still requires a live staffed agent and the normal server-side tool guard.
46579
- - Audit what an agent did (Trust Card): \`{{cli}} command agent.list_runs --json '{"seat_id":"<seat-id>"}'\` / \`rost_list_agent_runs\` returns the seat's run history with per-run Skill activation counts plus tool-call and guard-held counts; \`{{cli}} agent get-run --seat-id <seat-id> --run-id <run-id>\` / \`agent.get_run\` / \`rost_get_agent_run_diagnostics\` reads one run's transcript reference, token/cost usage, outcome, product-visible run errors, and any Skill versions/files loaded for that run. Loaded Skill file hashes and sizes identify the immutable source package; the runtime may still bound or truncate prompt text before sending it to the model. \`{{cli}} command agent.list_tool_calls --json '{"seat_id":"<seat-id>"}'\` / \`rost_list_agent_tool_calls\` returns the tool-call ledger with each call's guard result. Both list commands include a \`denied_tool_call_count\` rollup \u2014 the actions held because they exceeded the charter. Pass \`{"seat_id":"<seat-id>","held_only":true}\` to \`agent.list_tool_calls\` for only the held calls. The web seat page shows the same facts as a Trust Card.
46744
+ - Audit what an agent did (Trust Card): \`{{cli}} command agent.list_runs --json '{"seat_id":"<seat-id>"}'\` / \`rost_list_agent_runs\` returns the seat's run history with per-run Skill activation counts plus tool-call and guard-held counts; \`{{cli}} agent get-run --seat-id <seat-id> --run-id <run-id>\` / \`agent.get_run\` / \`rost_get_agent_run_diagnostics\` reads one run's transcript reference, token/cost usage, outcome, product-visible run errors, and any Skill versions/files loaded for that run. Pass \`--transcript\` (\`{"transcript":true}\`) to also return the persisted, secret-scrubbed session transcript for that run when one exists \u2014 cloud-lane and runner turns persist a bounded transcript at turn end. Final run outcomes are no longer chopped to a short summary; the full report survives. Loaded Skill file hashes and sizes identify the immutable source package; the runtime may still bound or truncate prompt text before sending it to the model. \`{{cli}} command agent.list_tool_calls --json '{"seat_id":"<seat-id>"}'\` / \`rost_list_agent_tool_calls\` returns the tool-call ledger with each call's guard result. Both list commands include a \`denied_tool_call_count\` rollup \u2014 the actions held because they exceeded the charter. Pass \`{"seat_id":"<seat-id>","held_only":true}\` to \`agent.list_tool_calls\` for only the held calls. The web seat page shows the same facts as a Trust Card.
46580
46745
 
46581
46746
  ## Review readiness before go-live
46582
46747
 
@@ -48804,7 +48969,7 @@ Stop before: approving a Charter, signing a manifest, connecting a tool or crede
48804
48969
  order: 71,
48805
48970
  title: "Billing and pricing guide",
48806
48971
  summary: "How {{brand}} packages company-wide access, Stripe billing, and governed-agent usage without per-human-seat pricing.",
48807
- version: "2026-07-13.1",
48972
+ version: "2026-07-13.2",
48808
48973
  public: true,
48809
48974
  audiences: ["human", "cli", "mcp", "in_app_agent"],
48810
48975
  stages: ["company_setup", "staffing", "operating_rhythm"],
@@ -48862,7 +49027,7 @@ Billable true-up is service-owned and runs after a period is closed. The tenant-
48862
49027
 
48863
49028
  ## Launch credits and recovery access
48864
49029
 
48865
- Eligible launch tenants can receive one configured launch credit for {{brand}}-managed variable costs. Managed LLM, Exa, browser, and sandbox costs are estimated before the provider call, reserved atomically against the active launch credit, and then settled to actual usage or released if the call does not complete. BYOK model calls do not draw down launch credit, but they still keep their ordinary audit and usage records.
49030
+ Eligible launch tenants can receive one configured launch credit for {{brand}}-managed variable costs. Managed LLM, Exa, browser, and sandbox costs are estimated before the provider call, reserved atomically against the active launch credit, and then settled to actual usage or released if the call does not complete. BYOK model calls do not draw down launch credit, but they still keep their ordinary audit and usage records. Settings surfaces 50%, 80%, and exhaustion posture so a tenant can choose subscription recovery, BYOK cost reduction, export, cancel, or delete before operations pause.
48866
49031
 
48867
49032
  Launch-credit notifications are informational and idempotent: owners may see threshold, exhaustion, or expiry notices with recovery actions when the remaining credit drops or the credit approaches its expiry window.
48868
49033
 
@@ -49222,7 +49387,7 @@ The runner should not store raw credentials in local notes, prompts, or logs. It
49222
49387
  order: 76,
49223
49388
  title: "Stock agents guide",
49224
49389
  summary: "How to use stock agent templates as starting points while preserving seat-specific Charters and human approval.",
49225
- version: "2026-07-04.1",
49390
+ version: "2026-07-13.5",
49226
49391
  public: true,
49227
49392
  audiences: ["human", "cli", "mcp", "in_app_agent"],
49228
49393
  stages: ["staffing"],
@@ -49249,7 +49414,7 @@ Before dry run, review the template's responsibilities, tool assumptions, escala
49249
49414
 
49250
49415
  ## Template catalog
49251
49416
 
49252
- Eight stock templates ship today. Every one is draft-first, escalates the actions in its safety boundaries, and keeps spend, external sends, and credential scope human-owned until a Steward sets a threshold. Read the live list with \`agent_template.list\` / \`rost_list_agent_templates\` or the \`rost://agents/templates\` resource.
49417
+ Nine stock templates ship today. Every one is draft-first, escalates the actions in its safety boundaries, and keeps spend, external sends, and credential scope human-owned until a Steward sets a threshold. Read the live list with \`agent_template.list\` / \`rost_list_agent_templates\` or the \`rost://agents/templates\` resource.
49253
49418
 
49254
49419
  ### AP Clerk \u2014 \`stock/ap-clerk\`
49255
49420
 
@@ -49258,6 +49423,13 @@ Eight stock templates ship today. Every one is draft-first, escalates the action
49258
49423
  - Default tools: Accounting bills read/write drafts; AP inbox read/draft.
49259
49424
  - Safety boundary: vendor bank changes, payment release, disputed or duplicate invoices, and unclear approval chains escalate before action.
49260
49425
 
49426
+ ### Vendor Follow-up Coordinator \u2014 \`stock/vendor-follow-up-coordinator\`
49427
+
49428
+ - Function: Finance. Tier: \`1 \xB7 Launch\`.
49429
+ - Responsibilities: Work the approved vendor follow-up queue on weekdays; Draft and send the routine follow-up message; Update the approved Sheet range and escalate any drift.
49430
+ - Default tools: Gmail read/draft/send; Sheets read/write approved range.
49431
+ - Safety boundary: new or changed recipients, attachments, nonroutine copy, out-of-range Sheet writes, and revoked authority escalate; only the approved weekday follow-up contract may run.
49432
+
49261
49433
  ### AR & Collections Clerk \u2014 \`stock/ar-collections-clerk\`
49262
49434
 
49263
49435
  - Function: Finance. Tier: \`1 \xB7 Launch\`.
@@ -50053,7 +50225,7 @@ This worked document **omits** \`unanswered_boundaries\` and \`seat_type_recomme
50053
50225
  order: 43,
50054
50226
  title: "Agent builder guide",
50055
50227
  summary: "The full agent setup sequence on the CLI/MCP path \u2014 seat, steward, job, boundaries, tools, credentials, model, schedule, dry-run, go-live \u2014 with the structured model config and access tiers.",
50056
- version: "2026-07-13.1",
50228
+ version: "2026-07-13.2",
50057
50229
  public: true,
50058
50230
  audiences: ["cli", "mcp", "in_app_agent"],
50059
50231
  stages: ["staffing"],
@@ -50124,6 +50296,8 @@ The agent's model is a structured object, not a bare string:
50124
50296
 
50125
50297
  Run \`{{cli}} model list\` (MCP \`rost_list_model_catalog\`) before choosing when cost or reasoning depth is unclear. Balanced is the recommended default. Token prices are catalog estimates per million tokens, and cost bands are planning guidance for relative spend; the billing-grade number is still each run's recorded token usage and \`cost_usd\`. Custom agent creation recommends a tier from responsibility answers when \`model_config\` is omitted.
50126
50298
 
50299
+ \`agent_setup.update\` also takes a separate top-level \`turn_timeout_seconds\` field (optional, 30\u20131800, e.g. \`--json '{"seat_id":"<id>","turn_timeout_seconds":900}'\`) that overrides the Runner lane's fixed 180s per-turn wall-clock for THIS agent \u2014 raise it for a heavier agent whose turns legitimately run long (e.g. a broad inbox sweep) before it makes its first tool call. It is NOT part of \`model_config\`: unlike the model, it stays settable after the agent is live. Pass \`null\` to clear it back to the platform default.
50300
+
50127
50301
  On the CLI, \`{{cli}} agent create --custom --seat-id <id> --model balanced --effort medium \u2026\`, or set it later with \`{{cli}} agent setup answer --seat-id <id> --model complex\`. The model cannot change after the agent is live.
50128
50302
 
50129
50303
  ## Access tiers
@@ -51028,7 +51202,7 @@ var COMMAND_MANIFEST = [
51028
51202
  { "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." },
51029
51203
  { "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." },
51030
51204
  { "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." },
51031
- { "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." },
51205
+ { "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": "turn_timeout_seconds", "flag": "turn-timeout-seconds", "type": "integer", "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." },
51032
51206
  { "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." },
51033
51207
  { "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." },
51034
51208
  { "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." },
@@ -51037,7 +51211,7 @@ var COMMAND_MANIFEST = [
51037
51211
  { "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." },
51038
51212
  { "id": "agent.decommission", "namespace": "agent", "action": "decommission", "title": "Decommission agent", "description": "Retire an agent occupancy safely. Blocks if it would leave another live agent without a human steward chain.", "requiredScope": "tenant", "confirmation": "dangerous", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "reason", "flag": "reason", "type": "string", "required": false }], "hasComplexInput": false, "help": "Retire an agent occupancy safely; the no-orphan guard blocks any decommission that would leave another live agent without a human steward chain." },
51039
51213
  { "id": "agent.fleet_digest", "namespace": "agent", "action": "fleet_digest", "title": "Get dogfood fleet health digest", "description": "Return a daily tenant fleet health digest with live/idle state, run counts, spend, failed runs, unresolved product errors, notification errors, and next actions.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "window_hours", "flag": "window-hours", "type": "integer", "required": false }, { "name": "error_limit", "flag": "error-limit", "type": "integer", "required": false }], "hasComplexInput": false, "help": "Capture a daily dogfood fleet health digest with fleet state, run counts, spend, failed runs, unresolved errors, failed notifications, and next actions." },
51040
- { "id": "agent.get_run", "namespace": "agent", "action": "get_run", "title": "Get agent run diagnostics", "description": "Return one seat run's diagnostic record: run status, transcript reference, token/cost usage, outcome, and linked product-visible run errors.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "run_id", "flag": "run-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Read one run's diagnostic record, transcript reference, token/cost usage, outcome, and linked product-visible errors." },
51214
+ { "id": "agent.get_run", "namespace": "agent", "action": "get_run", "title": "Get agent run diagnostics", "description": "Return one seat run's diagnostic record: run status, transcript reference, token/cost usage, outcome, and linked product-visible run errors.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "run_id", "flag": "run-id", "type": "string", "required": true }, { "name": "transcript", "flag": "transcript", "type": "boolean", "required": false }], "hasComplexInput": false, "help": "Read one run's diagnostic record, transcript reference, token/cost usage, outcome, and linked product-visible errors." },
51041
51215
  { "id": "agent.go_live", "namespace": "agent", "action": "go_live", "title": "Go live", "description": "Promote a dry-run agent seat to live after the human approval gate.", "requiredScope": "seat", "confirmation": "human_required", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "charter_version_id", "flag": "charter-version-id", "type": "string", "required": true }], "hasComplexInput": false, "help": "Move an agent live only after dry-run evidence, signed permissions, and a human Steward chain are clear.", "example": { "seat_id": "0190aaaa-aaaa-7aaa-8aaa-aaaaaaaaaaaa", "charter_version_id": "0190cccc-cccc-7ccc-8ccc-cccccccccccc" } },
51042
51216
  { "id": "agent.list_fleet", "namespace": "agent", "action": "list_fleet", "title": "List agent fleet", "description": "Return every agent-occupied seat with lane, live state, last real turn, recent turn counts, top measurable status, open escalations, and 7-day real-run spend.", "requiredScope": "tenant", "confirmation": "none", "exposeOverMcp": true, "fields": [], "hasComplexInput": false, "help": "Read every agent-occupied seat at once: lane, live state, last real turn, 24h/7d turns, measurable status, escalations, and spend." },
51043
51217
  { "id": "agent.list_runs", "namespace": "agent", "action": "list_runs", "title": "List agent runs", "description": "Return a seat's agent run history (status, lane, model, cost, per-run tool-call and guard-denial counts) plus the seat's run/tool-call rollup with held-action count.", "requiredScope": "seat", "confirmation": "none", "exposeOverMcp": true, "fields": [{ "name": "seat_id", "flag": "seat-id", "type": "string", "required": true }, { "name": "limit", "flag": "limit", "type": "integer", "required": false }], "hasComplexInput": false, "help": "Audit a seat's agent run history with per-run tool-call and guard-held counts (the Trust Card)." },