@myagentroam/node 0.9.9 → 0.9.11

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 (214) hide show
  1. package/dist/capabilities.js +2 -92
  2. package/dist/claude-agent-sdk.js +2 -330
  3. package/dist/claude-channel.js +2 -44
  4. package/dist/codex-app-server.js +2 -503
  5. package/dist/config.js +2 -56
  6. package/dist/connector/node-connector-options.js +2 -1
  7. package/dist/connector/node-operation-router.js +2 -22
  8. package/dist/connector.js +2 -845
  9. package/dist/control-outbound-scheduler.js +2 -154
  10. package/dist/database.js +2 -1418
  11. package/dist/event-buffer.js +2 -19
  12. package/dist/fake-runner.js +2 -129
  13. package/dist/health.js +2 -3
  14. package/dist/main.js +2 -54
  15. package/dist/migrations/v001.js +3 -144
  16. package/dist/migrations/v002.js +2 -143
  17. package/dist/migrations/v003.js +2 -44
  18. package/dist/migrations/v004.js +34 -30
  19. package/dist/native-jsonl-reader.js +2 -186
  20. package/dist/native-session-history.js +2 -1119
  21. package/dist/opencode-runtime.js +2 -80
  22. package/dist/opencode-server.js +2 -263
  23. package/dist/operational.js +2 -122
  24. package/dist/process-tree.js +2 -18
  25. package/dist/rotating-log.js +2 -67
  26. package/dist/runner/abstract-runner.js +2 -232
  27. package/dist/runner/claude/managed-run-controller.js +2 -345
  28. package/dist/runner/claude-code-runner.js +2 -303
  29. package/dist/runner/codex/composer-image-markers.js +2 -0
  30. package/dist/runner/codex/conversation-parser.js +2 -861
  31. package/dist/runner/codex/managed-run-controller.js +2 -460
  32. package/dist/runner/codex-runner.js +2 -628
  33. package/dist/runner/fake-test-runner.js +2 -47
  34. package/dist/runner/opencode/conversation-parser.js +2 -221
  35. package/dist/runner/opencode/managed-run-controller.js +2 -537
  36. package/dist/runner/opencode-runner.js +2 -448
  37. package/dist/runner/runner-registry.js +2 -90
  38. package/dist/runner-command-engine.js +2 -70
  39. package/dist/runner-profiles.js +2 -215
  40. package/dist/runner-usage.js +2 -190
  41. package/dist/runtime-command-detector.js +2 -73
  42. package/dist/runtime-state.js +2 -982
  43. package/dist/service/attachment-domain-state.js +2 -7
  44. package/dist/service/conversation-history-service.js +2 -457
  45. package/dist/service/conversation-segment-service.js +2 -162
  46. package/dist/service/external-session-resume-service.js +2 -118
  47. package/dist/service/fake-managed-run-service.js +2 -60
  48. package/dist/service/managed-runner-session-service.js +2 -35
  49. package/dist/service/mcp-installation-verifier.js +2 -87
  50. package/dist/service/mcp-node-operation-service.js +2 -90
  51. package/dist/service/mcp-package-installer.js +2 -136
  52. package/dist/service/native-session-projection-service.js +2 -280
  53. package/dist/service/native-session-watch-service.js +2 -383
  54. package/dist/service/node-connection-lifecycle-service.js +2 -84
  55. package/dist/service/node-control-channel.js +2 -85
  56. package/dist/service/node-control-message-service.js +2 -107
  57. package/dist/service/node-request-service.js +2 -52
  58. package/dist/service/node-run-event-bridge.js +2 -83
  59. package/dist/service/node-terminal-channel.js +2 -182
  60. package/dist/service/node-upgrade-coordinator.js +2 -137
  61. package/dist/service/node-workspace-coordinator.js +2 -70
  62. package/dist/service/recent-run-projection-service.js +2 -78
  63. package/dist/service/run-attachment-service.js +2 -194
  64. package/dist/service/run-domain-state.js +2 -4
  65. package/dist/service/run-event-service.js +2 -193
  66. package/dist/service/run-workbench-service.js +2 -104
  67. package/dist/service/runner-channel-message-service.js +2 -20
  68. package/dist/service/runner-interaction-service.js +2 -243
  69. package/dist/service/runner-service.js +2 -71
  70. package/dist/service/session-catalog-service.js +2 -224
  71. package/dist/service/session-command-service.js +2 -76
  72. package/dist/service/session-context-service.js +2 -101
  73. package/dist/service/session-domain-state.js +2 -9
  74. package/dist/service/session-identity-service.js +2 -86
  75. package/dist/service/session-lifecycle-service.js +2 -240
  76. package/dist/service/session-message-service.js +2 -173
  77. package/dist/service/session-presentation-service.js +2 -43
  78. package/dist/service/session-query-service.js +2 -82
  79. package/dist/service/skill-directory-service.js +2 -238
  80. package/dist/service/skill-install-service.js +2 -434
  81. package/dist/service/skill-node-operation-service.js +2 -206
  82. package/dist/service/terminal-relay-state.js +2 -3
  83. package/dist/service/terminal-service.js +2 -52
  84. package/dist/service/workbench-event-service.js +2 -19
  85. package/dist/service/workbench-manifest-service.js +2 -69
  86. package/dist/service/workspace-change-service.js +2 -86
  87. package/dist/service/workspace-content-search-service.js +2 -477
  88. package/dist/service/workspace-domain-state.js +2 -41
  89. package/dist/service/workspace-file-service.js +2 -122
  90. package/dist/service/workspace-git-exclude-service.js +2 -119
  91. package/dist/service/workspace-queue-workbench-service.js +2 -304
  92. package/dist/service/workspace-service.js +2 -69
  93. package/dist/service/workspace-session-service.js +2 -139
  94. package/dist/service/workspace-upload-service.js +2 -262
  95. package/dist/service/workspace-watch-service.js +2 -146
  96. package/dist/service/workspace-workbench-service.js +2 -405
  97. package/dist/service.js +2 -38
  98. package/dist/storage.js +2 -32
  99. package/dist/supervisor.js +2 -136
  100. package/dist/terminal.js +2 -416
  101. package/dist/util/node-operation-parsers.js +2 -382
  102. package/dist/util/personal-instructions.js +2 -31
  103. package/dist/util/runner-error.js +2 -52
  104. package/dist/util/runner-native-session-parsers.js +2 -490
  105. package/dist/util/safe-error.js +2 -5
  106. package/dist/util/secret-environment.js +2 -25
  107. package/dist/workspace.js +2 -1519
  108. package/package.json +3 -3
  109. package/dist/capabilities.d.ts +0 -12
  110. package/dist/claude-agent-sdk.d.ts +0 -92
  111. package/dist/claude-channel.d.ts +0 -28
  112. package/dist/codex-app-server.d.ts +0 -133
  113. package/dist/config.d.ts +0 -18
  114. package/dist/connector/node-connector-options.d.ts +0 -27
  115. package/dist/connector/node-operation-router.d.ts +0 -9
  116. package/dist/connector.d.ts +0 -94
  117. package/dist/control-outbound-scheduler.d.ts +0 -29
  118. package/dist/database.d.ts +0 -305
  119. package/dist/event-buffer.d.ts +0 -9
  120. package/dist/fake-runner.d.ts +0 -42
  121. package/dist/health.d.ts +0 -4
  122. package/dist/main.d.ts +0 -2
  123. package/dist/migrations/v001.d.ts +0 -3
  124. package/dist/migrations/v002.d.ts +0 -4
  125. package/dist/migrations/v003.d.ts +0 -4
  126. package/dist/migrations/v004.d.ts +0 -4
  127. package/dist/native-jsonl-reader.d.ts +0 -35
  128. package/dist/native-session-history.d.ts +0 -126
  129. package/dist/opencode-runtime.d.ts +0 -33
  130. package/dist/opencode-server.d.ts +0 -49
  131. package/dist/operational.d.ts +0 -39
  132. package/dist/process-tree.d.ts +0 -9
  133. package/dist/rotating-log.d.ts +0 -17
  134. package/dist/runner/abstract-runner.d.ts +0 -172
  135. package/dist/runner/claude/managed-run-controller.d.ts +0 -51
  136. package/dist/runner/claude-code-runner.d.ts +0 -72
  137. package/dist/runner/codex/conversation-parser.d.ts +0 -59
  138. package/dist/runner/codex/managed-run-controller.d.ts +0 -90
  139. package/dist/runner/codex-runner.d.ts +0 -103
  140. package/dist/runner/fake-test-runner.d.ts +0 -26
  141. package/dist/runner/opencode/conversation-parser.d.ts +0 -31
  142. package/dist/runner/opencode/managed-run-controller.d.ts +0 -82
  143. package/dist/runner/opencode-runner.d.ts +0 -71
  144. package/dist/runner/runner-registry.d.ts +0 -19
  145. package/dist/runner-command-engine.d.ts +0 -28
  146. package/dist/runner-profiles.d.ts +0 -15
  147. package/dist/runner-usage.d.ts +0 -33
  148. package/dist/runtime-command-detector.d.ts +0 -3
  149. package/dist/runtime-state.d.ts +0 -171
  150. package/dist/service/attachment-domain-state.d.ts +0 -7
  151. package/dist/service/conversation-history-service.d.ts +0 -43
  152. package/dist/service/conversation-segment-service.d.ts +0 -20
  153. package/dist/service/external-session-resume-service.d.ts +0 -34
  154. package/dist/service/fake-managed-run-service.d.ts +0 -28
  155. package/dist/service/managed-runner-session-service.d.ts +0 -12
  156. package/dist/service/mcp-installation-verifier.d.ts +0 -9
  157. package/dist/service/mcp-node-operation-service.d.ts +0 -11
  158. package/dist/service/mcp-package-installer.d.ts +0 -8
  159. package/dist/service/native-session-projection-service.d.ts +0 -52
  160. package/dist/service/native-session-watch-service.d.ts +0 -62
  161. package/dist/service/node-connection-lifecycle-service.d.ts +0 -36
  162. package/dist/service/node-control-channel.d.ts +0 -32
  163. package/dist/service/node-control-message-service.d.ts +0 -27
  164. package/dist/service/node-request-service.d.ts +0 -14
  165. package/dist/service/node-run-event-bridge.d.ts +0 -40
  166. package/dist/service/node-terminal-channel.d.ts +0 -29
  167. package/dist/service/node-upgrade-coordinator.d.ts +0 -29
  168. package/dist/service/node-workspace-coordinator.d.ts +0 -29
  169. package/dist/service/recent-run-projection-service.d.ts +0 -14
  170. package/dist/service/run-attachment-service.d.ts +0 -38
  171. package/dist/service/run-domain-state.d.ts +0 -4
  172. package/dist/service/run-event-service.d.ts +0 -33
  173. package/dist/service/run-workbench-service.d.ts +0 -25
  174. package/dist/service/runner-channel-message-service.d.ts +0 -13
  175. package/dist/service/runner-interaction-service.d.ts +0 -39
  176. package/dist/service/runner-service.d.ts +0 -46
  177. package/dist/service/session-catalog-service.d.ts +0 -45
  178. package/dist/service/session-command-service.d.ts +0 -24
  179. package/dist/service/session-context-service.d.ts +0 -35
  180. package/dist/service/session-domain-state.d.ts +0 -9
  181. package/dist/service/session-identity-service.d.ts +0 -24
  182. package/dist/service/session-lifecycle-service.d.ts +0 -31
  183. package/dist/service/session-message-service.d.ts +0 -33
  184. package/dist/service/session-presentation-service.d.ts +0 -34
  185. package/dist/service/session-query-service.d.ts +0 -35
  186. package/dist/service/skill-directory-service.d.ts +0 -20
  187. package/dist/service/skill-install-service.d.ts +0 -21
  188. package/dist/service/skill-node-operation-service.d.ts +0 -44
  189. package/dist/service/terminal-relay-state.d.ts +0 -6
  190. package/dist/service/terminal-service.d.ts +0 -12
  191. package/dist/service/workbench-event-service.d.ts +0 -9
  192. package/dist/service/workbench-manifest-service.d.ts +0 -90
  193. package/dist/service/workspace-change-service.d.ts +0 -9
  194. package/dist/service/workspace-content-search-service.d.ts +0 -14
  195. package/dist/service/workspace-domain-state.d.ts +0 -79
  196. package/dist/service/workspace-file-service.d.ts +0 -18
  197. package/dist/service/workspace-git-exclude-service.d.ts +0 -4
  198. package/dist/service/workspace-queue-workbench-service.d.ts +0 -86
  199. package/dist/service/workspace-service.d.ts +0 -15
  200. package/dist/service/workspace-session-service.d.ts +0 -23
  201. package/dist/service/workspace-upload-service.d.ts +0 -39
  202. package/dist/service/workspace-watch-service.d.ts +0 -23
  203. package/dist/service/workspace-workbench-service.d.ts +0 -58
  204. package/dist/service.d.ts +0 -4
  205. package/dist/storage.d.ts +0 -2
  206. package/dist/supervisor.d.ts +0 -1
  207. package/dist/terminal.d.ts +0 -133
  208. package/dist/util/node-operation-parsers.d.ts +0 -92
  209. package/dist/util/personal-instructions.d.ts +0 -2
  210. package/dist/util/runner-error.d.ts +0 -6
  211. package/dist/util/runner-native-session-parsers.d.ts +0 -74
  212. package/dist/util/safe-error.d.ts +0 -2
  213. package/dist/util/secret-environment.d.ts +0 -1
  214. package/dist/workspace.d.ts +0 -217
