@downcity/agent 1.1.79 → 1.1.82

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 (173) hide show
  1. package/README.md +1 -1
  2. package/bin/agent/local/Agent.d.ts +8 -121
  3. package/bin/agent/local/Agent.d.ts.map +1 -1
  4. package/bin/agent/local/Agent.js +63 -381
  5. package/bin/agent/local/Agent.js.map +1 -1
  6. package/bin/agent/local/AgentRuntimeFactory.d.ts +2 -2
  7. package/bin/agent/local/AgentRuntimeFactory.d.ts.map +1 -1
  8. package/bin/agent/local/AgentRuntimeFactory.js +2 -23
  9. package/bin/agent/local/AgentRuntimeFactory.js.map +1 -1
  10. package/bin/agent/local/services/AgentAssemblyService.d.ts +112 -0
  11. package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -0
  12. package/bin/agent/local/services/AgentAssemblyService.js +135 -0
  13. package/bin/agent/local/services/AgentAssemblyService.js.map +1 -0
  14. package/bin/agent/local/services/AgentLifecycleService.d.ts +59 -0
  15. package/bin/agent/local/services/AgentLifecycleService.d.ts.map +1 -0
  16. package/bin/agent/local/services/AgentLifecycleService.js +136 -0
  17. package/bin/agent/local/services/AgentLifecycleService.js.map +1 -0
  18. package/bin/agent/local/services/AgentSessionManager.d.ts +106 -0
  19. package/bin/agent/local/services/AgentSessionManager.d.ts.map +1 -0
  20. package/bin/agent/local/services/AgentSessionManager.js +182 -0
  21. package/bin/agent/local/services/AgentSessionManager.js.map +1 -0
  22. package/bin/executor/Executor.d.ts +7 -24
  23. package/bin/executor/Executor.d.ts.map +1 -1
  24. package/bin/executor/Executor.js +73 -361
  25. package/bin/executor/Executor.js.map +1 -1
  26. package/bin/executor/SessionRunScope.d.ts +18 -34
  27. package/bin/executor/SessionRunScope.d.ts.map +1 -1
  28. package/bin/executor/SessionRunScope.js +42 -28
  29. package/bin/executor/SessionRunScope.js.map +1 -1
  30. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts +5 -3
  31. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts.map +1 -1
  32. package/bin/executor/composer/context/LocalSessionContextComposer.js +11 -18
  33. package/bin/executor/composer/context/LocalSessionContextComposer.js.map +1 -1
  34. package/bin/executor/composer/context/SessionContextComposer.d.ts +8 -3
  35. package/bin/executor/composer/context/SessionContextComposer.d.ts.map +1 -1
  36. package/bin/executor/composer/system/SessionSystemComposer.d.ts +2 -1
  37. package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +1 -1
  38. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +2 -1
  39. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
  40. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +2 -4
  41. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +1 -1
  42. package/bin/executor/core-engine/CoreEngineRunner.d.ts +62 -0
  43. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -0
  44. package/bin/executor/core-engine/CoreEngineRunner.js +309 -0
  45. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -0
  46. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +5 -0
  47. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +1 -1
  48. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +2 -4
  49. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +1 -1
  50. package/bin/executor/services/ExecutorInflightService.d.ts +39 -0
  51. package/bin/executor/services/ExecutorInflightService.d.ts.map +1 -0
  52. package/bin/executor/services/ExecutorInflightService.js +75 -0
  53. package/bin/executor/services/ExecutorInflightService.js.map +1 -0
  54. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +103 -0
  55. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -0
  56. package/bin/executor/services/ExecutorRecoveryPolicy.js +87 -0
  57. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -0
  58. package/bin/executor/tools/plugin/PluginToolBridge.d.ts +19 -0
  59. package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -0
  60. package/bin/executor/tools/plugin/PluginToolBridge.js +143 -0
  61. package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -0
  62. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts +32 -0
  63. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +1 -0
  64. package/bin/executor/tools/plugin/PluginToolDefinition.js +27 -0
  65. package/bin/executor/tools/plugin/PluginToolDefinition.js.map +1 -0
  66. package/bin/executor/tools/plugin/PluginToolSchemas.d.ts +14 -0
  67. package/bin/executor/tools/plugin/PluginToolSchemas.d.ts.map +1 -0
  68. package/bin/executor/tools/plugin/PluginToolSchemas.js +19 -0
  69. package/bin/executor/tools/plugin/PluginToolSchemas.js.map +1 -0
  70. package/bin/executor/tools/plugin/types/PluginTool.d.ts +39 -0
  71. package/bin/executor/tools/plugin/types/PluginTool.d.ts.map +1 -0
  72. package/bin/executor/tools/plugin/types/PluginTool.js +9 -0
  73. package/bin/executor/tools/plugin/types/PluginTool.js.map +1 -0
  74. package/bin/executor/tools/shell/ShellToolBridge.js +3 -3
  75. package/bin/executor/tools/shell/ShellToolBridge.js.map +1 -1
  76. package/bin/executor/types/SessionRun.d.ts +18 -0
  77. package/bin/executor/types/SessionRun.d.ts.map +1 -1
  78. package/bin/index.d.ts +10 -1
  79. package/bin/index.d.ts.map +1 -1
  80. package/bin/index.js +3 -0
  81. package/bin/index.js.map +1 -1
  82. package/bin/plugin/core/BasePlugin.d.ts +2 -2
  83. package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
  84. package/bin/plugin/core/BasePlugin.js.map +1 -1
  85. package/bin/plugin/core/ImagePlugin.d.ts +56 -0
  86. package/bin/plugin/core/ImagePlugin.d.ts.map +1 -0
  87. package/bin/plugin/core/ImagePlugin.js +109 -0
  88. package/bin/plugin/core/ImagePlugin.js.map +1 -0
  89. package/bin/session/Session.d.ts +25 -84
  90. package/bin/session/Session.d.ts.map +1 -1
  91. package/bin/session/Session.js +162 -367
  92. package/bin/session/Session.js.map +1 -1
  93. package/bin/session/SessionSystemBuilder.d.ts +2 -1
  94. package/bin/session/SessionSystemBuilder.d.ts.map +1 -1
  95. package/bin/session/SessionSystemBuilder.js +2 -3
  96. package/bin/session/SessionSystemBuilder.js.map +1 -1
  97. package/bin/session/services/SessionStateService.d.ts +132 -0
  98. package/bin/session/services/SessionStateService.d.ts.map +1 -0
  99. package/bin/session/services/SessionStateService.js +242 -0
  100. package/bin/session/services/SessionStateService.js.map +1 -0
  101. package/bin/session/services/SessionTurnService.d.ts +66 -0
  102. package/bin/session/services/SessionTurnService.d.ts.map +1 -0
  103. package/bin/session/services/SessionTurnService.js +137 -0
  104. package/bin/session/services/SessionTurnService.js.map +1 -0
  105. package/bin/session/services/SessionViewService.d.ts +106 -0
  106. package/bin/session/services/SessionViewService.d.ts.map +1 -0
  107. package/bin/session/services/SessionViewService.js +198 -0
  108. package/bin/session/services/SessionViewService.js.map +1 -0
  109. package/bin/types/agent/AgentOptions.d.ts +18 -0
  110. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  111. package/bin/types/agent/AgentTypes.d.ts +3 -1
  112. package/bin/types/agent/AgentTypes.d.ts.map +1 -1
  113. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  114. package/bin/types/executor/SessionRunContext.d.ts +66 -0
  115. package/bin/types/executor/SessionRunContext.d.ts.map +1 -0
  116. package/bin/types/executor/SessionRunContext.js +10 -0
  117. package/bin/types/executor/SessionRunContext.js.map +1 -0
  118. package/bin/types/plugin/ImagePlugin.d.ts +94 -0
  119. package/bin/types/plugin/ImagePlugin.d.ts.map +1 -0
  120. package/bin/types/plugin/ImagePlugin.js +10 -0
  121. package/bin/types/plugin/ImagePlugin.js.map +1 -0
  122. package/bin/types/session/SessionComposerOptions.d.ts +90 -0
  123. package/bin/types/session/SessionComposerOptions.d.ts.map +1 -0
  124. package/bin/types/session/SessionComposerOptions.js +10 -0
  125. package/bin/types/session/SessionComposerOptions.js.map +1 -0
  126. package/bin/types/session/SessionLocalState.d.ts +35 -0
  127. package/bin/types/session/SessionLocalState.d.ts.map +1 -0
  128. package/bin/types/session/SessionLocalState.js +10 -0
  129. package/bin/types/session/SessionLocalState.js.map +1 -0
  130. package/bin/types/session/SessionOptions.d.ts +85 -0
  131. package/bin/types/session/SessionOptions.d.ts.map +1 -0
  132. package/bin/types/session/SessionOptions.js +10 -0
  133. package/bin/types/session/SessionOptions.js.map +1 -0
  134. package/package.json +1 -1
  135. package/src/agent/local/Agent.ts +74 -433
  136. package/src/agent/local/AgentRuntimeFactory.ts +4 -25
  137. package/src/agent/local/services/AgentAssemblyService.ts +268 -0
  138. package/src/agent/local/services/AgentLifecycleService.ts +187 -0
  139. package/src/agent/local/services/AgentSessionManager.ts +290 -0
  140. package/src/executor/Executor.ts +103 -441
  141. package/src/executor/README.md +4 -4
  142. package/src/executor/SessionRunScope.ts +47 -71
  143. package/src/executor/composer/context/LocalSessionContextComposer.ts +24 -20
  144. package/src/executor/composer/context/SessionContextComposer.ts +13 -3
  145. package/src/executor/composer/system/SessionSystemComposer.ts +2 -1
  146. package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +3 -4
  147. package/src/executor/core-engine/CoreEngineRunner.ts +433 -0
  148. package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +7 -5
  149. package/src/executor/services/ExecutorInflightService.ts +101 -0
  150. package/src/executor/services/ExecutorRecoveryPolicy.ts +213 -0
  151. package/src/executor/tools/plugin/PluginToolBridge.ts +161 -0
  152. package/src/executor/tools/plugin/PluginToolDefinition.ts +32 -0
  153. package/src/executor/tools/plugin/PluginToolSchemas.ts +20 -0
  154. package/src/executor/tools/plugin/types/PluginTool.ts +41 -0
  155. package/src/executor/tools/shell/ShellToolBridge.ts +3 -3
  156. package/src/executor/types/SessionRun.ts +20 -0
  157. package/src/index.ts +33 -0
  158. package/src/plugin/core/BasePlugin.ts +2 -2
  159. package/src/plugin/core/ImagePlugin.ts +128 -0
  160. package/src/session/Session.ts +216 -500
  161. package/src/session/SessionSystemBuilder.ts +3 -3
  162. package/src/session/services/SessionStateService.ts +341 -0
  163. package/src/session/services/SessionTurnService.ts +202 -0
  164. package/src/session/services/SessionViewService.ts +323 -0
  165. package/src/types/agent/AgentOptions.ts +25 -0
  166. package/src/types/agent/AgentTypes.ts +10 -0
  167. package/src/types/agent/SessionTypes.ts +1 -0
  168. package/src/types/executor/SessionRunContext.ts +76 -0
  169. package/src/types/plugin/ImagePlugin.ts +103 -0
  170. package/src/types/session/SessionComposerOptions.ts +107 -0
  171. package/src/types/session/SessionLocalState.ts +40 -0
  172. package/src/types/session/SessionOptions.ts +99 -0
  173. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,182 @@
