@overdeck/contracts 0.49.1 → 0.49.2

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.mjs CHANGED
@@ -410,6 +410,72 @@ const EmbedProgressSnapshot = Schema.Struct({
410
410
  error: Schema.optional(Schema.String),
411
411
  timestamp: Schema.String
412
412
  });
413
+ const ProjectCiSuite = Schema.Struct({
414
+ status: Schema.String,
415
+ conclusion: Schema.NullOr(Schema.String),
416
+ htmlUrl: Schema.optional(Schema.String),
417
+ /** GitHub's suite/run update time, used to reject delayed same-SHA events. */
418
+ observedAt: Schema.optional(Schema.String)
419
+ });
420
+ const ProjectCiSnapshot = Schema.Struct({
421
+ projectKey: Schema.String,
422
+ repo: Schema.String,
423
+ branch: Schema.String,
424
+ headSha: Schema.String,
425
+ /** suiteId → suite. Only GitHub Actions suites ever appear here. */
426
+ suites: Schema.Record(Schema.String, ProjectCiSuite),
427
+ /** Newest `observedAt` folded into this record. */
428
+ updatedAt: Schema.String
429
+ });
430
+ /** What kind of process asked for the voluntary dashboard restart. */
431
+ const RestartGateKind = Schema.Literals([
432
+ "deploy",
433
+ "reload",
434
+ "restart"
435
+ ]);
436
+ /**
437
+ * One live restart request. `requesterId` is stable for a single requester
438
+ * invocation (e.g. `deploy:PAN-3724:<pid>`), so a re-poll refreshes the same
439
+ * row instead of adding another.
440
+ */
441
+ const RestartGateRequest = Schema.Struct({
442
+ requesterId: Schema.String,
443
+ kind: RestartGateKind,
444
+ reason: Schema.String,
445
+ builtSha: Schema.optional(Schema.String),
446
+ requestedAt: Schema.String
447
+ });
448
+ /**
449
+ * How the last approval cycle ended, when the ending is worth telling the
450
+ * operator about (PAN-3731). Present only inside the brief window after it
451
+ * happened, so the banner can explain a click that restarted nothing.
452
+ *
453
+ * `pruned-unclaimed` — an approved epoch expired with nobody left to perform
454
+ * the restart: every requester died before claiming, or a claimant lapsed and
455
+ * the rest gave up. Either way nothing was restarted.
456
+ */
457
+ const RestartGateOutcome = Schema.Struct({
458
+ type: Schema.Literals(["pruned-unclaimed"]),
459
+ at: Schema.String
460
+ });
461
+ /**
462
+ * The operator-facing view of the restart gate — identical to the body of
463
+ * `GET /api/restart-gate`, so the banner and the CLI read the same shape.
464
+ *
465
+ * `idle` no live requests; `pending` requests are waiting for approval;
466
+ * `approved` the operator approved an epoch that nobody has claimed yet;
467
+ * `claimed` one requester holds the exclusive right to perform the restart.
468
+ */
469
+ const RestartGateSnapshot = Schema.Struct({
470
+ status: Schema.Literals([
471
+ "idle",
472
+ "pending",
473
+ "approved",
474
+ "claimed"
475
+ ]),
476
+ pending: Schema.Array(RestartGateRequest),
477
+ lastOutcome: Schema.optional(RestartGateOutcome)
478
+ });
413
479
  const DashboardSnapshot = Schema.Struct({
414
480
  sequence: SequenceNumber,
415
481
  agents: Schema.Array(AgentSnapshot),
@@ -425,6 +491,8 @@ const DashboardSnapshot = Schema.Struct({
425
491
  enrichStats: Schema.optional(Schema.NullOr(EnrichStatsSnapshot)),
426
492
  enrichProgressBySessionId: Schema.optional(Schema.Record(Schema.String, EnrichProgressSnapshot)),
427
493
  embedProgressBySessionId: Schema.optional(Schema.Record(Schema.String, EmbedProgressSnapshot)),
494
+ ciByProjectKey: Schema.optional(Schema.Record(Schema.String, ProjectCiSnapshot)),
495
+ restartGate: Schema.optional(RestartGateSnapshot),
428
496
  timestamp: Schema.String
429
497
  });
430
498
  const WorkspaceDetail = Schema.Struct({
@@ -1148,6 +1216,76 @@ const BeadsFreshnessChangedEvent = Schema.Struct({
1148
1216
  lastSyncedAt: Schema.String
1149
1217
  })
1150
1218
  });
1219
+ /**
1220
+ * One GitHub Actions check suite observed on a project's default branch
1221
+ * (PAN-3537).
1222
+ *
1223
+ * Emitted by the `check_suite` webhook handler for live updates, only after an
1224
+ * independent branch-head lookup verifies the payload SHA is still current.
1225
+ * `suiteId` is the check suite id — for GitHub Actions that is one suite per
1226
+ * workflow run. The webhook payload does not carry `htmlUrl`.
1227
+ *
1228
+ * Boot and periodic repair use `project.ci_head_observed`, which replaces the
1229
+ * complete projection after pagination. Both events feed
1230
+ * `ReadModelState.ciByProjectKey`, a disposable cache rebuilt from REST on every
1231
+ * boot — there is no durable CI store.
1232
+ */
1233
+ const ProjectCiSuiteObservedEvent = Schema.Struct({
1234
+ type: Schema.Literal("project.ci_suite_observed"),
1235
+ sequence: SequenceNumber,
1236
+ timestamp: Schema.String,
1237
+ payload: Schema.Struct({
1238
+ projectKey: Schema.String,
1239
+ repo: Schema.String,
1240
+ branch: Schema.String,
1241
+ headSha: Schema.String,
1242
+ suiteId: Schema.String,
1243
+ status: Schema.String,
1244
+ conclusion: Schema.NullOr(Schema.String),
1245
+ htmlUrl: Schema.optional(Schema.String),
1246
+ observedAt: Schema.String,
1247
+ /** True only after the emitter verified headSha against the branch head. */
1248
+ authoritativeHead: Schema.optional(Schema.Boolean)
1249
+ })
1250
+ });
1251
+ /**
1252
+ * Complete GitHub Actions projection for the verified default-branch head.
1253
+ * The REST seed/repair emits one event after paginating every run and verifying
1254
+ * the branch head a second time. An empty suites record explicitly clears stale
1255
+ * CI when the current commit has no Actions runs.
1256
+ */
1257
+ const ProjectCiHeadObservedEvent = Schema.Struct({
1258
+ type: Schema.Literal("project.ci_head_observed"),
1259
+ sequence: SequenceNumber,
1260
+ timestamp: Schema.String,
1261
+ payload: Schema.Struct({
1262
+ projectKey: Schema.String,
1263
+ repo: Schema.String,
1264
+ branch: Schema.String,
1265
+ headSha: Schema.String,
1266
+ suites: Schema.Record(Schema.String, ProjectCiSuite),
1267
+ observedAt: Schema.String
1268
+ })
1269
+ });
1270
+ /**
1271
+ * The restart gate changed (PAN-3729).
1272
+ *
1273
+ * The payload is the COMPLETE gate projection, not a delta, so the reducer is a
1274
+ * plain replace and no ordering logic is needed. Emitted by the gate writer
1275
+ * (`src/dashboard/server/services/restart-gate.ts`) on every mutation and on
1276
+ * every sweep tick that drops an expired request, so the approval banner clears
1277
+ * itself when a requester dies without polling again.
1278
+ *
1279
+ * The gate is runtime-plane state (like `~/.overdeck/dashboard-restarting.json`),
1280
+ * so this event is emitted in-memory only — it is never persisted to the event
1281
+ * log and never replayed at boot.
1282
+ */
1283
+ const RestartGateChangedEvent = Schema.Struct({
1284
+ type: Schema.Literal("restart_gate.changed"),
1285
+ sequence: SequenceNumber,
1286
+ timestamp: Schema.String,
1287
+ payload: RestartGateSnapshot
1288
+ });
1151
1289
  /** Replaces socket.io `agents:changed` (event: 'started') */
1152
1290
  const AgentStartedEvent = Schema.Struct({
1153
1291
  type: Schema.Literal("agent.started"),
@@ -2416,6 +2554,9 @@ const SweepRecommendationEvent = Schema.Struct({
2416
2554
  const DomainEvent = Schema.Union([
2417
2555
  SystemHeartbeatEvent,
2418
2556
  BeadsFreshnessChangedEvent,
2557
+ ProjectCiSuiteObservedEvent,
2558
+ ProjectCiHeadObservedEvent,
2559
+ RestartGateChangedEvent,
2419
2560
  AgentCreatedEvent,
2420
2561
  AgentEnrichmentChangedEvent,
2421
2562
  AgentStartedEvent,
@@ -3484,6 +3625,8 @@ const INITIAL_READ_MODEL_STATE = {
3484
3625
  enrichStats: null,
3485
3626
  enrichProgressBySessionId: {},
3486
3627
  embedProgressBySessionId: {},
3628
+ ciByProjectKey: {},
3629
+ restartGate: null,
3487
3630
  agentIdBySessionId: {},
3488
3631
  dashboardLifecycle: {
3489
3632
  active: false,
@@ -3609,6 +3752,8 @@ function syncSnapshot(state, snapshot) {
3609
3752
  enrichStats: snapshot.enrichStats ?? null,
3610
3753
  enrichProgressBySessionId: snapshot.enrichProgressBySessionId ?? {},
3611
3754
  embedProgressBySessionId: snapshot.embedProgressBySessionId ?? {},
3755
+ ciByProjectKey: snapshot.ciByProjectKey ?? state.ciByProjectKey,
3756
+ restartGate: snapshot.restartGate ?? state.restartGate,
3612
3757
  agentIdBySessionId
3613
3758
  };
3614
3759
  }
@@ -3949,6 +4094,97 @@ function applyEvent(state, event) {
3949
4094
  ...state,
3950
4095
  sequence: Math.max(state.sequence, event.sequence)
3951
4096
  };
4097
+ case "project.ci_suite_observed": {
4098
+ const p = event.payload;
4099
+ const existing = state.ciByProjectKey[p.projectKey];
4100
+ const suite = {
4101
+ status: p.status,
4102
+ conclusion: p.conclusion,
4103
+ htmlUrl: p.htmlUrl,
4104
+ observedAt: p.observedAt
4105
+ };
4106
+ let next;
4107
+ if (!existing) {
4108
+ if (p.authoritativeHead !== true) return {
4109
+ ...state,
4110
+ sequence: Math.max(state.sequence, event.sequence)
4111
+ };
4112
+ next = {
4113
+ projectKey: p.projectKey,
4114
+ repo: p.repo,
4115
+ branch: p.branch,
4116
+ headSha: p.headSha,
4117
+ suites: { [p.suiteId]: suite },
4118
+ updatedAt: p.observedAt
4119
+ };
4120
+ } else if (existing.headSha === p.headSha) {
4121
+ const existingSuite = existing.suites[p.suiteId];
4122
+ const existingSuiteObservedAt = existingSuite?.observedAt ?? existing.updatedAt;
4123
+ if (existingSuite && p.observedAt < existingSuiteObservedAt) return {
4124
+ ...state,
4125
+ sequence: Math.max(state.sequence, event.sequence)
4126
+ };
4127
+ next = {
4128
+ ...existing,
4129
+ suites: {
4130
+ ...existing.suites,
4131
+ [p.suiteId]: suite
4132
+ },
4133
+ updatedAt: p.observedAt > existing.updatedAt ? p.observedAt : existing.updatedAt
4134
+ };
4135
+ } else if (p.authoritativeHead === true && p.observedAt >= existing.updatedAt) next = {
4136
+ projectKey: p.projectKey,
4137
+ repo: p.repo,
4138
+ branch: p.branch,
4139
+ headSha: p.headSha,
4140
+ suites: { [p.suiteId]: suite },
4141
+ updatedAt: p.observedAt
4142
+ };
4143
+ else return {
4144
+ ...state,
4145
+ sequence: Math.max(state.sequence, event.sequence)
4146
+ };
4147
+ return {
4148
+ ...state,
4149
+ sequence: Math.max(state.sequence, event.sequence),
4150
+ ciByProjectKey: {
4151
+ ...state.ciByProjectKey,
4152
+ [p.projectKey]: next
4153
+ }
4154
+ };
4155
+ }
4156
+ case "project.ci_head_observed": {
4157
+ const p = event.payload;
4158
+ const existing = state.ciByProjectKey[p.projectKey];
4159
+ if (existing && p.observedAt < existing.updatedAt) return {
4160
+ ...state,
4161
+ sequence: Math.max(state.sequence, event.sequence)
4162
+ };
4163
+ return {
4164
+ ...state,
4165
+ sequence: Math.max(state.sequence, event.sequence),
4166
+ ciByProjectKey: {
4167
+ ...state.ciByProjectKey,
4168
+ [p.projectKey]: {
4169
+ projectKey: p.projectKey,
4170
+ repo: p.repo,
4171
+ branch: p.branch,
4172
+ headSha: p.headSha,
4173
+ suites: p.suites,
4174
+ updatedAt: p.observedAt
4175
+ }
4176
+ }
4177
+ };
4178
+ }
4179
+ case "restart_gate.changed": return {
4180
+ ...state,
4181
+ sequence: Math.max(state.sequence, event.sequence),
4182
+ restartGate: {
4183
+ status: event.payload.status,
4184
+ pending: event.payload.pending,
4185
+ ...event.payload.lastOutcome === void 0 ? {} : { lastOutcome: event.payload.lastOutcome }
4186
+ }
4187
+ };
3952
4188
  case "resources.updated": return {
3953
4189
  ...state,
3954
4190
  sequence: Math.max(state.sequence, event.sequence),
@@ -4797,6 +5033,29 @@ function applyEvents(state, events) {
4797
5033
  return events.reduce(applyEvent, state);
4798
5034
  }
4799
5035
  //#endregion
5036
+ //#region src/project-ci.ts
5037
+ /** Conclusions that mean the suite failed. Mirrors FAILING_CHECK_CONCLUSIONS
5038
+ * in src/lib/webhook-handlers.ts:196. */
5039
+ const FAILED = new Set([
5040
+ "failure",
5041
+ "timed_out",
5042
+ "cancelled",
5043
+ "action_required",
5044
+ "startup_failure",
5045
+ "stale"
5046
+ ]);
5047
+ function deriveProjectCi(record) {
5048
+ const suites = Object.values(record.suites);
5049
+ const total = suites.length;
5050
+ const completed = suites.filter((s) => s.status === "completed").length;
5051
+ return {
5052
+ state: suites.some((s) => s.conclusion != null && FAILED.has(s.conclusion.toLowerCase())) ? "failure" : suites.some((s) => s.status === "in_progress") ? "in_progress" : completed < total || total === 0 ? "queued" : "success",
5053
+ completed,
5054
+ total,
5055
+ href: (total === 1 ? suites[0] : void 0)?.htmlUrl ?? `https://github.com/${record.repo}/commit/${record.headSha}/checks`
5056
+ };
5057
+ }
5058
+ //#endregion
4800
5059
  //#region src/flywheel-stats.ts
4801
5060
  const FlywheelStatsCriterionStatus = Schema.Literals([
4802
5061
  "green",
@@ -5540,6 +5799,7 @@ const TELEMETRY_PROPERTY_DOMAINS = {
5540
5799
  "deacon",
5541
5800
  "sessions",
5542
5801
  "awaiting-merge",
5802
+ "workspace-new",
5543
5803
  "workspace"
5544
5804
  ],
5545
5805
  decision_subject: ["agent", "conversation"],
@@ -7156,6 +7416,48 @@ const COMPOSER_COMMAND_MANIFEST = [
7156
7416
  "aliases": [],
7157
7417
  "category": "Lifecycle"
7158
7418
  },
7419
+ {
7420
+ "id": "pan-swarm-dispatch",
7421
+ "path": ["swarm", "dispatch"],
7422
+ "display": "/pan swarm dispatch",
7423
+ "description": "Run one gated swarm dispatch pass",
7424
+ "args": [{
7425
+ "name": "id",
7426
+ "required": true,
7427
+ "variadic": false
7428
+ }],
7429
+ "options": [{
7430
+ "flags": "--json",
7431
+ "description": "Print structured dispatch results",
7432
+ "required": false,
7433
+ "valueHint": null
7434
+ }],
7435
+ "aliases": [],
7436
+ "category": "Lifecycle"
7437
+ },
7438
+ {
7439
+ "id": "pan-swarm-merge",
7440
+ "path": ["swarm", "merge"],
7441
+ "display": "/pan swarm merge",
7442
+ "description": "Verify and merge one completed swarm slot",
7443
+ "args": [{
7444
+ "name": "id",
7445
+ "required": true,
7446
+ "variadic": false
7447
+ }, {
7448
+ "name": "slotIndex",
7449
+ "required": true,
7450
+ "variadic": false
7451
+ }],
7452
+ "options": [{
7453
+ "flags": "--json",
7454
+ "description": "Print structured merge results",
7455
+ "required": false,
7456
+ "valueHint": null
7457
+ }],
7458
+ "aliases": [],
7459
+ "category": "Lifecycle"
7460
+ },
7159
7461
  {
7160
7462
  "id": "pan-swarm-recover",
7161
7463
  "path": ["swarm", "recover"],
@@ -7172,9 +7474,14 @@ const COMPOSER_COMMAND_MANIFEST = [
7172
7474
  }],
7173
7475
  "options": [{
7174
7476
  "flags": "--action <action>",
7175
- "description": "Recovery action: retry, drop, or handoff",
7477
+ "description": "Recovery action: retry, drop, handoff, or reclaim",
7176
7478
  "required": true,
7177
7479
  "valueHint": "action"
7480
+ }, {
7481
+ "flags": "--operator",
7482
+ "description": "Override the three-intervention limit for this failure class",
7483
+ "required": false,
7484
+ "valueHint": null
7178
7485
  }],
7179
7486
  "aliases": [],
7180
7487
  "category": "Lifecycle"
@@ -7222,7 +7529,36 @@ const COMPOSER_COMMAND_MANIFEST = [
7222
7529
  "required": true,
7223
7530
  "variadic": false
7224
7531
  }],
7225
- "options": [],
7532
+ "options": [{
7533
+ "flags": "--json",
7534
+ "description": "Print structured status including foreman, hold, and interventions",
7535
+ "required": false,
7536
+ "valueHint": null
7537
+ }],
7538
+ "aliases": [],
7539
+ "category": "Lifecycle"
7540
+ },
7541
+ {
7542
+ "id": "pan-swarm-wait",
7543
+ "path": ["swarm", "wait"],
7544
+ "display": "/pan swarm wait",
7545
+ "description": "Wait for a swarm slot, foreman, or hold state transition",
7546
+ "args": [{
7547
+ "name": "id",
7548
+ "required": true,
7549
+ "variadic": false
7550
+ }],
7551
+ "options": [{
7552
+ "flags": "--timeout <seconds>",
7553
+ "description": "Maximum wait in seconds",
7554
+ "required": true,
7555
+ "valueHint": "seconds"
7556
+ }, {
7557
+ "flags": "--json",
7558
+ "description": "Print the structured status delta",
7559
+ "required": false,
7560
+ "valueHint": null
7561
+ }],
7226
7562
  "aliases": [],
7227
7563
  "category": "Lifecycle"
7228
7564
  },
@@ -7493,6 +7829,49 @@ const COMPOSER_COMMAND_MANIFEST = [
7493
7829
  "aliases": [],
7494
7830
  "category": "Lifecycle"
7495
7831
  },
7832
+ {
7833
+ "id": "pan-task-reopen",
7834
+ "path": ["task", "reopen"],
7835
+ "display": "/pan task reopen",
7836
+ "description": "",
7837
+ "args": [{
7838
+ "name": "issue",
7839
+ "required": true,
7840
+ "variadic": false
7841
+ }, {
7842
+ "name": "item",
7843
+ "required": true,
7844
+ "variadic": false
7845
+ }],
7846
+ "options": [
7847
+ {
7848
+ "flags": "--reason <text>",
7849
+ "description": "Reason for the status change",
7850
+ "required": true,
7851
+ "valueHint": "text"
7852
+ },
7853
+ {
7854
+ "flags": "--expected-sequence <n>",
7855
+ "description": "Require the current task sequence",
7856
+ "required": true,
7857
+ "valueHint": "n"
7858
+ },
7859
+ {
7860
+ "flags": "--force",
7861
+ "description": "Override a non-terminal transition or claim owner; requires --reason",
7862
+ "required": false,
7863
+ "valueHint": null
7864
+ },
7865
+ {
7866
+ "flags": "--json",
7867
+ "description": "Print JSON",
7868
+ "required": false,
7869
+ "valueHint": null
7870
+ }
7871
+ ],
7872
+ "aliases": [],
7873
+ "category": "Lifecycle"
7874
+ },
7496
7875
  {
7497
7876
  "id": "pan-task-cancel",
7498
7877
  "path": ["task", "cancel"],
@@ -10974,6 +11353,20 @@ const COMPOSER_COMMAND_MANIFEST = [
10974
11353
  "aliases": [],
10975
11354
  "category": "Conversation"
10976
11355
  },
11356
+ {
11357
+ "id": "pan-conversations-heal",
11358
+ "path": ["conversations", "heal"],
11359
+ "display": "/pan conversations heal",
11360
+ "description": "Clear stale fork/spawn failure state for a live conversation",
11361
+ "args": [{
11362
+ "name": "query",
11363
+ "required": true,
11364
+ "variadic": false
11365
+ }],
11366
+ "options": [],
11367
+ "aliases": [],
11368
+ "category": "Conversation"
11369
+ },
10977
11370
  {
10978
11371
  "id": "pan-conversations-current",
10979
11372
  "path": ["conversations", "current"],
@@ -12148,11 +12541,27 @@ const COMPOSER_COMMAND_MANIFEST = [
12148
12541
  "description": "Disable agent auto-resume on restart (opt out of the default-on auto-resume)",
12149
12542
  "required": false,
12150
12543
  "valueHint": null
12544
+ },
12545
+ {
12546
+ "flags": "--now",
12547
+ "description": "Skip the operator-approval wait: approve everything already waiting, then restart the dashboard immediately",
12548
+ "required": false,
12549
+ "valueHint": null
12151
12550
  }
12152
12551
  ],
12153
12552
  "aliases": [],
12154
12553
  "category": "Core"
12155
12554
  },
12555
+ {
12556
+ "id": "pan-restart-approve",
12557
+ "path": ["restart", "approve"],
12558
+ "display": "/pan restart approve",
12559
+ "description": "Approve every dashboard restart request that is waiting for the operator",
12560
+ "args": [],
12561
+ "options": [],
12562
+ "aliases": [],
12563
+ "category": "Core"
12564
+ },
12156
12565
  {
12157
12566
  "id": "pan-project",
12158
12567
  "path": ["project"],
@@ -12951,6 +13360,6 @@ const HOOK_INVENTORY = [
12951
13360
  const WIRED_HOOK_INVENTORY = HOOK_INVENTORY.filter((hook) => hook.wired);
12952
13361
  const WIRED_HOOK_NAMES = WIRED_HOOK_INVENTORY.map((hook) => hook.name);
12953
13362
  //#endregion
12954
- export { ACP_BEHAVIOR, Activity, ActivityDetailedEvent, ActivityEntryEvent, ActivityTtsEvent, ActivityUpdatedEvent, AdmissionState, AgentActivityChangedEvent, AgentChannelReply, AgentChannelReplyEvent, AgentCompletedEvent, AgentContextSaturationChangedEvent, AgentCreatedEvent, AgentCurrentIssueSetEvent, AgentEnrichmentChangedEvent, AgentHealthKind, AgentHealthSnapshot, AgentHealthStatus, AgentHeartbeatDeadEvent, AgentHookFiredEvent, AgentId, AgentMessageReceivedEvent, AgentModelSetEvent, AgentOutput, AgentOutputReceivedEvent, AgentPermissionRequestedEvent, AgentPermissionResolvedEvent, AgentResolution, AgentResolutionChangedEvent, AgentRuntimeSnapshot, AgentSnapshot, AgentStartedEvent, AgentStateRestoredEvent, AgentStatus, AgentStatusChangedEvent, AgentStoppedEvent, AgentThinkingStartedEvent, AgentThinkingStoppedEvent, AgentTurnDiffCompletedEvent, AgentWaitingClearedEvent, AgentWaitingStartedEvent, ArtifactAgentHarness, ArtifactAgentRole, ArtifactCreateResponse, ArtifactDetailResponse, ArtifactHash, ArtifactId, ArtifactLifecycleState, ArtifactListEntry, ArtifactListResponse, ArtifactMetadata, ArtifactPublishResponse, ArtifactSlug, ArtifactStatusResponse, ArtifactUnshareResponse, ArtifactUrls, ArtifactValidationCode, ArtifactValidationFinding, ArtifactValidationResult, BeadsFreshnessChangedEvent, CHANNEL_REPLY_KIND_VALUES, CLAUDE_CODE_BEHAVIOR, CODEX_BEHAVIOR, COMPOSER_COMMAND_INSERT_OVERRIDES, COMPOSER_COMMAND_MANIFEST, COMPOSER_COMMAND_VARIANTS, CONTEXT_LAYER_KINDS, CONTEXT_PREVIEW_HARNESSES, ChannelPermissionRequestSnapshot, ChannelReplyArtifactRef, ChannelReplyKind, ChatMessage, ClaudeChannelPermissionBehavior, CompactBoundary, ContextEditableLayerRecord, ContextHarnessPreviews, ContextLayerDraft, ContextLayerKind, ContextLayerSaveRequest, ContextLayerSaveResponse, ContextLayerTarget, ContextLayersResponse, ContextPreviewDiagnostic, ContextPreviewHarness, ContextPreviewRequest, ContextPreviewResponse, ContextProjectSummary, ContextSyncRequest, ContextSyncResponse, ContextSyncTarget, ContextUsage, ContextWorkspaceSummary, ConversationCompactingChangedEvent, ConversationCostSummary, ConversationCreatedEvent, ConversationEvent, ConversationFilter, ConversationMovedEvent, ConversationPermissionChangedEvent, ConversationResponse, ConversationTitleChangedEvent, CostEventRecordedEvent, DEFAULT_MAX_MEMORY_OBSERVATIONS_PER_ISSUE, DEFAULT_MAX_TURN_DIFF_SUMMARIES_PER_AGENT, DashboardLifecycleCompletedEvent, DashboardLifecycleFailedEvent, DashboardLifecycleStartedEvent, DashboardSnapshot, DeepWipeRpc, DeployStalenessSnapshot, DiscoveredSessionSnapshot, DomainEvent, EDITORS, EditorIdSchema, EmbedProgressEvent, EmbedProgressSnapshot, EmbedSessionsRpc, EnrichCompleteEvent, EnrichProgressEvent, EnrichProgressSnapshot, EnrichSessionsRpc, EnrichStatsSnapshot, ExtractionProviderConfig, ExtractionProviderTarget, FeatureNode, FeatureRegistryEntry, FeatureRegistryStatus, FlywheelAgent, FlywheelAgentStatus, FlywheelEffort, FlywheelHarness, FlywheelHeadline, FlywheelHttpUrl, FlywheelOrchestrator, FlywheelOrders, FlywheelParkedItem, FlywheelPipelineItem, FlywheelPipelineStatus, FlywheelPipelineVerb, FlywheelRunId, FlywheelScope, FlywheelStats, FlywheelStatsCriteria, FlywheelStatsCriterion, FlywheelStatsCriterionStatus, FlywheelStatsCriterionValue, FlywheelStatsCriterionValueObject, FlywheelStatsTrend, FlywheelStatus, FlywheelSubstrateBug, FlywheelSubstrateBugStatus, FlywheelSuggestion, FlywheelSuggestionAction, FlywheelSuggestionPriority, FlywheelSystemStatus, GetAvailableEditorsRpc, GetConversationCostByWorkspaceRpc, GetConversationCostRpc, GetConversationStatsRpc, GetDiscoveredSessionRpc, GetSessionsFeedFacetsRpc, GetSnapshotRpc, GetWorkspaceDetailRpc, GlobalContextLayerRecord, GlobalContextLayerTarget, HOOK_INVENTORY, HealthReason, HealthState, HostHealthMetrics, HostPlatform, HygieneFinding, HygienePullRequest, HygieneReport, INITIAL_READ_MODEL_STATE, IssueId, IssueStatusChangedEvent, IssueTransitionedEvent, IssuesSnapshotEvent, IssuesUpdatedEvent, KIMI_CODE_BEHAVIOR, KNOWN_HARNESSES, LegacySystemHealthSummary, LegacyWebhookRelaySummary, LinearMcpAuthCallbackRelayedEvent, LinearMcpAuthHealthyEvent, LinearMcpAuthNotifiedEvent, LinearMcpAuthRequiredEvent, ListDiscoveredSessionsRpc, ListSessionsFeedRpc, MAX_CHANNEL_REPLY_ARTIFACT_LABEL_LENGTH, MAX_CHANNEL_REPLY_ARTIFACT_REFS, MAX_CHANNEL_REPLY_ARTIFACT_URI_LENGTH, MAX_CHANNEL_REPLY_SUMMARY_LENGTH, MEMBERSHIP_UNAVAILABLE_REASONS, MemoryAgentRole, MemoryHealthChangedEvent, MemoryIdentity, MemoryObservation, MemoryObservationCreatedEvent, MemoryResetMarkerCreatedEvent, MemoryRollupTriggeredEvent, MemoryStatus, MemoryStatusPhase, MemoryStatusUpdatedEvent, MemoryTokenUsage, MergeReadyEvent, MergeStatusValue, ModelOrigin, ModelOriginEntry, OHMYPI_BEHAVIOR, OVERDECK_AGENT_PROTOCOL_VERSION, OVERDECK_DASHBOARD_PROTOCOL_VERSION, OpenInEditorInput, OperatorInterventionEvent, OrderBook, OrderBookIndexEntry, OrderBookItem, OrderBookLane, OrderBookPosture, OrderBookSettings, OrderBookStatus, PanRpcError, PanRpcGroup, PendingTurn, PipelineReviewCompletedEvent, PipelineReviewStartedEvent, PipelineStatusChangedEvent, PipelineTestCompletedEvent, PipelineTestStartedEvent, PipelineVerificationFailedEvent, PipelineVerificationStartedEvent, PlanItemStatusChangedEvent, PlanItemsUnblockedEvent, PlanSubitemStatusChangedEvent, PlanningFailedEvent, PlanningStartedEvent, PlanningSyncEvent, ProjectContextLayerRecord, ProjectContextLayerTarget, ProjectSessionTree, ProposedPlan, RagDecision, RagDecisionSource, ReadFileAtPathInput, ReadFileAtPathResult, ReadFileAtPathRpc, ReadWorkspaceFileInput, ReadWorkspaceFileResult, ReadWorkspaceFileRpc, ReleaseStatusValue, ReplayEventsRpc, ResetMarker, ResetMarkerScope, ResizeTerminalRpc, ResolveFilePathExistsInput, ResolveFilePathExistsResult, ResolveFilePathExistsRpc, ResourceStats, ResourcesUpdatedEvent, ReviewApprovedEvent, ReviewCoordinatorDiedEvent, ReviewCoordinatorStartedEvent, ReviewCycleEntry, ReviewReviewerCompletedEvent, ReviewReviewerStartedEvent, ReviewSpecialistTimedOutEvent, ReviewStatusChangedEvent, ReviewStatusSnapshot, ReviewStatusValue, ReviewVerdictDispatchedEvent, ReviewVerdictRejectedEvent, ReviewVerdictRestoreBlockedEvent, ReviewerRoundMetadata, ReviewerRoundSummary, Role, ScanCompleteEvent, ScanConversationsRpc, ScanProgressEvent, ScanProgressSnapshot, ScanResult, ScanStartedEvent, SearchConversationsRpc, SendTerminalInputRpc, SequenceNumber, ServiceHealthSnapshot, ServiceHealthStatus, SessionNode, SessionNodePresence, SessionNodeType, SessionTreeDelta, SessionsFeedFacetsSnapshot, SessionsFeedRowSnapshot, SessionsFeedSource, ShadowInferenceUpdateEvent, ShellOpenInEditorRpc, SpecialistCompletedEvent, SpecialistFailedEvent, SpecialistLifecycle, SpecialistStartedEvent, StartAgentRpc, StartPlanningRpc, SubagentSummary, SubscribeAgentOutputRpc, SubscribeConversationMessagesRpc, SubscribeDomainEventsRpc, SubscribeFlywheelStatusRpc, SubscribeIssueEventsRpc, SubscribeProjectSessionTreeRpc, SubscribeTerminalRpc, SubstrateBugFiledEvent, SweepEscalatedEvent, SweepRecommendationEvent, SweepScanEvent, SystemHealthConsumer, SystemHealthSeverityChangedEvent, SystemHealthSnapshot, SystemHeartbeatEvent, TELEMETRY_CLI_VERBS, TELEMETRY_EVENT_CATALOG, TELEMETRY_EVENT_NAMES, TELEMETRY_PROPERTY_DOMAINS, TerminalCloseRpc, TerminalOpenRpc, TerminalOutput, TerminalResizeRpc, TerminalWriteRpc, TestPassedEvent, TestStatusValue, ThinkingState, TurnDiffFileChange, TurnDiffSummary, UatStatusValue, VerificationStatusValue, WIRED_HOOK_INVENTORY, WIRED_HOOK_NAMES, WS_METHODS, WaitingReason, WaitingState, WorkCompletedEvent, WorkLogEntry, WorkspaceAbortedEvent, WorkspaceArtifactsResponse, WorkspaceContextLayerRecord, WorkspaceContextLayerTarget, WorkspaceCreatedEvent, WorkspaceDeletedEvent, WorkspaceDestroyedEvent, WorkspaceDetail, WorkspaceWipeStartedEvent, WriteFileAtPathInput, WriteFileAtPathResult, WriteFileAtPathRpc, applyEvent, applyEvents, compareIssueIds, decodeFlywheelStats, encodeFlywheelStats, getHarness, getHarnessBehavior, getMaxMemoryObservationsPerIssue, getMaxTurnDiffSummariesPerAgent, getRuntimeBehavior, isChannelReplyKind, isTerminalTurnDiffSummaryStatus, normalizeChannelReplyPayload, omitTurnDiffSummariesForAgent, projectLegacySystemHealthSummary, syncSnapshot, trimMemoryObservations, trimTurnDiffSummaries };
13363
+ export { ACP_BEHAVIOR, Activity, ActivityDetailedEvent, ActivityEntryEvent, ActivityTtsEvent, ActivityUpdatedEvent, AdmissionState, AgentActivityChangedEvent, AgentChannelReply, AgentChannelReplyEvent, AgentCompletedEvent, AgentContextSaturationChangedEvent, AgentCreatedEvent, AgentCurrentIssueSetEvent, AgentEnrichmentChangedEvent, AgentHealthKind, AgentHealthSnapshot, AgentHealthStatus, AgentHeartbeatDeadEvent, AgentHookFiredEvent, AgentId, AgentMessageReceivedEvent, AgentModelSetEvent, AgentOutput, AgentOutputReceivedEvent, AgentPermissionRequestedEvent, AgentPermissionResolvedEvent, AgentResolution, AgentResolutionChangedEvent, AgentRuntimeSnapshot, AgentSnapshot, AgentStartedEvent, AgentStateRestoredEvent, AgentStatus, AgentStatusChangedEvent, AgentStoppedEvent, AgentThinkingStartedEvent, AgentThinkingStoppedEvent, AgentTurnDiffCompletedEvent, AgentWaitingClearedEvent, AgentWaitingStartedEvent, ArtifactAgentHarness, ArtifactAgentRole, ArtifactCreateResponse, ArtifactDetailResponse, ArtifactHash, ArtifactId, ArtifactLifecycleState, ArtifactListEntry, ArtifactListResponse, ArtifactMetadata, ArtifactPublishResponse, ArtifactSlug, ArtifactStatusResponse, ArtifactUnshareResponse, ArtifactUrls, ArtifactValidationCode, ArtifactValidationFinding, ArtifactValidationResult, BeadsFreshnessChangedEvent, CHANNEL_REPLY_KIND_VALUES, CLAUDE_CODE_BEHAVIOR, CODEX_BEHAVIOR, COMPOSER_COMMAND_INSERT_OVERRIDES, COMPOSER_COMMAND_MANIFEST, COMPOSER_COMMAND_VARIANTS, CONTEXT_LAYER_KINDS, CONTEXT_PREVIEW_HARNESSES, ChannelPermissionRequestSnapshot, ChannelReplyArtifactRef, ChannelReplyKind, ChatMessage, ClaudeChannelPermissionBehavior, CompactBoundary, ContextEditableLayerRecord, ContextHarnessPreviews, ContextLayerDraft, ContextLayerKind, ContextLayerSaveRequest, ContextLayerSaveResponse, ContextLayerTarget, ContextLayersResponse, ContextPreviewDiagnostic, ContextPreviewHarness, ContextPreviewRequest, ContextPreviewResponse, ContextProjectSummary, ContextSyncRequest, ContextSyncResponse, ContextSyncTarget, ContextUsage, ContextWorkspaceSummary, ConversationCompactingChangedEvent, ConversationCostSummary, ConversationCreatedEvent, ConversationEvent, ConversationFilter, ConversationMovedEvent, ConversationPermissionChangedEvent, ConversationResponse, ConversationTitleChangedEvent, CostEventRecordedEvent, DEFAULT_MAX_MEMORY_OBSERVATIONS_PER_ISSUE, DEFAULT_MAX_TURN_DIFF_SUMMARIES_PER_AGENT, DashboardLifecycleCompletedEvent, DashboardLifecycleFailedEvent, DashboardLifecycleStartedEvent, DashboardSnapshot, DeepWipeRpc, DeployStalenessSnapshot, DiscoveredSessionSnapshot, DomainEvent, EDITORS, EditorIdSchema, EmbedProgressEvent, EmbedProgressSnapshot, EmbedSessionsRpc, EnrichCompleteEvent, EnrichProgressEvent, EnrichProgressSnapshot, EnrichSessionsRpc, EnrichStatsSnapshot, ExtractionProviderConfig, ExtractionProviderTarget, FeatureNode, FeatureRegistryEntry, FeatureRegistryStatus, FlywheelAgent, FlywheelAgentStatus, FlywheelEffort, FlywheelHarness, FlywheelHeadline, FlywheelHttpUrl, FlywheelOrchestrator, FlywheelOrders, FlywheelParkedItem, FlywheelPipelineItem, FlywheelPipelineStatus, FlywheelPipelineVerb, FlywheelRunId, FlywheelScope, FlywheelStats, FlywheelStatsCriteria, FlywheelStatsCriterion, FlywheelStatsCriterionStatus, FlywheelStatsCriterionValue, FlywheelStatsCriterionValueObject, FlywheelStatsTrend, FlywheelStatus, FlywheelSubstrateBug, FlywheelSubstrateBugStatus, FlywheelSuggestion, FlywheelSuggestionAction, FlywheelSuggestionPriority, FlywheelSystemStatus, GetAvailableEditorsRpc, GetConversationCostByWorkspaceRpc, GetConversationCostRpc, GetConversationStatsRpc, GetDiscoveredSessionRpc, GetSessionsFeedFacetsRpc, GetSnapshotRpc, GetWorkspaceDetailRpc, GlobalContextLayerRecord, GlobalContextLayerTarget, HOOK_INVENTORY, HealthReason, HealthState, HostHealthMetrics, HostPlatform, HygieneFinding, HygienePullRequest, HygieneReport, INITIAL_READ_MODEL_STATE, IssueId, IssueStatusChangedEvent, IssueTransitionedEvent, IssuesSnapshotEvent, IssuesUpdatedEvent, KIMI_CODE_BEHAVIOR, KNOWN_HARNESSES, LegacySystemHealthSummary, LegacyWebhookRelaySummary, LinearMcpAuthCallbackRelayedEvent, LinearMcpAuthHealthyEvent, LinearMcpAuthNotifiedEvent, LinearMcpAuthRequiredEvent, ListDiscoveredSessionsRpc, ListSessionsFeedRpc, MAX_CHANNEL_REPLY_ARTIFACT_LABEL_LENGTH, MAX_CHANNEL_REPLY_ARTIFACT_REFS, MAX_CHANNEL_REPLY_ARTIFACT_URI_LENGTH, MAX_CHANNEL_REPLY_SUMMARY_LENGTH, MEMBERSHIP_UNAVAILABLE_REASONS, MemoryAgentRole, MemoryHealthChangedEvent, MemoryIdentity, MemoryObservation, MemoryObservationCreatedEvent, MemoryResetMarkerCreatedEvent, MemoryRollupTriggeredEvent, MemoryStatus, MemoryStatusPhase, MemoryStatusUpdatedEvent, MemoryTokenUsage, MergeReadyEvent, MergeStatusValue, ModelOrigin, ModelOriginEntry, OHMYPI_BEHAVIOR, OVERDECK_AGENT_PROTOCOL_VERSION, OVERDECK_DASHBOARD_PROTOCOL_VERSION, OpenInEditorInput, OperatorInterventionEvent, OrderBook, OrderBookIndexEntry, OrderBookItem, OrderBookLane, OrderBookPosture, OrderBookSettings, OrderBookStatus, PanRpcError, PanRpcGroup, PendingTurn, PipelineReviewCompletedEvent, PipelineReviewStartedEvent, PipelineStatusChangedEvent, PipelineTestCompletedEvent, PipelineTestStartedEvent, PipelineVerificationFailedEvent, PipelineVerificationStartedEvent, PlanItemStatusChangedEvent, PlanItemsUnblockedEvent, PlanSubitemStatusChangedEvent, PlanningFailedEvent, PlanningStartedEvent, PlanningSyncEvent, ProjectCiHeadObservedEvent, ProjectCiSnapshot, ProjectCiSuite, ProjectCiSuiteObservedEvent, ProjectContextLayerRecord, ProjectContextLayerTarget, ProjectSessionTree, ProposedPlan, RagDecision, RagDecisionSource, ReadFileAtPathInput, ReadFileAtPathResult, ReadFileAtPathRpc, ReadWorkspaceFileInput, ReadWorkspaceFileResult, ReadWorkspaceFileRpc, ReleaseStatusValue, ReplayEventsRpc, ResetMarker, ResetMarkerScope, ResizeTerminalRpc, ResolveFilePathExistsInput, ResolveFilePathExistsResult, ResolveFilePathExistsRpc, ResourceStats, ResourcesUpdatedEvent, RestartGateChangedEvent, RestartGateKind, RestartGateOutcome, RestartGateRequest, RestartGateSnapshot, ReviewApprovedEvent, ReviewCoordinatorDiedEvent, ReviewCoordinatorStartedEvent, ReviewCycleEntry, ReviewReviewerCompletedEvent, ReviewReviewerStartedEvent, ReviewSpecialistTimedOutEvent, ReviewStatusChangedEvent, ReviewStatusSnapshot, ReviewStatusValue, ReviewVerdictDispatchedEvent, ReviewVerdictRejectedEvent, ReviewVerdictRestoreBlockedEvent, ReviewerRoundMetadata, ReviewerRoundSummary, Role, ScanCompleteEvent, ScanConversationsRpc, ScanProgressEvent, ScanProgressSnapshot, ScanResult, ScanStartedEvent, SearchConversationsRpc, SendTerminalInputRpc, SequenceNumber, ServiceHealthSnapshot, ServiceHealthStatus, SessionNode, SessionNodePresence, SessionNodeType, SessionTreeDelta, SessionsFeedFacetsSnapshot, SessionsFeedRowSnapshot, SessionsFeedSource, ShadowInferenceUpdateEvent, ShellOpenInEditorRpc, SpecialistCompletedEvent, SpecialistFailedEvent, SpecialistLifecycle, SpecialistStartedEvent, StartAgentRpc, StartPlanningRpc, SubagentSummary, SubscribeAgentOutputRpc, SubscribeConversationMessagesRpc, SubscribeDomainEventsRpc, SubscribeFlywheelStatusRpc, SubscribeIssueEventsRpc, SubscribeProjectSessionTreeRpc, SubscribeTerminalRpc, SubstrateBugFiledEvent, SweepEscalatedEvent, SweepRecommendationEvent, SweepScanEvent, SystemHealthConsumer, SystemHealthSeverityChangedEvent, SystemHealthSnapshot, SystemHeartbeatEvent, TELEMETRY_CLI_VERBS, TELEMETRY_EVENT_CATALOG, TELEMETRY_EVENT_NAMES, TELEMETRY_PROPERTY_DOMAINS, TerminalCloseRpc, TerminalOpenRpc, TerminalOutput, TerminalResizeRpc, TerminalWriteRpc, TestPassedEvent, TestStatusValue, ThinkingState, TurnDiffFileChange, TurnDiffSummary, UatStatusValue, VerificationStatusValue, WIRED_HOOK_INVENTORY, WIRED_HOOK_NAMES, WS_METHODS, WaitingReason, WaitingState, WorkCompletedEvent, WorkLogEntry, WorkspaceAbortedEvent, WorkspaceArtifactsResponse, WorkspaceContextLayerRecord, WorkspaceContextLayerTarget, WorkspaceCreatedEvent, WorkspaceDeletedEvent, WorkspaceDestroyedEvent, WorkspaceDetail, WorkspaceWipeStartedEvent, WriteFileAtPathInput, WriteFileAtPathResult, WriteFileAtPathRpc, applyEvent, applyEvents, compareIssueIds, decodeFlywheelStats, deriveProjectCi, encodeFlywheelStats, getHarness, getHarnessBehavior, getMaxMemoryObservationsPerIssue, getMaxTurnDiffSummariesPerAgent, getRuntimeBehavior, isChannelReplyKind, isTerminalTurnDiffSummaryStatus, normalizeChannelReplyPayload, omitTurnDiffSummariesForAgent, projectLegacySystemHealthSummary, syncSnapshot, trimMemoryObservations, trimTurnDiffSummaries };
12955
13364
 
12956
13365
  //# sourceMappingURL=index.mjs.map