@myagentroam/node 0.9.8 → 0.9.10

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 (213) 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 -841
  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 -973
  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 -83
  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 -0
  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 -93
  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 -169
  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 -35
  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/run-attachment-service.d.ts +0 -38
  170. package/dist/service/run-domain-state.d.ts +0 -4
  171. package/dist/service/run-event-service.d.ts +0 -33
  172. package/dist/service/run-workbench-service.d.ts +0 -25
  173. package/dist/service/runner-channel-message-service.d.ts +0 -13
  174. package/dist/service/runner-interaction-service.d.ts +0 -39
  175. package/dist/service/runner-service.d.ts +0 -46
  176. package/dist/service/session-catalog-service.d.ts +0 -45
  177. package/dist/service/session-command-service.d.ts +0 -24
  178. package/dist/service/session-context-service.d.ts +0 -35
  179. package/dist/service/session-domain-state.d.ts +0 -9
  180. package/dist/service/session-identity-service.d.ts +0 -24
  181. package/dist/service/session-lifecycle-service.d.ts +0 -31
  182. package/dist/service/session-message-service.d.ts +0 -33
  183. package/dist/service/session-presentation-service.d.ts +0 -34
  184. package/dist/service/session-query-service.d.ts +0 -35
  185. package/dist/service/skill-directory-service.d.ts +0 -20
  186. package/dist/service/skill-install-service.d.ts +0 -21
  187. package/dist/service/skill-node-operation-service.d.ts +0 -44
  188. package/dist/service/terminal-relay-state.d.ts +0 -6
  189. package/dist/service/terminal-service.d.ts +0 -12
  190. package/dist/service/workbench-event-service.d.ts +0 -9
  191. package/dist/service/workbench-manifest-service.d.ts +0 -90
  192. package/dist/service/workspace-change-service.d.ts +0 -9
  193. package/dist/service/workspace-content-search-service.d.ts +0 -14
  194. package/dist/service/workspace-domain-state.d.ts +0 -79
  195. package/dist/service/workspace-file-service.d.ts +0 -18
  196. package/dist/service/workspace-git-exclude-service.d.ts +0 -4
  197. package/dist/service/workspace-queue-workbench-service.d.ts +0 -86
  198. package/dist/service/workspace-service.d.ts +0 -15
  199. package/dist/service/workspace-session-service.d.ts +0 -23
  200. package/dist/service/workspace-upload-service.d.ts +0 -39
  201. package/dist/service/workspace-watch-service.d.ts +0 -23
  202. package/dist/service/workspace-workbench-service.d.ts +0 -58
  203. package/dist/service.d.ts +0 -4
  204. package/dist/storage.d.ts +0 -2
  205. package/dist/supervisor.d.ts +0 -1
  206. package/dist/terminal.d.ts +0 -133
  207. package/dist/util/node-operation-parsers.d.ts +0 -92
  208. package/dist/util/personal-instructions.d.ts +0 -2
  209. package/dist/util/runner-error.d.ts +0 -6
  210. package/dist/util/runner-native-session-parsers.d.ts +0 -74
  211. package/dist/util/safe-error.d.ts +0 -2
  212. package/dist/util/secret-environment.d.ts +0 -1
  213. package/dist/workspace.d.ts +0 -217