1
+ /**
2
+ * AgentSessionManager:本地 Agent session 管理服务。
3
+ *
4
+ * 关键点(中文)
5
+ * - 统一管理 session 缓存、创建、恢复、默认配置注入与 session collection。
6
+ * - 该服务只负责 session 生命周期与查询,不负责 plugin / RPC 启停。
7
+ * - Session 对象创建细节集中在这里,避免 facade 和 lifecycle 重复依赖 Session 构造逻辑。
8
+ */
9
+ import fs from "fs-extra";
10
+ import { nanoid } from "nanoid";
11
+ import { Session } from "../../../session/Session.js";
12
+ import { getSdkAgentSessionDirPath, listAgentSessionSummaryPage, } from "../../../session/index.js";
13
+ import { isPluginEnabled } from "../../../plugin/core/Activation.js";
14
+ import { createInstructionSystemBlocks } from "../../../agent/local/AgentInstructions.js";
15
+ /**
16
+ * 本地 Agent session 管理服务。
17
+ */
18
+ export class AgentSessionManager {
19
+ agent_id;
20
+ project_root;
21
+ tools;
22
+ logger;
23
+ runtime;
24
+ get_agent_context;
25
+ get_instruction;
26
+ plugin_instances;
27
+ default_model;
28
+ SessionClass;
29
+ sessions_by_id = new Map();
30
+ configured_session_ids = new Set();
31
+ session_collection;
32
+ constructor(options) {
33
+ this.agent_id = options.agent_id;
34
+ this.project_root = options.project_root;
35
+ this.tools = options.tools;
36
+ this.logger = options.logger;
37
+ this.runtime = options.runtime;
38
+ this.get_agent_context = options.get_agent_context;
39
+ this.get_instruction = options.get_instruction;
40
+ this.plugin_instances = options.plugin_instances;
41
+ this.default_model = options.default_model;
42
+ this.SessionClass = options.SessionClass || Session;
43
+ this.session_collection = {
44
+ createSession: async (input) => await this.create_session(input),
45
+ getSession: async (session_id) => await this.get_session(session_id),
46
+ listSessions: async (input) => await this.list_sessions(input),
47
+ };
48
+ }
49
+ /**
50
+ * 返回当前缓存的 session 实例。
51
+ */
52
+ list_cached_sessions() {
53
+ return [...this.sessions_by_id.values()];
54
+ }
55
+ /**
56
+ * 返回对外暴露的 session collection。
57
+ */
58
+ get_session_collection() {
59
+ return this.session_collection;
60
+ }
61
+ /**
62
+ * 获取或创建一个 session runtime port。
63
+ */
64
+ get_session_port(session_id) {
65
+ return this.get_or_create_session({
66
+ session_id,
67
+ }).getRuntimePort();
68
+ }
69
+ /**
70
+ * 新建一个 session。
71
+ */
72
+ async create_session(input) {
73
+ const explicit_session_id = String(input?.sessionId || "").trim() || undefined;
74
+ if (explicit_session_id &&
75
+ (this.sessions_by_id.has(explicit_session_id) ||
76
+ (await fs.pathExists(getSdkAgentSessionDirPath(this.project_root, this.agent_id, explicit_session_id))))) {
77
+ throw new Error(`Session "${explicit_session_id}" already exists`);
78
+ }
79
+ const session = this.get_or_create_session({
80
+ session_id: explicit_session_id,
81
+ });
82
+ await session.initialize();
83
+ await this.apply_session_defaults(session);
84
+ return session;
85
+ }
86
+ /**
87
+ * 获取一个已存在的 session。
88
+ */
89
+ async get_session(session_id) {
90
+ const resolved_session_id = String(session_id || "").trim();
91
+ if (!resolved_session_id) {
92
+ throw new Error("getSession requires a non-empty sessionId");
93
+ }
94
+ const session_dir_path = getSdkAgentSessionDirPath(this.project_root, this.agent_id, resolved_session_id);
95
+ if (!this.sessions_by_id.has(resolved_session_id) &&
96
+ !(await fs.pathExists(session_dir_path))) {
97
+ throw new Error(`Session "${resolved_session_id}" not found`);
98
+ }
99
+ const session = this.get_or_create_session({
100
+ session_id: resolved_session_id,
101
+ });
102
+ await session.initialize();
103
+ await this.apply_session_defaults(session);
104
+ return session;
105
+ }
106
+ /**
107
+ * 列出当前 agent 的 session 摘要页。
108
+ */
109
+ async list_sessions(input) {
110
+ return await listAgentSessionSummaryPage({
111
+ projectRoot: this.project_root,
112
+ agentId: this.agent_id,
113
+ input,
114
+ executingSessionIds: new Set(this.runtime.listExecutingSessionIds()),
115
+ });
116
+ }
117
+ get_or_create_session(input) {
118
+ const resolved_session_id = String(input?.session_id || "").trim() ||
119
+ `session-${Date.now()}-${nanoid(8)}`;
120
+ const cached = this.sessions_by_id.get(resolved_session_id);
121
+ if (cached)
122
+ return cached;
123
+ const created = new this.SessionClass({
124
+ agentId: this.agent_id,
125
+ projectRoot: this.project_root,
126
+ sessionId: resolved_session_id,
127
+ tools: this.tools,
128
+ logger: this.logger,
129
+ getInstructionSystemBlocks: () => this.load_instruction_system_blocks(),
130
+ getManagedPluginSystemBlocks: async () => [],
131
+ getPluginSystemBlocks: async () => await this.load_plugin_system_blocks(),
132
+ ensureConfigured: async (session) => {
133
+ await this.apply_session_defaults(session);
134
+ },
135
+ });
136
+ this.sessions_by_id.set(resolved_session_id, created);
137
+ return created;
138
+ }
139
+ async apply_session_defaults(session) {
140
+ if (this.configured_session_ids.has(session.id))
141
+ return;
142
+ if (this.default_model) {
143
+ await session.set({
144
+ model: this.default_model,
145
+ });
146
+ }
147
+ this.configured_session_ids.add(session.id);
148
+ }
149
+ load_instruction_system_blocks() {
150
+ return createInstructionSystemBlocks(this.get_instruction(), this.project_root);
151
+ }
152
+ async load_plugin_system_blocks() {
153
+ const context = this.get_agent_context();
154
+ const out = [];
155
+ for (const plugin of this.plugin_instances.values()) {
156
+ if (typeof plugin.system !== "function")
157
+ continue;
158
+ try {
159
+ if (!isPluginEnabled({ plugin, context }))
160
+ continue;
161
+ if (typeof plugin.availability === "function") {
162
+ const availability = await plugin.availability(context);
163
+ if (!availability.available)
164
+ continue;
165
+ }
166
+ const text = String(await plugin.system(context)).trim();
167
+ if (!text)
168
+ continue;
169
+ out.push({
170
+ source: "plugin",
171
+ name: plugin.name,
172
+ content: text,
173
+ });
174
+ }
175
+ catch {
176
+ // 单个 plugin system 失败不应阻断 SDK session 主链路。
177
+ }
178
+ }
179
+ return out;
180
+ }
181
+ }
182
+ //# sourceMappingURL=AgentSessionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSessionManager.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentSessionManager.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@
9
9
  import { type LanguageModel, type Tool } from "ai";
