@overdeck/contracts 0.47.1 → 0.49.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 +1200 -137
- package/dist/index.d.ts +1471 -83
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +1181 -138
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -91,7 +91,8 @@ const KNOWN_HARNESSES = new Set([
|
|
|
91
91
|
"claude-code",
|
|
92
92
|
"ohmypi",
|
|
93
93
|
"codex",
|
|
94
|
-
"acp"
|
|
94
|
+
"acp",
|
|
95
|
+
"kimi-code"
|
|
95
96
|
]);
|
|
96
97
|
/**
|
|
97
98
|
* Normalize a snapshot's runtime field to a known Harness value.
|
|
@@ -694,13 +695,14 @@ const ScanResult = Schema.Struct({
|
|
|
694
695
|
});
|
|
695
696
|
//#endregion
|
|
696
697
|
//#region src/memory.ts
|
|
698
|
+
const MemoryAgentRole = Schema.Union([Role, Schema.Literal("conversation")]);
|
|
697
699
|
const MemoryIdentity = Schema.Struct({
|
|
698
700
|
projectId: Schema.String,
|
|
699
701
|
workspaceId: Schema.String,
|
|
700
|
-
issueId: IssueId,
|
|
702
|
+
issueId: Schema.NullOr(IssueId),
|
|
701
703
|
runId: Schema.String,
|
|
702
704
|
sessionId: Schema.String,
|
|
703
|
-
agentRole:
|
|
705
|
+
agentRole: MemoryAgentRole,
|
|
704
706
|
agentHarness: Schema.String
|
|
705
707
|
});
|
|
706
708
|
const MemoryTokenUsage = Schema.Struct({
|
|
@@ -713,10 +715,10 @@ const MemoryObservation = Schema.Struct({
|
|
|
713
715
|
timestamp: Schema.String,
|
|
714
716
|
projectId: Schema.String,
|
|
715
717
|
workspaceId: Schema.String,
|
|
716
|
-
issueId: IssueId,
|
|
718
|
+
issueId: Schema.NullOr(IssueId),
|
|
717
719
|
runId: Schema.String,
|
|
718
720
|
sessionId: Schema.String,
|
|
719
|
-
agentRole:
|
|
721
|
+
agentRole: MemoryAgentRole,
|
|
720
722
|
agentHarness: Schema.String,
|
|
721
723
|
gitBranch: Schema.String,
|
|
722
724
|
sourceTranscriptOffset: Schema.Number,
|
|
@@ -1154,6 +1156,7 @@ const AgentStartedEvent = Schema.Struct({
|
|
|
1154
1156
|
payload: Schema.Struct({
|
|
1155
1157
|
agentId: AgentId,
|
|
1156
1158
|
issueId: IssueId,
|
|
1159
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1157
1160
|
agent: AgentSnapshot
|
|
1158
1161
|
})
|
|
1159
1162
|
});
|
|
@@ -1165,6 +1168,7 @@ const AgentStoppedEvent = Schema.Struct({
|
|
|
1165
1168
|
payload: Schema.Struct({
|
|
1166
1169
|
agentId: AgentId,
|
|
1167
1170
|
issueId: IssueId,
|
|
1171
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1168
1172
|
sessionId: Schema.optional(Schema.String)
|
|
1169
1173
|
})
|
|
1170
1174
|
});
|
|
@@ -1175,6 +1179,7 @@ const AgentHeartbeatDeadEvent = Schema.Struct({
|
|
|
1175
1179
|
payload: Schema.Struct({
|
|
1176
1180
|
agentId: AgentId,
|
|
1177
1181
|
issueId: Schema.optional(IssueId),
|
|
1182
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1178
1183
|
sessionId: Schema.optional(Schema.String)
|
|
1179
1184
|
})
|
|
1180
1185
|
});
|
|
@@ -1185,6 +1190,7 @@ const WorkCompletedEvent = Schema.Struct({
|
|
|
1185
1190
|
timestamp: Schema.String,
|
|
1186
1191
|
payload: Schema.Struct({
|
|
1187
1192
|
issueId: IssueId,
|
|
1193
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1188
1194
|
agentId: Schema.optional(AgentId)
|
|
1189
1195
|
})
|
|
1190
1196
|
});
|
|
@@ -1195,6 +1201,7 @@ const AgentCompletedEvent = Schema.Struct({
|
|
|
1195
1201
|
timestamp: Schema.String,
|
|
1196
1202
|
payload: Schema.Struct({
|
|
1197
1203
|
issueId: IssueId,
|
|
1204
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1198
1205
|
agentId: Schema.optional(AgentId),
|
|
1199
1206
|
role: Schema.optional(Role)
|
|
1200
1207
|
})
|
|
@@ -1204,14 +1211,20 @@ const ReviewApprovedEvent = Schema.Struct({
|
|
|
1204
1211
|
type: Schema.Literal("review.approved"),
|
|
1205
1212
|
sequence: SequenceNumber,
|
|
1206
1213
|
timestamp: Schema.String,
|
|
1207
|
-
payload: Schema.Struct({
|
|
1214
|
+
payload: Schema.Struct({
|
|
1215
|
+
issueId: IssueId,
|
|
1216
|
+
workspaceId: Schema.optional(Schema.String)
|
|
1217
|
+
})
|
|
1208
1218
|
});
|
|
1209
1219
|
/** Role lifecycle — tests passed and shipping should prepare the branch. */
|
|
1210
1220
|
const TestPassedEvent = Schema.Struct({
|
|
1211
1221
|
type: Schema.Literal("test.passed"),
|
|
1212
1222
|
sequence: SequenceNumber,
|
|
1213
1223
|
timestamp: Schema.String,
|
|
1214
|
-
payload: Schema.Struct({
|
|
1224
|
+
payload: Schema.Struct({
|
|
1225
|
+
issueId: IssueId,
|
|
1226
|
+
workspaceId: Schema.optional(Schema.String)
|
|
1227
|
+
})
|
|
1215
1228
|
});
|
|
1216
1229
|
/** Replaces socket.io `godview:status-change` */
|
|
1217
1230
|
const AgentStatusChangedEvent = Schema.Struct({
|
|
@@ -1221,6 +1234,7 @@ const AgentStatusChangedEvent = Schema.Struct({
|
|
|
1221
1234
|
payload: Schema.Struct({
|
|
1222
1235
|
agentId: AgentId,
|
|
1223
1236
|
issueId: Schema.optional(IssueId),
|
|
1237
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1224
1238
|
status: AgentStatus,
|
|
1225
1239
|
previousStatus: Schema.optional(AgentStatus),
|
|
1226
1240
|
hasLiveTmuxSession: Schema.optional(Schema.Boolean),
|
|
@@ -1281,6 +1295,8 @@ const AgentEnrichmentChangedEvent = Schema.Struct({
|
|
|
1281
1295
|
timestamp: Schema.String,
|
|
1282
1296
|
payload: Schema.Struct({
|
|
1283
1297
|
agentId: AgentId,
|
|
1298
|
+
issueId: Schema.optional(IssueId),
|
|
1299
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1284
1300
|
role: Schema.optional(Role),
|
|
1285
1301
|
hasPendingQuestion: Schema.optional(Schema.Boolean),
|
|
1286
1302
|
pendingQuestionCount: Schema.optional(Schema.Number),
|
|
@@ -1318,6 +1334,7 @@ const AgentCreatedEvent = Schema.Struct({
|
|
|
1318
1334
|
payload: Schema.Struct({
|
|
1319
1335
|
agentId: AgentId,
|
|
1320
1336
|
issueId: IssueId,
|
|
1337
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1321
1338
|
agent: AgentSnapshot
|
|
1322
1339
|
})
|
|
1323
1340
|
});
|
|
@@ -1328,7 +1345,19 @@ const AgentActivityChangedEvent = Schema.Struct({
|
|
|
1328
1345
|
payload: Schema.Struct({
|
|
1329
1346
|
agentId: AgentId,
|
|
1330
1347
|
activity: Activity,
|
|
1331
|
-
currentTool: Schema.optional(Schema.String)
|
|
1348
|
+
currentTool: Schema.optional(Schema.String),
|
|
1349
|
+
hookName: Schema.optional(Schema.String)
|
|
1350
|
+
})
|
|
1351
|
+
});
|
|
1352
|
+
/** A registered harness hook fired without implying an agent activity transition. */
|
|
1353
|
+
const AgentHookFiredEvent = Schema.Struct({
|
|
1354
|
+
type: Schema.Literal("agent.hook_fired"),
|
|
1355
|
+
sequence: SequenceNumber,
|
|
1356
|
+
timestamp: Schema.String,
|
|
1357
|
+
payload: Schema.Struct({
|
|
1358
|
+
agentId: AgentId,
|
|
1359
|
+
hookName: Schema.String,
|
|
1360
|
+
tool: Schema.optional(Schema.String)
|
|
1332
1361
|
})
|
|
1333
1362
|
});
|
|
1334
1363
|
const AgentThinkingStartedEvent = Schema.Struct({
|
|
@@ -1392,6 +1421,7 @@ const AgentPermissionResolvedEvent = Schema.Struct({
|
|
|
1392
1421
|
requestId: Schema.String,
|
|
1393
1422
|
agentId: AgentId,
|
|
1394
1423
|
issueId: Schema.optional(IssueId),
|
|
1424
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1395
1425
|
behavior: ClaudeChannelPermissionBehavior
|
|
1396
1426
|
})
|
|
1397
1427
|
});
|
|
@@ -1500,6 +1530,7 @@ const PlanningStartedEvent = Schema.Struct({
|
|
|
1500
1530
|
timestamp: Schema.String,
|
|
1501
1531
|
payload: Schema.Struct({
|
|
1502
1532
|
issueId: IssueId,
|
|
1533
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1503
1534
|
sessionName: Schema.String,
|
|
1504
1535
|
harness: Schema.optional(Schema.String)
|
|
1505
1536
|
})
|
|
@@ -1511,6 +1542,7 @@ const PlanningFailedEvent = Schema.Struct({
|
|
|
1511
1542
|
timestamp: Schema.String,
|
|
1512
1543
|
payload: Schema.Struct({
|
|
1513
1544
|
issueId: IssueId,
|
|
1545
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1514
1546
|
error: Schema.String
|
|
1515
1547
|
})
|
|
1516
1548
|
});
|
|
@@ -1521,6 +1553,7 @@ const PlanningSyncEvent = Schema.Struct({
|
|
|
1521
1553
|
timestamp: Schema.String,
|
|
1522
1554
|
payload: Schema.Struct({
|
|
1523
1555
|
issueId: IssueId,
|
|
1556
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1524
1557
|
status: Schema.String,
|
|
1525
1558
|
progress: Schema.optional(Schema.Number),
|
|
1526
1559
|
message: Schema.optional(Schema.String)
|
|
@@ -1533,6 +1566,7 @@ const PlanItemStatusChangedEvent = Schema.Struct({
|
|
|
1533
1566
|
timestamp: Schema.String,
|
|
1534
1567
|
payload: Schema.Struct({
|
|
1535
1568
|
issueId: IssueId,
|
|
1569
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1536
1570
|
itemId: Schema.String,
|
|
1537
1571
|
status: Schema.String
|
|
1538
1572
|
})
|
|
@@ -1544,6 +1578,7 @@ const PlanSubitemStatusChangedEvent = Schema.Struct({
|
|
|
1544
1578
|
timestamp: Schema.String,
|
|
1545
1579
|
payload: Schema.Struct({
|
|
1546
1580
|
issueId: IssueId,
|
|
1581
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1547
1582
|
itemId: Schema.String,
|
|
1548
1583
|
subItemId: Schema.String,
|
|
1549
1584
|
status: Schema.String
|
|
@@ -1556,6 +1591,7 @@ const PlanItemsUnblockedEvent = Schema.Struct({
|
|
|
1556
1591
|
timestamp: Schema.String,
|
|
1557
1592
|
payload: Schema.Struct({
|
|
1558
1593
|
issueId: IssueId,
|
|
1594
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1559
1595
|
items: Schema.Array(Schema.String)
|
|
1560
1596
|
})
|
|
1561
1597
|
});
|
|
@@ -1566,6 +1602,7 @@ const PipelineStatusChangedEvent = Schema.Struct({
|
|
|
1566
1602
|
timestamp: Schema.String,
|
|
1567
1603
|
payload: Schema.Struct({
|
|
1568
1604
|
issueId: IssueId,
|
|
1605
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1569
1606
|
status: ReviewStatusSnapshot
|
|
1570
1607
|
})
|
|
1571
1608
|
});
|
|
@@ -1574,7 +1611,10 @@ const MergeReadyEvent = Schema.Struct({
|
|
|
1574
1611
|
type: Schema.Literal("merge.ready"),
|
|
1575
1612
|
sequence: SequenceNumber,
|
|
1576
1613
|
timestamp: Schema.String,
|
|
1577
|
-
payload: Schema.Struct({
|
|
1614
|
+
payload: Schema.Struct({
|
|
1615
|
+
issueId: IssueId,
|
|
1616
|
+
workspaceId: Schema.optional(Schema.String)
|
|
1617
|
+
})
|
|
1578
1618
|
});
|
|
1579
1619
|
/** New — review status changed */
|
|
1580
1620
|
const ReviewStatusChangedEvent = Schema.Struct({
|
|
@@ -1583,6 +1623,7 @@ const ReviewStatusChangedEvent = Schema.Struct({
|
|
|
1583
1623
|
timestamp: Schema.String,
|
|
1584
1624
|
payload: Schema.Struct({
|
|
1585
1625
|
issueId: IssueId,
|
|
1626
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1586
1627
|
status: ReviewStatusSnapshot
|
|
1587
1628
|
})
|
|
1588
1629
|
});
|
|
@@ -1591,7 +1632,10 @@ const PipelineReviewStartedEvent = Schema.Struct({
|
|
|
1591
1632
|
type: Schema.Literal("pipeline.review-started"),
|
|
1592
1633
|
sequence: SequenceNumber,
|
|
1593
1634
|
timestamp: Schema.String,
|
|
1594
|
-
payload: Schema.Struct({
|
|
1635
|
+
payload: Schema.Struct({
|
|
1636
|
+
issueId: IssueId,
|
|
1637
|
+
workspaceId: Schema.optional(Schema.String)
|
|
1638
|
+
})
|
|
1595
1639
|
});
|
|
1596
1640
|
/** New — review specialist finished (passed or failed) */
|
|
1597
1641
|
const PipelineReviewCompletedEvent = Schema.Struct({
|
|
@@ -1600,6 +1644,7 @@ const PipelineReviewCompletedEvent = Schema.Struct({
|
|
|
1600
1644
|
timestamp: Schema.String,
|
|
1601
1645
|
payload: Schema.Struct({
|
|
1602
1646
|
issueId: IssueId,
|
|
1647
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1603
1648
|
passed: Schema.Boolean
|
|
1604
1649
|
})
|
|
1605
1650
|
});
|
|
@@ -1608,7 +1653,10 @@ const PipelineTestStartedEvent = Schema.Struct({
|
|
|
1608
1653
|
type: Schema.Literal("pipeline.test-started"),
|
|
1609
1654
|
sequence: SequenceNumber,
|
|
1610
1655
|
timestamp: Schema.String,
|
|
1611
|
-
payload: Schema.Struct({
|
|
1656
|
+
payload: Schema.Struct({
|
|
1657
|
+
issueId: IssueId,
|
|
1658
|
+
workspaceId: Schema.optional(Schema.String)
|
|
1659
|
+
})
|
|
1612
1660
|
});
|
|
1613
1661
|
/** New — test specialist finished (passed or failed) */
|
|
1614
1662
|
const PipelineTestCompletedEvent = Schema.Struct({
|
|
@@ -1617,6 +1665,7 @@ const PipelineTestCompletedEvent = Schema.Struct({
|
|
|
1617
1665
|
timestamp: Schema.String,
|
|
1618
1666
|
payload: Schema.Struct({
|
|
1619
1667
|
issueId: IssueId,
|
|
1668
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1620
1669
|
passed: Schema.Boolean
|
|
1621
1670
|
})
|
|
1622
1671
|
});
|
|
@@ -1625,7 +1674,10 @@ const PipelineVerificationStartedEvent = Schema.Struct({
|
|
|
1625
1674
|
type: Schema.Literal("pipeline.verification-started"),
|
|
1626
1675
|
sequence: SequenceNumber,
|
|
1627
1676
|
timestamp: Schema.String,
|
|
1628
|
-
payload: Schema.Struct({
|
|
1677
|
+
payload: Schema.Struct({
|
|
1678
|
+
issueId: IssueId,
|
|
1679
|
+
workspaceId: Schema.optional(Schema.String)
|
|
1680
|
+
})
|
|
1629
1681
|
});
|
|
1630
1682
|
/** New — verification gate failed (carries failedCheck for gate failures, message for infra errors) */
|
|
1631
1683
|
const PipelineVerificationFailedEvent = Schema.Struct({
|
|
@@ -1634,6 +1686,7 @@ const PipelineVerificationFailedEvent = Schema.Struct({
|
|
|
1634
1686
|
timestamp: Schema.String,
|
|
1635
1687
|
payload: Schema.Struct({
|
|
1636
1688
|
issueId: IssueId,
|
|
1689
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1637
1690
|
failedCheck: Schema.optional(Schema.String),
|
|
1638
1691
|
message: Schema.optional(Schema.String)
|
|
1639
1692
|
})
|
|
@@ -1647,6 +1700,7 @@ const IssueTransitionedEvent = Schema.Struct({
|
|
|
1647
1700
|
timestamp: Schema.String,
|
|
1648
1701
|
payload: Schema.Struct({
|
|
1649
1702
|
issueId: IssueId,
|
|
1703
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1650
1704
|
state: Schema.String
|
|
1651
1705
|
})
|
|
1652
1706
|
});
|
|
@@ -1656,6 +1710,7 @@ const OperatorInterventionEvent = Schema.Struct({
|
|
|
1656
1710
|
timestamp: Schema.String,
|
|
1657
1711
|
payload: Schema.Struct({
|
|
1658
1712
|
issueId: IssueId,
|
|
1713
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1659
1714
|
kind: Schema.Literals([
|
|
1660
1715
|
"tell",
|
|
1661
1716
|
"pause",
|
|
@@ -1720,6 +1775,7 @@ const SubstrateBugFiledEvent = Schema.Struct({
|
|
|
1720
1775
|
timestamp: Schema.String,
|
|
1721
1776
|
payload: Schema.Struct({
|
|
1722
1777
|
issueId: IssueId,
|
|
1778
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1723
1779
|
runId: Schema.optional(Schema.String),
|
|
1724
1780
|
filedBy: Schema.Literals(["agent", "operator"]),
|
|
1725
1781
|
discoveredIn: Schema.optional(IssueId),
|
|
@@ -1741,6 +1797,7 @@ const ReviewReviewerStartedEvent = Schema.Struct({
|
|
|
1741
1797
|
timestamp: Schema.String,
|
|
1742
1798
|
payload: Schema.Struct({
|
|
1743
1799
|
issueId: IssueId,
|
|
1800
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1744
1801
|
role: Schema.String,
|
|
1745
1802
|
sessionName: Schema.String
|
|
1746
1803
|
})
|
|
@@ -1755,6 +1812,7 @@ const ReviewReviewerCompletedEvent = Schema.Struct({
|
|
|
1755
1812
|
timestamp: Schema.String,
|
|
1756
1813
|
payload: Schema.Struct({
|
|
1757
1814
|
issueId: IssueId,
|
|
1815
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1758
1816
|
role: Schema.String
|
|
1759
1817
|
})
|
|
1760
1818
|
});
|
|
@@ -1769,6 +1827,7 @@ const ReviewSpecialistTimedOutEvent = Schema.Struct({
|
|
|
1769
1827
|
timestamp: Schema.String,
|
|
1770
1828
|
payload: Schema.Struct({
|
|
1771
1829
|
issueId: IssueId,
|
|
1830
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1772
1831
|
role: Schema.String,
|
|
1773
1832
|
sessionName: Schema.String,
|
|
1774
1833
|
attempt: Schema.Number,
|
|
@@ -1787,6 +1846,7 @@ const ReviewCoordinatorStartedEvent = Schema.Struct({
|
|
|
1787
1846
|
timestamp: Schema.String,
|
|
1788
1847
|
payload: Schema.Struct({
|
|
1789
1848
|
issueId: IssueId,
|
|
1849
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1790
1850
|
sessionName: Schema.String
|
|
1791
1851
|
})
|
|
1792
1852
|
});
|
|
@@ -1797,10 +1857,62 @@ const ReviewCoordinatorDiedEvent = Schema.Struct({
|
|
|
1797
1857
|
timestamp: Schema.String,
|
|
1798
1858
|
payload: Schema.Struct({
|
|
1799
1859
|
issueId: IssueId,
|
|
1860
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1800
1861
|
sessionName: Schema.String,
|
|
1801
1862
|
reason: Schema.String
|
|
1802
1863
|
})
|
|
1803
1864
|
});
|
|
1865
|
+
/** A terminal review verdict was rejected due to stale evidence. */
|
|
1866
|
+
const ReviewVerdictRejectedEvent = Schema.Struct({
|
|
1867
|
+
type: Schema.Literal("review.verdict_rejected"),
|
|
1868
|
+
sequence: SequenceNumber,
|
|
1869
|
+
timestamp: Schema.String,
|
|
1870
|
+
payload: Schema.Struct({
|
|
1871
|
+
issueId: IssueId,
|
|
1872
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1873
|
+
writer: Schema.String,
|
|
1874
|
+
verdict: Schema.String,
|
|
1875
|
+
evidenceHead: Schema.String,
|
|
1876
|
+
rowHead: Schema.String,
|
|
1877
|
+
reason: Schema.String
|
|
1878
|
+
})
|
|
1879
|
+
});
|
|
1880
|
+
/** A terminal review verdict was landed and dispatched with a fresh evidence head. */
|
|
1881
|
+
const ReviewVerdictDispatchedEvent = Schema.Struct({
|
|
1882
|
+
type: Schema.Literal("review.verdict_dispatched"),
|
|
1883
|
+
sequence: SequenceNumber,
|
|
1884
|
+
timestamp: Schema.String,
|
|
1885
|
+
payload: Schema.Struct({
|
|
1886
|
+
issueId: IssueId,
|
|
1887
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1888
|
+
writer: Schema.String,
|
|
1889
|
+
verdict: Schema.String,
|
|
1890
|
+
evidenceHead: Schema.String,
|
|
1891
|
+
rowHead: Schema.String,
|
|
1892
|
+
classification: Schema.String,
|
|
1893
|
+
testGateReset: Schema.Boolean
|
|
1894
|
+
})
|
|
1895
|
+
});
|
|
1896
|
+
/**
|
|
1897
|
+
* A recovery path found a fresh verdict artifact but declined to restore it,
|
|
1898
|
+
* because the artifact's head evidence disagrees with the row's anchor. The
|
|
1899
|
+
* verdict is NOT lost silently — it is reported here so the operator can see a
|
|
1900
|
+
* finished review that recovery refused to write (PAN-3511).
|
|
1901
|
+
*/
|
|
1902
|
+
const ReviewVerdictRestoreBlockedEvent = Schema.Struct({
|
|
1903
|
+
type: Schema.Literal("review.verdict_restore_blocked"),
|
|
1904
|
+
sequence: SequenceNumber,
|
|
1905
|
+
timestamp: Schema.String,
|
|
1906
|
+
payload: Schema.Struct({
|
|
1907
|
+
issueId: IssueId,
|
|
1908
|
+
/** Recovery path that attempted the restore (orphan-reset, sweeper, …). */
|
|
1909
|
+
caller: Schema.String,
|
|
1910
|
+
verdict: Schema.String,
|
|
1911
|
+
artifactHead: Schema.String,
|
|
1912
|
+
rowHead: Schema.String,
|
|
1913
|
+
reason: Schema.String
|
|
1914
|
+
})
|
|
1915
|
+
});
|
|
1804
1916
|
const SpecialistLifecycleState = Schema.Literals([
|
|
1805
1917
|
"active",
|
|
1806
1918
|
"sleeping",
|
|
@@ -1826,7 +1938,8 @@ const SpecialistCompletedEvent = Schema.Struct({
|
|
|
1826
1938
|
timestamp: Schema.String,
|
|
1827
1939
|
payload: Schema.Struct({
|
|
1828
1940
|
name: Role,
|
|
1829
|
-
issueId: Schema.optional(IssueId)
|
|
1941
|
+
issueId: Schema.optional(IssueId),
|
|
1942
|
+
workspaceId: Schema.optional(Schema.String)
|
|
1830
1943
|
})
|
|
1831
1944
|
});
|
|
1832
1945
|
/** New — role-backed specialist failed */
|
|
@@ -1837,6 +1950,7 @@ const SpecialistFailedEvent = Schema.Struct({
|
|
|
1837
1950
|
payload: Schema.Struct({
|
|
1838
1951
|
name: Role,
|
|
1839
1952
|
issueId: Schema.optional(IssueId),
|
|
1953
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1840
1954
|
error: Schema.String
|
|
1841
1955
|
})
|
|
1842
1956
|
});
|
|
@@ -1876,7 +1990,10 @@ const IssuesUpdatedEvent = Schema.Struct({
|
|
|
1876
1990
|
type: Schema.Literal("issues.updated"),
|
|
1877
1991
|
sequence: SequenceNumber,
|
|
1878
1992
|
timestamp: Schema.String,
|
|
1879
|
-
payload: Schema.Struct({
|
|
1993
|
+
payload: Schema.Struct({
|
|
1994
|
+
issueId: Schema.optional(IssueId),
|
|
1995
|
+
workspaceId: Schema.optional(Schema.String)
|
|
1996
|
+
})
|
|
1880
1997
|
});
|
|
1881
1998
|
/** Patch a single issue's status in the read model without a full snapshot refresh. */
|
|
1882
1999
|
const IssueStatusChangedEvent = Schema.Struct({
|
|
@@ -1885,6 +2002,7 @@ const IssueStatusChangedEvent = Schema.Struct({
|
|
|
1885
2002
|
timestamp: Schema.String,
|
|
1886
2003
|
payload: Schema.Struct({
|
|
1887
2004
|
issueId: IssueId,
|
|
2005
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1888
2006
|
status: Schema.String,
|
|
1889
2007
|
canonicalStatus: Schema.String,
|
|
1890
2008
|
labels: Schema.optional(Schema.Array(Schema.String))
|
|
@@ -1917,6 +2035,7 @@ const ActivityEntryEvent = Schema.Struct({
|
|
|
1917
2035
|
details: Schema.optional(Schema.String),
|
|
1918
2036
|
output: Schema.optional(Schema.String),
|
|
1919
2037
|
issueId: Schema.optional(IssueId),
|
|
2038
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1920
2039
|
/** Dashboard route the feed navigates to on click (e.g. /conv/<name>, /flywheel). */
|
|
1921
2040
|
link: Schema.optional(Schema.String),
|
|
1922
2041
|
/** PAN-1862 (FR-12): fire a desktop notification for this entry (operator-facing warnings). */
|
|
@@ -1935,6 +2054,7 @@ const ActivityDetailedEvent = Schema.Struct({
|
|
|
1935
2054
|
message: Schema.String,
|
|
1936
2055
|
details: Schema.optional(Schema.String),
|
|
1937
2056
|
issueId: Schema.optional(IssueId),
|
|
2057
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1938
2058
|
triggeringEvent: Schema.optional(Schema.String)
|
|
1939
2059
|
})
|
|
1940
2060
|
});
|
|
@@ -1948,6 +2068,7 @@ const ActivityTtsEvent = Schema.Struct({
|
|
|
1948
2068
|
utterance: Schema.String,
|
|
1949
2069
|
priority: Schema.optional(Schema.Number),
|
|
1950
2070
|
issueId: Schema.optional(IssueId),
|
|
2071
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1951
2072
|
source: Schema.optional(Schema.String),
|
|
1952
2073
|
eventType: Schema.optional(Schema.String)
|
|
1953
2074
|
})
|
|
@@ -1960,6 +2081,7 @@ const DashboardLifecycleStartedEvent = Schema.Struct({
|
|
|
1960
2081
|
payload: Schema.Struct({
|
|
1961
2082
|
reason: Schema.String,
|
|
1962
2083
|
issueId: Schema.optional(IssueId),
|
|
2084
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1963
2085
|
trigger: Schema.String
|
|
1964
2086
|
})
|
|
1965
2087
|
});
|
|
@@ -1971,6 +2093,7 @@ const DashboardLifecycleCompletedEvent = Schema.Struct({
|
|
|
1971
2093
|
payload: Schema.Struct({
|
|
1972
2094
|
reason: Schema.String,
|
|
1973
2095
|
issueId: Schema.optional(IssueId),
|
|
2096
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1974
2097
|
durationMs: Schema.Number
|
|
1975
2098
|
})
|
|
1976
2099
|
});
|
|
@@ -1982,6 +2105,7 @@ const DashboardLifecycleFailedEvent = Schema.Struct({
|
|
|
1982
2105
|
payload: Schema.Struct({
|
|
1983
2106
|
reason: Schema.String,
|
|
1984
2107
|
issueId: Schema.optional(IssueId),
|
|
2108
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1985
2109
|
error: Schema.String
|
|
1986
2110
|
})
|
|
1987
2111
|
});
|
|
@@ -1992,6 +2116,7 @@ const ShadowInferenceUpdateEvent = Schema.Struct({
|
|
|
1992
2116
|
timestamp: Schema.String,
|
|
1993
2117
|
payload: Schema.Struct({
|
|
1994
2118
|
issueId: IssueId,
|
|
2119
|
+
workspaceId: Schema.optional(Schema.String),
|
|
1995
2120
|
content: Schema.String
|
|
1996
2121
|
})
|
|
1997
2122
|
});
|
|
@@ -2002,6 +2127,7 @@ const WorkspaceCreatedEvent = Schema.Struct({
|
|
|
2002
2127
|
timestamp: Schema.String,
|
|
2003
2128
|
payload: Schema.Struct({
|
|
2004
2129
|
issueId: IssueId,
|
|
2130
|
+
workspaceId: Schema.optional(Schema.String),
|
|
2005
2131
|
workspacePath: Schema.String
|
|
2006
2132
|
})
|
|
2007
2133
|
});
|
|
@@ -2010,21 +2136,30 @@ const WorkspaceWipeStartedEvent = Schema.Struct({
|
|
|
2010
2136
|
type: Schema.Literal("workspace.wipe_started"),
|
|
2011
2137
|
sequence: SequenceNumber,
|
|
2012
2138
|
timestamp: Schema.String,
|
|
2013
|
-
payload: Schema.Struct({
|
|
2139
|
+
payload: Schema.Struct({
|
|
2140
|
+
issueId: IssueId,
|
|
2141
|
+
workspaceId: Schema.optional(Schema.String)
|
|
2142
|
+
})
|
|
2014
2143
|
});
|
|
2015
2144
|
/** New — deep-wipe completed, workspace fully destroyed */
|
|
2016
2145
|
const WorkspaceDestroyedEvent = Schema.Struct({
|
|
2017
2146
|
type: Schema.Literal("workspace.destroyed"),
|
|
2018
2147
|
sequence: SequenceNumber,
|
|
2019
2148
|
timestamp: Schema.String,
|
|
2020
|
-
payload: Schema.Struct({
|
|
2149
|
+
payload: Schema.Struct({
|
|
2150
|
+
issueId: IssueId,
|
|
2151
|
+
workspaceId: Schema.optional(Schema.String)
|
|
2152
|
+
})
|
|
2021
2153
|
});
|
|
2022
2154
|
/** New — cleanup-workspace completed, workspace directory removed */
|
|
2023
2155
|
const WorkspaceDeletedEvent = Schema.Struct({
|
|
2024
2156
|
type: Schema.Literal("workspace.deleted"),
|
|
2025
2157
|
sequence: SequenceNumber,
|
|
2026
2158
|
timestamp: Schema.String,
|
|
2027
|
-
payload: Schema.Struct({
|
|
2159
|
+
payload: Schema.Struct({
|
|
2160
|
+
issueId: IssueId,
|
|
2161
|
+
workspaceId: Schema.optional(Schema.String)
|
|
2162
|
+
})
|
|
2028
2163
|
});
|
|
2029
2164
|
/** New — planning aborted, workspace returned to idle state */
|
|
2030
2165
|
const WorkspaceAbortedEvent = Schema.Struct({
|
|
@@ -2033,6 +2168,7 @@ const WorkspaceAbortedEvent = Schema.Struct({
|
|
|
2033
2168
|
timestamp: Schema.String,
|
|
2034
2169
|
payload: Schema.Struct({
|
|
2035
2170
|
issueId: IssueId,
|
|
2171
|
+
workspaceId: Schema.optional(Schema.String),
|
|
2036
2172
|
sessionName: Schema.optional(Schema.String)
|
|
2037
2173
|
})
|
|
2038
2174
|
});
|
|
@@ -2082,6 +2218,7 @@ const MemoryHealthChangedEvent = Schema.Struct({
|
|
|
2082
2218
|
payload: Schema.Struct({
|
|
2083
2219
|
projectId: Schema.String,
|
|
2084
2220
|
issueId: IssueId,
|
|
2221
|
+
workspaceId: Schema.optional(Schema.String),
|
|
2085
2222
|
status: Schema.Literals([
|
|
2086
2223
|
"healthy",
|
|
2087
2224
|
"degraded",
|
|
@@ -2100,6 +2237,7 @@ const CostEventRecordedEvent = Schema.Struct({
|
|
|
2100
2237
|
payload: Schema.Struct({
|
|
2101
2238
|
agentId: AgentId,
|
|
2102
2239
|
issueId: IssueId,
|
|
2240
|
+
workspaceId: Schema.optional(Schema.String),
|
|
2103
2241
|
cost: Schema.Number,
|
|
2104
2242
|
inputTokens: Schema.Number,
|
|
2105
2243
|
outputTokens: Schema.Number
|
|
@@ -2123,6 +2261,18 @@ const ConversationCreatedEvent = Schema.Struct({
|
|
|
2123
2261
|
timestamp: Schema.String,
|
|
2124
2262
|
payload: Schema.Struct({ conversationName: Schema.String })
|
|
2125
2263
|
});
|
|
2264
|
+
/** Emitted (in-memory only, not persisted) when a conversation's project
|
|
2265
|
+
* assignment override changes, so the sidebar can re-group it live instead of
|
|
2266
|
+
* waiting for its poll tick. */
|
|
2267
|
+
const ConversationMovedEvent = Schema.Struct({
|
|
2268
|
+
type: Schema.Literal("conversation.moved"),
|
|
2269
|
+
sequence: SequenceNumber,
|
|
2270
|
+
timestamp: Schema.String,
|
|
2271
|
+
payload: Schema.Struct({
|
|
2272
|
+
conversationName: Schema.String,
|
|
2273
|
+
projectKey: Schema.String
|
|
2274
|
+
})
|
|
2275
|
+
});
|
|
2126
2276
|
/** Emitted (in-memory only) when a conversation title changes, so the sidebar
|
|
2127
2277
|
* list can refresh immediately instead of waiting for its poll tick. */
|
|
2128
2278
|
const ConversationTitleChangedEvent = Schema.Struct({
|
|
@@ -2223,6 +2373,45 @@ const EmbedProgressEvent = Schema.Struct({
|
|
|
2223
2373
|
error: Schema.optional(Schema.String)
|
|
2224
2374
|
})
|
|
2225
2375
|
});
|
|
2376
|
+
/** The parked population changed — carries the full new population (compact rows). */
|
|
2377
|
+
const SweepScanEvent = Schema.Struct({
|
|
2378
|
+
type: Schema.Literal("sweep.scan"),
|
|
2379
|
+
sequence: SequenceNumber,
|
|
2380
|
+
timestamp: Schema.String,
|
|
2381
|
+
payload: Schema.Struct({
|
|
2382
|
+
issueCount: Schema.Number,
|
|
2383
|
+
rowCount: Schema.Number,
|
|
2384
|
+
rows: Schema.Array(Schema.Struct({
|
|
2385
|
+
issueId: Schema.String,
|
|
2386
|
+
orbit: Schema.String,
|
|
2387
|
+
parkedAt: Schema.String
|
|
2388
|
+
}))
|
|
2389
|
+
})
|
|
2390
|
+
});
|
|
2391
|
+
/** A parked row was (re-)surfaced to the operator — gates respected, TTL re-surface, or exhaustion. */
|
|
2392
|
+
const SweepEscalatedEvent = Schema.Struct({
|
|
2393
|
+
type: Schema.Literal("sweep.escalated"),
|
|
2394
|
+
sequence: SequenceNumber,
|
|
2395
|
+
timestamp: Schema.String,
|
|
2396
|
+
payload: Schema.Struct({
|
|
2397
|
+
issueId: Schema.String,
|
|
2398
|
+
orbit: Schema.String,
|
|
2399
|
+
reason: Schema.String
|
|
2400
|
+
})
|
|
2401
|
+
});
|
|
2402
|
+
/** The sweeper recommended a remedy for a parked row (observability-only — never an action, PAN-3551). */
|
|
2403
|
+
const SweepRecommendationEvent = Schema.Struct({
|
|
2404
|
+
type: Schema.Literal("sweep.recommendation"),
|
|
2405
|
+
sequence: SequenceNumber,
|
|
2406
|
+
timestamp: Schema.String,
|
|
2407
|
+
payload: Schema.Struct({
|
|
2408
|
+
issueId: Schema.String,
|
|
2409
|
+
orbit: Schema.String,
|
|
2410
|
+
recommendation: Schema.String,
|
|
2411
|
+
recurring: Schema.optional(Schema.Boolean),
|
|
2412
|
+
agentId: Schema.optional(Schema.String)
|
|
2413
|
+
})
|
|
2414
|
+
});
|
|
2226
2415
|
/** All domain events — the shape streamed via subscribeDomainEvents RPC */
|
|
2227
2416
|
const DomainEvent = Schema.Union([
|
|
2228
2417
|
SystemHeartbeatEvent,
|
|
@@ -2239,6 +2428,7 @@ const DomainEvent = Schema.Union([
|
|
|
2239
2428
|
AgentStatusChangedEvent,
|
|
2240
2429
|
AgentOutputReceivedEvent,
|
|
2241
2430
|
AgentActivityChangedEvent,
|
|
2431
|
+
AgentHookFiredEvent,
|
|
2242
2432
|
AgentThinkingStartedEvent,
|
|
2243
2433
|
AgentThinkingStoppedEvent,
|
|
2244
2434
|
AgentWaitingStartedEvent,
|
|
@@ -2280,6 +2470,9 @@ const DomainEvent = Schema.Union([
|
|
|
2280
2470
|
ReviewSpecialistTimedOutEvent,
|
|
2281
2471
|
ReviewCoordinatorStartedEvent,
|
|
2282
2472
|
ReviewCoordinatorDiedEvent,
|
|
2473
|
+
ReviewVerdictRejectedEvent,
|
|
2474
|
+
ReviewVerdictDispatchedEvent,
|
|
2475
|
+
ReviewVerdictRestoreBlockedEvent,
|
|
2283
2476
|
SpecialistStartedEvent,
|
|
2284
2477
|
SpecialistCompletedEvent,
|
|
2285
2478
|
SpecialistFailedEvent,
|
|
@@ -2309,6 +2502,7 @@ const DomainEvent = Schema.Union([
|
|
|
2309
2502
|
DashboardLifecycleFailedEvent,
|
|
2310
2503
|
ConversationCompactingChangedEvent,
|
|
2311
2504
|
ConversationCreatedEvent,
|
|
2505
|
+
ConversationMovedEvent,
|
|
2312
2506
|
ConversationTitleChangedEvent,
|
|
2313
2507
|
ConversationPermissionChangedEvent,
|
|
2314
2508
|
ScanStartedEvent,
|
|
@@ -2316,7 +2510,10 @@ const DomainEvent = Schema.Union([
|
|
|
2316
2510
|
ScanCompleteEvent,
|
|
2317
2511
|
EnrichProgressEvent,
|
|
2318
2512
|
EnrichCompleteEvent,
|
|
2319
|
-
EmbedProgressEvent
|
|
2513
|
+
EmbedProgressEvent,
|
|
2514
|
+
SweepScanEvent,
|
|
2515
|
+
SweepEscalatedEvent,
|
|
2516
|
+
SweepRecommendationEvent
|
|
2320
2517
|
]);
|
|
2321
2518
|
//#endregion
|
|
2322
2519
|
//#region src/editor.ts
|
|
@@ -2491,7 +2688,8 @@ const FlywheelHarness = Schema.Literals([
|
|
|
2491
2688
|
"pi",
|
|
2492
2689
|
"ohmypi",
|
|
2493
2690
|
"codex",
|
|
2494
|
-
"acp"
|
|
2691
|
+
"acp",
|
|
2692
|
+
"kimi-code"
|
|
2495
2693
|
]);
|
|
2496
2694
|
const FlywheelEffort = Schema.Literals([
|
|
2497
2695
|
"low",
|
|
@@ -2684,6 +2882,8 @@ const WS_METHODS = {
|
|
|
2684
2882
|
replayEvents: "pan.replayEvents",
|
|
2685
2883
|
getWorkspaceDetail: "pan.getWorkspaceDetail",
|
|
2686
2884
|
readWorkspaceFile: "pan.readWorkspaceFile",
|
|
2885
|
+
readFileAtPath: "pan.readFileAtPath",
|
|
2886
|
+
writeFileAtPath: "pan.writeFileAtPath",
|
|
2687
2887
|
resolveFilePathExists: "pan.resolveFilePathExists",
|
|
2688
2888
|
terminalOpen: "pan.terminalOpen",
|
|
2689
2889
|
terminalWrite: "pan.terminalWrite",
|
|
@@ -2829,12 +3029,17 @@ const SessionTreeDelta = Schema.Struct({
|
|
|
2829
3029
|
"session_added",
|
|
2830
3030
|
"session_removed",
|
|
2831
3031
|
"presence_changed",
|
|
2832
|
-
"status_changed"
|
|
3032
|
+
"status_changed",
|
|
3033
|
+
"pending_input_changed"
|
|
2833
3034
|
]),
|
|
2834
3035
|
issueId: Schema.String,
|
|
2835
3036
|
sessionId: Schema.String,
|
|
2836
3037
|
presence: Schema.optional(SessionNodePresence),
|
|
2837
3038
|
status: Schema.optional(AgentStatus),
|
|
3039
|
+
awaitingInput: Schema.optional(Schema.Boolean),
|
|
3040
|
+
awaitingInputPrompt: Schema.optional(Schema.String),
|
|
3041
|
+
awaitingInputReason: Schema.optional(Schema.String),
|
|
3042
|
+
pendingInputKinds: Schema.optional(Schema.Array(Schema.String)),
|
|
2838
3043
|
timestamp: Schema.String
|
|
2839
3044
|
});
|
|
2840
3045
|
/** 1. Subscribe to the live domain event stream (stream) */
|
|
@@ -2935,6 +3140,44 @@ const ReadWorkspaceFileRpc = Rpc.make(WS_METHODS.readWorkspaceFile, {
|
|
|
2935
3140
|
success: ReadWorkspaceFileResult,
|
|
2936
3141
|
error: PanRpcError
|
|
2937
3142
|
});
|
|
3143
|
+
const ReadFileAtPathInput = Schema.Struct({ path: Schema.String });
|
|
3144
|
+
const ReadFileAtPathResult = Schema.Struct({
|
|
3145
|
+
text: Schema.String,
|
|
3146
|
+
lang: Schema.String,
|
|
3147
|
+
mtimeMs: Schema.Number,
|
|
3148
|
+
totalLines: Schema.Number
|
|
3149
|
+
});
|
|
3150
|
+
/**
|
|
3151
|
+
* 10b-2. Read an allowlisted markdown file by absolute path (PAN-3260).
|
|
3152
|
+
*
|
|
3153
|
+
* Unlike ReadWorkspaceFileRpc this takes no issueId — the internal markdown
|
|
3154
|
+
* editor pane opens files reached from surfaces with no workspace context
|
|
3155
|
+
* (e.g. a repo-root file chip inside a conversation). The server validates
|
|
3156
|
+
* `path` against registered project roots + OVERDECK_HOME before reading.
|
|
3157
|
+
*/
|
|
3158
|
+
const ReadFileAtPathRpc = Rpc.make(WS_METHODS.readFileAtPath, {
|
|
3159
|
+
payload: ReadFileAtPathInput,
|
|
3160
|
+
success: ReadFileAtPathResult,
|
|
3161
|
+
error: PanRpcError
|
|
3162
|
+
});
|
|
3163
|
+
const WriteFileAtPathInput = Schema.Struct({
|
|
3164
|
+
path: Schema.String,
|
|
3165
|
+
content: Schema.String,
|
|
3166
|
+
expectedMtimeMs: Schema.optional(Schema.Number)
|
|
3167
|
+
});
|
|
3168
|
+
const WriteFileAtPathResult = Schema.Struct({ mtimeMs: Schema.Number });
|
|
3169
|
+
/**
|
|
3170
|
+
* 10b-3. Write an allowlisted markdown file by absolute path (PAN-3260).
|
|
3171
|
+
*
|
|
3172
|
+
* `expectedMtimeMs` enables optimistic concurrency: a stale value is
|
|
3173
|
+
* rejected with a PanRpcError code of WRITE_CONFLICT and nothing is
|
|
3174
|
+
* written. Omitting it (e.g. an explicit Overwrite action) skips the check.
|
|
3175
|
+
*/
|
|
3176
|
+
const WriteFileAtPathRpc = Rpc.make(WS_METHODS.writeFileAtPath, {
|
|
3177
|
+
payload: WriteFileAtPathInput,
|
|
3178
|
+
success: WriteFileAtPathResult,
|
|
3179
|
+
error: PanRpcError
|
|
3180
|
+
});
|
|
2938
3181
|
/**
|
|
2939
3182
|
* 10c. Resolve whether a file path candidate exists on disk (PAN-1457).
|
|
2940
3183
|
*
|
|
@@ -2952,7 +3195,7 @@ const ReadWorkspaceFileRpc = Rpc.make(WS_METHODS.readWorkspaceFile, {
|
|
|
2952
3195
|
* chat happens outside any single workspace.
|
|
2953
3196
|
*/
|
|
2954
3197
|
const ResolveFilePathExistsInput = Schema.Struct({
|
|
2955
|
-
cwd: Schema.String,
|
|
3198
|
+
cwd: Schema.optional(Schema.String),
|
|
2956
3199
|
path: Schema.String
|
|
2957
3200
|
});
|
|
2958
3201
|
const ResolveFilePathExistsResult = Schema.Struct({
|
|
@@ -3209,7 +3452,7 @@ const GetConversationStatsRpc = Rpc.make(WS_METHODS.getConversationStats, {
|
|
|
3209
3452
|
error: PanRpcError
|
|
3210
3453
|
});
|
|
3211
3454
|
/** All Overdeck WebSocket RPC methods */
|
|
3212
|
-
const PanRpcGroup = 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);
|
|
3455
|
+
const PanRpcGroup = RpcGroup.make(SubscribeDomainEventsRpc, SubscribeIssueEventsRpc, SubscribeTerminalRpc, SubscribeAgentOutputRpc, GetSnapshotRpc, ReplayEventsRpc, GetWorkspaceDetailRpc, ReadWorkspaceFileRpc, ReadFileAtPathRpc, WriteFileAtPathRpc, 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);
|
|
3213
3456
|
//#endregion
|
|
3214
3457
|
//#region src/event-reducers.ts
|
|
3215
3458
|
const INITIAL_READ_MODEL_STATE = {
|
|
@@ -3866,7 +4109,8 @@ function applyEvent(state, event) {
|
|
|
3866
4109
|
};
|
|
3867
4110
|
case "memory.observation_created": {
|
|
3868
4111
|
const observation = event.payload.observation;
|
|
3869
|
-
const
|
|
4112
|
+
const observationKey = observation.issueId ?? observation.workspaceId;
|
|
4113
|
+
const existing = state.observationsByIssueId[observationKey] ?? [];
|
|
3870
4114
|
const index = existing.findIndex((entry) => entry.id === observation.id);
|
|
3871
4115
|
const updated = trimMemoryObservations(index === -1 ? [...existing, observation] : existing.map((entry, entryIndex) => entryIndex === index ? observation : entry));
|
|
3872
4116
|
return {
|
|
@@ -3874,7 +4118,7 @@ function applyEvent(state, event) {
|
|
|
3874
4118
|
sequence: Math.max(state.sequence, event.sequence),
|
|
3875
4119
|
observationsByIssueId: {
|
|
3876
4120
|
...state.observationsByIssueId,
|
|
3877
|
-
[
|
|
4121
|
+
[observationKey]: updated
|
|
3878
4122
|
}
|
|
3879
4123
|
};
|
|
3880
4124
|
}
|
|
@@ -3943,6 +4187,10 @@ function applyEvent(state, event) {
|
|
|
3943
4187
|
}
|
|
3944
4188
|
};
|
|
3945
4189
|
}
|
|
4190
|
+
case "agent.hook_fired": return {
|
|
4191
|
+
...state,
|
|
4192
|
+
sequence: Math.max(state.sequence, event.sequence)
|
|
4193
|
+
};
|
|
3946
4194
|
case "agent.activity_changed": {
|
|
3947
4195
|
const { agentId, activity, currentTool } = event.payload;
|
|
3948
4196
|
const prev = state.agentRuntimeById[agentId] ?? defaultRuntimeSnapshot(agentId, event.timestamp, event.sequence);
|
|
@@ -4400,6 +4648,10 @@ function applyEvent(state, event) {
|
|
|
4400
4648
|
...state,
|
|
4401
4649
|
conversationsListRevision: state.conversationsListRevision + 1
|
|
4402
4650
|
};
|
|
4651
|
+
case "conversation.moved": return {
|
|
4652
|
+
...state,
|
|
4653
|
+
conversationsListRevision: state.conversationsListRevision + 1
|
|
4654
|
+
};
|
|
4403
4655
|
case "conversation.title_changed": return {
|
|
4404
4656
|
...state,
|
|
4405
4657
|
conversationsListRevision: state.conversationsListRevision + 1
|
|
@@ -4641,7 +4893,8 @@ const CONTEXT_PREVIEW_HARNESSES = [
|
|
|
4641
4893
|
"claude-code",
|
|
4642
4894
|
"ohmypi",
|
|
4643
4895
|
"codex",
|
|
4644
|
-
"acp"
|
|
4896
|
+
"acp",
|
|
4897
|
+
"kimi-code"
|
|
4645
4898
|
];
|
|
4646
4899
|
const ContextLayerKind = Schema.Literals(CONTEXT_LAYER_KINDS);
|
|
4647
4900
|
const ContextPreviewHarness = Schema.Literals(CONTEXT_PREVIEW_HARNESSES);
|
|
@@ -4749,6 +5002,7 @@ const ContextHarnessPreviews = Schema.Struct({
|
|
|
4749
5002
|
ohmypi: Schema.String,
|
|
4750
5003
|
codex: Schema.String,
|
|
4751
5004
|
acp: Schema.String,
|
|
5005
|
+
"kimi-code": Schema.String,
|
|
4752
5006
|
fullPrompt: Schema.String
|
|
4753
5007
|
});
|
|
4754
5008
|
const ContextPreviewDiagnostic = Schema.Struct({
|
|
@@ -4804,6 +5058,7 @@ const ArtifactAgentHarness = Schema.Literals([
|
|
|
4804
5058
|
"ohmypi",
|
|
4805
5059
|
"codex",
|
|
4806
5060
|
"acp",
|
|
5061
|
+
"kimi-code",
|
|
4807
5062
|
"user"
|
|
4808
5063
|
]);
|
|
4809
5064
|
const ArtifactLifecycleState = Schema.Literals([
|
|
@@ -5037,16 +5292,40 @@ const ACP_BEHAVIOR = {
|
|
|
5037
5292
|
workAgentMode: "acp-host",
|
|
5038
5293
|
readyTimeoutSeconds: 30
|
|
5039
5294
|
};
|
|
5295
|
+
const KIMI_CODE_BEHAVIOR = {
|
|
5296
|
+
displayName: "Kimi Code",
|
|
5297
|
+
nativeCommands: [],
|
|
5298
|
+
executableName: "kimi",
|
|
5299
|
+
processNames: ["kimi"],
|
|
5300
|
+
launchCommandKind: "kimi-code-tui",
|
|
5301
|
+
deliveryKind: "pty-supervisor",
|
|
5302
|
+
readinessKind: "kimi-session-signal",
|
|
5303
|
+
transcriptKind: "kimi-wire-jsonl",
|
|
5304
|
+
sessionIdSource: "kimi-session-newest",
|
|
5305
|
+
contextLayerKind: "kimi-code",
|
|
5306
|
+
feedKind: "kimi_code",
|
|
5307
|
+
supportsPtySupervisor: true,
|
|
5308
|
+
supportsChannelsBridge: false,
|
|
5309
|
+
supportsConversationStreaming: true,
|
|
5310
|
+
supportsPatchProjection: false,
|
|
5311
|
+
usesRpcFifo: false,
|
|
5312
|
+
usesCodexHome: false,
|
|
5313
|
+
injectsPromptTimeMemory: false,
|
|
5314
|
+
workAgentMode: "kimi-code-tui",
|
|
5315
|
+
readyTimeoutSeconds: 60
|
|
5316
|
+
};
|
|
5040
5317
|
const BEHAVIORS = {
|
|
5041
5318
|
"claude-code": CLAUDE_CODE_BEHAVIOR,
|
|
5042
5319
|
ohmypi: OHMYPI_BEHAVIOR,
|
|
5043
5320
|
codex: CODEX_BEHAVIOR,
|
|
5044
|
-
acp: ACP_BEHAVIOR
|
|
5321
|
+
acp: ACP_BEHAVIOR,
|
|
5322
|
+
"kimi-code": KIMI_CODE_BEHAVIOR
|
|
5045
5323
|
};
|
|
5046
5324
|
function getHarnessBehavior(harness) {
|
|
5047
5325
|
if (harness === "ohmypi" || harness === "pi") return OHMYPI_BEHAVIOR;
|
|
5048
5326
|
if (harness === "codex") return CODEX_BEHAVIOR;
|
|
5049
5327
|
if (harness === "acp") return ACP_BEHAVIOR;
|
|
5328
|
+
if (harness === "kimi-code") return KIMI_CODE_BEHAVIOR;
|
|
5050
5329
|
return CLAUDE_CODE_BEHAVIOR;
|
|
5051
5330
|
}
|
|
5052
5331
|
function getRuntimeBehavior(runtime) {
|
|
@@ -5260,7 +5539,8 @@ const TELEMETRY_PROPERTY_DOMAINS = {
|
|
|
5260
5539
|
"god-view",
|
|
5261
5540
|
"deacon",
|
|
5262
5541
|
"sessions",
|
|
5263
|
-
"awaiting-merge"
|
|
5542
|
+
"awaiting-merge",
|
|
5543
|
+
"workspace"
|
|
5264
5544
|
],
|
|
5265
5545
|
decision_subject: ["agent", "conversation"],
|
|
5266
5546
|
duration_bucket: [
|
|
@@ -5279,7 +5559,8 @@ const TELEMETRY_PROPERTY_DOMAINS = {
|
|
|
5279
5559
|
"claude-code",
|
|
5280
5560
|
"ohmypi",
|
|
5281
5561
|
"codex",
|
|
5282
|
-
"acp"
|
|
5562
|
+
"acp",
|
|
5563
|
+
"kimi-code"
|
|
5283
5564
|
],
|
|
5284
5565
|
merge_kind: ["pipeline"],
|
|
5285
5566
|
model_family: [
|
|
@@ -5793,29 +6074,11 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
5793
6074
|
"aliases": [],
|
|
5794
6075
|
"category": "Review"
|
|
5795
6076
|
},
|
|
5796
|
-
{
|
|
5797
|
-
"id": "pan-review-scope",
|
|
5798
|
-
"path": ["review", "scope"],
|
|
5799
|
-
"display": "/pan review scope",
|
|
5800
|
-
"description": "Set per-issue re-review scope (all, changed, or blockers) — which convoy reviewers re-run (PAN-1874)",
|
|
5801
|
-
"args": [{
|
|
5802
|
-
"name": "id",
|
|
5803
|
-
"required": true,
|
|
5804
|
-
"variadic": false
|
|
5805
|
-
}, {
|
|
5806
|
-
"name": "scope",
|
|
5807
|
-
"required": true,
|
|
5808
|
-
"variadic": false
|
|
5809
|
-
}],
|
|
5810
|
-
"options": [],
|
|
5811
|
-
"aliases": [],
|
|
5812
|
-
"category": "Review"
|
|
5813
|
-
},
|
|
5814
6077
|
{
|
|
5815
6078
|
"id": "pan-review-restart",
|
|
5816
6079
|
"path": ["review", "restart"],
|
|
5817
6080
|
"display": "/pan review restart",
|
|
5818
|
-
"description": "
|
|
6081
|
+
"description": "Resume review and re-dispatch reviewers missing a report",
|
|
5819
6082
|
"args": [{
|
|
5820
6083
|
"name": "id",
|
|
5821
6084
|
"required": true,
|
|
@@ -5940,7 +6203,7 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
5940
6203
|
},
|
|
5941
6204
|
{
|
|
5942
6205
|
"flags": "--harness <harness>",
|
|
5943
|
-
"description": "Coding-agent harness: claude-code | pi | codex | acp (defaults to role/provider settings)",
|
|
6206
|
+
"description": "Coding-agent harness: claude-code | pi | codex | acp | kimi-code (defaults to role/provider settings)",
|
|
5944
6207
|
"required": true,
|
|
5945
6208
|
"valueHint": "harness"
|
|
5946
6209
|
},
|
|
@@ -6044,6 +6307,24 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6044
6307
|
"aliases": [],
|
|
6045
6308
|
"category": "Lifecycle"
|
|
6046
6309
|
},
|
|
6310
|
+
{
|
|
6311
|
+
"id": "pan-answer",
|
|
6312
|
+
"path": ["answer"],
|
|
6313
|
+
"display": "/pan answer",
|
|
6314
|
+
"description": "Show a pending pane choice, or answer its numbered option",
|
|
6315
|
+
"args": [{
|
|
6316
|
+
"name": "id",
|
|
6317
|
+
"required": true,
|
|
6318
|
+
"variadic": false
|
|
6319
|
+
}, {
|
|
6320
|
+
"name": "option",
|
|
6321
|
+
"required": false,
|
|
6322
|
+
"variadic": false
|
|
6323
|
+
}],
|
|
6324
|
+
"options": [],
|
|
6325
|
+
"aliases": [],
|
|
6326
|
+
"category": "CLI"
|
|
6327
|
+
},
|
|
6047
6328
|
{
|
|
6048
6329
|
"id": "pan-monitor",
|
|
6049
6330
|
"path": ["monitor"],
|
|
@@ -6115,6 +6396,20 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6115
6396
|
"aliases": [],
|
|
6116
6397
|
"category": "Lifecycle"
|
|
6117
6398
|
},
|
|
6399
|
+
{
|
|
6400
|
+
"id": "pan-reset-session",
|
|
6401
|
+
"path": ["reset-session"],
|
|
6402
|
+
"display": "/pan reset-session",
|
|
6403
|
+
"description": "Clear saved session pointers so the next start creates a fresh session",
|
|
6404
|
+
"args": [{
|
|
6405
|
+
"name": "id",
|
|
6406
|
+
"required": true,
|
|
6407
|
+
"variadic": false
|
|
6408
|
+
}],
|
|
6409
|
+
"options": [],
|
|
6410
|
+
"aliases": [],
|
|
6411
|
+
"category": "Lifecycle"
|
|
6412
|
+
},
|
|
6118
6413
|
{
|
|
6119
6414
|
"id": "pan-pause",
|
|
6120
6415
|
"path": ["pause"],
|
|
@@ -6162,6 +6457,20 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6162
6457
|
"aliases": [],
|
|
6163
6458
|
"category": "Lifecycle"
|
|
6164
6459
|
},
|
|
6460
|
+
{
|
|
6461
|
+
"id": "pan-unstick",
|
|
6462
|
+
"path": ["unstick"],
|
|
6463
|
+
"display": "/pan unstick",
|
|
6464
|
+
"description": "Clear an issue stuck gate without resetting a merged lifecycle",
|
|
6465
|
+
"args": [{
|
|
6466
|
+
"name": "id",
|
|
6467
|
+
"required": true,
|
|
6468
|
+
"variadic": false
|
|
6469
|
+
}],
|
|
6470
|
+
"options": [],
|
|
6471
|
+
"aliases": [],
|
|
6472
|
+
"category": "CLI"
|
|
6473
|
+
},
|
|
6165
6474
|
{
|
|
6166
6475
|
"id": "pan-fork",
|
|
6167
6476
|
"path": ["fork"],
|
|
@@ -6185,6 +6494,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6185
6494
|
"required": true,
|
|
6186
6495
|
"valueHint": "path"
|
|
6187
6496
|
},
|
|
6497
|
+
{
|
|
6498
|
+
"flags": "--project <key>",
|
|
6499
|
+
"description": "Project (yaml key or display name) for the new conversation; defaults to inheriting the source conversation's project",
|
|
6500
|
+
"required": true,
|
|
6501
|
+
"valueHint": "key"
|
|
6502
|
+
},
|
|
6188
6503
|
{
|
|
6189
6504
|
"flags": "--plain",
|
|
6190
6505
|
"description": "Skip summary generation and copy raw conversation history",
|
|
@@ -6228,6 +6543,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6228
6543
|
"required": true,
|
|
6229
6544
|
"valueHint": "path"
|
|
6230
6545
|
},
|
|
6546
|
+
{
|
|
6547
|
+
"flags": "--project <key>",
|
|
6548
|
+
"description": "Project (yaml key or display name) for the new conversation; defaults to inheriting the source conversation's project",
|
|
6549
|
+
"required": true,
|
|
6550
|
+
"valueHint": "key"
|
|
6551
|
+
},
|
|
6231
6552
|
{
|
|
6232
6553
|
"flags": "--issue <id>",
|
|
6233
6554
|
"description": "Issue ID to associate with the new conversation",
|
|
@@ -6546,9 +6867,15 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6546
6867
|
"required": false,
|
|
6547
6868
|
"valueHint": null
|
|
6548
6869
|
},
|
|
6870
|
+
{
|
|
6871
|
+
"flags": "--accept-ship",
|
|
6872
|
+
"description": "Accept a missed DoD row 7 (Version strings propagated) — recorded as an explicit override in the close-out record",
|
|
6873
|
+
"required": false,
|
|
6874
|
+
"valueHint": null
|
|
6875
|
+
},
|
|
6549
6876
|
{
|
|
6550
6877
|
"flags": "--accept-deploy",
|
|
6551
|
-
"description": "Accept a missed DoD row
|
|
6878
|
+
"description": "Accept a missed DoD row 8 (Deployed) — recorded as an explicit override in the close-out record",
|
|
6552
6879
|
"required": false,
|
|
6553
6880
|
"valueHint": null
|
|
6554
6881
|
},
|
|
@@ -6557,6 +6884,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6557
6884
|
"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",
|
|
6558
6885
|
"required": true,
|
|
6559
6886
|
"valueHint": "reason"
|
|
6887
|
+
},
|
|
6888
|
+
{
|
|
6889
|
+
"flags": "--residue <reason>",
|
|
6890
|
+
"description": "Record a residue disposition (PAN-3396): close stale convention PRs/MRs, skip the DoD gate with verified evidence, and mark terminal without merge claim. Operator-conversation only; cannot be combined with --abandon or --accept-* flags",
|
|
6891
|
+
"required": true,
|
|
6892
|
+
"valueHint": "reason"
|
|
6560
6893
|
}
|
|
6561
6894
|
],
|
|
6562
6895
|
"aliases": [],
|
|
@@ -6599,7 +6932,7 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6599
6932
|
},
|
|
6600
6933
|
{
|
|
6601
6934
|
"flags": "--harness <harness>",
|
|
6602
|
-
"description": "Coding-agent harness: claude-code | pi | codex | acp (defaults to role/provider settings)",
|
|
6935
|
+
"description": "Coding-agent harness: claude-code | pi | codex | acp | kimi-code (defaults to role/provider settings)",
|
|
6603
6936
|
"required": true,
|
|
6604
6937
|
"valueHint": "harness"
|
|
6605
6938
|
},
|
|
@@ -6665,7 +6998,7 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6665
6998
|
},
|
|
6666
6999
|
{
|
|
6667
7000
|
"flags": "--force",
|
|
6668
|
-
"description": "Clear
|
|
7001
|
+
"description": "Clear paused and pending-operator-decision gates and start anyway",
|
|
6669
7002
|
"required": false,
|
|
6670
7003
|
"valueHint": null
|
|
6671
7004
|
},
|
|
@@ -6716,7 +7049,7 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
6716
7049
|
},
|
|
6717
7050
|
{
|
|
6718
7051
|
"flags": "--harness <harness>",
|
|
6719
|
-
"description": "Coding-agent harness: claude-code | pi | codex | acp (defaults to role/provider settings)",
|
|
7052
|
+
"description": "Coding-agent harness: claude-code | pi | codex | acp | kimi-code (defaults to role/provider settings)",
|
|
6720
7053
|
"required": true,
|
|
6721
7054
|
"valueHint": "harness"
|
|
6722
7055
|
},
|
|
@@ -7365,17 +7698,32 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
7365
7698
|
"display": "/pan workspace list",
|
|
7366
7699
|
"description": "List all workspaces",
|
|
7367
7700
|
"args": [],
|
|
7368
|
-
"options": [
|
|
7369
|
-
|
|
7370
|
-
|
|
7371
|
-
|
|
7372
|
-
|
|
7373
|
-
|
|
7374
|
-
|
|
7375
|
-
|
|
7376
|
-
|
|
7377
|
-
|
|
7378
|
-
|
|
7701
|
+
"options": [
|
|
7702
|
+
{
|
|
7703
|
+
"flags": "--json",
|
|
7704
|
+
"description": "Output as JSON",
|
|
7705
|
+
"required": false,
|
|
7706
|
+
"valueHint": null
|
|
7707
|
+
},
|
|
7708
|
+
{
|
|
7709
|
+
"flags": "--all",
|
|
7710
|
+
"description": "List workspaces across all registered projects",
|
|
7711
|
+
"required": false,
|
|
7712
|
+
"valueHint": null
|
|
7713
|
+
},
|
|
7714
|
+
{
|
|
7715
|
+
"flags": "--kind <kind>",
|
|
7716
|
+
"description": "Filter by workspace kind (main|issue|scratch), reading through the resolver",
|
|
7717
|
+
"required": true,
|
|
7718
|
+
"valueHint": "kind"
|
|
7719
|
+
},
|
|
7720
|
+
{
|
|
7721
|
+
"flags": "--archived",
|
|
7722
|
+
"description": "Include archived workspaces (only applies with --kind)",
|
|
7723
|
+
"required": false,
|
|
7724
|
+
"valueHint": null
|
|
7725
|
+
}
|
|
7726
|
+
],
|
|
7379
7727
|
"aliases": [],
|
|
7380
7728
|
"category": "Workspace"
|
|
7381
7729
|
},
|
|
@@ -7389,25 +7737,160 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
7389
7737
|
"required": true,
|
|
7390
7738
|
"variadic": false
|
|
7391
7739
|
}],
|
|
7392
|
-
"options": [
|
|
7393
|
-
|
|
7394
|
-
|
|
7395
|
-
|
|
7396
|
-
|
|
7397
|
-
|
|
7398
|
-
|
|
7399
|
-
|
|
7400
|
-
|
|
7401
|
-
|
|
7402
|
-
|
|
7740
|
+
"options": [
|
|
7741
|
+
{
|
|
7742
|
+
"flags": "--force",
|
|
7743
|
+
"description": "Force removal even with uncommitted changes",
|
|
7744
|
+
"required": false,
|
|
7745
|
+
"valueHint": null
|
|
7746
|
+
},
|
|
7747
|
+
{
|
|
7748
|
+
"flags": "--project <path>",
|
|
7749
|
+
"description": "Explicit project path (overrides registry)",
|
|
7750
|
+
"required": true,
|
|
7751
|
+
"valueHint": "path"
|
|
7752
|
+
},
|
|
7753
|
+
{
|
|
7754
|
+
"flags": "--purge-memory",
|
|
7755
|
+
"description": "Also permanently delete the workspace's memory home (irreversible)",
|
|
7756
|
+
"required": false,
|
|
7757
|
+
"valueHint": null
|
|
7758
|
+
}
|
|
7759
|
+
],
|
|
7403
7760
|
"aliases": [],
|
|
7404
7761
|
"category": "Workspace"
|
|
7405
7762
|
},
|
|
7406
7763
|
{
|
|
7407
|
-
"id": "pan-workspace-
|
|
7408
|
-
"path": ["workspace", "
|
|
7409
|
-
"display": "/pan workspace
|
|
7410
|
-
"description": "
|
|
7764
|
+
"id": "pan-workspace-new",
|
|
7765
|
+
"path": ["workspace", "new"],
|
|
7766
|
+
"display": "/pan workspace new",
|
|
7767
|
+
"description": "Create a scratch workspace (shared dir by default; --isolated for a git worktree)",
|
|
7768
|
+
"args": [{
|
|
7769
|
+
"name": "name",
|
|
7770
|
+
"required": true,
|
|
7771
|
+
"variadic": false
|
|
7772
|
+
}],
|
|
7773
|
+
"options": [
|
|
7774
|
+
{
|
|
7775
|
+
"flags": "--project <key>",
|
|
7776
|
+
"description": "Registered project key (defaults to the sole project, or the one resolved from cwd)",
|
|
7777
|
+
"required": true,
|
|
7778
|
+
"valueHint": "key"
|
|
7779
|
+
},
|
|
7780
|
+
{
|
|
7781
|
+
"flags": "--isolated",
|
|
7782
|
+
"description": "Create an isolated git worktree instead of sharing the project directory",
|
|
7783
|
+
"required": false,
|
|
7784
|
+
"valueHint": null
|
|
7785
|
+
},
|
|
7786
|
+
{
|
|
7787
|
+
"flags": "--parent-branch <branch>",
|
|
7788
|
+
"description": "Parent branch for the isolated worktree (default: inferred from the project's current branch)",
|
|
7789
|
+
"required": true,
|
|
7790
|
+
"valueHint": "branch"
|
|
7791
|
+
},
|
|
7792
|
+
{
|
|
7793
|
+
"flags": "--target-path <dir>",
|
|
7794
|
+
"description": "Target an existing directory as the workspace path (rejects --isolated)",
|
|
7795
|
+
"required": true,
|
|
7796
|
+
"valueHint": "dir"
|
|
7797
|
+
},
|
|
7798
|
+
{
|
|
7799
|
+
"flags": "--dry-run",
|
|
7800
|
+
"description": "Print the resolved intent as JSON and create nothing",
|
|
7801
|
+
"required": false,
|
|
7802
|
+
"valueHint": null
|
|
7803
|
+
}
|
|
7804
|
+
],
|
|
7805
|
+
"aliases": [],
|
|
7806
|
+
"category": "Workspace"
|
|
7807
|
+
},
|
|
7808
|
+
{
|
|
7809
|
+
"id": "pan-workspace-main",
|
|
7810
|
+
"path": ["workspace", "main"],
|
|
7811
|
+
"display": "/pan workspace main",
|
|
7812
|
+
"description": "Resolve or create the project's singleton main workspace",
|
|
7813
|
+
"args": [],
|
|
7814
|
+
"options": [{
|
|
7815
|
+
"flags": "--project <key>",
|
|
7816
|
+
"description": "Registered project key (defaults to the sole project, or the one resolved from cwd)",
|
|
7817
|
+
"required": true,
|
|
7818
|
+
"valueHint": "key"
|
|
7819
|
+
}],
|
|
7820
|
+
"aliases": [],
|
|
7821
|
+
"category": "Workspace"
|
|
7822
|
+
},
|
|
7823
|
+
{
|
|
7824
|
+
"id": "pan-workspace-get",
|
|
7825
|
+
"path": ["workspace", "get"],
|
|
7826
|
+
"display": "/pan workspace get",
|
|
7827
|
+
"description": "Show a workspace row by id",
|
|
7828
|
+
"args": [{
|
|
7829
|
+
"name": "ws",
|
|
7830
|
+
"required": true,
|
|
7831
|
+
"variadic": false
|
|
7832
|
+
}],
|
|
7833
|
+
"options": [],
|
|
7834
|
+
"aliases": [],
|
|
7835
|
+
"category": "Workspace"
|
|
7836
|
+
},
|
|
7837
|
+
{
|
|
7838
|
+
"id": "pan-workspace-activate",
|
|
7839
|
+
"path": ["workspace", "activate"],
|
|
7840
|
+
"display": "/pan workspace activate",
|
|
7841
|
+
"description": "Touch a workspace's last-accessed time and print its layout hint",
|
|
7842
|
+
"args": [{
|
|
7843
|
+
"name": "ws",
|
|
7844
|
+
"required": true,
|
|
7845
|
+
"variadic": false
|
|
7846
|
+
}],
|
|
7847
|
+
"options": [],
|
|
7848
|
+
"aliases": [],
|
|
7849
|
+
"category": "Workspace"
|
|
7850
|
+
},
|
|
7851
|
+
{
|
|
7852
|
+
"id": "pan-workspace-archive",
|
|
7853
|
+
"path": ["workspace", "archive"],
|
|
7854
|
+
"display": "/pan workspace archive",
|
|
7855
|
+
"description": "Archive a workspace (reversible; refuses kind=main)",
|
|
7856
|
+
"args": [{
|
|
7857
|
+
"name": "ws",
|
|
7858
|
+
"required": true,
|
|
7859
|
+
"variadic": false
|
|
7860
|
+
}],
|
|
7861
|
+
"options": [],
|
|
7862
|
+
"aliases": [],
|
|
7863
|
+
"category": "Workspace"
|
|
7864
|
+
},
|
|
7865
|
+
{
|
|
7866
|
+
"id": "pan-workspace-relocate",
|
|
7867
|
+
"path": ["workspace", "relocate"],
|
|
7868
|
+
"display": "/pan workspace relocate",
|
|
7869
|
+
"description": "Point a workspace at a new path (refuses kind=issue; kind=main requires --force)",
|
|
7870
|
+
"args": [{
|
|
7871
|
+
"name": "ws",
|
|
7872
|
+
"required": true,
|
|
7873
|
+
"variadic": false
|
|
7874
|
+
}],
|
|
7875
|
+
"options": [{
|
|
7876
|
+
"flags": "--path <dir>",
|
|
7877
|
+
"description": "New path (must be an existing directory)",
|
|
7878
|
+
"required": true,
|
|
7879
|
+
"valueHint": "dir"
|
|
7880
|
+
}, {
|
|
7881
|
+
"flags": "--force",
|
|
7882
|
+
"description": "Allow relocating the main workspace, diverging it from projects.yaml",
|
|
7883
|
+
"required": false,
|
|
7884
|
+
"valueHint": null
|
|
7885
|
+
}],
|
|
7886
|
+
"aliases": [],
|
|
7887
|
+
"category": "Workspace"
|
|
7888
|
+
},
|
|
7889
|
+
{
|
|
7890
|
+
"id": "pan-workspace-render-devcontainer",
|
|
7891
|
+
"path": ["workspace", "render-devcontainer"],
|
|
7892
|
+
"display": "/pan workspace render-devcontainer",
|
|
7893
|
+
"description": "Re-render <workspace>/.devcontainer/ from the project compose template",
|
|
7411
7894
|
"args": [{
|
|
7412
7895
|
"name": "featureName",
|
|
7413
7896
|
"required": true,
|
|
@@ -8036,10 +8519,10 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8036
8519
|
"valueHint": "id"
|
|
8037
8520
|
},
|
|
8038
8521
|
{
|
|
8039
|
-
"flags": "--workspace <id>",
|
|
8040
|
-
"description": "Workspace
|
|
8522
|
+
"flags": "--workspace <id|name>",
|
|
8523
|
+
"description": "Workspace id or name",
|
|
8041
8524
|
"required": true,
|
|
8042
|
-
"valueHint": "id"
|
|
8525
|
+
"valueHint": "id|name"
|
|
8043
8526
|
},
|
|
8044
8527
|
{
|
|
8045
8528
|
"flags": "--issue <id>",
|
|
@@ -8059,6 +8542,18 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8059
8542
|
"required": false,
|
|
8060
8543
|
"valueHint": null
|
|
8061
8544
|
},
|
|
8545
|
+
{
|
|
8546
|
+
"flags": "--global",
|
|
8547
|
+
"description": "Search across all registered projects instead of just one",
|
|
8548
|
+
"required": false,
|
|
8549
|
+
"valueHint": null
|
|
8550
|
+
},
|
|
8551
|
+
{
|
|
8552
|
+
"flags": "--target [path]",
|
|
8553
|
+
"description": "Search all workspaces whose path targets a directory (bare flag = cwd); mutually exclusive with --workspace/--issue/--global",
|
|
8554
|
+
"required": false,
|
|
8555
|
+
"valueHint": "path"
|
|
8556
|
+
},
|
|
8062
8557
|
{
|
|
8063
8558
|
"flags": "--include-archived",
|
|
8064
8559
|
"description": "Include observations hidden by reset markers",
|
|
@@ -8085,23 +8580,106 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8085
8580
|
"id": "pan-memory-status",
|
|
8086
8581
|
"path": ["memory", "status"],
|
|
8087
8582
|
"display": "/pan memory status",
|
|
8088
|
-
"description": "Show current memory status for an issue",
|
|
8583
|
+
"description": "Show current memory status for an issue, a workspace, or the current directory",
|
|
8089
8584
|
"args": [{
|
|
8090
8585
|
"name": "issue",
|
|
8091
|
-
"required":
|
|
8586
|
+
"required": false,
|
|
8092
8587
|
"variadic": false
|
|
8093
8588
|
}],
|
|
8094
|
-
"options": [
|
|
8095
|
-
|
|
8096
|
-
|
|
8589
|
+
"options": [
|
|
8590
|
+
{
|
|
8591
|
+
"flags": "--project <id>",
|
|
8592
|
+
"description": "Project ID",
|
|
8593
|
+
"required": true,
|
|
8594
|
+
"valueHint": "id"
|
|
8595
|
+
},
|
|
8596
|
+
{
|
|
8597
|
+
"flags": "--workspace <id|name>",
|
|
8598
|
+
"description": "Workspace id or name instead of an issue positional",
|
|
8599
|
+
"required": true,
|
|
8600
|
+
"valueHint": "id|name"
|
|
8601
|
+
},
|
|
8602
|
+
{
|
|
8603
|
+
"flags": "--history <n>",
|
|
8604
|
+
"description": "Also print up to N archived statuses, newest first (max 50)",
|
|
8605
|
+
"required": true,
|
|
8606
|
+
"valueHint": "n"
|
|
8607
|
+
},
|
|
8608
|
+
{
|
|
8609
|
+
"flags": "--json",
|
|
8610
|
+
"description": "Output JSON",
|
|
8611
|
+
"required": false,
|
|
8612
|
+
"valueHint": null
|
|
8613
|
+
}
|
|
8614
|
+
],
|
|
8615
|
+
"aliases": [],
|
|
8616
|
+
"category": "Observation"
|
|
8617
|
+
},
|
|
8618
|
+
{
|
|
8619
|
+
"id": "pan-memory-timeline",
|
|
8620
|
+
"path": ["memory", "timeline"],
|
|
8621
|
+
"display": "/pan memory timeline",
|
|
8622
|
+
"description": "Print chronological observations for a workspace or the current directory",
|
|
8623
|
+
"args": [],
|
|
8624
|
+
"options": [
|
|
8625
|
+
{
|
|
8626
|
+
"flags": "--workspace <id|name>",
|
|
8627
|
+
"description": "Workspace id or name (defaults to the workspace owning the cwd)",
|
|
8628
|
+
"required": true,
|
|
8629
|
+
"valueHint": "id|name"
|
|
8630
|
+
},
|
|
8631
|
+
{
|
|
8632
|
+
"flags": "--days <n>",
|
|
8633
|
+
"description": "Most recent N days, today counting as day 1 (default 7)",
|
|
8634
|
+
"required": true,
|
|
8635
|
+
"valueHint": "n"
|
|
8636
|
+
},
|
|
8637
|
+
{
|
|
8638
|
+
"flags": "--limit <n>",
|
|
8639
|
+
"description": "Maximum observation rows",
|
|
8640
|
+
"required": true,
|
|
8641
|
+
"valueHint": "n"
|
|
8642
|
+
},
|
|
8643
|
+
{
|
|
8644
|
+
"flags": "--json",
|
|
8645
|
+
"description": "Output JSON",
|
|
8646
|
+
"required": false,
|
|
8647
|
+
"valueHint": null
|
|
8648
|
+
}
|
|
8649
|
+
],
|
|
8650
|
+
"aliases": [],
|
|
8651
|
+
"category": "Observation"
|
|
8652
|
+
},
|
|
8653
|
+
{
|
|
8654
|
+
"id": "pan-memory-read",
|
|
8655
|
+
"path": ["memory", "read"],
|
|
8656
|
+
"display": "/pan memory read",
|
|
8657
|
+
"description": "Print a file from a workspace's memory home (path is relative to that home)",
|
|
8658
|
+
"args": [{
|
|
8659
|
+
"name": "path",
|
|
8097
8660
|
"required": true,
|
|
8098
|
-
"
|
|
8099
|
-
}, {
|
|
8100
|
-
"flags": "--json",
|
|
8101
|
-
"description": "Output JSON",
|
|
8102
|
-
"required": false,
|
|
8103
|
-
"valueHint": null
|
|
8661
|
+
"variadic": false
|
|
8104
8662
|
}],
|
|
8663
|
+
"options": [
|
|
8664
|
+
{
|
|
8665
|
+
"flags": "--workspace <id|name>",
|
|
8666
|
+
"description": "Workspace id or name (defaults to the workspace owning the cwd)",
|
|
8667
|
+
"required": true,
|
|
8668
|
+
"valueHint": "id|name"
|
|
8669
|
+
},
|
|
8670
|
+
{
|
|
8671
|
+
"flags": "--from <n>",
|
|
8672
|
+
"description": "First line to print, 1-based",
|
|
8673
|
+
"required": true,
|
|
8674
|
+
"valueHint": "n"
|
|
8675
|
+
},
|
|
8676
|
+
{
|
|
8677
|
+
"flags": "--lines <n>",
|
|
8678
|
+
"description": "Maximum number of lines to print",
|
|
8679
|
+
"required": true,
|
|
8680
|
+
"valueHint": "n"
|
|
8681
|
+
}
|
|
8682
|
+
],
|
|
8105
8683
|
"aliases": [],
|
|
8106
8684
|
"category": "Observation"
|
|
8107
8685
|
},
|
|
@@ -8152,10 +8730,10 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8152
8730
|
"id": "pan-memory-summary",
|
|
8153
8731
|
"path": ["memory", "summary"],
|
|
8154
8732
|
"display": "/pan memory summary",
|
|
8155
|
-
"description": "Generate a daily markdown memory summary",
|
|
8733
|
+
"description": "Generate a daily markdown memory summary for an issue, a workspace, or the current directory",
|
|
8156
8734
|
"args": [{
|
|
8157
8735
|
"name": "issue",
|
|
8158
|
-
"required":
|
|
8736
|
+
"required": false,
|
|
8159
8737
|
"variadic": false
|
|
8160
8738
|
}],
|
|
8161
8739
|
"options": [
|
|
@@ -8165,6 +8743,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8165
8743
|
"required": true,
|
|
8166
8744
|
"valueHint": "id"
|
|
8167
8745
|
},
|
|
8746
|
+
{
|
|
8747
|
+
"flags": "--workspace <id|name>",
|
|
8748
|
+
"description": "Workspace id or name instead of an issue positional",
|
|
8749
|
+
"required": true,
|
|
8750
|
+
"valueHint": "id|name"
|
|
8751
|
+
},
|
|
8168
8752
|
{
|
|
8169
8753
|
"flags": "--date <yyyy-mm-dd>",
|
|
8170
8754
|
"description": "Summary date",
|
|
@@ -8201,6 +8785,136 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8201
8785
|
"aliases": [],
|
|
8202
8786
|
"category": "Observation"
|
|
8203
8787
|
},
|
|
8788
|
+
{
|
|
8789
|
+
"id": "pan-memory-backfill",
|
|
8790
|
+
"path": ["memory", "backfill"],
|
|
8791
|
+
"display": "/pan memory backfill",
|
|
8792
|
+
"description": "Backfill memory observations from historical Claude Code JSONL transcripts",
|
|
8793
|
+
"args": [],
|
|
8794
|
+
"options": [
|
|
8795
|
+
{
|
|
8796
|
+
"flags": "--workspace <id>",
|
|
8797
|
+
"description": "Only backfill sessions resolved to this workspace id",
|
|
8798
|
+
"required": true,
|
|
8799
|
+
"valueHint": "id"
|
|
8800
|
+
},
|
|
8801
|
+
{
|
|
8802
|
+
"flags": "--project <id>",
|
|
8803
|
+
"description": "Only backfill sessions resolved to this project id",
|
|
8804
|
+
"required": true,
|
|
8805
|
+
"valueHint": "id"
|
|
8806
|
+
},
|
|
8807
|
+
{
|
|
8808
|
+
"flags": "--dry-run",
|
|
8809
|
+
"description": "Report matched sessions without extracting or writing anything",
|
|
8810
|
+
"required": false,
|
|
8811
|
+
"valueHint": null
|
|
8812
|
+
},
|
|
8813
|
+
{
|
|
8814
|
+
"flags": "--json",
|
|
8815
|
+
"description": "Output JSON",
|
|
8816
|
+
"required": false,
|
|
8817
|
+
"valueHint": null
|
|
8818
|
+
}
|
|
8819
|
+
],
|
|
8820
|
+
"aliases": [],
|
|
8821
|
+
"category": "Observation"
|
|
8822
|
+
},
|
|
8823
|
+
{
|
|
8824
|
+
"id": "pan-memory-pin",
|
|
8825
|
+
"path": ["memory", "pin"],
|
|
8826
|
+
"display": "/pan memory pin",
|
|
8827
|
+
"description": "Pin a doc for prompt-time memory injection (path is stored project-relative)",
|
|
8828
|
+
"args": [{
|
|
8829
|
+
"name": "doc-path",
|
|
8830
|
+
"required": true,
|
|
8831
|
+
"variadic": false
|
|
8832
|
+
}],
|
|
8833
|
+
"options": [
|
|
8834
|
+
{
|
|
8835
|
+
"flags": "--project <id>",
|
|
8836
|
+
"description": "Project key to pin at project scope",
|
|
8837
|
+
"required": true,
|
|
8838
|
+
"valueHint": "id"
|
|
8839
|
+
},
|
|
8840
|
+
{
|
|
8841
|
+
"flags": "--workspace <id>",
|
|
8842
|
+
"description": "Workspace id to pin at workspace scope (overrides --project)",
|
|
8843
|
+
"required": true,
|
|
8844
|
+
"valueHint": "id"
|
|
8845
|
+
},
|
|
8846
|
+
{
|
|
8847
|
+
"flags": "--json",
|
|
8848
|
+
"description": "Output JSON",
|
|
8849
|
+
"required": false,
|
|
8850
|
+
"valueHint": null
|
|
8851
|
+
}
|
|
8852
|
+
],
|
|
8853
|
+
"aliases": [],
|
|
8854
|
+
"category": "Observation"
|
|
8855
|
+
},
|
|
8856
|
+
{
|
|
8857
|
+
"id": "pan-memory-unpin",
|
|
8858
|
+
"path": ["memory", "unpin"],
|
|
8859
|
+
"display": "/pan memory unpin",
|
|
8860
|
+
"description": "Remove a pinned doc",
|
|
8861
|
+
"args": [{
|
|
8862
|
+
"name": "doc-path",
|
|
8863
|
+
"required": true,
|
|
8864
|
+
"variadic": false
|
|
8865
|
+
}],
|
|
8866
|
+
"options": [
|
|
8867
|
+
{
|
|
8868
|
+
"flags": "--project <id>",
|
|
8869
|
+
"description": "Project key the pin was made at project scope",
|
|
8870
|
+
"required": true,
|
|
8871
|
+
"valueHint": "id"
|
|
8872
|
+
},
|
|
8873
|
+
{
|
|
8874
|
+
"flags": "--workspace <id>",
|
|
8875
|
+
"description": "Workspace id the pin was made at workspace scope (overrides --project)",
|
|
8876
|
+
"required": true,
|
|
8877
|
+
"valueHint": "id"
|
|
8878
|
+
},
|
|
8879
|
+
{
|
|
8880
|
+
"flags": "--json",
|
|
8881
|
+
"description": "Output JSON",
|
|
8882
|
+
"required": false,
|
|
8883
|
+
"valueHint": null
|
|
8884
|
+
}
|
|
8885
|
+
],
|
|
8886
|
+
"aliases": [],
|
|
8887
|
+
"category": "Observation"
|
|
8888
|
+
},
|
|
8889
|
+
{
|
|
8890
|
+
"id": "pan-memory-pins",
|
|
8891
|
+
"path": ["memory", "pins"],
|
|
8892
|
+
"display": "/pan memory pins",
|
|
8893
|
+
"description": "List pinned docs for a project or workspace",
|
|
8894
|
+
"args": [],
|
|
8895
|
+
"options": [
|
|
8896
|
+
{
|
|
8897
|
+
"flags": "--project <id>",
|
|
8898
|
+
"description": "Project key to list project-scoped pins for",
|
|
8899
|
+
"required": true,
|
|
8900
|
+
"valueHint": "id"
|
|
8901
|
+
},
|
|
8902
|
+
{
|
|
8903
|
+
"flags": "--workspace <id>",
|
|
8904
|
+
"description": "Workspace id to list workspace-scoped pins for (overrides --project)",
|
|
8905
|
+
"required": true,
|
|
8906
|
+
"valueHint": "id"
|
|
8907
|
+
},
|
|
8908
|
+
{
|
|
8909
|
+
"flags": "--json",
|
|
8910
|
+
"description": "Output JSON",
|
|
8911
|
+
"required": false,
|
|
8912
|
+
"valueHint": null
|
|
8913
|
+
}
|
|
8914
|
+
],
|
|
8915
|
+
"aliases": [],
|
|
8916
|
+
"category": "Observation"
|
|
8917
|
+
},
|
|
8204
8918
|
{
|
|
8205
8919
|
"id": "pan-memory-config",
|
|
8206
8920
|
"path": ["memory", "config"],
|
|
@@ -8439,7 +9153,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8439
9153
|
"required": true,
|
|
8440
9154
|
"variadic": false
|
|
8441
9155
|
}],
|
|
8442
|
-
"options": [
|
|
9156
|
+
"options": [{
|
|
9157
|
+
"flags": "--project <key>",
|
|
9158
|
+
"description": "Resolve the order book in another registered project",
|
|
9159
|
+
"required": true,
|
|
9160
|
+
"valueHint": "key"
|
|
9161
|
+
}],
|
|
8443
9162
|
"aliases": [],
|
|
8444
9163
|
"category": "Flywheel"
|
|
8445
9164
|
},
|
|
@@ -8449,7 +9168,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8449
9168
|
"display": "/pan orders list",
|
|
8450
9169
|
"description": "List order books",
|
|
8451
9170
|
"args": [],
|
|
8452
|
-
"options": [
|
|
9171
|
+
"options": [{
|
|
9172
|
+
"flags": "--project <key>",
|
|
9173
|
+
"description": "Resolve the order book in another registered project",
|
|
9174
|
+
"required": true,
|
|
9175
|
+
"valueHint": "key"
|
|
9176
|
+
}],
|
|
8453
9177
|
"aliases": [],
|
|
8454
9178
|
"category": "Flywheel"
|
|
8455
9179
|
},
|
|
@@ -8463,7 +9187,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8463
9187
|
"required": true,
|
|
8464
9188
|
"variadic": false
|
|
8465
9189
|
}],
|
|
8466
|
-
"options": [
|
|
9190
|
+
"options": [{
|
|
9191
|
+
"flags": "--project <key>",
|
|
9192
|
+
"description": "Resolve the order book in another registered project",
|
|
9193
|
+
"required": true,
|
|
9194
|
+
"valueHint": "key"
|
|
9195
|
+
}],
|
|
8467
9196
|
"aliases": [],
|
|
8468
9197
|
"category": "Flywheel"
|
|
8469
9198
|
},
|
|
@@ -8499,6 +9228,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8499
9228
|
"description": "Require PRD re-verification before pickup",
|
|
8500
9229
|
"required": false,
|
|
8501
9230
|
"valueHint": null
|
|
9231
|
+
},
|
|
9232
|
+
{
|
|
9233
|
+
"flags": "--project <key>",
|
|
9234
|
+
"description": "Resolve the order book in another registered project",
|
|
9235
|
+
"required": true,
|
|
9236
|
+
"valueHint": "key"
|
|
8502
9237
|
}
|
|
8503
9238
|
],
|
|
8504
9239
|
"aliases": [],
|
|
@@ -8518,7 +9253,12 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8518
9253
|
"required": true,
|
|
8519
9254
|
"variadic": false
|
|
8520
9255
|
}],
|
|
8521
|
-
"options": [
|
|
9256
|
+
"options": [{
|
|
9257
|
+
"flags": "--project <key>",
|
|
9258
|
+
"description": "Resolve the order book in another registered project",
|
|
9259
|
+
"required": true,
|
|
9260
|
+
"valueHint": "key"
|
|
9261
|
+
}],
|
|
8522
9262
|
"aliases": [],
|
|
8523
9263
|
"category": "Flywheel"
|
|
8524
9264
|
},
|
|
@@ -8536,16 +9276,44 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8536
9276
|
"required": true,
|
|
8537
9277
|
"variadic": false
|
|
8538
9278
|
}],
|
|
8539
|
-
"options": [
|
|
8540
|
-
|
|
8541
|
-
|
|
9279
|
+
"options": [
|
|
9280
|
+
{
|
|
9281
|
+
"flags": "--lane <lane>",
|
|
9282
|
+
"description": "Target lane: A or B",
|
|
9283
|
+
"required": true,
|
|
9284
|
+
"valueHint": "lane"
|
|
9285
|
+
},
|
|
9286
|
+
{
|
|
9287
|
+
"flags": "--order <n>",
|
|
9288
|
+
"description": "One-based position in the target lane",
|
|
9289
|
+
"required": true,
|
|
9290
|
+
"valueHint": "n"
|
|
9291
|
+
},
|
|
9292
|
+
{
|
|
9293
|
+
"flags": "--project <key>",
|
|
9294
|
+
"description": "Resolve the order book in another registered project",
|
|
9295
|
+
"required": true,
|
|
9296
|
+
"valueHint": "key"
|
|
9297
|
+
}
|
|
9298
|
+
],
|
|
9299
|
+
"aliases": [],
|
|
9300
|
+
"category": "Flywheel"
|
|
9301
|
+
},
|
|
9302
|
+
{
|
|
9303
|
+
"id": "pan-orders-queue",
|
|
9304
|
+
"path": ["orders", "queue"],
|
|
9305
|
+
"display": "/pan orders queue",
|
|
9306
|
+
"description": "Mark a draft order book ready for dispatch",
|
|
9307
|
+
"args": [{
|
|
9308
|
+
"name": "id",
|
|
8542
9309
|
"required": true,
|
|
8543
|
-
"
|
|
8544
|
-
},
|
|
8545
|
-
|
|
8546
|
-
"
|
|
9310
|
+
"variadic": false
|
|
9311
|
+
}],
|
|
9312
|
+
"options": [{
|
|
9313
|
+
"flags": "--project <key>",
|
|
9314
|
+
"description": "Resolve the order book in another registered project",
|
|
8547
9315
|
"required": true,
|
|
8548
|
-
"valueHint": "
|
|
9316
|
+
"valueHint": "key"
|
|
8549
9317
|
}],
|
|
8550
9318
|
"aliases": [],
|
|
8551
9319
|
"category": "Flywheel"
|
|
@@ -8560,10 +9328,59 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8560
9328
|
"required": true,
|
|
8561
9329
|
"variadic": false
|
|
8562
9330
|
}],
|
|
8563
|
-
"options": [
|
|
9331
|
+
"options": [{
|
|
9332
|
+
"flags": "--project <key>",
|
|
9333
|
+
"description": "Resolve the order book in another registered project",
|
|
9334
|
+
"required": true,
|
|
9335
|
+
"valueHint": "key"
|
|
9336
|
+
}],
|
|
8564
9337
|
"aliases": [],
|
|
8565
9338
|
"category": "Flywheel"
|
|
8566
9339
|
},
|
|
9340
|
+
{
|
|
9341
|
+
"id": "pan-parked",
|
|
9342
|
+
"path": ["parked"],
|
|
9343
|
+
"display": "/pan parked",
|
|
9344
|
+
"description": "List every issue parked in a stall orbit (stuck flags, gates, failed merges, zombies), oldest first, with why + release condition",
|
|
9345
|
+
"args": [],
|
|
9346
|
+
"options": [{
|
|
9347
|
+
"flags": "--json",
|
|
9348
|
+
"description": "Print the raw parked rows as JSON",
|
|
9349
|
+
"required": false,
|
|
9350
|
+
"valueHint": null
|
|
9351
|
+
}],
|
|
9352
|
+
"aliases": [],
|
|
9353
|
+
"category": "CLI"
|
|
9354
|
+
},
|
|
9355
|
+
{
|
|
9356
|
+
"id": "pan-parked-ack",
|
|
9357
|
+
"path": ["parked", "ack"],
|
|
9358
|
+
"display": "/pan parked ack",
|
|
9359
|
+
"description": "Batch-acknowledge parked rows (default orbit: needs-you), then print the flywheel hand-off",
|
|
9360
|
+
"args": [],
|
|
9361
|
+
"options": [
|
|
9362
|
+
{
|
|
9363
|
+
"flags": "--orbit <orbit>",
|
|
9364
|
+
"description": "Parked orbit to acknowledge",
|
|
9365
|
+
"required": true,
|
|
9366
|
+
"valueHint": "orbit"
|
|
9367
|
+
},
|
|
9368
|
+
{
|
|
9369
|
+
"flags": "--older-than <days>",
|
|
9370
|
+
"description": "Only rows parked at least this many days",
|
|
9371
|
+
"required": true,
|
|
9372
|
+
"valueHint": "days"
|
|
9373
|
+
},
|
|
9374
|
+
{
|
|
9375
|
+
"flags": "--dry-run",
|
|
9376
|
+
"description": "List what would be acknowledged without writing",
|
|
9377
|
+
"required": false,
|
|
9378
|
+
"valueHint": null
|
|
9379
|
+
}
|
|
9380
|
+
],
|
|
9381
|
+
"aliases": [],
|
|
9382
|
+
"category": "CLI"
|
|
9383
|
+
},
|
|
8567
9384
|
{
|
|
8568
9385
|
"id": "pan-docs",
|
|
8569
9386
|
"path": ["docs"],
|
|
@@ -8739,6 +9556,29 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8739
9556
|
"aliases": [],
|
|
8740
9557
|
"category": "Admin"
|
|
8741
9558
|
},
|
|
9559
|
+
{
|
|
9560
|
+
"id": "pan-admin-state-backfill-agents",
|
|
9561
|
+
"path": [
|
|
9562
|
+
"admin",
|
|
9563
|
+
"state",
|
|
9564
|
+
"backfill-agents"
|
|
9565
|
+
],
|
|
9566
|
+
"display": "/pan admin state backfill-agents",
|
|
9567
|
+
"description": "Reconstruct durable agent runtime records from local and retained state",
|
|
9568
|
+
"args": [{
|
|
9569
|
+
"name": "project",
|
|
9570
|
+
"required": false,
|
|
9571
|
+
"variadic": false
|
|
9572
|
+
}],
|
|
9573
|
+
"options": [{
|
|
9574
|
+
"flags": "--dry-run",
|
|
9575
|
+
"description": "Report the records and sessions that would be written",
|
|
9576
|
+
"required": false,
|
|
9577
|
+
"valueHint": null
|
|
9578
|
+
}],
|
|
9579
|
+
"aliases": [],
|
|
9580
|
+
"category": "Admin"
|
|
9581
|
+
},
|
|
8742
9582
|
{
|
|
8743
9583
|
"id": "pan-admin-reconcile-labels",
|
|
8744
9584
|
"path": ["admin", "reconcile-labels"],
|
|
@@ -8754,6 +9594,35 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8754
9594
|
"aliases": [],
|
|
8755
9595
|
"category": "Admin"
|
|
8756
9596
|
},
|
|
9597
|
+
{
|
|
9598
|
+
"id": "pan-admin-migrate-legacy-agent-dirs",
|
|
9599
|
+
"path": ["admin", "migrate-legacy-agent-dirs"],
|
|
9600
|
+
"display": "/pan admin migrate-legacy-agent-dirs",
|
|
9601
|
+
"description": "Copy pre-rebrand conv-* agent dirs into the configured Overdeck home without overwriting",
|
|
9602
|
+
"args": [],
|
|
9603
|
+
"options": [],
|
|
9604
|
+
"aliases": [],
|
|
9605
|
+
"category": "Admin"
|
|
9606
|
+
},
|
|
9607
|
+
{
|
|
9608
|
+
"id": "pan-admin-seed-uat-fixtures",
|
|
9609
|
+
"path": ["admin", "seed-uat-fixtures"],
|
|
9610
|
+
"display": "/pan admin seed-uat-fixtures",
|
|
9611
|
+
"description": "Seed the obviously-fake FIX-1 issue fixture into a workspace container for UI UAT. Host mode: `pan admin seed-uat-fixtures <issue-id>` seeds and restarts that issue's workspace container from the host. `--local` runs the seed itself against the current OVERDECK_HOME — used by the host wrapper, or manually inside a container.",
|
|
9612
|
+
"args": [{
|
|
9613
|
+
"name": "issue-id",
|
|
9614
|
+
"required": false,
|
|
9615
|
+
"variadic": false
|
|
9616
|
+
}],
|
|
9617
|
+
"options": [{
|
|
9618
|
+
"flags": "--local",
|
|
9619
|
+
"description": "Seed the current (container-local) OVERDECK_HOME directly, without a host wrapper step",
|
|
9620
|
+
"required": false,
|
|
9621
|
+
"valueHint": null
|
|
9622
|
+
}],
|
|
9623
|
+
"aliases": [],
|
|
9624
|
+
"category": "Admin"
|
|
9625
|
+
},
|
|
8757
9626
|
{
|
|
8758
9627
|
"id": "pan-admin-cloister",
|
|
8759
9628
|
"path": ["admin", "cloister"],
|
|
@@ -8952,28 +9821,6 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
8952
9821
|
"aliases": [],
|
|
8953
9822
|
"category": "Admin"
|
|
8954
9823
|
},
|
|
8955
|
-
{
|
|
8956
|
-
"id": "pan-admin-specialists-discovery-ready",
|
|
8957
|
-
"path": [
|
|
8958
|
-
"admin",
|
|
8959
|
-
"specialists",
|
|
8960
|
-
"discovery-ready"
|
|
8961
|
-
],
|
|
8962
|
-
"display": "/pan admin specialists discovery-ready",
|
|
8963
|
-
"description": "Signal that the review parent finished shared discovery — forks + launches the convoy (PAN-1862)",
|
|
8964
|
-
"args": [{
|
|
8965
|
-
"name": "type",
|
|
8966
|
-
"required": true,
|
|
8967
|
-
"variadic": false
|
|
8968
|
-
}, {
|
|
8969
|
-
"name": "issueId",
|
|
8970
|
-
"required": true,
|
|
8971
|
-
"variadic": false
|
|
8972
|
-
}],
|
|
8973
|
-
"options": [],
|
|
8974
|
-
"aliases": [],
|
|
8975
|
-
"category": "Admin"
|
|
8976
|
-
},
|
|
8977
9824
|
{
|
|
8978
9825
|
"id": "pan-admin-specialists-done",
|
|
8979
9826
|
"path": [
|
|
@@ -9012,16 +9859,22 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
9012
9859
|
"valueHint": "notes"
|
|
9013
9860
|
},
|
|
9014
9861
|
{
|
|
9015
|
-
"flags": "--
|
|
9016
|
-
"description": "
|
|
9862
|
+
"flags": "--uat-status <status>",
|
|
9863
|
+
"description": "Test only: required browser UAT result (passed or failed)",
|
|
9017
9864
|
"required": true,
|
|
9018
|
-
"valueHint": "
|
|
9865
|
+
"valueHint": "status"
|
|
9866
|
+
},
|
|
9867
|
+
{
|
|
9868
|
+
"flags": "--uat-notes <notes>",
|
|
9869
|
+
"description": "Test only: browser UAT evidence or blocking condition",
|
|
9870
|
+
"required": true,
|
|
9871
|
+
"valueHint": "notes"
|
|
9019
9872
|
},
|
|
9020
9873
|
{
|
|
9021
|
-
"flags": "--
|
|
9022
|
-
"description": "
|
|
9874
|
+
"flags": "--run-id <runId>",
|
|
9875
|
+
"description": "Review cycle ID used to deduplicate review feedback",
|
|
9023
9876
|
"required": true,
|
|
9024
|
-
"valueHint": "
|
|
9877
|
+
"valueHint": "runId"
|
|
9025
9878
|
}
|
|
9026
9879
|
],
|
|
9027
9880
|
"aliases": [],
|
|
@@ -9386,6 +10239,30 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
9386
10239
|
"aliases": [],
|
|
9387
10240
|
"category": "Admin"
|
|
9388
10241
|
},
|
|
10242
|
+
{
|
|
10243
|
+
"id": "pan-admin-db-rebuild-workspaces",
|
|
10244
|
+
"path": [
|
|
10245
|
+
"admin",
|
|
10246
|
+
"db",
|
|
10247
|
+
"rebuild-workspaces"
|
|
10248
|
+
],
|
|
10249
|
+
"display": "/pan admin db rebuild-workspaces",
|
|
10250
|
+
"description": "Rebuild the projects/workspaces tables from projects.yaml, worktree scan, and memory-home identity records (PAN-1990)",
|
|
10251
|
+
"args": [],
|
|
10252
|
+
"options": [{
|
|
10253
|
+
"flags": "--dry-run",
|
|
10254
|
+
"description": "Show what would be created without writing",
|
|
10255
|
+
"required": false,
|
|
10256
|
+
"valueHint": null
|
|
10257
|
+
}, {
|
|
10258
|
+
"flags": "--verbose",
|
|
10259
|
+
"description": "Log each processed workspace",
|
|
10260
|
+
"required": false,
|
|
10261
|
+
"valueHint": null
|
|
10262
|
+
}],
|
|
10263
|
+
"aliases": [],
|
|
10264
|
+
"category": "Admin"
|
|
10265
|
+
},
|
|
9389
10266
|
{
|
|
9390
10267
|
"id": "pan-admin-db-gc-agents",
|
|
9391
10268
|
"path": [
|
|
@@ -10079,6 +10956,24 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
10079
10956
|
"aliases": ["transcript"],
|
|
10080
10957
|
"category": "Conversation"
|
|
10081
10958
|
},
|
|
10959
|
+
{
|
|
10960
|
+
"id": "pan-conversations-move",
|
|
10961
|
+
"path": ["conversations", "move"],
|
|
10962
|
+
"display": "/pan conversations move",
|
|
10963
|
+
"description": "Reassign a conversation to a different project (exact name, then fuzzy title match)",
|
|
10964
|
+
"args": [{
|
|
10965
|
+
"name": "query",
|
|
10966
|
+
"required": true,
|
|
10967
|
+
"variadic": false
|
|
10968
|
+
}, {
|
|
10969
|
+
"name": "projectKey",
|
|
10970
|
+
"required": true,
|
|
10971
|
+
"variadic": false
|
|
10972
|
+
}],
|
|
10973
|
+
"options": [],
|
|
10974
|
+
"aliases": [],
|
|
10975
|
+
"category": "Conversation"
|
|
10976
|
+
},
|
|
10082
10977
|
{
|
|
10083
10978
|
"id": "pan-conversations-current",
|
|
10084
10979
|
"path": ["conversations", "current"],
|
|
@@ -10692,7 +11587,7 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
10692
11587
|
"id": "pan-flywheel-report",
|
|
10693
11588
|
"path": ["flywheel", "report"],
|
|
10694
11589
|
"display": "/pan flywheel report",
|
|
10695
|
-
"description": "Finalize the active Flywheel run: write report.md,
|
|
11590
|
+
"description": "Finalize the active Flywheel run: write report.md, compact over-threshold FLYWHEEL-STATE.md history, commit State changes, and clear the active-run gate. Refuses to run while the orchestrator session is alive (pause or abort first).",
|
|
10696
11591
|
"args": [],
|
|
10697
11592
|
"options": [{
|
|
10698
11593
|
"flags": "--force",
|
|
@@ -10803,7 +11698,7 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
10803
11698
|
},
|
|
10804
11699
|
{
|
|
10805
11700
|
"flags": "--agent-harness <harness>",
|
|
10806
|
-
"description": "Agent harness: claude-code, pi, codex, acp, or user",
|
|
11701
|
+
"description": "Agent harness: claude-code, pi, ohmypi, codex, acp, kimi-code, or user",
|
|
10807
11702
|
"required": true,
|
|
10808
11703
|
"valueHint": "harness"
|
|
10809
11704
|
},
|
|
@@ -11378,6 +12273,30 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
11378
12273
|
"aliases": [],
|
|
11379
12274
|
"category": "Project"
|
|
11380
12275
|
},
|
|
12276
|
+
{
|
|
12277
|
+
"id": "pan-project-add-target",
|
|
12278
|
+
"path": ["project", "add-target"],
|
|
12279
|
+
"display": "/pan project add-target",
|
|
12280
|
+
"description": "Add a secondary target path for a registered project",
|
|
12281
|
+
"args": [{
|
|
12282
|
+
"name": "project",
|
|
12283
|
+
"required": true,
|
|
12284
|
+
"variadic": false
|
|
12285
|
+
}],
|
|
12286
|
+
"options": [{
|
|
12287
|
+
"flags": "--path <path>",
|
|
12288
|
+
"description": "Target path to add",
|
|
12289
|
+
"required": true,
|
|
12290
|
+
"valueHint": "path"
|
|
12291
|
+
}, {
|
|
12292
|
+
"flags": "--primary",
|
|
12293
|
+
"description": "Make this the primary target (demotes any existing primary)",
|
|
12294
|
+
"required": false,
|
|
12295
|
+
"valueHint": null
|
|
12296
|
+
}],
|
|
12297
|
+
"aliases": [],
|
|
12298
|
+
"category": "Project"
|
|
12299
|
+
},
|
|
11381
12300
|
{
|
|
11382
12301
|
"id": "pan-projects",
|
|
11383
12302
|
"path": ["projects"],
|
|
@@ -11498,6 +12417,30 @@ const COMPOSER_COMMAND_MANIFEST = [
|
|
|
11498
12417
|
"aliases": [],
|
|
11499
12418
|
"category": "Project"
|
|
11500
12419
|
},
|
|
12420
|
+
{
|
|
12421
|
+
"id": "pan-projects-add-target",
|
|
12422
|
+
"path": ["projects", "add-target"],
|
|
12423
|
+
"display": "/pan projects add-target",
|
|
12424
|
+
"description": "Add a secondary target path for a registered project",
|
|
12425
|
+
"args": [{
|
|
12426
|
+
"name": "project",
|
|
12427
|
+
"required": true,
|
|
12428
|
+
"variadic": false
|
|
12429
|
+
}],
|
|
12430
|
+
"options": [{
|
|
12431
|
+
"flags": "--path <path>",
|
|
12432
|
+
"description": "Target path to add",
|
|
12433
|
+
"required": true,
|
|
12434
|
+
"valueHint": "path"
|
|
12435
|
+
}, {
|
|
12436
|
+
"flags": "--primary",
|
|
12437
|
+
"description": "Make this the primary target (demotes any existing primary)",
|
|
12438
|
+
"required": false,
|
|
12439
|
+
"valueHint": null
|
|
12440
|
+
}],
|
|
12441
|
+
"aliases": [],
|
|
12442
|
+
"category": "Project"
|
|
12443
|
+
},
|
|
11501
12444
|
{
|
|
11502
12445
|
"id": "pan-health",
|
|
11503
12446
|
"path": ["health"],
|
|
@@ -11908,6 +12851,106 @@ const COMPOSER_COMMAND_VARIANTS = [
|
|
|
11908
12851
|
}
|
|
11909
12852
|
];
|
|
11910
12853
|
//#endregion
|
|
11911
|
-
|
|
12854
|
+
//#region src/hook-inventory.ts
|
|
12855
|
+
const HOOK_INVENTORY = [
|
|
12856
|
+
{
|
|
12857
|
+
name: "PreToolUse",
|
|
12858
|
+
wired: true,
|
|
12859
|
+
color: "#00d4ff"
|
|
12860
|
+
},
|
|
12861
|
+
{
|
|
12862
|
+
name: "PostToolUse",
|
|
12863
|
+
wired: true,
|
|
12864
|
+
color: "#39ff14"
|
|
12865
|
+
},
|
|
12866
|
+
{
|
|
12867
|
+
name: "PostToolUseFailure",
|
|
12868
|
+
wired: true,
|
|
12869
|
+
color: "#ff4444"
|
|
12870
|
+
},
|
|
12871
|
+
{
|
|
12872
|
+
name: "Stop",
|
|
12873
|
+
wired: true,
|
|
12874
|
+
color: "#ff2d7c"
|
|
12875
|
+
},
|
|
12876
|
+
{
|
|
12877
|
+
name: "SessionStart",
|
|
12878
|
+
wired: true,
|
|
12879
|
+
color: "#9d4edd"
|
|
12880
|
+
},
|
|
12881
|
+
{
|
|
12882
|
+
name: "Notification",
|
|
12883
|
+
wired: true,
|
|
12884
|
+
color: "#ffb800"
|
|
12885
|
+
},
|
|
12886
|
+
{
|
|
12887
|
+
name: "UserPromptSubmit",
|
|
12888
|
+
wired: true,
|
|
12889
|
+
color: "#00d4ff"
|
|
12890
|
+
},
|
|
12891
|
+
{
|
|
12892
|
+
name: "PreCompact",
|
|
12893
|
+
wired: true,
|
|
12894
|
+
color: "#ff7700"
|
|
12895
|
+
},
|
|
12896
|
+
{
|
|
12897
|
+
name: "PostCompact",
|
|
12898
|
+
wired: true,
|
|
12899
|
+
color: "#ff7700"
|
|
12900
|
+
},
|
|
12901
|
+
{
|
|
12902
|
+
name: "PermissionRequest",
|
|
12903
|
+
wired: true,
|
|
12904
|
+
color: "#ffb800"
|
|
12905
|
+
},
|
|
12906
|
+
{
|
|
12907
|
+
name: "SessionEnd",
|
|
12908
|
+
wired: false
|
|
12909
|
+
},
|
|
12910
|
+
{
|
|
12911
|
+
name: "SubagentStart",
|
|
12912
|
+
wired: false
|
|
12913
|
+
},
|
|
12914
|
+
{
|
|
12915
|
+
name: "SubagentStop",
|
|
12916
|
+
wired: false
|
|
12917
|
+
},
|
|
12918
|
+
{
|
|
12919
|
+
name: "StopFailure",
|
|
12920
|
+
wired: false
|
|
12921
|
+
},
|
|
12922
|
+
{
|
|
12923
|
+
name: "PermissionDenied",
|
|
12924
|
+
wired: false
|
|
12925
|
+
},
|
|
12926
|
+
{
|
|
12927
|
+
name: "TaskCreated",
|
|
12928
|
+
wired: false
|
|
12929
|
+
},
|
|
12930
|
+
{
|
|
12931
|
+
name: "TaskCompleted",
|
|
12932
|
+
wired: false
|
|
12933
|
+
},
|
|
12934
|
+
{
|
|
12935
|
+
name: "TeammateIdle",
|
|
12936
|
+
wired: false
|
|
12937
|
+
},
|
|
12938
|
+
{
|
|
12939
|
+
name: "ConfigChange",
|
|
12940
|
+
wired: false
|
|
12941
|
+
},
|
|
12942
|
+
{
|
|
12943
|
+
name: "WorktreeCreate",
|
|
12944
|
+
wired: false
|
|
12945
|
+
},
|
|
12946
|
+
{
|
|
12947
|
+
name: "InstructionsLoaded",
|
|
12948
|
+
wired: false
|
|
12949
|
+
}
|
|
12950
|
+
];
|
|
12951
|
+
const WIRED_HOOK_INVENTORY = HOOK_INVENTORY.filter((hook) => hook.wired);
|
|
12952
|
+
const WIRED_HOOK_NAMES = WIRED_HOOK_INVENTORY.map((hook) => hook.name);
|
|
12953
|
+
//#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 };
|
|
11912
12955
|
|
|
11913
12956
|
//# sourceMappingURL=index.mjs.map
|