@orion-agents/orion-code 0.2.2 → 0.3.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.
Files changed (149) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +73 -14
  3. package/README.zh-CN.md +63 -14
  4. package/bin/orion +15 -4
  5. package/dist/cli.js +51 -172
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/model-command-handlers.d.ts +2 -2
  8. package/dist/commands/model-command-handlers.d.ts.map +1 -1
  9. package/dist/commands/model-command-handlers.js +113 -32
  10. package/dist/commands/model-command-handlers.js.map +1 -1
  11. package/dist/commands/session-command-handlers.d.ts.map +1 -1
  12. package/dist/commands/session-command-handlers.js +106 -15
  13. package/dist/commands/session-command-handlers.js.map +1 -1
  14. package/dist/commands/types.d.ts +13 -3
  15. package/dist/commands/types.d.ts.map +1 -1
  16. package/dist/commands/types.js +1 -1
  17. package/dist/commands/types.js.map +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/runtime/agent-loop.d.ts.map +1 -1
  21. package/dist/runtime/agent-loop.js +3 -3
  22. package/dist/runtime/agent-loop.js.map +1 -1
  23. package/dist/runtime/agent-runtime-controller.d.ts +32 -1
  24. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  25. package/dist/runtime/agent-runtime-controller.js +242 -27
  26. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  27. package/dist/runtime/agent-runtime-runner.d.ts +2 -1
  28. package/dist/runtime/agent-runtime-runner.d.ts.map +1 -1
  29. package/dist/runtime/legacy-thread-materializer.d.ts +18 -0
  30. package/dist/runtime/legacy-thread-materializer.d.ts.map +1 -1
  31. package/dist/runtime/legacy-thread-materializer.js +27 -12
  32. package/dist/runtime/legacy-thread-materializer.js.map +1 -1
  33. package/dist/runtime/orion-runtime-v1.d.ts +2 -0
  34. package/dist/runtime/orion-runtime-v1.d.ts.map +1 -1
  35. package/dist/runtime/orion-runtime-v1.js +7 -1
  36. package/dist/runtime/orion-runtime-v1.js.map +1 -1
  37. package/dist/runtime/orion-session-runner.d.ts +7 -2
  38. package/dist/runtime/orion-session-runner.d.ts.map +1 -1
  39. package/dist/runtime/orion-session-runner.js +16 -6
  40. package/dist/runtime/orion-session-runner.js.map +1 -1
  41. package/dist/runtime/product-bootstrap.d.ts +22 -0
  42. package/dist/runtime/product-bootstrap.d.ts.map +1 -0
  43. package/dist/runtime/product-bootstrap.js +374 -0
  44. package/dist/runtime/product-bootstrap.js.map +1 -0
  45. package/dist/runtime/product-orion-runtime.d.ts +2 -1
  46. package/dist/runtime/product-orion-runtime.d.ts.map +1 -1
  47. package/dist/runtime/product-orion-runtime.js +83 -13
  48. package/dist/runtime/product-orion-runtime.js.map +1 -1
  49. package/dist/runtime/protocol/runtime-protocol-v1.d.ts +1 -1
  50. package/dist/runtime/protocol/runtime-protocol-v1.js +1 -1
  51. package/dist/runtime/protocol/runtime-protocol-v1.js.map +1 -1
  52. package/dist/runtime/release-receipts.d.ts +63 -3
  53. package/dist/runtime/release-receipts.d.ts.map +1 -1
  54. package/dist/runtime/release-receipts.js +297 -7
  55. package/dist/runtime/release-receipts.js.map +1 -1
  56. package/dist/runtime/step-snapshot.d.ts.map +1 -1
  57. package/dist/runtime/step-snapshot.js +22 -2
  58. package/dist/runtime/step-snapshot.js.map +1 -1
  59. package/dist/runtime/subagents/runtime-integration.d.ts +1 -1
  60. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  61. package/dist/runtime/subagents/runtime-integration.js +5 -2
  62. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  63. package/dist/runtime/thread-event-store.d.ts +27 -0
  64. package/dist/runtime/thread-event-store.d.ts.map +1 -1
  65. package/dist/runtime/thread-event-store.js +119 -17
  66. package/dist/runtime/thread-event-store.js.map +1 -1
  67. package/dist/runtime/thread-projection.d.ts +10 -0
  68. package/dist/runtime/thread-projection.d.ts.map +1 -1
  69. package/dist/runtime/thread-projection.js +40 -0
  70. package/dist/runtime/thread-projection.js.map +1 -1
  71. package/dist/runtime/thread-runtime.d.ts +3 -1
  72. package/dist/runtime/thread-runtime.d.ts.map +1 -1
  73. package/dist/runtime/thread-runtime.js +6 -0
  74. package/dist/runtime/thread-runtime.js.map +1 -1
  75. package/dist/runtime/thread-session-view.d.ts +43 -0
  76. package/dist/runtime/thread-session-view.d.ts.map +1 -1
  77. package/dist/runtime/thread-session-view.js +85 -22
  78. package/dist/runtime/thread-session-view.js.map +1 -1
  79. package/dist/runtime/thread-ui-adapter.d.ts +2 -0
  80. package/dist/runtime/thread-ui-adapter.d.ts.map +1 -1
  81. package/dist/runtime/thread-ui-adapter.js +126 -4
  82. package/dist/runtime/thread-ui-adapter.js.map +1 -1
  83. package/dist/runtime/ui-events.d.ts +35 -0
  84. package/dist/runtime/ui-events.d.ts.map +1 -1
  85. package/dist/runtime/ui-events.js +1 -0
  86. package/dist/runtime/ui-events.js.map +1 -1
  87. package/dist/runtime/ui-view-model.d.ts +2 -0
  88. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  89. package/dist/runtime/ui-view-model.js +7 -3
  90. package/dist/runtime/ui-view-model.js.map +1 -1
  91. package/dist/services/global-config.d.ts +25 -0
  92. package/dist/services/global-config.d.ts.map +1 -1
  93. package/dist/services/global-config.js +373 -5
  94. package/dist/services/global-config.js.map +1 -1
  95. package/dist/services/session-storage.d.ts +59 -0
  96. package/dist/services/session-storage.d.ts.map +1 -1
  97. package/dist/services/session-storage.js +303 -101
  98. package/dist/services/session-storage.js.map +1 -1
  99. package/dist/services/settings-coordinator.d.ts +174 -0
  100. package/dist/services/settings-coordinator.d.ts.map +1 -0
  101. package/dist/services/settings-coordinator.js +605 -0
  102. package/dist/services/settings-coordinator.js.map +1 -0
  103. package/dist/services/settings-document-repository.d.ts +138 -0
  104. package/dist/services/settings-document-repository.d.ts.map +1 -0
  105. package/dist/services/settings-document-repository.js +551 -0
  106. package/dist/services/settings-document-repository.js.map +1 -0
  107. package/dist/terminal-ui/launch.d.ts.map +1 -1
  108. package/dist/terminal-ui/launch.js +5 -0
  109. package/dist/terminal-ui/launch.js.map +1 -1
  110. package/dist/tui-ui/state.d.ts.map +1 -1
  111. package/dist/tui-ui/state.js +5 -0
  112. package/dist/tui-ui/state.js.map +1 -1
  113. package/dist/web/event-hub.d.ts +39 -0
  114. package/dist/web/event-hub.d.ts.map +1 -0
  115. package/dist/web/event-hub.js +263 -0
  116. package/dist/web/event-hub.js.map +1 -0
  117. package/dist/web/index.d.ts +6 -0
  118. package/dist/web/index.d.ts.map +1 -0
  119. package/dist/web/index.js +28 -0
  120. package/dist/web/index.js.map +1 -0
  121. package/dist/web/launch.d.ts +9 -0
  122. package/dist/web/launch.d.ts.map +1 -0
  123. package/dist/web/launch.js +64 -0
  124. package/dist/web/launch.js.map +1 -0
  125. package/dist/web/protocol.d.ts +346 -0
  126. package/dist/web/protocol.d.ts.map +1 -0
  127. package/dist/web/protocol.js +348 -0
  128. package/dist/web/protocol.js.map +1 -0
  129. package/dist/web/server.d.ts +20 -0
  130. package/dist/web/server.d.ts.map +1 -0
  131. package/dist/web/server.js +498 -0
  132. package/dist/web/server.js.map +1 -0
  133. package/dist/web/workbench-controller.d.ts +63 -0
  134. package/dist/web/workbench-controller.d.ts.map +1 -0
  135. package/dist/web/workbench-controller.js +774 -0
  136. package/dist/web/workbench-controller.js.map +1 -0
  137. package/dist/web-client/assets/index-BAEO71Gp.css +1 -0
  138. package/dist/web-client/assets/index-DSkFy7gM.js +13 -0
  139. package/dist/web-client/index.html +16 -0
  140. package/docs/architecture/v0.3.0-web-api.yaml +1309 -0
  141. package/docs/migration/v0.2.2-to-v0.3.0-settings.md +114 -0
  142. package/docs/migration/v0.2.2-to-v0.3.0.md +55 -0
  143. package/docs/orion.example.json +9 -2
  144. package/docs/plan/v0.3.0-node-runtime-compatibility-plan.md +57 -0
  145. package/docs/plan/v0.3.0-settings-integration-plan.md +740 -0
  146. package/docs/plan/v0.3.0-web-workbench-plan.md +325 -0
  147. package/docs/readme.md +12 -1
  148. package/npm-shrinkwrap.json +1779 -426
  149. package/package.json +33 -9
