yandecode 0.1.1 → 0.2.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 (226) hide show
  1. package/dist/bin.js +14 -8
  2. package/dist/bin.js.map +7 -1
  3. package/dist/chunks/chunk-23DG7PZZ.js +58 -0
  4. package/dist/chunks/chunk-23DG7PZZ.js.map +7 -0
  5. package/dist/chunks/chunk-2S6B3DDQ.js +1769 -0
  6. package/dist/chunks/chunk-2S6B3DDQ.js.map +7 -0
  7. package/dist/chunks/chunk-6J5CZVCJ.js +120 -0
  8. package/dist/chunks/chunk-6J5CZVCJ.js.map +7 -0
  9. package/dist/chunks/chunk-7L6DD2VD.js +768 -0
  10. package/dist/chunks/chunk-7L6DD2VD.js.map +7 -0
  11. package/dist/chunks/chunk-DWD37AI2.js +39 -0
  12. package/dist/chunks/chunk-DWD37AI2.js.map +7 -0
  13. package/dist/chunks/chunk-KPDBXQ62.js +62 -0
  14. package/dist/chunks/chunk-KPDBXQ62.js.map +7 -0
  15. package/dist/chunks/chunk-KVBKQXTU.js +351 -0
  16. package/dist/chunks/chunk-KVBKQXTU.js.map +7 -0
  17. package/dist/chunks/chunk-L2DDIZPI.js +53 -0
  18. package/dist/chunks/chunk-L2DDIZPI.js.map +7 -0
  19. package/dist/chunks/chunk-OIAMKDTQ.js +27 -0
  20. package/dist/chunks/chunk-OIAMKDTQ.js.map +7 -0
  21. package/dist/chunks/chunk-PUWSEWX3.js +61 -0
  22. package/dist/chunks/chunk-PUWSEWX3.js.map +7 -0
  23. package/dist/chunks/chunk-QCQC73WX.js +122 -0
  24. package/dist/chunks/chunk-QCQC73WX.js.map +7 -0
  25. package/dist/chunks/chunk-TYLH4NIC.js +39 -0
  26. package/dist/chunks/chunk-TYLH4NIC.js.map +7 -0
  27. package/dist/chunks/chunk-VKVJGBNJ.js +72 -0
  28. package/dist/chunks/chunk-VKVJGBNJ.js.map +7 -0
  29. package/dist/chunks/chunk-Y2MIXROU.js +20072 -0
  30. package/dist/chunks/chunk-Y2MIXROU.js.map +7 -0
  31. package/dist/chunks/cli-V6PJTDLM.js +3464 -0
  32. package/dist/chunks/cli-V6PJTDLM.js.map +7 -0
  33. package/dist/chunks/doctor-LLDVEPWL.js +184 -0
  34. package/dist/chunks/doctor-LLDVEPWL.js.map +7 -0
  35. package/dist/chunks/entry-YAOEX3EB.js +187 -0
  36. package/dist/chunks/entry-YAOEX3EB.js.map +7 -0
  37. package/dist/chunks/init-4ZJFCKIJ.js +46 -0
  38. package/dist/chunks/init-4ZJFCKIJ.js.map +7 -0
  39. package/dist/chunks/mcp-serve-KWKMUGWZ.js +22575 -0
  40. package/dist/chunks/mcp-serve-KWKMUGWZ.js.map +7 -0
  41. package/dist/chunks/modules-CJB5IKUJ.js +121 -0
  42. package/dist/chunks/modules-CJB5IKUJ.js.map +7 -0
  43. package/dist/chunks/runtime-3E4NIFAL.js +208 -0
  44. package/dist/chunks/runtime-3E4NIFAL.js.map +7 -0
  45. package/dist/chunks/runtime-7CRR63B5.js +395 -0
  46. package/dist/chunks/runtime-7CRR63B5.js.map +7 -0
  47. package/dist/chunks/runtime-CKMVHAU4.js +64 -0
  48. package/dist/chunks/runtime-CKMVHAU4.js.map +7 -0
  49. package/dist/chunks/runtime-CVZMWIJO.js +318 -0
  50. package/dist/chunks/runtime-CVZMWIJO.js.map +7 -0
  51. package/dist/chunks/runtime-DBNXBOAL.js +295 -0
  52. package/dist/chunks/runtime-DBNXBOAL.js.map +7 -0
  53. package/dist/chunks/runtime-EKHO2JXB.js +197 -0
  54. package/dist/chunks/runtime-EKHO2JXB.js.map +7 -0
  55. package/dist/chunks/runtime-EY6SVZYP.js +539 -0
  56. package/dist/chunks/runtime-EY6SVZYP.js.map +7 -0
  57. package/dist/chunks/runtime-UB2O2HUN.js +212 -0
  58. package/dist/chunks/runtime-UB2O2HUN.js.map +7 -0
  59. package/dist/chunks/runtime-WAFQWW4M.js +755 -0
  60. package/dist/chunks/runtime-WAFQWW4M.js.map +7 -0
  61. package/dist/chunks/runtime-ZGGF6RVA.js +271 -0
  62. package/dist/chunks/runtime-ZGGF6RVA.js.map +7 -0
  63. package/dist/chunks/status-SPIESL4F.js +38 -0
  64. package/dist/chunks/status-SPIESL4F.js.map +7 -0
  65. package/dist/chunks/uninstall-J2OWCX4A.js +54 -0
  66. package/dist/chunks/uninstall-J2OWCX4A.js.map +7 -0
  67. package/dist/chunks/update-OX5MZYQY.js +34 -0
  68. package/dist/chunks/update-OX5MZYQY.js.map +7 -0
  69. package/dist/content/agents/yandecode-reviewer.md +22 -0
  70. package/dist/content/agents/yandecode-security-reviewer.md +23 -0
  71. package/dist/content/skills/NOTICE.md +29 -0
  72. package/dist/content/skills/yandecode-code-review/SKILL.md +37 -0
  73. package/dist/content/skills/yandecode-debugging/SKILL.md +33 -0
  74. package/dist/content/skills/yandecode-instructions/SKILL.md +26 -0
  75. package/dist/content/skills/yandecode-memory/SKILL.md +36 -0
  76. package/dist/content/skills/yandecode-security-review/SKILL.md +24 -0
  77. package/dist/content/skills/yandecode-tdd/SKILL.md +38 -0
  78. package/dist/content/skills/yandecode-verification/SKILL.md +29 -0
  79. package/dist/content/skills/yandecode-workflow/SKILL.md +50 -0
  80. package/package.json +25 -19
  81. package/dist/bin.d.ts +0 -3
  82. package/dist/bin.d.ts.map +0 -1
  83. package/dist/claude-bin.d.ts +0 -2
  84. package/dist/claude-bin.d.ts.map +0 -1
  85. package/dist/claude-bin.js +0 -4
  86. package/dist/claude-bin.js.map +0 -1
  87. package/dist/cli.d.ts +0 -6
  88. package/dist/cli.d.ts.map +0 -1
  89. package/dist/cli.js +0 -21
  90. package/dist/cli.js.map +0 -1
  91. package/dist/commands/doctor.d.ts +0 -2
  92. package/dist/commands/doctor.d.ts.map +0 -1
  93. package/dist/commands/doctor.js +0 -19
  94. package/dist/commands/doctor.js.map +0 -1
  95. package/dist/commands/hook.d.ts +0 -2
  96. package/dist/commands/hook.d.ts.map +0 -1
  97. package/dist/commands/hook.js +0 -23
  98. package/dist/commands/hook.js.map +0 -1
  99. package/dist/commands/index-cmd.d.ts +0 -2
  100. package/dist/commands/index-cmd.d.ts.map +0 -1
  101. package/dist/commands/index-cmd.js +0 -47
  102. package/dist/commands/index-cmd.js.map +0 -1
  103. package/dist/commands/index.d.ts +0 -13
  104. package/dist/commands/index.d.ts.map +0 -1
  105. package/dist/commands/index.js +0 -15
  106. package/dist/commands/index.js.map +0 -1
  107. package/dist/commands/init.d.ts +0 -2
  108. package/dist/commands/init.d.ts.map +0 -1
  109. package/dist/commands/init.js +0 -22
  110. package/dist/commands/init.js.map +0 -1
  111. package/dist/commands/mcp.d.ts +0 -2
  112. package/dist/commands/mcp.d.ts.map +0 -1
  113. package/dist/commands/mcp.js +0 -71
  114. package/dist/commands/mcp.js.map +0 -1
  115. package/dist/commands/rag.d.ts +0 -2
  116. package/dist/commands/rag.d.ts.map +0 -1
  117. package/dist/commands/rag.js +0 -27
  118. package/dist/commands/rag.js.map +0 -1
  119. package/dist/commands/start.d.ts +0 -5
  120. package/dist/commands/start.d.ts.map +0 -1
  121. package/dist/commands/start.js +0 -74
  122. package/dist/commands/start.js.map +0 -1
  123. package/dist/commands/status.d.ts +0 -2
  124. package/dist/commands/status.d.ts.map +0 -1
  125. package/dist/commands/status.js +0 -29
  126. package/dist/commands/status.js.map +0 -1
  127. package/dist/commands/statusline.d.ts +0 -2
  128. package/dist/commands/statusline.d.ts.map +0 -1
  129. package/dist/commands/statusline.js +0 -90
  130. package/dist/commands/statusline.js.map +0 -1
  131. package/dist/commands/swarm.d.ts +0 -4
  132. package/dist/commands/swarm.d.ts.map +0 -1
  133. package/dist/commands/swarm.js +0 -48
  134. package/dist/commands/swarm.js.map +0 -1
  135. package/dist/commands/uninstall.d.ts +0 -2
  136. package/dist/commands/uninstall.d.ts.map +0 -1
  137. package/dist/commands/uninstall.js +0 -16
  138. package/dist/commands/uninstall.js.map +0 -1
  139. package/dist/context.d.ts +0 -13
  140. package/dist/context.d.ts.map +0 -1
  141. package/dist/context.js +0 -31
  142. package/dist/context.js.map +0 -1
  143. package/dist/doctor/checks.d.ts +0 -18
  144. package/dist/doctor/checks.d.ts.map +0 -1
  145. package/dist/doctor/checks.js +0 -270
  146. package/dist/doctor/checks.js.map +0 -1
  147. package/dist/hooks/handlers.d.ts +0 -21
  148. package/dist/hooks/handlers.d.ts.map +0 -1
  149. package/dist/hooks/handlers.js +0 -191
  150. package/dist/hooks/handlers.js.map +0 -1
  151. package/dist/index.d.ts +0 -10
  152. package/dist/index.d.ts.map +0 -1
  153. package/dist/index.js +0 -10
  154. package/dist/index.js.map +0 -1
  155. package/dist/integration/claude-md.d.ts +0 -6
  156. package/dist/integration/claude-md.d.ts.map +0 -1
  157. package/dist/integration/claude-md.js +0 -30
  158. package/dist/integration/claude-md.js.map +0 -1
  159. package/dist/integration/gitignore.d.ts +0 -3
  160. package/dist/integration/gitignore.d.ts.map +0 -1
  161. package/dist/integration/gitignore.js +0 -13
  162. package/dist/integration/gitignore.js.map +0 -1
  163. package/dist/integration/init.d.ts +0 -17
  164. package/dist/integration/init.d.ts.map +0 -1
  165. package/dist/integration/init.js +0 -86
  166. package/dist/integration/init.js.map +0 -1
  167. package/dist/integration/json-utils.d.ts +0 -13
  168. package/dist/integration/json-utils.d.ts.map +0 -1
  169. package/dist/integration/json-utils.js +0 -33
  170. package/dist/integration/json-utils.js.map +0 -1
  171. package/dist/integration/manifest.d.ts +0 -17
  172. package/dist/integration/manifest.d.ts.map +0 -1
  173. package/dist/integration/manifest.js +0 -26
  174. package/dist/integration/manifest.js.map +0 -1
  175. package/dist/integration/materialize.d.ts +0 -9
  176. package/dist/integration/materialize.d.ts.map +0 -1
  177. package/dist/integration/materialize.js +0 -21
  178. package/dist/integration/materialize.js.map +0 -1
  179. package/dist/integration/mcp-config.d.ts +0 -4
  180. package/dist/integration/mcp-config.d.ts.map +0 -1
  181. package/dist/integration/mcp-config.js +0 -11
  182. package/dist/integration/mcp-config.js.map +0 -1
  183. package/dist/integration/settings.d.ts +0 -7
  184. package/dist/integration/settings.d.ts.map +0 -1
  185. package/dist/integration/settings.js +0 -70
  186. package/dist/integration/settings.js.map +0 -1
  187. package/dist/integration/uninstall.d.ts +0 -10
  188. package/dist/integration/uninstall.d.ts.map +0 -1
  189. package/dist/integration/uninstall.js +0 -71
  190. package/dist/integration/uninstall.js.map +0 -1
  191. package/dist/launcher.d.ts +0 -8
  192. package/dist/launcher.d.ts.map +0 -1
  193. package/dist/launcher.js +0 -18
  194. package/dist/launcher.js.map +0 -1
  195. package/dist/mcp/server.d.ts +0 -27
  196. package/dist/mcp/server.d.ts.map +0 -1
  197. package/dist/mcp/server.js +0 -311
  198. package/dist/mcp/server.js.map +0 -1
  199. package/dist/plugin-content.d.ts +0 -21
  200. package/dist/plugin-content.d.ts.map +0 -1
  201. package/dist/plugin-content.js +0 -67
  202. package/dist/plugin-content.js.map +0 -1
  203. package/dist/rag/format.d.ts +0 -3
  204. package/dist/rag/format.d.ts.map +0 -1
  205. package/dist/rag/format.js +0 -12
  206. package/dist/rag/format.js.map +0 -1
  207. package/dist/retrieval-runtime.d.ts +0 -21
  208. package/dist/retrieval-runtime.d.ts.map +0 -1
  209. package/dist/retrieval-runtime.js +0 -47
  210. package/dist/retrieval-runtime.js.map +0 -1
  211. package/dist/status-line/git.d.ts +0 -3
  212. package/dist/status-line/git.d.ts.map +0 -1
  213. package/dist/status-line/git.js +0 -34
  214. package/dist/status-line/git.js.map +0 -1
  215. package/dist/status-line/render.d.ts +0 -29
  216. package/dist/status-line/render.d.ts.map +0 -1
  217. package/dist/status-line/render.js +0 -72
  218. package/dist/status-line/render.js.map +0 -1
  219. package/dist/swarm-runtime.d.ts +0 -11
  220. package/dist/swarm-runtime.d.ts.map +0 -1
  221. package/dist/swarm-runtime.js +0 -76
  222. package/dist/swarm-runtime.js.map +0 -1
  223. package/dist/version.d.ts +0 -2
  224. package/dist/version.d.ts.map +0 -1
  225. package/dist/version.js +0 -5
  226. package/dist/version.js.map +0 -1
