@overdeck/contracts 0.46.0 → 0.47.1

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.cjs CHANGED
@@ -251,6 +251,7 @@ const AgentSnapshot = effect.Schema.Struct({
251
251
  branch: effect.Schema.optional(effect.Schema.String),
252
252
  costSoFar: effect.Schema.optional(effect.Schema.Number),
253
253
  sessionId: effect.Schema.optional(effect.Schema.String),
254
+ startedBy: effect.Schema.optional(effect.Schema.String),
254
255
  role: effect.Schema.optional(Role),
255
256
  phase: effect.Schema.optional(effect.Schema.String),
256
257
  workType: effect.Schema.optional(effect.Schema.String),
@@ -296,6 +297,14 @@ const AgentSnapshot = effect.Schema.Struct({
296
297
  resolutionCount: effect.Schema.optional(effect.Schema.Number),
297
298
  runtimeSnapshotSequence: effect.Schema.optional(SequenceNumber)
298
299
  });
300
+ /** PAN-3151: A recorded cycle in the review convergence tracking series */
301
+ const ReviewCycleEntry = effect.Schema.Struct({
302
+ cycle: effect.Schema.Number,
303
+ runId: effect.Schema.String,
304
+ atCommit: effect.Schema.optional(effect.Schema.String),
305
+ blockingCount: effect.Schema.Number,
306
+ recordedAt: effect.Schema.String
307
+ });
299
308
  const ReviewStatusSnapshot = effect.Schema.Struct({
300
309
  issueId: IssueId,
301
310
  reviewStatus: effect.Schema.optional(ReviewStatusValue),
@@ -316,6 +325,8 @@ const ReviewStatusSnapshot = effect.Schema.Struct({
316
325
  stuckReason: effect.Schema.optional(effect.Schema.String),
317
326
  stuckAt: effect.Schema.optional(effect.Schema.String),
318
327
  stuckDetails: effect.Schema.optional(effect.Schema.String),
328
+ /** PAN-3151: review cycle history for convergence detection */
329
+ reviewCycleHistory: effect.Schema.optional(effect.Schema.Array(ReviewCycleEntry)),
319
330
  /** Commit SHA at which review passed; deacon uses this to detect new pushes after review */
320
331
  reviewedAtCommit: effect.Schema.optional(effect.Schema.String),
321
332
  /** Commit SHA at which the pre-review verification gate last passed */
@@ -2796,16 +2807,48 @@ const WorkLogEntry = effect.Schema.Struct({
2796
2807
  toolInput: effect.Schema.optional(effect.Schema.Record(effect.Schema.String, effect.Schema.Unknown)),
2797
2808
  sequence: effect.Schema.optional(effect.Schema.Number)
2798
2809
  });
2799
- const ConversationEvent = effect.Schema.Union([effect.Schema.Struct({
2800
- kind: effect.Schema.Literal("messages"),
2810
+ const SubagentSummary = effect.Schema.Struct({
2811
+ agentId: effect.Schema.String,
2812
+ agentType: effect.Schema.String,
2813
+ description: effect.Schema.String,
2814
+ toolUseId: effect.Schema.String,
2815
+ spawnDepth: effect.Schema.Number,
2816
+ status: effect.Schema.Literals(["running", "done"])
2817
+ });
2818
+ /**
2819
+ * Response shape for GET /api/agents/:id/conversation.
2820
+ * Shared between the dashboard server route and the frontend TerminalPanel.
2821
+ */
2822
+ const ConversationResponse = effect.Schema.Struct({
2801
2823
  messages: effect.Schema.Array(ChatMessage),
2802
2824
  workLog: effect.Schema.Array(WorkLogEntry),
2803
2825
  streaming: effect.Schema.Boolean,
2804
- snapshot: effect.Schema.optional(effect.Schema.Boolean),
2826
+ totalCost: effect.Schema.Number,
2827
+ /** Total token throughput (input + output + cache read + cache write). */
2828
+ totalTokens: effect.Schema.optional(effect.Schema.Number),
2829
+ byteOffset: effect.Schema.Number,
2805
2830
  proposedPlan: effect.Schema.optional(ProposedPlan),
2806
2831
  compactBoundaries: effect.Schema.optional(effect.Schema.Array(CompactBoundary)),
2807
- contextUsage: effect.Schema.optional(effect.Schema.NullOr(ContextUsage))
2808
- }), effect.Schema.Struct({ kind: effect.Schema.Literal("discovering") })]);
2832
+ contextUsage: effect.Schema.optional(effect.Schema.NullOr(ContextUsage)),
2833
+ subagents: effect.Schema.optional(effect.Schema.Array(SubagentSummary))
2834
+ });
2835
+ const ConversationEvent = effect.Schema.Union([
2836
+ effect.Schema.Struct({
2837
+ kind: effect.Schema.Literal("messages"),
2838
+ messages: effect.Schema.Array(ChatMessage),
2839
+ workLog: effect.Schema.Array(WorkLogEntry),
2840
+ streaming: effect.Schema.Boolean,
2841
+ snapshot: effect.Schema.optional(effect.Schema.Boolean),
2842
+ proposedPlan: effect.Schema.optional(ProposedPlan),
2843
+ compactBoundaries: effect.Schema.optional(effect.Schema.Array(CompactBoundary)),
2844
+ contextUsage: effect.Schema.optional(effect.Schema.NullOr(ContextUsage))
2845
+ }),
2846
+ effect.Schema.Struct({ kind: effect.Schema.Literal("discovering") }),
2847
+ effect.Schema.Struct({
2848
+ kind: effect.Schema.Literal("subagents"),
2849
+ subagents: effect.Schema.Array(SubagentSummary)
2850
+ })
2851
+ ]);
2809
2852
  const SessionTreeDelta = effect.Schema.Struct({
2810
2853
  kind: effect.Schema.Literals([
2811
2854
  "session_added",
@@ -2992,7 +3035,10 @@ const ResizeTerminalRpc = effect_unstable_rpc_Rpc.make(WS_METHODS.resizeTerminal
2992
3035
  });
2993
3036
  /** 16. Subscribe to structured conversation messages from a JSONL session file (stream, PAN-451) */
2994
3037
  const SubscribeConversationMessagesRpc = effect_unstable_rpc_Rpc.make(WS_METHODS.subscribeConversationMessages, {
2995
- payload: effect.Schema.Struct({ conversationName: effect.Schema.String }),
3038
+ payload: effect.Schema.Struct({
3039
+ conversationName: effect.Schema.String,
3040
+ agentId: effect.Schema.optional(effect.Schema.String)
3041
+ }),
2996
3042
  success: ConversationEvent,
2997
3043
  error: PanRpcError,
2998
3044
  stream: true
@@ -6530,6 +6576,12 @@ const COMPOSER_COMMAND_MANIFEST = [
6530
6576
  "description": "Accept a missed DoD row 7 (Deployed) — recorded as an explicit override in the close-out record",
6531
6577
  "required": false,
6532
6578
  "valueHint": null
6579
+ },
6580
+ {
6581
+ "flags": "--abandon <reason>",
6582
+ "description": "Record an abandoned disposition (PAN-3211): skip the DoD gate and close without landing evidence. Operator-conversation only; cannot be combined with --accept-* flags",
6583
+ "required": true,
6584
+ "valueHint": "reason"
6533
6585
  }
6534
6586
  ],
6535
6587
  "aliases": [],
@@ -6644,7 +6696,7 @@ const COMPOSER_COMMAND_MANIFEST = [
6644
6696
  },
6645
6697
  {
6646
6698
  "flags": "--fresh",
6647
- "description": "Drop the saved Claude session (non-destructive) and start a new one — e.g. to switch a stopped agent's model",
6699
+ "description": "Drop the saved Claude session (non-destructive) and start a new one — replaces a live session too, so it recovers an inert agent without a separate pan kill",
6648
6700
  "required": false,
6649
6701
  "valueHint": null
6650
6702
  },
@@ -11978,6 +12030,7 @@ exports.ConversationCreatedEvent = ConversationCreatedEvent;
11978
12030
  exports.ConversationEvent = ConversationEvent;
11979
12031
  exports.ConversationFilter = ConversationFilter;
11980
12032
  exports.ConversationPermissionChangedEvent = ConversationPermissionChangedEvent;
12033
+ exports.ConversationResponse = ConversationResponse;
11981
12034
  exports.ConversationTitleChangedEvent = ConversationTitleChangedEvent;
11982
12035
  exports.CostEventRecordedEvent = CostEventRecordedEvent;
11983
12036
  exports.DEFAULT_MAX_MEMORY_OBSERVATIONS_PER_ISSUE = DEFAULT_MAX_MEMORY_OBSERVATIONS_PER_ISSUE;
@@ -12133,6 +12186,7 @@ exports.ResourcesUpdatedEvent = ResourcesUpdatedEvent;
12133
12186
  exports.ReviewApprovedEvent = ReviewApprovedEvent;
12134
12187
  exports.ReviewCoordinatorDiedEvent = ReviewCoordinatorDiedEvent;
12135
12188
  exports.ReviewCoordinatorStartedEvent = ReviewCoordinatorStartedEvent;
12189
+ exports.ReviewCycleEntry = ReviewCycleEntry;
12136
12190
  exports.ReviewReviewerCompletedEvent = ReviewReviewerCompletedEvent;
12137
12191
  exports.ReviewReviewerStartedEvent = ReviewReviewerStartedEvent;
12138
12192
  exports.ReviewSpecialistTimedOutEvent = ReviewSpecialistTimedOutEvent;
@@ -12168,6 +12222,7 @@ exports.SpecialistLifecycle = SpecialistLifecycle;
12168
12222
  exports.SpecialistStartedEvent = SpecialistStartedEvent;
12169
12223
  exports.StartAgentRpc = StartAgentRpc;
12170
12224
  exports.StartPlanningRpc = StartPlanningRpc;
12225
+ exports.SubagentSummary = SubagentSummary;
12171
12226
  exports.SubscribeAgentOutputRpc = SubscribeAgentOutputRpc;
12172
12227
  exports.SubscribeConversationMessagesRpc = SubscribeConversationMessagesRpc;
12173
12228
  exports.SubscribeDomainEventsRpc = SubscribeDomainEventsRpc;