@@ -1 +1 @@
1
- {"version":3,"file":"session-storage.d.ts","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-storage.d.ts","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ exports.advanceSessionCompactSourceReceipt = advanceSessionCompactSourceReceipt;
15
15
  exports.createSession = createSession;
16
16
  exports.saveSessionMeta = saveSessionMeta;
17
17
  exports.updateSessionEffort = updateSessionEffort;
18
+ exports.updateSessionModel = updateSessionModel;
19
+ exports.updateSessionThreadReadModel = updateSessionThreadReadModel;
18
20
  exports.loadSessionMeta = loadSessionMeta;
19
21
  exports.updateSessionStats = updateSessionStats;
20
22
  exports.resumeSession = resumeSession;
@@ -32,6 +34,7 @@ exports.loadSessionTranscriptMessages = loadSessionTranscriptMessages;
32
34
  exports.endSession = endSession;
33
35
  exports.updateSessionSummary = updateSessionSummary;
34
36
  exports.getLastSession = getLastSession;
37
+ exports.filterSessionsWithRestorableHistory = filterSessionsWithRestorableHistory;
35
38
  exports.appendHistory = appendHistory;
36
39
  exports.readHistory = readHistory;
37
40
  exports.readProjectHistory = readProjectHistory;
@@ -45,10 +48,12 @@ exports.appendSessionTraceEvent = appendSessionTraceEvent;
45
48
  exports.readSessionTraceEvents = readSessionTraceEvents;
46
49
  exports.loadSessionHistory = loadSessionHistory;
47
50
  exports.loadSessionHistoryWithDiagnostics = loadSessionHistoryWithDiagnostics;
51
+ exports.loadSessionRestoreBundle = loadSessionRestoreBundle;
48
52
  exports.listSessions = listSessions;
49
53
  exports.listProjectSessions = listProjectSessions;
50
54
  exports.findSession = findSession;
51
55
  exports.lookupSessionRef = lookupSessionRef;
56
+ exports.lookupSessionRefInSessions = lookupSessionRefInSessions;
52
57
  exports.renameSession = renameSession;
53
58
  exports.deleteSession = deleteSession;
54
59
  const fs_1 = require("fs");
@@ -66,6 +71,9 @@ const goal_storage_1 = require("./goal-storage");
66
71
  const fingerprint_1 = require("./compact/fingerprint");
67
72
  const token_estimate_1 = require("../utils/token-estimate");
68
73
  const thread_session_view_1 = require("../runtime/thread-session-view");
74
+ const legacy_thread_materializer_1 = require("../runtime/legacy-thread-materializer");
75
+ const paths_1 = require("../product/paths");
76
+ const turn_commit_1 = require("../runtime/turn-commit");
69
77
  const harness_1 = require("../harness");
70
78
  var redaction_2 = require("./redaction");
71
79
  Object.defineProperty(exports, "redactTraceText", { enumerable: true, get: function () { return redaction_2.redactTraceText; } });
@@ -304,7 +312,7 @@ function normalizeSessionMeta(session) {
304
312
  updatedAt,
305
313
  updatedAtIso: session.updatedAtIso ?? new Date(updatedAt).toISOString(),
306
314
  messageCount: session.messageCount ?? 0,
307
- historySizeBytes: computeSessionHistorySizeBytes({ id: session.id, projectPath }),
315
+ historySizeBytes: session.historySizeBytes ?? computeSessionHistorySizeBytes({ id: session.id, projectPath }),
308
316
  tokenCount: session.tokenCount ?? 0,
309
317
  cost: session.cost ?? 0,
310
318
  gitBranch: session.gitBranch ?? getGitBranch(projectPath),
@@ -980,28 +988,6 @@ function loadRawSessionMeta(sessionId) {
980
988
  const path = findSessionMetaPath(sessionId);
981
989
  return path ? readSessionMetaAtPath(path) : null;
982
990
  }
983
- function projectSessionMetaWithThread(session) {
984
- try {
985
- const threadSummary = (0, thread_session_view_1.loadThreadSessionSummaryV1)(session.projectPath, session.id);
986
- if (!threadSummary)
987
- return session;
988
- const updatedAt = Math.max(session.updatedAt ?? session.startTime, threadSummary.updatedAt);
989
- return {
990
- ...session,
991
- updatedAt,
992
- updatedAtIso: new Date(updatedAt).toISOString(),
993
- messageCount: threadSummary.messageCount,
994
- historySizeBytes: threadSummary.historySizeBytes,
995
- };
996
- }
997
- catch (error) {
998
- // A damaged historical Thread must not make every healthy Session in the
999
- // project undiscoverable. Its raw metadata remains selectable for an
1000
- // explicit, isolated recovery attempt.
1001
- (0, debug_log_1.debugError)('session-storage.projectThreadMeta', error, session.id);
1002
- return session;
1003
- }
1004
- }
1005
991
  /**
1006
992
  * Serialize a session read-modify-write transaction across Orion processes.
1007
993
  * The metadata path is rediscovered before each transaction and re-read only
@@ -1036,12 +1022,100 @@ function updateSessionEffort(sessionId, effortPreference) {
1036
1022
  }
1037
1023
  });
1038
1024
  }
1025
+ /** Persist the model selected for one Session without replacing unrelated metadata. */
1026
+ function updateSessionModel(sessionId, model) {
1027
+ const normalizedModel = model.trim();
1028
+ if (!normalizedModel)
1029
+ throw new Error('Session model must not be empty.');
1030
+ return mutateSessionMeta(sessionId, session => {
1031
+ session.model = normalizedModel;
1032
+ session.updatedAt = Date.now();
1033
+ session.updatedAtIso = new Date(session.updatedAt).toISOString();
1034
+ });
1035
+ }
1036
+ /**
1037
+ * Persist the bounded Session-list projection derived from an authoritative
1038
+ * v2 Thread. List and picker paths consume this catalog projection directly;
1039
+ * they must never replay every Thread merely to render metadata.
1040
+ */
1041
+ function updateSessionThreadReadModel(sessionId, input) {
1042
+ if (!input.threadId.trim())
1043
+ throw new Error('Session Thread id must not be empty.');
1044
+ if (!Number.isSafeInteger(input.cursor) || input.cursor < 0) {
1045
+ throw new Error('Session Thread cursor must be a non-negative safe integer.');
1046
+ }
1047
+ if (!input.projectionDigest.trim()) {
1048
+ throw new Error('Session Thread projection digest must not be empty.');
1049
+ }
1050
+ if (!Number.isSafeInteger(input.cutoverGeneration) || input.cutoverGeneration < 1) {
1051
+ throw new Error('Session Thread cutover generation must be a positive safe integer.');
1052
+ }
1053
+ if (input.lastRecordHash !== null && !/^[a-f0-9]{64}$/i.test(input.lastRecordHash)) {
1054
+ throw new Error('Session Thread last record hash must be a SHA-256 digest or null.');
1055
+ }
1056
+ for (const [name, value] of [
1057
+ ['logDevice', input.logDevice],
1058
+ ['logInode', input.logInode],
1059
+ ['logMtimeNs', input.logMtimeNs],
1060
+ ['logCtimeNs', input.logCtimeNs],
1061
+ ]) {
1062
+ if (!/^\d+$/.test(value))
1063
+ throw new Error(`Session Thread ${name} must be an integer string.`);
1064
+ }
1065
+ if (!Number.isSafeInteger(input.messageCount) || input.messageCount < 0) {
1066
+ throw new Error('Session Thread messageCount must be a non-negative safe integer.');
1067
+ }
1068
+ if (!Number.isSafeInteger(input.historySizeBytes) || input.historySizeBytes < 0) {
1069
+ throw new Error('Session Thread historySizeBytes must be a non-negative safe integer.');
1070
+ }
1071
+ if (!Number.isFinite(input.updatedAt) || input.updatedAt < 0) {
1072
+ throw new Error('Session Thread updatedAt must be a non-negative finite timestamp.');
1073
+ }
1074
+ return withLockedSession(sessionId, session => {
1075
+ const nextUpdatedAt = Math.max(session.updatedAt ?? session.startTime, input.updatedAt);
1076
+ const current = session.threadReadModel;
1077
+ const unchanged = session.messageCount === input.messageCount &&
1078
+ session.historySizeBytes === input.historySizeBytes &&
1079
+ session.updatedAt === nextUpdatedAt &&
1080
+ current?.version === 1 &&
1081
+ current.threadId === input.threadId &&
1082
+ current.cursor === input.cursor &&
1083
+ current.projectionDigest === input.projectionDigest &&
1084
+ current.cutoverGeneration === input.cutoverGeneration &&
1085
+ current.lastRecordHash === input.lastRecordHash &&
1086
+ current.logDevice === input.logDevice &&
1087
+ current.logInode === input.logInode &&
1088
+ current.logMtimeNs === input.logMtimeNs &&
1089
+ current.logCtimeNs === input.logCtimeNs;
1090
+ if (unchanged)
1091
+ return session;
1092
+ session.messageCount = input.messageCount;
1093
+ session.historySizeBytes = input.historySizeBytes;
1094
+ session.threadReadModel = {
1095
+ version: 1,
1096
+ threadId: input.threadId,
1097
+ cursor: input.cursor,
1098
+ projectionDigest: input.projectionDigest,
1099
+ cutoverGeneration: input.cutoverGeneration,
1100
+ lastRecordHash: input.lastRecordHash,
1101
+ logDevice: input.logDevice,
1102
+ logInode: input.logInode,
1103
+ logMtimeNs: input.logMtimeNs,
1104
+ logCtimeNs: input.logCtimeNs,
1105
+ };
1106
+ // Selecting a Session is itself recent activity. A background projection
1107
+ // refresh must not reorder it backwards to the timestamp of its last fact.
1108
+ session.updatedAt = nextUpdatedAt;
1109
+ session.updatedAtIso = new Date(session.updatedAt).toISOString();
1110
+ writeSessionMetaUnlocked(session);
1111
+ return session;
1112
+ });
1113
+ }
1039
1114
  /**
1040
1115
  * 加载会话元数据
1041
1116
  */
1042
1117
  function loadSessionMeta(sessionId) {
1043
- const session = loadRawSessionMeta(sessionId);
1044
- return session ? projectSessionMetaWithThread(session) : null;
1118
+ return loadRawSessionMeta(sessionId);
1045
1119
  }
1046
1120
  /**
1047
1121
  * 更新会话统计
@@ -1058,13 +1132,20 @@ function updateSessionStats(sessionId, tokens, cost) {
1058
1132
  * Mark a saved session as active again and refresh project metadata.
1059
1133
  */
1060
1134
  function resumeSession(sessionId) {
1061
- const session = mutateSessionMeta(sessionId, current => {
1135
+ return withLockedSession(sessionId, current => {
1136
+ // Session selection is not new conversation activity. Once a Session is
1137
+ // already open, do not rewrite its metadata/catalog merely because the UI
1138
+ // selected it again. This keeps /resume off the fsync path while preserving
1139
+ // the one durable ended -> active transition.
1140
+ if (current.endTime === undefined)
1141
+ return current;
1062
1142
  current.endTime = undefined;
1063
- current.gitBranch = getGitBranch(current.projectPath);
1143
+ current.gitBranch ?? (current.gitBranch = getGitBranch(current.projectPath));
1064
1144
  current.updatedAt = Date.now();
1065
1145
  current.updatedAtIso = new Date(current.updatedAt).toISOString();
1146
+ writeSessionMetaUnlocked(current);
1147
+ return current;
1066
1148
  });
1067
- return session ? projectSessionMetaWithThread(session) : null;
1068
1149
  }
1069
1150
  /** Keep the session metadata's additive Goal binding in sync with its sidecar. */
1070
1151
  function updateSessionGoalBinding(sessionId, goal) {
@@ -1139,30 +1220,7 @@ function loadSessionHarnessState(sessionId) {
1139
1220
  const session = loadSessionMeta(sessionId);
1140
1221
  if (!session)
1141
1222
  return null;
1142
- const sidecarPath = (0, config_dir_1.getProjectSessionHarnessPath)(session.projectPath, sessionId);
1143
- if ((0, fs_1.existsSync)(sidecarPath)) {
1144
- const sidecar = parseHarnessSidecarFile(sidecarPath);
1145
- if (sidecar?.state) {
1146
- return (0, harness_1.upgradeHarnessState)(sidecar.state, {
1147
- cwd: session.cwd ?? session.projectPath,
1148
- messages: readSessionMessages(sessionId),
1149
- });
1150
- }
1151
- }
1152
- if (session.harnessState) {
1153
- return (0, harness_1.upgradeHarnessState)(session.harnessState, {
1154
- cwd: session.cwd ?? session.projectPath,
1155
- messages: readSessionMessages(sessionId),
1156
- });
1157
- }
1158
- const messages = readSessionMessages(sessionId);
1159
- if (messages.length > 0) {
1160
- return (0, harness_1.upgradeHarnessState)(null, {
1161
- cwd: session.cwd ?? session.projectPath,
1162
- messages,
1163
- });
1164
- }
1165
- return null;
1223
+ return restoreLegacyHarnessState(session, readSessionMessages(sessionId));
1166
1224
  }
1167
1225
  function updateSessionSkills(sessionId, skills) {
1168
1226
  if (skills.length === 0)
@@ -1486,17 +1544,7 @@ function loadSessionTranscriptMessages(sessionId) {
1486
1544
  if (rawSession) {
1487
1545
  const threadSummary = (0, thread_session_view_1.loadThreadSessionSummaryV1)(rawSession.projectPath, rawSession.id);
1488
1546
  if (threadSummary) {
1489
- return threadSummary.transcriptMessages.map(message => ({
1490
- role: message.role,
1491
- content: message.content,
1492
- timestamp: message.timestamp,
1493
- ...(message.modelVisibleContent
1494
- ? { modelVisibleContent: message.modelVisibleContent }
1495
- : {}),
1496
- ...(message.toolCallId ? { toolCallId: message.toolCallId } : {}),
1497
- ...(message.tool_calls ? { tool_calls: structuredClone(message.tool_calls) } : {}),
1498
- ...(message.appliedSkills ? { appliedSkills: [...message.appliedSkills] } : {}),
1499
- }));
1547
+ return threadSummary.transcriptMessages.map(threadTranscriptMessageToSessionMessage);
1500
1548
  }
1501
1549
  }
1502
1550
  return (withLockedSession(sessionId, session => {
@@ -1510,6 +1558,17 @@ function loadSessionTranscriptMessages(sessionId) {
1510
1558
  : messages;
1511
1559
  }) ?? []);
1512
1560
  }
1561
+ function threadTranscriptMessageToSessionMessage(message) {
1562
+ return {
1563
+ role: message.role,
1564
+ content: message.content,
1565
+ timestamp: message.timestamp,
1566
+ ...(message.modelVisibleContent ? { modelVisibleContent: message.modelVisibleContent } : {}),
1567
+ ...(message.toolCallId ? { toolCallId: message.toolCallId } : {}),
1568
+ ...(message.tool_calls ? { tool_calls: structuredClone(message.tool_calls) } : {}),
1569
+ ...(message.appliedSkills ? { appliedSkills: [...message.appliedSkills] } : {}),
1570
+ };
1571
+ }
1513
1572
  function hasPersistedCompactContext(messages) {
1514
1573
  return messages.some(message => message.content.includes('[Orion Code Context State v2]') ||
1515
1574
  message.content.includes('[Context Summary]') ||
@@ -1598,6 +1657,7 @@ function updateSessionSummary(sessionId, _messages) {
1598
1657
  session.filesModified = summary.filesModified;
1599
1658
  session.taskSummary = summary.taskSummary;
1600
1659
  session.messageCount = summary.messageCount;
1660
+ session.historySizeBytes = computeSessionHistorySizeBytes(session);
1601
1661
  session.updatedAt = Date.now();
1602
1662
  session.updatedAtIso = new Date(session.updatedAt).toISOString();
1603
1663
  writeSessionMetaUnlocked(session);
@@ -1607,9 +1667,55 @@ function updateSessionSummary(sessionId, _messages) {
1607
1667
  * 获取项目最近的会话
1608
1668
  */
1609
1669
  function getLastSession(projectPath) {
1610
- const sessions = listProjectSessions(projectPath).filter(session => (session.messageCount ?? 0) > 0);
1670
+ const sessions = filterSessionsWithRestorableHistory(listProjectSessions(projectPath));
1611
1671
  return sessions[0] ?? null;
1612
1672
  }
1673
+ /**
1674
+ * Keep pre-read-model v2 Sessions discoverable without replaying their logs.
1675
+ * An indexed Thread with no bound read model is "unknown", not "empty"; its
1676
+ * metadata is repaired lazily when that target is actually opened.
1677
+ */
1678
+ function filterSessionsWithRestorableHistory(sessions) {
1679
+ const threadSessionsByProject = new Map();
1680
+ const threadSessions = (projectPath) => {
1681
+ const cached = threadSessionsByProject.get(projectPath);
1682
+ if (cached)
1683
+ return cached;
1684
+ let entries = {};
1685
+ try {
1686
+ entries = (0, legacy_thread_materializer_1.loadThreadCutoverIndexV1)(projectPath).sessions;
1687
+ }
1688
+ catch (error) {
1689
+ (0, debug_log_1.debugError)('session-storage.restorableThreadIndex', error, projectPath);
1690
+ }
1691
+ threadSessionsByProject.set(projectPath, entries);
1692
+ return entries;
1693
+ };
1694
+ return sessions.filter(session => {
1695
+ if ((session.messageCount ?? 0) > 0)
1696
+ return true;
1697
+ const entry = threadSessions(session.projectPath)[session.id];
1698
+ if (!entry)
1699
+ return false;
1700
+ const readModel = session.threadReadModel;
1701
+ if (!readModel || readModel.threadId !== entry.threadId)
1702
+ return true;
1703
+ try {
1704
+ const stats = (0, fs_1.statSync)((0, path_1.join)((0, paths_1.getProjectThreadsV2Dir)(session.projectPath), `${readModel.threadId}.events.v1.jsonl`), { bigint: true });
1705
+ const headStillCurrent = stats.size === BigInt(session.historySizeBytes ?? -1) &&
1706
+ stats.dev.toString() === readModel.logDevice &&
1707
+ stats.ino.toString() === readModel.logInode &&
1708
+ stats.mtimeNs.toString() === readModel.logMtimeNs &&
1709
+ stats.ctimeNs.toString() === readModel.logCtimeNs;
1710
+ return !headStillCurrent;
1711
+ }
1712
+ catch {
1713
+ // Missing or unreadable authoritative facts must remain discoverable so
1714
+ // an explicit restore can surface the isolated corruption diagnostic.
1715
+ return true;
1716
+ }
1717
+ });
1718
+ }
1613
1719
  // ============================================================================
1614
1720
  // 历史记录 (JSONL)
1615
1721
  // ============================================================================
@@ -1685,6 +1791,7 @@ function appendSessionMessage(sessionId, message) {
1685
1791
  session.updatedAt = Date.now();
1686
1792
  session.updatedAtIso = new Date(session.updatedAt).toISOString();
1687
1793
  session.messageCount = (session.messageCount ?? 0) + 1;
1794
+ session.historySizeBytes = computeSessionHistorySizeBytes(session);
1688
1795
  writeSessionMetaUnlocked(session);
1689
1796
  });
1690
1797
  }
@@ -1708,6 +1815,7 @@ function appendSessionMessages(sessionId, messages) {
1708
1815
  session.updatedAt = Date.now();
1709
1816
  session.updatedAtIso = new Date(session.updatedAt).toISOString();
1710
1817
  session.messageCount = (session.messageCount ?? 0) + messages.length;
1818
+ session.historySizeBytes = computeSessionHistorySizeBytes(session);
1711
1819
  writeSessionMetaUnlocked(session);
1712
1820
  });
1713
1821
  }
@@ -1741,6 +1849,7 @@ function overwriteSessionMessagesUnlocked(session, messages) {
1741
1849
  (0, session_index_1.updateSessionIndex)(session.id, session.projectPath, message);
1742
1850
  }
1743
1851
  session.messageCount = messages.length;
1852
+ session.historySizeBytes = computeSessionHistorySizeBytes(session);
1744
1853
  const summary = summarizeSessionMessages(messages);
1745
1854
  session.toolsUsed = summary.toolsUsed;
1746
1855
  session.filesModified = summary.filesModified;
@@ -1896,49 +2005,140 @@ function loadSessionHistory(sessionId) {
1896
2005
  }
1897
2006
  /** Load provider-safe history together with any explicit recovery provenance. */
1898
2007
  function loadSessionHistoryWithDiagnostics(sessionId) {
2008
+ return loadSessionRestoreBundleInternal(sessionId, false).history;
2009
+ }
2010
+ /**
2011
+ * Capture every projection needed by /resume from one stable storage view.
2012
+ * A v2 target opens and verifies one ThreadEventStore; a legacy target reads
2013
+ * messages and its compact checkpoint under one Session lock.
2014
+ */
2015
+ function loadSessionRestoreBundle(sessionId) {
2016
+ return loadSessionRestoreBundleInternal(sessionId, true);
2017
+ }
2018
+ function loadSessionRestoreBundleInternal(sessionId, includeRuntimeActivation) {
1899
2019
  const rawSession = loadRawSessionMeta(sessionId);
1900
2020
  if (rawSession) {
1901
- const threadView = (0, thread_session_view_1.loadThreadSessionViewV1)(rawSession.projectPath, rawSession.id);
2021
+ const openedThread = includeRuntimeActivation
2022
+ ? (0, thread_session_view_1.openThreadSessionViewV1)(rawSession.projectPath, rawSession.id)
2023
+ : undefined;
2024
+ const threadView = openedThread?.view ?? (0, thread_session_view_1.loadThreadSessionViewV1)(rawSession.projectPath, rawSession.id);
1902
2025
  if (threadView) {
2026
+ const harnessState = restoreThreadHarnessState(rawSession, threadView);
2027
+ try {
2028
+ updateSessionThreadReadModel(sessionId, {
2029
+ threadId: threadView.threadId,
2030
+ cursor: threadView.cursor,
2031
+ projectionDigest: threadView.projectionDigest,
2032
+ cutoverGeneration: threadView.readModel.cutoverGeneration,
2033
+ lastRecordHash: threadView.readModel.lastRecordHash,
2034
+ logDevice: threadView.readModel.log.device,
2035
+ logInode: threadView.readModel.log.inode,
2036
+ logMtimeNs: threadView.readModel.log.mtimeNs,
2037
+ logCtimeNs: threadView.readModel.log.ctimeNs,
2038
+ messageCount: threadView.messageCount,
2039
+ historySizeBytes: threadView.historySizeBytes,
2040
+ updatedAt: threadView.updatedAt,
2041
+ });
2042
+ }
2043
+ catch (error) {
2044
+ (0, debug_log_1.debugError)('session-storage.repairThreadReadModel', error, sessionId);
2045
+ }
1903
2046
  return {
1904
- messages: threadView.modelHistory.map(message => structuredClone(message)),
1905
- source: threadView.modelHistorySource,
1906
- diagnostics: threadView.diagnostics,
2047
+ history: {
2048
+ messages: threadView.modelHistory.map(message => structuredClone(message)),
2049
+ source: threadView.modelHistorySource,
2050
+ diagnostics: threadView.diagnostics,
2051
+ },
2052
+ transcriptMessages: threadView.transcriptMessages.map(threadTranscriptMessageToSessionMessage),
2053
+ sourceMessageCount: threadView.transcriptMessages.length,
2054
+ checkpoint: null,
2055
+ ...(harnessState ? { harnessState } : {}),
2056
+ ...(openedThread ? { runtimeActivation: openedThread.runtimeActivation } : {}),
1907
2057
  };
1908
2058
  }
1909
2059
  }
1910
- const messages = withLockedSession(sessionId, session => {
2060
+ return (withLockedSession(sessionId, session => {
1911
2061
  const messages = readSessionMessagesForSession(session);
2062
+ const harnessState = restoreLegacyHarnessState(session, messages);
1912
2063
  const checkpoint = loadCompactCheckpointForSession(session, messages);
1913
- if (checkpoint) {
1914
- const restored = [
1915
- ...checkpoint.modelHistory.map(message => ({ ...message })),
1916
- ...messages.slice(checkpoint.sourceMessageCount).map(sessionMessageToModelMessage),
1917
- ];
1918
- if (checkpoint.version === 2) {
1919
- try {
1920
- (0, tool_call_groups_1.assertToolCallGroups)(restored);
1921
- return restored;
1922
- }
1923
- catch (error) {
1924
- // Never mutate or synthesize data inside a validated V2
1925
- // replacement. Fall back to the append-only transcript instead.
1926
- (0, debug_log_1.debugError)('session-storage.restoreCompactCheckpoint.toolGroups', error, sessionId);
1927
- return (0, tool_call_groups_1.sealToolCallGroups)(messages.map(sessionMessageToModelMessage));
1928
- }
1929
- }
1930
- return (0, tool_call_groups_1.sealToolCallGroups)(restored);
1931
- }
1932
- let modelVisibleMessages = messages;
1933
- if (typeof session.transcriptDisplayStartTime === 'number') {
1934
- const afterDisplayStart = messages.filter(message => (message.timestamp ?? 0) >= (session.transcriptDisplayStartTime ?? 0));
1935
- modelVisibleMessages = hasPersistedCompactContext(afterDisplayStart)
1936
- ? afterDisplayStart
2064
+ const transcriptMessages = checkpoint
2065
+ ? messages.slice(checkpoint.transcriptStartMessageIndex)
2066
+ : typeof session.transcriptDisplayStartTime === 'number'
2067
+ ? messages.filter(message => (message.timestamp ?? 0) >= (session.transcriptDisplayStartTime ?? 0))
1937
2068
  : messages;
2069
+ return {
2070
+ history: {
2071
+ messages: restoreLegacyModelHistory(sessionId, session, messages, checkpoint),
2072
+ source: 'legacy',
2073
+ diagnostics: [],
2074
+ },
2075
+ transcriptMessages,
2076
+ sourceMessageCount: messages.length,
2077
+ checkpoint,
2078
+ ...(harnessState ? { harnessState } : {}),
2079
+ };
2080
+ }) ?? {
2081
+ history: { messages: [], source: 'legacy', diagnostics: [] },
2082
+ transcriptMessages: [],
2083
+ sourceMessageCount: 0,
2084
+ checkpoint: null,
2085
+ });
2086
+ }
2087
+ function restoreThreadHarnessState(session, view) {
2088
+ if (!view.latestTurnCommit) {
2089
+ return restoreLegacyHarnessState(session, view.transcriptMessages.map(threadTranscriptMessageToSessionMessage));
2090
+ }
2091
+ const commit = (0, turn_commit_1.parseTurnCommitV1)(view.latestTurnCommit.receipt);
2092
+ let state;
2093
+ try {
2094
+ state = JSON.parse(commit.taskContext);
2095
+ }
2096
+ catch {
2097
+ throw new Error(`Session ${session.id} TurnCommit TaskContext is not valid JSON.`);
2098
+ }
2099
+ return (0, harness_1.upgradeHarnessState)(state, {
2100
+ cwd: session.cwd ?? session.projectPath,
2101
+ messages: view.modelHistory.map(message => structuredClone(message)),
2102
+ });
2103
+ }
2104
+ function restoreLegacyHarnessState(session, messages) {
2105
+ const sidecarPath = (0, config_dir_1.getProjectSessionHarnessPath)(session.projectPath, session.id);
2106
+ const sidecar = (0, fs_1.existsSync)(sidecarPath) ? parseHarnessSidecarFile(sidecarPath) : null;
2107
+ const state = sidecar?.state ?? session.harnessState ?? null;
2108
+ if (!state && messages.length === 0)
2109
+ return null;
2110
+ return (0, harness_1.upgradeHarnessState)(state, {
2111
+ cwd: session.cwd ?? session.projectPath,
2112
+ messages: messages.map(message => structuredClone(message)),
2113
+ });
2114
+ }
2115
+ function restoreLegacyModelHistory(sessionId, session, messages, checkpoint) {
2116
+ if (checkpoint) {
2117
+ const restored = [
2118
+ ...checkpoint.modelHistory.map(message => ({ ...message })),
2119
+ ...messages.slice(checkpoint.sourceMessageCount).map(sessionMessageToModelMessage),
2120
+ ];
2121
+ if (checkpoint.version === 2) {
2122
+ try {
2123
+ (0, tool_call_groups_1.assertToolCallGroups)(restored);
2124
+ return restored;
2125
+ }
2126
+ catch (error) {
2127
+ // Never mutate or synthesize data inside a validated V2 replacement.
2128
+ (0, debug_log_1.debugError)('session-storage.restoreCompactCheckpoint.toolGroups', error, sessionId);
2129
+ return (0, tool_call_groups_1.sealToolCallGroups)(messages.map(sessionMessageToModelMessage));
2130
+ }
1938
2131
  }
1939
- return (0, tool_call_groups_1.sealToolCallGroups)(modelVisibleMessages.map(sessionMessageToModelMessage));
1940
- }) ?? [];
1941
- return { messages, source: 'legacy', diagnostics: [] };
2132
+ return (0, tool_call_groups_1.sealToolCallGroups)(restored);
2133
+ }
2134
+ let modelVisibleMessages = messages;
2135
+ if (typeof session.transcriptDisplayStartTime === 'number') {
2136
+ const afterDisplayStart = messages.filter(message => (message.timestamp ?? 0) >= (session.transcriptDisplayStartTime ?? 0));
2137
+ modelVisibleMessages = hasPersistedCompactContext(afterDisplayStart)
2138
+ ? afterDisplayStart
2139
+ : messages;
2140
+ }
2141
+ return (0, tool_call_groups_1.sealToolCallGroups)(modelVisibleMessages.map(sessionMessageToModelMessage));
1942
2142
  }
1943
2143
  function sessionMessageToModelMessage(message) {
1944
2144
  const result = {
@@ -1957,7 +2157,7 @@ function sessionMessageToModelMessage(message) {
1957
2157
  * 列出所有会话
1958
2158
  */
1959
2159
  function listSessions(limit) {
1960
- const sessions = sortSessionsNewestFirst(Object.values(loadOrRebuildSessionCatalog().sessions).map(projectSessionMetaWithThread));
2160
+ const sessions = sortSessionsNewestFirst(Object.values(loadOrRebuildSessionCatalog().sessions));
1961
2161
  return limit ? sessions.slice(0, limit) : sessions;
1962
2162
  }
1963
2163
  /**
@@ -1965,9 +2165,7 @@ function listSessions(limit) {
1965
2165
  */
1966
2166
  function listProjectSessions(projectPath, limit) {
1967
2167
  const canonicalProjectPath = resolveProjectPath(projectPath);
1968
- const sessions = sortSessionsNewestFirst(Object.values(loadOrRebuildSessionCatalog().sessions)
1969
- .filter(session => session.projectPath === canonicalProjectPath)
1970
- .map(projectSessionMetaWithThread));
2168
+ const sessions = sortSessionsNewestFirst(Object.values(loadOrRebuildSessionCatalog().sessions).filter(session => session.projectPath === canonicalProjectPath));
1971
2169
  return limit ? sessions.slice(0, limit) : sessions;
1972
2170
  }
1973
2171
  /**
@@ -1983,10 +2181,14 @@ function findSession(ref, projectPath, options = {}) {
1983
2181
  * conflict prompts.
1984
2182
  */
1985
2183
  function lookupSessionRef(ref, projectPath, options = {}) {
2184
+ const candidates = options.allProjects || !projectPath ? listSessions() : listProjectSessions(projectPath);
2185
+ return lookupSessionRefInSessions(ref, candidates);
2186
+ }
2187
+ /** Resolve a reference against an already-loaded picker snapshot. */
2188
+ function lookupSessionRefInSessions(ref, candidates) {
1986
2189
  const query = ref.trim();
1987
2190
  if (!query)
1988
2191
  return { status: 'not_found' };
1989
- const candidates = options.allProjects || !projectPath ? listSessions() : listProjectSessions(projectPath);
1990
2192
  const exactId = candidates.find(session => session.id === query);
1991
2193
  if (exactId)
1992
2194
  return { status: 'found', session: exactId };