@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.
- package/dist/capabilities.js +2 -92
- package/dist/claude-agent-sdk.js +2 -330
- package/dist/claude-channel.js +2 -44
- package/dist/codex-app-server.js +2 -503
- package/dist/config.js +2 -56
- package/dist/connector/node-connector-options.js +2 -1
- package/dist/connector/node-operation-router.js +2 -22
- package/dist/connector.js +2 -845
- package/dist/control-outbound-scheduler.js +2 -154
- package/dist/database.js +2 -1418
- package/dist/event-buffer.js +2 -19
- package/dist/fake-runner.js +2 -129
- package/dist/health.js +2 -3
- package/dist/main.js +2 -54
- package/dist/migrations/v001.js +3 -144
- package/dist/migrations/v002.js +2 -143
- package/dist/migrations/v003.js +2 -44
- package/dist/migrations/v004.js +34 -30
- package/dist/native-jsonl-reader.js +2 -186
- package/dist/native-session-history.js +2 -1119
- package/dist/opencode-runtime.js +2 -80
- package/dist/opencode-server.js +2 -263
- package/dist/operational.js +2 -122
- package/dist/process-tree.js +2 -18
- package/dist/rotating-log.js +2 -67
- package/dist/runner/abstract-runner.js +2 -232
- package/dist/runner/claude/managed-run-controller.js +2 -345
- package/dist/runner/claude-code-runner.js +2 -303
- package/dist/runner/codex/composer-image-markers.js +2 -0
- package/dist/runner/codex/conversation-parser.js +2 -861
- package/dist/runner/codex/managed-run-controller.js +2 -460
- package/dist/runner/codex-runner.js +2 -628
- package/dist/runner/fake-test-runner.js +2 -47
- package/dist/runner/opencode/conversation-parser.js +2 -221
- package/dist/runner/opencode/managed-run-controller.js +2 -537
- package/dist/runner/opencode-runner.js +2 -448
- package/dist/runner/runner-registry.js +2 -90
- package/dist/runner-command-engine.js +2 -70
- package/dist/runner-profiles.js +2 -215
- package/dist/runner-usage.js +2 -190
- package/dist/runtime-command-detector.js +2 -73
- package/dist/runtime-state.js +2 -982
- package/dist/service/attachment-domain-state.js +2 -7
- package/dist/service/conversation-history-service.js +2 -457
- package/dist/service/conversation-segment-service.js +2 -162
- package/dist/service/external-session-resume-service.js +2 -118
- package/dist/service/fake-managed-run-service.js +2 -60
- package/dist/service/managed-runner-session-service.js +2 -35
- package/dist/service/mcp-installation-verifier.js +2 -87
- package/dist/service/mcp-node-operation-service.js +2 -90
- package/dist/service/mcp-package-installer.js +2 -136
- package/dist/service/native-session-projection-service.js +2 -280
- package/dist/service/native-session-watch-service.js +2 -383
- package/dist/service/node-connection-lifecycle-service.js +2 -84
- package/dist/service/node-control-channel.js +2 -85
- package/dist/service/node-control-message-service.js +2 -107
- package/dist/service/node-request-service.js +2 -52
- package/dist/service/node-run-event-bridge.js +2 -83
- package/dist/service/node-terminal-channel.js +2 -182
- package/dist/service/node-upgrade-coordinator.js +2 -137
- package/dist/service/node-workspace-coordinator.js +2 -70
- package/dist/service/recent-run-projection-service.js +2 -78
- package/dist/service/run-attachment-service.js +2 -194
- package/dist/service/run-domain-state.js +2 -4
- package/dist/service/run-event-service.js +2 -193
- package/dist/service/run-workbench-service.js +2 -104
- package/dist/service/runner-channel-message-service.js +2 -20
- package/dist/service/runner-interaction-service.js +2 -243
- package/dist/service/runner-service.js +2 -71
- package/dist/service/session-catalog-service.js +2 -224
- package/dist/service/session-command-service.js +2 -76
- package/dist/service/session-context-service.js +2 -101
- package/dist/service/session-domain-state.js +2 -9
- package/dist/service/session-identity-service.js +2 -86
- package/dist/service/session-lifecycle-service.js +2 -240
- package/dist/service/session-message-service.js +2 -173
- package/dist/service/session-presentation-service.js +2 -43
- package/dist/service/session-query-service.js +2 -82
- package/dist/service/skill-directory-service.js +2 -238
- package/dist/service/skill-install-service.js +2 -434
- package/dist/service/skill-node-operation-service.js +2 -206
- package/dist/service/terminal-relay-state.js +2 -3
- package/dist/service/terminal-service.js +2 -52
- package/dist/service/workbench-event-service.js +2 -19
- package/dist/service/workbench-manifest-service.js +2 -69
- package/dist/service/workspace-change-service.js +2 -86
- package/dist/service/workspace-content-search-service.js +2 -477
- package/dist/service/workspace-domain-state.js +2 -41
- package/dist/service/workspace-file-service.js +2 -122
- package/dist/service/workspace-git-exclude-service.js +2 -119
- package/dist/service/workspace-queue-workbench-service.js +2 -304
- package/dist/service/workspace-service.js +2 -69
- package/dist/service/workspace-session-service.js +2 -139
- package/dist/service/workspace-upload-service.js +2 -262
- package/dist/service/workspace-watch-service.js +2 -146
- package/dist/service/workspace-workbench-service.js +2 -405
- package/dist/service.js +2 -38
- package/dist/storage.js +2 -32
- package/dist/supervisor.js +2 -136
- package/dist/terminal.js +2 -416
- package/dist/util/node-operation-parsers.js +2 -382
- package/dist/util/personal-instructions.js +2 -31
- package/dist/util/runner-error.js +2 -52
- package/dist/util/runner-native-session-parsers.js +2 -490
- package/dist/util/safe-error.js +2 -5
- package/dist/util/secret-environment.js +2 -25
- package/dist/workspace.js +2 -1519
- package/package.json +3 -3
- package/dist/capabilities.d.ts +0 -12
- package/dist/claude-agent-sdk.d.ts +0 -92
- package/dist/claude-channel.d.ts +0 -28
- package/dist/codex-app-server.d.ts +0 -133
- package/dist/config.d.ts +0 -18
- package/dist/connector/node-connector-options.d.ts +0 -27
- package/dist/connector/node-operation-router.d.ts +0 -9
- package/dist/connector.d.ts +0 -94
- package/dist/control-outbound-scheduler.d.ts +0 -29
- package/dist/database.d.ts +0 -305
- package/dist/event-buffer.d.ts +0 -9
- package/dist/fake-runner.d.ts +0 -42
- package/dist/health.d.ts +0 -4
- package/dist/main.d.ts +0 -2
- package/dist/migrations/v001.d.ts +0 -3
- package/dist/migrations/v002.d.ts +0 -4
- package/dist/migrations/v003.d.ts +0 -4
- package/dist/migrations/v004.d.ts +0 -4
- package/dist/native-jsonl-reader.d.ts +0 -35
- package/dist/native-session-history.d.ts +0 -126
- package/dist/opencode-runtime.d.ts +0 -33
- package/dist/opencode-server.d.ts +0 -49
- package/dist/operational.d.ts +0 -39
- package/dist/process-tree.d.ts +0 -9
- package/dist/rotating-log.d.ts +0 -17
- package/dist/runner/abstract-runner.d.ts +0 -172
- package/dist/runner/claude/managed-run-controller.d.ts +0 -51
- package/dist/runner/claude-code-runner.d.ts +0 -72
- package/dist/runner/codex/conversation-parser.d.ts +0 -59
- package/dist/runner/codex/managed-run-controller.d.ts +0 -90
- package/dist/runner/codex-runner.d.ts +0 -103
- package/dist/runner/fake-test-runner.d.ts +0 -26
- package/dist/runner/opencode/conversation-parser.d.ts +0 -31
- package/dist/runner/opencode/managed-run-controller.d.ts +0 -82
- package/dist/runner/opencode-runner.d.ts +0 -71
- package/dist/runner/runner-registry.d.ts +0 -19
- package/dist/runner-command-engine.d.ts +0 -28
- package/dist/runner-profiles.d.ts +0 -15
- package/dist/runner-usage.d.ts +0 -33
- package/dist/runtime-command-detector.d.ts +0 -3
- package/dist/runtime-state.d.ts +0 -171
- package/dist/service/attachment-domain-state.d.ts +0 -7
- package/dist/service/conversation-history-service.d.ts +0 -43
- package/dist/service/conversation-segment-service.d.ts +0 -20
- package/dist/service/external-session-resume-service.d.ts +0 -34
- package/dist/service/fake-managed-run-service.d.ts +0 -28
- package/dist/service/managed-runner-session-service.d.ts +0 -12
- package/dist/service/mcp-installation-verifier.d.ts +0 -9
- package/dist/service/mcp-node-operation-service.d.ts +0 -11
- package/dist/service/mcp-package-installer.d.ts +0 -8
- package/dist/service/native-session-projection-service.d.ts +0 -52
- package/dist/service/native-session-watch-service.d.ts +0 -62
- package/dist/service/node-connection-lifecycle-service.d.ts +0 -36
- package/dist/service/node-control-channel.d.ts +0 -32
- package/dist/service/node-control-message-service.d.ts +0 -27
- package/dist/service/node-request-service.d.ts +0 -14
- package/dist/service/node-run-event-bridge.d.ts +0 -40
- package/dist/service/node-terminal-channel.d.ts +0 -29
- package/dist/service/node-upgrade-coordinator.d.ts +0 -29
- package/dist/service/node-workspace-coordinator.d.ts +0 -29
- package/dist/service/recent-run-projection-service.d.ts +0 -14
- package/dist/service/run-attachment-service.d.ts +0 -38
- package/dist/service/run-domain-state.d.ts +0 -4
- package/dist/service/run-event-service.d.ts +0 -33
- package/dist/service/run-workbench-service.d.ts +0 -25
- package/dist/service/runner-channel-message-service.d.ts +0 -13
- package/dist/service/runner-interaction-service.d.ts +0 -39
- package/dist/service/runner-service.d.ts +0 -46
- package/dist/service/session-catalog-service.d.ts +0 -45
- package/dist/service/session-command-service.d.ts +0 -24
- package/dist/service/session-context-service.d.ts +0 -35
- package/dist/service/session-domain-state.d.ts +0 -9
- package/dist/service/session-identity-service.d.ts +0 -24
- package/dist/service/session-lifecycle-service.d.ts +0 -31
- package/dist/service/session-message-service.d.ts +0 -33
- package/dist/service/session-presentation-service.d.ts +0 -34
- package/dist/service/session-query-service.d.ts +0 -35
- package/dist/service/skill-directory-service.d.ts +0 -20
- package/dist/service/skill-install-service.d.ts +0 -21
- package/dist/service/skill-node-operation-service.d.ts +0 -44
- package/dist/service/terminal-relay-state.d.ts +0 -6
- package/dist/service/terminal-service.d.ts +0 -12
- package/dist/service/workbench-event-service.d.ts +0 -9
- package/dist/service/workbench-manifest-service.d.ts +0 -90
- package/dist/service/workspace-change-service.d.ts +0 -9
- package/dist/service/workspace-content-search-service.d.ts +0 -14
- package/dist/service/workspace-domain-state.d.ts +0 -79
- package/dist/service/workspace-file-service.d.ts +0 -18
- package/dist/service/workspace-git-exclude-service.d.ts +0 -4
- package/dist/service/workspace-queue-workbench-service.d.ts +0 -86
- package/dist/service/workspace-service.d.ts +0 -15
- package/dist/service/workspace-session-service.d.ts +0 -23
- package/dist/service/workspace-upload-service.d.ts +0 -39
- package/dist/service/workspace-watch-service.d.ts +0 -23
- package/dist/service/workspace-workbench-service.d.ts +0 -58
- package/dist/service.d.ts +0 -4
- package/dist/storage.d.ts +0 -2
- package/dist/supervisor.d.ts +0 -1
- package/dist/terminal.d.ts +0 -133
- package/dist/util/node-operation-parsers.d.ts +0 -92
- package/dist/util/personal-instructions.d.ts +0 -2
- package/dist/util/runner-error.d.ts +0 -6
- package/dist/util/runner-native-session-parsers.d.ts +0 -74
- package/dist/util/safe-error.d.ts +0 -2
- package/dist/util/secret-environment.d.ts +0 -1
- package/dist/workspace.d.ts +0 -217
|
@@ -1,162 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export function conversationSegments(
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
|
|
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));}
|