ultracode 5.4.0 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/chunks/analysis-tool-handlers-GH5FDEWW.js +817 -0
  2. package/dist/chunks/analysis-tool-handlers-IXP4MWZX.js +817 -0
  3. package/dist/chunks/analysis-tool-handlers-LC2BTQYK.js +13 -0
  4. package/dist/chunks/analysis-tool-handlers-QYFKQPFL.js +817 -0
  5. package/dist/chunks/autodoc-tool-handlers-2HF6ERYN.js +1112 -0
  6. package/dist/chunks/autodoc-tool-handlers-4OGQJ7C3.js +1112 -0
  7. package/dist/chunks/autodoc-tool-handlers-N736CB56.js +138 -0
  8. package/dist/chunks/autodoc-tool-handlers-NQYBY6U4.js +1112 -0
  9. package/dist/chunks/branch-tool-handlers-KW3H4FJK.js +276 -0
  10. package/dist/chunks/branch-tool-handlers-QOUDZKJ2.js +276 -0
  11. package/dist/chunks/branch-tool-handlers-RB2U36KI.js +2 -0
  12. package/dist/chunks/branch-tool-handlers-ZHJM6PDK.js +276 -0
  13. package/dist/chunks/chunk-2Z6OQPYC.js +656 -0
  14. package/dist/chunks/chunk-3MQ7LRPN.js +322 -0
  15. package/dist/chunks/chunk-4W6QYGXZ.js +10 -0
  16. package/dist/chunks/chunk-533NFGUG.js +1 -0
  17. package/dist/chunks/chunk-5NUPOPWM.js +1 -0
  18. package/dist/chunks/chunk-AK4HIPA2.js +322 -0
  19. package/dist/chunks/chunk-B3H5NS3I.js +656 -0
  20. package/dist/chunks/chunk-DPTZHDST.js +4 -0
  21. package/dist/chunks/chunk-E5HQWLU5.js +322 -0
  22. package/dist/chunks/chunk-EOH25B5P.js +572 -0
  23. package/dist/chunks/chunk-ESV6F6E3.js +3179 -0
  24. package/dist/chunks/chunk-FPELPFER.js +924 -0
  25. package/dist/chunks/chunk-G6J42I55.js +161 -0
  26. package/dist/chunks/chunk-GCQE7ZYW.js +1 -0
  27. package/dist/chunks/chunk-GTIF6MOX.js +1 -0
  28. package/dist/chunks/chunk-I6STSSAK.js +2 -0
  29. package/dist/chunks/chunk-J2WBGTK2.js +4697 -0
  30. package/dist/chunks/chunk-KAYOX5EB.js +4697 -0
  31. package/dist/chunks/chunk-KPMTACOT.js +656 -0
  32. package/dist/chunks/chunk-L376GZ44.js +3179 -0
  33. package/dist/chunks/chunk-LCTOTHDA.js +15 -0
  34. package/dist/chunks/chunk-LEDJ7GVQ.js +316 -0
  35. package/dist/chunks/chunk-LH4OUKNZ.js +277 -0
  36. package/dist/chunks/chunk-O6IE2MEZ.js +161 -0
  37. package/dist/chunks/chunk-OEXPCY3F.js +316 -0
  38. package/dist/chunks/chunk-OMXOLFDN.js +924 -0
  39. package/dist/chunks/chunk-PLPBXWOU.js +3179 -0
  40. package/dist/chunks/chunk-PWLE5DN2.js +572 -0
  41. package/dist/chunks/chunk-PY43JPWL.js +447 -0
  42. package/dist/chunks/chunk-Q3B4EB7A.js +15 -0
  43. package/dist/chunks/chunk-Q5LPVLXA.js +337 -0
  44. package/dist/chunks/chunk-QIRZHZK2.js +5 -0
  45. package/dist/chunks/chunk-ROQ27LSL.js +924 -0
  46. package/dist/chunks/chunk-S5Q7BD6J.js +572 -0
  47. package/dist/chunks/chunk-SAMX3HJQ.js +337 -0
  48. package/dist/chunks/chunk-SV3WKUNV.js +1 -0
  49. package/dist/chunks/chunk-TCHCDCDO.js +167 -0
  50. package/dist/chunks/chunk-TR3HS7U6.js +316 -0
  51. package/dist/chunks/chunk-TUWE6FCW.js +167 -0
  52. package/dist/chunks/chunk-TVOTA7EE.js +277 -0
  53. package/dist/chunks/chunk-VS44D772.js +337 -0
  54. package/dist/chunks/chunk-WIE3G5ES.js +167 -0
  55. package/dist/chunks/chunk-XG3ACLWR.js +5 -0
  56. package/dist/chunks/chunk-XJ2Z5QQO.js +1 -0
  57. package/dist/chunks/chunk-XK2NY7RB.js +277 -0
  58. package/dist/chunks/chunk-Y4F7NZFZ.js +4700 -0
  59. package/dist/chunks/chunk-YS75L3ZS.js +161 -0
  60. package/dist/chunks/chunk-ZVG5HHI3.js +15 -0
  61. package/dist/chunks/dev-agent-DDDIVWOF.js +1 -0
  62. package/dist/chunks/dev-agent-E2VCFKXN.js +1624 -0
  63. package/dist/chunks/dev-agent-KJNSU5KQ.js +1624 -0
  64. package/dist/chunks/dev-agent-NDERYIPV.js +1624 -0
  65. package/dist/chunks/faiss-provider-7R4BQDIV.js +12 -0
  66. package/dist/chunks/faiss-provider-7ZFRSDN5.js +12 -0
  67. package/dist/chunks/faiss-provider-SXB7FTLB.js +1 -0
  68. package/dist/chunks/faiss-provider-TKLBEUSH.js +12 -0
  69. package/dist/chunks/file-tool-handlers-5DODQXGF.js +1027 -0
  70. package/dist/chunks/file-tool-handlers-KGHLE4KR.js +1027 -0
  71. package/dist/chunks/file-tool-handlers-KTOQ4NFS.js +12 -0
  72. package/dist/chunks/file-tool-handlers-V4SFUDQB.js +1027 -0
  73. package/dist/chunks/graph-metrics-tool-handlers-3AV4X4ZY.js +65 -0
  74. package/dist/chunks/graph-metrics-tool-handlers-3VMDQHJ6.js +65 -0
  75. package/dist/chunks/graph-metrics-tool-handlers-BZ6E6YHF.js +1 -0
  76. package/dist/chunks/graph-metrics-tool-handlers-IYBGSXL7.js +65 -0
  77. package/dist/chunks/graph-storage-factory-2CQ2RPDV.js +13 -0
  78. package/dist/chunks/graph-storage-factory-C5SMMYL6.js +13 -0
  79. package/dist/chunks/graph-storage-factory-EEO2V3GJ.js +1 -0
  80. package/dist/chunks/graph-storage-factory-WBCTXP34.js +13 -0
  81. package/dist/chunks/history-tool-handlers-AS7OQFZI.js +1 -0
  82. package/dist/chunks/history-tool-handlers-FSNJYXV2.js +208 -0
  83. package/dist/chunks/history-tool-handlers-JZAH4EIQ.js +208 -0
  84. package/dist/chunks/history-tool-handlers-KCSCXZ7T.js +208 -0
  85. package/dist/chunks/incremental-updater-A2EL4QXU.js +14 -0
  86. package/dist/chunks/incremental-updater-EQIKBVY2.js +14 -0
  87. package/dist/chunks/incremental-updater-JFGRPH3B.js +14 -0
  88. package/dist/chunks/incremental-updater-S5BAAGHP.js +1 -0
  89. package/dist/chunks/indexer-agent-ASKY7JPG.js +1 -0
  90. package/dist/chunks/indexer-agent-NKAOF323.js +21 -0
  91. package/dist/chunks/indexer-agent-PJN5IOKQ.js +21 -0
  92. package/dist/chunks/indexer-agent-WRJFWKZX.js +21 -0
  93. package/dist/chunks/indexing-pipeline-D4P2O72Z.js +249 -0
  94. package/dist/chunks/indexing-pipeline-L7C543N4.js +1 -0
  95. package/dist/chunks/indexing-pipeline-NHPRN3AB.js +249 -0
  96. package/dist/chunks/indexing-pipeline-ZAXCZU22.js +249 -0
  97. package/dist/chunks/layered-faiss-provider-62CNW54X.js +1 -0
  98. package/dist/chunks/layered-faiss-provider-O7L77GFX.js +12 -0
  99. package/dist/chunks/layered-faiss-provider-RVHLHLPK.js +12 -0
  100. package/dist/chunks/layered-faiss-provider-YT7EDIJI.js +12 -0
  101. package/dist/chunks/merge-agent-3RF7VFF5.js +2481 -0
  102. package/dist/chunks/merge-agent-JCKTCBCE.js +2481 -0
  103. package/dist/chunks/merge-agent-VCL7OXPN.js +2481 -0
  104. package/dist/chunks/merge-agent-ZGK24WVF.js +11 -0
  105. package/dist/chunks/merge-tool-handlers-GV2LOIKU.js +277 -0
  106. package/dist/chunks/merge-tool-handlers-TYDWU5X2.js +277 -0
  107. package/dist/chunks/merge-tool-handlers-U7X2ZO2M.js +1 -0
  108. package/dist/chunks/merge-tool-handlers-YH62ZLPJ.js +277 -0
  109. package/dist/chunks/pattern-tool-handlers-76NF5JDS.js +13 -0
  110. package/dist/chunks/pattern-tool-handlers-IJAGEIVD.js +1549 -0
  111. package/dist/chunks/pattern-tool-handlers-VA5WYA62.js +1549 -0
  112. package/dist/chunks/pattern-tool-handlers-WQ6UBMJS.js +1549 -0
  113. package/dist/chunks/query-agent-36ADGCFZ.js +1 -0
  114. package/dist/chunks/query-agent-H22CR5N5.js +191 -0
  115. package/dist/chunks/query-agent-K2UGZS4M.js +191 -0
  116. package/dist/chunks/query-agent-YJCEHOXD.js +191 -0
  117. package/dist/chunks/semantic-agent-AC7CBEDE.js +6381 -0
  118. package/dist/chunks/semantic-agent-HK5X6CKU.js +6381 -0
  119. package/dist/chunks/semantic-agent-KONIKEGW.js +6381 -0
  120. package/dist/chunks/semantic-agent-LH6IZ2L7.js +137 -0
  121. package/dist/chunks/semantic-tool-handlers-5LMSH2U7.js +3 -0
  122. package/dist/chunks/semantic-tool-handlers-735UMO7Y.js +817 -0
  123. package/dist/chunks/semantic-tool-handlers-BNUYPP7X.js +817 -0
  124. package/dist/chunks/semantic-tool-handlers-MYZPEUD2.js +817 -0
  125. package/dist/chunks/snapshot-tool-handlers-6SIHZT2F.js +201 -0
  126. package/dist/chunks/snapshot-tool-handlers-DS4P3KOT.js +201 -0
  127. package/dist/chunks/snapshot-tool-handlers-JYHRFPC7.js +201 -0
  128. package/dist/chunks/snapshot-tool-handlers-YEHMAT3L.js +1 -0
  129. package/dist/chunks/storage-paths-A3C7WHHG.js +8 -0
  130. package/dist/chunks/storage-paths-HDYH7WPM.js +1 -0
  131. package/dist/chunks/storage-paths-IMFRHBWF.js +8 -0
  132. package/dist/chunks/storage-paths-P3PUSMUD.js +8 -0
  133. package/dist/chunks/taint-tool-handlers-CWESOOMQ.js +68 -0
  134. package/dist/chunks/taint-tool-handlers-OG3NVVP3.js +1 -0
  135. package/dist/chunks/taint-tool-handlers-ON3G3FA7.js +68 -0
  136. package/dist/chunks/taint-tool-handlers-P4P5J6DB.js +68 -0
  137. package/dist/chunks/tracing-tool-handlers-4BDCXTZZ.js +3935 -0
  138. package/dist/chunks/tracing-tool-handlers-6FPNM7HX.js +3935 -0
  139. package/dist/chunks/tracing-tool-handlers-LQTQ5SKK.js +89 -0
  140. package/dist/chunks/tracing-tool-handlers-XRQX2DTS.js +3935 -0
  141. package/dist/chunks/validation-tool-handlers-DZUG7KYY.js +2 -0
  142. package/dist/chunks/validation-tool-handlers-O6TGFSH5.js +555 -0
  143. package/dist/chunks/validation-tool-handlers-RREUYKIR.js +555 -0
  144. package/dist/chunks/validation-tool-handlers-XPWSMS37.js +555 -0
  145. package/dist/index.js +13 -13
  146. package/dist/roslyn-addon/.build-hash +1 -1
  147. package/dist/roslyn-addon/ILGPU.Algorithms.dll +0 -0
  148. package/dist/roslyn-addon/ILGPU.dll +0 -0
  149. package/dist/roslyn-addon/UltraCode.CSharp.deps.json +35 -0
  150. package/dist/roslyn-addon/UltraCode.CSharp.dll +0 -0
  151. package/package.json +1 -1
