@overdeck/contracts 0.67.0 → 0.69.0

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
@@ -541,8 +541,7 @@ const AgentSnapshot = Schema.Struct({
541
541
  })),
542
542
  resolution: Schema.optional(AgentResolution),
543
543
  resolutionCount: Schema.optional(Schema.Number),
544
- turnEndAssessment: Schema.optional(TurnEndAssessment),
545
- runtimeSnapshotSequence: Schema.optional(SequenceNumber)
544
+ turnEndAssessment: Schema.optional(TurnEndAssessment)
546
545
  });
547
546
  /** PAN-3151: A recorded cycle in the review convergence tracking series */
548
547
  const TurnDiffFileChange = Schema.Struct({
@@ -3341,7 +3340,11 @@ const WorkLogEntry = Schema.Struct({
3341
3340
  toolTitle: Schema.optional(Schema.String),
3342
3341
  /** Raw tool_use input dict — drives per-tool expanded rendering (PAN-1459). */
3343
3342
  toolInput: Schema.optional(Schema.Record(Schema.String, Schema.Unknown)),
3344
- sequence: Schema.optional(Schema.Number)
3343
+ sequence: Schema.optional(Schema.Number),
3344
+ /** PAN-4558: UTF-8 byte length of a `result` the wire projection removed. */
3345
+ resultBytes: Schema.optional(Schema.Number),
3346
+ /** PAN-4558: the wire projection removed or cut a tool body; fetch the full entry on expand. */
3347
+ bodyOmitted: Schema.optional(Schema.Boolean)
3345
3348
  });
3346
3349
  /** A human-origin message read from a subagent's own sidechain transcript (PAN-4247). */
3347
3350
  const SubagentHumanInput = Schema.Struct({
@@ -3361,6 +3364,20 @@ const SubagentSummary = Schema.Struct({
3361
3364
  /** Recent human-origin sidechain inputs, most useful when a message routed into this subagent instead of the main conversation (PAN-4247). */
3362
3365
  humanInputs: Schema.optional(Schema.Array(SubagentHumanInput))
3363
3366
  });
3367
+ /** PAN-4558: where a windowed response or page sits in the whole transcript. */
3368
+ const ConversationWindow = Schema.Struct({
3369
+ /** Encoded timeline key of the oldest contiguous entry; pass as `before=` for the next older page. */
3370
+ cursor: Schema.NullOr(Schema.String),
3371
+ hasOlder: Schema.Boolean,
3372
+ /** `"<dev>:<ino>"` of the transcript file the window was read from. */
3373
+ transcript: Schema.optional(Schema.String)
3374
+ });
3375
+ /** PAN-4558: what a resubscribing client already holds. */
3376
+ const ConversationResume = Schema.Struct({
3377
+ afterSequence: Schema.Number,
3378
+ openIds: Schema.Array(Schema.String),
3379
+ transcript: Schema.String
3380
+ });
3364
3381
  /**
3365
3382
  * Response shape for GET /api/agents/:id/conversation.
3366
3383
  * Shared between the dashboard server route and the frontend TerminalPanel.
@@ -3383,7 +3400,9 @@ const ConversationResponse = Schema.Struct({
3383
3400
  effortResolution: Schema.optional(Schema.NullOr(Schema.Struct({
3384
3401
  effort: EffortLevelSchema,
3385
3402
  source: Schema.String
3386
- })))
3403
+ }))),
3404
+ /** PAN-4558: present on windowed and paged responses only. */
3405
+ window: Schema.optional(ConversationWindow)
3387
3406
  });
3388
3407
  const ConversationEvent = Schema.Union([
3389
3408
  Schema.Struct({
@@ -3399,7 +3418,9 @@ const ConversationEvent = Schema.Union([
3399
3418
  totalCost: Schema.optional(Schema.Number),
3400
3419
  proposedPlan: Schema.optional(ProposedPlan),
3401
3420
  compactBoundaries: Schema.optional(Schema.Array(CompactBoundary)),
3402
- contextUsage: Schema.optional(Schema.NullOr(ContextUsage))
3421
+ contextUsage: Schema.optional(Schema.NullOr(ContextUsage)),
3422
+ /** PAN-4558: set on windowed snapshots; older history is paged in by `window.cursor`. */
3423
+ window: Schema.optional(ConversationWindow)
3403
3424
  }),
3404
3425
  Schema.Struct({ kind: Schema.Literal("discovering") }),
3405
3426
  Schema.Struct({
@@ -3461,10 +3482,17 @@ const GetSnapshotRpc = Rpc.make(WS_METHODS.getSnapshot, {
3461
3482
  success: DashboardSnapshot,
3462
3483
  error: PanRpcError
3463
3484
  });
3485
+ /**
3486
+ * PAN-4559: the server answers this instead of events when the gap after
3487
+ * fromSequence exceeds its replay cap; the client re-bootstraps via getSnapshot.
3488
+ */
3489
+ const ReplayTooFarBehind = Schema.Struct({ tooFarBehind: Schema.Literal(true) });
3490
+ /** Replay result: the missed events (unchanged array shape), or ReplayTooFarBehind. */
3491
+ const ReplayEventsResult = Schema.Union([Schema.Array(DomainEvent), ReplayTooFarBehind]);
3464
3492
  /** 5. Replay events since a given sequence number (unary) */
3465
3493
  const ReplayEventsRpc = Rpc.make(WS_METHODS.replayEvents, {
3466
3494
  payload: Schema.Struct({ fromSequence: SequenceNumber }),
3467
- success: Schema.Array(DomainEvent),
3495
+ success: ReplayEventsResult,
3468
3496
  error: PanRpcError
3469
3497
  });
3470
3498
  /** 6. Open a terminal session / attach PTY (unary) */
@@ -3632,7 +3660,9 @@ const ResizeTerminalRpc = Rpc.make(WS_METHODS.resizeTerminal, {
3632
3660
  const SubscribeConversationMessagesRpc = Rpc.make(WS_METHODS.subscribeConversationMessages, {
3633
3661
  payload: Schema.Struct({
3634
3662
  conversationName: Schema.String,
3635
- agentId: Schema.optional(Schema.String)
3663
+ agentId: Schema.optional(Schema.String),
3664
+ /** PAN-4558: what the client already holds; the server sends only newer or newly settled rows. */
3665
+ resume: Schema.optional(ConversationResume)
3636
3666
  }),
3637
3667
  success: ConversationEvent,
3638
3668
  error: PanRpcError,
@@ -3972,23 +4002,6 @@ function removeAgentFromSessionIndex(agentIdBySessionId, agentId) {
3972
4002
  for (const [sessionId, id] of Object.entries(agentIdBySessionId ?? {})) if (id !== agentId) next[sessionId] = id;
3973
4003
  return next;
3974
4004
  }
3975
- /**
3976
- * Bump runtimeSnapshotSequence on the corresponding AgentSnapshot (if present)
3977
- * so low-frequency subscribers can cheaply detect a runtime change. No-op if
3978
- * the agent has no lifecycle snapshot yet (a runtime event arrived before
3979
- * agent.created — unusual but defensive).
3980
- */
3981
- function bumpRuntimeSnapshotSequence(agentsById, agentId, sequence) {
3982
- const agent = agentsById[agentId];
3983
- if (!agent) return agentsById;
3984
- return {
3985
- ...agentsById,
3986
- [agentId]: {
3987
- ...agent,
3988
- runtimeSnapshotSequence: sequence
3989
- }
3990
- };
3991
- }
3992
4005
  function syncSnapshot(state, snapshot) {
3993
4006
  const agentsById = {};
3994
4007
  for (const agent of snapshot.agents) agentsById[agent.id] = agent;
@@ -4730,8 +4743,7 @@ function applyEvent(state, event) {
4730
4743
  agentRuntimeById: {
4731
4744
  ...state.agentRuntimeById,
4732
4745
  [agentId]: next
4733
- },
4734
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
4746
+ }
4735
4747
  };
4736
4748
  }
4737
4749
  case "agent.thinking_started": {
@@ -4756,8 +4768,7 @@ function applyEvent(state, event) {
4756
4768
  agentRuntimeById: {
4757
4769
  ...state.agentRuntimeById,
4758
4770
  [agentId]: next
4759
- },
4760
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
4771
+ }
4761
4772
  };
4762
4773
  }
4763
4774
  case "agent.thinking_stopped": {
@@ -4779,8 +4790,7 @@ function applyEvent(state, event) {
4779
4790
  agentRuntimeById: {
4780
4791
  ...state.agentRuntimeById,
4781
4792
  [agentId]: next
4782
- },
4783
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
4793
+ }
4784
4794
  };
4785
4795
  }
4786
4796
  case "agent.waiting_started": {
@@ -4805,8 +4815,7 @@ function applyEvent(state, event) {
4805
4815
  agentRuntimeById: {
4806
4816
  ...state.agentRuntimeById,
4807
4817
  [agentId]: next
4808
- },
4809
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
4818
+ }
4810
4819
  };
4811
4820
  }
4812
4821
  case "agent.waiting_cleared": {
@@ -4828,8 +4837,7 @@ function applyEvent(state, event) {
4828
4837
  agentRuntimeById: {
4829
4838
  ...state.agentRuntimeById,
4830
4839
  [agentId]: next
4831
- },
4832
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
4840
+ }
4833
4841
  };
4834
4842
  }
4835
4843
  case "agent.permission_requested": {
@@ -4906,8 +4914,7 @@ function applyEvent(state, event) {
4906
4914
  agentRuntimeById: {
4907
4915
  ...state.agentRuntimeById,
4908
4916
  [agentId]: next
4909
- },
4910
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
4917
+ }
4911
4918
  };
4912
4919
  }
4913
4920
  case "agent.channel_reply": {
@@ -4930,8 +4937,7 @@ function applyEvent(state, event) {
4930
4937
  agentRuntimeById: {
4931
4938
  ...state.agentRuntimeById,
4932
4939
  [agentId]: next
4933
- },
4934
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
4940
+ }
4935
4941
  };
4936
4942
  }
4937
4943
  case "agent.model_set": {
@@ -4965,7 +4971,6 @@ function applyEvent(state, event) {
4965
4971
  ...state.agentRuntimeById,
4966
4972
  [agentId]: next
4967
4973
  },
4968
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence),
4969
4974
  agentIdBySessionId: nextAgentIdBySessionId
4970
4975
  };
4971
4976
  }
@@ -4983,8 +4988,7 @@ function applyEvent(state, event) {
4983
4988
  agentRuntimeById: {
4984
4989
  ...state.agentRuntimeById,
4985
4990
  [agentId]: next
4986
- },
4987
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
4991
+ }
4988
4992
  };
4989
4993
  }
4990
4994
  case "agent.context_saturation_changed": {
@@ -5000,8 +5004,7 @@ function applyEvent(state, event) {
5000
5004
  agentRuntimeById: {
5001
5005
  ...state.agentRuntimeById,
5002
5006
  [agentId]: next
5003
- },
5004
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
5007
+ }
5005
5008
  };
5006
5009
  }
