@rosthq/cli 0.7.75 → 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
@@ -42759,9 +42759,150 @@ var recommendationEventInputSchema = external_exports.object({
42759
42759
  occurred_at: external_exports.string().datetime({ offset: true }).optional()
42760
42760
  }).strict();
42761
42761
 
42762
- // ../../packages/protocol/src/reads.ts
42763
- var uuidSchema13 = external_exports.string().uuid();
42762
+ // ../../packages/protocol/src/artifacts.ts
42764
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 });
42765
42906
  var seatTypeSchema = external_exports.enum(["human", "agent", "hybrid"]);
42766
42907
  var seatStatusSchema = external_exports.enum(["draft", "active", "vacant", "decommissioned"]);
42767
42908
  var rollupStateSchema = external_exports.enum(["ok", "risk", "crit", "pending"]);
@@ -42775,13 +42916,13 @@ var credentialStatusSchema = external_exports.enum(["active", "revoked"]);
42775
42916
  var runStatusSchema = external_exports.enum(["running", "succeeded", "failed", "timeout", "cancelled"]);
42776
42917
  var graphGetInputSchema = external_exports.object({}).strict();
42777
42918
  var graphNodeSchema = external_exports.object({
42778
- seat_id: uuidSchema13,
42919
+ seat_id: uuidSchema14,
42779
42920
  name: external_exports.string(),
42780
42921
  seat_type: seatTypeSchema,
42781
42922
  status: seatStatusSchema,
42782
- parent_seat_id: uuidSchema13.nullable(),
42923
+ parent_seat_id: uuidSchema14.nullable(),
42783
42924
  is_root: external_exports.boolean(),
42784
- steward_seat_id: uuidSchema13.nullable(),
42925
+ steward_seat_id: uuidSchema14.nullable(),
42785
42926
  occupant: external_exports.object({
42786
42927
  kind: external_exports.enum(["user", "agent"]),
42787
42928
  label: external_exports.string(),
@@ -42794,11 +42935,11 @@ var graphNodeSchema = external_exports.object({
42794
42935
  is_peer: external_exports.boolean()
42795
42936
  }).strict();
42796
42937
  var graphEdgeSchema = external_exports.object({
42797
- parent_seat_id: uuidSchema13,
42798
- child_seat_id: uuidSchema13
42938
+ parent_seat_id: uuidSchema14,
42939
+ child_seat_id: uuidSchema14
42799
42940
  }).strict();
42800
42941
  var graphGetOutputSchema = external_exports.object({
42801
- root_seat_id: uuidSchema13.nullable(),
42942
+ root_seat_id: uuidSchema14.nullable(),
42802
42943
  nodes: external_exports.array(graphNodeSchema),
42803
42944
  edges: external_exports.array(graphEdgeSchema),
42804
42945
  status_rollups: external_exports.object({
@@ -42810,42 +42951,42 @@ var graphGetOutputSchema = external_exports.object({
42810
42951
  }).strict()
42811
42952
  }).strict();
42812
42953
  var seatGetInputSchema = external_exports.object({
42813
- seat_id: uuidSchema13
42954
+ seat_id: uuidSchema14
42814
42955
  }).strict();
42815
42956
  var seatGetOutputSchema = external_exports.object({
42816
- seat_id: uuidSchema13,
42957
+ seat_id: uuidSchema14,
42817
42958
  name: external_exports.string(),
42818
42959
  seat_type: seatTypeSchema,
42819
42960
  status: seatStatusSchema,
42820
42961
  purpose: external_exports.string().nullable(),
42821
- parent_seat_id: uuidSchema13.nullable(),
42962
+ parent_seat_id: uuidSchema14.nullable(),
42822
42963
  steward_chain: external_exports.array(external_exports.object({
42823
- seat_id: uuidSchema13,
42964
+ seat_id: uuidSchema14,
42824
42965
  name: external_exports.string()
42825
42966
  }).strict()),
42826
42967
  occupancies: external_exports.array(external_exports.object({
42827
- occupancy_id: uuidSchema13,
42968
+ occupancy_id: uuidSchema14,
42828
42969
  occupant_type: external_exports.enum(["user", "agent"]),
42829
42970
  label: external_exports.string(),
42830
- started_at: isoDateTime3,
42831
- ended_at: isoDateTime3.nullable()
42971
+ started_at: isoDateTime4,
42972
+ ended_at: isoDateTime4.nullable()
42832
42973
  }).strict()),
42833
- active_charter_version_id: uuidSchema13.nullable(),
42834
- draft_charter_version_id: uuidSchema13.nullable(),
42974
+ active_charter_version_id: uuidSchema14.nullable(),
42975
+ draft_charter_version_id: uuidSchema14.nullable(),
42835
42976
  agent_status: agentStatusEnum2.nullable(),
42836
42977
  agent_lane: agentLaneSchema2.nullable(),
42837
42978
  mcp_tokens: external_exports.array(external_exports.object({
42838
- token_id: uuidSchema13,
42979
+ token_id: uuidSchema14,
42839
42980
  scope: mcpScopeSchema,
42840
- created_at: isoDateTime3,
42841
- last_seen_at: isoDateTime3.nullable(),
42981
+ created_at: isoDateTime4,
42982
+ last_seen_at: isoDateTime4.nullable(),
42842
42983
  // DER-830: expires_at is NOT NULL; surface days-remaining alongside it.
42843
- expires_at: isoDateTime3,
42984
+ expires_at: isoDateTime4,
42844
42985
  expires_in_days: external_exports.number().int(),
42845
- revoked_at: isoDateTime3.nullable()
42986
+ revoked_at: isoDateTime4.nullable()
42846
42987
  }).strict()),
42847
42988
  credentials: external_exports.array(external_exports.object({
42848
- credential_id: uuidSchema13,
42989
+ credential_id: uuidSchema14,
42849
42990
  provider: external_exports.string(),
42850
42991
  status: credentialStatusSchema
42851
42992
  }).strict()),
@@ -42857,30 +42998,30 @@ var seatGetOutputSchema = external_exports.object({
42857
42998
  }).strict()
42858
42999
  }).strict();
42859
43000
  var charterListInputSchema = external_exports.object({
42860
- seat_id: uuidSchema13.optional(),
43001
+ seat_id: uuidSchema14.optional(),
42861
43002
  status: charterStatusSchema.optional()
42862
43003
  }).strict();
42863
43004
  var charterSummarySchema = external_exports.object({
42864
- charter_version_id: uuidSchema13,
42865
- seat_id: uuidSchema13,
43005
+ charter_version_id: uuidSchema14,
43006
+ seat_id: uuidSchema14,
42866
43007
  version: external_exports.number().int().nonnegative(),
42867
43008
  status: charterStatusSchema,
42868
- created_at: isoDateTime3,
42869
- approved_at: isoDateTime3.nullable()
43009
+ created_at: isoDateTime4,
43010
+ approved_at: isoDateTime4.nullable()
42870
43011
  }).strict();
42871
43012
  var charterListOutputSchema = external_exports.object({
42872
43013
  charters: external_exports.array(charterSummarySchema)
42873
43014
  }).strict();
42874
43015
  var charterGetInputSchema = external_exports.object({
42875
- charter_version_id: uuidSchema13
43016
+ charter_version_id: uuidSchema14
42876
43017
  }).strict();
42877
43018
  var charterGetOutputSchema = external_exports.object({
42878
- charter_version_id: uuidSchema13,
42879
- seat_id: uuidSchema13,
43019
+ charter_version_id: uuidSchema14,
43020
+ seat_id: uuidSchema14,
42880
43021
  version: external_exports.number().int().nonnegative(),
42881
43022
  status: charterStatusSchema,
42882
- created_at: isoDateTime3,
42883
- approved_at: isoDateTime3.nullable(),
43023
+ created_at: isoDateTime4,
43024
+ approved_at: isoDateTime4.nullable(),
42884
43025
  doc: external_exports.unknown(),
42885
43026
  history: external_exports.array(charterSummarySchema),
42886
43027
  dry_run: external_exports.object({
@@ -42890,7 +43031,7 @@ var charterGetOutputSchema = external_exports.object({
42890
43031
  }).strict();
42891
43032
  var compassGetCurrentInputSchema = external_exports.object({}).strict();
42892
43033
  var compassVersionRefSchema = external_exports.object({
42893
- compass_version_id: uuidSchema13,
43034
+ compass_version_id: uuidSchema14,
42894
43035
  version: external_exports.number().int().nonnegative(),
42895
43036
  status: compassStatusSchema,
42896
43037
  doc: external_exports.unknown()
@@ -42901,7 +43042,7 @@ var compassGetCurrentOutputSchema = external_exports.object({
42901
43042
  // Sources expose document id and kind only. The underlying storage_ref can
42902
43043
  // be a local file path, so it is never surfaced (redaction rule).
42903
43044
  sources: external_exports.array(external_exports.object({
42904
- document_id: uuidSchema13,
43045
+ document_id: uuidSchema14,
42905
43046
  kind: external_exports.string()
42906
43047
  }).strict())
42907
43048
  }).strict();
@@ -42916,31 +43057,31 @@ var compassGapSchema = external_exports.object({
42916
43057
  answer: external_exports.string().nullable()
42917
43058
  }).strict();
42918
43059
  var compassListGapsOutputSchema = external_exports.object({
42919
- compass_version_id: uuidSchema13.nullable(),
43060
+ compass_version_id: uuidSchema14.nullable(),
42920
43061
  unanswered: external_exports.array(compassGapSchema),
42921
43062
  answered: external_exports.array(compassGapSchema)
42922
43063
  }).strict();
42923
43064
  var agentStatusInputSchema = external_exports.object({
42924
- seat_id: uuidSchema13
43065
+ seat_id: uuidSchema14
42925
43066
  }).strict();
42926
43067
  var agentStatusOutputSchema = external_exports.object({
42927
- seat_id: uuidSchema13,
43068
+ seat_id: uuidSchema14,
42928
43069
  // DER-786 (C7): `has_agent` is true whenever a setup agent exists for the seat
42929
43070
  // — including a draft setup that has no occupancy yet — so it agrees with
42930
43071
  // agent_setup.get. `lifecycle` is the shared cross-surface term derived from
42931
43072
  // `status` (none | draft_setup | dry_run | live | …).
42932
43073
  has_agent: external_exports.boolean(),
42933
43074
  lifecycle: agentLifecycleSchema,
42934
- agent_id: uuidSchema13.nullable(),
43075
+ agent_id: uuidSchema14.nullable(),
42935
43076
  kind: agentKindSchema2.nullable(),
42936
43077
  display_name: external_exports.string().nullable(),
42937
43078
  lane: agentLaneSchema2.nullable(),
42938
43079
  status: agentStatusEnum2.nullable(),
42939
43080
  schedule_cron: external_exports.string().nullable(),
42940
43081
  live: external_exports.boolean(),
42941
- charter_version_id: uuidSchema13.nullable(),
43082
+ charter_version_id: uuidSchema14.nullable(),
42942
43083
  steward_chain: external_exports.array(external_exports.object({
42943
- seat_id: uuidSchema13,
43084
+ seat_id: uuidSchema14,
42944
43085
  name: external_exports.string()
42945
43086
  }).strict()),
42946
43087
  steward_chain_resolves_to_human: external_exports.boolean(),
@@ -42952,13 +43093,13 @@ var agentStatusOutputSchema = external_exports.object({
42952
43093
  }).strict();
42953
43094
  var agentListFleetInputSchema = external_exports.object({}).strict();
42954
43095
  var fleetOverviewRowSchema = external_exports.object({
42955
- seat_id: uuidSchema13,
43096
+ seat_id: uuidSchema14,
42956
43097
  seat_name: external_exports.string(),
42957
43098
  seat_path: external_exports.string(),
42958
43099
  lane: agentLaneSchema2.nullable(),
42959
43100
  agent_status: external_exports.enum(["draft", "dry_run", "live", "paused", "decommissioned", "vacant"]),
42960
43101
  live: external_exports.boolean(),
42961
- last_turn_at: isoDateTime3.nullable(),
43102
+ last_turn_at: isoDateTime4.nullable(),
42962
43103
  turns_24h: external_exports.number().int().nonnegative(),
42963
43104
  turns_7d: external_exports.number().int().nonnegative(),
42964
43105
  top_measurable_status: external_exports.enum(["on", "off", "pending", "none"]),
@@ -42969,48 +43110,48 @@ var agentListFleetOutputSchema = external_exports.object({
42969
43110
  agents: external_exports.array(fleetOverviewRowSchema)
42970
43111
  }).strict();
42971
43112
  var runErrorLogSchema = external_exports.object({
42972
- error_log_id: uuidSchema13,
43113
+ error_log_id: uuidSchema14,
42973
43114
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]),
42974
43115
  severity: external_exports.enum(["warning", "error", "critical"]),
42975
43116
  code: external_exports.string().nullable(),
42976
43117
  message: external_exports.string(),
42977
- created_at: isoDateTime3,
42978
- resolved_at: isoDateTime3.nullable()
43118
+ created_at: isoDateTime4,
43119
+ resolved_at: isoDateTime4.nullable()
42979
43120
  }).strict();
42980
43121
  var agentFleetDigestInputSchema = external_exports.object({
42981
43122
  window_hours: external_exports.number().int().min(1).max(168).default(24),
42982
43123
  error_limit: external_exports.number().int().min(1).max(100).default(50)
42983
43124
  }).strict();
42984
43125
  var fleetDigestRunSchema = external_exports.object({
42985
- run_id: uuidSchema13,
42986
- seat_id: uuidSchema13,
42987
- agent_id: uuidSchema13,
43126
+ run_id: uuidSchema14,
43127
+ seat_id: uuidSchema14,
43128
+ agent_id: uuidSchema14,
42988
43129
  status: runStatusSchema,
42989
43130
  lane: agentLaneSchema2,
42990
43131
  model: external_exports.string(),
42991
- started_at: isoDateTime3,
42992
- finished_at: isoDateTime3.nullable(),
43132
+ started_at: isoDateTime4,
43133
+ finished_at: isoDateTime4.nullable(),
42993
43134
  cost_usd: external_exports.string(),
42994
43135
  error_logs: external_exports.array(runErrorLogSchema)
42995
43136
  }).strict();
42996
43137
  var fleetDigestErrorSchema = runErrorLogSchema.extend({
42997
- seat_id: uuidSchema13.nullable(),
42998
- agent_id: uuidSchema13.nullable(),
42999
- run_id: uuidSchema13.nullable(),
43138
+ seat_id: uuidSchema14.nullable(),
43139
+ agent_id: uuidSchema14.nullable(),
43140
+ run_id: uuidSchema14.nullable(),
43000
43141
  disposition: external_exports.enum(["active", "acknowledged", "resolved", "superseded"])
43001
43142
  }).strict();
43002
43143
  var fleetDigestNotificationErrorSchema = external_exports.object({
43003
- notification_id: uuidSchema13,
43144
+ notification_id: uuidSchema14,
43004
43145
  kind: external_exports.string(),
43005
43146
  channel: external_exports.string(),
43006
43147
  status: external_exports.string(),
43007
43148
  provider: external_exports.string(),
43008
43149
  error_message: external_exports.string().nullable(),
43009
- error_log_id: uuidSchema13.nullable(),
43150
+ error_log_id: uuidSchema14.nullable(),
43010
43151
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).nullable(),
43011
- seat_id: uuidSchema13.nullable(),
43012
- run_id: uuidSchema13.nullable(),
43013
- created_at: isoDateTime3
43152
+ seat_id: uuidSchema14.nullable(),
43153
+ run_id: uuidSchema14.nullable(),
43154
+ created_at: isoDateTime4
43014
43155
  }).strict();
43015
43156
  var fleetDigestAgentSchema = fleetOverviewRowSchema.extend({
43016
43157
  failed_runs_24h: external_exports.number().int().nonnegative(),
@@ -43029,7 +43170,7 @@ var fleetDigestAgentSchema = fleetOverviewRowSchema.extend({
43029
43170
  suggested_next_action: external_exports.string()
43030
43171
  }).strict();
43031
43172
  var agentFleetDigestOutputSchema = external_exports.object({
43032
- generated_at: isoDateTime3,
43173
+ generated_at: isoDateTime4,
43033
43174
  window_hours: external_exports.number().int().min(1).max(168),
43034
43175
  summary: external_exports.object({
43035
43176
  fleet_count: external_exports.number().int().nonnegative(),
@@ -43055,26 +43196,30 @@ var seatTrustSummarySchema = external_exports.object({
43055
43196
  tool_call_count: external_exports.number().int().nonnegative(),
43056
43197
  // The hero metric: actions held this period because they exceeded the charter.
43057
43198
  denied_tool_call_count: external_exports.number().int().nonnegative(),
43058
- last_activity_at: isoDateTime3.nullable()
43199
+ last_activity_at: isoDateTime4.nullable()
43059
43200
  }).strict();
43060
43201
  var agentListRunsInputSchema = external_exports.object({
43061
- seat_id: uuidSchema13,
43202
+ seat_id: uuidSchema14,
43062
43203
  // Conservative, bounded page size; the timeline is a recent-history view.
43063
43204
  limit: external_exports.number().int().min(1).max(200).default(50)
43064
43205
  }).strict();
43065
43206
  var agentGetRunInputSchema = external_exports.object({
43066
- seat_id: uuidSchema13,
43067
- 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)
43068
43213
  }).strict();
43069
43214
  var seatRunSchema = external_exports.object({
43070
- run_id: uuidSchema13,
43071
- agent_id: uuidSchema13,
43215
+ run_id: uuidSchema14,
43216
+ agent_id: uuidSchema14,
43072
43217
  agent_display_name: external_exports.string().nullable(),
43073
43218
  status: runStatusSchema,
43074
43219
  lane: agentLaneSchema2,
43075
43220
  model: external_exports.string(),
43076
- started_at: isoDateTime3,
43077
- finished_at: isoDateTime3.nullable(),
43221
+ started_at: isoDateTime4,
43222
+ finished_at: isoDateTime4.nullable(),
43078
43223
  cost_usd: external_exports.string(),
43079
43224
  tool_call_count: external_exports.number().int().nonnegative(),
43080
43225
  denied_tool_call_count: external_exports.number().int().nonnegative(),
@@ -43084,16 +43229,16 @@ var seatRunErrorLogSchema = runErrorLogSchema.extend({
43084
43229
  error_class: external_exports.string().nullable()
43085
43230
  }).strict();
43086
43231
  var seatRunDetailSchema = seatRunSchema.extend({
43087
- task_id: uuidSchema13.nullable(),
43088
- work_order_id: uuidSchema13.nullable(),
43232
+ task_id: uuidSchema14.nullable(),
43233
+ work_order_id: uuidSchema14.nullable(),
43089
43234
  transcript_ref: external_exports.string(),
43090
43235
  input_tokens: external_exports.number().int().nonnegative(),
43091
43236
  output_tokens: external_exports.number().int().nonnegative(),
43092
43237
  outcome: external_exports.record(external_exports.string(), external_exports.unknown()),
43093
43238
  error_logs: external_exports.array(seatRunErrorLogSchema),
43094
43239
  skill_activations: external_exports.array(external_exports.object({
43095
- skill_activation_id: uuidSchema13,
43096
- skill_version_id: uuidSchema13,
43240
+ skill_activation_id: uuidSchema14,
43241
+ skill_version_id: uuidSchema14,
43097
43242
  slug: external_exports.string().min(1),
43098
43243
  name: external_exports.string().min(1),
43099
43244
  version: external_exports.number().int().positive(),
@@ -43103,36 +43248,39 @@ var seatRunDetailSchema = seatRunSchema.extend({
43103
43248
  content_sha256: external_exports.string().regex(/^[a-f0-9]{64}$/),
43104
43249
  size_bytes: external_exports.number().int().nonnegative()
43105
43250
  }).strict()),
43106
- created_at: isoDateTime3
43107
- }).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()
43108
43256
  }).strict();
43109
43257
  var agentListRunsOutputSchema = external_exports.object({
43110
- seat_id: uuidSchema13,
43258
+ seat_id: uuidSchema14,
43111
43259
  summary: seatTrustSummarySchema,
43112
43260
  runs: external_exports.array(seatRunSchema)
43113
43261
  }).strict();
43114
43262
  var agentGetRunOutputSchema = external_exports.object({
43115
- seat_id: uuidSchema13,
43263
+ seat_id: uuidSchema14,
43116
43264
  run: seatRunDetailSchema
43117
43265
  }).strict();
43118
43266
  var agentListToolCallsInputSchema = external_exports.object({
43119
- seat_id: uuidSchema13,
43267
+ seat_id: uuidSchema14,
43120
43268
  limit: external_exports.number().int().min(1).max(200).default(50),
43121
43269
  // When true, return only HELD (non-allowed) tool calls — the governance view.
43122
43270
  held_only: external_exports.boolean().default(false)
43123
43271
  }).strict();
43124
43272
  var seatToolCallSchema = external_exports.object({
43125
- tool_call_id: uuidSchema13,
43126
- run_id: uuidSchema13.nullable(),
43273
+ tool_call_id: uuidSchema14,
43274
+ run_id: uuidSchema14.nullable(),
43127
43275
  tool_name: external_exports.string(),
43128
43276
  guard_result: guardResultSchema,
43129
43277
  manifest_clause: external_exports.string().nullable(),
43130
43278
  outcome: external_exports.string(),
43131
- started_at: isoDateTime3,
43132
- finished_at: isoDateTime3.nullable()
43279
+ started_at: isoDateTime4,
43280
+ finished_at: isoDateTime4.nullable()
43133
43281
  }).strict();
43134
43282
  var agentListToolCallsOutputSchema = external_exports.object({
43135
- seat_id: uuidSchema13,
43283
+ seat_id: uuidSchema14,
43136
43284
  summary: seatTrustSummarySchema,
43137
43285
  tool_calls: external_exports.array(seatToolCallSchema)
43138
43286
  }).strict();
@@ -43143,21 +43291,21 @@ var deliverableLinkSchema = external_exports.object({
43143
43291
  kind: external_exports.enum(["internal", "linear", "github", "external"])
43144
43292
  }).strict();
43145
43293
  var deliverableIdSchema = external_exports.union([
43146
- uuidSchema13,
43294
+ uuidSchema14,
43147
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)
43148
43296
  ]);
43149
43297
  var deliverableRowSchema = external_exports.object({
43150
43298
  id: deliverableIdSchema,
43151
- seat_id: uuidSchema13,
43152
- agent_id: uuidSchema13.nullable(),
43153
- run_id: uuidSchema13.nullable(),
43154
- task_id: uuidSchema13.nullable(),
43155
- 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(),
43156
43304
  kind: deliverableKindSchema,
43157
43305
  title: external_exports.string(),
43158
43306
  summary: external_exports.string().nullable(),
43159
43307
  content: external_exports.string().nullable(),
43160
- delivered_at: isoDateTime3,
43308
+ delivered_at: isoDateTime4,
43161
43309
  source_run_status: external_exports.string().nullable(),
43162
43310
  source_run_model: external_exports.string().nullable(),
43163
43311
  source_run_log_ref: external_exports.string().nullable(),
@@ -43165,13 +43313,13 @@ var deliverableRowSchema = external_exports.object({
43165
43313
  links: external_exports.array(deliverableLinkSchema)
43166
43314
  }).strict();
43167
43315
  var deliverableListInputSchema = external_exports.object({
43168
- seat_id: uuidSchema13
43316
+ seat_id: uuidSchema14
43169
43317
  }).strict();
43170
43318
  var deliverableListOutputSchema = external_exports.object({
43171
43319
  deliverables: external_exports.array(deliverableRowSchema)
43172
43320
  }).strict();
43173
43321
  var deliverableGetInputSchema = external_exports.object({
43174
- seat_id: uuidSchema13,
43322
+ seat_id: uuidSchema14,
43175
43323
  deliverable_id: deliverableIdSchema
43176
43324
  }).strict();
43177
43325
  var deliverableGetOutputSchema = external_exports.object({
@@ -43179,86 +43327,86 @@ var deliverableGetOutputSchema = external_exports.object({
43179
43327
  }).strict();
43180
43328
  var mcpTokenListInputSchema = external_exports.object({
43181
43329
  include_revoked: external_exports.boolean().default(false),
43182
- seat_id: uuidSchema13.optional()
43330
+ seat_id: uuidSchema14.optional()
43183
43331
  }).strict();
43184
43332
  var mcpTokenMetadataSchema = external_exports.object({
43185
- token_id: uuidSchema13,
43333
+ token_id: uuidSchema14,
43186
43334
  scope: mcpScopeSchema,
43187
- seat_id: uuidSchema13.nullable(),
43188
- created_at: isoDateTime3,
43189
- last_seen_at: isoDateTime3.nullable(),
43335
+ seat_id: uuidSchema14.nullable(),
43336
+ created_at: isoDateTime4,
43337
+ last_seen_at: isoDateTime4.nullable(),
43190
43338
  // DER-830: expires_at is now always present (the column is NOT NULL).
43191
- expires_at: isoDateTime3,
43339
+ expires_at: isoDateTime4,
43192
43340
  // DER-830: whole days remaining until expiry, computed server-side. Negative
43193
43341
  // when the token is already expired (so the CLI can render "expired").
43194
43342
  expires_in_days: external_exports.number().int(),
43195
- revoked_at: isoDateTime3.nullable()
43343
+ revoked_at: isoDateTime4.nullable()
43196
43344
  }).strict();
43197
43345
  var mcpTokenListOutputSchema = external_exports.object({
43198
43346
  tokens: external_exports.array(mcpTokenMetadataSchema)
43199
43347
  }).strict();
43200
43348
  var errorLogListInputSchema = external_exports.object({
43201
- seat_id: uuidSchema13.optional(),
43349
+ seat_id: uuidSchema14.optional(),
43202
43350
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).optional(),
43203
43351
  severity: external_exports.enum(["warning", "error", "critical"]).optional(),
43204
43352
  resolved: external_exports.enum(["active", "acknowledged", "resolved", "all"]).default("active"),
43205
43353
  limit: external_exports.number().int().min(1).max(200).default(50)
43206
43354
  }).strict();
43207
43355
  var errorLogListItemSchema = external_exports.object({
43208
- error_log_id: uuidSchema13,
43356
+ error_log_id: uuidSchema14,
43209
43357
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]),
43210
43358
  severity: external_exports.enum(["warning", "error", "critical"]),
43211
43359
  code: external_exports.string().nullable(),
43212
43360
  message: external_exports.string(),
43213
- seat_id: uuidSchema13.nullable(),
43214
- agent_id: uuidSchema13.nullable(),
43215
- run_id: uuidSchema13.nullable(),
43361
+ seat_id: uuidSchema14.nullable(),
43362
+ agent_id: uuidSchema14.nullable(),
43363
+ run_id: uuidSchema14.nullable(),
43216
43364
  disposition: external_exports.enum(["active", "acknowledged", "resolved", "superseded"]),
43217
- resolved_at: isoDateTime3.nullable(),
43218
- resolved_by: uuidSchema13.nullable(),
43365
+ resolved_at: isoDateTime4.nullable(),
43366
+ resolved_by: uuidSchema14.nullable(),
43219
43367
  resolution_reason: external_exports.string().nullable(),
43220
- linked_task_id: uuidSchema13.nullable(),
43221
- linked_issue_id: uuidSchema13.nullable(),
43368
+ linked_task_id: uuidSchema14.nullable(),
43369
+ linked_issue_id: uuidSchema14.nullable(),
43222
43370
  linked_pr_ref: external_exports.string().nullable(),
43223
- superseded_by_id: uuidSchema13.nullable(),
43224
- created_at: isoDateTime3
43371
+ superseded_by_id: uuidSchema14.nullable(),
43372
+ created_at: isoDateTime4
43225
43373
  }).strict();
43226
43374
  var errorLogListOutputSchema = external_exports.object({
43227
43375
  errors: external_exports.array(errorLogListItemSchema),
43228
43376
  total: external_exports.number().int().nonnegative()
43229
43377
  }).strict();
43230
43378
  var errorLogResolveInputSchema = external_exports.object({
43231
- error_log_id: uuidSchema13,
43379
+ error_log_id: uuidSchema14,
43232
43380
  reason: external_exports.string().trim().min(1),
43233
43381
  disposition: external_exports.enum(["acknowledged", "resolved"]).default("acknowledged"),
43234
- linked_task_id: uuidSchema13.optional(),
43235
- linked_issue_id: uuidSchema13.optional(),
43382
+ linked_task_id: uuidSchema14.optional(),
43383
+ linked_issue_id: uuidSchema14.optional(),
43236
43384
  linked_pr_ref: external_exports.string().trim().min(1).optional()
43237
43385
  }).strict();
43238
43386
  var errorLogResolveOutputSchema = external_exports.object({
43239
- error_log_id: uuidSchema13,
43387
+ error_log_id: uuidSchema14,
43240
43388
  disposition: external_exports.enum(["acknowledged", "resolved"]),
43241
- resolved_at: isoDateTime3
43389
+ resolved_at: isoDateTime4
43242
43390
  }).strict();
43243
43391
  var errorLogSupersedeInputSchema = external_exports.object({
43244
- error_log_id: uuidSchema13,
43245
- new_error_log_id: uuidSchema13,
43392
+ error_log_id: uuidSchema14,
43393
+ new_error_log_id: uuidSchema14,
43246
43394
  reason: external_exports.string().trim().min(1),
43247
- linked_task_id: uuidSchema13.optional(),
43248
- linked_issue_id: uuidSchema13.optional(),
43395
+ linked_task_id: uuidSchema14.optional(),
43396
+ linked_issue_id: uuidSchema14.optional(),
43249
43397
  linked_pr_ref: external_exports.string().trim().min(1).optional()
43250
43398
  }).strict();
43251
43399
  var errorLogSupersedeOutputSchema = external_exports.object({
43252
- error_log_id: uuidSchema13,
43253
- superseded_by_id: uuidSchema13,
43400
+ error_log_id: uuidSchema14,
43401
+ superseded_by_id: uuidSchema14,
43254
43402
  disposition: external_exports.literal("superseded"),
43255
- resolved_at: isoDateTime3
43403
+ resolved_at: isoDateTime4
43256
43404
  }).strict();
43257
43405
 
43258
43406
  // ../../packages/protocol/src/working-files.ts
43259
43407
  var WORKING_FILE_MAX_PATH_CHARS = 512;
43260
43408
  var WORKING_FILE_MAX_CONTENT_CHARS = 16384;
43261
- var isoDateTime4 = external_exports.string().datetime({ offset: true });
43409
+ var isoDateTime5 = external_exports.string().datetime({ offset: true });
43262
43410
  var workingFileContentTypeSchema = external_exports.enum([
43263
43411
  "text/plain",
43264
43412
  "text/markdown",
@@ -43337,10 +43485,10 @@ var workingFileSummarySchema = external_exports.object({
43337
43485
  content_type: workingFileContentTypeSchema,
43338
43486
  content_chars: external_exports.number().int().nonnegative(),
43339
43487
  published_ref: external_exports.string().min(1).nullable(),
43340
- published_at: isoDateTime4.nullable(),
43341
- expires_at: isoDateTime4,
43342
- created_at: isoDateTime4,
43343
- updated_at: isoDateTime4
43488
+ published_at: isoDateTime5.nullable(),
43489
+ expires_at: isoDateTime5,
43490
+ created_at: isoDateTime5,
43491
+ updated_at: isoDateTime5
43344
43492
  }).strict();
43345
43493
  var workingFileReadResultSchema = workingFileSummarySchema.extend({
43346
43494
  content: external_exports.string(),
@@ -43357,7 +43505,7 @@ var runSummaryOutputSchema = external_exports.object({
43357
43505
 
43358
43506
  // ../../packages/protocol/src/runner-settings.ts
43359
43507
  var uuid8 = external_exports.string().uuid();
43360
- var isoDateTime5 = external_exports.string().datetime({ offset: true });
43508
+ var isoDateTime6 = external_exports.string().datetime({ offset: true });
43361
43509
  var runnerHealthSchema = external_exports.enum(["online", "stale", "offline", "revoked", "unpaired"]);
43362
43510
  var runnerExecutionStateSchema = external_exports.enum([
43363
43511
  "ready",
@@ -43377,8 +43525,8 @@ var runnerExecutionReadinessSchema = external_exports.object({
43377
43525
  due_queued_work_orders: external_exports.number().int().nonnegative(),
43378
43526
  claimed_work_orders: external_exports.number().int().nonnegative(),
43379
43527
  running_work_orders: external_exports.number().int().nonnegative(),
43380
- recent_completed_at: isoDateTime5.nullable(),
43381
- recent_failed_at: isoDateTime5.nullable()
43528
+ recent_completed_at: isoDateTime6.nullable(),
43529
+ recent_failed_at: isoDateTime6.nullable()
43382
43530
  }).strict();
43383
43531
  var runnerSandboxPostureSchema = external_exports.enum(["guard", "strict", "off", "none", "unknown"]);
43384
43532
  var runnerPostureSchema = external_exports.object({
@@ -43395,10 +43543,10 @@ var runnerSummarySchema = external_exports.object({
43395
43543
  cli_version: external_exports.string().nullable(),
43396
43544
  posture: runnerPostureSchema,
43397
43545
  execution: runnerExecutionReadinessSchema,
43398
- paired_at: isoDateTime5.nullable(),
43399
- last_heartbeat_at: isoDateTime5.nullable(),
43400
- revoked_at: isoDateTime5.nullable(),
43401
- created_at: isoDateTime5
43546
+ paired_at: isoDateTime6.nullable(),
43547
+ last_heartbeat_at: isoDateTime6.nullable(),
43548
+ revoked_at: isoDateTime6.nullable(),
43549
+ created_at: isoDateTime6
43402
43550
  }).strict();
43403
43551
  var runnerListInputSchema = external_exports.object({
43404
43552
  include_revoked: external_exports.boolean().optional()
@@ -43417,7 +43565,7 @@ var runnerPairingStartOutputSchema = external_exports.object({
43417
43565
  pairing_session_id: uuid8,
43418
43566
  user_code: external_exports.string(),
43419
43567
  verification_uri: external_exports.string(),
43420
- expires_at: isoDateTime5,
43568
+ expires_at: isoDateTime6,
43421
43569
  expires_in: external_exports.number().int().nonnegative()
43422
43570
  }).strict();
43423
43571
  var runnerRevokeInputSchema = external_exports.object({
@@ -43435,9 +43583,9 @@ var workOrderSummarySchema = external_exports.object({
43435
43583
  lane: external_exports.enum(["cloud", "runner"]),
43436
43584
  status: workOrderStatusSchema,
43437
43585
  claimed_by_runner_id: uuid8.nullable(),
43438
- scheduled_for: isoDateTime5,
43439
- grace_deadline: isoDateTime5,
43440
- created_at: isoDateTime5
43586
+ scheduled_for: isoDateTime6,
43587
+ grace_deadline: isoDateTime6,
43588
+ created_at: isoDateTime6
43441
43589
  }).strict();
43442
43590
  var workOrderListInputSchema = external_exports.object({
43443
43591
  status: workOrderStatusSchema.optional(),
@@ -43450,7 +43598,7 @@ var workOrderListOutputSchema = external_exports.object({
43450
43598
  }).strict();
43451
43599
  var workOrderEnqueueInputSchema = external_exports.object({
43452
43600
  agent_id: uuid8,
43453
- scheduled_for: isoDateTime5.optional(),
43601
+ scheduled_for: isoDateTime6.optional(),
43454
43602
  task_id: uuid8.optional()
43455
43603
  }).strict();
43456
43604
  var agentRunNowInputSchema = external_exports.object({
@@ -43477,8 +43625,8 @@ var runnerDiagnoseOutputSchema = external_exports.object({
43477
43625
  platform: external_exports.string(),
43478
43626
  health: runnerHealthSchema,
43479
43627
  capabilities: runnerCapabilityDetailSchema,
43480
- last_heartbeat_at: isoDateTime5.nullable(),
43481
- paired_at: isoDateTime5.nullable(),
43628
+ last_heartbeat_at: isoDateTime6.nullable(),
43629
+ paired_at: isoDateTime6.nullable(),
43482
43630
  revocation_state: external_exports.enum(["active", "revoked", "unpaired"]),
43483
43631
  repair_guidance: external_exports.array(external_exports.object({
43484
43632
  action: external_exports.string(),
@@ -43539,7 +43687,7 @@ var notificationErrorSummarySchema = external_exports.object({
43539
43687
  source: external_exports.enum(["run", "llm", "tool", "mcp", "runner", "integration", "job", "web"]).nullable(),
43540
43688
  seat_id: uuid8.nullable(),
43541
43689
  run_id: uuid8.nullable(),
43542
- created_at: isoDateTime5
43690
+ created_at: isoDateTime6
43543
43691
  }).strict();
43544
43692
  var notificationListErrorsOutputSchema = external_exports.object({
43545
43693
  errors: external_exports.array(notificationErrorSummarySchema)
@@ -43656,7 +43804,7 @@ var integrationSummarySchema = external_exports.object({
43656
43804
  id: uuid8,
43657
43805
  provider: external_exports.string(),
43658
43806
  status: external_exports.enum(["connected", "error", "disconnected"]),
43659
- last_synced_at: isoDateTime5.nullable()
43807
+ last_synced_at: isoDateTime6.nullable()
43660
43808
  }).strict();
43661
43809
  var settingsGetInputSchema = external_exports.object({}).strict();
43662
43810
  var settingsGetOutputSchema = external_exports.object({
@@ -43691,13 +43839,13 @@ var tenantRenameOutputSchema = external_exports.object({
43691
43839
  }).strict();
43692
43840
 
43693
43841
  // ../../packages/protocol/src/system-health.ts
43694
- var uuidSchema14 = external_exports.string().uuid();
43695
- var isoDateTime6 = external_exports.string().datetime({ offset: true });
43842
+ var uuidSchema15 = external_exports.string().uuid();
43843
+ var isoDateTime7 = external_exports.string().datetime({ offset: true });
43696
43844
  var systemHealthCallerKindSchema = external_exports.enum(["tenant_admin", "member", "seat_token"]);
43697
43845
  var systemHealthCallerSchema = external_exports.object({
43698
43846
  kind: systemHealthCallerKindSchema,
43699
- seat_id: uuidSchema14.optional(),
43700
- seat_ids: external_exports.array(uuidSchema14).min(1).optional()
43847
+ seat_id: uuidSchema15.optional(),
43848
+ seat_ids: external_exports.array(uuidSchema15).min(1).optional()
43701
43849
  }).strict();
43702
43850
  var systemHealthVerdictSchema = external_exports.enum(["healthy", "degraded", "blocked"]);
43703
43851
  var systemHealthSeveritySchema = external_exports.enum(["info", "warning", "critical"]);
@@ -43735,18 +43883,18 @@ var systemHealthFindingSchema = external_exports.object({
43735
43883
  summary: external_exports.string().min(1),
43736
43884
  detail: external_exports.string().min(1),
43737
43885
  remediation: systemHealthActionSchema,
43738
- seat_id: uuidSchema14.nullable(),
43739
- goal_id: uuidSchema14.nullable(),
43740
- run_id: uuidSchema14.nullable(),
43741
- issue_id: uuidSchema14.nullable(),
43742
- task_id: uuidSchema14.nullable(),
43743
- 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()
43744
43892
  }).strict();
43745
43893
  var systemHealthScopeSchema = external_exports.object({
43746
43894
  mode: systemHealthScopeModeSchema,
43747
- root_seat_ids: external_exports.array(uuidSchema14),
43748
- included_seat_ids: external_exports.array(uuidSchema14),
43749
- 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(),
43750
43898
  total_seat_count: external_exports.number().int().nonnegative()
43751
43899
  }).strict();
43752
43900
  var systemHealthFleetSectionSchema = external_exports.object({
@@ -43782,7 +43930,7 @@ var systemHealthConnectivitySectionSchema = external_exports.object({
43782
43930
  failed_notification_count: external_exports.number().int().nonnegative()
43783
43931
  }).strict();
43784
43932
  var systemHealthSyncSectionSchema = external_exports.object({
43785
- latest_brief_at: isoDateTime6.nullable(),
43933
+ latest_brief_at: isoDateTime7.nullable(),
43786
43934
  missing_latest_brief: external_exports.boolean(),
43787
43935
  flagged_gap_count: external_exports.number().int().nonnegative()
43788
43936
  }).strict();
@@ -43796,13 +43944,13 @@ var systemHealthSectionsSchema = external_exports.object({
43796
43944
  sync: systemHealthSyncSectionSchema
43797
43945
  }).strict();
43798
43946
  var systemHealthInputSchema = external_exports.object({
43799
- seat_id: uuidSchema14.optional()
43947
+ seat_id: uuidSchema15.optional()
43800
43948
  }).strict();
43801
43949
  var systemHealthCheckInputSchema = systemHealthInputSchema.extend({
43802
43950
  caller: systemHealthCallerSchema
43803
43951
  }).strict();
43804
43952
  var systemHealthOutputSchema = external_exports.object({
43805
- generated_at: isoDateTime6,
43953
+ generated_at: isoDateTime7,
43806
43954
  scope: systemHealthScopeSchema,
43807
43955
  verdict: systemHealthVerdictSchema,
43808
43956
  top_actions: external_exports.array(systemHealthActionSchema),
@@ -43984,10 +44132,10 @@ var baserowFilteredCountInputSchema = external_exports.object({
43984
44132
  }).strict();
43985
44133
 
43986
44134
  // ../../packages/protocol/src/signal-report.ts
43987
- var uuidSchema15 = external_exports.string().uuid();
44135
+ var uuidSchema16 = external_exports.string().uuid();
43988
44136
  var dateOnlySchema2 = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/, "expected YYYY-MM-DD");
43989
44137
  var signalReportInputSchema = external_exports.object({
43990
- measurable_id: uuidSchema15,
44138
+ measurable_id: uuidSchema16,
43991
44139
  value: external_exports.number().finite(),
43992
44140
  // Optional; defaults to the measurable's current period (resolved in the
43993
44141
  // command against the measurable's own cadence via the canonical bounds).
@@ -43998,8 +44146,8 @@ var signalReportInputSchema = external_exports.object({
43998
44146
  confidence: external_exports.enum(["low", "medium", "high"]).optional()
43999
44147
  }).strict();
44000
44148
  var signalReportOutputSchema = external_exports.object({
44001
- reading_id: uuidSchema15,
44002
- measurable_id: uuidSchema15,
44149
+ reading_id: uuidSchema16,
44150
+ measurable_id: uuidSchema16,
44003
44151
  // Always false: an agent-sourced reading is a draft until a human confirms it.
44004
44152
  confirmed: external_exports.literal(false)
44005
44153
  }).strict();
@@ -45270,7 +45418,7 @@ var softwareFactoryBudgetExhaustedEventSchema = external_exports.object({
45270
45418
  }).strict();
45271
45419
 
45272
45420
  // ../../packages/protocol/src/sync-brief.ts
45273
- var uuidSchema16 = external_exports.string().uuid();
45421
+ var uuidSchema17 = external_exports.string().uuid();
45274
45422
  var dateSchema = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/);
45275
45423
  var syncBriefGapSchema = external_exports.object({
45276
45424
  section: external_exports.enum(["exceptions", "goal_deltas", "task_review", "friction", "agent_activity"]),
@@ -45283,8 +45431,8 @@ var sectionSchema = (itemSchema) => external_exports.object({
45283
45431
  flagged_gaps: external_exports.array(syncBriefGapSchema)
45284
45432
  }).strict();
45285
45433
  var syncBriefExceptionSchema = external_exports.object({
45286
- measurable_id: uuidSchema16,
45287
- seat_id: uuidSchema16,
45434
+ measurable_id: uuidSchema17,
45435
+ seat_id: uuidSchema17,
45288
45436
  seat_name: external_exports.string().min(1),
45289
45437
  name: external_exports.string().min(1),
45290
45438
  state: external_exports.enum(["risk", "crit", "pending"]),
@@ -45295,8 +45443,8 @@ var syncBriefExceptionSchema = external_exports.object({
45295
45443
  freshness: external_exports.enum(["fresh", "due", "stale", "awaiting_first_reading", "not_expected"]).optional()
45296
45444
  }).strict();
45297
45445
  var syncBriefGoalDeltaSchema = external_exports.object({
45298
- goal_id: uuidSchema16,
45299
- seat_id: uuidSchema16.nullable(),
45446
+ goal_id: uuidSchema17,
45447
+ seat_id: uuidSchema17.nullable(),
45300
45448
  seat_name: external_exports.string().nullable(),
45301
45449
  title: external_exports.string().min(1),
45302
45450
  status: external_exports.enum(["on", "off", "done", "dropped"]),
@@ -45310,22 +45458,22 @@ var syncBriefTaskReviewSchema = external_exports.object({
45310
45458
  previous_done_rate: external_exports.number().min(0).max(1),
45311
45459
  delta: external_exports.number().min(-1).max(1),
45312
45460
  stalled: external_exports.array(external_exports.object({
45313
- task_id: uuidSchema16,
45314
- owner_seat_id: uuidSchema16,
45461
+ task_id: uuidSchema17,
45462
+ owner_seat_id: uuidSchema17,
45315
45463
  owner_seat_name: external_exports.string().min(1),
45316
45464
  title: external_exports.string().min(1),
45317
45465
  due_on: dateSchema,
45318
45466
  stalled_at: external_exports.string().nullable()
45319
45467
  }).strict()),
45320
45468
  overdue_by_owner: external_exports.array(external_exports.object({
45321
- owner_seat_id: uuidSchema16,
45469
+ owner_seat_id: uuidSchema17,
45322
45470
  owner_seat_name: external_exports.string().min(1),
45323
45471
  overdue_count: external_exports.number().int().nonnegative()
45324
45472
  }).strict())
45325
45473
  }).strict();
45326
45474
  var syncBriefIssueSchema = external_exports.object({
45327
- issue_id: uuidSchema16,
45328
- raised_by_seat_id: uuidSchema16,
45475
+ issue_id: uuidSchema17,
45476
+ raised_by_seat_id: uuidSchema17,
45329
45477
  raised_by_seat_name: external_exports.string().min(1),
45330
45478
  summary: external_exports.string().min(1),
45331
45479
  severity: external_exports.enum(["low", "med", "high", "critical"]),
@@ -45342,16 +45490,16 @@ var syncBriefActionItemTrendSchema = external_exports.object({
45342
45490
  has_prior: external_exports.boolean()
45343
45491
  }).strict();
45344
45492
  var syncBriefCascadeAtRiskSchema = external_exports.object({
45345
- goal_id: uuidSchema16,
45493
+ goal_id: uuidSchema17,
45346
45494
  title: external_exports.string().min(1),
45347
- seat_id: uuidSchema16.nullable(),
45495
+ seat_id: uuidSchema17.nullable(),
45348
45496
  progress_pct: external_exports.number().int().min(0).max(100),
45349
45497
  classification: external_exports.enum(["at_risk", "projected_miss"]),
45350
45498
  behind_days: external_exports.number().nullable()
45351
45499
  }).strict();
45352
45500
  var syncBriefAgentActivitySchema = external_exports.object({
45353
- agent_id: uuidSchema16,
45354
- seat_id: uuidSchema16,
45501
+ agent_id: uuidSchema17,
45502
+ seat_id: uuidSchema17,
45355
45503
  seat_name: external_exports.string().min(1),
45356
45504
  run_count: external_exports.number().int().nonnegative(),
45357
45505
  failed_run_count: external_exports.number().int().nonnegative(),
@@ -45363,11 +45511,11 @@ var syncBriefAgentActivitySchema = external_exports.object({
45363
45511
  var syncBriefSchema = external_exports.object({
45364
45512
  schema_version: external_exports.literal(1),
45365
45513
  tenant: external_exports.object({
45366
- id: uuidSchema16,
45514
+ id: uuidSchema17,
45367
45515
  name: external_exports.string().min(1)
45368
45516
  }).strict(),
45369
45517
  cluster: external_exports.object({
45370
- id: uuidSchema16,
45518
+ id: uuidSchema17,
45371
45519
  name: external_exports.string().min(1)
45372
45520
  }).strict().nullable(),
45373
45521
  period: external_exports.object({
@@ -45405,16 +45553,16 @@ var syncBriefSchema = external_exports.object({
45405
45553
  }).strict();
45406
45554
 
45407
45555
  // ../../packages/protocol/src/usage.ts
45408
- var isoDateTime7 = external_exports.string().datetime({ offset: true });
45556
+ var isoDateTime8 = external_exports.string().datetime({ offset: true });
45409
45557
  var periodKeySchema = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/);
45410
45558
  var countSchema = external_exports.number().int().nonnegative();
45411
45559
  var usdSchema = external_exports.string();
45412
45560
  var bigCountSchema = external_exports.string();
45413
45561
  var usagePeriodSchema = external_exports.object({
45414
45562
  period: periodKeySchema,
45415
- period_start: isoDateTime7,
45416
- period_end: isoDateTime7,
45417
- captured_at: isoDateTime7,
45563
+ period_start: isoDateTime8,
45564
+ period_end: isoDateTime8,
45565
+ captured_at: isoDateTime8,
45418
45566
  run_count: countSchema,
45419
45567
  agent_count: countSchema,
45420
45568
  succeeded_run_count: countSchema,
@@ -45466,7 +45614,7 @@ var usageSnapshotInputSchema = external_exports.object({
45466
45614
  // current month. Normalized to the first of that month server-side.
45467
45615
  period: external_exports.union([
45468
45616
  external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/),
45469
- isoDateTime7
45617
+ isoDateTime8
45470
45618
  ]).optional()
45471
45619
  }).strict();
45472
45620
  var usageSnapshotOutputSchema = external_exports.object({
@@ -45478,11 +45626,11 @@ var usageSnapshotOutputSchema = external_exports.object({
45478
45626
  }).strict();
45479
45627
 
45480
45628
  // ../../packages/protocol/src/event-payloads.ts
45481
- var uuidSchema17 = external_exports.string().uuid();
45629
+ var uuidSchema18 = external_exports.string().uuid();
45482
45630
  var evidenceSchema = external_exports.array(external_exports.unknown());
45483
45631
  var statusEventPayloadSchema = external_exports.object({
45484
45632
  measurables: external_exports.array(external_exports.object({
45485
- id: uuidSchema17,
45633
+ id: uuidSchema18,
45486
45634
  value: external_exports.number().finite(),
45487
45635
  // DER-1045: an optional, non-secret citation for an agent-proposed reading
45488
45636
  // (signal.report) — where the number came from + the agent's confidence.
@@ -45511,7 +45659,7 @@ var statusEventPayloadSchema = external_exports.object({
45511
45659
  }).strict().optional()
45512
45660
  }).strict()).optional(),
45513
45661
  goals: external_exports.array(external_exports.object({
45514
- id: uuidSchema17,
45662
+ id: uuidSchema18,
45515
45663
  state: external_exports.enum(["on", "off"]),
45516
45664
  note: external_exports.string().min(1).optional()
45517
45665
  }).strict()).optional()
@@ -45524,8 +45672,8 @@ var escalationEventPayloadSchema = external_exports.object({
45524
45672
  }).strict();
45525
45673
  var issueEventPayloadSchema = external_exports.object({
45526
45674
  summary: external_exports.string().min(1),
45527
- blocking_goal_id: uuidSchema17.optional(),
45528
- broken_measurable_id: uuidSchema17.optional(),
45675
+ blocking_goal_id: uuidSchema18.optional(),
45676
+ broken_measurable_id: uuidSchema18.optional(),
45529
45677
  evidence: evidenceSchema,
45530
45678
  severity: external_exports.enum(["low", "med", "high", "critical"])
45531
45679
  }).strict();
@@ -45538,14 +45686,14 @@ var heldToolActionReplaySchema = external_exports.object({
45538
45686
  }).strict();
45539
45687
 
45540
45688
  // ../../packages/protocol/src/operating.ts
45541
- var uuidSchema18 = external_exports.string().uuid();
45689
+ var uuidSchema19 = external_exports.string().uuid();
45542
45690
  var taskListInputSchema = external_exports.object({}).strict();
45543
45691
  var operatingTaskSchema = external_exports.object({
45544
- id: uuidSchema18,
45692
+ id: uuidSchema19,
45545
45693
  title: external_exports.string(),
45546
45694
  description: external_exports.string().nullable(),
45547
- from_seat_id: uuidSchema18.nullable(),
45548
- goal_id: uuidSchema18.nullable(),
45695
+ from_seat_id: uuidSchema19.nullable(),
45696
+ goal_id: uuidSchema19.nullable(),
45549
45697
  acceptance_criteria: external_exports.unknown(),
45550
45698
  due_on: external_exports.string().nullable(),
45551
45699
  status: external_exports.string()
@@ -45554,48 +45702,48 @@ var taskListOutputSchema = external_exports.object({
45554
45702
  tasks: external_exports.array(operatingTaskSchema)
45555
45703
  }).strict();
45556
45704
  var taskAcceptInputSchema = external_exports.object({
45557
- id: uuidSchema18
45705
+ id: uuidSchema19
45558
45706
  }).strict();
45559
45707
  var taskMutationOutputSchema = external_exports.object({
45560
45708
  task: external_exports.object({
45561
- id: uuidSchema18,
45709
+ id: uuidSchema19,
45562
45710
  status: external_exports.string()
45563
45711
  }).strict()
45564
45712
  }).strict();
45565
45713
  var taskDeclineInputSchema = external_exports.object({
45566
- id: uuidSchema18,
45714
+ id: uuidSchema19,
45567
45715
  reason: external_exports.string().min(1)
45568
45716
  }).strict();
45569
45717
  var taskDeclineOutputSchema = external_exports.object({
45570
45718
  task: external_exports.object({
45571
- id: uuidSchema18,
45719
+ id: uuidSchema19,
45572
45720
  status: external_exports.string(),
45573
45721
  decline_reason: external_exports.string()
45574
45722
  }).strict()
45575
45723
  }).strict();
45576
45724
  var taskCompleteInputSchema = external_exports.object({
45577
- id: uuidSchema18,
45725
+ id: uuidSchema19,
45578
45726
  summary: external_exports.string().min(1),
45579
45727
  artifacts: external_exports.unknown().optional()
45580
45728
  }).strict();
45581
45729
  var taskCompleteOutputSchema = external_exports.object({
45582
- task_id: uuidSchema18,
45583
- event_id: uuidSchema18,
45730
+ task_id: uuidSchema19,
45731
+ event_id: uuidSchema19,
45584
45732
  type: external_exports.literal("handoff")
45585
45733
  }).strict();
45586
45734
  var statusRecordOutputSchema = external_exports.object({
45587
- event_id: uuidSchema18,
45735
+ event_id: uuidSchema19,
45588
45736
  type: external_exports.literal("status")
45589
45737
  }).strict();
45590
45738
  var duplicateFrictionCandidateSchema = external_exports.object({
45591
- issue_id: uuidSchema18,
45739
+ issue_id: uuidSchema19,
45592
45740
  summary: external_exports.string().min(1),
45593
45741
  // pg_trgm similarity in [0, 1]; higher is more similar.
45594
45742
  similarity: external_exports.number().min(0).max(1)
45595
45743
  }).strict();
45596
45744
  var frictionFileIssueOutputSchema = external_exports.object({
45597
- event_id: uuidSchema18,
45598
- issue_id: uuidSchema18,
45745
+ event_id: uuidSchema19,
45746
+ issue_id: uuidSchema19,
45599
45747
  type: external_exports.literal("issue"),
45600
45748
  // DER-1522: likely-duplicate candidates detected before creation. Recommend,
45601
45749
  // never block — filing always proceeds; empty when nothing crossed the
@@ -45606,12 +45754,12 @@ var workLogInputSchema = external_exports.object({
45606
45754
  note: external_exports.string().min(1)
45607
45755
  }).strict();
45608
45756
  var workLogOutputSchema = external_exports.object({
45609
- event_id: uuidSchema18,
45757
+ event_id: uuidSchema19,
45610
45758
  type: external_exports.literal("task")
45611
45759
  }).strict();
45612
45760
  var escalationRaiseOutputSchema = external_exports.object({
45613
- event_id: uuidSchema18,
45614
- escalation_id: uuidSchema18,
45761
+ event_id: uuidSchema19,
45762
+ escalation_id: uuidSchema19,
45615
45763
  type: external_exports.literal("escalation")
45616
45764
  }).strict();
45617
45765
  var deliverableKindSchema2 = external_exports.enum(["brief", "work_evidence", "artifact", "report", "other"]);
@@ -45659,7 +45807,7 @@ var deliverableAcceptOutputSchema = external_exports.object({
45659
45807
  }).strict();
45660
45808
 
45661
45809
  // ../../packages/protocol/src/steward.ts
45662
- var uuidSchema19 = external_exports.string().uuid();
45810
+ var uuidSchema20 = external_exports.string().uuid();
45663
45811
  var escalationStatusSchema = external_exports.enum([
45664
45812
  "open",
45665
45813
  "approved",
@@ -45667,21 +45815,21 @@ var escalationStatusSchema = external_exports.enum([
45667
45815
  "converted_to_issue"
45668
45816
  ]);
45669
45817
  var stewardEscalationSchema = external_exports.object({
45670
- id: uuidSchema19,
45671
- seat_id: uuidSchema19,
45818
+ id: uuidSchema20,
45819
+ seat_id: uuidSchema20,
45672
45820
  seat_name: external_exports.string(),
45673
45821
  seat_type: external_exports.enum(["human", "agent", "hybrid"]),
45674
- steward_seat_id: uuidSchema19,
45822
+ steward_seat_id: uuidSchema20,
45675
45823
  steward_seat_name: external_exports.string(),
45676
45824
  reason: external_exports.string(),
45677
45825
  charter_clause: external_exports.string(),
45678
45826
  recommended_action: external_exports.string().nullable(),
45679
45827
  status: escalationStatusSchema,
45680
- decided_by: uuidSchema19.nullable(),
45828
+ decided_by: uuidSchema20.nullable(),
45681
45829
  decided_by_name: external_exports.string().nullable(),
45682
45830
  decided_at: external_exports.string().nullable(),
45683
45831
  decision_note: external_exports.string().nullable(),
45684
- issue_id: uuidSchema19.nullable(),
45832
+ issue_id: uuidSchema20.nullable(),
45685
45833
  created_at: external_exports.string(),
45686
45834
  updated_at: external_exports.string()
45687
45835
  }).strict();
@@ -45692,27 +45840,27 @@ var escalationListOutputSchema = external_exports.object({
45692
45840
  escalations: external_exports.array(stewardEscalationSchema)
45693
45841
  }).strict();
45694
45842
  var escalationGetInputSchema = external_exports.object({
45695
- id: uuidSchema19
45843
+ id: uuidSchema20
45696
45844
  }).strict();
45697
45845
  var escalationGetOutputSchema = external_exports.object({
45698
45846
  escalation: stewardEscalationSchema
45699
45847
  }).strict();
45700
45848
  var escalationResolveActionSchema = external_exports.enum(["approve", "convert_to_issue"]);
45701
45849
  var escalationResolveInputSchema = external_exports.object({
45702
- id: uuidSchema19,
45850
+ id: uuidSchema20,
45703
45851
  action: escalationResolveActionSchema.optional(),
45704
45852
  rationale: external_exports.string().trim().min(1).optional()
45705
45853
  }).strict();
45706
45854
  var escalationRejectInputSchema = external_exports.object({
45707
- id: uuidSchema19,
45855
+ id: uuidSchema20,
45708
45856
  rationale: external_exports.string().trim().min(1).optional()
45709
45857
  }).strict();
45710
45858
  var escalationDecisionOutputSchema = external_exports.object({
45711
- escalation_id: uuidSchema19,
45859
+ escalation_id: uuidSchema20,
45712
45860
  status: escalationStatusSchema,
45713
- decision_id: uuidSchema19,
45714
- decided_by: uuidSchema19,
45715
- issue_id: uuidSchema19.nullable(),
45861
+ decision_id: uuidSchema20,
45862
+ decided_by: uuidSchema20,
45863
+ issue_id: uuidSchema20.nullable(),
45716
45864
  // DER-1478: true when the resolved escalation carries a durable replay_action
45717
45865
  // (an approval-gated connector write) that the approvals path should actuate
45718
45866
  // after this decision is recorded. Omitted (not false) for non-connector
@@ -45734,7 +45882,7 @@ var eventTypes = [
45734
45882
  "task"
45735
45883
  ];
45736
45884
  var publicMessageTypes = ["status", "handoff", "escalation", "issue"];
45737
- var uuidSchema20 = external_exports.string().uuid();
45885
+ var uuidSchema21 = external_exports.string().uuid();
45738
45886
  var evidenceSchema2 = external_exports.array(external_exports.unknown());
45739
45887
  var internalEventPayloadSchema = external_exports.record(external_exports.string(), external_exports.unknown()).refine((payload) => !Array.isArray(payload), "Internal event payload must be an object");
45740
45888
  var handoffEventPayloadSchema = external_exports.object({
@@ -45744,24 +45892,24 @@ var handoffEventPayloadSchema = external_exports.object({
45744
45892
  acceptance_criteria: external_exports.array(external_exports.string().min(1)),
45745
45893
  due: external_exports.string().datetime({ offset: true })
45746
45894
  }).strict(),
45747
- to_seat_id: uuidSchema20
45895
+ to_seat_id: uuidSchema21
45748
45896
  }).strict();
45749
45897
  var intakeEventPayloadSchema = external_exports.discriminatedUnion("action", [
45750
45898
  external_exports.object({
45751
45899
  action: external_exports.literal("uploaded"),
45752
- document_id: uuidSchema20,
45900
+ document_id: uuidSchema21,
45753
45901
  storage_ref: external_exports.string().min(1)
45754
45902
  }).strict(),
45755
45903
  external_exports.object({
45756
45904
  action: external_exports.literal("parsed"),
45757
- document_id: uuidSchema20,
45905
+ document_id: uuidSchema21,
45758
45906
  mode: external_exports.enum(["source_tree", "function_first"]),
45759
45907
  seat_count: external_exports.number().int().nonnegative(),
45760
45908
  edge_count: external_exports.number().int().nonnegative()
45761
45909
  }).strict(),
45762
45910
  external_exports.object({
45763
45911
  action: external_exports.literal("failed"),
45764
- document_id: uuidSchema20,
45912
+ document_id: uuidSchema21,
45765
45913
  reason: external_exports.string().min(1)
45766
45914
  }).strict(),
45767
45915
  external_exports.object({
@@ -45867,9 +46015,9 @@ var publicMessageTypeSchema = external_exports.enum(publicMessageTypes);
45867
46015
  var eventEnvelopeBaseSchema = external_exports.object({
45868
46016
  protocol: external_exports.literal(EVENT_PROTOCOL),
45869
46017
  type: eventTypeSchema,
45870
- seat_id: uuidSchema20.nullable(),
46018
+ seat_id: uuidSchema21.nullable(),
45871
46019
  occurred_at: external_exports.string().datetime({ offset: true }),
45872
- goal_ancestry: external_exports.array(uuidSchema20)
46020
+ goal_ancestry: external_exports.array(uuidSchema21)
45873
46021
  }).strict();
45874
46022
  var statusEventEnvelopeSchema = eventEnvelopeBaseSchema.extend({
45875
46023
  type: external_exports.literal("status"),
@@ -46143,7 +46291,7 @@ The Compass is drafted, then activated by a human through supersession.
46143
46291
  order: 15,
46144
46292
  title: "AICOS chat guide",
46145
46293
  summary: "How the AI Chief of Staff chat works in the authenticated app shell and what it can safely do today.",
46146
- version: "2026-07-11.1",
46294
+ version: "2026-07-13.1",
46147
46295
  public: true,
46148
46296
  audiences: ["human", "in_app_agent"],
46149
46297
  stages: ["company_setup", "operating_rhythm"],
@@ -46206,6 +46354,8 @@ The repair action ensures the same structure new companies receive: a Founder/CE
46206
46354
 
46207
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.
46208
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
+
46209
46359
  ## What context AICOS receives
46210
46360
 
46211
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.
@@ -46295,7 +46445,7 @@ Treat AICOS as a coordinator over the operating system. It can become more usefu
46295
46445
  order: 20,
46296
46446
  title: "Responsibility Graph playbook",
46297
46447
  summary: "How to build a functions-first graph with seats, owners, Stewards, vacancies, and clean authority.",
46298
- version: "2026-07-10.6",
46448
+ version: "2026-07-13.2",
46299
46449
  public: true,
46300
46450
  audiences: ["human", "cli", "mcp", "in_app_agent"],
46301
46451
  stages: ["graph_design", "staffing"],
@@ -46378,7 +46528,7 @@ A staffed non-AICOS agent's seat page uses one profile shell with eight URL-addr
46378
46528
 
46379
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.
46380
46530
 
46381
- 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.
46382
46532
 
46383
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.
46384
46534
 
@@ -46532,7 +46682,7 @@ Drafting can be assisted by agents. Activation is a human decision. When authori
46532
46682
  order: 40,
46533
46683
  title: "Agent staffing playbook",
46534
46684
  summary: "How to decide whether a seat should be human, agent, or hybrid, and how to go live safely.",
46535
- version: "2026-07-05.1",
46685
+ version: "2026-07-13.1",
46536
46686
  public: true,
46537
46687
  audiences: ["human", "cli", "mcp", "in_app_agent"],
46538
46688
  stages: ["staffing"],
@@ -46591,7 +46741,7 @@ Two creation paths, both draft-first. Read the stock-agents guide for templates
46591
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\`.
46592
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.
46593
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.
46594
- - 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.
46595
46745
 
46596
46746
  ## Review readiness before go-live
46597
46747
 
@@ -48819,7 +48969,7 @@ Stop before: approving a Charter, signing a manifest, connecting a tool or crede
48819
48969
  order: 71,
48820
48970
  title: "Billing and pricing guide",
48821
48971
  summary: "How {{brand}} packages company-wide access, Stripe billing, and governed-agent usage without per-human-seat pricing.",
48822
- version: "2026-07-13.1",
48972
+ version: "2026-07-13.2",
48823
48973
  public: true,
48824
48974
  audiences: ["human", "cli", "mcp", "in_app_agent"],
48825
48975
  stages: ["company_setup", "staffing", "operating_rhythm"],
@@ -48877,7 +49027,7 @@ Billable true-up is service-owned and runs after a period is closed. The tenant-
48877
49027
 
48878
49028
  ## Launch credits and recovery access
48879
49029
 
48880
- 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.
48881
49031
 
48882
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.
48883
49033
 
@@ -49237,7 +49387,7 @@ The runner should not store raw credentials in local notes, prompts, or logs. It
49237
49387
  order: 76,
49238
49388
  title: "Stock agents guide",
49239
49389
  summary: "How to use stock agent templates as starting points while preserving seat-specific Charters and human approval.",
49240
- version: "2026-07-04.1",
49390
+ version: "2026-07-13.5",
49241
49391
  public: true,
49242
49392
  audiences: ["human", "cli", "mcp", "in_app_agent"],
49243
49393
  stages: ["staffing"],
@@ -49264,7 +49414,7 @@ Before dry run, review the template's responsibilities, tool assumptions, escala
49264
49414
 
49265
49415
  ## Template catalog
49266
49416
 
49267
- 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.
49268
49418
 
49269
49419
  ### AP Clerk \u2014 \`stock/ap-clerk\`
49270
49420
 
@@ -49273,6 +49423,13 @@ Eight stock templates ship today. Every one is draft-first, escalates the action
49273
49423
  - Default tools: Accounting bills read/write drafts; AP inbox read/draft.
49274
49424
  - Safety boundary: vendor bank changes, payment release, disputed or duplicate invoices, and unclear approval chains escalate before action.
49275
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
+
49276
49433
  ### AR & Collections Clerk \u2014 \`stock/ar-collections-clerk\`
49277
49434
 
49278
49435
  - Function: Finance. Tier: \`1 \xB7 Launch\`.
@@ -51054,7 +51211,7 @@ var COMMAND_MANIFEST = [
51054
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." },
51055
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." },
51056
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." },
51057
- { "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." },
51058
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" } },
51059
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." },
51060
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)." },