@overdeck/contracts 0.41.1 → 0.43.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.cjs +258 -3
- package/dist/index.d.ts +594 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +246 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -401,6 +401,7 @@ const DashboardSnapshot = effect.Schema.Struct({
|
|
|
401
401
|
specialists: effect.Schema.Array(effect.Schema.Unknown),
|
|
402
402
|
reviewStatuses: effect.Schema.Array(ReviewStatusSnapshot),
|
|
403
403
|
issues: effect.Schema.Array(effect.Schema.Unknown),
|
|
404
|
+
recentActivity: effect.Schema.optional(effect.Schema.Array(effect.Schema.Unknown)),
|
|
404
405
|
resources: effect.Schema.optional(effect.Schema.Unknown),
|
|
405
406
|
memory: effect.Schema.optional(effect.Schema.Unknown),
|
|
406
407
|
agentRuntimeById: effect.Schema.optional(effect.Schema.Record(effect.Schema.String, AgentRuntimeSnapshot)),
|
|
@@ -499,6 +500,11 @@ const SessionNode = effect.Schema.Struct({
|
|
|
499
500
|
paused: effect.Schema.optional(effect.Schema.Boolean),
|
|
500
501
|
pausedReason: effect.Schema.optional(effect.Schema.String),
|
|
501
502
|
pausedAt: effect.Schema.optional(effect.Schema.String),
|
|
503
|
+
troubled: effect.Schema.optional(effect.Schema.Boolean),
|
|
504
|
+
troubledAt: effect.Schema.optional(effect.Schema.String),
|
|
505
|
+
troubledReason: effect.Schema.optional(effect.Schema.String),
|
|
506
|
+
consecutiveFailures: effect.Schema.optional(effect.Schema.Number),
|
|
507
|
+
queuedMailCount: effect.Schema.optional(effect.Schema.Number),
|
|
502
508
|
modelOrigin: effect.Schema.optional(ModelOrigin)
|
|
503
509
|
});
|
|
504
510
|
const FeatureNode = effect.Schema.Struct({
|
|
@@ -514,6 +520,7 @@ const ProjectSessionTree = effect.Schema.Struct({
|
|
|
514
520
|
const DiscoveredSessionSnapshot = effect.Schema.Struct({
|
|
515
521
|
id: effect.Schema.Number,
|
|
516
522
|
jsonlPath: effect.Schema.String,
|
|
523
|
+
harness: effect.Schema.optional(effect.Schema.String),
|
|
517
524
|
sessionId: effect.Schema.optional(effect.Schema.String),
|
|
518
525
|
workspacePath: effect.Schema.optional(effect.Schema.String),
|
|
519
526
|
workspaceHash: effect.Schema.optional(effect.Schema.String),
|
|
@@ -530,6 +537,9 @@ const DiscoveredSessionSnapshot = effect.Schema.Struct({
|
|
|
530
537
|
tags: effect.Schema.Array(effect.Schema.String),
|
|
531
538
|
summary: effect.Schema.optional(effect.Schema.String),
|
|
532
539
|
summaryDetailed: effect.Schema.optional(effect.Schema.String),
|
|
540
|
+
conversationId: effect.Schema.optional(effect.Schema.String),
|
|
541
|
+
conversationName: effect.Schema.optional(effect.Schema.String),
|
|
542
|
+
conversationTitle: effect.Schema.optional(effect.Schema.String),
|
|
533
543
|
enrichmentLevel: effect.Schema.Number,
|
|
534
544
|
enrichmentModel: effect.Schema.optional(effect.Schema.String),
|
|
535
545
|
enrichedAt: effect.Schema.optional(effect.Schema.String),
|
|
@@ -539,8 +549,73 @@ const DiscoveredSessionSnapshot = effect.Schema.Struct({
|
|
|
539
549
|
panAgentId: effect.Schema.optional(effect.Schema.String),
|
|
540
550
|
scannedAt: effect.Schema.String
|
|
541
551
|
});
|
|
552
|
+
const SessionsFeedSource = effect.Schema.Literals(["discovered", "managed-archived"]);
|
|
553
|
+
const SessionsFeedRowSnapshot = effect.Schema.Struct({
|
|
554
|
+
id: effect.Schema.Number,
|
|
555
|
+
source: SessionsFeedSource,
|
|
556
|
+
discoveredId: effect.Schema.optional(effect.Schema.Number),
|
|
557
|
+
jsonlPath: effect.Schema.optional(effect.Schema.String),
|
|
558
|
+
sessionId: effect.Schema.optional(effect.Schema.String),
|
|
559
|
+
workspacePath: effect.Schema.optional(effect.Schema.String),
|
|
560
|
+
messageCount: effect.Schema.Number,
|
|
561
|
+
firstTs: effect.Schema.optional(effect.Schema.String),
|
|
562
|
+
lastTs: effect.Schema.optional(effect.Schema.String),
|
|
563
|
+
primaryModel: effect.Schema.optional(effect.Schema.String),
|
|
564
|
+
tokenInput: effect.Schema.Number,
|
|
565
|
+
tokenOutput: effect.Schema.Number,
|
|
566
|
+
estimatedCost: effect.Schema.Number,
|
|
567
|
+
tags: effect.Schema.Array(effect.Schema.String),
|
|
568
|
+
summary: effect.Schema.optional(effect.Schema.String),
|
|
569
|
+
enrichmentLevel: effect.Schema.Number,
|
|
570
|
+
enrichmentFailed: effect.Schema.Boolean,
|
|
571
|
+
overdeckManaged: effect.Schema.Boolean,
|
|
572
|
+
panIssueId: effect.Schema.optional(effect.Schema.String),
|
|
573
|
+
archivedAt: effect.Schema.optional(effect.Schema.String),
|
|
574
|
+
conversationId: effect.Schema.optional(effect.Schema.String),
|
|
575
|
+
conversationName: effect.Schema.optional(effect.Schema.String),
|
|
576
|
+
conversationTitle: effect.Schema.optional(effect.Schema.String),
|
|
577
|
+
harness: effect.Schema.optional(effect.Schema.String)
|
|
578
|
+
});
|
|
579
|
+
const SessionsFeedFacetBucketString = effect.Schema.Struct({
|
|
580
|
+
value: effect.Schema.String,
|
|
581
|
+
count: effect.Schema.Number
|
|
582
|
+
});
|
|
583
|
+
const SessionsFeedFacetBucketNumber = effect.Schema.Struct({
|
|
584
|
+
value: effect.Schema.Number,
|
|
585
|
+
count: effect.Schema.Number
|
|
586
|
+
});
|
|
587
|
+
const SessionsFeedFacetsSnapshot = effect.Schema.Struct({
|
|
588
|
+
primaryModels: effect.Schema.Array(SessionsFeedFacetBucketString),
|
|
589
|
+
tags: effect.Schema.Array(SessionsFeedFacetBucketString),
|
|
590
|
+
tools: effect.Schema.Array(SessionsFeedFacetBucketString),
|
|
591
|
+
files: effect.Schema.Array(SessionsFeedFacetBucketString),
|
|
592
|
+
enrichmentLevels: effect.Schema.Array(SessionsFeedFacetBucketNumber),
|
|
593
|
+
timeBuckets: effect.Schema.Array(effect.Schema.Struct({
|
|
594
|
+
value: effect.Schema.Literals([
|
|
595
|
+
"24h",
|
|
596
|
+
"7d",
|
|
597
|
+
"30d",
|
|
598
|
+
"older"
|
|
599
|
+
]),
|
|
600
|
+
count: effect.Schema.Number
|
|
601
|
+
})),
|
|
602
|
+
costBuckets: effect.Schema.Array(effect.Schema.Struct({
|
|
603
|
+
value: effect.Schema.Literals([
|
|
604
|
+
"<$0.10",
|
|
605
|
+
"$0.10-1",
|
|
606
|
+
"$1-10",
|
|
607
|
+
">$10"
|
|
608
|
+
]),
|
|
609
|
+
count: effect.Schema.Number
|
|
610
|
+
})),
|
|
611
|
+
sources: effect.Schema.Array(effect.Schema.Struct({
|
|
612
|
+
value: SessionsFeedSource,
|
|
613
|
+
count: effect.Schema.Number
|
|
614
|
+
}))
|
|
615
|
+
});
|
|
542
616
|
/** Filter parameters for conversation search */
|
|
543
617
|
const ConversationFilter = effect.Schema.Struct({
|
|
618
|
+
harness: effect.Schema.optional(effect.Schema.String),
|
|
544
619
|
workspacePath: effect.Schema.optional(effect.Schema.String),
|
|
545
620
|
primaryModel: effect.Schema.optional(effect.Schema.String),
|
|
546
621
|
managed: effect.Schema.optional(effect.Schema.Boolean),
|
|
@@ -1211,6 +1286,36 @@ const PipelineTestCompletedEvent = effect.Schema.Struct({
|
|
|
1211
1286
|
passed: effect.Schema.Boolean
|
|
1212
1287
|
})
|
|
1213
1288
|
});
|
|
1289
|
+
/** New — verification gate dispatched (review-pipeline verify step) */
|
|
1290
|
+
const PipelineVerificationStartedEvent = effect.Schema.Struct({
|
|
1291
|
+
type: effect.Schema.Literal("pipeline.verification-started"),
|
|
1292
|
+
sequence: SequenceNumber,
|
|
1293
|
+
timestamp: effect.Schema.String,
|
|
1294
|
+
payload: effect.Schema.Struct({ issueId: IssueId })
|
|
1295
|
+
});
|
|
1296
|
+
/** New — verification gate failed (carries failedCheck for gate failures, message for infra errors) */
|
|
1297
|
+
const PipelineVerificationFailedEvent = effect.Schema.Struct({
|
|
1298
|
+
type: effect.Schema.Literal("pipeline.verification-failed"),
|
|
1299
|
+
sequence: SequenceNumber,
|
|
1300
|
+
timestamp: effect.Schema.String,
|
|
1301
|
+
payload: effect.Schema.Struct({
|
|
1302
|
+
issueId: IssueId,
|
|
1303
|
+
failedCheck: effect.Schema.optional(effect.Schema.String),
|
|
1304
|
+
message: effect.Schema.optional(effect.Schema.String)
|
|
1305
|
+
})
|
|
1306
|
+
});
|
|
1307
|
+
/** New — issue lifecycle transition (single source: IssueLifecycle.transitionTo).
|
|
1308
|
+
* `state` stays an open string so new server-side lifecycle states can never
|
|
1309
|
+
* poison the domain-event stream (the failure mode behind this event's addition). */
|
|
1310
|
+
const IssueTransitionedEvent = effect.Schema.Struct({
|
|
1311
|
+
type: effect.Schema.Literal("issue.transitioned"),
|
|
1312
|
+
sequence: SequenceNumber,
|
|
1313
|
+
timestamp: effect.Schema.String,
|
|
1314
|
+
payload: effect.Schema.Struct({
|
|
1315
|
+
issueId: IssueId,
|
|
1316
|
+
state: effect.Schema.String
|
|
1317
|
+
})
|
|
1318
|
+
});
|
|
1214
1319
|
const OperatorInterventionEvent = effect.Schema.Struct({
|
|
1215
1320
|
type: effect.Schema.Literal("operator.intervention"),
|
|
1216
1321
|
sequence: SequenceNumber,
|
|
@@ -1752,6 +1857,9 @@ const DomainEvent = effect.Schema.Union([
|
|
|
1752
1857
|
PipelineReviewCompletedEvent,
|
|
1753
1858
|
PipelineTestStartedEvent,
|
|
1754
1859
|
PipelineTestCompletedEvent,
|
|
1860
|
+
PipelineVerificationStartedEvent,
|
|
1861
|
+
PipelineVerificationFailedEvent,
|
|
1862
|
+
IssueTransitionedEvent,
|
|
1755
1863
|
OperatorInterventionEvent,
|
|
1756
1864
|
SubstrateBugFiledEvent,
|
|
1757
1865
|
ReviewReviewerStartedEvent,
|
|
@@ -2123,6 +2231,8 @@ const WS_METHODS = {
|
|
|
2123
2231
|
scanConversations: "pan.scanConversations",
|
|
2124
2232
|
searchConversations: "pan.searchConversations",
|
|
2125
2233
|
listDiscoveredSessions: "pan.listDiscoveredSessions",
|
|
2234
|
+
listSessionsFeed: "pan.listSessionsFeed",
|
|
2235
|
+
getSessionsFeedFacets: "pan.getSessionsFeedFacets",
|
|
2126
2236
|
getDiscoveredSession: "pan.getDiscoveredSession",
|
|
2127
2237
|
enrichSessions: "pan.enrichSessions",
|
|
2128
2238
|
embedSessions: "pan.embedSessions",
|
|
@@ -2475,6 +2585,37 @@ const DiscoveredSessionListResult = effect.Schema.Struct({
|
|
|
2475
2585
|
count: effect.Schema.Number,
|
|
2476
2586
|
total: effect.Schema.Number
|
|
2477
2587
|
});
|
|
2588
|
+
const SessionsFeedPayload = effect.Schema.Struct({
|
|
2589
|
+
harness: effect.Schema.optional(effect.Schema.String),
|
|
2590
|
+
workspacePath: effect.Schema.optional(effect.Schema.String),
|
|
2591
|
+
primaryModel: effect.Schema.optional(effect.Schema.String),
|
|
2592
|
+
managed: effect.Schema.optional(effect.Schema.Boolean),
|
|
2593
|
+
unmanaged: effect.Schema.optional(effect.Schema.Boolean),
|
|
2594
|
+
since: effect.Schema.optional(effect.Schema.String),
|
|
2595
|
+
before: effect.Schema.optional(effect.Schema.String),
|
|
2596
|
+
after: effect.Schema.optional(effect.Schema.String),
|
|
2597
|
+
minCost: effect.Schema.optional(effect.Schema.Number),
|
|
2598
|
+
maxCost: effect.Schema.optional(effect.Schema.Number),
|
|
2599
|
+
minMessages: effect.Schema.optional(effect.Schema.Number),
|
|
2600
|
+
tags: effect.Schema.optional(effect.Schema.Array(effect.Schema.String)),
|
|
2601
|
+
tools: effect.Schema.optional(effect.Schema.Array(effect.Schema.String)),
|
|
2602
|
+
files: effect.Schema.optional(effect.Schema.Array(effect.Schema.String)),
|
|
2603
|
+
issueId: effect.Schema.optional(effect.Schema.String),
|
|
2604
|
+
enrichmentLevel: effect.Schema.optional(effect.Schema.Number),
|
|
2605
|
+
enriched: effect.Schema.optional(effect.Schema.Boolean),
|
|
2606
|
+
notEnriched: effect.Schema.optional(effect.Schema.Boolean),
|
|
2607
|
+
query: effect.Schema.optional(effect.Schema.String),
|
|
2608
|
+
semantic: effect.Schema.optional(effect.Schema.Boolean),
|
|
2609
|
+
similarTo: effect.Schema.optional(effect.Schema.Number),
|
|
2610
|
+
limit: effect.Schema.optional(effect.Schema.Number),
|
|
2611
|
+
offset: effect.Schema.optional(effect.Schema.Number),
|
|
2612
|
+
cursor: effect.Schema.optional(effect.Schema.String),
|
|
2613
|
+
source: effect.Schema.optional(effect.Schema.Literals(["discovered", "managed-archived"]))
|
|
2614
|
+
});
|
|
2615
|
+
const SessionsFeedListResult = effect.Schema.Struct({
|
|
2616
|
+
rows: effect.Schema.Array(SessionsFeedRowSnapshot),
|
|
2617
|
+
nextCursor: effect.Schema.NullOr(effect.Schema.String)
|
|
2618
|
+
});
|
|
2478
2619
|
const DiscoveredSessionSearchResult = effect.Schema.Struct({
|
|
2479
2620
|
sessions: effect.Schema.Array(DiscoveredSessionSnapshot),
|
|
2480
2621
|
total: effect.Schema.Number,
|
|
@@ -2524,6 +2665,18 @@ const ListDiscoveredSessionsRpc = effect_unstable_rpc_Rpc.make(WS_METHODS.listDi
|
|
|
2524
2665
|
success: DiscoveredSessionListResult,
|
|
2525
2666
|
error: PanRpcError
|
|
2526
2667
|
});
|
|
2668
|
+
/** List the unified discovered + managed archived sessions feed */
|
|
2669
|
+
const ListSessionsFeedRpc = effect_unstable_rpc_Rpc.make(WS_METHODS.listSessionsFeed, {
|
|
2670
|
+
payload: SessionsFeedPayload,
|
|
2671
|
+
success: SessionsFeedListResult,
|
|
2672
|
+
error: PanRpcError
|
|
2673
|
+
});
|
|
2674
|
+
/** Get facet buckets for the unified sessions feed */
|
|
2675
|
+
const GetSessionsFeedFacetsRpc = effect_unstable_rpc_Rpc.make(WS_METHODS.getSessionsFeedFacets, {
|
|
2676
|
+
payload: SessionsFeedPayload,
|
|
2677
|
+
success: SessionsFeedFacetsSnapshot,
|
|
2678
|
+
error: PanRpcError
|
|
2679
|
+
});
|
|
2527
2680
|
/** Get a single discovered session by ID */
|
|
2528
2681
|
const GetDiscoveredSessionRpc = effect_unstable_rpc_Rpc.make(WS_METHODS.getDiscoveredSession, {
|
|
2529
2682
|
payload: effect.Schema.Struct({ id: effect.Schema.Number }),
|
|
@@ -2587,7 +2740,7 @@ const GetConversationStatsRpc = effect_unstable_rpc_Rpc.make(WS_METHODS.getConve
|
|
|
2587
2740
|
error: PanRpcError
|
|
2588
2741
|
});
|
|
2589
2742
|
/** All Overdeck WebSocket RPC methods */
|
|
2590
|
-
const PanRpcGroup = effect_unstable_rpc_RpcGroup.make(SubscribeDomainEventsRpc, SubscribeIssueEventsRpc, SubscribeTerminalRpc, SubscribeAgentOutputRpc, GetSnapshotRpc, ReplayEventsRpc, GetWorkspaceDetailRpc, ReadWorkspaceFileRpc, ResolveFilePathExistsRpc, TerminalOpenRpc, TerminalWriteRpc, TerminalResizeRpc, TerminalCloseRpc, StartPlanningRpc, StartAgentRpc, DeepWipeRpc, SendTerminalInputRpc, ResizeTerminalRpc, SubscribeConversationMessagesRpc, SubscribeProjectSessionTreeRpc, SubscribeFlywheelStatusRpc, ShellOpenInEditorRpc, GetAvailableEditorsRpc, ScanConversationsRpc, SearchConversationsRpc, ListDiscoveredSessionsRpc, GetDiscoveredSessionRpc, EnrichSessionsRpc, EmbedSessionsRpc, GetConversationCostRpc, GetConversationCostByWorkspaceRpc, GetConversationStatsRpc);
|
|
2743
|
+
const PanRpcGroup = effect_unstable_rpc_RpcGroup.make(SubscribeDomainEventsRpc, SubscribeIssueEventsRpc, SubscribeTerminalRpc, SubscribeAgentOutputRpc, GetSnapshotRpc, ReplayEventsRpc, GetWorkspaceDetailRpc, ReadWorkspaceFileRpc, ResolveFilePathExistsRpc, TerminalOpenRpc, TerminalWriteRpc, TerminalResizeRpc, TerminalCloseRpc, StartPlanningRpc, StartAgentRpc, DeepWipeRpc, SendTerminalInputRpc, ResizeTerminalRpc, SubscribeConversationMessagesRpc, SubscribeProjectSessionTreeRpc, SubscribeFlywheelStatusRpc, ShellOpenInEditorRpc, GetAvailableEditorsRpc, ScanConversationsRpc, SearchConversationsRpc, ListDiscoveredSessionsRpc, ListSessionsFeedRpc, GetSessionsFeedFacetsRpc, GetDiscoveredSessionRpc, EnrichSessionsRpc, EmbedSessionsRpc, GetConversationCostRpc, GetConversationCostByWorkspaceRpc, GetConversationStatsRpc);
|
|
2591
2744
|
//#endregion
|
|
2592
2745
|
//#region src/event-reducers.ts
|
|
2593
2746
|
const INITIAL_READ_MODEL_STATE = {
|
|
@@ -2734,6 +2887,7 @@ function syncSnapshot(state, snapshot) {
|
|
|
2734
2887
|
resolvedChannelPermissionDecisionIdsByAgentId: {},
|
|
2735
2888
|
resources: snapshot.resources ?? null,
|
|
2736
2889
|
issuesRaw: snapshot.issues ?? state.issuesRaw,
|
|
2890
|
+
recentActivity: snapshot.recentActivity ? [...snapshot.recentActivity] : state.recentActivity,
|
|
2737
2891
|
observationsByIssueId: memory?.observationsByIssueId ?? state.observationsByIssueId,
|
|
2738
2892
|
statusByIssueId: memory?.statusByIssueId ?? state.statusByIssueId,
|
|
2739
2893
|
rollupsByIssueId: memory?.rollupsByIssueId ?? state.rollupsByIssueId,
|
|
@@ -2852,7 +3006,13 @@ function applyEvent(state, event) {
|
|
|
2852
3006
|
};
|
|
2853
3007
|
}
|
|
2854
3008
|
case "agent.status_changed": {
|
|
2855
|
-
const agent = state.agentsById[event.payload.agentId]
|
|
3009
|
+
const agent = state.agentsById[event.payload.agentId] ?? (event.payload.role === "strike" && event.payload.issueId ? {
|
|
3010
|
+
id: event.payload.agentId,
|
|
3011
|
+
issueId: event.payload.issueId,
|
|
3012
|
+
status: event.payload.status,
|
|
3013
|
+
role: "strike",
|
|
3014
|
+
startedAt: event.timestamp
|
|
3015
|
+
} : void 0);
|
|
2856
3016
|
if (!agent) return {
|
|
2857
3017
|
...state,
|
|
2858
3018
|
sequence: Math.max(state.sequence, event.sequence)
|
|
@@ -2926,7 +3086,11 @@ function applyEvent(state, event) {
|
|
|
2926
3086
|
...state.agentsById,
|
|
2927
3087
|
[event.payload.agentId]: nextAgent
|
|
2928
3088
|
},
|
|
2929
|
-
turnDiffSummariesByAgentId: nextTurnDiffSummariesByAgentId
|
|
3089
|
+
turnDiffSummariesByAgentId: nextTurnDiffSummariesByAgentId,
|
|
3090
|
+
agentIdBySessionId: event.payload.sessionId ? {
|
|
3091
|
+
...state.agentIdBySessionId,
|
|
3092
|
+
[event.payload.sessionId]: event.payload.agentId
|
|
3093
|
+
} : state.agentIdBySessionId
|
|
2930
3094
|
};
|
|
2931
3095
|
}
|
|
2932
3096
|
case "agent.heartbeat_dead": {
|
|
@@ -4238,6 +4402,84 @@ const FeatureRegistryEntry = effect.Schema.Struct({
|
|
|
4238
4402
|
tags: effect.Schema.Array(effect.Schema.String)
|
|
4239
4403
|
});
|
|
4240
4404
|
//#endregion
|
|
4405
|
+
//#region src/harness-behavior.ts
|
|
4406
|
+
const CLAUDE_CODE_BEHAVIOR = {
|
|
4407
|
+
displayName: "Claude Code",
|
|
4408
|
+
executableName: "claude",
|
|
4409
|
+
processNames: ["claude"],
|
|
4410
|
+
launchCommandKind: "claude-code",
|
|
4411
|
+
deliveryKind: "pty-supervisor",
|
|
4412
|
+
readinessKind: "claude-session-signal",
|
|
4413
|
+
transcriptKind: "claude-jsonl",
|
|
4414
|
+
sessionIdSource: "launcher-session-id",
|
|
4415
|
+
contextLayerKind: "claude",
|
|
4416
|
+
feedKind: "claude_code",
|
|
4417
|
+
supportsPtySupervisor: true,
|
|
4418
|
+
supportsChannelsBridge: true,
|
|
4419
|
+
supportsConversationStreaming: false,
|
|
4420
|
+
supportsPatchProjection: true,
|
|
4421
|
+
usesRpcFifo: false,
|
|
4422
|
+
usesCodexHome: false,
|
|
4423
|
+
injectsPromptTimeMemory: false,
|
|
4424
|
+
workAgentMode: "claude-code",
|
|
4425
|
+
readyTimeoutSeconds: 30
|
|
4426
|
+
};
|
|
4427
|
+
const OHMYPI_BEHAVIOR = {
|
|
4428
|
+
displayName: "Pi",
|
|
4429
|
+
executableName: "omp",
|
|
4430
|
+
processNames: ["omp"],
|
|
4431
|
+
launchCommandKind: "ohmypi-rpc",
|
|
4432
|
+
deliveryKind: "rpc-fifo",
|
|
4433
|
+
readinessKind: "ohmypi-ready-file",
|
|
4434
|
+
transcriptKind: "ohmypi-jsonl",
|
|
4435
|
+
sessionIdSource: "transcript-jsonl",
|
|
4436
|
+
contextLayerKind: "pi",
|
|
4437
|
+
feedKind: "pi",
|
|
4438
|
+
supportsPtySupervisor: false,
|
|
4439
|
+
supportsChannelsBridge: false,
|
|
4440
|
+
supportsConversationStreaming: true,
|
|
4441
|
+
supportsPatchProjection: false,
|
|
4442
|
+
usesRpcFifo: true,
|
|
4443
|
+
usesCodexHome: false,
|
|
4444
|
+
injectsPromptTimeMemory: true,
|
|
4445
|
+
workAgentMode: "ohmypi-rpc",
|
|
4446
|
+
readyTimeoutSeconds: 120
|
|
4447
|
+
};
|
|
4448
|
+
const CODEX_BEHAVIOR = {
|
|
4449
|
+
displayName: "Codex",
|
|
4450
|
+
executableName: "codex",
|
|
4451
|
+
processNames: ["codex"],
|
|
4452
|
+
launchCommandKind: "codex-work-tui",
|
|
4453
|
+
deliveryKind: "codex-exec-resume",
|
|
4454
|
+
readinessKind: "codex-tui-prompt",
|
|
4455
|
+
transcriptKind: "codex-rollout-jsonl",
|
|
4456
|
+
sessionIdSource: "codex-thread-id",
|
|
4457
|
+
contextLayerKind: "codex",
|
|
4458
|
+
feedKind: "codex",
|
|
4459
|
+
supportsPtySupervisor: true,
|
|
4460
|
+
supportsChannelsBridge: false,
|
|
4461
|
+
supportsConversationStreaming: true,
|
|
4462
|
+
supportsPatchProjection: true,
|
|
4463
|
+
usesRpcFifo: false,
|
|
4464
|
+
usesCodexHome: true,
|
|
4465
|
+
injectsPromptTimeMemory: false,
|
|
4466
|
+
workAgentMode: "codex-work-tui",
|
|
4467
|
+
readyTimeoutSeconds: 30
|
|
4468
|
+
};
|
|
4469
|
+
const BEHAVIORS = {
|
|
4470
|
+
"claude-code": CLAUDE_CODE_BEHAVIOR,
|
|
4471
|
+
ohmypi: OHMYPI_BEHAVIOR,
|
|
4472
|
+
codex: CODEX_BEHAVIOR
|
|
4473
|
+
};
|
|
4474
|
+
function getHarnessBehavior(harness) {
|
|
4475
|
+
if (harness === "ohmypi" || harness === "pi") return OHMYPI_BEHAVIOR;
|
|
4476
|
+
if (harness === "codex") return CODEX_BEHAVIOR;
|
|
4477
|
+
return CLAUDE_CODE_BEHAVIOR;
|
|
4478
|
+
}
|
|
4479
|
+
function getRuntimeBehavior(runtime) {
|
|
4480
|
+
return BEHAVIORS[runtime];
|
|
4481
|
+
}
|
|
4482
|
+
//#endregion
|
|
4241
4483
|
exports.Activity = Activity;
|
|
4242
4484
|
exports.ActivityDetailedEvent = ActivityDetailedEvent;
|
|
4243
4485
|
exports.ActivityEntryEvent = ActivityEntryEvent;
|
|
@@ -4292,6 +4534,8 @@ exports.ArtifactValidationCode = ArtifactValidationCode;
|
|
|
4292
4534
|
exports.ArtifactValidationFinding = ArtifactValidationFinding;
|
|
4293
4535
|
exports.ArtifactValidationResult = ArtifactValidationResult;
|
|
4294
4536
|
exports.CHANNEL_REPLY_KIND_VALUES = CHANNEL_REPLY_KIND_VALUES;
|
|
4537
|
+
exports.CLAUDE_CODE_BEHAVIOR = CLAUDE_CODE_BEHAVIOR;
|
|
4538
|
+
exports.CODEX_BEHAVIOR = CODEX_BEHAVIOR;
|
|
4295
4539
|
exports.CONTEXT_LAYER_KINDS = CONTEXT_LAYER_KINDS;
|
|
4296
4540
|
exports.CONTEXT_PREVIEW_HARNESSES = CONTEXT_PREVIEW_HARNESSES;
|
|
4297
4541
|
exports.ChannelPermissionRequestSnapshot = ChannelPermissionRequestSnapshot;
|
|
@@ -4380,6 +4624,7 @@ exports.GetConversationCostByWorkspaceRpc = GetConversationCostByWorkspaceRpc;
|
|
|
4380
4624
|
exports.GetConversationCostRpc = GetConversationCostRpc;
|
|
4381
4625
|
exports.GetConversationStatsRpc = GetConversationStatsRpc;
|
|
4382
4626
|
exports.GetDiscoveredSessionRpc = GetDiscoveredSessionRpc;
|
|
4627
|
+
exports.GetSessionsFeedFacetsRpc = GetSessionsFeedFacetsRpc;
|
|
4383
4628
|
exports.GetSnapshotRpc = GetSnapshotRpc;
|
|
4384
4629
|
exports.GetWorkspaceDetailRpc = GetWorkspaceDetailRpc;
|
|
4385
4630
|
exports.GlobalContextLayerRecord = GlobalContextLayerRecord;
|
|
@@ -4387,9 +4632,11 @@ exports.GlobalContextLayerTarget = GlobalContextLayerTarget;
|
|
|
4387
4632
|
exports.INITIAL_READ_MODEL_STATE = INITIAL_READ_MODEL_STATE;
|
|
4388
4633
|
exports.IssueId = IssueId;
|
|
4389
4634
|
exports.IssueStatusChangedEvent = IssueStatusChangedEvent;
|
|
4635
|
+
exports.IssueTransitionedEvent = IssueTransitionedEvent;
|
|
4390
4636
|
exports.IssuesSnapshotEvent = IssuesSnapshotEvent;
|
|
4391
4637
|
exports.IssuesUpdatedEvent = IssuesUpdatedEvent;
|
|
4392
4638
|
exports.ListDiscoveredSessionsRpc = ListDiscoveredSessionsRpc;
|
|
4639
|
+
exports.ListSessionsFeedRpc = ListSessionsFeedRpc;
|
|
4393
4640
|
exports.MAX_CHANNEL_REPLY_ARTIFACT_LABEL_LENGTH = MAX_CHANNEL_REPLY_ARTIFACT_LABEL_LENGTH;
|
|
4394
4641
|
exports.MAX_CHANNEL_REPLY_ARTIFACT_REFS = MAX_CHANNEL_REPLY_ARTIFACT_REFS;
|
|
4395
4642
|
exports.MAX_CHANNEL_REPLY_ARTIFACT_URI_LENGTH = MAX_CHANNEL_REPLY_ARTIFACT_URI_LENGTH;
|
|
@@ -4408,6 +4655,7 @@ exports.MergeReadyEvent = MergeReadyEvent;
|
|
|
4408
4655
|
exports.MergeStatusValue = MergeStatusValue;
|
|
4409
4656
|
exports.ModelOrigin = ModelOrigin;
|
|
4410
4657
|
exports.ModelOriginEntry = ModelOriginEntry;
|
|
4658
|
+
exports.OHMYPI_BEHAVIOR = OHMYPI_BEHAVIOR;
|
|
4411
4659
|
exports.OpenInEditorInput = OpenInEditorInput;
|
|
4412
4660
|
exports.OperatorInterventionEvent = OperatorInterventionEvent;
|
|
4413
4661
|
exports.PanRpcError = PanRpcError;
|
|
@@ -4418,6 +4666,8 @@ exports.PipelineReviewStartedEvent = PipelineReviewStartedEvent;
|
|
|
4418
4666
|
exports.PipelineStatusChangedEvent = PipelineStatusChangedEvent;
|
|
4419
4667
|
exports.PipelineTestCompletedEvent = PipelineTestCompletedEvent;
|
|
4420
4668
|
exports.PipelineTestStartedEvent = PipelineTestStartedEvent;
|
|
4669
|
+
exports.PipelineVerificationFailedEvent = PipelineVerificationFailedEvent;
|
|
4670
|
+
exports.PipelineVerificationStartedEvent = PipelineVerificationStartedEvent;
|
|
4421
4671
|
exports.PlanItemStatusChangedEvent = PlanItemStatusChangedEvent;
|
|
4422
4672
|
exports.PlanItemsUnblockedEvent = PlanItemsUnblockedEvent;
|
|
4423
4673
|
exports.PlanSubitemStatusChangedEvent = PlanSubitemStatusChangedEvent;
|
|
@@ -4467,6 +4717,9 @@ exports.SessionNode = SessionNode;
|
|
|
4467
4717
|
exports.SessionNodePresence = SessionNodePresence;
|
|
4468
4718
|
exports.SessionNodeType = SessionNodeType;
|
|
4469
4719
|
exports.SessionTreeDelta = SessionTreeDelta;
|
|
4720
|
+
exports.SessionsFeedFacetsSnapshot = SessionsFeedFacetsSnapshot;
|
|
4721
|
+
exports.SessionsFeedRowSnapshot = SessionsFeedRowSnapshot;
|
|
4722
|
+
exports.SessionsFeedSource = SessionsFeedSource;
|
|
4470
4723
|
exports.ShadowInferenceUpdateEvent = ShadowInferenceUpdateEvent;
|
|
4471
4724
|
exports.ShellOpenInEditorRpc = ShellOpenInEditorRpc;
|
|
4472
4725
|
exports.SpecialistCompletedEvent = SpecialistCompletedEvent;
|
|
@@ -4515,8 +4768,10 @@ exports.applyEvents = applyEvents;
|
|
|
4515
4768
|
exports.decodeFlywheelStats = decodeFlywheelStats;
|
|
4516
4769
|
exports.encodeFlywheelStats = encodeFlywheelStats;
|
|
4517
4770
|
exports.getHarness = getHarness;
|
|
4771
|
+
exports.getHarnessBehavior = getHarnessBehavior;
|
|
4518
4772
|
exports.getMaxMemoryObservationsPerIssue = getMaxMemoryObservationsPerIssue;
|
|
4519
4773
|
exports.getMaxTurnDiffSummariesPerAgent = getMaxTurnDiffSummariesPerAgent;
|
|
4774
|
+
exports.getRuntimeBehavior = getRuntimeBehavior;
|
|
4520
4775
|
exports.isChannelReplyKind = isChannelReplyKind;
|
|
4521
4776
|
exports.isTerminalTurnDiffSummaryStatus = isTerminalTurnDiffSummaryStatus;
|
|
4522
4777
|
exports.normalizeChannelReplyPayload = normalizeChannelReplyPayload;
|