10
10
  import type { SessionHistoryComposer } from "./composer/history/SessionHistoryComposer.js";
11
11
  import type { SessionHistoryStore } from "../executor/store/history/SessionHistoryStore.js";
12
- import type { SessionRunScope } from "./SessionRunScope.js";
13
12
  import type { SessionCompactionComposer } from "./composer/compaction/SessionCompactionComposer.js";
14
13
  import type { SessionContextComposer } from "./composer/context/SessionContextComposer.js";
15
14
  import type { SessionSystemComposer } from "./composer/system/SessionSystemComposer.js";
@@ -17,6 +16,7 @@ import type { Logger } from "../utils/logger/Logger.js";
17
16
  import type { JsonObject } from "../types/common/Json.js";
18
17
  import type { SessionMessageV1 } from "../executor/types/SessionMessages.js";
19
18
  import type { SessionExecutor } from "../executor/types/SessionExecutor.js";
19
+ import type { SessionRunContext } from "../types/executor/SessionRunContext.js";
20
20
  import type { SessionRunResult } from "../executor/types/SessionRun.js";
21
21
  type ExecutorOptions = {
22
22
  /**
@@ -79,8 +79,10 @@ export declare class Executor implements SessionExecutor {
79
79
  private readonly systemComposer;
80
80
  protected readonly contextComposer: SessionContextComposer;
81
81
  private readonly historyWriter;
82
+ private readonly inflight_service;
83
+ private readonly recovery_policy;
84
+ private readonly core_engine_runner;
82
85
  private executing;
83
- private retryCount;
84
86
  constructor(options: ExecutorOptions);
85
87
  /**
86
88
  * 返回当前 session 是否正在执行。
@@ -125,10 +127,6 @@ export declare class Executor implements SessionExecutor {
125
127
  fallbackText?: string;
126
128
  extra?: JsonObject;
127
129
  }): Promise<void>;
128
- /**
129
- * 把 step/tool 过程增量写入当前运行中的 assistant 快照。
130
- */
131
- private appendAssistantStepPartsToInflight;
132
130
  /**
133
131
  * 运行当前 session 的一次请求。
134
132
  *
@@ -138,14 +136,8 @@ export declare class Executor implements SessionExecutor {
138
136
  */
139
137
  run(params: {
140
138
  query: string;
141
- onStepCallback?: SessionRunScope["onStepCallback"];
142
- onAssistantStepCallback?: SessionRunScope["onAssistantStepCallback"];
143
- onUiMessageChunkCallback?: SessionRunScope["onUiMessageChunkCallback"];
139
+ runContext?: SessionRunContext;
144
140
  }): Promise<SessionRunResult>;
145
- /**
146
- * 执行一次 session run(带可压缩错误重试)。
147
- */
148
- private runWithRetry;
149
141
  /**
150
142
  * 调用 Composer 组装当前轮执行输入。
151
143
  */
@@ -155,22 +147,13 @@ export declare class Executor implements SessionExecutor {
155
147
  */
156
148
  private executePreparedRun;
157
149
  /**
158
- * 运行模型/tool-loop 核心。
159
- *
160
- * 关键点(中文)
161
- * - CoreEngine 是 Executor 内部机制,不是第二个 Executor 实例。
162
- * - 这里只返回最终 assistant message;是否写入长期 history 由外层 Session/Service 决定。
163
- * - 运行中生成的内部续写 user message 只进入本轮内存态,不直接落盘。
150
+ * 归一化本轮显式运行上下文。
164
151
  */
165
- private runCoreEngine;
152
+ private createRunContext;
166
153
  /**
167
154
  * 读取当前 session 模型。
168
155
  */
169
156
  private resolveModelOrThrow;
170
- /**
171
- * 重置当前 run 级状态。
172
- */
173
- private resetRunState;
174
157
  }
175
158
  export {};
176
159
  //# sourceMappingURL=Executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.d.ts","sourceRoot":"","sources":["../../src/executor/Executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor.d.ts","sourceRoot":"","sources":["../../src/executor/Executor.ts"],"names":[],"mappings":"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"}