@@ -0,0 +1,322 @@
1
+ import { init_logging, log } from './chunk-VCCBEJQ5.js';
2
+
3
+ // src/core/di-container.ts
4
+ init_logging();
5
+ var DIContainer = class _DIContainer {
6
+ services = /* @__PURE__ */ new Map();
7
+ resolutionStack = /* @__PURE__ */ new Set();
8
+ disposed = false;
9
+ constructor() {
10
+ this.registerInstance("DIContainer", this);
11
+ }
12
+ /**
13
+ * Register a service with factory function
14
+ */
15
+ register(name, factory, lifetime = "singleton" /* SINGLETON */, dependencies = []) {
16
+ this.ensureNotDisposed();
17
+ if (this.services.has(name)) {
18
+ throw new Error(`Service '${name}' is already registered`);
19
+ }
20
+ const descriptor = {
21
+ name,
22
+ factory,
23
+ lifetime,
24
+ dependencies
25
+ };
26
+ this.services.set(name, descriptor);
27
+ log.i("DICONTAINER", "svc_registered", { name, lifetime });
28
+ }
29
+ /**
30
+ * Register a singleton service (convenience method)
31
+ */
32
+ registerSingleton(name, factory, dependencies = []) {
33
+ this.register(name, factory, "singleton" /* SINGLETON */, dependencies);
34
+ }
35
+ /**
36
+ * Register a transient service (convenience method)
37
+ */
38
+ registerTransient(name, factory, dependencies = []) {
39
+ this.register(name, factory, "transient" /* TRANSIENT */, dependencies);
40
+ }
41
+ /**
42
+ * Register an existing instance as singleton
43
+ */
44
+ registerInstance(name, instance) {
45
+ this.ensureNotDisposed();
46
+ if (this.services.has(name)) {
47
+ throw new Error(`Service '${name}' is already registered`);
48
+ }
49
+ const descriptor = {
50
+ name,
51
+ factory: () => instance,
52
+ lifetime: "singleton" /* SINGLETON */,
53
+ instance
54
+ };
55
+ this.services.set(name, descriptor);
56
+ log.i("DICONTAINER", "inst_registered", { name });
57
+ }
58
+ /**
59
+ * Update an existing singleton instance (useful for project context switches)
60
+ */
61
+ updateInstance(name, instance) {
62
+ this.ensureNotDisposed();
63
+ const descriptor = this.services.get(name);
64
+ if (!descriptor) {
65
+ this.registerInstance(name, instance);
66
+ return;
67
+ }
68
+ if (descriptor.lifetime !== "singleton" /* SINGLETON */) {
69
+ throw new Error(`Cannot update non-singleton service '${name}'`);
70
+ }
71
+ descriptor.instance = instance;
72
+ descriptor.factory = () => instance;
73
+ log.i("DICONTAINER", "inst_updated", { name });
74
+ }
75
+ /**
76
+ * Register an agent factory
77
+ */
78
+ registerAgent(agentType, factory, dependencies = []) {
79
+ const serviceName = `Agent:${agentType}`;
80
+ this.register(serviceName, factory, "singleton" /* SINGLETON */, dependencies);
81
+ }
82
+ /**
83
+ * Resolve a service by name with circular dependency detection
84
+ */
85
+ async resolve(name) {
86
+ this.ensureNotDisposed();
87
+ const descriptor = this.services.get(name);
88
+ if (!descriptor) {
89
+ throw new Error(`Service '${name}' is not registered`);
90
+ }
91
+ if (this.resolutionStack.has(name)) {
92
+ const cycle = Array.from(this.resolutionStack).join(" -> ");
93
+ throw new Error(`Circular dependency detected: ${cycle} -> ${name}`);
94
+ }
95
+ if (descriptor.lifetime === "singleton" /* SINGLETON */ && descriptor.instance !== void 0) {
96
+ return descriptor.instance;
97
+ }
98
+ this.resolutionStack.add(name);
99
+ try {
100
+ const instance = await descriptor.factory(this);
101
+ if (descriptor.lifetime === "singleton" /* SINGLETON */) {
102
+ descriptor.instance = instance;
103
+ }
104
+ return instance;
105
+ } finally {
106
+ this.resolutionStack.delete(name);
107
+ }
108
+ }
109
+ /**
110
+ * Resolve an agent by type
111
+ */
112
+ async resolveAgent(agentType) {
113
+ const serviceName = `Agent:${agentType}`;
114
+ return this.resolve(serviceName);
115
+ }
116
+ /**
117
+ * Check if service is registered
118
+ */
119
+ has(name) {
120
+ return this.services.has(name);
121
+ }
122
+ /**
123
+ * Check if agent is registered
124
+ */
125
+ hasAgent(agentType) {
126
+ return this.has(`Agent:${agentType}`);
127
+ }
128
+ /**
129
+ * Get all registered service names
130
+ */
131
+ getServiceNames() {
132
+ return Array.from(this.services.keys());
133
+ }
134
+ /**
135
+ * Get all registered agent types
136
+ */
137
+ getAgentTypes() {
138
+ const agentTypes = [];
139
+ for (const name of this.services.keys()) {
140
+ if (name.startsWith("Agent:")) {
141
+ agentTypes.push(name.slice(6));
142
+ }
143
+ }
144
+ return agentTypes;
145
+ }
146
+ /**
147
+ * Get dependency graph for a service
148
+ */
149
+ getDependencyGraph(name) {
150
+ const descriptor = this.services.get(name);
151
+ if (!descriptor) {
152
+ return [];
153
+ }
154
+ return descriptor.dependencies || [];
155
+ }
156
+ /**
157
+ * Clear all transient instances (keep singletons)
158
+ */
159
+ clearTransients() {
160
+ for (const descriptor of this.services.values()) {
161
+ if (descriptor.lifetime === "transient" /* TRANSIENT */) {
162
+ delete descriptor.instance;
163
+ }
164
+ }
165
+ log.i("DICONTAINER", "transients_cleared");
166
+ }
167
+ /**
168
+ * Clear cached agent instances (to force recreation with new context)
169
+ * Used when project context switches and agents need new SQLiteManager
170
+ */
171
+ clearAgentInstances() {
172
+ let cleared = 0;
173
+ for (const [name, descriptor] of this.services) {
174
+ if (name.startsWith("Agent:") && descriptor.instance !== void 0) {
175
+ delete descriptor.instance;
176
+ cleared++;
177
+ }
178
+ }
179
+ log.i("DICONTAINER", "agents_cleared", { count: cleared });
180
+ }
181
+ /**
182
+ * Clear all registrations (useful for testing)
183
+ */
184
+ clear() {
185
+ this.services.clear();
186
+ this.resolutionStack.clear();
187
+ this.disposed = false;
188
+ log.i("DICONTAINER", "container_cleared");
189
+ }
190
+ /**
191
+ * Dispose all services and clear container
192
+ */
193
+ async dispose() {
194
+ if (this.disposed) {
195
+ return;
196
+ }
197
+ log.i("DICONTAINER", "disposing");
198
+ this.disposed = true;
199
+ const descriptors = Array.from(this.services.values()).reverse();
200
+ for (const descriptor of descriptors) {
201
+ if (descriptor.instance && this.isDisposable(descriptor.instance)) {
202
+ try {
203
+ await descriptor.instance.dispose();
204
+ log.i("DICONTAINER", "disposed_svc", { name: descriptor.name });
205
+ } catch (error) {
206
+ log.w("DICONTAINER", "dispose_fail", { name: descriptor.name, err: String(error) });
207
+ }
208
+ }
209
+ }
210
+ this.services.clear();
211
+ this.resolutionStack.clear();
212
+ log.i("DICONTAINER", "disposed");
213
+ }
214
+ /**
215
+ * Check if object implements Disposable interface
216
+ */
217
+ isDisposable(obj) {
218
+ return obj !== null && typeof obj === "object" && "dispose" in obj && typeof obj.dispose === "function";
219
+ }
220
+ /**
221
+ * Ensure container is not disposed
222
+ */
223
+ ensureNotDisposed() {
224
+ if (this.disposed) {
225
+ throw new Error("DIContainer has been disposed");
226
+ }
227
+ }
228
+ /**
229
+ * Create a child container (scoped)
230
+ */
231
+ createScope() {
232
+ const scope = new _DIContainer();
233
+ for (const [name, descriptor] of this.services) {
234
+ if (descriptor.lifetime === "singleton" /* SINGLETON */) {
235
+ scope.services.set(name, { ...descriptor, instance: void 0 });
236
+ }
237
+ }
238
+ return scope;
239
+ }
240
+ };
241
+ var globalContainer = null;
242
+ function getGlobalContainer() {
243
+ if (!globalContainer) {
244
+ globalContainer = new DIContainer();
245
+ }
246
+ return globalContainer;
247
+ }
248
+
249
+ // src/core/agent-registry.ts
250
+ init_logging();
251
+ async function registerAllAgents(container) {
252
+ log.i("AGENTREG", "registering_all");
253
+ container.registerAgent("dev" /* DEV */, async (_c) => {
254
+ const { DevAgent } = await import('./dev-agent-E2VCFKXN.js');
255
+ return new DevAgent();
256
+ });
257
+ container.registerAgent("semantic" /* SEMANTIC */, async (_c) => {
258
+ const { SemanticAgent } = await import('./semantic-agent-KONIKEGW.js');
259
+ return new SemanticAgent();
260
+ });
261
+ container.registerAgent("dora" /* DORA */, async (_c) => {
262
+ const { DoraAgent } = await import('./dora-agent-NNYRSIBQ.js');
263
+ return new DoraAgent();
264
+ });
265
+ container.registerAgent("parser" /* PARSER */, async (_c) => {
266
+ const { ParserAgent } = await import('./parser-agent-FCJ2YDLD.js');
267
+ return new ParserAgent();
268
+ });
269
+ container.registerAgent("indexer" /* INDEXER */, async (_c) => {
270
+ const { IndexerAgent } = await import('./indexer-agent-PJN5IOKQ.js');
271
+ const agent = new IndexerAgent();
272
+ await agent.initialize();
273
+ return agent;
274
+ });
275
+ container.registerAgent("query" /* QUERY */, async (_c) => {
276
+ const { QueryAgent } = await import('./query-agent-YJCEHOXD.js');
277
+ return new QueryAgent();
278
+ });
279
+ container.registerAgent("merge" /* MERGE */, async (_c) => {
280
+ const { MergeAgent } = await import('./merge-agent-VCL7OXPN.js');
281
+ let repoPath = process.cwd();
282
+ let branchManager;
283
+ try {
284
+ const config = await _c.resolve("Config");
285
+ if (config?.directory) {
286
+ repoPath = config.directory;
287
+ }
288
+ } catch {
289
+ }
290
+ try {
291
+ branchManager = await _c.resolve("BranchManager");
292
+ } catch {
293
+ }
294
+ return new MergeAgent({
295
+ repoPath,
296
+ fastPathEnabled: true,
297
+ semanticMatchingEnabled: true,
298
+ semanticThreshold: 0.7,
299
+ autoResolveConflicts: false,
300
+ branchManager
301
+ });
302
+ });
303
+ log.i("AGENTREG", "all_registered");
304
+ }
305
+ async function getOrCreateAgent(container, conductor, agentType) {
306
+ const existing = conductor.getAgentsByType(agentType);
307
+ if (existing.length > 0) {
308
+ return existing[0];
309
+ }
310
+ if (!container.hasAgent(agentType)) {
311
+ throw new Error(`Agent ${agentType} is not registered in DI container`);
312
+ }
313
+ const agent = await container.resolveAgent(agentType);
314
+ await agent.initialize();
315
+ log.i("AGENTREG", "agent_init", { type: agentType });
316
+ conductor.register(agent);
317
+ return agent;
318
+ }
319
+
320
+ export { getGlobalContainer, getOrCreateAgent, registerAllAgents };
321
+ //# sourceMappingURL=chunk-AK4HIPA2.js.map
322
+ //# sourceMappingURL=chunk-AK4HIPA2.js.map