@@ -1,76 +1,2 @@
1
- import { parseCommandInvocation } from '../runner-command-engine.js';
2
- import { isPlainRecord } from '../util/node-operation-parsers.js';
3
- import { parseSecretEnvironment } from '../util/secret-environment.js';
4
- export class SessionCommandService {
5
- options;
6
- constructor(options) {
7
- this.options = options;
8
- }
9
- operations() {
10
- return {
11
- 'runner.command.execute': (data) => this.runnerCommand(record(data)),
12
- 'session.command.execute': (data) => this.sessionCommand(record(data))
13
- };
14
- }
15
- runnerCommand(input) {
16
- const runner = this.options.runners.product(input.runner);
17
- if (runner === undefined ||
18
- typeof input.commandId !== 'string' ||
19
- typeof input.input !== 'string')
20
- throw new Error('RUNNER_COMMAND_INVALID');
21
- try {
22
- return runner.executeGlobalCommand(input.commandId, input.input);
23
- }
24
- catch (error) {
25
- if (error instanceof Error && error.message === 'RUNNER_COMMAND_INVALID')
26
- throw error;
27
- throw new Error('RUNNER_COMMAND_INVALID');
28
- }
29
- }
30
- async sessionCommand(input) {
31
- if (typeof input.sessionId !== 'string' ||
32
- typeof input.commandId !== 'string' ||
33
- input.commandId.length === 0 ||
34
- typeof input.input !== 'string' ||
35
- input.input.length < 2 ||
36
- input.input.length > 20_000)
37
- throw new Error('RUNNER_COMMAND_INVALID');
38
- const resolved = this.options.runtime.getAgentSession(input.sessionId) ??
39
- (await this.options.projection.resolveCurrent(input.sessionId));
40
- if (resolved === undefined)
41
- throw new Error('SESSION_NOT_FOUND');
42
- const session = resolved.nativeControl === 'EXTERNAL' ? await this.options.resume.resume(resolved) : resolved;
43
- if (session === undefined)
44
- throw new Error('RUNNER_COMMAND_UNAVAILABLE');
45
- const command = this.options
46
- .profiles()
47
- .find((profile) => profile.runner === session.runner)
48
- ?.commands.find((candidate) => isPlainRecord(candidate) && candidate.id === input.commandId);
49
- if (command?.available !== true)
50
- throw new Error('RUNNER_COMMAND_UNAVAILABLE');
51
- if (command.interaction === 'IMMEDIATE_ACTION' &&
52
- this.options.runtime.hasActiveSessionLease(session.id))
53
- throw new Error('RUNNER_COMMAND_UNAVAILABLE');
54
- const invocation = parseCommandInvocation({ descriptor: command }, input.input);
55
- const secretEnvironment = parseSecretEnvironment(input.secretEnvironment);
56
- const runner = this.options.runners.product(session.runner);
57
- if (runner === undefined)
58
- throw new Error('RUNNER_COMMAND_UNAVAILABLE');
59
- const result = await runner.executeCommand(session, command, invocation.input, {
60
- secretEnvironment
61
- });
62
- if (command.interaction === 'IMMEDIATE_ACTION' &&
63
- isPlainRecord(result) &&
64
- isPlainRecord(result.run))
65
- this.options.resumeQueueAfterCommandRun(session.id);
66
- return {
67
- ...(isPlainRecord(result) ? result : { result }),
68
- session: this.options.present(session)
69
- };
70
- }
71
- }
72
- function record(value) {
73
- if (value === null || typeof value !== 'object' || Array.isArray(value))
74
- return {};
75
- return value;
76
- }
1
+ /* mar-release-protected */
2
+ const _0x4c8d36=_0x4568;(function(_0x542259,_0xcbd961){const _0x4f15fe=_0x4568,_0x47c86b=_0x542259();while(!![]){try{const _0x2ccd82=-parseInt(_0x4f15fe(0x115))/(0xeac+-0x2329+0x147e)*(-parseInt(_0x4f15fe(0x11f))/(0x185*0x13+-0x139a*0x1+-0x943))+parseInt(_0x4f15fe(0x11b))/(0x791*-0x5+0xceb*-0x2+0x4e6*0xd)*(-parseInt(_0x4f15fe(0x114))/(0xd9+0x1841+-0x152*0x13))+-parseInt(_0x4f15fe(0x11a))/(0x12d0+0x26f9*0x1+-0x39c4)*(parseInt(_0x4f15fe(0xf5))/(-0x106c+0x1*-0x10bd+-0x212f*-0x1))+parseInt(_0x4f15fe(0xfa))/(-0x1ad7+0x1*-0x31d+0x1dfb)*(-parseInt(_0x4f15fe(0x110))/(0x17d+-0x16ed+0x1578))+-parseInt(_0x4f15fe(0xf9))/(-0x1*0x204a+0x251b+0x3*-0x198)+parseInt(_0x4f15fe(0x124))/(-0x2ed+0x10*0x5+0x2a7)*(parseInt(_0x4f15fe(0xfe))/(0x2fb+0x1922+-0xe09*0x2))+parseInt(_0x4f15fe(0x100))/(-0x1e*0x43+0x6ee+0xf8);if(_0x2ccd82===_0xcbd961)break;else _0x47c86b['push'](_0x47c86b['shift']());}catch(_0x4b1f86){_0x47c86b['push'](_0x47c86b['shift']());}}}(_0x25fb,-0x1ee4e+0x5872e+-0x2*-0x2491f));function _0x25fb(){const _0x5d7195=['ChjVzhvJDa','BMf0AxzLq29UDhjVBa','mta5mZe3nMzqy2Xpwq','B3b0Aw9UCW','z2v0qwDLBNrtzxnZAw9U','su1nrurjqvrfx0fdveLptG','mty0tKvhrfvJ','mZa3tK5Jq2Te','rvHurvjoquW','BwvZC2fNzq','ChjLC2vUDa','CNvUBMvYq29TBwfUza','ndi4mg9uBLPKyq','mJK2odHstxDOqMu','Aw50zxjHy3rPB24','CMvZDw1L','CMvZDw1LuxvLDwvbzNrLCKnVBw1HBMrsDw4','mZKZmMLAuw1Sva','u0vtu0LptL9ot1rFrK9vtKq','CNvUDgLTzq','BgvUz3rO','CNvUBMvY','otqWndiWvg5wruTk','C3rYAw5N','C2vZC2LVBKnVBw1HBMq','ndi1ngfLAwz2Aa','AxnbCNjHEq','y29TBwfUzeLK','ChjVzMLSzxm','nty1ndGXn3nWzKLfvq','mJfKAMHyCvq','C2vJCMv0rw52AxjVBM1LBNq','AgfZqwn0AxzLu2vZC2LVBKXLyxnL','C2vZC2LVBKLK','mZnHAwHJBLa','ChjVAMvJDgLVBG','mJa0mdyZodrezhfttKi','B3bLCMf0Aw9UCW','CNvU','zxHLy3v0zuDSB2jHBenVBw1HBMq','CNvUBMvYCW','yxzHAwXHyMXL','B2jQzwn0','zxHLy3v0zunVBw1HBMq','CMvZB2X2zun1CNjLBNq','Aw5WDxq','uLvotKvsx0nptu1btKrFvu5bvKfjtefcteu','zMLUza','y29TBwfUzhm','uLvotKvsx0nptu1btKrFsu5wquXjra'];_0x25fb=function(){return _0x5d7195;};return _0x25fb();}import{parseCommandInvocation}from'../runner-command-engine.js';import{isPlainRecord}from'../util/node-operation-parsers.js';function _0x4568(_0x5eab1d,_0x64ca6d){_0x5eab1d=_0x5eab1d-(-0x17ba+0x53d*-0x1+-0x1deb*-0x1);const _0x42244=_0x25fb();let _0x138e3f=_0x42244[_0x5eab1d];if(_0x4568['ZasCQu']===undefined){var _0x90acfc=function(_0x27c5ae){const _0xd6e611='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6c96f7='',_0x1184a7='';for(let _0xe5eef1=-0x19ca+-0xc0f+0x25d9,_0x5b6f56,_0x1f1904,_0x533c33=0x5bf*-0x5+0x4f7*0x1+0x17c4;_0x1f1904=_0x27c5ae['charAt'](_0x533c33++);~_0x1f1904&&(_0x5b6f56=_0xe5eef1%(-0x13df+0x6b*0xf+0xd9e)?_0x5b6f56*(0x2571+0x105c+-0x358d*0x1)+_0x1f1904:_0x1f1904,_0xe5eef1++%(0x1dd*-0x1+-0x1397+0x1578))?_0x6c96f7+=String['fromCharCode'](0x1*0x3d7+0x1*-0x5f+-0xd3*0x3&_0x5b6f56>>(-(-0x1*0x519+-0x2f*0x8d+0x1efe)*_0xe5eef1&0x7*-0x223+-0x16ed+0x97a*0x4)):0x1*0x1f7a+-0x15a7+0x9d3*-0x1){_0x1f1904=_0xd6e611['indexOf'](_0x1f1904);}for(let _0x9455d7=-0x2615*0x1+-0x511*-0x4+-0x11d1*-0x1,_0x4baa6f=_0x6c96f7['length'];_0x9455d7<_0x4baa6f;_0x9455d7++){_0x1184a7+='%'+('00'+_0x6c96f7['charCodeAt'](_0x9455d7)['toString'](0x26eb+0x190f+0x25e*-0x1b))['slice'](-(0x1368+-0x5f7*0x1+0x1*-0xd6f));}return decodeURIComponent(_0x1184a7);};_0x4568['kJrhdp']=_0x90acfc,_0x4568['TFiNsl']={},_0x4568['ZasCQu']=!![];}const _0xf6087f=_0x42244[-0x4de*-0x2+0x5b9+-0x3*0x527];_0x4568['CYFstU']!==_0xf6087f&&(_0x4568['TFiNsl']={},_0x4568['CYFstU']=_0xf6087f);const _0xac05be=_0x4568['TFiNsl'][_0x5eab1d];return _0xac05be===undefined?(_0x138e3f=_0x4568['kJrhdp'](_0x138e3f),_0x4568['TFiNsl'][_0x5eab1d]=_0x138e3f):_0x138e3f=_0xac05be,_0x138e3f;}import{parseSecretEnvironment}from'../util/secret-environment.js';export class SessionCommandService{[_0x4c8d36(0x111)];constructor(_0x2d6a3e){const _0x2fd8f4=_0x4c8d36;this[_0x2fd8f4(0x111)]=_0x2d6a3e;}[_0x4c8d36(0x101)](){const _0x4cbd46=_0x4c8d36;return{'runner.command.execute':_0x17c7ca=>this[_0x4cbd46(0x119)](record(_0x17c7ca)),'session.command.execute':_0x5eae29=>this[_0x4cbd46(0xf4)](record(_0x5eae29))};}[_0x4c8d36(0x119)](_0x5b4ebd){const _0x48ef31=_0x4c8d36,_0x2df726=this[_0x48ef31(0x111)][_0x48ef31(0x104)][_0x48ef31(0x10e)](_0x5b4ebd[_0x48ef31(0x123)]);if(_0x2df726===undefined||typeof _0x5b4ebd[_0x48ef31(0xf7)]!==_0x48ef31(0x125)||typeof _0x5b4ebd[_0x48ef31(0x109)]!==_0x48ef31(0x125))throw new Error(_0x48ef31(0x10d));try{return _0x2df726[_0x48ef31(0x103)](_0x5b4ebd[_0x48ef31(0xf7)],_0x5b4ebd[_0x48ef31(0x109)]);}catch(_0x20f2fd){if(_0x20f2fd instanceof Error&&_0x20f2fd[_0x48ef31(0x117)]===_0x48ef31(0x10d))throw _0x20f2fd;throw new Error(_0x48ef31(0x10d));}}async[_0x4c8d36(0xf4)](_0x345ff0){const _0x76767b=_0x4c8d36;if(typeof _0x345ff0[_0x76767b(0xfd)]!==_0x76767b(0x125)||typeof _0x345ff0[_0x76767b(0xf7)]!==_0x76767b(0x125)||_0x345ff0[_0x76767b(0xf7)][_0x76767b(0x122)]===-0x138c+0x1*-0x1b7f+0x1*0x2f0b||typeof _0x345ff0[_0x76767b(0x109)]!==_0x76767b(0x125)||_0x345ff0[_0x76767b(0x109)][_0x76767b(0x122)]<0x2646+-0xc37*0x1+0x75*-0x39||_0x345ff0[_0x76767b(0x109)][_0x76767b(0x122)]>-0xee1*0x8+0x95c1+-0x97b*-0x5)throw new Error(_0x76767b(0x10d));const _0x2f3cb6=this[_0x76767b(0x111)][_0x76767b(0x121)][_0x76767b(0x112)](_0x345ff0[_0x76767b(0xfd)])??await this[_0x76767b(0x111)][_0x76767b(0xff)][_0x76767b(0x108)](_0x345ff0[_0x76767b(0xfd)]);if(_0x2f3cb6===undefined)throw new Error(_0x76767b(0x120));const _0x3de0b8=_0x2f3cb6[_0x76767b(0x10f)]===_0x76767b(0x116)?await this[_0x76767b(0x111)][_0x76767b(0x11d)][_0x76767b(0x11d)](_0x2f3cb6):_0x2f3cb6;if(_0x3de0b8===undefined)throw new Error(_0x76767b(0x10a));const _0x3823d2=this[_0x76767b(0x111)][_0x76767b(0xf8)]()[_0x76767b(0x10b)](_0x2977a3=>_0x2977a3[_0x76767b(0x123)]===_0x3de0b8[_0x76767b(0x123)])?.[_0x76767b(0x10c)][_0x76767b(0x10b)](_0x101818=>isPlainRecord(_0x101818)&&_0x101818['id']===_0x345ff0[_0x76767b(0xf7)]);if(_0x3823d2?.[_0x76767b(0x105)]!==!![])throw new Error(_0x76767b(0x10a));if(_0x3823d2[_0x76767b(0x11c)]===_0x76767b(0x113)&&this[_0x76767b(0x111)][_0x76767b(0x121)][_0x76767b(0xfc)](_0x3de0b8['id']))throw new Error(_0x76767b(0x10a));const _0x4697be=parseCommandInvocation({'descriptor':_0x3823d2},_0x345ff0[_0x76767b(0x109)]),_0x351000=parseSecretEnvironment(_0x345ff0[_0x76767b(0xfb)]),_0x49d6d4=this[_0x76767b(0x111)][_0x76767b(0x104)][_0x76767b(0x10e)](_0x3de0b8[_0x76767b(0x123)]);if(_0x49d6d4===undefined)throw new Error(_0x76767b(0x10a));const _0x131a32=await _0x49d6d4[_0x76767b(0x107)](_0x3de0b8,_0x3823d2,_0x4697be[_0x76767b(0x109)],{'secretEnvironment':_0x351000});if(_0x3823d2[_0x76767b(0x11c)]===_0x76767b(0x113)&&isPlainRecord(_0x131a32)&&isPlainRecord(_0x131a32[_0x76767b(0x102)]))this[_0x76767b(0x111)][_0x76767b(0x11e)](_0x3de0b8['id']);return{...isPlainRecord(_0x131a32)?_0x131a32:{'result':_0x131a32},'session':this[_0x76767b(0x111)][_0x76767b(0x118)](_0x3de0b8)};}}function record(_0x44a449){const _0x94e5be=_0x4c8d36;if(_0x44a449===null||typeof _0x44a449!==_0x94e5be(0x106)||Array[_0x94e5be(0xf6)](_0x44a449))return{};return _0x44a449;}
@@ -1,101 +1,2 @@
1
- const REFRESH_DELAYS_MS = [100, 400, 1_000];
2
- const CONTEXT_SNAPSHOT_TTL_MS = 30 * 60_000;
3
- export class SessionContextService {
4
- options;
5
- snapshots = new Map();
6
- snapshotTimers = new Map();
7
- timers = new Map();
8
- versions = new Map();
9
- constructor(options) {
10
- this.options = options;
11
- }
12
- async read(session) {
13
- if (session.externalSessionId === null)
14
- return { context: null, pending: false };
15
- const usage = await this.options.runners.product(session.runner)?.readContextUsage(session);
16
- if (usage === undefined)
17
- return { context: null, pending: false };
18
- const context = {
19
- model: usage.model ?? session.model,
20
- usedTokens: usage.usedTokens,
21
- maxTokens: usage.maxTokens,
22
- percentage: Math.round((usage.usedTokens / usage.maxTokens) * 1000) / 10
23
- };
24
- this.snapshots.set(session.id, context);
25
- const previousTimer = this.snapshotTimers.get(session.id);
26
- if (previousTimer !== undefined)
27
- clearTimeout(previousTimer);
28
- const timer = setTimeout(() => {
29
- this.snapshotTimers.delete(session.id);
30
- this.snapshots.delete(session.id);
31
- }, CONTEXT_SNAPSHOT_TTL_MS);
32
- timer.unref();
33
- this.snapshotTimers.set(session.id, timer);
34
- return { context, pending: false };
35
- }
36
- schedule(sessionId) {
37
- const pending = this.timers.get(sessionId);
38
- if (pending !== undefined)
39
- clearTimeout(pending);
40
- this.timers.delete(sessionId);
41
- const version = (this.versions.get(sessionId) ?? 0) + 1;
42
- this.versions.set(sessionId, version);
43
- let published = this.snapshots.get(sessionId);
44
- const attempt = (index) => {
45
- const timer = setTimeout(() => {
46
- if (this.timers.get(sessionId) === timer)
47
- this.timers.delete(sessionId);
48
- if (!this.current(sessionId, version))
49
- return;
50
- const session = this.options.session(sessionId);
51
- if (session === undefined || session.externalSessionId === null)
52
- return;
53
- void this.read(session)
54
- .then(({ context }) => {
55
- if (!this.current(sessionId, version))
56
- return;
57
- if (context !== null && (published === undefined || !sameUsage(published, context))) {
58
- published = context;
59
- this.options.publish({
60
- sessionId: session.id,
61
- workspaceId: session.workspaceId,
62
- context,
63
- pending: false
64
- });
65
- }
66
- })
67
- .catch(() => undefined)
68
- .finally(() => {
69
- if (!this.current(sessionId, version))
70
- return;
71
- if (index + 1 < REFRESH_DELAYS_MS.length)
72
- attempt(index + 1);
73
- else
74
- this.versions.delete(sessionId);
75
- });
76
- }, REFRESH_DELAYS_MS[index]);
77
- this.timers.set(sessionId, timer);
78
- timer.unref();
79
- };
80
- attempt(0);
81
- }
82
- dispose() {
83
- for (const timer of this.timers.values())
84
- clearTimeout(timer);
85
- for (const timer of this.snapshotTimers.values())
86
- clearTimeout(timer);
87
- this.timers.clear();
88
- this.snapshotTimers.clear();
89
- this.versions.clear();
90
- this.snapshots.clear();
91
- }
92
- current(sessionId, version) {
93
- return !this.options.stopped() && this.versions.get(sessionId) === version;
94
- }
95
- }
96
- function sameUsage(left, right) {
97
- return (left.model === right.model &&
98
- left.usedTokens === right.usedTokens &&
99
- left.maxTokens === right.maxTokens &&
100
- left.percentage === right.percentage);
101
- }
1
+ /* mar-release-protected */
2
+ function _0x2f0d(_0x4f1434,_0xba1953){_0x4f1434=_0x4f1434-(-0x152a+-0x2416+-0x475*-0xd);const _0x547a4d=_0x2549();let _0x573ac0=_0x547a4d[_0x4f1434];if(_0x2f0d['yrgkce']===undefined){var _0x11283f=function(_0x7734eb){const _0x4512d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe376cd='',_0xe71110='';for(let _0x173383=-0x1f*-0x115+-0x2506+-0x3*-0x129,_0x2c8627,_0x38eadb,_0x3b2a6b=0x2300+-0x133*-0x1d+-0x45c7;_0x38eadb=_0x7734eb['charAt'](_0x3b2a6b++);~_0x38eadb&&(_0x2c8627=_0x173383%(-0x389*0x3+-0xd81*0x2+0x25a1)?_0x2c8627*(-0x1*-0x26b+-0x6dc+0x4b1)+_0x38eadb:_0x38eadb,_0x173383++%(-0x6*0x9d+0xad+0x305))?_0xe376cd+=String['fromCharCode'](0x161c+-0x5*0x153+-0xe7e&_0x2c8627>>(-(-0x2258+0x2c7*-0xd+0x4675)*_0x173383&0x444+-0x2659+0x221b)):0x11eb+0x449*0x6+-0x2ba1){_0x38eadb=_0x4512d0['indexOf'](_0x38eadb);}for(let _0x1e4fbe=0x4b7*-0x7+-0x1*0x18cb+0x6*0x9a2,_0x53e0ef=_0xe376cd['length'];_0x1e4fbe<_0x53e0ef;_0x1e4fbe++){_0xe71110+='%'+('00'+_0xe376cd['charCodeAt'](_0x1e4fbe)['toString'](0x19*0x55+0x1d44+0x2581*-0x1))['slice'](-(-0x2505+-0x1ec3+0x1*0x43ca));}return decodeURIComponent(_0xe71110);};_0x2f0d['rmntMu']=_0x11283f,_0x2f0d['niBfBm']={},_0x2f0d['yrgkce']=!![];}const _0x102aee=_0x547a4d[0x2*-0xfc4+-0x1086+-0x1807*-0x2];_0x2f0d['hgdZdn']!==_0x102aee&&(_0x2f0d['niBfBm']={},_0x2f0d['hgdZdn']=_0x102aee);const _0x306ca0=_0x2f0d['niBfBm'][_0x4f1434];return _0x306ca0===undefined?(_0x573ac0=_0x2f0d['rmntMu'](_0x573ac0),_0x2f0d['niBfBm'][_0x4f1434]=_0x573ac0):_0x573ac0=_0x306ca0,_0x573ac0;}const _0x4bbb8f=_0x2f0d;(function(_0x5661f5,_0x4fb022){const _0x124d49=_0x2f0d,_0x50c822=_0x5661f5();while(!![]){try{const _0x91f793=parseInt(_0x124d49(0xca))/(-0x10da+-0x9d*-0x29+0x425*-0x2)*(-parseInt(_0x124d49(0xd2))/(-0x16*-0x21+-0x1cc1+0x19ed))+parseInt(_0x124d49(0xd9))/(0x1a*-0xd+0x161d+-0x85*0x28)*(parseInt(_0x124d49(0xd6))/(0x1b78*-0x1+0x89*0x13+0x1151))+-parseInt(_0x124d49(0xc5))/(0x1*0xb4d+0x11*-0x101+0x5c9*0x1)+-parseInt(_0x124d49(0xd7))/(-0x5f8*-0x1+-0x1*0x2257+0x3*0x977)*(-parseInt(_0x124d49(0xda))/(0xf32+-0x162+0xdc9*-0x1))+-parseInt(_0x124d49(0xdd))/(-0x4*0x239+-0x1*0x1d41+0x1*0x262d)*(-parseInt(_0x124d49(0xb1))/(0x1*-0x9cd+-0x14f5+0x1ecb))+parseInt(_0x124d49(0xb4))/(-0x20e*-0xd+-0x142c+-0x680)+-parseInt(_0x124d49(0xd5))/(0xad8+-0x643+0x2*-0x245)*(parseInt(_0x124d49(0xce))/(0x162+-0x2511+0x23bb));if(_0x91f793===_0x4fb022)break;else _0x50c822['push'](_0x50c822['shift']());}catch(_0x3a3b6e){_0x50c822['push'](_0x50c822['shift']());}}}(_0x2549,0x96183+-0xbc15c+0xc6b6d));const REFRESH_DELAYS_MS=[-0x3eb+0x9b6*0x1+-0x567,0x32+-0x1947+0x1aa5,-0x322*-0x4+-0x1e64+-0x4*-0x571],CONTEXT_SNAPSHOT_TTL_MS=(0x692+-0x1118+0xaa4)*(0x821+0x6619+0x7c26);export class SessionContextService{[_0x4bbb8f(0xcd)];[_0x4bbb8f(0xb7)]=new Map();[_0x4bbb8f(0xbc)]=new Map();[_0x4bbb8f(0xc9)]=new Map();[_0x4bbb8f(0xb2)]=new Map();constructor(_0x933dca){const _0x3a9e7e=_0x4bbb8f;this[_0x3a9e7e(0xcd)]=_0x933dca;}async[_0x4bbb8f(0xc4)](_0x1b84da){const _0x33ef1d=_0x4bbb8f;if(_0x1b84da[_0x33ef1d(0xd3)]===null)return{'context':null,'pending':![]};const _0x52081f=await this[_0x33ef1d(0xcd)][_0x33ef1d(0xd4)][_0x33ef1d(0xb5)](_0x1b84da[_0x33ef1d(0xc3)])?.[_0x33ef1d(0xb6)](_0x1b84da);if(_0x52081f===undefined)return{'context':null,'pending':![]};const _0x374bb0={'model':_0x52081f[_0x33ef1d(0xc0)]??_0x1b84da[_0x33ef1d(0xc0)],'usedTokens':_0x52081f[_0x33ef1d(0xc2)],'maxTokens':_0x52081f[_0x33ef1d(0xb8)],'percentage':Math[_0x33ef1d(0xbd)](_0x52081f[_0x33ef1d(0xc2)]/_0x52081f[_0x33ef1d(0xb8)]*(0x161c+-0x5*0x153+-0xb95))/(-0x2258+0x2c7*-0xd+0x467d)};this[_0x33ef1d(0xb7)][_0x33ef1d(0xba)](_0x1b84da['id'],_0x374bb0);const _0x1443c2=this[_0x33ef1d(0xbc)][_0x33ef1d(0xc7)](_0x1b84da['id']);if(_0x1443c2!==undefined)clearTimeout(_0x1443c2);const _0x3523d0=setTimeout(()=>{const _0x31e516=_0x33ef1d;this[_0x31e516(0xbc)][_0x31e516(0xbe)](_0x1b84da['id']),this[_0x31e516(0xb7)][_0x31e516(0xbe)](_0x1b84da['id']);},CONTEXT_SNAPSHOT_TTL_MS);return _0x3523d0[_0x33ef1d(0xdb)](),this[_0x33ef1d(0xbc)][_0x33ef1d(0xba)](_0x1b84da['id'],_0x3523d0),{'context':_0x374bb0,'pending':![]};}[_0x4bbb8f(0xd0)](_0xe27e30){const _0x1dc514=_0x4bbb8f,_0x4f1434=this[_0x1dc514(0xc9)][_0x1dc514(0xc7)](_0xe27e30);if(_0x4f1434!==undefined)clearTimeout(_0x4f1434);this[_0x1dc514(0xc9)][_0x1dc514(0xbe)](_0xe27e30);const _0xba1953=(this[_0x1dc514(0xb2)][_0x1dc514(0xc7)](_0xe27e30)??0x444+-0x2659+0x2215)+(0x11eb+0x449*0x6+-0x2ba0);this[_0x1dc514(0xb2)][_0x1dc514(0xba)](_0xe27e30,_0xba1953);let _0x547a4d=this[_0x1dc514(0xb7)][_0x1dc514(0xc7)](_0xe27e30);const _0x573ac0=_0x11283f=>{const _0x5f5d7a=_0x1dc514,_0x102aee=setTimeout(()=>{const _0x4dbd12=_0x2f0d;if(this[_0x4dbd12(0xc9)][_0x4dbd12(0xc7)](_0xe27e30)===_0x102aee)this[_0x4dbd12(0xc9)][_0x4dbd12(0xbe)](_0xe27e30);if(!this[_0x4dbd12(0xd1)](_0xe27e30,_0xba1953))return;const _0x306ca0=this[_0x4dbd12(0xcd)][_0x4dbd12(0xcb)](_0xe27e30);if(_0x306ca0===undefined||_0x306ca0[_0x4dbd12(0xd3)]===null)return;void this[_0x4dbd12(0xc4)](_0x306ca0)[_0x4dbd12(0xcc)](({context:_0x7734eb})=>{const _0x4d8145=_0x4dbd12;if(!this[_0x4d8145(0xd1)](_0xe27e30,_0xba1953))return;_0x7734eb!==null&&(_0x547a4d===undefined||!sameUsage(_0x547a4d,_0x7734eb))&&(_0x547a4d=_0x7734eb,this[_0x4d8145(0xcd)][_0x4d8145(0xb9)]({'sessionId':_0x306ca0['id'],'workspaceId':_0x306ca0[_0x4d8145(0xcf)],'context':_0x7734eb,'pending':![]}));})[_0x4dbd12(0xc6)](()=>undefined)[_0x4dbd12(0xd8)](()=>{const _0x32deee=_0x4dbd12;if(!this[_0x32deee(0xd1)](_0xe27e30,_0xba1953))return;if(_0x11283f+(0x4b7*-0x7+-0x1*0x18cb+0x1*0x39cd)<REFRESH_DELAYS_MS[_0x32deee(0xdc)])_0x573ac0(_0x11283f+(0x19*0x55+0x1d44+0x4b2*-0x8));else this[_0x32deee(0xb2)][_0x32deee(0xbe)](_0xe27e30);});},REFRESH_DELAYS_MS[_0x11283f]);this[_0x5f5d7a(0xc9)][_0x5f5d7a(0xba)](_0xe27e30,_0x102aee),_0x102aee[_0x5f5d7a(0xdb)]();};_0x573ac0(-0x2505+-0x1ec3+0x4*0x10f2);}[_0x4bbb8f(0xb3)](){const _0x547b10=_0x4bbb8f;for(const _0x4512d0 of this[_0x547b10(0xc9)][_0x547b10(0xc1)]())clearTimeout(_0x4512d0);for(const _0xe376cd of this[_0x547b10(0xbc)][_0x547b10(0xc1)]())clearTimeout(_0xe376cd);this[_0x547b10(0xc9)][_0x547b10(0xbb)](),this[_0x547b10(0xbc)][_0x547b10(0xbb)](),this[_0x547b10(0xb2)][_0x547b10(0xbb)](),this[_0x547b10(0xb7)][_0x547b10(0xbb)]();}[_0x4bbb8f(0xd1)](_0xe71110,_0x173383){const _0xadf72=_0x4bbb8f;return!this[_0xadf72(0xcd)][_0xadf72(0xc8)]()&&this[_0xadf72(0xb2)][_0xadf72(0xc7)](_0xe71110)===_0x173383;}}function _0x2549(){const _0x69ab9b=['ChjVzhvJDa','CMvHzenVBNrLEhrvC2fNzq','C25HChnOB3rZ','Bwf4vg9Rzw5Z','ChvIBgLZAa','C2v0','y2XLyxi','C25HChnOB3ruAw1LCNm','CM91BMq','zgvSzxrL','CgvYy2vUDgfNzq','Bw9KzwW','DMfSDwvZ','DxnLzfrVA2vUCW','CNvUBMvY','CMvHza','ndaWnJq4mfzdAvDWwG','y2f0y2G','z2v0','C3rVChbLza','DgLTzxjZ','ndC5odyZCMPNz1fv','C2vZC2LVBG','DgHLBG','B3b0Aw9UCW','mtjtDvPiB1u','D29YA3nWywnLswq','C2nOzwr1Bgu','y3vYCMvUDa','mLr3D3zUzq','zxH0zxjUywXtzxnZAw9Uswq','CNvUBMvYCW','nJiZndm0owr6wNPtta','mZK5nZu0oe5uufPMta','mtG3odzRvw95wvq','zMLUywXSEq','m2nsu1bmsa','mtq3sefOrvnZ','Dw5Yzwy','BgvUz3rO','ofLvA1vPvq','nti5nJe0oufIz2DtBa','DMvYC2LVBNm','zgLZCg9Zzq','oduYnJqZmfz6CvjXBG'];_0x2549=function(){return _0x69ab9b;};return _0x2549();}function sameUsage(_0x2c8627,_0x38eadb){const _0x34274f=_0x4bbb8f;return _0x2c8627[_0x34274f(0xc0)]===_0x38eadb[_0x34274f(0xc0)]&&_0x2c8627[_0x34274f(0xc2)]===_0x38eadb[_0x34274f(0xc2)]&&_0x2c8627[_0x34274f(0xb8)]===_0x38eadb[_0x34274f(0xb8)]&&_0x2c8627[_0x34274f(0xbf)]===_0x38eadb[_0x34274f(0xbf)];}
@@ -1,9 +1,2 @@
1
- export class SessionDomainState {
2
- directNative = new Map();
3
- externalActivity = new Map();
4
- resumedByDirectId = new Map();
5
- resumeFailures = new Map();
6
- messageResumeFailures = new Map();
7
- resumeFailureDetails = new Map();
8
- failureTimers = new Map();
9
- }
1
+ /* mar-release-protected */
2
+ var _0x1172d1=_0x273c;function _0x3e88(){var _0x1a2a1c=['mJG0mtyWmZzRv2LJBNC','mZi4mZmYtNfAuwHS','ndu3nJi2m0XNsKHdyW','BwvZC2fNzvjLC3vTzuzHAwX1CMvZ','mJe2mtG2C3zhywrr','zMfPBhvYzvrPBwvYCW','zxH0zxjUywXby3rPDML0Eq','nZmXmJi0mMnQDeDHza','zgLYzwn0tMf0AxzL','mtqWndu2AKrdwujx','CMvZDw1LrMfPBhvYzurLDgfPBhm','nfP6rMruCW','mZb5tg1ID2G','ndL4wxz3quy','CMvZDw1LrMfPBhvYzxm','mtGYode3ourbwKLduq','CMvZDw1Lzej5rgLYzwn0swq','nvDfvvjuEG'];_0x3e88=function(){return _0x1a2a1c;};return _0x3e88();}function _0x273c(_0x3d9feb,_0x1498cb){_0x3d9feb=_0x3d9feb-(-0x3*0x1a2+0xc97*0x1+-0x661*0x1);var _0x29c442=_0x3e88();var _0x171673=_0x29c442[_0x3d9feb];if(_0x273c['zizmkG']===undefined){var _0x37a53c=function(_0x41c0b6){var _0x388b04='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1ee464='',_0x4c7f46='';for(var _0x27bce1=-0x1*-0x136b+0x1bc5*0x1+0x2*-0x1798,_0x3462aa,_0x314de0,_0x19caf9=0xe27+0x19d*-0x5+-0x2*0x30b;_0x314de0=_0x41c0b6['charAt'](_0x19caf9++);~_0x314de0&&(_0x3462aa=_0x27bce1%(0x119f*0x2+0x921+-0x2c5b)?_0x3462aa*(-0x684+0x9eb+0x10d*-0x3)+_0x314de0:_0x314de0,_0x27bce1++%(-0xe2*0x11+0x265e+-0x298*0x9))?_0x1ee464+=String['fromCharCode'](-0xe45*-0x1+-0x1*-0xbe5+-0x192b*0x1&_0x3462aa>>(-(0x2*0xeae+0x3b3*-0x3+-0x1*0x1241)*_0x27bce1&-0x22a6+-0x18f8*0x1+0x3ba4)):-0x3d7+0x24ea+0x1*-0x2113){_0x314de0=_0x388b04['indexOf'](_0x314de0);}for(var _0x527cba=0xcb2*-0x2+0x5ff*0x1+0x1*0x1365,_0x28548b=_0x1ee464['length'];_0x527cba<_0x28548b;_0x527cba++){_0x4c7f46+='%'+('00'+_0x1ee464['charCodeAt'](_0x527cba)['toString'](0xcca*0x3+0xd56+-0x295*0x14))['slice'](-(-0x24d8+-0x569+-0x15d*-0x1f));}return decodeURIComponent(_0x4c7f46);};_0x273c['WYSiGC']=_0x37a53c,_0x273c['rANxJJ']={},_0x273c['zizmkG']=!![];}var _0x3984b9=_0x29c442[-0x2388+-0x19*0xc5+0x1*0x36c5];_0x273c['etovuF']!==_0x3984b9&&(_0x273c['rANxJJ']={},_0x273c['etovuF']=_0x3984b9);var _0x57b4e4=_0x273c['rANxJJ'][_0x3d9feb];return _0x57b4e4===undefined?(_0x171673=_0x273c['WYSiGC'](_0x171673),_0x273c['rANxJJ'][_0x3d9feb]=_0x171673):_0x171673=_0x57b4e4,_0x171673;}(function(_0x195965,_0x5e6b39){var _0x527879=_0x273c,_0xd8da65=_0x195965();while(!![]){try{var _0x3e13d4=-parseInt(_0x527879(0x15c))/(0x1*0x1cff+-0x107*0xf+-0xd95)+parseInt(_0x527879(0x159))/(0x35c*-0x6+0x1*0x685+0xda5)+parseInt(_0x527879(0x15a))/(0x1*0x179b+-0x684+-0x1*0x1114)*(parseInt(_0x527879(0x151))/(0x39*0x81+0x1*0x2c5+-0x1f7a))+-parseInt(_0x527879(0x157))/(-0x10bb+-0x724*-0x5+-0x12f4)*(-parseInt(_0x527879(0x15f))/(0x2343*-0x1+0x5f7+-0x12*-0x1a1))+parseInt(_0x527879(0x153))/(-0x52+-0x90d*-0x3+0x2f*-0x92)*(parseInt(_0x527879(0x161))/(-0x43f*0x7+-0x7f9*-0x2+0xdcf))+parseInt(_0x527879(0x155))/(-0x2131+-0x1d69*-0x1+-0x1*-0x3d1)*(parseInt(_0x527879(0x152))/(-0x6c8+-0xd45+0x1417))+-parseInt(_0x527879(0x158))/(0x1*0x10fc+0x2405*0x1+-0x34f6);if(_0x3e13d4===_0x5e6b39)break;else _0xd8da65['push'](_0xd8da65['shift']());}catch(_0xa54562){_0xd8da65['push'](_0xd8da65['shift']());}}}(_0x3e88,0x283c7+0x3f5b9+0xa4e*0x9e));export class SessionDomainState{[_0x1172d1(0x160)]=new Map();[_0x1172d1(0x15e)]=new Map();[_0x1172d1(0x156)]=new Map();[_0x1172d1(0x154)]=new Map();[_0x1172d1(0x15b)]=new Map();[_0x1172d1(0x150)]=new Map();[_0x1172d1(0x15d)]=new Map();}
@@ -1,86 +1,2 @@
1
- export class SessionIdentityService {
2
- options;
3
- bootstrapIds = new Set();
4
- waiters = new Map();
5
- constructor(options) {
6
- this.options = options;
7
- }
8
- markBootstrap(sessionId) {
9
- this.bootstrapIds.add(sessionId);
10
- }
11
- promote(sessionId, nativeSessionId) {
12
- const current = this.options.runtime.getAgentSession(sessionId);
13
- this.options.runtime.promoteSessionIdentity(sessionId, nativeSessionId);
14
- if (current !== undefined)
15
- this.options.persist(current, nativeSessionId);
16
- this.options.migrateCommands(sessionId, nativeSessionId);
17
- this.options.migrateQueue(sessionId, nativeSessionId);
18
- this.options.migrateRunnerState(sessionId, nativeSessionId);
19
- this.bootstrapIds.delete(sessionId);
20
- const waiter = this.waiters.get(sessionId);
21
- if (waiter !== undefined) {
22
- clearTimeout(waiter.timer);
23
- this.waiters.delete(sessionId);
24
- waiter.resolve(nativeSessionId);
25
- }
26
- const session = this.options.runtime.getAgentSession(nativeSessionId);
27
- if (session === undefined)
28
- return;
29
- this.options.emitSession(session);
30
- for (const run of this.options.runtime.listRunsForSession(nativeSessionId))
31
- this.options.emitRun(run);
32
- this.options.emitQueue(nativeSessionId);
33
- for (const turn of this.options.runtime.listConversationTurns({ sessionId: nativeSessionId })
34
- .turns)
35
- if (turn.status !== 'QUEUED')
36
- this.options.emitTurn(turn);
37
- }
38
- wait(bootstrapSessionId) {
39
- const existing = this.waiters.get(bootstrapSessionId);
40
- if (existing !== undefined)
41
- return existing.promise;
42
- let resolveIdentity;
43
- let rejectIdentity;
44
- const promise = new Promise((resolve, reject) => {
45
- resolveIdentity = resolve;
46
- rejectIdentity = reject;
47
- });
48
- const timer = setTimeout(() => {
49
- this.waiters.delete(bootstrapSessionId);
50
- rejectIdentity(new Error('SESSION_NATIVE_ID_TIMEOUT'));
51
- }, 30_000);
52
- timer.unref();
53
- this.waiters.set(bootstrapSessionId, {
54
- promise,
55
- resolve: resolveIdentity,
56
- reject: rejectIdentity,
57
- timer
58
- });
59
- return promise;
60
- }
61
- reject(sessionId, code) {
62
- const waiter = this.waiters.get(sessionId);
63
- if (waiter === undefined)
64
- return;
65
- clearTimeout(waiter.timer);
66
- this.waiters.delete(sessionId);
67
- waiter.reject(new Error(code));
68
- queueMicrotask(() => {
69
- try {
70
- this.options.runtime.removeAgentSession(sessionId);
71
- this.bootstrapIds.delete(sessionId);
72
- }
73
- catch {
74
- // Runner cleanup may still own the bootstrap Session.
75
- }
76
- });
77
- }
78
- dispose() {
79
- for (const waiter of this.waiters.values()) {
80
- clearTimeout(waiter.timer);
81
- waiter.reject(new Error('NODE_STOPPED'));
82
- }
83
- this.waiters.clear();
84
- this.bootstrapIds.clear();
85
- }
86
- }
1
+ /* mar-release-protected */
2
+ function _0x55fe(_0x59bcbf,_0x461b79){_0x59bcbf=_0x59bcbf-(0x3e6*0x2+0x129+0x3d0*-0x2);const _0x3010e6=_0x5794();let _0x957afc=_0x3010e6[_0x59bcbf];if(_0x55fe['AfJCrD']===undefined){var _0x1e2feb=function(_0x42e512){const _0x1fa8e4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfddd74='',_0x53fa6a='';for(let _0x47a98c=0x12b8+-0x1*0x505+0xa7*-0x15,_0x4f0ece,_0xa6f901,_0x498a29=0x15a*-0x1b+0x8b4*0x4+0x1ae;_0xa6f901=_0x42e512['charAt'](_0x498a29++);~_0xa6f901&&(_0x4f0ece=_0x47a98c%(-0x81c+-0x14ea*-0x1+-0xcca)?_0x4f0ece*(-0x18bf+-0xa00+0x22ff)+_0xa6f901:_0xa6f901,_0x47a98c++%(0x1*-0xe21+-0xbd3+-0x19f8*-0x1))?_0xfddd74+=String['fromCharCode'](-0x1*0x23a9+-0x2095*0x1+0xdd9*0x5&_0x4f0ece>>(-(-0x129e+0x1734+-0x494)*_0x47a98c&0xfa5+-0x25*0xbf+-0xbfc*-0x1)):0x21b4+-0x1500*-0x1+-0x36b4){_0xa6f901=_0x1fa8e4['indexOf'](_0xa6f901);}for(let _0x145ab8=0x20bf*0x1+0x1b80+-0x123*0x35,_0x23f1ec=_0xfddd74['length'];_0x145ab8<_0x23f1ec;_0x145ab8++){_0x53fa6a+='%'+('00'+_0xfddd74['charCodeAt'](_0x145ab8)['toString'](-0x1*-0x373+0x1a2d*0x1+-0x1d90))['slice'](-(0x8*0x209+-0xc7e+-0x3c8));}return decodeURIComponent(_0x53fa6a);};_0x55fe['qfYwbr']=_0x1e2feb,_0x55fe['negKAw']={},_0x55fe['AfJCrD']=!![];}const _0x48faf2=_0x3010e6[-0x1*-0x675+0xd79+-0x13ee];_0x55fe['UlJTGB']!==_0x48faf2&&(_0x55fe['negKAw']={},_0x55fe['UlJTGB']=_0x48faf2);const _0x26e32d=_0x55fe['negKAw'][_0x59bcbf];return _0x26e32d===undefined?(_0x957afc=_0x55fe['qfYwbr'](_0x957afc),_0x55fe['negKAw'][_0x59bcbf]=_0x957afc):_0x957afc=_0x26e32d,_0x957afc;}const _0x3115e6=_0x55fe;function _0x5794(){const _0x5f4855=['z2v0','tK9erv9tve9queve','C2v0','u0vtu0LptL9oqvrjvKvFsurFveLnru9vva','ChjVBw90zq','mtu0odb2s3jPve4','CNvUDgLTzq','zgvSzxrL','BwLNCMf0zvf1zxvL','z2v0qwDLBNrtzxnZAw9U','zw1PDfnLC3nPB24','DMfSDwvZ','B3b0Aw9UCW','Dw5Yzwy','uvvfvuve','mtqZotblCKrnyNG','BgLZDenVBNzLCNnHDgLVBLr1CM5Z','D2fPDa','mZy0otm1mgHIBM9Ptq','mtiZnZu1ofDnqwzXtG','BwLNCMf0zvj1BM5LCLn0yxrL','DgLTzxi','C3rHDhvZ','y2XLyxi','zw1PDfj1BG','D2fPDgvYCW','odKWotrfsuD3AMW','mJq0uKr6uvLM','CMvTB3zLqwDLBNrtzxnZAw9U','ChjVBw90zvnLC3nPB25jzgvUDgL0Eq','zw1PDfr1CM4','CMvQzwn0','yM9VDhn0CMfWswrZ','BwfYA0jVB3rZDhjHCa','zw1PDff1zxvL','oti3uMzpBhrb','DhvYBNm','CgvYC2LZDa','BgLZDfj1BNngB3jtzxnZAw9U','mMXfyw5wuW','ntyWmJG2uLHZr2Hd','mJa0ndeZrxftyLDo','BwLNCMf0zunVBw1HBMrZ','zgLZCg9Zzq','CMvZB2X2zq','ywrK','ChjVBwLZzq'];_0x5794=function(){return _0x5f4855;};return _0x5794();}(function(_0x46a0cf,_0x22975a){const _0x33df88=_0x55fe,_0x28602b=_0x46a0cf();while(!![]){try{const _0x37100c=parseInt(_0x33df88(0x155))/(-0xde0+-0x21bc+0x2f9d)*(-parseInt(_0x33df88(0x182))/(0x1*-0x2375+0x19ed+0x98a*0x1))+-parseInt(_0x33df88(0x183))/(0x926*0x2+-0x122a+0x1*-0x1f)+-parseInt(_0x33df88(0x176))/(0x1ba4+-0x2222+0xe*0x77)*(-parseInt(_0x33df88(0x16a))/(0x874*0x1+-0x31+-0x83e))+-parseInt(_0x33df88(0x175))/(0x2589+0xee3+-0x3466)+parseInt(_0x33df88(0x16e))/(0x47*-0x51+0x82a*-0x1+0x1ea8)+-parseInt(_0x33df88(0x160))/(0xc8a+0x26f2+-0x3374)*(parseInt(_0x33df88(0x17e))/(-0x2*-0x10bb+0x16b3+-0x3820))+parseInt(_0x33df88(0x16d))/(-0x1230*0x1+0x59f*0x1+0x7*0x1cd);if(_0x37100c===_0x22975a)break;else _0x28602b['push'](_0x28602b['shift']());}catch(_0x53022d){_0x28602b['push'](_0x28602b['shift']());}}}(_0x5794,-0x4*0xd94c+0x11bd3+0x3feb3));export class SessionIdentityService{[_0x3115e6(0x167)];[_0x3115e6(0x17b)]=new Set();[_0x3115e6(0x174)]=new Map();constructor(_0x4d3efc){const _0x2cb30a=_0x3115e6;this[_0x2cb30a(0x167)]=_0x4d3efc;}[_0x3115e6(0x17c)](_0x4d6637){const _0x4dd625=_0x3115e6;this[_0x4dd625(0x17b)][_0x4dd625(0x159)](_0x4d6637);}[_0x3115e6(0x15f)](_0x51b63f,_0x255c8f){const _0x4ffb91=_0x3115e6,_0x25ca1d=this[_0x4ffb91(0x167)][_0x4ffb91(0x161)][_0x4ffb91(0x164)](_0x51b63f);this[_0x4ffb91(0x167)][_0x4ffb91(0x161)][_0x4ffb91(0x178)](_0x51b63f,_0x255c8f);if(_0x25ca1d!==undefined)this[_0x4ffb91(0x167)][_0x4ffb91(0x180)](_0x25ca1d,_0x255c8f);this[_0x4ffb91(0x167)][_0x4ffb91(0x156)](_0x51b63f,_0x255c8f),this[_0x4ffb91(0x167)][_0x4ffb91(0x163)](_0x51b63f,_0x255c8f),this[_0x4ffb91(0x167)][_0x4ffb91(0x16f)](_0x51b63f,_0x255c8f),this[_0x4ffb91(0x17b)][_0x4ffb91(0x162)](_0x51b63f);const _0x493773=this[_0x4ffb91(0x174)][_0x4ffb91(0x15b)](_0x51b63f);_0x493773!==undefined&&(clearTimeout(_0x493773[_0x4ffb91(0x170)]),this[_0x4ffb91(0x174)][_0x4ffb91(0x162)](_0x51b63f),_0x493773[_0x4ffb91(0x158)](_0x255c8f));const _0x6f3a60=this[_0x4ffb91(0x167)][_0x4ffb91(0x161)][_0x4ffb91(0x164)](_0x255c8f);if(_0x6f3a60===undefined)return;this[_0x4ffb91(0x167)][_0x4ffb91(0x165)](_0x6f3a60);for(const _0x52fa6b of this[_0x4ffb91(0x167)][_0x4ffb91(0x161)][_0x4ffb91(0x181)](_0x255c8f))this[_0x4ffb91(0x167)][_0x4ffb91(0x173)](_0x52fa6b);this[_0x4ffb91(0x167)][_0x4ffb91(0x17d)](_0x255c8f);for(const _0x3921a2 of this[_0x4ffb91(0x167)][_0x4ffb91(0x161)][_0x4ffb91(0x16b)]({'sessionId':_0x255c8f})[_0x4ffb91(0x17f)])if(_0x3921a2[_0x4ffb91(0x171)]!==_0x4ffb91(0x169))this[_0x4ffb91(0x167)][_0x4ffb91(0x179)](_0x3921a2);}[_0x3115e6(0x16c)](_0x4b2a4b){const _0x5bfecd=_0x3115e6,_0x117cca=this[_0x5bfecd(0x174)][_0x5bfecd(0x15b)](_0x4b2a4b);if(_0x117cca!==undefined)return _0x117cca[_0x5bfecd(0x15a)];let _0x237c0f,_0xd99700;const _0x2df73e=new Promise((_0x1e71ef,_0x2141d1)=>{_0x237c0f=_0x1e71ef,_0xd99700=_0x2141d1;}),_0x15640c=setTimeout(()=>{const _0x41932d=_0x5bfecd;this[_0x41932d(0x174)][_0x41932d(0x162)](_0x4b2a4b),_0xd99700(new Error(_0x41932d(0x15e)));},0xb8d*0x8+-0x2034+0x824*0x7);return _0x15640c[_0x5bfecd(0x168)](),this[_0x5bfecd(0x174)][_0x5bfecd(0x15d)](_0x4b2a4b,{'promise':_0x2df73e,'resolve':_0x237c0f,'reject':_0xd99700,'timer':_0x15640c}),_0x2df73e;}[_0x3115e6(0x17a)](_0x3a4c21,_0x44f1b2){const _0xe14e73=_0x3115e6,_0x2df831=this[_0xe14e73(0x174)][_0xe14e73(0x15b)](_0x3a4c21);if(_0x2df831===undefined)return;clearTimeout(_0x2df831[_0xe14e73(0x170)]),this[_0xe14e73(0x174)][_0xe14e73(0x162)](_0x3a4c21),_0x2df831[_0xe14e73(0x17a)](new Error(_0x44f1b2)),queueMicrotask(()=>{const _0x20edc9=_0xe14e73;try{this[_0x20edc9(0x167)][_0x20edc9(0x161)][_0x20edc9(0x177)](_0x3a4c21),this[_0x20edc9(0x17b)][_0x20edc9(0x162)](_0x3a4c21);}catch{}});}[_0x3115e6(0x157)](){const _0x18c107=_0x3115e6;for(const _0x34bcaa of this[_0x18c107(0x174)][_0x18c107(0x166)]()){clearTimeout(_0x34bcaa[_0x18c107(0x170)]),_0x34bcaa[_0x18c107(0x17a)](new Error(_0x18c107(0x15c)));}this[_0x18c107(0x174)][_0x18c107(0x172)](),this[_0x18c107(0x17b)][_0x18c107(0x172)]();}}
@@ -1,240 +1,2 @@
1
- import { validSessionEffort, validSessionOption, validSessionTitle } from '../util/node-operation-parsers.js';
2
- import { isPlainRecord } from '../util/node-operation-parsers.js';
3
- import { parseSecretEnvironment } from '../util/secret-environment.js';
4
- export class SessionLifecycleService {
5
- options;
6
- starts = new Map();
7
- constructor(options) {
8
- this.options = options;
9
- }
10
- operations() {
11
- return {
12
- 'session.metadata.update': (data) => this.updateMetadata(record(data)),
13
- 'session.pin.move': (data) => this.movePin(record(data)),
14
- 'session.create': (data) => this.create(record(data)),
15
- 'session.start': (data) => this.start(record(data)),
16
- 'session.config.update': (data) => this.updateConfiguration(record(data))
17
- };
18
- }
19
- clear() {
20
- this.starts.clear();
21
- }
22
- async updateMetadata(input) {
23
- if (typeof input.sessionId !== 'string' ||
24
- (input.customTitle !== undefined &&
25
- input.customTitle !== null &&
26
- typeof input.customTitle !== 'string') ||
27
- (input.pinned !== undefined && typeof input.pinned !== 'boolean'))
28
- throw new Error('SESSION_INVALID');
29
- if (input.customTitle === null || input.customTitle?.trim().length === 0)
30
- throw new Error('SESSION_TITLE_REQUIRED');
31
- if (input.customTitle !== undefined && input.customTitle.trim().length > 160)
32
- throw new Error('SESSION_TITLE_INVALID');
33
- const current = this.options.runtime.getAgentSession(input.sessionId) ??
34
- (await this.options.projection.createMetadataProjection(input.sessionId));
35
- if (current === undefined)
36
- throw new Error('SESSION_NOT_FOUND');
37
- const nativeCodexRename = this.options.runners.require(current.runner).usesRunnerTitleForRename() &&
38
- current.externalSessionId !== null &&
39
- input.customTitle !== undefined;
40
- await this.options.projection.rename(current, {
41
- ...(input.customTitle === undefined ? {} : { title: input.customTitle }),
42
- ...(input.pinned === undefined ? {} : { pinned: input.pinned })
43
- });
44
- const metadataTitle = nativeCodexRename ? null : input.customTitle;
45
- const updated = this.options.runtime.updateSessionMetadata({
46
- sessionId: current.id,
47
- ...(metadataTitle === undefined ? {} : { customTitle: metadataTitle }),
48
- ...(input.pinned === undefined ? {} : { pinned: input.pinned })
49
- });
50
- return {
51
- session: this.options.present(nativeCodexRename
52
- ? this.options.runtime.setRunnerTitleFromNative(updated.id, input.customTitle ?? '')
53
- : updated)
54
- };
55
- }
56
- movePin(input) {
57
- if (typeof input.sessionId !== 'string' ||
58
- (input.direction !== 'up' && input.direction !== 'down'))
59
- throw new Error('SESSION_PIN_MOVE_INVALID');
60
- this.options.database().movePinnedSession(input.sessionId, input.direction);
61
- return { moved: true };
62
- }
63
- create(input) {
64
- const runner = this.options.runners.product(input.runner);
65
- if (typeof input.workspaceId !== 'string' ||
66
- runner === undefined ||
67
- typeof input.cwd !== 'string' ||
68
- input.cwd.length === 0 ||
69
- (input.externalSessionId !== undefined && typeof input.externalSessionId !== 'string') ||
70
- !validSessionTitle(input.title) ||
71
- !validSessionOption(input.model) ||
72
- !validSessionEffort(input.effort) ||
73
- !validSessionOption(input.access))
74
- throw new Error('SESSION_INVALID');
75
- const database = this.options.database();
76
- const workspace = database.getWorkspace(input.workspaceId);
77
- if (workspace === undefined)
78
- throw new Error('WORKSPACE_NOT_FOUND');
79
- const environment = parseSecretEnvironment(input.secretEnvironment);
80
- const saved = database
81
- .getRunnerDefaults()
82
- .find((value) => value.runner === runner.name &&
83
- this.options.runners.supportsConfiguration(value, workspace, environment));
84
- const fallback = runner.defaultConfiguration(workspace, environment);
85
- const configuration = {
86
- runner: runner.name,
87
- model: typeof input.model === 'string' ? input.model : (saved?.model ?? fallback.model),
88
- effort: typeof input.effort === 'string' ? input.effort : (saved?.effort ?? fallback.effort),
89
- access: typeof input.access === 'string' ? input.access : (saved?.access ?? fallback.access)
90
- };
91
- if (!this.options.runners.supportsConfiguration(configuration, workspace, environment))
92
- throw new Error('RUNNER_CONFIGURATION_UNSUPPORTED');
93
- const session = this.options.runtime.createAgentSession({
94
- workspaceId: input.workspaceId,
95
- runner: runner.name,
96
- cwd: input.cwd,
97
- ...(typeof input.externalSessionId === 'string'
98
- ? { externalSessionId: input.externalSessionId }
99
- : {}),
100
- model: configuration.model,
101
- effort: configuration.effort,
102
- access: configuration.access,
103
- ...(typeof input.title === 'string' ? { title: input.title } : {})
104
- });
105
- if (input.bootstrapOnly === true)
106
- this.options.identity.markBootstrap(session.id);
107
- database.saveRunnerDefaults(configuration);
108
- if (input.bootstrapOnly !== true)
109
- this.options.emitSession(session);
110
- return { session: this.options.present(session) };
111
- }
112
- async updateConfiguration(input) {
113
- if (typeof input.sessionId !== 'string' ||
114
- typeof input.model !== 'string' ||
115
- !validSessionOption(input.model) ||
116
- typeof input.effort !== 'string' ||
117
- !validSessionEffort(input.effort) ||
118
- typeof input.access !== 'string' ||
119
- !validSessionOption(input.access))
120
- throw new Error('SESSION_INVALID');
121
- const current = this.options.runtime.getAgentSession(input.sessionId) ??
122
- (await this.options.projection.createMetadataProjection(input.sessionId));
123
- if (current === undefined)
124
- throw new Error('SESSION_NOT_FOUND');
125
- const session = this.options.runtime.updateAgentSessionConfiguration({
126
- sessionId: current.id,
127
- model: input.model,
128
- effort: input.effort,
129
- access: input.access
130
- });
131
- if (session.externalSessionId !== null)
132
- this.options.database().saveNativeSessionMetadata({
133
- runner: session.runner,
134
- externalSessionId: session.externalSessionId,
135
- workspaceId: session.workspaceId,
136
- model: session.model,
137
- effort: session.effort,
138
- access: session.access
139
- });
140
- this.options.emitSession(session);
141
- return { session: this.options.present(session) };
142
- }
143
- async start(input) {
144
- if (typeof input.clientMessageId !== 'string' ||
145
- input.clientMessageId.length === 0 ||
146
- typeof input.content !== 'string' ||
147
- input.content.length === 0)
148
- throw new Error('MESSAGE_INVALID');
149
- if (input.deferredCommands !== undefined &&
150
- (!Array.isArray(input.deferredCommands) ||
151
- input.deferredCommands.some((value) => !isPlainRecord(value) ||
152
- typeof value.commandId !== 'string' ||
153
- typeof value.input !== 'string')))
154
- throw new Error('RUNNER_COMMAND_INVALID');
155
- const startKey = `${input.workspaceId}\u0000${input.runner}\u0000${input.clientMessageId}`;
156
- const existing = this.starts.get(startKey);
157
- if (existing !== undefined)
158
- return existing;
159
- const start = this.startFresh(input);
160
- this.starts.set(startKey, start);
161
- try {
162
- const result = await start;
163
- while (this.starts.size > 512) {
164
- const oldest = this.starts.keys().next().value;
165
- if (oldest === undefined || oldest === startKey)
166
- break;
167
- this.starts.delete(oldest);
168
- }
169
- return result;
170
- }
171
- catch (error) {
172
- this.starts.delete(startKey);
173
- throw error;
174
- }
175
- }
176
- async startFresh(input) {
177
- const created = (await this.options.execute('session.create', {
178
- ...input,
179
- bootstrapOnly: true
180
- }));
181
- const bootstrapId = created.session.id;
182
- const identity = this.options.identity.wait(bootstrapId);
183
- try {
184
- if (Array.isArray(input.deferredCommands))
185
- for (const value of input.deferredCommands)
186
- if (isPlainRecord(value))
187
- await this.options.execute('session.command.execute', {
188
- sessionId: bootstrapId,
189
- commandId: value.commandId,
190
- input: value.input,
191
- ...(input.secretEnvironment === undefined
192
- ? {}
193
- : { secretEnvironment: input.secretEnvironment })
194
- });
195
- const interceptedId = this.options.interceptedSessionId(input.clientMessageId);
196
- const messageSessionId = interceptedId ?? bootstrapId;
197
- if (interceptedId !== undefined)
198
- this.options.identity.promote(bootstrapId, interceptedId);
199
- const message = (await this.options.execute('session.message', {
200
- sessionId: messageSessionId,
201
- clientMessageId: input.clientMessageId,
202
- content: input.content,
203
- ...(input.__requestUserId === undefined ? {} : { __requestUserId: input.__requestUserId }),
204
- ...(input.secretEnvironment === undefined
205
- ? {}
206
- : { secretEnvironment: input.secretEnvironment }),
207
- ...(input.personalInstructions === undefined
208
- ? {}
209
- : { personalInstructions: input.personalInstructions }),
210
- ...(input.attachmentIds === undefined ? {} : { attachmentIds: input.attachmentIds })
211
- }));
212
- const nativeSessionId = await identity;
213
- const session = this.options.runtime.getAgentSession(nativeSessionId);
214
- const run = this.options.runtime.getRun(message.run.id);
215
- if (session === undefined || run === undefined)
216
- throw new Error('SESSION_START_FAILED');
217
- return {
218
- session: this.options.present(session),
219
- run,
220
- delivery: message.delivery,
221
- idempotent: message.idempotent
222
- };
223
- }
224
- catch (error) {
225
- this.options.identity.reject(bootstrapId, 'SESSION_START_FAILED');
226
- const promotedSessionId = await identity.catch(() => undefined);
227
- if (promotedSessionId !== undefined)
228
- try {
229
- this.options.runtime.removeAgentSession(promotedSessionId);
230
- }
231
- catch {
232
- // A started Run owns the promoted Session and finishes normally.
233
- }
234
- throw error;
235
- }
236
- }
237
- }
238
- function record(data) {
239
- return data !== null && typeof data === 'object' ? data : {};
240
- }
1
+ /* mar-release-protected */
2
+ const _0x544d0d=_0x3c26;(function(_0x54a2a8,_0x25bc2f){const _0x5ce1b2=_0x3c26,_0x30c9a1=_0x54a2a8();while(!![]){try{const _0x119ef1=parseInt(_0x5ce1b2(0xb9))/(0x266f+0x228e*-0x1+-0x3e0)+parseInt(_0x5ce1b2(0xb2))/(-0x9d5*0x3+0x22a4+-0x523)+-parseInt(_0x5ce1b2(0x11c))/(0x190f*0x1+-0x10e5+0x827*-0x1)*(-parseInt(_0x5ce1b2(0xdf))/(-0x5*-0xb7+0x1bcd+-0x1f5c))+-parseInt(_0x5ce1b2(0xda))/(0x1*0x68b+0x1317*-0x1+0xc91*0x1)+-parseInt(_0x5ce1b2(0x109))/(-0xb68+-0x1979+-0x43*-0x8d)*(-parseInt(_0x5ce1b2(0xe8))/(-0xd*0x1fd+-0x23e8+0x3dc8))+-parseInt(_0x5ce1b2(0xd5))/(0x1dc4+0x17e*-0x1+-0x1c3e)*(parseInt(_0x5ce1b2(0xff))/(-0xd89+0x721+-0x61*-0x11))+parseInt(_0x5ce1b2(0x103))/(0x217a+0x1f*-0xed+-0x4bd)*(-parseInt(_0x5ce1b2(0xc4))/(0x1706*-0x1+-0x1c32+0x4a9*0xb));if(_0x119ef1===_0x25bc2f)break;else _0x30c9a1['push'](_0x30c9a1['shift']());}catch(_0x37700d){_0x30c9a1['push'](_0x30c9a1['shift']());}}}(_0x5aad,0xea58b+0x100180+-0x12b*0x118b));function _0x3c26(_0x176a17,_0x1d4e69){_0x176a17=_0x176a17-(-0x18fe*-0x1+0x3d5+-0x1c24);const _0x5b5eda=_0x5aad();let _0x2deec5=_0x5b5eda[_0x176a17];if(_0x3c26['QeyFLe']===undefined){var _0x180d83=function(_0x556be2){const _0x3bfb91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c8efc='',_0x41ce78='';for(let _0x373b6b=-0x1519+0xb7e*0x2+-0x1e3,_0x2d26fc,_0x4e79c1,_0x2851ca=-0x1d*-0x113+0x1ccf+0x1dfb*-0x2;_0x4e79c1=_0x556be2['charAt'](_0x2851ca++);~_0x4e79c1&&(_0x2d26fc=_0x373b6b%(0x62e+0x1*-0x983+0x359)?_0x2d26fc*(-0x4c1*-0x6+0x1d5+-0x1e1b)+_0x4e79c1:_0x4e79c1,_0x373b6b++%(-0x25e5+-0x1c8e+0x1*0x4277))?_0x5c8efc+=String['fromCharCode'](-0x5*-0x545+-0x28*-0x57+-0x26f2&_0x2d26fc>>(-(0x2*0x1aa+-0x657*0x1+0x1*0x305)*_0x373b6b&0x820+-0x1bbb+-0x1*-0x13a1)):0x1a6b*0x1+-0x5*0x38f+-0x8a0){_0x4e79c1=_0x3bfb91['indexOf'](_0x4e79c1);}for(let _0x67e8a9=-0x1dcb+0x31*0xc5+-0x7ea,_0x29ae2a=_0x5c8efc['length'];_0x67e8a9<_0x29ae2a;_0x67e8a9++){_0x41ce78+='%'+('00'+_0x5c8efc['charCodeAt'](_0x67e8a9)['toString'](0x2*0x3aa+0x1fa0+0x106*-0x26))['slice'](-(0x6*-0x503+0xb0e+0x1306));}return decodeURIComponent(_0x41ce78);};_0x3c26['WsYGzr']=_0x180d83,_0x3c26['ZqKGeo']={},_0x3c26['QeyFLe']=!![];}const _0x272c02=_0x5b5eda[0x13bd+0x382+-0x21d*0xb];_0x3c26['Jpznhy']!==_0x272c02&&(_0x3c26['ZqKGeo']={},_0x3c26['Jpznhy']=_0x272c02);const _0x100b83=_0x3c26['ZqKGeo'][_0x176a17];return _0x100b83===undefined?(_0x2deec5=_0x3c26['WsYGzr'](_0x2deec5),_0x3c26['ZqKGeo'][_0x176a17]=_0x2deec5):_0x2deec5=_0x100b83,_0x2deec5;}import{validSessionEffort,validSessionOption,validSessionTitle}from'../util/node-operation-parsers.js';import{isPlainRecord}from'../util/node-operation-parsers.js';import{parseSecretEnvironment}from'../util/secret-environment.js';export class SessionLifecycleService{[_0x544d0d(0xbd)];[_0x544d0d(0xb4)]=new Map();constructor(_0x3bef5d){const _0xe7508e=_0x544d0d;this[_0xe7508e(0xbd)]=_0x3bef5d;}[_0x544d0d(0xf5)](){const _0x4724d8=_0x544d0d;return{'session.metadata.update':_0x410410=>this[_0x4724d8(0x107)](record(_0x410410)),'session.pin.move':_0x399ac8=>this[_0x4724d8(0xe1)](record(_0x399ac8)),'session.create':_0xdd7727=>this[_0x4724d8(0xef)](record(_0xdd7727)),'session.start':_0x1913ec=>this[_0x4724d8(0xd0)](record(_0x1913ec)),'session.config.update':_0x2787d5=>this[_0x4724d8(0xbc)](record(_0x2787d5))};}[_0x544d0d(0x10f)](){const _0x165173=_0x544d0d;this[_0x165173(0xb4)][_0x165173(0x10f)]();}async[_0x544d0d(0x107)](_0x379b11){const _0x65050a=_0x544d0d;if(typeof _0x379b11[_0x65050a(0xf0)]!==_0x65050a(0xfd)||_0x379b11[_0x65050a(0xdd)]!==undefined&&_0x379b11[_0x65050a(0xdd)]!==null&&typeof _0x379b11[_0x65050a(0xdd)]!==_0x65050a(0xfd)||_0x379b11[_0x65050a(0x108)]!==undefined&&typeof _0x379b11[_0x65050a(0x108)]!==_0x65050a(0xf6))throw new Error(_0x65050a(0x11a));if(_0x379b11[_0x65050a(0xdd)]===null||_0x379b11[_0x65050a(0xdd)]?.[_0x65050a(0xc3)]()[_0x65050a(0xc2)]===0xa4e*0x3+-0x1a*0x5c+-0x1592)throw new Error(_0x65050a(0x100));if(_0x379b11[_0x65050a(0xdd)]!==undefined&&_0x379b11[_0x65050a(0xdd)][_0x65050a(0xc3)]()[_0x65050a(0xc2)]>-0x4*-0x9b8+0x23bd+0xd*-0x5b1)throw new Error(_0x65050a(0x118));const _0x2d290d=this[_0x65050a(0xbd)][_0x65050a(0xf2)][_0x65050a(0x10a)](_0x379b11[_0x65050a(0xf0)])??await this[_0x65050a(0xbd)][_0x65050a(0x112)][_0x65050a(0xea)](_0x379b11[_0x65050a(0xf0)]);if(_0x2d290d===undefined)throw new Error(_0x65050a(0xc6));const _0x4feec6=this[_0x65050a(0xbd)][_0x65050a(0xed)][_0x65050a(0x106)](_0x2d290d[_0x65050a(0xc9)])[_0x65050a(0x11d)]()&&_0x2d290d[_0x65050a(0xd9)]!==null&&_0x379b11[_0x65050a(0xdd)]!==undefined;await this[_0x65050a(0xbd)][_0x65050a(0x112)][_0x65050a(0xd4)](_0x2d290d,{..._0x379b11[_0x65050a(0xdd)]===undefined?{}:{'title':_0x379b11[_0x65050a(0xdd)]},..._0x379b11[_0x65050a(0x108)]===undefined?{}:{'pinned':_0x379b11[_0x65050a(0x108)]}});const _0x19f91b=_0x4feec6?null:_0x379b11[_0x65050a(0xdd)],_0x4a0246=this[_0x65050a(0xbd)][_0x65050a(0xf2)][_0x65050a(0xe6)]({'sessionId':_0x2d290d['id'],..._0x19f91b===undefined?{}:{'customTitle':_0x19f91b},..._0x379b11[_0x65050a(0x108)]===undefined?{}:{'pinned':_0x379b11[_0x65050a(0x108)]}});return{'session':this[_0x65050a(0xbd)][_0x65050a(0xb0)](_0x4feec6?this[_0x65050a(0xbd)][_0x65050a(0xf2)][_0x65050a(0xe9)](_0x4a0246['id'],_0x379b11[_0x65050a(0xdd)]??''):_0x4a0246)};}[_0x544d0d(0xe1)](_0x483244){const _0x17fcda=_0x544d0d;if(typeof _0x483244[_0x17fcda(0xf0)]!==_0x17fcda(0xfd)||_0x483244[_0x17fcda(0xe7)]!=='up'&&_0x483244[_0x17fcda(0xe7)]!==_0x17fcda(0x110))throw new Error(_0x17fcda(0xb7));return this[_0x17fcda(0xbd)][_0x17fcda(0xb6)]()[_0x17fcda(0xb8)](_0x483244[_0x17fcda(0xf0)],_0x483244[_0x17fcda(0xe7)]),{'moved':!![]};}[_0x544d0d(0xef)](_0x3bf3e4){const _0x6d7680=_0x544d0d,_0x1e427a=this[_0x6d7680(0xbd)][_0x6d7680(0xed)][_0x6d7680(0xe0)](_0x3bf3e4[_0x6d7680(0xc9)]);if(typeof _0x3bf3e4[_0x6d7680(0x116)]!==_0x6d7680(0xfd)||_0x1e427a===undefined||typeof _0x3bf3e4[_0x6d7680(0xb5)]!==_0x6d7680(0xfd)||_0x3bf3e4[_0x6d7680(0xb5)][_0x6d7680(0xc2)]===0x5*-0x7d+0x1c86+-0x1a15||_0x3bf3e4[_0x6d7680(0xd9)]!==undefined&&typeof _0x3bf3e4[_0x6d7680(0xd9)]!==_0x6d7680(0xfd)||!validSessionTitle(_0x3bf3e4[_0x6d7680(0x105)])||!validSessionOption(_0x3bf3e4[_0x6d7680(0xfa)])||!validSessionEffort(_0x3bf3e4[_0x6d7680(0xcf)])||!validSessionOption(_0x3bf3e4[_0x6d7680(0xc0)]))throw new Error(_0x6d7680(0x11a));const _0x2351b1=this[_0x6d7680(0xbd)][_0x6d7680(0xb6)](),_0xb53765=_0x2351b1[_0x6d7680(0xec)](_0x3bf3e4[_0x6d7680(0x116)]);if(_0xb53765===undefined)throw new Error(_0x6d7680(0xc1));const _0x5db558=parseSecretEnvironment(_0x3bf3e4[_0x6d7680(0x115)]),_0x20b9b7=_0x2351b1[_0x6d7680(0xce)]()[_0x6d7680(0xf3)](_0x38a1a1=>_0x38a1a1[_0x6d7680(0xc9)]===_0x1e427a[_0x6d7680(0xbb)]&&this[_0x6d7680(0xbd)][_0x6d7680(0xed)][_0x6d7680(0xb3)](_0x38a1a1,_0xb53765,_0x5db558)),_0x3841ca=_0x1e427a[_0x6d7680(0xf1)](_0xb53765,_0x5db558),_0x421c5e={'runner':_0x1e427a[_0x6d7680(0xbb)],'model':typeof _0x3bf3e4[_0x6d7680(0xfa)]===_0x6d7680(0xfd)?_0x3bf3e4[_0x6d7680(0xfa)]:_0x20b9b7?.[_0x6d7680(0xfa)]??_0x3841ca[_0x6d7680(0xfa)],'effort':typeof _0x3bf3e4[_0x6d7680(0xcf)]===_0x6d7680(0xfd)?_0x3bf3e4[_0x6d7680(0xcf)]:_0x20b9b7?.[_0x6d7680(0xcf)]??_0x3841ca[_0x6d7680(0xcf)],'access':typeof _0x3bf3e4[_0x6d7680(0xc0)]===_0x6d7680(0xfd)?_0x3bf3e4[_0x6d7680(0xc0)]:_0x20b9b7?.[_0x6d7680(0xc0)]??_0x3841ca[_0x6d7680(0xc0)]};if(!this[_0x6d7680(0xbd)][_0x6d7680(0xed)][_0x6d7680(0xb3)](_0x421c5e,_0xb53765,_0x5db558))throw new Error(_0x6d7680(0xcb));const _0x2e1150=this[_0x6d7680(0xbd)][_0x6d7680(0xf2)][_0x6d7680(0xf4)]({'workspaceId':_0x3bf3e4[_0x6d7680(0x116)],'runner':_0x1e427a[_0x6d7680(0xbb)],'cwd':_0x3bf3e4[_0x6d7680(0xb5)],...typeof _0x3bf3e4[_0x6d7680(0xd9)]===_0x6d7680(0xfd)?{'externalSessionId':_0x3bf3e4[_0x6d7680(0xd9)]}:{},'model':_0x421c5e[_0x6d7680(0xfa)],'effort':_0x421c5e[_0x6d7680(0xcf)],'access':_0x421c5e[_0x6d7680(0xc0)],...typeof _0x3bf3e4[_0x6d7680(0x105)]===_0x6d7680(0xfd)?{'title':_0x3bf3e4[_0x6d7680(0x105)]}:{}});if(_0x3bf3e4[_0x6d7680(0x10b)]===!![])this[_0x6d7680(0xbd)][_0x6d7680(0xe4)][_0x6d7680(0xfe)](_0x2e1150['id']);_0x2351b1[_0x6d7680(0xd2)](_0x421c5e);if(_0x3bf3e4[_0x6d7680(0x10b)]!==!![])this[_0x6d7680(0xbd)][_0x6d7680(0xe5)](_0x2e1150);return{'session':this[_0x6d7680(0xbd)][_0x6d7680(0xb0)](_0x2e1150)};}async[_0x544d0d(0xbc)](_0x56491a){const _0x56edee=_0x544d0d;if(typeof _0x56491a[_0x56edee(0xf0)]!==_0x56edee(0xfd)||typeof _0x56491a[_0x56edee(0xfa)]!==_0x56edee(0xfd)||!validSessionOption(_0x56491a[_0x56edee(0xfa)])||typeof _0x56491a[_0x56edee(0xcf)]!==_0x56edee(0xfd)||!validSessionEffort(_0x56491a[_0x56edee(0xcf)])||typeof _0x56491a[_0x56edee(0xc0)]!==_0x56edee(0xfd)||!validSessionOption(_0x56491a[_0x56edee(0xc0)]))throw new Error(_0x56edee(0x11a));const _0x568fb4=this[_0x56edee(0xbd)][_0x56edee(0xf2)][_0x56edee(0x10a)](_0x56491a[_0x56edee(0xf0)])??await this[_0x56edee(0xbd)][_0x56edee(0x112)][_0x56edee(0xea)](_0x56491a[_0x56edee(0xf0)]);if(_0x568fb4===undefined)throw new Error(_0x56edee(0xc6));const _0x342849=this[_0x56edee(0xbd)][_0x56edee(0xf2)][_0x56edee(0xba)]({'sessionId':_0x568fb4['id'],'model':_0x56491a[_0x56edee(0xfa)],'effort':_0x56491a[_0x56edee(0xcf)],'access':_0x56491a[_0x56edee(0xc0)]});if(_0x342849[_0x56edee(0xd9)]!==null)this[_0x56edee(0xbd)][_0x56edee(0xb6)]()[_0x56edee(0xdc)]({'runner':_0x342849[_0x56edee(0xc9)],'externalSessionId':_0x342849[_0x56edee(0xd9)],'workspaceId':_0x342849[_0x56edee(0x116)],'model':_0x342849[_0x56edee(0xfa)],'effort':_0x342849[_0x56edee(0xcf)],'access':_0x342849[_0x56edee(0xc0)]});return this[_0x56edee(0xbd)][_0x56edee(0xe5)](_0x342849),{'session':this[_0x56edee(0xbd)][_0x56edee(0xb0)](_0x342849)};}async[_0x544d0d(0xd0)](_0x9e6086){const _0x5d1912=_0x544d0d;if(typeof _0x9e6086[_0x5d1912(0xfb)]!==_0x5d1912(0xfd)||_0x9e6086[_0x5d1912(0xfb)][_0x5d1912(0xc2)]===-0x1fc7+-0x25e5+0x45ac||typeof _0x9e6086[_0x5d1912(0xd3)]!==_0x5d1912(0xfd)||_0x9e6086[_0x5d1912(0xd3)][_0x5d1912(0xc2)]===0x3*0x50e+-0x1*-0x359+-0x7*0x2a5)throw new Error(_0x5d1912(0xdb));if(_0x9e6086[_0x5d1912(0x101)]!==undefined&&(!Array[_0x5d1912(0xd6)](_0x9e6086[_0x5d1912(0x101)])||_0x9e6086[_0x5d1912(0x101)][_0x5d1912(0x119)](_0x3d2e43=>!isPlainRecord(_0x3d2e43)||typeof _0x3d2e43[_0x5d1912(0x102)]!==_0x5d1912(0xfd)||typeof _0x3d2e43[_0x5d1912(0xee)]!==_0x5d1912(0xfd))))throw new Error(_0x5d1912(0xeb));const _0x54cf91=_0x9e6086[_0x5d1912(0x116)]+'\x00'+_0x9e6086[_0x5d1912(0xc9)]+'\x00'+_0x9e6086[_0x5d1912(0xfb)],_0x4cbc0f=this[_0x5d1912(0xb4)][_0x5d1912(0xe3)](_0x54cf91);if(_0x4cbc0f!==undefined)return _0x4cbc0f;const _0xafd290=this[_0x5d1912(0xbf)](_0x9e6086);this[_0x5d1912(0xb4)][_0x5d1912(0xd8)](_0x54cf91,_0xafd290);try{const _0x369f17=await _0xafd290;while(this[_0x5d1912(0xb4)][_0x5d1912(0x10d)]>-0x1e68+0x2*0x1aa+-0xe8a*-0x2){const _0x444a36=this[_0x5d1912(0xb4)][_0x5d1912(0xd1)]()[_0x5d1912(0xe2)]()[_0x5d1912(0x111)];if(_0x444a36===undefined||_0x444a36===_0x54cf91)break;this[_0x5d1912(0xb4)][_0x5d1912(0xf8)](_0x444a36);}return _0x369f17;}catch(_0x29cf14){this[_0x5d1912(0xb4)][_0x5d1912(0xf8)](_0x54cf91);throw _0x29cf14;}}async[_0x544d0d(0xbf)](_0x125e68){const _0x427b63=_0x544d0d,_0x47c81a=await this[_0x427b63(0xbd)][_0x427b63(0xbe)](_0x427b63(0xaf),{..._0x125e68,'bootstrapOnly':!![]}),_0x33f8b4=_0x47c81a[_0x427b63(0xcc)]['id'],_0x3b9138=this[_0x427b63(0xbd)][_0x427b63(0xe4)][_0x427b63(0xd7)](_0x33f8b4);try{if(Array[_0x427b63(0xd6)](_0x125e68[_0x427b63(0x101)])){for(const _0x180d83 of _0x125e68[_0x427b63(0x101)])if(isPlainRecord(_0x180d83))await this[_0x427b63(0xbd)][_0x427b63(0xbe)](_0x427b63(0x11b),{'sessionId':_0x33f8b4,'commandId':_0x180d83[_0x427b63(0x102)],'input':_0x180d83[_0x427b63(0xee)],..._0x125e68[_0x427b63(0x115)]===undefined?{}:{'secretEnvironment':_0x125e68[_0x427b63(0x115)]}});}const _0x1c2f62=this[_0x427b63(0xbd)][_0x427b63(0xca)](_0x125e68[_0x427b63(0xfb)]),_0x4b0f54=_0x1c2f62??_0x33f8b4;if(_0x1c2f62!==undefined)this[_0x427b63(0xbd)][_0x427b63(0xe4)][_0x427b63(0xc8)](_0x33f8b4,_0x1c2f62);const _0x1200de=await this[_0x427b63(0xbd)][_0x427b63(0xbe)](_0x427b63(0xc5),{'sessionId':_0x4b0f54,'clientMessageId':_0x125e68[_0x427b63(0xfb)],'content':_0x125e68[_0x427b63(0xd3)],..._0x125e68[_0x427b63(0xf9)]===undefined?{}:{'__requestUserId':_0x125e68[_0x427b63(0xf9)]},..._0x125e68[_0x427b63(0x115)]===undefined?{}:{'secretEnvironment':_0x125e68[_0x427b63(0x115)]},..._0x125e68[_0x427b63(0xc7)]===undefined?{}:{'personalInstructions':_0x125e68[_0x427b63(0xc7)]},..._0x125e68[_0x427b63(0xfc)]===undefined?{}:{'attachmentIds':_0x125e68[_0x427b63(0xfc)]}}),_0x176a17=await _0x3b9138,_0x1d4e69=this[_0x427b63(0xbd)][_0x427b63(0xf2)][_0x427b63(0x10a)](_0x176a17),_0x5b5eda=this[_0x427b63(0xbd)][_0x427b63(0xf2)][_0x427b63(0xf7)](_0x1200de[_0x427b63(0x117)]['id']),_0x2deec5=this[_0x427b63(0xbd)][_0x427b63(0xf2)][_0x427b63(0x113)](_0x1200de[_0x427b63(0x117)]['id']);if(_0x1d4e69===undefined||_0x5b5eda===undefined||_0x2deec5===undefined)throw new Error(_0x427b63(0x104));return{'session':this[_0x427b63(0xbd)][_0x427b63(0xb0)](_0x1d4e69),'run':_0x5b5eda,'turn':_0x2deec5,'delivery':_0x1200de[_0x427b63(0x10c)],'idempotent':_0x1200de[_0x427b63(0x10e)]};}catch(_0x272c02){this[_0x427b63(0xbd)][_0x427b63(0xe4)][_0x427b63(0x114)](_0x33f8b4,_0x427b63(0x104));const _0x100b83=await _0x3b9138[_0x427b63(0xb1)](()=>undefined);if(_0x100b83!==undefined)try{this[_0x427b63(0xbd)][_0x427b63(0xf2)][_0x427b63(0xcd)](_0x100b83);}catch{}throw _0x272c02;}}}function record(_0x556be2){const _0x310d65=_0x544d0d;return _0x556be2!==null&&typeof _0x556be2===_0x310d65(0xde)?_0x556be2:{};}function _0x5aad(){const _0x558fe8=['ChjLC2vUDa','y2f0y2G','mtaXmJm3nhz3uuLiqG','C3vWCg9YDhndB25MAwD1CMf0Aw9U','C3rHCNrZ','y3DK','zgf0ywjHC2u','u0vtu0LptL9qsu5Ftu9wrv9jtLzbteLe','Bw92zvbPBM5LzfnLC3nPB24','mti1mZu5m0zuEKHTvW','DxbKyxrLqwDLBNrtzxnZAw9Uq29UzMLNDxjHDgLVBG','BMfTzq','DxbKyxrLq29UzMLNDxjHDgLVBG','B3b0Aw9UCW','zxHLy3v0zq','C3rHCNrgCMvZAa','ywnJzxnZ','v09ss1nqqunfx05pvf9gt1vora','BgvUz3rO','DhjPBq','ndrct3jmy2y','C2vZC2LVBI5TzxnZywDL','u0vtu0LptL9ot1rFrK9vtKq','CgvYC29UywXjBNn0CNvJDgLVBNm','ChjVBw90zq','CNvUBMvY','Aw50zxjJzxb0zwrtzxnZAw9Uswq','uLvotKvsx0nptKzjr1vsqvrjt05Fvu5tvvbqt1juruq','C2vZC2LVBG','CMvTB3zLqwDLBNrtzxnZAw9U','z2v0uNvUBMvYrgvMyxvSDhm','zwzMB3j0','C3rHCNq','A2v5CW','C2f2zvj1BM5LCKrLzMf1BhrZ','y29UDgvUDa','CMvUyw1L','mJm1mJG4BhnWvhrl','AxnbCNjHEq','D2fPDa','C2v0','zxH0zxjUywXtzxnZAw9Uswq','mZu0mJG1z1L4zeTt','tuvtu0fhrv9jtLzbteLe','C2f2zu5HDgL2zvnLC3nPB25nzxrHzgf0yq','y3vZDg9TvgL0Bgu','B2jQzwn0','mJe2mtzVtgfRrfG','ChjVzhvJDa','Bw92zvbPBG','BMv4Da','z2v0','AwrLBNrPDhK','zw1PDfnLC3nPB24','DxbKyxrLu2vZC2LVBK1LDgfKyxrH','zgLYzwn0Aw9U','nda2BxreseXS','C2v0uNvUBMvYvgL0BgvgCM9TtMf0AxzL','y3jLyxrLtwv0ywrHDgfqCM9Qzwn0Aw9U','uLvotKvsx0nptu1btKrFsu5wquXjra','z2v0v29YA3nWywnL','CNvUBMvYCW','Aw5WDxq','y3jLyxrL','C2vZC2LVBKLK','zgvMyxvSDenVBMzPz3vYyxrPB24','CNvUDgLTzq','zMLUza','y3jLyxrLqwDLBNrtzxnZAw9U','B3bLCMf0Aw9UCW','yM9VBgvHBG','z2v0uNvU','zgvSzxrL','x19Yzxf1zxn0vxnLCKLK','Bw9KzwW','y2XPzw50twvZC2fNzuLK','yxr0ywnOBwvUDeLKCW','C3rYAw5N','BwfYA0jVB3rZDhjHCa','nJnKBwDvDKW','u0vtu0LptL9usvrmrv9srvfvsvjfra','zgvMzxjYzwrdB21Tyw5KCW','y29TBwfUzeLK','ndCXotC3meL6C2DPBq','u0vtu0LptL9tvefsvf9gquLmruq','DgL0Bgu','CMvXDwLYzq','DxbKyxrLtwv0ywrHDge','CgLUBMvK','odG5odbUEKvKrMG','z2v0qwDLBNrtzxnZAw9U','yM9VDhn0CMfWt25SEq','zgvSAxzLCNK','C2L6zq','AwrLBxbVDgvUDa','y2XLyxi','zg93BG','DMfSDwu','ChjVAMvJDgLVBG','y29UDMvYC2f0Aw9UvhvYBKzVCLj1BG','CMvQzwn0','C2vJCMv0rw52AxjVBM1LBNq','D29YA3nWywnLswq','CNvU','u0vtu0LptL9usvrmrv9jtLzbteLe','C29Tzq','u0vtu0LptL9jtLzbteLe','C2vZC2LVBI5JB21Tyw5KlMv4zwn1Dgu','mte3q3n0zgLQ','DxnLC1j1BM5LCLrPDgXLrM9YuMvUyw1L','C2vZC2LVBI5JCMvHDgu'];_0x5aad=function(){return _0x558fe8;};return _0x5aad();}