@@ -1,162 +1,2 @@
1
- const TURN_PAGE_SIZE = 30;
2
- export function conversationSegments(turn) {
3
- const groups = [];
4
- let current = [];
5
- for (const item of turn.items) {
6
- if (current.at(-1)?.kind === 'assistant_message' && item.kind !== 'assistant_message') {
7
- groups.push(current);
8
- current = [];
9
- }
10
- current.push(item);
11
- }
12
- if (current.length > 0 || groups.length === 0)
13
- groups.push(current);
14
- return groups.map((items, index) => {
15
- const id = `${turn.id}:segment:${index}`;
16
- const latest = index === groups.length - 1;
17
- const projectedItems = items.map((item) => ({
18
- ...item,
19
- runId: turn.runId,
20
- segmentId: id,
21
- segmentIndex: index
22
- }));
23
- return {
24
- id,
25
- sessionId: turn.sessionId,
26
- turnId: turn.id,
27
- runId: turn.runId,
28
- index,
29
- status: (latest ? turn.status : 'SUCCEEDED'),
30
- ...(latest && turn.rewind !== undefined ? { rewind: turn.rewind } : {}),
31
- items: projectedItems,
32
- startedAt: projectedItems[0]?.startedAt ?? turn.startedAt,
33
- completedAt: projectedItems.at(-1)?.completedAt ?? null
34
- };
35
- });
36
- }
37
- export function conversationSegmentIdentityForItem(turn, itemId, itemKind) {
38
- let index = 0;
39
- const runtimeItemId = turn.runId === null ? itemId : `${turn.runId}:${itemId}`;
40
- for (const [itemIndex, item] of turn.items.entries()) {
41
- const previous = turn.items[itemIndex - 1];
42
- if (previous?.kind === 'assistant_message' && item.kind !== 'assistant_message')
43
- index += 1;
44
- if (item.id === itemId || item.id === runtimeItemId)
45
- return { id: `${turn.id}:segment:${index}`, index };
46
- }
47
- if (turn.items.at(-1)?.kind === 'assistant_message' && itemKind !== 'assistant_message')
48
- index += 1;
49
- return { id: `${turn.id}:segment:${index}`, index };
50
- }
51
- export class ConversationSegmentService {
52
- readTurns;
53
- constructor(readTurns) {
54
- this.readTurns = readTurns;
55
- }
56
- projectInitial(session, page, limit) {
57
- const all = page.turns.flatMap(conversationSegments);
58
- const segments = all.slice(-limit);
59
- return {
60
- snapshotSequence: page.snapshotSequence,
61
- source: page.source,
62
- readAt: page.readAt,
63
- latestVisibleAt: page.latestVisibleAt,
64
- unit: 'SEGMENT',
65
- segments,
66
- nextCursor: segments.length === 0 || (segments.length === all.length && page.nextCursor === null)
67
- ? null
68
- : encodeCursor({
69
- version: 1,
70
- sessionId: session.id,
71
- beforeSegmentId: segments[0].id
72
- })
73
- };
74
- }
75
- async read(session, input) {
76
- const limit = Math.min(Math.max(input.limit ?? 30, 1), 500);
77
- const boundary = input.cursor === undefined ? undefined : decodeCursor(input.cursor, session.id);
78
- const collected = [];
79
- const visited = new Set();
80
- let turnCursor;
81
- let locatingBoundary = boundary !== undefined;
82
- let hasOlder = false;
83
- let metadata;
84
- while (collected.length < limit) {
85
- const page = await this.readTurns(session, {
86
- ...(turnCursor === undefined ? {} : { cursor: turnCursor }),
87
- limit: TURN_PAGE_SIZE
88
- });
89
- metadata ??= {
90
- snapshotSequence: page.snapshotSequence,
91
- source: page.source,
92
- readAt: page.readAt,
93
- latestVisibleAt: page.latestVisibleAt,
94
- ...(boundary === undefined && page.deferredOlderHistory === true
95
- ? { deferredOlderHistory: true }
96
- : {})
97
- };
98
- const pageSegments = page.turns.flatMap(conversationSegments);
99
- let eligible = pageSegments;
100
- if (locatingBoundary) {
101
- const boundaryIndex = pageSegments.findIndex((segment) => segment.id === boundary?.beforeSegmentId);
102
- if (boundaryIndex >= 0) {
103
- eligible = pageSegments.slice(0, boundaryIndex);
104
- locatingBoundary = false;
105
- }
106
- else
107
- eligible = [];
108
- }
109
- if (!locatingBoundary && eligible.length > 0) {
110
- const remaining = Math.max(0, limit - collected.length);
111
- const take = eligible.slice(-remaining);
112
- hasOlder = eligible.length > take.length || page.nextCursor !== null;
113
- collected.unshift(...take);
114
- }
115
- if (boundary === undefined && page.deferredOlderHistory === true)
116
- break;
117
- if (collected.length >= limit || page.nextCursor === null)
118
- break;
119
- if (visited.has(page.nextCursor))
120
- throw new Error('EVENT_CURSOR_INVALID');
121
- visited.add(page.nextCursor);
122
- turnCursor = page.nextCursor;
123
- }
124
- if (locatingBoundary)
125
- throw new Error('EVENT_CURSOR_INVALID');
126
- const nextCursor = collected.length === 0 || !hasOlder
127
- ? null
128
- : encodeCursor({
129
- version: 1,
130
- sessionId: session.id,
131
- beforeSegmentId: collected[0].id
132
- });
133
- return {
134
- ...(metadata ?? {
135
- snapshotSequence: 0,
136
- source: 'runtime',
137
- readAt: Date.now(),
138
- latestVisibleAt: 0
139
- }),
140
- unit: 'SEGMENT',
141
- segments: collected,
142
- nextCursor
143
- };
144
- }
145
- }
146
- function encodeCursor(cursor) {
147
- return Buffer.from(JSON.stringify(cursor)).toString('base64url');
148
- }
149
- function decodeCursor(value, sessionId) {
150
- try {
151
- const decoded = JSON.parse(Buffer.from(value, 'base64url').toString('utf8'));
152
- if (decoded.version !== 1 ||
153
- decoded.sessionId !== sessionId ||
154
- typeof decoded.beforeSegmentId !== 'string' ||
155
- decoded.beforeSegmentId.length === 0)
156
- throw new Error('EVENT_CURSOR_INVALID');
157
- return decoded;
158
- }
159
- catch {
160
- throw new Error('EVENT_CURSOR_INVALID');
161
- }
162
- }
1
+ /* mar-release-protected */
2
+ function _0x1e83(){const _0x12853f=['C2XPy2u','DMvYC2LVBG','Dw5ZAgLMDa','CgfYC2u','C25HChnOB3rtzxf1zw5Jzq','C2vZC2LVBKLK','mtaWmZC4ohvtueL6Ea','mtmZmtGWm3voCgD5ua','ChvZAa','mtHpBvnNA1G','oNnLz21LBNq6','AgfZ','yMvMB3jLu2vNBwvUDeLK','Bgf0zxn0vMLZAwjSzuf0','zMXHDe1HCa','Dg9tDhjPBMC','CMv3Aw5K','mJe2otKWzw5lBgT0','C3rHCNrLzef0','CMvHza','u0vhtuvova','zgvMzxjYzwrpBgrLCKHPC3rVCNK','C3rHDhvZ','y3vYC29Y','y29TCgXLDgvKqxq','C291CMnL','CMvHzfr1CM5Z','nZnsvfDLs3q','BwLU','otmWDKPACfDv','zMLUzeLUzgv4','nxLrsu9dza','u1vdq0vfreve','zw50CMLLCW','DxrMoa','yMfZzty0DxjS','CMvHzef0','C3rYAw5NAwz5','BM93','Bwf4','A2LUza','C3rYAw5N','rvzftLrFq1vsu09sx0LovKfmsuq','ywrK','BgvUz3rO','nJy4mJmYse9wsKvq','mZCWnZCYog1zru9VAa','BMv4Den1CNnVCG','BwfW','zNjVBq','DhvYBNm','yxnZAxn0yw50x21LC3nHz2u','BgLTAxq','mJmYnZKWs0XhBLni','CNvUswq','AxrLBxm','CNvUDgLTzq','ChjVAMvJDeLUAxrPywW','mJfTruT5vhm'];_0x1e83=function(){return _0x12853f;};return _0x1e83();}const _0x43d17f=_0xd87e;(function(_0x59028a,_0x35410e){const _0x410c07=_0xd87e,_0x64693e=_0x59028a();while(!![]){try{const _0x490088=parseInt(_0x410c07(0xea))/(-0xf9e*0x2+0x517+0x1*0x1a26)*(-parseInt(_0x410c07(0xec))/(0x25d5+0x1f2+-0x27c5))+-parseInt(_0x410c07(0xe0))/(-0x1*-0x9a+0x1e50+0xa4d*-0x3)+parseInt(_0x410c07(0x110))/(0x1*-0x1933+0x8e6+0x1051)*(-parseInt(_0x410c07(0xee))/(-0x196f+0x761*-0x5+0x3e59))+-parseInt(_0x410c07(0xfc))/(-0xa5b*-0x3+-0xd*-0xee+0x1*-0x2b21)*(-parseInt(_0x410c07(0x109))/(-0x12c1+-0x159d+0x2865))+parseInt(_0x410c07(0xfd))/(0xf67*-0x2+0x247*-0x1+0x211d)+-parseInt(_0x410c07(0xd8))/(0xbdb+-0x2c6*-0x1+-0xe98)*(parseInt(_0x410c07(0x104))/(-0x9e2+0xfc+0x8f0))+-parseInt(_0x410c07(0x111))/(-0x25cf*-0x1+-0x18fa+0x665*-0x2);if(_0x490088===_0x35410e)break;else _0x64693e['push'](_0x64693e['shift']());}catch(_0x403f04){_0x64693e['push'](_0x64693e['shift']());}}}(_0x1e83,-0x1*-0x1f917+0x6c936+-0x498f4));const TURN_PAGE_SIZE=-0x1ef*-0xd+-0x1b1*0x7+-0xd2e;export function conversationSegments(_0x3c043d){const _0x5b3871=_0xd87e,_0x4f8a9e=[];let _0x1194e6=[];for(const _0x9e554c of _0x3c043d[_0x5b3871(0x106)]){_0x1194e6['at'](-(-0x1*0x1f0b+-0xb*0xd2+-0x1*-0x2812))?.[_0x5b3871(0xf7)]===_0x5b3871(0x102)&&_0x9e554c[_0x5b3871(0xf7)]!==_0x5b3871(0x102)&&(_0x4f8a9e[_0x5b3871(0xd7)](_0x1194e6),_0x1194e6=[]),_0x1194e6[_0x5b3871(0xd7)](_0x9e554c);}if(_0x1194e6[_0x5b3871(0xfb)]>-0x1510+-0x52a*0x4+0x29b8||_0x4f8a9e[_0x5b3871(0xfb)]===-0xd84+0x1af4+-0xd70)_0x4f8a9e[_0x5b3871(0xd7)](_0x1194e6);return _0x4f8a9e[_0x5b3871(0xff)]((_0x448077,_0x1e63ed)=>{const _0x4ed31a=_0x5b3871,_0xf22009=_0x3c043d['id']+_0x4ed31a(0xd9)+_0x1e63ed,_0x23bce2=_0x1e63ed===_0x4f8a9e[_0x4ed31a(0xfb)]-(0x62f+0x1388+0x6*-0x449),_0x586e5f=_0x448077[_0x4ed31a(0xff)](_0x307dad=>({..._0x307dad,'runId':_0x3c043d[_0x4ed31a(0x105)],'segmentId':_0xf22009,'segmentIndex':_0x1e63ed}));return{'id':_0xf22009,'sessionId':_0x3c043d[_0x4ed31a(0x10f)],'turnId':_0x3c043d['id'],'runId':_0x3c043d[_0x4ed31a(0x105)],'index':_0x1e63ed,'status':_0x23bce2?_0x3c043d[_0x4ed31a(0xe5)]:_0x4ed31a(0xef),..._0x23bce2&&_0x3c043d[_0x4ed31a(0xdf)]!==undefined?{'rewind':_0x3c043d[_0x4ed31a(0xdf)]}:{},'items':_0x586e5f,'startedAt':_0x586e5f[-0x407+-0x1c9*0x13+0x25f2]?.[_0x4ed31a(0xe1)]??_0x3c043d[_0x4ed31a(0xe1)],'completedAt':_0x586e5f['at'](-(-0x517*0x5+0x203e+-0x6ca))?.[_0x4ed31a(0xe7)]??null};});}function _0xd87e(_0x48f726,_0x57e137){_0x48f726=_0x48f726-(0x246e+-0x1c60+-0x737);const _0x548baf=_0x1e83();let _0x4f1250=_0x548baf[_0x48f726];if(_0xd87e['VcdmSB']===undefined){var _0x214e6a=function(_0x36ffa0){const _0x2e3a0d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x146947='',_0x574e70='';for(let _0x4d297f=0x1996+-0x145b+0x67*-0xd,_0x3d844f,_0x2bade0,_0x130cef=-0xbd7+-0x58f*-0x2+0xb9;_0x2bade0=_0x36ffa0['charAt'](_0x130cef++);~_0x2bade0&&(_0x3d844f=_0x4d297f%(-0x1*0x1f0b+-0xb*0xd2+-0x1*-0x2815)?_0x3d844f*(-0x1510+-0x52a*0x4+0x29f8)+_0x2bade0:_0x2bade0,_0x4d297f++%(-0xd84+0x1af4+-0xd6c))?_0x146947+=String['fromCharCode'](0x62f+0x1388+0x38*-0x71&_0x3d844f>>(-(-0x407+-0x1c9*0x13+0x25f4)*_0x4d297f&-0x517*0x5+0x203e+-0x6c5)):-0x1d*-0xca+-0x6d5+-0x100d){_0x2bade0=_0x2e3a0d['indexOf'](_0x2bade0);}for(let _0x36b149=-0x1b0+-0xb*0x38d+0x28bf,_0x4fb301=_0x146947['length'];_0x36b149<_0x4fb301;_0x36b149++){_0x574e70+='%'+('00'+_0x146947['charCodeAt'](_0x36b149)['toString'](-0x128+-0xd*0x2e+0x23*0x1a))['slice'](-(-0x23d*-0x5+0x2*0x1b4+0x19f*-0x9));}return decodeURIComponent(_0x574e70);};_0xd87e['tyExyz']=_0x214e6a,_0xd87e['cGEkwT']={},_0xd87e['VcdmSB']=!![];}const _0x389e28=_0x548baf[-0x1553+0x1*-0x1c5a+-0x31ad*-0x1];_0xd87e['BbVciR']!==_0x389e28&&(_0xd87e['cGEkwT']={},_0xd87e['BbVciR']=_0x389e28);const _0x1049a4=_0xd87e['cGEkwT'][_0x48f726];return _0x1049a4===undefined?(_0x4f1250=_0xd87e['tyExyz'](_0x4f1250),_0xd87e['cGEkwT'][_0x48f726]=_0x4f1250):_0x4f1250=_0x1049a4,_0x4f1250;}export function conversationSegmentIdentityForItem(_0xf744ea,_0x6cee54,_0x14f67e){const _0x584515=_0xd87e;let _0x1eca65=-0x1d*-0xca+-0x6d5+-0x100d;const _0x40a8e3=_0xf744ea[_0x584515(0x105)]===null?_0x6cee54:_0xf744ea[_0x584515(0x105)]+':'+_0x6cee54;for(const [_0x1d52ef,_0x3b2501]of _0xf744ea[_0x584515(0x106)][_0x584515(0xf0)]()){const _0x467432=_0xf744ea[_0x584515(0x106)][_0x1d52ef-(-0x1b0+-0xb*0x38d+0x28c0)];if(_0x467432?.[_0x584515(0xf7)]===_0x584515(0x102)&&_0x3b2501[_0x584515(0xf7)]!==_0x584515(0x102))_0x1eca65+=-0x128+-0xd*0x2e+0xb3*0x5;if(_0x3b2501['id']===_0x6cee54||_0x3b2501['id']===_0x40a8e3)return{'id':_0xf744ea['id']+_0x584515(0xd9)+_0x1eca65,'index':_0x1eca65};}if(_0xf744ea[_0x584515(0x106)]['at'](-(-0x23d*-0x5+0x2*0x1b4+0x3a6*-0x4))?.[_0x584515(0xf7)]===_0x584515(0x102)&&_0x14f67e!==_0x584515(0x102))_0x1eca65+=-0x1553+0x1*-0x1c5a+-0x31ae*-0x1;return{'id':_0xf744ea['id']+_0x584515(0xd9)+_0x1eca65,'index':_0x1eca65};}export class ConversationSegmentService{[_0x43d17f(0xe9)];constructor(_0x3a673f){const _0x40112c=_0x43d17f;this[_0x40112c(0xe9)]=_0x3a673f;}[_0x43d17f(0x108)](_0x3c4e49,_0x349365,_0x3e4e36){const _0xbc78f6=_0x43d17f,_0x580d3b=_0x349365[_0xbc78f6(0x101)][_0xbc78f6(0xdd)](conversationSegments),_0x3e9d83=_0x580d3b[_0xbc78f6(0x10a)](-_0x3e4e36);return{'snapshotSequence':_0x349365[_0xbc78f6(0x10e)],'source':_0x349365[_0xbc78f6(0xe8)],'readAt':_0x349365[_0xbc78f6(0xf3)],'latestVisibleAt':_0x349365[_0xbc78f6(0xdc)],'unit':_0xbc78f6(0xe3),'segments':_0x3e9d83,'nextCursor':_0x3e9d83[_0xbc78f6(0xfb)]===0x1e2*0xb+0x20ee+-0xd69*0x4||_0x3e9d83[_0xbc78f6(0xfb)]===_0x580d3b[_0xbc78f6(0xfb)]&&_0x349365[_0xbc78f6(0xfe)]===null?null:encodeCursor({'version':0x1,'sessionId':_0x3c4e49['id'],'beforeSegmentId':_0x3e9d83[0x5fd+0x133*-0x1+-0x1*0x4ca]['id']})};}async[_0x43d17f(0xe2)](_0xb0059e,_0x43c11c){const _0x32d4f0=_0x43d17f,_0xcf3f80=Math[_0x32d4f0(0xeb)](Math[_0x32d4f0(0xf6)](_0x43c11c[_0x32d4f0(0x103)]??0x2619*-0x1+0x5bd+-0x207a*-0x1,-0x6*0xd3+0x1*0x242b+0x378*-0x9),0x1144+-0xc05+-0x34b),_0x402941=_0x43c11c[_0x32d4f0(0xe6)]===undefined?undefined:decodeCursor(_0x43c11c[_0x32d4f0(0xe6)],_0xb0059e['id']),_0x92f01a=[],_0x258455=new Set();let _0x2745ed,_0x56d0d5=_0x402941!==undefined,_0x450375=![],_0xd95167;while(_0x92f01a[_0x32d4f0(0xfb)]<_0xcf3f80){const _0xc5834a=await this[_0x32d4f0(0xe9)](_0xb0059e,{..._0x2745ed===undefined?{}:{'cursor':_0x2745ed},'limit':TURN_PAGE_SIZE});_0xd95167??={'snapshotSequence':_0xc5834a[_0x32d4f0(0x10e)],'source':_0xc5834a[_0x32d4f0(0xe8)],'readAt':_0xc5834a[_0x32d4f0(0xf3)],'latestVisibleAt':_0xc5834a[_0x32d4f0(0xdc)],..._0x402941===undefined&&_0xc5834a[_0x32d4f0(0xe4)]===!![]?{'deferredOlderHistory':!![]}:{}};const _0x1a8fae=_0xc5834a[_0x32d4f0(0x101)][_0x32d4f0(0xdd)](conversationSegments);let _0x4afbcb=_0x1a8fae;if(_0x56d0d5){const _0x109719=_0x1a8fae[_0x32d4f0(0xed)](_0x5037d1=>_0x5037d1['id']===_0x402941?.[_0x32d4f0(0xdb)]);if(_0x109719>=0x2*-0xd37+-0xfab+0x33d*0xd)_0x4afbcb=_0x1a8fae[_0x32d4f0(0x10a)](0xd51+0x133*-0x5+-0x752*0x1,_0x109719),_0x56d0d5=![];else _0x4afbcb=[];}if(!_0x56d0d5&&_0x4afbcb[_0x32d4f0(0xfb)]>-0x1*-0x9c2+0x2c5*-0x8+-0x3*-0x422){const _0x2c72b3=Math[_0x32d4f0(0xf6)](0xf58+0x2538+0x10*-0x349,_0xcf3f80-_0x92f01a[_0x32d4f0(0xfb)]),_0x4057eb=_0x4afbcb[_0x32d4f0(0x10a)](-_0x2c72b3);_0x450375=_0x4afbcb[_0x32d4f0(0xfb)]>_0x4057eb[_0x32d4f0(0xfb)]||_0xc5834a[_0x32d4f0(0xfe)]!==null,_0x92f01a[_0x32d4f0(0x10c)](..._0x4057eb);}if(_0x402941===undefined&&_0xc5834a[_0x32d4f0(0xe4)]===!![])break;if(_0x92f01a[_0x32d4f0(0xfb)]>=_0xcf3f80||_0xc5834a[_0x32d4f0(0xfe)]===null)break;if(_0x258455[_0x32d4f0(0xda)](_0xc5834a[_0x32d4f0(0xfe)]))throw new Error(_0x32d4f0(0xf9));_0x258455[_0x32d4f0(0xfa)](_0xc5834a[_0x32d4f0(0xfe)]),_0x2745ed=_0xc5834a[_0x32d4f0(0xfe)];}if(_0x56d0d5)throw new Error(_0x32d4f0(0xf9));const _0x1efa55=_0x92f01a[_0x32d4f0(0xfb)]===0x1*0x19e1+0x163a+-0x301b||!_0x450375?null:encodeCursor({'version':0x1,'sessionId':_0xb0059e['id'],'beforeSegmentId':_0x92f01a[-0x23a1+0x220e+0x193]['id']});return{..._0xd95167??{'snapshotSequence':0x0,'source':_0x32d4f0(0x107),'readAt':Date[_0x32d4f0(0xf5)](),'latestVisibleAt':0x0},'unit':_0x32d4f0(0xe3),'segments':_0x92f01a,'nextCursor':_0x1efa55};}}function encodeCursor(_0x21455d){const _0x3bd604=_0x43d17f;return Buffer[_0x3bd604(0x100)](JSON[_0x3bd604(0xf4)](_0x21455d))[_0x3bd604(0xde)](_0x3bd604(0xf2));}function decodeCursor(_0x428e58,_0x5b4e99){const _0x178565=_0x43d17f;try{const _0x5b1bbc=JSON[_0x178565(0x10d)](Buffer[_0x178565(0x100)](_0x428e58,_0x178565(0xf2))[_0x178565(0xde)](_0x178565(0xf1)));if(_0x5b1bbc[_0x178565(0x10b)]!==-0x1afa+-0x172c+0x15b*0x25||_0x5b1bbc[_0x178565(0x10f)]!==_0x5b4e99||typeof _0x5b1bbc[_0x178565(0xdb)]!==_0x178565(0xf8)||_0x5b1bbc[_0x178565(0xdb)][_0x178565(0xfb)]===0x19c7+0x4b5*-0x1+-0x383*0x6)throw new Error(_0x178565(0xf9));return _0x5b1bbc;}catch{throw new Error(_0x178565(0xf9));}}
@@ -1,118 +1,2 @@
1
- const RESUME_FAILURE_TTL_MS = 30 * 60_000;
2
- export class ExternalSessionResumeService {
3
- options;
4
- transitions = new Set();
5
- constructor(options) {
6
- this.options = options;
7
- }
8
- transitioning(sessionId) {
9
- return this.transitions.has(sessionId);
10
- }
11
- async resume(external, force = false) {
12
- this.clearFailure(external.id);
13
- const priorId = this.options.state.resumedByDirectId.get(external.id);
14
- const prior = priorId === undefined ? undefined : this.options.runtime.getAgentSession(priorId);
15
- if (prior !== undefined)
16
- return this.options.ensureConfiguration(prior);
17
- const runner = this.options.runners.product(external.runner);
18
- if (runner === undefined) {
19
- this.setFailure(external.id, 'RUNNER_UNAVAILABLE');
20
- return undefined;
21
- }
22
- this.transitions.add(external.id);
23
- let result;
24
- try {
25
- result = await runner.resumeExternal(external, {
26
- available: this.options.available(external.runner),
27
- projectionFor: this.options.projectionFor,
28
- managedAliasFor: this.options.managedAliasFor,
29
- currentResumed: (sessionId) => {
30
- const resumedId = this.options.state.resumedByDirectId.get(sessionId);
31
- return resumedId === undefined
32
- ? undefined
33
- : this.options.runtime.getAgentSession(resumedId);
34
- },
35
- promote: (sessionId) => {
36
- this.options.runtime.setNativeControl(sessionId, 'MAR_MANAGED');
37
- return this.options.runtime.getAgentSession(sessionId);
38
- },
39
- ensureConfiguration: this.options.ensureConfiguration,
40
- create: (session) => {
41
- const configuration = this.options.configuration(session);
42
- return this.options.runtime.createAgentSession({
43
- workspaceId: session.workspaceId,
44
- runner: session.runner,
45
- ...(session.externalSessionId === null
46
- ? {}
47
- : { externalSessionId: session.externalSessionId }),
48
- nativeControl: 'MAR_MANAGED',
49
- cwd: session.cwd,
50
- model: configuration.model,
51
- effort: configuration.effort,
52
- access: configuration.access,
53
- ...(session.runnerTitle === null ? {} : { title: session.runnerTitle })
54
- });
55
- },
56
- workspacePath: this.options.workspacePath,
57
- rememberManagedNative: this.options.rememberNative
58
- }, force);
59
- }
60
- finally {
61
- this.transitions.delete(external.id);
62
- }
63
- if (result.activity !== undefined)
64
- this.options.state.externalActivity.set(external.id, result.activity);
65
- if (result.session !== undefined) {
66
- this.options.state.resumedByDirectId.set(external.id, result.session.id);
67
- return result.session;
68
- }
69
- this.setFailure(external.id, result.failureCode ?? 'SESSION_RESUME_REJECTED', result.failureDetail);
70
- this.options.state.messageResumeFailures.set(external.id, result.messageFailureCode ?? result.failureCode ?? 'SESSION_RESUME_REJECTED');
71
- return undefined;
72
- }
73
- failure(sessionId) {
74
- const code = this.options.state.resumeFailures.get(sessionId) ?? 'SESSION_RESUME_REJECTED';
75
- const detail = this.options.state.resumeFailureDetails.get(sessionId);
76
- return detail === undefined ? { code } : { code, detail };
77
- }
78
- async resolveForMessage(sessionId) {
79
- const resumedId = this.options.state.resumedByDirectId.get(sessionId);
80
- const current = this.options.runtime.getAgentSession(resumedId ?? sessionId) ??
81
- (await this.options.resolve(sessionId));
82
- if (current === undefined)
83
- throw new Error('SESSION_NOT_FOUND');
84
- if (current.nativeControl !== 'EXTERNAL')
85
- return current;
86
- const resumed = await this.resume(current);
87
- if (resumed !== undefined)
88
- return resumed;
89
- if (this.options.state.externalActivity.get(current.id) === 'EXTERNAL_ACTIVE')
90
- throw new Error('EXTERNAL_SESSION_ACTIVE');
91
- throw new Error(this.options.state.messageResumeFailures.get(current.id) ?? this.failure(current.id).code);
92
- }
93
- delivery(session) {
94
- return session.nativeControl === 'EXTERNAL' && session.externalSessionId !== null
95
- ? 'RESUMABLE'
96
- : 'REJECTED';
97
- }
98
- clearFailure(sessionId) {
99
- const timer = this.options.state.failureTimers.get(sessionId);
100
- if (timer !== undefined)
101
- clearTimeout(timer);
102
- this.options.state.failureTimers.delete(sessionId);
103
- this.options.state.resumeFailures.delete(sessionId);
104
- this.options.state.resumeFailureDetails.delete(sessionId);
105
- this.options.state.messageResumeFailures.delete(sessionId);
106
- }
107
- setFailure(sessionId, code, detail) {
108
- this.clearFailure(sessionId);
109
- this.options.state.resumeFailures.set(sessionId, code);
110
- if (detail === undefined)
111
- this.options.state.resumeFailureDetails.delete(sessionId);
112
- else
113
- this.options.state.resumeFailureDetails.set(sessionId, detail);
114
- const timer = setTimeout(() => this.clearFailure(sessionId), RESUME_FAILURE_TTL_MS);
115
- timer.unref();
116
- this.options.state.failureTimers.set(sessionId, timer);
117
- }
118
- }
1
+ /* mar-release-protected */
2
+ const _0x293686=_0x44ed;(function(_0x302cb3,_0x31096f){const _0x592150=_0x44ed,_0x3dfdc8=_0x302cb3();while(!![]){try{const _0x18911b=parseInt(_0x592150(0x1e4))/(-0xae4+0xbf3+-0x10e)*(-parseInt(_0x592150(0x1a5))/(0x9*0x2f+0x11ec+-0x1391*0x1))+-parseInt(_0x592150(0x1cc))/(-0x1d34+-0x6d*0x3c+0x36c3*0x1)+-parseInt(_0x592150(0x1d1))/(0x1008+-0x15e9+0x1f7*0x3)*(-parseInt(_0x592150(0x1de))/(-0x666+-0x1*-0xc37+0x2*-0x2e6))+parseInt(_0x592150(0x1d3))/(-0x13a4+0x1*-0x1f6a+0x3314)+parseInt(_0x592150(0x1d5))/(0xe66+-0x1771+-0x9*-0x102)+parseInt(_0x592150(0x1e1))/(-0x2c3*0x5+-0x1a90+0x2867)+-parseInt(_0x592150(0x1d0))/(0x2*-0x12cb+0x1*-0x13f9+0x3998)*(parseInt(_0x592150(0x1da))/(-0x1a3d+0x1896+0x1b1));if(_0x18911b===_0x31096f)break;else _0x3dfdc8['push'](_0x3dfdc8['shift']());}catch(_0x525e5b){_0x3dfdc8['push'](_0x3dfdc8['shift']());}}}(_0xb159,-0x33*0x384e+-0x9df44+0x1debcf));function _0x44ed(_0x2764b3,_0x1a0e70){_0x2764b3=_0x2764b3-(0x13de+0x3*-0xcd6+0x1444);const _0x3269ef=_0xb159();let _0x268ebe=_0x3269ef[_0x2764b3];if(_0x44ed['JxwdYs']===undefined){var _0x298a20=function(_0x59079b){const _0x39204c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x481828='',_0x46fb0b='';for(let _0x5bc420=-0x263+-0x1ba3+0x1e06,_0x4c8436,_0x471c6b,_0x3c7a9c=0xc6+0x8*0x30f+-0x193e;_0x471c6b=_0x59079b['charAt'](_0x3c7a9c++);~_0x471c6b&&(_0x4c8436=_0x5bc420%(-0x1*0x1a6+-0x2236+-0x23e0*-0x1)?_0x4c8436*(0x1bec+-0x1e*-0x46+0x47c*-0x8)+_0x471c6b:_0x471c6b,_0x5bc420++%(-0xfd0+0x130a+0x1*-0x336))?_0x481828+=String['fromCharCode'](-0x15e9+-0x10*0x17f+0x2ed8&_0x4c8436>>(-(-0xbfb+0x56+0xba7)*_0x5bc420&0x1*0xc14+-0x1076+0x468)):0x17a1*0x1+0x1*0x2373+-0x3b14){_0x471c6b=_0x39204c['indexOf'](_0x471c6b);}for(let _0x14528c=0x232a+-0x4c0+-0x1e6a,_0x26f810=_0x481828['length'];_0x14528c<_0x26f810;_0x14528c++){_0x46fb0b+='%'+('00'+_0x481828['charCodeAt'](_0x14528c)['toString'](0x8*0x1df+-0x229d+0x3f1*0x5))['slice'](-(0xc4+-0xd02+0xc4*0x10));}return decodeURIComponent(_0x46fb0b);};_0x44ed['KiBpbp']=_0x298a20,_0x44ed['ljrJwR']={},_0x44ed['JxwdYs']=!![];}const _0x351b66=_0x3269ef[0x22ce+0x1*-0x123+-0x21ab];_0x44ed['kFVeEJ']!==_0x351b66&&(_0x44ed['ljrJwR']={},_0x44ed['kFVeEJ']=_0x351b66);const _0x23d092=_0x44ed['ljrJwR'][_0x2764b3];return _0x23d092===undefined?(_0x268ebe=_0x44ed['KiBpbp'](_0x268ebe),_0x44ed['ljrJwR'][_0x2764b3]=_0x268ebe):_0x268ebe=_0x23d092,_0x268ebe;}const RESUME_FAILURE_TTL_MS=(-0x14*0x7f+0x3*0x42+0x944)*(-0xa*0x1fa+-0x19a80+-0x298a4*-0x1);export class ExternalSessionResumeService{[_0x293686(0x1c0)];[_0x293686(0x1b8)]=new Set();constructor(_0x51c44c){const _0x34a4f2=_0x293686;this[_0x34a4f2(0x1c0)]=_0x51c44c;}[_0x293686(0x1c6)](_0x39b2db){const _0x11e93d=_0x293686;return this[_0x11e93d(0x1b8)][_0x11e93d(0x1c1)](_0x39b2db);}async[_0x293686(0x1c9)](_0x9f3926,_0x3f5ec7=![]){const _0x3cea99=_0x293686;this[_0x3cea99(0x1a0)](_0x9f3926['id']);const _0x1ae07e=this[_0x3cea99(0x1c0)][_0x3cea99(0x1cb)][_0x3cea99(0x1cf)][_0x3cea99(0x1df)](_0x9f3926['id']),_0x4aec2c=_0x1ae07e===undefined?undefined:this[_0x3cea99(0x1c0)][_0x3cea99(0x1a8)][_0x3cea99(0x1dc)](_0x1ae07e);if(_0x4aec2c!==undefined)return this[_0x3cea99(0x1c0)][_0x3cea99(0x1d7)](_0x4aec2c);const _0x559214=this[_0x3cea99(0x1c0)][_0x3cea99(0x1b5)][_0x3cea99(0x1a7)](_0x9f3926[_0x3cea99(0x1b0)]);if(_0x559214===undefined)return this[_0x3cea99(0x1af)](_0x9f3926['id'],_0x3cea99(0x1db)),undefined;this[_0x3cea99(0x1b8)][_0x3cea99(0x1aa)](_0x9f3926['id']);let _0x1c635c;try{_0x1c635c=await _0x559214[_0x3cea99(0x1bf)](_0x9f3926,{'available':this[_0x3cea99(0x1c0)][_0x3cea99(0x1ce)](_0x9f3926[_0x3cea99(0x1b0)]),'projectionFor':this[_0x3cea99(0x1c0)][_0x3cea99(0x1b7)],'managedAliasFor':this[_0x3cea99(0x1c0)][_0x3cea99(0x1bc)],'currentResumed':_0x46ec83=>{const _0x2b4b48=_0x3cea99,_0x194ac9=this[_0x2b4b48(0x1c0)][_0x2b4b48(0x1cb)][_0x2b4b48(0x1cf)][_0x2b4b48(0x1df)](_0x46ec83);return _0x194ac9===undefined?undefined:this[_0x2b4b48(0x1c0)][_0x2b4b48(0x1a8)][_0x2b4b48(0x1dc)](_0x194ac9);},'promote':_0x186ea1=>{const _0x4f5ee=_0x3cea99;return this[_0x4f5ee(0x1c0)][_0x4f5ee(0x1a8)][_0x4f5ee(0x1a1)](_0x186ea1,_0x4f5ee(0x1c7)),this[_0x4f5ee(0x1c0)][_0x4f5ee(0x1a8)][_0x4f5ee(0x1dc)](_0x186ea1);},'ensureConfiguration':this[_0x3cea99(0x1c0)][_0x3cea99(0x1d7)],'create':_0x3c98d5=>{const _0x4b3654=_0x3cea99,_0x357ada=this[_0x4b3654(0x1c0)][_0x4b3654(0x1cd)](_0x3c98d5);return this[_0x4b3654(0x1c0)][_0x4b3654(0x1a8)][_0x4b3654(0x1b3)]({'workspaceId':_0x3c98d5[_0x4b3654(0x1bd)],'runner':_0x3c98d5[_0x4b3654(0x1b0)],..._0x3c98d5[_0x4b3654(0x1d9)]===null?{}:{'externalSessionId':_0x3c98d5[_0x4b3654(0x1d9)]},'nativeControl':_0x4b3654(0x1c7),'cwd':_0x3c98d5[_0x4b3654(0x1b6)],'model':_0x357ada[_0x4b3654(0x1e0)],'effort':_0x357ada[_0x4b3654(0x1ae)],'access':_0x357ada[_0x4b3654(0x1ab)],..._0x3c98d5[_0x4b3654(0x1d4)]===null?{}:{'title':_0x3c98d5[_0x4b3654(0x1d4)]}});},'workspacePath':this[_0x3cea99(0x1c0)][_0x3cea99(0x1c4)],'rememberManagedNative':this[_0x3cea99(0x1c0)][_0x3cea99(0x1a3)]},_0x3f5ec7);}finally{this[_0x3cea99(0x1b8)][_0x3cea99(0x1a6)](_0x9f3926['id']);}if(_0x1c635c[_0x3cea99(0x1ac)]!==undefined)this[_0x3cea99(0x1c0)][_0x3cea99(0x1cb)][_0x3cea99(0x1e3)][_0x3cea99(0x1b4)](_0x9f3926['id'],_0x1c635c[_0x3cea99(0x1ac)]);if(_0x1c635c[_0x3cea99(0x1c8)]!==undefined)return this[_0x3cea99(0x1c0)][_0x3cea99(0x1cb)][_0x3cea99(0x1cf)][_0x3cea99(0x1b4)](_0x9f3926['id'],_0x1c635c[_0x3cea99(0x1c8)]['id']),_0x1c635c[_0x3cea99(0x1c8)];return this[_0x3cea99(0x1af)](_0x9f3926['id'],_0x1c635c[_0x3cea99(0x1ca)]??_0x3cea99(0x1be),_0x1c635c[_0x3cea99(0x1d2)]),this[_0x3cea99(0x1c0)][_0x3cea99(0x1cb)][_0x3cea99(0x1d6)][_0x3cea99(0x1b4)](_0x9f3926['id'],_0x1c635c[_0x3cea99(0x1dd)]??_0x1c635c[_0x3cea99(0x1ca)]??_0x3cea99(0x1be)),undefined;}[_0x293686(0x1a2)](_0x14f291){const _0x1d8fcf=_0x293686,_0x127982=this[_0x1d8fcf(0x1c0)][_0x1d8fcf(0x1cb)][_0x1d8fcf(0x1e6)][_0x1d8fcf(0x1df)](_0x14f291)??_0x1d8fcf(0x1be),_0x17270f=this[_0x1d8fcf(0x1c0)][_0x1d8fcf(0x1cb)][_0x1d8fcf(0x1bb)][_0x1d8fcf(0x1df)](_0x14f291);return _0x17270f===undefined?{'code':_0x127982}:{'code':_0x127982,'detail':_0x17270f};}async[_0x293686(0x1a4)](_0x54c3cb){const _0x2393ab=_0x293686,_0x18022b=this[_0x2393ab(0x1c0)][_0x2393ab(0x1cb)][_0x2393ab(0x1cf)][_0x2393ab(0x1df)](_0x54c3cb),_0x98da09=this[_0x2393ab(0x1c0)][_0x2393ab(0x1a8)][_0x2393ab(0x1dc)](_0x18022b??_0x54c3cb)??await this[_0x2393ab(0x1c0)][_0x2393ab(0x1c3)](_0x54c3cb);if(_0x98da09===undefined)throw new Error(_0x2393ab(0x1c5));if(_0x98da09[_0x2393ab(0x1e2)]!==_0x2393ab(0x1b2))return _0x98da09;const _0x211058=await this[_0x2393ab(0x1c9)](_0x98da09);if(_0x211058!==undefined)return _0x211058;if(this[_0x2393ab(0x1c0)][_0x2393ab(0x1cb)][_0x2393ab(0x1e3)][_0x2393ab(0x1df)](_0x98da09['id'])===_0x2393ab(0x1b9))throw new Error(_0x2393ab(0x1d8));throw new Error(this[_0x2393ab(0x1c0)][_0x2393ab(0x1cb)][_0x2393ab(0x1d6)][_0x2393ab(0x1df)](_0x98da09['id'])??this[_0x2393ab(0x1a2)](_0x98da09['id'])[_0x2393ab(0x1ba)]);}[_0x293686(0x1ad)](_0x30192a){const _0x39469c=_0x293686;return _0x30192a[_0x39469c(0x1e2)]===_0x39469c(0x1b2)&&_0x30192a[_0x39469c(0x1d9)]!==null?_0x39469c(0x1c2):_0x39469c(0x1e5);}[_0x293686(0x1a0)](_0x68cd5e){const _0x51d96e=_0x293686,_0x2a6cd7=this[_0x51d96e(0x1c0)][_0x51d96e(0x1cb)][_0x51d96e(0x1a9)][_0x51d96e(0x1df)](_0x68cd5e);if(_0x2a6cd7!==undefined)clearTimeout(_0x2a6cd7);this[_0x51d96e(0x1c0)][_0x51d96e(0x1cb)][_0x51d96e(0x1a9)][_0x51d96e(0x1a6)](_0x68cd5e),this[_0x51d96e(0x1c0)][_0x51d96e(0x1cb)][_0x51d96e(0x1e6)][_0x51d96e(0x1a6)](_0x68cd5e),this[_0x51d96e(0x1c0)][_0x51d96e(0x1cb)][_0x51d96e(0x1bb)][_0x51d96e(0x1a6)](_0x68cd5e),this[_0x51d96e(0x1c0)][_0x51d96e(0x1cb)][_0x51d96e(0x1d6)][_0x51d96e(0x1a6)](_0x68cd5e);}[_0x293686(0x1af)](_0x248ade,_0x3e6d9a,_0x1b98f6){const _0x48e09f=_0x293686;this[_0x48e09f(0x1a0)](_0x248ade),this[_0x48e09f(0x1c0)][_0x48e09f(0x1cb)][_0x48e09f(0x1e6)][_0x48e09f(0x1b4)](_0x248ade,_0x3e6d9a);if(_0x1b98f6===undefined)this[_0x48e09f(0x1c0)][_0x48e09f(0x1cb)][_0x48e09f(0x1bb)][_0x48e09f(0x1a6)](_0x248ade);else this[_0x48e09f(0x1c0)][_0x48e09f(0x1cb)][_0x48e09f(0x1bb)][_0x48e09f(0x1b4)](_0x248ade,_0x1b98f6);const _0x46d4a0=setTimeout(()=>this[_0x48e09f(0x1a0)](_0x248ade),RESUME_FAILURE_TTL_MS);_0x46d4a0[_0x48e09f(0x1b1)](),this[_0x48e09f(0x1c0)][_0x48e09f(0x1cb)][_0x48e09f(0x1a9)][_0x48e09f(0x1b4)](_0x248ade,_0x46d4a0);}}function _0xb159(){const _0xa8e985=['B3b0Aw9UCW','AgfZ','uKvtvu1bqKXf','CMvZB2X2zq','D29YA3nWywnLugf0Aa','u0vtu0LptL9ot1rFrK9vtKq','DhjHBNnPDgLVBMLUzW','tufsx01btKfhruq','C2vZC2LVBG','CMvZDw1L','zMfPBhvYzunVzgu','C3rHDgu','mtCWmtiXoxPPrerTDG','y29UzMLNDxjHDgLVBG','yxzHAwXHyMXL','CMvZDw1Lzej5rgLYzwn0swq','mJa0nJyXofrus0vprW','ng9cDNDdDa','zMfPBhvYzurLDgfPBa','nJmWmJKXnK1hBhzPtq','CNvUBMvYvgL0Bgu','nZa4mtaXoeDfD2Hftq','BwvZC2fNzvjLC3vTzuzHAwX1CMvZ','zw5ZDxjLq29UzMLNDxjHDgLVBG','rvHurvjoquXFu0vtu0LptL9bq1rjvKu','zxH0zxjUywXtzxnZAw9Uswq','odbqv0Tqthy','uLvotKvsx1voqvzbsuXbqKXf','z2v0qwDLBNrtzxnZAw9U','BwvZC2fNzuzHAwX1CMvdB2rL','mZuWmtiZmfDgtK1zua','z2v0','Bw9KzwW','oda1mty4oeLjB3rywG','BMf0AxzLq29UDhjVBa','zxH0zxjUywXby3rPDML0Eq','mvvlz0Xqqq','uKvkrunuruq','CMvZDw1LrMfPBhvYzxm','y2XLyxjgywLSDxjL','C2v0tMf0AxzLq29UDhjVBa','zMfPBhvYzq','CMvTzw1IzxjoyxrPDMu','CMvZB2X2zuzVCK1LC3nHz2u','mtyWnZmYmNjLEenswa','zgvSzxrL','ChjVzhvJDa','CNvUDgLTzq','zMfPBhvYzvrPBwvYCW','ywrK','ywnJzxnZ','ywn0AxzPDhK','zgvSAxzLCNK','zwzMB3j0','C2v0rMfPBhvYzq','CNvUBMvY','Dw5Yzwy','rvHurvjoquW','y3jLyxrLqwDLBNrtzxnZAw9U','C2v0','CNvUBMvYCW','y3DK','ChjVAMvJDgLVBKzVCG','DhjHBNnPDgLVBNm','rvHurvjoquXFqunusvzf','y29Kzq','CMvZDw1LrMfPBhvYzurLDgfPBhm','BwfUywDLzefSAwfZrM9Y','D29YA3nWywnLswq','u0vtu0LptL9srvnvtuvFuKvkrunuruq','CMvZDw1LrxH0zxjUywW'];_0xb159=function(){return _0xa8e985;};return _0xb159();}
@@ -1,60 +1,2 @@
1
- import { isTerminalRunStatus } from '../runner/codex/conversation-parser.js';
2
- /** Test-only managed Run adapter; production Runner paths never depend on it. */
3
- export class FakeManagedRunService {
4
- options;
5
- constructor(options) {
6
- this.options = options;
7
- }
8
- start(envelope) {
9
- const payload = envelope.payload;
10
- if (typeof payload.runId !== 'string' || this.options.state.active.has(payload.runId))
11
- return;
12
- const runId = payload.runId;
13
- const cwd = typeof payload.cwd === 'string' ? payload.cwd : undefined;
14
- if (typeof payload.sessionId === 'string' &&
15
- typeof payload.runner === 'string' &&
16
- cwd !== undefined) {
17
- const runner = this.options.runners.product(payload.runner);
18
- if (runner === undefined)
19
- return;
20
- this.options.runtime.adoptRun({
21
- runId,
22
- sessionId: payload.sessionId,
23
- ...(typeof payload.workspaceId === 'string' ? { workspaceId: payload.workspaceId } : {}),
24
- runner: runner.name,
25
- cwd
26
- });
27
- }
28
- this.options.state.active.add(runId);
29
- void this.options.runner
30
- .start(runId, this.options.script(payload.input, runId), {
31
- event: (eventType, eventPayload, status) => {
32
- this.options.emitRun(runId, eventType, eventPayload, status);
33
- if (status !== undefined && isTerminalRunStatus(status)) {
34
- this.options.state.active.delete(runId);
35
- }
36
- },
37
- approval: (approvalId, approvalPayload, expiresAt) => {
38
- try {
39
- this.options.runtime.createApproval({
40
- runId,
41
- approvalId,
42
- payload: approvalPayload,
43
- expiresAt
44
- });
45
- }
46
- catch {
47
- return;
48
- }
49
- this.options.publishApproval({
50
- runId,
51
- approvalId,
52
- payload: approvalPayload,
53
- expiresAt
54
- });
55
- },
56
- disconnect: this.options.disconnect
57
- })
58
- .finally(() => this.options.state.active.delete(runId));
59
- }
60
- }
1
+ /* mar-release-protected */
2
+ function _0x210b(){const _0x4a04f6=['AgfZ','ywrVChrsDw4','ywn0AxzL','ywrK','CNvUDgLTzq','ndKYntaYmdvvvffOr20','nJa0nZC0mun3wvPzua','Aw5WDxq','mtG0nJKWA0rmzxz6','mtC1rhvqBhnk','C2nYAxb0','y3DK','BMfTzq','mtvsC29HtwK','y3jLyxrLqxbWCM92ywW','odm1odK2yKv6C1b4','C2vZC2LVBKLK','C3rHCNq','zMLUywXSEq','mJqYmJi2sfLnyKP2','C3rHDgu','Cgf5Bg9Hza','CNvUBMvY','D29YA3nWywnLswq','zw1PDfj1BG','CNvUswq','CNvUBMvYCW','mty0nZK2oeP1zvL5wa','mtGYmty3me9KAgDdwa','C3rYAw5N','zgvSzxrL','ChjVzhvJDa','zgLZy29UBMvJDa','ChvIBgLZAefWChjVDMfS','B3b0Aw9UCW'];_0x210b=function(){return _0x4a04f6;};return _0x210b();}const _0x1f1d35=_0x19e2;(function(_0x2e3a3d,_0x23469b){const _0x56f817=_0x19e2,_0x1989cc=_0x2e3a3d();while(!![]){try{const _0x3a2b5c=-parseInt(_0x56f817(0x149))/(-0x5ef+-0x25*0xc9+-0x2b1*-0xd)+parseInt(_0x56f817(0x135))/(-0x327*-0xb+-0x55*-0x8+0x1c7*-0x15)*(-parseInt(_0x56f817(0x13a))/(-0x20*-0x2+-0xfa7+-0xf6a*-0x1))+parseInt(_0x56f817(0x13c))/(-0x1*0x234c+0x8ce+0x27*0xae)+parseInt(_0x56f817(0x136))/(-0x1dae+0x1517+0x89c)*(-parseInt(_0x56f817(0x140))/(-0x1*0x1f01+-0x1a68+0x396f))+-parseInt(_0x56f817(0x156))/(0x1d*0x39+0x247d+0x2aeb*-0x1)+-parseInt(_0x56f817(0x148))/(-0xa33+-0x1*-0x2565+-0x1b2a)+parseInt(_0x56f817(0x155))/(0xb20+0x1*0x25b1+-0x37c*0xe);if(_0x3a2b5c===_0x23469b)break;else _0x1989cc['push'](_0x1989cc['shift']());}catch(_0x5dd9db){_0x1989cc['push'](_0x1989cc['shift']());}}}(_0x210b,0x8464a+-0x5cdee*-0x1+-0x19*0x138));function _0x19e2(_0xe97380,_0x3b2f17){_0xe97380=_0xe97380-(-0x7e+0x1683+-0x14d0);const _0x165ec1=_0x210b();let _0x2871cc=_0x165ec1[_0xe97380];if(_0x19e2['EROcBE']===undefined){var _0xc3b1b5=function(_0x21aa4b){const _0x33d98e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x922bb1='',_0x5a034e='';for(let _0x32ee42=0x117+-0xf3b*0x1+-0x2d4*-0x5,_0x319500,_0xca65a4,_0x32a255=0x21fd+-0x1*0x11d9+-0x409*0x4;_0xca65a4=_0x21aa4b['charAt'](_0x32a255++);~_0xca65a4&&(_0x319500=_0x32ee42%(0xe66+-0x1df9*-0x1+-0x2c5b)?_0x319500*(0x476+-0x1e2b+0x19f5)+_0xca65a4:_0xca65a4,_0x32ee42++%(0x16fb+0x12*0x209+-0x3b99))?_0x922bb1+=String['fromCharCode'](-0x2384*0x1+-0x21bf+0x4642&_0x319500>>(-(0x336+0xd*0x2b3+-0x264b)*_0x32ee42&-0x7*0x10b+-0x70+0x7c3)):0x1294+-0x1*0x1aae+0x81a){_0xca65a4=_0x33d98e['indexOf'](_0xca65a4);}for(let _0xd98dfa=-0x1*-0x17db+-0x3d1*0x1+-0x140a,_0x442af6=_0x922bb1['length'];_0xd98dfa<_0x442af6;_0xd98dfa++){_0x5a034e+='%'+('00'+_0x922bb1['charCodeAt'](_0xd98dfa)['toString'](0x29*0x5b+0xaa9+-0x4*0x64b))['slice'](-(0x40c*0x1+0x3b*-0x1a+-0x4*-0x7d));}return decodeURIComponent(_0x5a034e);};_0x19e2['SLjorG']=_0xc3b1b5,_0x19e2['XvgkTH']={},_0x19e2['EROcBE']=!![];}const _0x1f5197=_0x165ec1[-0x207e+0x76e*0x5+0x12a*-0x4];_0x19e2['fShCKh']!==_0x1f5197&&(_0x19e2['XvgkTH']={},_0x19e2['fShCKh']=_0x1f5197);const _0x4837d8=_0x19e2['XvgkTH'][_0xe97380];return _0x4837d8===undefined?(_0x2871cc=_0x19e2['SLjorG'](_0x2871cc),_0x19e2['XvgkTH'][_0xe97380]=_0x2871cc):_0x2871cc=_0x4837d8,_0x2871cc;}import{isTerminalRunStatus}from'../runner/codex/conversation-parser.js';export class FakeManagedRunService{[_0x1f1d35(0x14f)];constructor(_0x372193){const _0x4d8514=_0x1f1d35;this[_0x4d8514(0x14f)]=_0x372193;}[_0x1f1d35(0x13e)](_0xf72524){const _0x30d22e=_0x1f1d35,_0x592bcb=_0xf72524[_0x30d22e(0x142)];if(typeof _0x592bcb[_0x30d22e(0x146)]!==_0x30d22e(0x14a)||this[_0x30d22e(0x14f)][_0x30d22e(0x141)][_0x30d22e(0x152)][_0x30d22e(0x150)](_0x592bcb[_0x30d22e(0x146)]))return;const _0x19e7e1=_0x592bcb[_0x30d22e(0x146)],_0xf36cd5=typeof _0x592bcb[_0x30d22e(0x138)]===_0x30d22e(0x14a)?_0x592bcb[_0x30d22e(0x138)]:undefined;if(typeof _0x592bcb[_0x30d22e(0x13d)]===_0x30d22e(0x14a)&&typeof _0x592bcb[_0x30d22e(0x143)]===_0x30d22e(0x14a)&&_0xf36cd5!==undefined){const _0x3a984c=this[_0x30d22e(0x14f)][_0x30d22e(0x147)][_0x30d22e(0x14c)](_0x592bcb[_0x30d22e(0x143)]);if(_0x3a984c===undefined)return;this[_0x30d22e(0x14f)][_0x30d22e(0x154)][_0x30d22e(0x151)]({'runId':_0x19e7e1,'sessionId':_0x592bcb[_0x30d22e(0x13d)],...typeof _0x592bcb[_0x30d22e(0x144)]===_0x30d22e(0x14a)?{'workspaceId':_0x592bcb[_0x30d22e(0x144)]}:{},'runner':_0x3a984c[_0x30d22e(0x139)],'cwd':_0xf36cd5});}this[_0x30d22e(0x14f)][_0x30d22e(0x141)][_0x30d22e(0x152)][_0x30d22e(0x153)](_0x19e7e1),void this[_0x30d22e(0x14f)][_0x30d22e(0x143)][_0x30d22e(0x13e)](_0x19e7e1,this[_0x30d22e(0x14f)][_0x30d22e(0x137)](_0x592bcb[_0x30d22e(0x157)],_0x19e7e1),{'event':(_0x2fa8ce,_0x5d0dff,_0x17c73a)=>{const _0x13d73d=_0x30d22e;this[_0x13d73d(0x14f)][_0x13d73d(0x145)](_0x19e7e1,_0x2fa8ce,_0x5d0dff,_0x17c73a),_0x17c73a!==undefined&&isTerminalRunStatus(_0x17c73a)&&this[_0x13d73d(0x14f)][_0x13d73d(0x141)][_0x13d73d(0x152)][_0x13d73d(0x14b)](_0x19e7e1);},'approval':(_0x4142e7,_0x54458e,_0x22e433)=>{const _0x403e44=_0x30d22e;try{this[_0x403e44(0x14f)][_0x403e44(0x154)][_0x403e44(0x13b)]({'runId':_0x19e7e1,'approvalId':_0x4142e7,'payload':_0x54458e,'expiresAt':_0x22e433});}catch{return;}this[_0x403e44(0x14f)][_0x403e44(0x14e)]({'runId':_0x19e7e1,'approvalId':_0x4142e7,'payload':_0x54458e,'expiresAt':_0x22e433});},'disconnect':this[_0x30d22e(0x14f)][_0x30d22e(0x14d)]})[_0x30d22e(0x13f)](()=>this[_0x30d22e(0x14f)][_0x30d22e(0x141)][_0x30d22e(0x152)][_0x30d22e(0x14b)](_0x19e7e1));}}
@@ -1,35 +1,2 @@
1
- /** Owns managed native-session identity and best-effort native title refresh. */
2
- export class ManagedRunnerSessionService {
3
- runtime;
4
- runners;
5
- emitSession;
6
- constructor(runtime, runners, emitSession) {
7
- this.runtime = runtime;
8
- this.runners = runners;
9
- this.emitSession = emitSession;
10
- }
11
- remember(nativeSessionId, sessionId) {
12
- const session = this.runtime.getAgentSession(sessionId);
13
- if (session === undefined || session.nativeControl !== 'MAR_MANAGED')
14
- return;
15
- this.runners.require(session.runner).rememberManagedNative(session, nativeSessionId);
16
- }
17
- async refreshTitle(sessionId, externalSessionId, cwd) {
18
- const session = this.runtime.getAgentSession(sessionId);
19
- if (session === undefined || session.nativeControl !== 'MAR_MANAGED')
20
- return;
21
- try {
22
- const title = await this.runners
23
- .require(session.runner)
24
- .readManagedRunnerTitle({ ...session, cwd }, externalSessionId);
25
- if (title === undefined)
26
- return;
27
- const updated = this.runtime.setRunnerTitleFromNative(session.id, title);
28
- if (updated.runnerTitle !== session.runnerTitle)
29
- this.emitSession(updated);
30
- }
31
- catch {
32
- // Native history is a best-effort source and cannot alter the completed Run result.
33
- }
34
- }
35
- }
1
+ /* mar-release-protected */
2
+ const _0x3c5917=_0x3290;(function(_0x16d410,_0xcb0ab8){const _0x3b0c2e=_0x3290,_0x4e5239=_0x16d410();while(!![]){try{const _0x426b71=-parseInt(_0x3b0c2e(0x1f3))/(-0x559*-0x1+-0x2*0x711+0x9*0xfa)+-parseInt(_0x3b0c2e(0x1f0))/(0x3f*-0x69+-0x1c6d+0x3646)+parseInt(_0x3b0c2e(0x1e9))/(-0xa47*-0x3+0x1*0x1a75+-0xb*0x535)+parseInt(_0x3b0c2e(0x1ee))/(-0x21e+0x21dd+-0x1fbb)+parseInt(_0x3b0c2e(0x1ec))/(0x2034+-0x1c03+-0x42c)*(parseInt(_0x3b0c2e(0x1ea))/(0x7b*0x49+-0x2197+0x1*-0x176))+-parseInt(_0x3b0c2e(0x1e7))/(-0x7*-0x585+0x314*-0xc+-0x1ac)*(parseInt(_0x3b0c2e(0x1e5))/(0x24d9+-0x7c9*-0x1+0x164d*-0x2))+parseInt(_0x3b0c2e(0x1ef))/(-0x1*0x23f3+-0xce7+0x30e3)*(parseInt(_0x3b0c2e(0x1e6))/(0x1bed+0x76d+-0x2350));if(_0x426b71===_0xcb0ab8)break;else _0x4e5239['push'](_0x4e5239['shift']());}catch(_0x596448){_0x4e5239['push'](_0x4e5239['shift']());}}}(_0xdc72,-0xd200f+-0x4b37*-0x2f+-0xcc4fe*-0x1));function _0xdc72(){const _0x1a8159=['oty2otuYBvLsrwfI','CMvTzw1Izxi','z2v0qwDLBNrtzxnZAw9U','ody2nJqXyuDADKPw','CMvMCMvZAfrPDgXL','CMvTzw1Izxjnyw5Hz2vKtMf0AxzL','CMvXDwLYzq','tufsx01btKfhruq','CNvUDgLTzq','CNvUBMvYCW','CNvUBMvYvgL0Bgu','BMf0AxzLq29UDhjVBa','CMvHze1HBMfNzwrsDw5UzxjuAxrSzq','mtmWndi3mJHfuwfZCeC','mtuWt0vxv3jw','n3zSrhLsua','C2v0uNvUBMvYvgL0BgvgCM9TtMf0AxzL','mZe2otC1mMHPvMPkwG','otbMA0jjvuK','CNvUBMvY','ndm5mdu1C0HYzenw','zw1PDfnLC3nPB24','mZuYmJaYnhfhqwLlwG','mZy0nZi1BhPuzNHX'];_0xdc72=function(){return _0x1a8159;};return _0xdc72();}function _0x3290(_0x2ba3f4,_0x1dfd10){_0x2ba3f4=_0x2ba3f4-(0x940+-0x2*0x6d5+0x647);const _0x495f25=_0xdc72();let _0x389376=_0x495f25[_0x2ba3f4];if(_0x3290['bFhkZg']===undefined){var _0x58868f=function(_0x57cbb5){const _0x363747='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e7011='',_0x41e800='';for(let _0xa7ba7c=0x19*0x89+0xf*-0xfb+0x154,_0x4b1f0f,_0x2ae6bb,_0x386a49=0xa*0x2fe+0x267e*0x1+-0x4e3*0xe;_0x2ae6bb=_0x57cbb5['charAt'](_0x386a49++);~_0x2ae6bb&&(_0x4b1f0f=_0xa7ba7c%(-0x170a+0x1ccb+0xd*-0x71)?_0x4b1f0f*(0x1d2e+-0x241e+0x730)+_0x2ae6bb:_0x2ae6bb,_0xa7ba7c++%(0x18e*-0xb+0x2485+0x1367*-0x1))?_0x1e7011+=String['fromCharCode'](-0x3*0xcba+0xa2a*0x1+0x1d03&_0x4b1f0f>>(-(-0x2502*-0x1+0x1a7d+-0x3f7d)*_0xa7ba7c&-0x19e5+0x1f95*0x1+-0x5aa)):0xa09+0x89*0x1+-0xa92){_0x2ae6bb=_0x363747['indexOf'](_0x2ae6bb);}for(let _0x3aa3b2=0xb03+0xd42*-0x1+0x23f,_0x102624=_0x1e7011['length'];_0x3aa3b2<_0x102624;_0x3aa3b2++){_0x41e800+='%'+('00'+_0x1e7011['charCodeAt'](_0x3aa3b2)['toString'](0x1697*-0x1+-0x2*-0x143+0x1421))['slice'](-(0xc7*0x7+0x24b*-0x1+-0x324));}return decodeURIComponent(_0x41e800);};_0x3290['CvGEim']=_0x58868f,_0x3290['nOsWkS']={},_0x3290['bFhkZg']=!![];}const _0x582c72=_0x495f25[-0x3d*0x2f+-0xfcf+-0x1b02*-0x1];_0x3290['ZumDHR']!==_0x582c72&&(_0x3290['nOsWkS']={},_0x3290['ZumDHR']=_0x582c72);const _0x20f19c=_0x3290['nOsWkS'][_0x2ba3f4];return _0x20f19c===undefined?(_0x389376=_0x3290['CvGEim'](_0x389376),_0x3290['nOsWkS'][_0x2ba3f4]=_0x389376):_0x389376=_0x20f19c,_0x389376;}export class ManagedRunnerSessionService{[_0x3c5917(0x1e0)];[_0x3c5917(0x1e1)];[_0x3c5917(0x1ed)];constructor(_0x3717c7,_0x43dccd,_0x18319d){const _0x16aa66=_0x3c5917;this[_0x16aa66(0x1e0)]=_0x3717c7,this[_0x16aa66(0x1e1)]=_0x43dccd,this[_0x16aa66(0x1ed)]=_0x18319d;}[_0x3c5917(0x1f1)](_0x5435ed,_0x5eaba7){const _0x5658de=_0x3c5917,_0x526f63=this[_0x5658de(0x1e0)][_0x5658de(0x1f2)](_0x5eaba7);if(_0x526f63===undefined||_0x526f63[_0x5658de(0x1e3)]!==_0x5658de(0x1df))return;this[_0x5658de(0x1e1)][_0x5658de(0x1de)](_0x526f63[_0x5658de(0x1eb)])[_0x5658de(0x1dd)](_0x526f63,_0x5435ed);}async[_0x3c5917(0x1f4)](_0x43083d,_0x48168f,_0x5a413b){const _0x29ee5d=_0x3c5917,_0x45edb1=this[_0x29ee5d(0x1e0)][_0x29ee5d(0x1f2)](_0x43083d);if(_0x45edb1===undefined||_0x45edb1[_0x29ee5d(0x1e3)]!==_0x29ee5d(0x1df))return;try{const _0xc098bc=await this[_0x29ee5d(0x1e1)][_0x29ee5d(0x1de)](_0x45edb1[_0x29ee5d(0x1eb)])[_0x29ee5d(0x1e4)]({..._0x45edb1,'cwd':_0x5a413b},_0x48168f);if(_0xc098bc===undefined)return;const _0x13922b=this[_0x29ee5d(0x1e0)][_0x29ee5d(0x1e8)](_0x45edb1['id'],_0xc098bc);if(_0x13922b[_0x29ee5d(0x1e2)]!==_0x45edb1[_0x29ee5d(0x1e2)])this[_0x29ee5d(0x1ed)](_0x13922b);}catch{}}}
@@ -1,87 +1,2 @@
1
- import { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
- import { getDefaultEnvironment, StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
3
- import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
4
- const INSTALL_TIMEOUT_MS = 90_000;
5
- export class McpInstallationVerifier {
6
- async verify(input) {
7
- const client = new Client({ name: 'myagentroam-node-installer', version: '0.9.1' });
8
- try {
9
- await withTimeout((async () => {
10
- if (input.entry.runtime.transport === 'STDIO') {
11
- await client.connect(new StdioClientTransport({
12
- command: input.entry.runtime.command,
13
- args: [...input.entry.runtime.args, ...(input.configuration.arguments ?? [])],
14
- env: {
15
- ...getDefaultEnvironment(),
16
- ...resolveReferences(input.entry.runtime.environment, input.secrets),
17
- ...resolveReferences(input.configuration.environment, input.secrets)
18
- },
19
- cwd: input.cwd,
20
- stderr: 'pipe'
21
- }));
22
- }
23
- else {
24
- await client.connect(new StreamableHTTPClientTransport(new URL(input.entry.runtime.url), {
25
- requestInit: {
26
- headers: {
27
- ...resolveReferences(input.entry.runtime.headers, input.secrets),
28
- ...resolveReferences(input.configuration.headers, input.secrets)
29
- }
30
- }
31
- }));
32
- }
33
- const tools = await client.listTools();
34
- if (tools.tools.length === 0)
35
- throw new Error('MCP_TOOLS_UNAVAILABLE');
36
- })());
37
- }
38
- catch (error) {
39
- throw installError(error);
40
- }
41
- finally {
42
- await Promise.race([client.close().catch(() => undefined), delay(2_000)]);
43
- }
44
- }
45
- }
46
- function resolveReferences(references, secrets) {
47
- const result = {};
48
- for (const [name, reference] of Object.entries(references ?? {})) {
49
- const value = secrets[reference.secretName];
50
- if (value === undefined)
51
- throw new Error('MCP_SECRET_MISSING');
52
- result[name] = value;
53
- }
54
- return result;
55
- }
56
- async function withTimeout(operation) {
57
- let timer;
58
- try {
59
- await Promise.race([
60
- operation,
61
- new Promise((_resolve, reject) => {
62
- timer = setTimeout(() => reject(new Error('MCP_INSTALL_TIMEOUT')), INSTALL_TIMEOUT_MS);
63
- })
64
- ]);
65
- }
66
- finally {
67
- if (timer !== undefined)
68
- clearTimeout(timer);
69
- }
70
- }
71
- function installError(error) {
72
- const message = error instanceof Error ? error.message : '';
73
- if (message === 'MCP_INSTALL_TIMEOUT' ||
74
- message === 'MCP_SECRET_MISSING' ||
75
- message === 'MCP_TOOLS_UNAVAILABLE')
76
- return new Error(message);
77
- if (/401|403|unauthorized|forbidden/iu.test(message))
78
- return new Error('MCP_AUTH_FAILED');
79
- if (/ENOENT|spawn/iu.test(message))
80
- return new Error('MCP_COMMAND_UNAVAILABLE');
81
- if (/fetch|connect|network|ECONN|ENOTFOUND/iu.test(message))
82
- return new Error('MCP_CONNECTION_FAILED');
83
- return new Error('MCP_PROTOCOL_VALIDATION_FAILED');
84
- }
85
- function delay(milliseconds) {
86
- return new Promise((resolve) => setTimeout(resolve, milliseconds));
87
- }
1
+ /* mar-release-protected */
2
+ const _0x227ad2=_0x124b;(function(_0xc729bf,_0x2b25e5){const _0x1fbca8=_0x124b,_0x12e42e=_0xc729bf();while(!![]){try{const _0x58be6d=-parseInt(_0x1fbca8(0x10c))/(0xc7f+0x30*-0x57+0x3d2)+-parseInt(_0x1fbca8(0x112))/(-0xa9d+-0xd*-0x23d+-0x127a*0x1)*(parseInt(_0x1fbca8(0x129))/(-0x21e3*0x1+-0x50e*0x1+0x26f4))+parseInt(_0x1fbca8(0x11a))/(-0xffc+-0xb9*0x35+0x364d*0x1)*(-parseInt(_0x1fbca8(0x130))/(-0x4f7+-0x11b1+0x1b*0xd7))+-parseInt(_0x1fbca8(0x124))/(0x24b*0xd+-0x24a+0x1b7f*-0x1)*(-parseInt(_0x1fbca8(0x114))/(0x1c61+0xc28+-0x2882))+parseInt(_0x1fbca8(0x134))/(-0x10dc+-0x29*0x57+-0xd*-0x25f)*(-parseInt(_0x1fbca8(0x12f))/(-0xffe*0x1+-0x7*0x65+0x1*0x12ca))+parseInt(_0x1fbca8(0x12c))/(-0xa9f*0x1+-0xefc+0x41*0x65)+-parseInt(_0x1fbca8(0x11b))/(0x502*0x1+0x4a7*-0x3+0x1*0x8fe)*(-parseInt(_0x1fbca8(0x12e))/(0x2a*-0x12+0x24d1+-0x21d1));if(_0x58be6d===_0x2b25e5)break;else _0x12e42e['push'](_0x12e42e['shift']());}catch(_0x58894d){_0x12e42e['push'](_0x12e42e['shift']());}}}(_0x5c23,-0x962fb+-0xb27ac+0x1c25b6));import{Client}from'@modelcontextprotocol/sdk/client/index.js';function _0x5c23(){const _0x2fe14f=['u1resu8','yxjNCW','CgLWzq','ntK3nZCWCMr6rNLJ','BgLZDfrVB2XZ','otq1mtG5ww5yDfrW','Dg9VBhm','BwvZC2fNzq','DgvZDa','zw50CNK','CMfJzq','mZm3mdbmtLPMsvO','mZnAAgr6zNu','y29TBwfUza','y2XVC2u','tunqx1bst1rpq09mx1zbteLeqvrjt05FrKfjteve','BgvUz3rO','yxjNDw1LBNrZ','tunqx1rpt0Xtx1voqvzbsuXbqKXf','y29UzMLNDxjHDgLVBG','zw52AxjVBM1LBNq','nKTTDuTdza','AgvHzgvYCW','BxLHz2vUDhjVyw0TBM9Kzs1PBNn0ywXSzxi','mc45lJe','zw50CMLLCW','m0DUq1HuzG','tunqx0fvveHFrKfjteve','DhjHBNnWB3j0','nZGWnJCXmhvsBKzKAW','C2vJCMv0tMfTzq','mZe1mZu4ohrUzuj6DW','mtu1n1LcBuPSzq','mtKWq3fXDfHu','y3DK','tunqx0nptu1btKrFvu5bvKfjtefcteu','DxjS','oda1nLHNzxP1AG','CNvUDgLTzq','DMvYAwz5','tunqx0Lou1rbteXFveLnru9vva','tunqx1nfq1jfvf9nsvntsu5h','y29UBMvJDa','tunqx0nptK5fq1rjt05FrKfjteve','ndeYndaYD29xzfjz','y2f0y2G','C2vJCMv0CW'];_0x5c23=function(){return _0x2fe14f;};return _0x5c23();}import{getDefaultEnvironment,StdioClientTransport}from'@modelcontextprotocol/sdk/client/stdio.js';import{StreamableHTTPClientTransport}from'@modelcontextprotocol/sdk/client/streamableHttp.js';const INSTALL_TIMEOUT_MS=0x2654+-0x178d*-0x5+0xc37b;export class McpInstallationVerifier{async[_0x227ad2(0x136)](_0x3eefcf){const _0x4150c1=_0x227ad2,_0x5d2d2b=new Client({'name':_0x4150c1(0x126),'version':_0x4150c1(0x127)});try{await withTimeout(((async()=>{const _0x5c336d=_0x4150c1;_0x3eefcf[_0x5c336d(0x118)][_0x5c336d(0x135)][_0x5c336d(0x12b)]===_0x5c336d(0x10f)?await _0x5d2d2b[_0x5c336d(0x10a)](new StdioClientTransport({'command':_0x3eefcf[_0x5c336d(0x118)][_0x5c336d(0x135)][_0x5c336d(0x11c)],'args':[..._0x3eefcf[_0x5c336d(0x118)][_0x5c336d(0x135)][_0x5c336d(0x110)],..._0x3eefcf[_0x5c336d(0x122)][_0x5c336d(0x120)]??[]],'env':{...getDefaultEnvironment(),...resolveReferences(_0x3eefcf[_0x5c336d(0x118)][_0x5c336d(0x135)][_0x5c336d(0x123)],_0x3eefcf[_0x5c336d(0x10e)]),...resolveReferences(_0x3eefcf[_0x5c336d(0x122)][_0x5c336d(0x123)],_0x3eefcf[_0x5c336d(0x10e)])},'cwd':_0x3eefcf[_0x5c336d(0x131)],'stderr':_0x5c336d(0x111)})):await _0x5d2d2b[_0x5c336d(0x10a)](new StreamableHTTPClientTransport(new URL(_0x3eefcf[_0x5c336d(0x118)][_0x5c336d(0x135)][_0x5c336d(0x133)]),{'requestInit':{'headers':{...resolveReferences(_0x3eefcf[_0x5c336d(0x118)][_0x5c336d(0x135)][_0x5c336d(0x125)],_0x3eefcf[_0x5c336d(0x10e)]),...resolveReferences(_0x3eefcf[_0x5c336d(0x122)][_0x5c336d(0x125)],_0x3eefcf[_0x5c336d(0x10e)])}}}));const _0xa9ca4d=await _0x5d2d2b[_0x5c336d(0x113)]();if(_0xa9ca4d[_0x5c336d(0x115)][_0x5c336d(0x11f)]===-0x8c5+0x2395+0xb0*-0x27)throw new Error(_0x5c336d(0x121));})()));}catch(_0x420315){throw installError(_0x420315);}finally{await Promise[_0x4150c1(0x119)]([_0x5d2d2b[_0x4150c1(0x11d)]()[_0x4150c1(0x10d)](()=>undefined),delay(0x151*-0xd+-0x1*-0x55e+-0x685*-0x3)]);}}}function resolveReferences(_0x3edac6,_0x148a37){const _0x148a14=_0x227ad2,_0x3919d3={};for(const [_0x5cc9b4,_0x3c91c3]of Object[_0x148a14(0x128)](_0x3edac6??{})){const _0x38d6c5=_0x148a37[_0x3c91c3[_0x148a14(0x12d)]];if(_0x38d6c5===undefined)throw new Error(_0x148a14(0x109));_0x3919d3[_0x5cc9b4]=_0x38d6c5;}return _0x3919d3;}function _0x124b(_0x5b4618,_0x52eeea){_0x5b4618=_0x5b4618-(-0x36*-0x17+-0x1376*0x1+0xf*0x10b);const _0x42e650=_0x5c23();let _0x168306=_0x42e650[_0x5b4618];if(_0x124b['xPVlJG']===undefined){var _0x258781=function(_0x62c74d){const _0x5c442d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18e2d8='',_0x5b3894='';for(let _0x243e83=0x1*-0xe6e+0x1468+-0x5a*0x11,_0x532354,_0x1cd57b,_0x5b6509=-0x434*0x1+-0x8c5+0x7b*0x1b;_0x1cd57b=_0x62c74d['charAt'](_0x5b6509++);~_0x1cd57b&&(_0x532354=_0x243e83%(0x151*-0xd+-0x1*-0x55e+-0xbc3*-0x1)?_0x532354*(0xc7e+0x1d*0x149+-0x3183)+_0x1cd57b:_0x1cd57b,_0x243e83++%(0x6*0x149+-0x1*-0x24f3+-0x2ca5))?_0x18e2d8+=String['fromCharCode'](-0x1aa5+0xe5e+-0x1*-0xd46&_0x532354>>(-(-0x1029+-0x1*0xbb6+-0xd*-0x225)*_0x243e83&0x119*0x1d+-0x1*0x24bb+0x3c*0x15)):-0x17b2+0x1e41+-0x68f){_0x1cd57b=_0x5c442d['indexOf'](_0x1cd57b);}for(let _0xc4b228=0x1104*0x2+-0x2222+0x1a,_0x7c4f86=_0x18e2d8['length'];_0xc4b228<_0x7c4f86;_0xc4b228++){_0x5b3894+='%'+('00'+_0x18e2d8['charCodeAt'](_0xc4b228)['toString'](-0x158+0x81b+-0x23*0x31))['slice'](-(-0x19d*-0x2+0x2353*0x1+-0x2f7*0xd));}return decodeURIComponent(_0x5b3894);};_0x124b['pxmckq']=_0x258781,_0x124b['IrQXcm']={},_0x124b['xPVlJG']=!![];}const _0x43b99a=_0x42e650[-0x1f*-0x6c+0x25db+-0x32ef];_0x124b['cJGOSy']!==_0x43b99a&&(_0x124b['IrQXcm']={},_0x124b['cJGOSy']=_0x43b99a);const _0x34a941=_0x124b['IrQXcm'][_0x5b4618];return _0x34a941===undefined?(_0x168306=_0x124b['pxmckq'](_0x168306),_0x124b['IrQXcm'][_0x5b4618]=_0x168306):_0x168306=_0x34a941,_0x168306;}async function withTimeout(_0x3a9396){const _0x55dc54=_0x227ad2;let _0x29ce0f;try{await Promise[_0x55dc54(0x119)]([_0x3a9396,new Promise((_0x1fdec4,_0xf2ab04)=>{const _0x4b90d1=_0x55dc54;_0x29ce0f=setTimeout(()=>_0xf2ab04(new Error(_0x4b90d1(0x137))),INSTALL_TIMEOUT_MS);})]);}finally{if(_0x29ce0f!==undefined)clearTimeout(_0x29ce0f);}}function installError(_0x4139ca){const _0x15d873=_0x227ad2,_0xe5a764=_0x4139ca instanceof Error?_0x4139ca[_0x15d873(0x116)]:'';if(_0xe5a764===_0x15d873(0x137)||_0xe5a764===_0x15d873(0x109)||_0xe5a764===_0x15d873(0x121))return new Error(_0xe5a764);if(/401|403|unauthorized|forbidden/iu[_0x15d873(0x117)](_0xe5a764))return new Error(_0x15d873(0x12a));if(/ENOENT|spawn/iu[_0x15d873(0x117)](_0xe5a764))return new Error(_0x15d873(0x132));if(/fetch|connect|network|ECONN|ENOTFOUND/iu[_0x15d873(0x117)](_0xe5a764))return new Error(_0x15d873(0x10b));return new Error(_0x15d873(0x11e));}function delay(_0x1c54e2){return new Promise(_0x55104b=>setTimeout(_0x55104b,_0x1c54e2));}