5007
5010
  case "agent.resolution_changed": {
@@ -5020,8 +5023,7 @@ function applyEvent(state, event) {
5020
5023
  agentRuntimeById: {
5021
5024
  ...state.agentRuntimeById,
5022
5025
  [agentId]: next
5023
- },
5024
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
5026
+ }
5025
5027
  };
5026
5028
  }
5027
5029
  case "agent.state_restored": {
@@ -5036,8 +5038,7 @@ function applyEvent(state, event) {
5036
5038
  agentRuntimeById: {
5037
5039
  ...state.agentRuntimeById,
5038
5040
  [agentId]: next
5039
- },
5040
- agentsById: bumpRuntimeSnapshotSequence(state.agentsById, agentId, event.sequence)
5041
+ }
5041
5042
  };
5042
5043
  }
5043
5044
  case "activity.entry": {
@@ -6048,6 +6049,170 @@ const FeatureRegistryEntry = Schema.Struct({
6048
6049
  tags: Schema.Array(Schema.String)
6049
6050
  });
6050
6051
  //#endregion
6052
+ //#region src/harness-capabilities.ts
6053
+ const HARNESS_CAPABILITY_KEYS = [
6054
+ "contextChannel",
6055
+ "initialPromptMustLand",
6056
+ "stopRuntimeOnStartFailure",
6057
+ "resumeContractMustLand",
6058
+ "reapsPrivateDaemonOnStop",
6059
+ "attachmentDelivery",
6060
+ "nativeManualCompact",
6061
+ "paneInputGuard",
6062
+ "transcriptDeliveryReceipt",
6063
+ "hostEffortFlag",
6064
+ "binaryLabel",
6065
+ "installHint",
6066
+ "binaryConfigKey",
6067
+ "launchPreflight",
6068
+ "workspaceResolution",
6069
+ "correlatesBySessionId"
6070
+ ];
6071
+ const CLAUDE_CODE_CAPABILITIES = {
6072
+ contextChannel: "append-system-prompt-file",
6073
+ initialPromptMustLand: false,
6074
+ stopRuntimeOnStartFailure: false,
6075
+ resumeContractMustLand: false,
6076
+ reapsPrivateDaemonOnStop: false,
6077
+ attachmentDelivery: "native",
6078
+ nativeManualCompact: true,
6079
+ paneInputGuard: true,
6080
+ transcriptDeliveryReceipt: true,
6081
+ hostEffortFlag: false,
6082
+ binaryLabel: "Claude Code",
6083
+ installHint: "curl -fsSL https://claude.ai/install.sh | bash",
6084
+ binaryConfigKey: null,
6085
+ launchPreflight: "claude-code-model-minimum",
6086
+ workspaceResolution: "claude-project-hash",
6087
+ correlatesBySessionId: false
6088
+ };
6089
+ const OHMYPI_CAPABILITIES = {
6090
+ contextChannel: "append-system-prompt",
6091
+ initialPromptMustLand: false,
6092
+ stopRuntimeOnStartFailure: false,
6093
+ resumeContractMustLand: false,
6094
+ reapsPrivateDaemonOnStop: false,
6095
+ attachmentDelivery: "inline-paths",
6096
+ nativeManualCompact: false,
6097
+ paneInputGuard: false,
6098
+ transcriptDeliveryReceipt: false,
6099
+ hostEffortFlag: false,
6100
+ binaryLabel: "OhMyPi",
6101
+ installHint: null,
6102
+ binaryConfigKey: null,
6103
+ launchPreflight: null,
6104
+ workspaceResolution: "first-message-only",
6105
+ correlatesBySessionId: true
6106
+ };
6107
+ const CODEX_CAPABILITIES = {
6108
+ contextChannel: "developer_instructions",
6109
+ initialPromptMustLand: false,
6110
+ stopRuntimeOnStartFailure: false,
6111
+ resumeContractMustLand: false,
6112
+ reapsPrivateDaemonOnStop: false,
6113
+ attachmentDelivery: "inline-paths",
6114
+ nativeManualCompact: false,
6115
+ paneInputGuard: false,
6116
+ transcriptDeliveryReceipt: false,
6117
+ hostEffortFlag: false,
6118
+ binaryLabel: "Codex CLI",
6119
+ installHint: null,
6120
+ binaryConfigKey: null,
6121
+ launchPreflight: null,
6122
+ workspaceResolution: "agent-dir",
6123
+ correlatesBySessionId: true
6124
+ };
6125
+ const ACP_CAPABILITIES = {
6126
+ contextChannel: "acp-initial-context",
6127
+ initialPromptMustLand: true,
6128
+ stopRuntimeOnStartFailure: true,
6129
+ resumeContractMustLand: false,
6130
+ reapsPrivateDaemonOnStop: false,
6131
+ attachmentDelivery: "inline-paths",
6132
+ nativeManualCompact: false,
6133
+ paneInputGuard: false,
6134
+ transcriptDeliveryReceipt: false,
6135
+ hostEffortFlag: false,
6136
+ binaryLabel: "Kimi Code CLI",
6137
+ installHint: null,
6138
+ binaryConfigKey: "acp.kimi.binaryPath",
6139
+ launchPreflight: null,
6140
+ workspaceResolution: "agent-dir",
6141
+ correlatesBySessionId: true
6142
+ };
6143
+ const KIMI_CODE_CAPABILITIES = {
6144
+ contextChannel: "initial-message-envelope",
6145
+ initialPromptMustLand: true,
6146
+ stopRuntimeOnStartFailure: true,
6147
+ resumeContractMustLand: true,
6148
+ reapsPrivateDaemonOnStop: false,
6149
+ attachmentDelivery: "inline-paths",
6150
+ nativeManualCompact: false,
6151
+ paneInputGuard: false,
6152
+ transcriptDeliveryReceipt: false,
6153
+ hostEffortFlag: false,
6154
+ binaryLabel: "Kimi Code CLI",
6155
+ installHint: null,
6156
+ binaryConfigKey: "kimiCode.binaryPath",
6157
+ launchPreflight: null,
6158
+ workspaceResolution: "first-message-only",
6159
+ correlatesBySessionId: true
6160
+ };
6161
+ const OPENCODE_CAPABILITIES = {
6162
+ contextChannel: "acp-initial-context",
6163
+ initialPromptMustLand: true,
6164
+ stopRuntimeOnStartFailure: true,
6165
+ resumeContractMustLand: false,
6166
+ reapsPrivateDaemonOnStop: false,
6167
+ attachmentDelivery: "inline-paths",
6168
+ nativeManualCompact: false,
6169
+ paneInputGuard: false,
6170
+ transcriptDeliveryReceipt: false,
6171
+ hostEffortFlag: true,
6172
+ binaryLabel: "OpenCode",
6173
+ installHint: null,
6174
+ binaryConfigKey: null,
6175
+ launchPreflight: null,
6176
+ workspaceResolution: "agent-dir",
6177
+ correlatesBySessionId: true
6178
+ };
6179
+ const MUSE_CAPABILITIES = {
6180
+ contextChannel: "append-system-prompt-file",
6181
+ initialPromptMustLand: false,
6182
+ stopRuntimeOnStartFailure: true,
6183
+ resumeContractMustLand: false,
6184
+ reapsPrivateDaemonOnStop: false,
6185
+ attachmentDelivery: "inline-paths",
6186
+ nativeManualCompact: false,
6187
+ paneInputGuard: false,
6188
+ transcriptDeliveryReceipt: false,
6189
+ hostEffortFlag: false,
6190
+ binaryLabel: "Muse Code",
6191
+ installHint: null,
6192
+ binaryConfigKey: null,
6193
+ launchPreflight: null,
6194
+ workspaceResolution: "first-message-only",
6195
+ correlatesBySessionId: true
6196
+ };
6197
+ const PRIME_AGENT_CAPABILITIES = {
6198
+ contextChannel: "prime-agent-append-system-prompt",
6199
+ initialPromptMustLand: true,
6200
+ stopRuntimeOnStartFailure: true,
6201
+ resumeContractMustLand: false,
6202
+ reapsPrivateDaemonOnStop: true,
6203
+ attachmentDelivery: "inline-paths",
6204
+ nativeManualCompact: false,
6205
+ paneInputGuard: false,
6206
+ transcriptDeliveryReceipt: false,
6207
+ hostEffortFlag: false,
6208
+ binaryLabel: "Prime Agent",
6209
+ installHint: null,
6210
+ binaryConfigKey: null,
6211
+ launchPreflight: null,
6212
+ workspaceResolution: "first-message-only",
6213
+ correlatesBySessionId: true
6214
+ };
6215
+ //#endregion
6051
6216
  //#region src/harness-behavior.ts
6052
6217
  const AGENT_SESSION_PREFIXES = [
6053
6218
  "agent-",
@@ -6063,6 +6228,7 @@ function isAgentSessionName(name) {
6063
6228
  }
6064
6229
  const CLAUDE_CODE_BEHAVIOR = {
6065
6230
  displayName: "Claude Code",
6231
+ capabilities: CLAUDE_CODE_CAPABILITIES,
6066
6232
  nativeCommands: [
6067
6233
  {
6068
6234
  name: "/model",
@@ -6107,6 +6273,7 @@ const CLAUDE_CODE_BEHAVIOR = {
6107
6273
  };
6108
6274
  const OHMYPI_BEHAVIOR = {
6109
6275
  displayName: "Pi",
6276
+ capabilities: OHMYPI_CAPABILITIES,
6110
6277
  nativeCommands: [],
6111
6278
  executableName: "omp",
6112
6279
  processNames: ["omp"],
@@ -6136,6 +6303,7 @@ const OHMYPI_BEHAVIOR = {
6136
6303
  };
6137
6304
  const CODEX_BEHAVIOR = {
6138
6305
  displayName: "Codex",
6306
+ capabilities: CODEX_CAPABILITIES,
6139
6307
  nativeCommands: [],
6140
6308
  executableName: "codex",
6141
6309
  processNames: ["codex"],
@@ -6159,6 +6327,7 @@ const CODEX_BEHAVIOR = {
6159
6327
  };
6160
6328
  const ACP_BEHAVIOR = {
6161
6329
  displayName: "ACP",
6330
+ capabilities: ACP_CAPABILITIES,
6162
6331
  nativeCommands: [],
6163
6332
  executableName: "acp-host",
6164
6333
  processNames: ["acp-host", "kimi"],
@@ -6182,6 +6351,7 @@ const ACP_BEHAVIOR = {
6182
6351
  };
6183
6352
  const KIMI_CODE_BEHAVIOR = {
6184
6353
  displayName: "Kimi Code",
6354
+ capabilities: KIMI_CODE_CAPABILITIES,
6185
6355
  nativeCommands: [],
6186
6356
  executableName: "kimi",
6187
6357
  processNames: ["kimi"],
@@ -6206,12 +6376,14 @@ const KIMI_CODE_BEHAVIOR = {
6206
6376
  const OPENCODE_BEHAVIOR = {
6207
6377
  ...ACP_BEHAVIOR,
6208
6378
  displayName: "OpenCode",
6379
+ capabilities: OPENCODE_CAPABILITIES,
6209
6380
  contextLayerKind: "opencode",
6210
6381
  executableName: "opencode",
6211
6382
  processNames: ["acp-host", "opencode"]
6212
6383
  };
6213
6384
  const MUSE_BEHAVIOR = {
6214
6385
  displayName: "Muse Code",
6386
+ capabilities: MUSE_CAPABILITIES,
6215
6387
  nativeCommands: [],
6216
6388
  executableName: "muse",
6217
6389
  processNames: ["muse", "muse-bin"],
@@ -6241,6 +6413,7 @@ const MUSE_BEHAVIOR = {
6241
6413
  };
6242
6414
  const PRIME_AGENT_BEHAVIOR = {
6243
6415
  displayName: "Prime Agent",
6416
+ capabilities: PRIME_AGENT_CAPABILITIES,
6244
6417
  nativeCommands: [],
6245
6418
  executableName: "prime-agent",
6246
6419
  processNames: ["prime-agent"],
@@ -6272,15 +6445,18 @@ const BEHAVIORS = {
6272
6445
  muse: MUSE_BEHAVIOR,
6273
6446
  "prime-agent": PRIME_AGENT_BEHAVIOR
6274
6447
  };
6448
+ const LEGACY_PI_HARNESS = "pi";
6449
+ /** True for the legacy stored harness alias `pi` (PAN-1989), which now means ohmypi. */
6450
+ function isLegacyPiHarnessName(raw) {
6451
+ return raw === LEGACY_PI_HARNESS;
6452
+ }
6453
+ /** Map a stored or requested harness string to a RuntimeName; legacy `pi` → `ohmypi`; anything else → null. */
6454
+ function normalizeHarnessName(raw) {
6455
+ if (isLegacyPiHarnessName(raw)) return "ohmypi";
6456
+ return typeof raw === "string" && KNOWN_HARNESSES.has(raw) ? raw : null;
6457
+ }
6275
6458
  function getHarnessBehavior(harness) {
6276
- if (harness === "ohmypi" || harness === "pi") return OHMYPI_BEHAVIOR;
6277
- if (harness === "codex") return CODEX_BEHAVIOR;
6278
- if (harness === "opencode") return OPENCODE_BEHAVIOR;
6279
- if (harness === "acp") return ACP_BEHAVIOR;
6280
- if (harness === "kimi-code") return KIMI_CODE_BEHAVIOR;
6281
- if (harness === "muse") return MUSE_BEHAVIOR;
6282
- if (harness === "prime-agent") return PRIME_AGENT_BEHAVIOR;
6283
- return CLAUDE_CODE_BEHAVIOR;
6459
+ return BEHAVIORS[normalizeHarnessName(harness) ?? "claude-code"];
6284
6460
  }
6285
6461
  function getRuntimeBehavior(runtime) {
6286
6462
  return BEHAVIORS[runtime];
@@ -6599,7 +6775,8 @@ const TELEMETRY_EVENT_CATALOG = {
6599
6775
  fork_intent: "fork_kind",
6600
6776
  fork_mode: "fork_kind",
6601
6777
  fast_summary: "boolean",
6602
- launch_harness: "harness"
6778
+ launch_harness: "harness",
6779
+ fresh_start: "boolean"
6603
6780
  },
6604
6781
  plan_approved: { subject_kind: "decision_subject" },
6605
6782
  plan_changes_requested: { subject_kind: "decision_subject" },
@@ -8118,6 +8295,12 @@ const COMPOSER_COMMAND_MANIFEST = [
8118
8295
  "description": "Create and launch the new conversation without sending the kickoff; start it with Send in the dashboard or pan handoff start <conv>",
8119
8296
  "required": false,
8120
8297
  "valueHint": null
8298
+ },
8299
+ {
8300
+ "flags": "--fresh",
8301
+ "description": "Start a clean conversation: no handoff document, no summary, no parent link; the focus is its first message. Project, cwd, model and effort still default from the source",
8302
+ "required": false,
8303
+ "valueHint": null
8121
8304
  }
8122
8305
  ],
8123
8306
  "aliases": [],
@@ -10872,6 +11055,328 @@ const COMPOSER_COMMAND_MANIFEST = [
10872
11055
  "aliases": [],
10873
11056
  "category": "Observation"
10874
11057
  },
11058
+ {
11059
+ "id": "pan-memory-show",
11060
+ "path": ["memory", "show"],
11061
+ "display": "/pan memory show",
11062
+ "description": "Print a curated memory fact",
11063
+ "args": [{
11064
+ "name": "id",
11065
+ "required": true,
11066
+ "variadic": false
11067
+ }],
11068
+ "options": [
11069
+ {
11070
+ "flags": "--project <key>",
11071
+ "description": "Project key (defaults to the project owning the cwd)",
11072
+ "required": true,
11073
+ "valueHint": "key"
11074
+ },
11075
+ {
11076
+ "flags": "--user",
11077
+ "description": "Read from the operator store (travels with you; synced when set up)",
11078
+ "required": false,
11079
+ "valueHint": null
11080
+ },
11081
+ {
11082
+ "flags": "--machine",
11083
+ "description": "Read from the machine store (this machine only)",
11084
+ "required": false,
11085
+ "valueHint": null
11086
+ },
11087
+ {
11088
+ "flags": "--here",
11089
+ "description": "Read from the cwd checkout's store instead of the primary checkout",
11090
+ "required": false,
11091
+ "valueHint": null
11092
+ }
11093
+ ],
11094
+ "aliases": [],
11095
+ "category": "Observation"
11096
+ },
11097
+ {
11098
+ "id": "pan-memory-list",
11099
+ "path": ["memory", "list"],
11100
+ "display": "/pan memory list",
11101
+ "description": "List curated memory facts",
11102
+ "args": [],
11103
+ "options": [
11104
+ {
11105
+ "flags": "--type <type>",
11106
+ "description": "Filter by fact type (feedback|project|reference|user)",
11107
+ "required": true,
11108
+ "valueHint": "type"
11109
+ },
11110
+ {
11111
+ "flags": "--query <q>",
11112
+ "description": "Filter by a fact-matching query (see pan memory search)",
11113
+ "required": true,
11114
+ "valueHint": "q"
11115
+ },
11116
+ {
11117
+ "flags": "--review",
11118
+ "description": "Show only facts carrying a review marker (default: active facts only)",
11119
+ "required": false,
11120
+ "valueHint": null
11121
+ },
11122
+ {
11123
+ "flags": "--project <key>",
11124
+ "description": "Project key (defaults to the project owning the cwd)",
11125
+ "required": true,
11126
+ "valueHint": "key"
11127
+ },
11128
+ {
11129
+ "flags": "--user",
11130
+ "description": "List the operator store (travels with you; synced when set up)",
11131
+ "required": false,
11132
+ "valueHint": null
11133
+ },
11134
+ {
11135
+ "flags": "--machine",
11136
+ "description": "List the machine store (this machine only)",
11137
+ "required": false,
11138
+ "valueHint": null
11139
+ },
11140
+ {
11141
+ "flags": "--here",
11142
+ "description": "List the cwd checkout's store instead of the primary checkout",
11143
+ "required": false,
11144
+ "valueHint": null
11145
+ },
11146
+ {
11147
+ "flags": "--json",
11148
+ "description": "Output JSON",
11149
+ "required": false,
11150
+ "valueHint": null
11151
+ }
11152
+ ],
11153
+ "aliases": [],
11154
+ "category": "Observation"
11155
+ },
11156
+ {
11157
+ "id": "pan-memory-add",
11158
+ "path": ["memory", "add"],
11159
+ "display": "/pan memory add",
11160
+ "description": "Add a curated memory fact",
11161
+ "args": [{
11162
+ "name": "id",
11163
+ "required": true,
11164
+ "variadic": false
11165
+ }],
11166
+ "options": [
11167
+ {
11168
+ "flags": "--type <type>",
11169
+ "description": "Fact type (feedback|project|reference|user)",
11170
+ "required": true,
11171
+ "valueHint": "type"
11172
+ },
11173
+ {
11174
+ "flags": "--description <text>",
11175
+ "description": "One-line index description (<= 200 chars)",
11176
+ "required": true,
11177
+ "valueHint": "text"
11178
+ },
11179
+ {
11180
+ "flags": "--title <text>",
11181
+ "description": "Fact title (defaults to the id, dashes as spaces, capitalized)",
11182
+ "required": true,
11183
+ "valueHint": "text"
11184
+ },
11185
+ {
11186
+ "flags": "--body <text>",
11187
+ "description": "Fact body",
11188
+ "required": true,
11189
+ "valueHint": "text"
11190
+ },
11191
+ {
11192
+ "flags": "--body-file <path>",
11193
+ "description": "Read the fact body from a file",
11194
+ "required": true,
11195
+ "valueHint": "path"
11196
+ },
11197
+ {
11198
+ "flags": "--tags <a,b>",
11199
+ "description": "Comma-separated tags",
11200
+ "required": true,
11201
+ "valueHint": "a,b"
11202
+ },
11203
+ {
11204
+ "flags": "--project <key>",
11205
+ "description": "Project key (defaults to the project owning the cwd)",
11206
+ "required": true,
11207
+ "valueHint": "key"
11208
+ },
11209
+ {
11210
+ "flags": "--user",
11211
+ "description": "Write to the operator store (travels with you; synced when set up)",
11212
+ "required": false,
11213
+ "valueHint": null
11214
+ },
11215
+ {
11216
+ "flags": "--machine",
11217
+ "description": "Write to the machine store (this machine only)",
11218
+ "required": false,
11219
+ "valueHint": null
11220
+ },
11221
+ {
11222
+ "flags": "--json",
11223
+ "description": "Output JSON",
11224
+ "required": false,
11225
+ "valueHint": null
11226
+ }
11227
+ ],
11228
+ "aliases": [],
11229
+ "category": "Observation"
11230
+ },
11231
+ {
11232
+ "id": "pan-memory-edit",
11233
+ "path": ["memory", "edit"],
11234
+ "display": "/pan memory edit",
11235
+ "description": "Edit a curated memory fact",
11236
+ "args": [{
11237
+ "name": "id",
11238
+ "required": true,
11239
+ "variadic": false
11240
+ }],
11241
+ "options": [
11242
+ {
11243
+ "flags": "--type <type>",
11244
+ "description": "Fact type (feedback|project|reference|user)",
11245
+ "required": true,
11246
+ "valueHint": "type"
11247
+ },
11248
+ {
11249
+ "flags": "--title <text>",
11250
+ "description": "Fact title",
11251
+ "required": true,
11252
+ "valueHint": "text"
11253
+ },
11254
+ {
11255
+ "flags": "--description <text>",
11256
+ "description": "One-line index description (<= 200 chars)",
11257
+ "required": true,
11258
+ "valueHint": "text"
11259
+ },
11260
+ {
11261
+ "flags": "--body <text>",
11262
+ "description": "Fact body",
11263
+ "required": true,
11264
+ "valueHint": "text"
11265
+ },
11266
+ {
11267
+ "flags": "--body-file <path>",
11268
+ "description": "Read the fact body from a file",
11269
+ "required": true,
11270
+ "valueHint": "path"
11271
+ },
11272
+ {
11273
+ "flags": "--tags <a,b>",
11274
+ "description": "Comma-separated tags",
11275
+ "required": true,
11276
+ "valueHint": "a,b"
11277
+ },
11278
+ {
11279
+ "flags": "--clear-review",
11280
+ "description": "Remove the review marker, re-activating the fact",
11281
+ "required": false,
11282
+ "valueHint": null
11283
+ },
11284
+ {
11285
+ "flags": "--project <key>",
11286
+ "description": "Project key (defaults to the project owning the cwd)",
11287
+ "required": true,
11288
+ "valueHint": "key"
11289
+ },
11290
+ {
11291
+ "flags": "--user",
11292
+ "description": "Edit the operator store (travels with you; synced when set up)",
11293
+ "required": false,
11294
+ "valueHint": null
11295
+ },
11296
+ {
11297
+ "flags": "--machine",
11298
+ "description": "Edit the machine store (this machine only)",
11299
+ "required": false,
11300
+ "valueHint": null
11301
+ },
11302
+ {
11303
+ "flags": "--json",
11304
+ "description": "Output JSON",
11305
+ "required": false,
11306
+ "valueHint": null
11307
+ }
11308
+ ],
11309
+ "aliases": [],
11310
+ "category": "Observation"
11311
+ },
11312
+ {
11313
+ "id": "pan-memory-retire",
11314
+ "path": ["memory", "retire"],
11315
+ "display": "/pan memory retire",
11316
+ "description": "Remove a curated memory fact (git history is the archive)",
11317
+ "args": [{
11318
+ "name": "id",
11319
+ "required": true,
11320
+ "variadic": false
11321
+ }],
11322
+ "options": [
11323
+ {
11324
+ "flags": "--project <key>",
11325
+ "description": "Project key (defaults to the project owning the cwd)",
11326
+ "required": true,
11327
+ "valueHint": "key"
11328
+ },
11329
+ {
11330
+ "flags": "--user",
11331
+ "description": "Retire from the operator store (travels with you; synced when set up)",
11332
+ "required": false,
11333
+ "valueHint": null
11334
+ },
11335
+ {
11336
+ "flags": "--machine",
11337
+ "description": "Retire from the machine store (this machine only)",
11338
+ "required": false,
11339
+ "valueHint": null
11340
+ },
11341
+ {
11342
+ "flags": "--json",
11343
+ "description": "Output JSON",
11344
+ "required": false,
11345
+ "valueHint": null
11346
+ }
11347
+ ],
11348
+ "aliases": [],
11349
+ "category": "Observation"
11350
+ },
11351
+ {
11352
+ "id": "pan-memory-sync",
11353
+ "path": ["memory", "sync"],
11354
+ "display": "/pan memory sync",
11355
+ "description": "Sync the operator memory store with your private git remote",
11356
+ "args": [],
11357
+ "options": [
11358
+ {
11359
+ "flags": "--setup <git-url>",
11360
+ "description": "Turn on sync: use this private git repository as the remote, then sync",
11361
+ "required": true,
11362
+ "valueHint": "git-url"
11363
+ },
11364
+ {
11365
+ "flags": "--status",
11366
+ "description": "Show sync state without touching the network",
11367
+ "required": false,
11368
+ "valueHint": null
11369
+ },
11370
+ {
11371
+ "flags": "--json",
11372
+ "description": "Output JSON",
11373
+ "required": false,
11374
+ "valueHint": null
11375
+ }
11376
+ ],
11377
+ "aliases": [],
11378
+ "category": "Observation"
11379
+ },
10875
11380
  {
10876
11381
  "id": "pan-briefing",
10877
11382
  "path": ["briefing"],
@@ -15774,6 +16279,83 @@ function laneActivityOf(row, now) {
15774
16279
  return "stopped";
15775
16280
  }
15776
16281
  //#endregion
16282
+ //#region src/conversation-window.ts
16283
+ /**
16284
+ * Conversation window contract shared by the dashboard server and the
16285
+ * frontend (PAN-4558). A cold open carries only the newest slice of a
16286
+ * transcript; older history is paged in by cursor. The constants bound every
16287
+ * open, and the timeline key gives entries one total order on both sides.
16288
+ */
16289
+ /** Most timeline rows a window or page carries. */
16290
+ const CONVERSATION_WINDOW_MAX_ROWS = 75;
16291
+ /** Most encoded entry bytes a window carries (960 KiB, leaving 64 KiB for metadata). */
16292
+ const CONVERSATION_WINDOW_MAX_BYTES = 983040;
16293
+ /** Whole-payload ceiling for an initial HTTP body or first WS event. */
16294
+ const CONVERSATION_PAYLOAD_BUDGET_BYTES = 1048576;
16295
+ /** Default `limit` for a paged read. */
16296
+ const CONVERSATION_PAGE_DEFAULT_LIMIT = 75;
16297
+ /** Largest `limit` a paged read accepts; larger values clamp to it. */
16298
+ const CONVERSATION_PAGE_MAX_LIMIT = 200;
16299
+ /** A tool `result` (or `detail`/`toolInput` string) above this many UTF-8 bytes leaves the wire. */
16300
+ const TOOL_BODY_INLINE_MAX_BYTES = 4096;
16301
+ /** Characters kept from an oversized `detail`/`toolInput` string. */
16302
+ const TOOL_BODY_PREVIEW_CHARS = 512;
16303
+ /** Most open entry ids a resume may name. */
16304
+ const RESUME_OPEN_IDS_MAX = 200;
16305
+ /** Most open tool calls pinned into a window beyond its contiguous slice. */
16306
+ const WINDOW_PINNED_OPEN_TOOLS_MAX = 10;
16307
+ function timelineKeyOfMessage(m) {
16308
+ return [
16309
+ m.createdAt,
16310
+ m.sequence ?? 0,
16311
+ 0,
16312
+ m.id
16313
+ ];
16314
+ }
16315
+ function timelineKeyOfWork(e) {
16316
+ return [
16317
+ e.createdAt,
16318
+ e.sequence ?? 0,
16319
+ 1,
16320
+ e.id
16321
+ ];
16322
+ }
16323
+ function compareStrings(a, b) {
16324
+ return a < b ? -1 : a > b ? 1 : 0;
16325
+ }
16326
+ /** Total order: createdAt (string compare), then sequence, then message before work, then id. */
16327
+ function compareTimelineKeys(a, b) {
16328
+ return compareStrings(a[0], b[0]) || a[1] - b[1] || a[2] - b[2] || compareStrings(a[3], b[3]);
16329
+ }
16330
+ function encodeTimelineCursor(key) {
16331
+ return JSON.stringify(key);
16332
+ }
16333
+ /** Returns null for anything that is not an encoded 4-tuple of string, finite number, 0|1, string. */
16334
+ function decodeTimelineCursor(cursor) {
16335
+ let value;
16336
+ try {
16337
+ value = JSON.parse(cursor);
16338
+ } catch {
16339
+ return null;
16340
+ }
16341
+ if (!Array.isArray(value) || value.length !== 4) return null;
16342
+ const [createdAt, sequence, kindRank, id] = value;
16343
+ if (typeof createdAt !== "string") return null;
16344
+ if (typeof sequence !== "number" || !Number.isFinite(sequence)) return null;
16345
+ if (kindRank !== 0 && kindRank !== 1) return null;
16346
+ if (typeof id !== "string") return null;
16347
+ return [
16348
+ createdAt,
16349
+ sequence,
16350
+ kindRank,
16351
+ id
16352
+ ];
16353
+ }
16354
+ /** A tool entry has a result when it carries one inline or the wire projection elided it. */
16355
+ function hasToolResult(e) {
16356
+ return !!e.result || (e.resultBytes ?? 0) > 0;
16357
+ }
16358
+ //#endregion
15777
16359
  //#region src/environment.ts
15778
16360
  /** Wire protocol version a client and server must agree on. */
15779
16361
  const ENVIRONMENT_PROTOCOL_VERSION = 1;
@@ -15815,6 +16397,6 @@ function isProtocolCompatible(descriptor, clientProtocolVersion) {
15815
16397
  return descriptor.protocolVersion === clientProtocolVersion;
15816
16398
  }
15817
16399
  //#endregion
15818
- export { ACP_BEHAVIOR, AGENT_ROLES, Activity, ActivityDetailedEvent, ActivityEntryEvent, ActivityTtsEvent, ActivityUpdatedEvent, AdmissionState, AgentActivityChangedEvent, AgentChannelReply, AgentChannelReplyEvent, AgentCompletedEvent, AgentContextSaturationChangedEvent, AgentCreatedEvent, AgentCurrentIssueSetEvent, AgentDirectoryResponse, 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, BackendPane, BackendPaneChangedEvent, BackendPaneRemovedEvent, BeadsFreshnessChangedEvent, CHANNEL_REPLY_KIND_VALUES, CLAUDE_CODE_BEHAVIOR, CODEX_BEHAVIOR, COMPANION_TERMINAL_CLOSE_BODY_KEYS, COMPANION_TERMINAL_OPEN_BODY_KEYS, 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, ConversationPullRequests, ConversationPullRequestsChangedEvent, ConversationResponse, ConversationTitleChangedEvent, CostEventRecordedEvent, DEFAULT_EFFORT, DEFAULT_MAX_MEMORY_OBSERVATIONS_PER_ISSUE, DEFAULT_MAX_TURN_DIFF_SUMMARIES_PER_AGENT, DashboardLifecycleCompletedEvent, DashboardLifecycleFailedEvent, DashboardLifecycleStartedEvent, DashboardSnapshot, DeepWipeRpc, DeployStalenessSnapshot, DerivedBranchState, DerivedIssueState, DerivedPrState, DerivedWorkStart, DirectoryEntry, DirectoryEntryKind, DirectoryEntryLocation, DirectoryEntrySource, DirectoryEntryState, DirectoryPause, DirectoryPauseBy, DirectoryProviderError, DirectoryScope, DirectoryTranscriptRef, DiscoveredSessionSnapshot, DomainEvent, EDITORS, EFFORT_LEVELS, ENVIRONMENT_PROTOCOL_VERSION, EditorIdSchema, EffortLevelSchema, EmbedProgressEvent, EmbedProgressSnapshot, EmbedSessionsRpc, EnrichCompleteEvent, EnrichProgressEvent, EnrichProgressSnapshot, EnrichSessionsRpc, EnrichStatsSnapshot, EnvironmentCapabilities, EnvironmentDescriptor, EnvironmentId, ExtractionProviderConfig, ExtractionProviderTarget, FeatureNode, FeatureRegistryEntry, FeatureRegistryStatus, FlywheelAgent, FlywheelAgentStatus, FlywheelAgentSummary, FlywheelBugRateCriterion, FlywheelConversationSummary, FlywheelDerivedStatus, FlywheelEffort, FlywheelFreshness, FlywheelHarness, FlywheelHeadline, FlywheelHttpUrl, FlywheelInFlightRow, FlywheelJournalSummary, FlywheelLastTick, FlywheelOrchestrator, FlywheelOrderBookSummary, FlywheelOrders, FlywheelP0Criterion, FlywheelParkedItem, FlywheelPipelineItem, FlywheelPipelineStatus, FlywheelPipelineVerb, FlywheelPolicies, FlywheelRunId, FlywheelRunState, FlywheelScope, FlywheelStats, FlywheelStatsCriterionStatus, FlywheelStatsTrend, FlywheelStatsWindow, FlywheelStatus, FlywheelSubstrateBug, FlywheelSubstrateBugRow, FlywheelSubstrateBugStatus, FlywheelSubstrateSeverity, FlywheelSuggestion, FlywheelSuggestionAction, FlywheelSuggestionPriority, FlywheelSystemStatus, GITHUB_QUOTA_BUCKETS, GITHUB_QUOTA_CALLERS, GITHUB_QUOTA_POOLS, GetAvailableEditorsRpc, GetConversationCostByWorkspaceRpc, GetConversationCostRpc, GetConversationStatsRpc, GetDiscoveredSessionRpc, GetSessionsFeedFacetsRpc, GetSnapshotRpc, GitHubQuotaBucket, GitHubQuotaCaller, GitHubQuotaCallerUsage, GitHubQuotaChangedEvent, GitHubQuotaPause, GitHubQuotaPool, GitHubQuotaSample, GitHubQuotaSnapshot, GitHubQuotaUsage, GitHubRateLimitKind, GlobalContextLayerRecord, GlobalContextLayerTarget, HOOK_INVENTORY, HealthReason, HealthState, HostHealthMetrics, HostPlatform, HygieneFinding, HygienePullRequest, HygieneReport, INITIAL_READ_MODEL_STATE, ISSUE_ATTENTIONS, ISSUE_STATES, ISSUE_STATE_PRECEDENCE, IssueAttention, IssueId, IssueState, IssueStateChangedEvent, IssueStatusChangedEvent, IssueTransitionedEvent, IssuesDeltaEvent, IssuesSnapshotEvent, IssuesUpdatedEvent, KIMI_CODE_BEHAVIOR, KNOWN_HARNESSES, LANE_STARTING_GRACE_MS, 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, MUSE_BEHAVIOR, MemoryAgentRole, MemoryHealthChangedEvent, MemoryIdentity, MemoryObservation, MemoryObservationCreatedEvent, MemoryResetMarkerCreatedEvent, MemoryRollupTriggeredEvent, MemoryStatus, MemoryStatusPhase, MemoryStatusUpdatedEvent, MemoryTokenUsage, MergeReadyEvent, ModelOrigin, ModelOriginEntry, NON_ESSENTIAL_GITHUB_CALLERS, OHMYPI_BEHAVIOR, OPENCODE_BEHAVIOR, OVERDECK_AGENT_PROTOCOL_VERSION, OVERDECK_DASHBOARD_PROTOCOL_VERSION, OpenInEditorInput, OperatorInterventionEvent, OrderBook, OrderBookIndexEntry, OrderBookItem, OrderBookLane, OrderBookPosture, OrderBookSettings, OrderBookStatus, PIPELINE_MEMBERSHIP_LOADING_CODE, PRIME_AGENT_BEHAVIOR, PanRpcError, PanRpcGroup, PendingTurn, PipelineReviewCompletedEvent, PipelineReviewStartedEvent, PipelineTestCompletedEvent, PipelineTestStartedEvent, PipelineVerificationFailedEvent, PipelineVerificationStartedEvent, PlanItemStatusChangedEvent, PlanItemsUnblockedEvent, PlanSubitemStatusChangedEvent, PlanningFailedEvent, PlanningStartedEvent, PlanningSyncEvent, PrChecksState, PrReviewState, ProjectCiHeadObservedEvent, ProjectCiSnapshot, ProjectCiSuite, ProjectCiSuiteObservedEvent, ProjectContextLayerRecord, ProjectContextLayerTarget, ProjectDeployChangedEvent, ProjectDeployPhase, ProjectDeploySnapshot, ProjectSessionTree, ProposedPlan, PullRequestKey, PullRequestLink, PullRequestLinkListing, PullRequestLinkSource, PullRequestLinkedConversation, PullRequestSnapshot, PullRequestState, RagDecision, RagDecisionSource, ReadFileAtPathInput, ReadFileAtPathResult, ReadFileAtPathRpc, ReadWorkspaceFileInput, ReadWorkspaceFileResult, ReadWorkspaceFileRpc, ReplayEventsRpc, ResetMarker, ResetMarkerScope, ResizeTerminalRpc, ResolveFilePathExistsInput, ResolveFilePathExistsResult, ResolveFilePathExistsRpc, ResourceStats, ResourcesUpdatedEvent, RestartGateChangedEvent, RestartGateKind, RestartGateOutcome, RestartGateRequest, RestartGateSnapshot, ReviewApprovedEvent, ReviewCoordinatorDiedEvent, ReviewCoordinatorStartedEvent, ReviewReviewerCompletedEvent, ReviewReviewerStartedEvent, ReviewSpecialistTimedOutEvent, ReviewVerdictDispatchedEvent, ReviewVerdictRejectedEvent, ReviewVerdictRestoreBlockedEvent, ReviewerRoundMetadata, ReviewerRoundSummary, Role, SINGLETON_AGENT_IDS, ScanCompleteEvent, ScanConversationsRpc, ScanProgressEvent, ScanProgressSnapshot, ScanResult, ScanStartedEvent, ScopedAgentRef, ScopedConversationRef, ScopedIssueRef, ScopedProjectRef, ScopedRef, ScopedTerminalRef, SearchConversationsRpc, SendTerminalInputRpc, SequenceNumber, ServiceHealthSnapshot, ServiceHealthStatus, SessionNode, SessionNodePresence, SessionNodeType, SessionTreeDelta, SessionsFeedFacetsSnapshot, SessionsFeedRowSnapshot, SessionsFeedSource, ShadowInferenceUpdateEvent, ShellOpenInEditorRpc, SpecialistCompletedEvent, SpecialistFailedEvent, SpecialistLifecycle, SpecialistStartedEvent, StartAgentRpc, StartPlanningRpc, SubagentHumanInput, SubagentSummary, SubscribeAgentOutputRpc, SubscribeConversationMessagesRpc, SubscribeDomainEventsRpc, SubscribeIssueEventsRpc, SubscribeProjectSessionTreeRpc, SubscribeTerminalRpc, SubstrateBugFiledEvent, SweepEscalatedEvent, SweepRecommendationEvent, SweepScanEvent, SystemHealthConsumer, SystemHealthSeverityChangedEvent, SystemHealthSnapshot, SystemHeartbeatEvent, TELEMETRY_CLI_VERBS, TELEMETRY_EVENT_CATALOG, TELEMETRY_EVENT_NAMES, TELEMETRY_PROPERTY_DOMAINS, TERMINAL_BACKEND_NAMES, TerminalCloseRpc, TerminalOpenRpc, TerminalOutput, TerminalResizeRpc, TerminalWriteRpc, TestPassedEvent, ThinkingState, TickMarker, TickMarkerPhase, TurnDiffFileChange, TurnDiffSummary, TurnEndAssessment, WIRED_HOOK_INVENTORY, WIRED_HOOK_NAMES, WS_METHODS, WaitingReason, WaitingState, WorkCompletedEvent, WorkLogEntry, WorkspaceAbortedEvent, WorkspaceArtifactsResponse, WorkspaceContextLayerRecord, WorkspaceContextLayerTarget, WorkspaceCreatedEvent, WorkspaceDeletedEvent, WorkspaceDestroyedEvent, WorkspaceWipeStartedEvent, WriteFileAtPathInput, WriteFileAtPathResult, WriteFileAtPathRpc, applyEvent, applyEvents, applyIssueDelta, bucketQuotaPoints, bucketQuotaRemaining, canonicalPullRequestUrl, companionTerminalKindFor, compareEffort, compareIssueIds, createIssueDelta, decodeFlywheelDerivedStatus, decodeFlywheelStats, deriveProjectCi, encodeFlywheelStats, getHarness, getHarnessBehavior, getMaxMemoryObservationsPerIssue, getMaxTurnDiffSummariesPerAgent, getRuntimeBehavior, indexPanesByAgentKey, isAgentRole, isAgentSessionName, isChannelReplyKind, isConfiguredPullRequestRepo, isEffortLevel, isIssueAttention, isIssueState, isProtocolCompatible, isSingletonConversation, isTerminalBackendName, isTerminalTurnDiffSummaryStatus, laneActivityOf, normalizeChannelReplyPayload, omitTurnDiffSummariesForAgent, paneAgentKey, parsePullRequestRef, projectLegacySystemHealthSummary, repoFromRemoteUrl, resolveEffectivePullRequest, syncSnapshot, trimMemoryObservations, trimTurnDiffSummaries, withPaneLivenessAlias };
16400
+ export { ACP_BEHAVIOR, ACP_CAPABILITIES, AGENT_ROLES, Activity, ActivityDetailedEvent, ActivityEntryEvent, ActivityTtsEvent, ActivityUpdatedEvent, AdmissionState, AgentActivityChangedEvent, AgentChannelReply, AgentChannelReplyEvent, AgentCompletedEvent, AgentContextSaturationChangedEvent, AgentCreatedEvent, AgentCurrentIssueSetEvent, AgentDirectoryResponse, 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, BackendPane, BackendPaneChangedEvent, BackendPaneRemovedEvent, BeadsFreshnessChangedEvent, CHANNEL_REPLY_KIND_VALUES, CLAUDE_CODE_BEHAVIOR, CLAUDE_CODE_CAPABILITIES, CODEX_BEHAVIOR, CODEX_CAPABILITIES, COMPANION_TERMINAL_CLOSE_BODY_KEYS, COMPANION_TERMINAL_OPEN_BODY_KEYS, COMPOSER_COMMAND_INSERT_OVERRIDES, COMPOSER_COMMAND_MANIFEST, COMPOSER_COMMAND_VARIANTS, CONTEXT_LAYER_KINDS, CONTEXT_PREVIEW_HARNESSES, CONVERSATION_PAGE_DEFAULT_LIMIT, CONVERSATION_PAGE_MAX_LIMIT, CONVERSATION_PAYLOAD_BUDGET_BYTES, CONVERSATION_WINDOW_MAX_BYTES, CONVERSATION_WINDOW_MAX_ROWS, 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, ConversationPullRequests, ConversationPullRequestsChangedEvent, ConversationResponse, ConversationResume, ConversationTitleChangedEvent, ConversationWindow, CostEventRecordedEvent, DEFAULT_EFFORT, DEFAULT_MAX_MEMORY_OBSERVATIONS_PER_ISSUE, DEFAULT_MAX_TURN_DIFF_SUMMARIES_PER_AGENT, DashboardLifecycleCompletedEvent, DashboardLifecycleFailedEvent, DashboardLifecycleStartedEvent, DashboardSnapshot, DeepWipeRpc, DeployStalenessSnapshot, DerivedBranchState, DerivedIssueState, DerivedPrState, DerivedWorkStart, DirectoryEntry, DirectoryEntryKind, DirectoryEntryLocation, DirectoryEntrySource, DirectoryEntryState, DirectoryPause, DirectoryPauseBy, DirectoryProviderError, DirectoryScope, DirectoryTranscriptRef, DiscoveredSessionSnapshot, DomainEvent, EDITORS, EFFORT_LEVELS, ENVIRONMENT_PROTOCOL_VERSION, EditorIdSchema, EffortLevelSchema, EmbedProgressEvent, EmbedProgressSnapshot, EmbedSessionsRpc, EnrichCompleteEvent, EnrichProgressEvent, EnrichProgressSnapshot, EnrichSessionsRpc, EnrichStatsSnapshot, EnvironmentCapabilities, EnvironmentDescriptor, EnvironmentId, ExtractionProviderConfig, ExtractionProviderTarget, FeatureNode, FeatureRegistryEntry, FeatureRegistryStatus, FlywheelAgent, FlywheelAgentStatus, FlywheelAgentSummary, FlywheelBugRateCriterion, FlywheelConversationSummary, FlywheelDerivedStatus, FlywheelEffort, FlywheelFreshness, FlywheelHarness, FlywheelHeadline, FlywheelHttpUrl, FlywheelInFlightRow, FlywheelJournalSummary, FlywheelLastTick, FlywheelOrchestrator, FlywheelOrderBookSummary, FlywheelOrders, FlywheelP0Criterion, FlywheelParkedItem, FlywheelPipelineItem, FlywheelPipelineStatus, FlywheelPipelineVerb, FlywheelPolicies, FlywheelRunId, FlywheelRunState, FlywheelScope, FlywheelStats, FlywheelStatsCriterionStatus, FlywheelStatsTrend, FlywheelStatsWindow, FlywheelStatus, FlywheelSubstrateBug, FlywheelSubstrateBugRow, FlywheelSubstrateBugStatus, FlywheelSubstrateSeverity, FlywheelSuggestion, FlywheelSuggestionAction, FlywheelSuggestionPriority, FlywheelSystemStatus, GITHUB_QUOTA_BUCKETS, GITHUB_QUOTA_CALLERS, GITHUB_QUOTA_POOLS, GetAvailableEditorsRpc, GetConversationCostByWorkspaceRpc, GetConversationCostRpc, GetConversationStatsRpc, GetDiscoveredSessionRpc, GetSessionsFeedFacetsRpc, GetSnapshotRpc, GitHubQuotaBucket, GitHubQuotaCaller, GitHubQuotaCallerUsage, GitHubQuotaChangedEvent, GitHubQuotaPause, GitHubQuotaPool, GitHubQuotaSample, GitHubQuotaSnapshot, GitHubQuotaUsage, GitHubRateLimitKind, GlobalContextLayerRecord, GlobalContextLayerTarget, HARNESS_CAPABILITY_KEYS, HOOK_INVENTORY, HealthReason, HealthState, HostHealthMetrics, HostPlatform, HygieneFinding, HygienePullRequest, HygieneReport, INITIAL_READ_MODEL_STATE, ISSUE_ATTENTIONS, ISSUE_STATES, ISSUE_STATE_PRECEDENCE, IssueAttention, IssueId, IssueState, IssueStateChangedEvent, IssueStatusChangedEvent, IssueTransitionedEvent, IssuesDeltaEvent, IssuesSnapshotEvent, IssuesUpdatedEvent, KIMI_CODE_BEHAVIOR, KIMI_CODE_CAPABILITIES, KNOWN_HARNESSES, LANE_STARTING_GRACE_MS, 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, MUSE_BEHAVIOR, MUSE_CAPABILITIES, MemoryAgentRole, MemoryHealthChangedEvent, MemoryIdentity, MemoryObservation, MemoryObservationCreatedEvent, MemoryResetMarkerCreatedEvent, MemoryRollupTriggeredEvent, MemoryStatus, MemoryStatusPhase, MemoryStatusUpdatedEvent, MemoryTokenUsage, MergeReadyEvent, ModelOrigin, ModelOriginEntry, NON_ESSENTIAL_GITHUB_CALLERS, OHMYPI_BEHAVIOR, OHMYPI_CAPABILITIES, OPENCODE_BEHAVIOR, OPENCODE_CAPABILITIES, OVERDECK_AGENT_PROTOCOL_VERSION, OVERDECK_DASHBOARD_PROTOCOL_VERSION, OpenInEditorInput, OperatorInterventionEvent, OrderBook, OrderBookIndexEntry, OrderBookItem, OrderBookLane, OrderBookPosture, OrderBookSettings, OrderBookStatus, PIPELINE_MEMBERSHIP_LOADING_CODE, PRIME_AGENT_BEHAVIOR, PRIME_AGENT_CAPABILITIES, PanRpcError, PanRpcGroup, PendingTurn, PipelineReviewCompletedEvent, PipelineReviewStartedEvent, PipelineTestCompletedEvent, PipelineTestStartedEvent, PipelineVerificationFailedEvent, PipelineVerificationStartedEvent, PlanItemStatusChangedEvent, PlanItemsUnblockedEvent, PlanSubitemStatusChangedEvent, PlanningFailedEvent, PlanningStartedEvent, PlanningSyncEvent, PrChecksState, PrReviewState, ProjectCiHeadObservedEvent, ProjectCiSnapshot, ProjectCiSuite, ProjectCiSuiteObservedEvent, ProjectContextLayerRecord, ProjectContextLayerTarget, ProjectDeployChangedEvent, ProjectDeployPhase, ProjectDeploySnapshot, ProjectSessionTree, ProposedPlan, PullRequestKey, PullRequestLink, PullRequestLinkListing, PullRequestLinkSource, PullRequestLinkedConversation, PullRequestSnapshot, PullRequestState, RESUME_OPEN_IDS_MAX, RagDecision, RagDecisionSource, ReadFileAtPathInput, ReadFileAtPathResult, ReadFileAtPathRpc, ReadWorkspaceFileInput, ReadWorkspaceFileResult, ReadWorkspaceFileRpc, ReplayEventsResult, ReplayEventsRpc, ReplayTooFarBehind, ResetMarker, ResetMarkerScope, ResizeTerminalRpc, ResolveFilePathExistsInput, ResolveFilePathExistsResult, ResolveFilePathExistsRpc, ResourceStats, ResourcesUpdatedEvent, RestartGateChangedEvent, RestartGateKind, RestartGateOutcome, RestartGateRequest, RestartGateSnapshot, ReviewApprovedEvent, ReviewCoordinatorDiedEvent, ReviewCoordinatorStartedEvent, ReviewReviewerCompletedEvent, ReviewReviewerStartedEvent, ReviewSpecialistTimedOutEvent, ReviewVerdictDispatchedEvent, ReviewVerdictRejectedEvent, ReviewVerdictRestoreBlockedEvent, ReviewerRoundMetadata, ReviewerRoundSummary, Role, SINGLETON_AGENT_IDS, ScanCompleteEvent, ScanConversationsRpc, ScanProgressEvent, ScanProgressSnapshot, ScanResult, ScanStartedEvent, ScopedAgentRef, ScopedConversationRef, ScopedIssueRef, ScopedProjectRef, ScopedRef, ScopedTerminalRef, SearchConversationsRpc, SendTerminalInputRpc, SequenceNumber, ServiceHealthSnapshot, ServiceHealthStatus, SessionNode, SessionNodePresence, SessionNodeType, SessionTreeDelta, SessionsFeedFacetsSnapshot, SessionsFeedRowSnapshot, SessionsFeedSource, ShadowInferenceUpdateEvent, ShellOpenInEditorRpc, SpecialistCompletedEvent, SpecialistFailedEvent, SpecialistLifecycle, SpecialistStartedEvent, StartAgentRpc, StartPlanningRpc, SubagentHumanInput, SubagentSummary, SubscribeAgentOutputRpc, SubscribeConversationMessagesRpc, SubscribeDomainEventsRpc, SubscribeIssueEventsRpc, SubscribeProjectSessionTreeRpc, SubscribeTerminalRpc, SubstrateBugFiledEvent, SweepEscalatedEvent, SweepRecommendationEvent, SweepScanEvent, SystemHealthConsumer, SystemHealthSeverityChangedEvent, SystemHealthSnapshot, SystemHeartbeatEvent, TELEMETRY_CLI_VERBS, TELEMETRY_EVENT_CATALOG, TELEMETRY_EVENT_NAMES, TELEMETRY_PROPERTY_DOMAINS, TERMINAL_BACKEND_NAMES, TOOL_BODY_INLINE_MAX_BYTES, TOOL_BODY_PREVIEW_CHARS, TerminalCloseRpc, TerminalOpenRpc, TerminalOutput, TerminalResizeRpc, TerminalWriteRpc, TestPassedEvent, ThinkingState, TickMarker, TickMarkerPhase, TurnDiffFileChange, TurnDiffSummary, TurnEndAssessment, WINDOW_PINNED_OPEN_TOOLS_MAX, WIRED_HOOK_INVENTORY, WIRED_HOOK_NAMES, WS_METHODS, WaitingReason, WaitingState, WorkCompletedEvent, WorkLogEntry, WorkspaceAbortedEvent, WorkspaceArtifactsResponse, WorkspaceContextLayerRecord, WorkspaceContextLayerTarget, WorkspaceCreatedEvent, WorkspaceDeletedEvent, WorkspaceDestroyedEvent, WorkspaceWipeStartedEvent, WriteFileAtPathInput, WriteFileAtPathResult, WriteFileAtPathRpc, applyEvent, applyEvents, applyIssueDelta, bucketQuotaPoints, bucketQuotaRemaining, canonicalPullRequestUrl, companionTerminalKindFor, compareEffort, compareIssueIds, compareTimelineKeys, createIssueDelta, decodeFlywheelDerivedStatus, decodeFlywheelStats, decodeTimelineCursor, deriveProjectCi, encodeFlywheelStats, encodeTimelineCursor, getHarness, getHarnessBehavior, getMaxMemoryObservationsPerIssue, getMaxTurnDiffSummariesPerAgent, getRuntimeBehavior, hasToolResult, indexPanesByAgentKey, isAgentRole, isAgentSessionName, isChannelReplyKind, isConfiguredPullRequestRepo, isEffortLevel, isIssueAttention, isIssueState, isLegacyPiHarnessName, isProtocolCompatible, isSingletonConversation, isTerminalBackendName, isTerminalTurnDiffSummaryStatus, laneActivityOf, normalizeChannelReplyPayload, normalizeHarnessName, omitTurnDiffSummariesForAgent, paneAgentKey, parsePullRequestRef, projectLegacySystemHealthSummary, repoFromRemoteUrl, resolveEffectivePullRequest, syncSnapshot, timelineKeyOfMessage, timelineKeyOfWork, trimMemoryObservations, trimTurnDiffSummaries, withPaneLivenessAlias };
15819
16401
 
15820
16402
  //# sourceMappingURL=index.mjs.map