@@ -1,72 +0,0 @@
1
- const RESET = '';
2
- const BOLD = '';
3
- const DIM = '';
4
- const MAGENTA = '';
5
- const GREEN = '';
6
- const YELLOW = '';
7
- const CYAN = '';
8
- const RED = '';
9
- function formatDuration(ms) {
10
- const totalSeconds = Math.floor(ms / 1000);
11
- if (totalSeconds < 60)
12
- return `${totalSeconds}s`;
13
- const minutes = Math.floor(totalSeconds / 60);
14
- const seconds = totalSeconds % 60;
15
- if (minutes < 60)
16
- return `${minutes}m${seconds}s`;
17
- const hours = Math.floor(minutes / 60);
18
- return `${hours}h${minutes % 60}m`;
19
- }
20
- function formatBytes(bytes) {
21
- const mb = bytes / (1024 * 1024);
22
- if (mb < 0.1 && bytes > 0)
23
- return '<0.1MB';
24
- return `${mb.toFixed(mb < 10 ? 1 : 0)}MB`;
25
- }
26
- function renderGitSegment(git) {
27
- const dirtyFlag = git.dirty ? `${YELLOW}*${RESET}` : '';
28
- const parts = [`${BOLD}${git.branch}${RESET}${dirtyFlag}`];
29
- if (git.ahead > 0)
30
- parts.push(`${GREEN}+${git.ahead}${RESET}`);
31
- if (git.behind > 0)
32
- parts.push(`${RED}-${git.behind}${RESET}`);
33
- return parts.join(' ');
34
- }
35
- function renderScanSegment(ws) {
36
- if (ws.chunks === 0)
37
- return `${RED}○ not indexed${RESET}`;
38
- if (ws.dirtyFiles > 0)
39
- return `${YELLOW}◐ scan pending (${ws.dirtyFiles})${RESET}`;
40
- return `${GREEN}● scan clean${RESET}`;
41
- }
42
- function renderSwarmSegment(ws) {
43
- if (!ws.swarm)
44
- return `${DIM}Swarm ○ idle${RESET}`;
45
- return `Swarm ${CYAN}●${RESET} ${ws.swarm.done}/${ws.swarm.total}`;
46
- }
47
- export function renderStatusLine(input) {
48
- const headParts = [`${MAGENTA}●${RESET} ${BOLD}YandeCode${RESET} v${input.version}`];
49
- headParts.push(`${DIM}${input.projectName}${RESET}`);
50
- if (input.git)
51
- headParts.push(renderGitSegment(input.git));
52
- if (input.model)
53
- headParts.push(`${CYAN}${input.model}${RESET}`);
54
- if (input.durationMs !== null)
55
- headParts.push(`${DIM}⏱${formatDuration(input.durationMs)}${RESET}`);
56
- const line1 = headParts.join(` ${DIM}|${RESET} `);
57
- if (!input.workspace) {
58
- return `${line1}\n${DIM}yandecode: not initialized here · run "yandecode init"${RESET}`;
59
- }
60
- const ws = input.workspace;
61
- const line2Parts = [
62
- renderSwarmSegment(ws),
63
- `Hooks ${ws.hooksRegistered}/${ws.hooksTotal}`,
64
- `📚 ${ws.chunks} chunks`,
65
- `💾 ${formatBytes(ws.indexBytes)}`,
66
- renderScanSegment(ws),
67
- ];
68
- const line2 = line2Parts.join(` ${DIM}·${RESET} `);
69
- const line3 = `${DIM}💡 rag_search finds code before you read it manually · github.com/whoisclebs/yandecode${RESET}`;
70
- return `${line1}\n${line2}\n${line3}`;
71
- }
72
- //# sourceMappingURL=render.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/status-line/render.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { MessageRepository } from '@yandecode/core';
2
- import { MemoryRetriever, MemoryService, SwarmService } from '@yandecode/swarm';
3
- import type { RuntimeContext } from './context.js';
4
- export interface SwarmRuntime {
5
- swarmService: SwarmService;
6
- messages: MessageRepository;
7
- memoryService: MemoryService;
8
- memoryRetriever: MemoryRetriever;
9
- }
10
- export declare function createSwarmRuntime(rt: RuntimeContext): Promise<SwarmRuntime>;
11
- //# sourceMappingURL=swarm-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swarm-runtime.d.ts","sourceRoot":"","sources":["../src/swarm-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,iBAAiB,EAKlB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;CAClC;AAOD,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAqElF"}
@@ -1,76 +0,0 @@
1
- import { mkdirSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { LeaseRepository, MemoryRepository, MessageRepository, SwarmRepository, TaskRepository, WorkspaceRepository, nowIso, } from '@yandecode/core';
4
- import { ArcticEmbedXsProvider, generationFileName, HashEmbeddingProvider, resolveModelCacheDir, USearchVectorIndex, } from '@yandecode/retrieval';
5
- import { MemoryRetriever, MemoryService, SwarmService } from '@yandecode/swarm';
6
- function createMemoryProvider() {
7
- if (process.env.YANDECODE_EMBEDDINGS === 'hash')
8
- return new HashEmbeddingProvider(64);
9
- return new ArcticEmbedXsProvider({ cacheDir: resolveModelCacheDir(process.env) });
10
- }
11
- export async function createSwarmRuntime(rt) {
12
- const swarmService = new SwarmService({
13
- swarms: new SwarmRepository(rt.state),
14
- tasks: new TaskRepository(rt.state),
15
- leases: new LeaseRepository(rt.state),
16
- workspaces: new WorkspaceRepository(rt.state),
17
- });
18
- mkdirSync(rt.paths.indexesDir, { recursive: true });
19
- const provider = createMemoryProvider();
20
- const memories = new MemoryRepository(rt.state);
21
- const meta = rt.index.getMeta('memory');
22
- const file = meta?.filePath ?? join(rt.paths.indexesDir, generationFileName('memory', 1));
23
- const index = new USearchVectorIndex({ dimensions: provider.dimensions, file });
24
- if (meta?.filePath) {
25
- index.load();
26
- }
27
- else {
28
- // Awaited (not fire-and-forget): StateService.write() queues this write and only attaches
29
- // its rejection handler to a *derived* promise, so a void-ed call here would both risk an
30
- // unhandled rejection and let a short-lived CLI process (e.g. a single hook invocation)
31
- // exit before the write actually lands, silently dropping the very first 'memory' index
32
- // meta row.
33
- await rt.index.setMeta({
34
- name: 'memory',
35
- generation: 1,
36
- dimensions: provider.dimensions,
37
- modelId: provider.modelId,
38
- vectorCount: 0,
39
- builtAt: nowIso(),
40
- filePath: file,
41
- });
42
- }
43
- // Defends against a missing, corrupt, or stale-empty on-disk index: if what actually loaded
44
- // doesn't match the memories table (the real source of truth for embeddings, per ADR-007), the
45
- // next memory_store's index.save() would otherwise atomically overwrite the good on-disk file
46
- // with an incomplete one. Rebuilding from iterateEmbeddings() is the same recovery IndexingService
47
- // already provides for the repository index's 'rebuild-vectors' mode.
48
- //
49
- // Known gap: this check is size-only, not dimensions/modelId-aware. If the embedding provider
50
- // changes (e.g. toggling YANDECODE_EMBEDDINGS=hash, or a future config change to
51
- // rag.embeddingModel), the on-disk index and the stored embeddings in `memories.embedding` were
52
- // both built with the OLD provider's dimensionality - a same-size rebuild here would hand
53
- // wrong-dimension vectors to a VectorIndex constructed for the NEW dimensions. Detecting a
54
- // provider switch is straightforward (compare provider.dimensions/modelId against the persisted
55
- // vector_index_meta row), but a correct recovery requires RE-EMBEDDING every stored memory with
56
- // the new provider, not just rebuilding the index shell from already-stored, now-incompatible
57
- // vectors - that's a real feature (a memory re-embedding migration), not a safe one-line fix, so
58
- // it's deliberately not attempted here. v0 does not support switching embedding providers for an
59
- // existing memory store.
60
- if (index.stats().size !== memories.count()) {
61
- index.rebuild((function* rebuildRecords() {
62
- for (const { vectorId, embedding } of memories.iterateEmbeddings()) {
63
- yield { id: vectorId, vector: embedding };
64
- }
65
- })());
66
- }
67
- const memoryService = new MemoryService({ memories, provider, index });
68
- const memoryRetriever = new MemoryRetriever({ memories, provider, index });
69
- return {
70
- swarmService,
71
- messages: new MessageRepository(rt.state),
72
- memoryService,
73
- memoryRetriever,
74
- };
75
- }
76
- //# sourceMappingURL=swarm-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swarm-runtime.js","sourceRoot":"","sources":["../src/swarm-runtime.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const VERSION: string;
2
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC"}
package/dist/version.js DELETED
@@ -1,5 +0,0 @@
1
- import { createRequire } from 'node:module';
2
- const require = createRequire(import.meta.url);
3
- const pkg = require('../package.json');
4
- export const VERSION = pkg.version;
5
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC"}