@shardworks/nexus-core 0.1.99 → 0.1.101

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 (166) hide show
  1. package/README.md +95 -166
  2. package/dist/guild-config.d.ts +14 -52
  3. package/dist/guild-config.d.ts.map +1 -1
  4. package/dist/guild-config.js +7 -10
  5. package/dist/guild-config.js.map +1 -1
  6. package/dist/guild.d.ts +83 -0
  7. package/dist/guild.d.ts.map +1 -0
  8. package/dist/guild.js +45 -0
  9. package/dist/guild.js.map +1 -0
  10. package/dist/id.d.ts +14 -0
  11. package/dist/id.d.ts.map +1 -0
  12. package/dist/id.js +19 -0
  13. package/dist/id.js.map +1 -0
  14. package/dist/index.d.ts +6 -30
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +7 -32
  17. package/dist/index.js.map +1 -1
  18. package/dist/nexus-home.d.ts +0 -4
  19. package/dist/nexus-home.d.ts.map +1 -1
  20. package/dist/nexus-home.js +1 -9
  21. package/dist/nexus-home.js.map +1 -1
  22. package/dist/plugin.d.ts +115 -0
  23. package/dist/plugin.d.ts.map +1 -0
  24. package/dist/plugin.js +39 -0
  25. package/dist/plugin.js.map +1 -0
  26. package/dist/resolve-package.d.ts +58 -0
  27. package/dist/resolve-package.d.ts.map +1 -0
  28. package/dist/resolve-package.js +123 -0
  29. package/dist/resolve-package.js.map +1 -0
  30. package/package.json +5 -14
  31. package/dist/book.d.ts +0 -110
  32. package/dist/book.d.ts.map +0 -1
  33. package/dist/book.js +0 -16
  34. package/dist/book.js.map +0 -1
  35. package/dist/legacy/1/anima.d.ts +0 -79
  36. package/dist/legacy/1/anima.d.ts.map +0 -1
  37. package/dist/legacy/1/anima.js +0 -285
  38. package/dist/legacy/1/anima.js.map +0 -1
  39. package/dist/legacy/1/audit.d.ts +0 -23
  40. package/dist/legacy/1/audit.d.ts.map +0 -1
  41. package/dist/legacy/1/audit.js +0 -61
  42. package/dist/legacy/1/audit.js.map +0 -1
  43. package/dist/legacy/1/bundle.d.ts +0 -111
  44. package/dist/legacy/1/bundle.d.ts.map +0 -1
  45. package/dist/legacy/1/bundle.js +0 -452
  46. package/dist/legacy/1/bundle.js.map +0 -1
  47. package/dist/legacy/1/clock-daemon.d.ts +0 -2
  48. package/dist/legacy/1/clock-daemon.d.ts.map +0 -1
  49. package/dist/legacy/1/clock-daemon.js +0 -72
  50. package/dist/legacy/1/clock-daemon.js.map +0 -1
  51. package/dist/legacy/1/clockworks.d.ts +0 -98
  52. package/dist/legacy/1/clockworks.d.ts.map +0 -1
  53. package/dist/legacy/1/clockworks.js +0 -359
  54. package/dist/legacy/1/clockworks.js.map +0 -1
  55. package/dist/legacy/1/conversation.d.ts +0 -165
  56. package/dist/legacy/1/conversation.d.ts.map +0 -1
  57. package/dist/legacy/1/conversation.js +0 -457
  58. package/dist/legacy/1/conversation.js.map +0 -1
  59. package/dist/legacy/1/engine.d.ts +0 -90
  60. package/dist/legacy/1/engine.d.ts.map +0 -1
  61. package/dist/legacy/1/engine.js +0 -89
  62. package/dist/legacy/1/engine.js.map +0 -1
  63. package/dist/legacy/1/events.d.ts +0 -88
  64. package/dist/legacy/1/events.d.ts.map +0 -1
  65. package/dist/legacy/1/events.js +0 -239
  66. package/dist/legacy/1/events.js.map +0 -1
  67. package/dist/legacy/1/guild-config.d.ts +0 -74
  68. package/dist/legacy/1/guild-config.d.ts.map +0 -1
  69. package/dist/legacy/1/guild-config.js +0 -51
  70. package/dist/legacy/1/guild-config.js.map +0 -1
  71. package/dist/legacy/1/id.d.ts +0 -8
  72. package/dist/legacy/1/id.d.ts.map +0 -1
  73. package/dist/legacy/1/id.js +0 -27
  74. package/dist/legacy/1/id.js.map +0 -1
  75. package/dist/legacy/1/index.d.ts +0 -28
  76. package/dist/legacy/1/index.d.ts.map +0 -1
  77. package/dist/legacy/1/index.js +0 -32
  78. package/dist/legacy/1/index.js.map +0 -1
  79. package/dist/legacy/1/init-guild.d.ts +0 -24
  80. package/dist/legacy/1/init-guild.d.ts.map +0 -1
  81. package/dist/legacy/1/init-guild.js +0 -230
  82. package/dist/legacy/1/init-guild.js.map +0 -1
  83. package/dist/legacy/1/install-tool.d.ts +0 -73
  84. package/dist/legacy/1/install-tool.d.ts.map +0 -1
  85. package/dist/legacy/1/install-tool.js +0 -436
  86. package/dist/legacy/1/install-tool.js.map +0 -1
  87. package/dist/legacy/1/instantiate.d.ts +0 -33
  88. package/dist/legacy/1/instantiate.d.ts.map +0 -1
  89. package/dist/legacy/1/instantiate.js +0 -137
  90. package/dist/legacy/1/instantiate.js.map +0 -1
  91. package/dist/legacy/1/manifest.d.ts +0 -132
  92. package/dist/legacy/1/manifest.d.ts.map +0 -1
  93. package/dist/legacy/1/manifest.js +0 -321
  94. package/dist/legacy/1/manifest.js.map +0 -1
  95. package/dist/legacy/1/migrate.d.ts +0 -84
  96. package/dist/legacy/1/migrate.d.ts.map +0 -1
  97. package/dist/legacy/1/migrate.js +0 -228
  98. package/dist/legacy/1/migrate.js.map +0 -1
  99. package/dist/legacy/1/nexus-home.d.ts +0 -11
  100. package/dist/legacy/1/nexus-home.d.ts.map +0 -1
  101. package/dist/legacy/1/nexus-home.js +0 -16
  102. package/dist/legacy/1/nexus-home.js.map +0 -1
  103. package/dist/legacy/1/plugin-descriptor.d.ts +0 -3
  104. package/dist/legacy/1/plugin-descriptor.d.ts.map +0 -1
  105. package/dist/legacy/1/plugin-descriptor.js +0 -2
  106. package/dist/legacy/1/plugin-descriptor.js.map +0 -1
  107. package/dist/legacy/1/preconditions.d.ts +0 -100
  108. package/dist/legacy/1/preconditions.d.ts.map +0 -1
  109. package/dist/legacy/1/preconditions.js +0 -189
  110. package/dist/legacy/1/preconditions.js.map +0 -1
  111. package/dist/legacy/1/rehydrate.d.ts +0 -22
  112. package/dist/legacy/1/rehydrate.d.ts.map +0 -1
  113. package/dist/legacy/1/rehydrate.js +0 -109
  114. package/dist/legacy/1/rehydrate.js.map +0 -1
  115. package/dist/legacy/1/remove-tool.d.ts +0 -19
  116. package/dist/legacy/1/remove-tool.d.ts.map +0 -1
  117. package/dist/legacy/1/remove-tool.js +0 -105
  118. package/dist/legacy/1/remove-tool.js.map +0 -1
  119. package/dist/legacy/1/session.d.ts +0 -343
  120. package/dist/legacy/1/session.d.ts.map +0 -1
  121. package/dist/legacy/1/session.js +0 -499
  122. package/dist/legacy/1/session.js.map +0 -1
  123. package/dist/legacy/1/tool-registry.d.ts +0 -12
  124. package/dist/legacy/1/tool-registry.d.ts.map +0 -1
  125. package/dist/legacy/1/tool-registry.js +0 -28
  126. package/dist/legacy/1/tool-registry.js.map +0 -1
  127. package/dist/legacy/1/tool.d.ts +0 -10
  128. package/dist/legacy/1/tool.d.ts.map +0 -1
  129. package/dist/legacy/1/tool.js +0 -2
  130. package/dist/legacy/1/tool.js.map +0 -1
  131. package/dist/legacy/1/upgrade.d.ts +0 -129
  132. package/dist/legacy/1/upgrade.d.ts.map +0 -1
  133. package/dist/legacy/1/upgrade.js +0 -355
  134. package/dist/legacy/1/upgrade.js.map +0 -1
  135. package/dist/legacy/1/workshop.d.ts +0 -95
  136. package/dist/legacy/1/workshop.d.ts.map +0 -1
  137. package/dist/legacy/1/workshop.js +0 -229
  138. package/dist/legacy/1/workshop.js.map +0 -1
  139. package/dist/legacy/1/worktree.d.ts +0 -67
  140. package/dist/legacy/1/worktree.d.ts.map +0 -1
  141. package/dist/legacy/1/worktree.js +0 -117
  142. package/dist/legacy/1/worktree.js.map +0 -1
  143. package/dist/legacy/1/writ.d.ts +0 -130
  144. package/dist/legacy/1/writ.d.ts.map +0 -1
  145. package/dist/legacy/1/writ.js +0 -599
  146. package/dist/legacy/1/writ.js.map +0 -1
  147. package/dist/rig-context.d.ts +0 -47
  148. package/dist/rig-context.d.ts.map +0 -1
  149. package/dist/rig-context.js +0 -11
  150. package/dist/rig-context.js.map +0 -1
  151. package/dist/rig-descriptor.d.ts +0 -39
  152. package/dist/rig-descriptor.d.ts.map +0 -1
  153. package/dist/rig-descriptor.js +0 -12
  154. package/dist/rig-descriptor.js.map +0 -1
  155. package/dist/rig.d.ts +0 -70
  156. package/dist/rig.d.ts.map +0 -1
  157. package/dist/rig.js +0 -14
  158. package/dist/rig.js.map +0 -1
  159. package/dist/tool.d.ts +0 -136
  160. package/dist/tool.d.ts.map +0 -1
  161. package/dist/tool.js +0 -135
  162. package/dist/tool.js.map +0 -1
  163. package/migrations/001-schema.sql +0 -177
  164. package/migrations/002-writs.sql +0 -44
  165. package/migrations/003-conversations.sql +0 -43
  166. package/migrations/004-remove-commissions.sql +0 -24
@@ -1,111 +0,0 @@
1
- /**
2
- * Bundle — a manifest that delivers multiple installable artifacts to a guild.
3
- *
4
- * A bundle is a recipe, not a dependency. The installer reads the manifest,
5
- * installs each artifact individually (via installTool), and discards the
6
- * bundle itself. Each artifact becomes an independent guild dependency.
7
- *
8
- * ## Manifest: `nexus-bundle.json`
9
- *
10
- * The manifest has explicit top-level arrays for each artifact category:
11
- * - `tools` and `engines` require a `package` specifier (runtime code)
12
- * - `curricula` and `temperaments` support `package` OR `path` (content-only)
13
- *
14
- * ## Transitive bundles
15
- *
16
- * A package entry can itself contain a `nexus-bundle.json`. The installer
17
- * recurses, so bundles can compose other bundles.
18
- */
19
- /** A package-based artifact entry (tools and engines). */
20
- export interface BundlePackageEntry {
21
- /** npm package specifier or git URL. */
22
- package: string;
23
- /** Override the artifact name in the guild. */
24
- name?: string;
25
- /** Roles this tool should be assigned to (used during upgrade to add missing tools to roles). */
26
- roles?: string[];
27
- }
28
- /** A content artifact entry (curricula and temperaments). */
29
- export interface BundleContentEntry {
30
- /** npm package specifier or git URL. */
31
- package?: string;
32
- /** Path relative to the bundle root for inline content. */
33
- path?: string;
34
- /** Override the artifact name in the guild. */
35
- name?: string;
36
- }
37
- /** A migration entry (always inline via `path`). */
38
- export interface BundleMigrationEntry {
39
- /** Path relative to the bundle root for the .sql file. */
40
- path: string;
41
- }
42
- /** The `nexus-bundle.json` manifest shape. */
43
- export interface BundleManifest {
44
- /** Human-readable description of the bundle. */
45
- description?: string;
46
- /** Tools to install (require `package`). */
47
- tools?: BundlePackageEntry[];
48
- /** Engines to install (require `package`). */
49
- engines?: BundlePackageEntry[];
50
- /** Curricula to install (`package` or `path`). */
51
- curricula?: BundleContentEntry[];
52
- /** Temperaments to install (`package` or `path`). */
53
- temperaments?: BundleContentEntry[];
54
- /** Migrations to install (always inline, renumbered on install). */
55
- migrations?: BundleMigrationEntry[];
56
- }
57
- export interface InstallBundleOptions {
58
- /** Absolute path to the guild root directory. */
59
- home: string;
60
- /** Absolute path to the bundle directory (contains nexus-bundle.json). */
61
- bundleDir: string;
62
- /** Bundle provenance string, e.g. "@shardworks/guild-starter-kit@0.1.0". */
63
- bundleSource?: string;
64
- /** Whether to create a git commit after installing. Defaults to true. */
65
- commit?: boolean;
66
- }
67
- export interface InstallBundleResult {
68
- /** Number of artifacts installed. */
69
- installed: number;
70
- /** Names of installed artifacts, grouped by category. */
71
- artifacts: {
72
- tools: string[];
73
- engines: string[];
74
- curricula: string[];
75
- temperaments: string[];
76
- migrations: string[];
77
- };
78
- /** Provenance map for installed migrations: guild filename → { bundle, originalName }. */
79
- migrationProvenance?: Record<string, {
80
- bundle: string;
81
- originalName: string;
82
- }>;
83
- }
84
- /**
85
- * Check if a directory contains a nexus-bundle.json manifest.
86
- */
87
- export declare function isBundleDir(dir: string): boolean;
88
- /**
89
- * Read and validate a nexus-bundle.json manifest.
90
- *
91
- * Enforces schema rules:
92
- * - tools/engines must use `package`, not `path`
93
- * - curricula/temperaments must have either `package` or `path`
94
- */
95
- export declare function readBundleManifest(bundleDir: string): BundleManifest;
96
- /**
97
- * Install a bundle into a guild.
98
- *
99
- * Reads the bundle manifest, installs all referenced artifacts individually,
100
- * and optionally commits the result. The bundle itself is NOT retained as
101
- * a guild dependency — each artifact is installed independently.
102
- *
103
- * Package artifacts (tools, engines, and packaged content) are installed
104
- * via npm. Inline content artifacts (curricula/temperaments with `path`) are
105
- * copied directly from the bundle directory.
106
- *
107
- * If an installed package contains its own `nexus-bundle.json`, the installer
108
- * recurses to install the transitive bundle's artifacts.
109
- */
110
- export declare function installBundle(opts: InstallBundleOptions): InstallBundleResult;
111
- //# sourceMappingURL=bundle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/legacy/1/bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,kDAAkD;IAClD,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,qDAAqD;IACrD,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,oEAAoE;IACpE,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAID,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChF;AAkCD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CA+DpE;AAyED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,mBAAmB,CA+Q7E"}
@@ -1,452 +0,0 @@
1
- /**
2
- * Bundle — a manifest that delivers multiple installable artifacts to a guild.
3
- *
4
- * A bundle is a recipe, not a dependency. The installer reads the manifest,
5
- * installs each artifact individually (via installTool), and discards the
6
- * bundle itself. Each artifact becomes an independent guild dependency.
7
- *
8
- * ## Manifest: `nexus-bundle.json`
9
- *
10
- * The manifest has explicit top-level arrays for each artifact category:
11
- * - `tools` and `engines` require a `package` specifier (runtime code)
12
- * - `curricula` and `temperaments` support `package` OR `path` (content-only)
13
- *
14
- * ## Transitive bundles
15
- *
16
- * A package entry can itself contain a `nexus-bundle.json`. The installer
17
- * recurses, so bundles can compose other bundles.
18
- */
19
- import fs from 'node:fs';
20
- import path from 'node:path';
21
- import { execFileSync } from 'node:child_process';
22
- import { installTool } from "./install-tool.js";
23
- import { readGuildConfig, writeGuildConfig } from "./guild-config.js";
24
- // ── Helpers ─────────────────────────────────────────────────────────────
25
- const BUNDLE_MANIFEST = 'nexus-bundle.json';
26
- function git(args, cwd) {
27
- execFileSync('git', args, { cwd, stdio: 'pipe' });
28
- }
29
- function npm(args, cwd) {
30
- return execFileSync('npm', args, { cwd, stdio: 'pipe', encoding: 'utf-8' });
31
- }
32
- function readJson(filePath) {
33
- return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
34
- }
35
- // ── Descriptor types for each category ──────────────────────────────────
36
- const DESCRIPTOR_MAP = {
37
- tools: 'nexus-tool.json',
38
- engines: 'nexus-engine.json',
39
- curricula: 'nexus-curriculum.json',
40
- temperaments: 'nexus-temperament.json',
41
- };
42
- const DIR_MAP = {
43
- tools: 'tools',
44
- engines: 'engines',
45
- curricula: 'training/curricula',
46
- temperaments: 'training/temperaments',
47
- };
48
- /**
49
- * Check if a directory contains a nexus-bundle.json manifest.
50
- */
51
- export function isBundleDir(dir) {
52
- return fs.existsSync(path.join(dir, BUNDLE_MANIFEST));
53
- }
54
- // ── Validation ──────────────────────────────────────────────────────────
55
- /**
56
- * Read and validate a nexus-bundle.json manifest.
57
- *
58
- * Enforces schema rules:
59
- * - tools/engines must use `package`, not `path`
60
- * - curricula/temperaments must have either `package` or `path`
61
- */
62
- export function readBundleManifest(bundleDir) {
63
- const manifestPath = path.join(bundleDir, BUNDLE_MANIFEST);
64
- if (!fs.existsSync(manifestPath)) {
65
- throw new Error(`No ${BUNDLE_MANIFEST} found in ${bundleDir}`);
66
- }
67
- const manifest = readJson(manifestPath);
68
- // Validate tools: must have package, no path allowed
69
- for (const entry of manifest.tools ?? []) {
70
- if (!entry.package) {
71
- throw new Error('Tools must have a "package" specifier. ' +
72
- 'Tools have runtime code and potential npm dependencies — they cannot be inline.');
73
- }
74
- if ('path' in entry) {
75
- throw new Error('Tools must be npm packages or git URLs. Use a "package" specifier instead of "path".');
76
- }
77
- }
78
- // Validate engines: must have package, no path allowed
79
- for (const entry of manifest.engines ?? []) {
80
- if (!entry.package) {
81
- throw new Error('Engines must have a "package" specifier. ' +
82
- 'Engines have runtime code and potential npm dependencies — they cannot be inline.');
83
- }
84
- if ('path' in entry) {
85
- throw new Error('Engines must be npm packages or git URLs. Use a "package" specifier instead of "path".');
86
- }
87
- }
88
- // Validate content entries: must have package or path
89
- for (const entry of manifest.curricula ?? []) {
90
- if (!entry.package && !entry.path) {
91
- throw new Error('Curriculum entries must have either a "package" or "path" specifier.');
92
- }
93
- }
94
- for (const entry of manifest.temperaments ?? []) {
95
- if (!entry.package && !entry.path) {
96
- throw new Error('Temperament entries must have either a "package" or "path" specifier.');
97
- }
98
- }
99
- // Validate migrations: must have path, no package allowed
100
- for (const entry of manifest.migrations ?? []) {
101
- if (!entry.path) {
102
- throw new Error('Migration entries must have a "path" specifier.');
103
- }
104
- if ('package' in entry) {
105
- throw new Error('Migrations must be inline SQL files. Use a "path" specifier instead of "package".');
106
- }
107
- }
108
- return manifest;
109
- }
110
- // ── Inline content installation ─────────────────────────────────────────
111
- /**
112
- * Install an inline content artifact (curriculum or temperament) from a
113
- * path relative to the bundle directory.
114
- *
115
- * Copies the full directory to the guild and registers in guild.json.
116
- */
117
- function installInlineContent(home, bundleDir, category, entry, bundleSource) {
118
- const contentDir = path.resolve(bundleDir, entry.path);
119
- if (!fs.existsSync(contentDir)) {
120
- throw new Error(`Inline content path not found: ${contentDir}`);
121
- }
122
- // Read descriptor to get version
123
- const descriptorFile = DESCRIPTOR_MAP[category];
124
- const descriptorPath = path.join(contentDir, descriptorFile);
125
- if (!fs.existsSync(descriptorPath)) {
126
- throw new Error(`No ${descriptorFile} found in ${contentDir}`);
127
- }
128
- const descriptor = readJson(descriptorPath);
129
- const name = entry.name || path.basename(contentDir);
130
- // Copy full directory to guild
131
- const parentDir = DIR_MAP[category];
132
- const targetDir = path.join(home, parentDir, name);
133
- if (fs.existsSync(targetDir)) {
134
- fs.rmSync(targetDir, { recursive: true });
135
- }
136
- fs.mkdirSync(targetDir, { recursive: true });
137
- copyDir(contentDir, targetDir);
138
- // Register in guild.json
139
- const config = readGuildConfig(home);
140
- config[category][name] = {
141
- upstream: null,
142
- installedAt: new Date().toISOString(),
143
- ...(bundleSource ? { bundle: bundleSource } : {}),
144
- };
145
- writeGuildConfig(home, config);
146
- return name;
147
- }
148
- /** Recursively copy a directory, skipping node_modules and .git. */
149
- const SKIP_DIRS = new Set(['node_modules', '.git']);
150
- function copyDir(src, dest) {
151
- fs.mkdirSync(dest, { recursive: true });
152
- for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
153
- const srcPath = path.join(src, entry.name);
154
- const destPath = path.join(dest, entry.name);
155
- if (entry.isDirectory()) {
156
- if (!SKIP_DIRS.has(entry.name)) {
157
- copyDir(srcPath, destPath);
158
- }
159
- }
160
- else {
161
- fs.copyFileSync(srcPath, destPath);
162
- }
163
- }
164
- }
165
- // ── Main ────────────────────────────────────────────────────────────────
166
- /**
167
- * Install a bundle into a guild.
168
- *
169
- * Reads the bundle manifest, installs all referenced artifacts individually,
170
- * and optionally commits the result. The bundle itself is NOT retained as
171
- * a guild dependency — each artifact is installed independently.
172
- *
173
- * Package artifacts (tools, engines, and packaged content) are installed
174
- * via npm. Inline content artifacts (curricula/temperaments with `path`) are
175
- * copied directly from the bundle directory.
176
- *
177
- * If an installed package contains its own `nexus-bundle.json`, the installer
178
- * recurses to install the transitive bundle's artifacts.
179
- */
180
- export function installBundle(opts) {
181
- const { home, bundleDir, commit = true } = opts;
182
- // Auto-detect bundle provenance from package.json if not provided
183
- let bundleSource = opts.bundleSource;
184
- if (!bundleSource) {
185
- const bundlePkgPath = path.join(bundleDir, 'package.json');
186
- if (fs.existsSync(bundlePkgPath)) {
187
- const bundlePkg = readJson(bundlePkgPath);
188
- const name = bundlePkg['name'];
189
- const version = bundlePkg['version'];
190
- if (name && version) {
191
- bundleSource = `${name}@${version}`;
192
- }
193
- }
194
- }
195
- const manifest = readBundleManifest(bundleDir);
196
- const result = {
197
- installed: 0,
198
- artifacts: { tools: [], engines: [], curricula: [], temperaments: [], migrations: [] },
199
- };
200
- // ── Collect all package specifiers for batch npm install ──────────────
201
- const packageSpecs = [];
202
- for (const entry of manifest.tools ?? []) {
203
- packageSpecs.push(entry.package);
204
- }
205
- for (const entry of manifest.engines ?? []) {
206
- packageSpecs.push(entry.package);
207
- }
208
- for (const entry of manifest.curricula ?? []) {
209
- if (entry.package)
210
- packageSpecs.push(entry.package);
211
- }
212
- for (const entry of manifest.temperaments ?? []) {
213
- if (entry.package)
214
- packageSpecs.push(entry.package);
215
- }
216
- // ── Install inline content BEFORE npm install ──────────────────────
217
- // The bundle may have been fetched with --no-save. The batch npm install
218
- // below can prune unsaved packages from node_modules, destroying the
219
- // bundle directory. Extract all inline content while it still exists.
220
- // Install inline curricula
221
- for (const entry of manifest.curricula ?? []) {
222
- if (!entry.package) {
223
- const name = installInlineContent(home, bundleDir, 'curricula', entry, bundleSource);
224
- result.artifacts.curricula.push(name);
225
- result.installed++;
226
- }
227
- }
228
- // Install inline temperaments
229
- for (const entry of manifest.temperaments ?? []) {
230
- if (!entry.package) {
231
- const name = installInlineContent(home, bundleDir, 'temperaments', entry, bundleSource);
232
- result.artifacts.temperaments.push(name);
233
- result.installed++;
234
- }
235
- }
236
- // Install migrations (inline only, renumbered into guild sequence)
237
- if (manifest.migrations && manifest.migrations.length > 0) {
238
- const migrationsDir = path.join(home, 'nexus', 'migrations');
239
- fs.mkdirSync(migrationsDir, { recursive: true });
240
- // Find current highest sequence in guild
241
- const existing = fs.readdirSync(migrationsDir);
242
- const MIGRATION_PATTERN = /^(\d{3})-(.+)\.sql$/;
243
- let maxSeq = 0;
244
- for (const file of existing) {
245
- const match = file.match(MIGRATION_PATTERN);
246
- if (match) {
247
- maxSeq = Math.max(maxSeq, parseInt(match[1], 10));
248
- }
249
- }
250
- const provenance = {};
251
- for (const entry of manifest.migrations) {
252
- const srcPath = path.resolve(bundleDir, entry.path);
253
- if (!fs.existsSync(srcPath)) {
254
- throw new Error(`Migration file not found: ${srcPath}`);
255
- }
256
- const originalName = path.basename(srcPath);
257
- maxSeq++;
258
- const seq = String(maxSeq).padStart(3, '0');
259
- // Derive description from original filename (strip sequence prefix if present)
260
- const descMatch = originalName.match(/^\d{3}-(.+)$/);
261
- const description = descMatch ? descMatch[1] : originalName;
262
- const guildFilename = `${seq}-${description}`;
263
- fs.copyFileSync(srcPath, path.join(migrationsDir, guildFilename));
264
- if (bundleSource) {
265
- provenance[guildFilename] = { bundle: bundleSource, originalName };
266
- }
267
- result.artifacts.migrations.push(guildFilename);
268
- result.installed++;
269
- }
270
- if (Object.keys(provenance).length > 0) {
271
- result.migrationProvenance = provenance;
272
- }
273
- }
274
- // ── Batch npm install all package dependencies ────────────────────────
275
- // Safe to run now — all inline content has been extracted from bundleDir.
276
- if (packageSpecs.length > 0) {
277
- npm(['install', '--save', ...packageSpecs], home);
278
- }
279
- // ── Install package-based artifacts ───────────────────────────────────
280
- // Helper to install a single package artifact via installTool
281
- const installPackageArtifact = (entry, category) => {
282
- const spec = entry.package;
283
- // Resolve package name from the specifier
284
- const packageName = resolvePackageName(spec, home);
285
- const packageDir = path.join(home, 'node_modules', packageName);
286
- // Check for transitive bundle
287
- const nestedBundlePath = path.join(packageDir, BUNDLE_MANIFEST);
288
- if (fs.existsSync(nestedBundlePath)) {
289
- const nestedResult = installBundle({
290
- home,
291
- bundleDir: packageDir,
292
- bundleSource: spec,
293
- commit: false,
294
- });
295
- // Merge nested results
296
- result.installed += nestedResult.installed;
297
- for (const cat of ['tools', 'engines', 'curricula', 'temperaments']) {
298
- result.artifacts[cat].push(...nestedResult.artifacts[cat]);
299
- }
300
- return packageName;
301
- }
302
- // Find descriptor to determine artifact type.
303
- // For collection packages (exporting arrays), the descriptor may not exist
304
- // at the package root — that's fine, the name comes from the bundle manifest.
305
- const descriptorFile = DESCRIPTOR_MAP[category];
306
- const descriptorPath = path.join(packageDir, descriptorFile);
307
- const hasDescriptor = fs.existsSync(descriptorPath);
308
- const descriptor = hasDescriptor ? readJson(descriptorPath) : {};
309
- // Determine artifact name — bundle manifest name takes priority
310
- const name = entry.name || packageName.replace(/^@[^/]+\//, '');
311
- if (!hasDescriptor && !entry.name) {
312
- throw new Error(`Package "${packageName}" does not contain ${descriptorFile} and no "name" ` +
313
- `was specified in the bundle manifest. Collection packages must declare ` +
314
- `a "name" for each artifact in the bundle manifest.`);
315
- }
316
- // Copy metadata to guild directory
317
- const parentDir = DIR_MAP[category];
318
- const targetDir = path.join(home, parentDir, name);
319
- if (fs.existsSync(targetDir)) {
320
- fs.rmSync(targetDir, { recursive: true });
321
- }
322
- fs.mkdirSync(targetDir, { recursive: true });
323
- if (hasDescriptor) {
324
- // Copy descriptor
325
- fs.copyFileSync(descriptorPath, path.join(targetDir, descriptorFile));
326
- // Copy instructions if referenced
327
- const instructionsFile = descriptor['instructions'];
328
- if (instructionsFile) {
329
- const instrPath = path.join(packageDir, instructionsFile);
330
- if (fs.existsSync(instrPath)) {
331
- fs.copyFileSync(instrPath, path.join(targetDir, instructionsFile));
332
- }
333
- }
334
- // Copy content file if referenced (for curricula/temperaments)
335
- const contentFile = descriptor['content'];
336
- if (contentFile) {
337
- const contentPath = path.join(packageDir, contentFile);
338
- if (fs.existsSync(contentPath)) {
339
- fs.copyFileSync(contentPath, path.join(targetDir, contentFile));
340
- }
341
- }
342
- }
343
- // For collection packages without a per-tool descriptor: no files to copy.
344
- // Instructions come from the tool() definition at runtime (manifest engine
345
- // imports the module and reads the `instructions` field).
346
- // Register in guild.json
347
- const config = readGuildConfig(home);
348
- const now = new Date().toISOString();
349
- const version = descriptor['version'];
350
- const upstreamVersion = version ? `${packageName}@${version}` : packageName;
351
- if (category === 'tools' || category === 'engines') {
352
- config[category][name] = {
353
- upstream: upstreamVersion,
354
- installedAt: now,
355
- package: packageName,
356
- ...(bundleSource ? { bundle: bundleSource } : {}),
357
- };
358
- // Bundle-installed tools are registered in the catalog only.
359
- // Role assignment is handled by the caller (e.g. init-guild.ts
360
- // sets up roles with explicit tool lists). Tools not assigned to
361
- // any role or baseTools are installed but not accessible to animas.
362
- }
363
- else {
364
- config[category][name] = {
365
- upstream: upstreamVersion,
366
- installedAt: now,
367
- ...(bundleSource ? { bundle: bundleSource } : {}),
368
- };
369
- }
370
- writeGuildConfig(home, config);
371
- return name;
372
- };
373
- // Install tools
374
- for (const entry of manifest.tools ?? []) {
375
- const name = installPackageArtifact(entry, 'tools');
376
- result.artifacts.tools.push(name);
377
- result.installed++;
378
- }
379
- // Install engines
380
- for (const entry of manifest.engines ?? []) {
381
- const name = installPackageArtifact(entry, 'engines');
382
- result.artifacts.engines.push(name);
383
- result.installed++;
384
- }
385
- // Install package-based curricula
386
- for (const entry of manifest.curricula ?? []) {
387
- if (entry.package) {
388
- const name = installPackageArtifact(entry, 'curricula');
389
- result.artifacts.curricula.push(name);
390
- result.installed++;
391
- }
392
- }
393
- // Install package-based temperaments
394
- for (const entry of manifest.temperaments ?? []) {
395
- if (entry.package) {
396
- const name = installPackageArtifact(entry, 'temperaments');
397
- result.artifacts.temperaments.push(name);
398
- result.installed++;
399
- }
400
- }
401
- // Commit all changes in one batch
402
- if (commit) {
403
- git(['add', '-A'], home);
404
- const bundleLabel = bundleSource || path.basename(bundleDir);
405
- git(['commit', '-m', `Install bundle ${bundleLabel}`], home);
406
- }
407
- return result;
408
- }
409
- // ── Package name resolution ─────────────────────────────────────────────
410
- /**
411
- * Resolve a package specifier to a package name.
412
- *
413
- * - Local paths: reads name from the source's package.json
414
- * - Git URLs: finds the package in guild's package.json deps
415
- * - Registry specifiers: parses name from "name@version" or "@scope/name@version"
416
- */
417
- function resolvePackageName(spec, guildRoot) {
418
- // Local path: read package.json directly
419
- const isLocalPath = spec.startsWith('/') || spec.startsWith('./') || spec.startsWith('../');
420
- if (isLocalPath) {
421
- const pkgJsonPath = path.join(path.resolve(spec), 'package.json');
422
- if (!fs.existsSync(pkgJsonPath)) {
423
- throw new Error(`No package.json found at ${pkgJsonPath}`);
424
- }
425
- const pkg = readJson(pkgJsonPath);
426
- const name = pkg['name'];
427
- if (!name) {
428
- throw new Error(`No "name" field in ${pkgJsonPath}`);
429
- }
430
- return name;
431
- }
432
- // Git URL: find the package in node_modules by reading package.json deps
433
- if (spec.startsWith('git+')) {
434
- const guildPkg = readJson(path.join(guildRoot, 'package.json'));
435
- const deps = guildPkg['dependencies'] ?? {};
436
- for (const [name, value] of Object.entries(deps)) {
437
- if (value === spec || value.includes(spec.replace(/^git\+/, ''))) {
438
- return name;
439
- }
440
- }
441
- throw new Error(`Could not resolve package name for git URL: ${spec}`);
442
- }
443
- // Registry specifier: parse name from "name@version" or "@scope/name@version"
444
- if (spec.startsWith('@') && spec.lastIndexOf('@') > 0) {
445
- return spec.substring(0, spec.lastIndexOf('@'));
446
- }
447
- if (spec.includes('@')) {
448
- return spec.split('@')[0];
449
- }
450
- return spec;
451
- }
452
- //# sourceMappingURL=bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/legacy/1/bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA0EtE,2EAA2E;AAE3E,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAE5C,SAAS,GAAG,CAAC,IAAc,EAAE,GAAW;IACtC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,GAAG,CAAC,IAAc,EAAE,GAAW;IACtC,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,2EAA2E;AAE3E,MAAM,cAAc,GAA2B;IAC7C,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,mBAAmB;IAC5B,SAAS,EAAE,uBAAuB;IAClC,YAAY,EAAE,wBAAwB;CACvC,CAAC;AAEF,MAAM,OAAO,GAA2B;IACtC,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,oBAAoB;IAC/B,YAAY,EAAE,uBAAuB;CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,2EAA2E;AAE3E;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,MAAM,eAAe,aAAa,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAmB,CAAC;IAE1D,qDAAqD;IACrD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,yCAAyC;gBACzC,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,2CAA2C;gBAC3C,mFAAmF,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,2EAA2E;AAE3E;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,IAAY,EACZ,SAAiB,EACjB,QAAsC,EACtC,KAAyB,EACzB,YAAqB;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAK,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,iCAAiC;IACjC,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAE,CAAC;IACjD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,MAAM,cAAc,aAAa,UAAU,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAErD,+BAA+B;IAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAE/B,yBAAyB;IACzB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;QACvB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;IACF,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpD,SAAS,OAAO,CAAC,GAAW,EAAE,IAAY;IACxC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED,2EAA2E;AAE3E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,IAA0B;IACtD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEhD,kEAAkE;IAClE,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACrC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAuB,CAAC;YACrD,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAuB,CAAC;YAC3D,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBACpB,YAAY,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAwB;QAClC,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;KACvF,CAAC;IAEF,yEAAyE;IAEzE,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACzC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC3C,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,OAAO;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,qEAAqE;IACrE,sEAAsE;IAEtE,2BAA2B;IAC3B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;YACrF,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;YACxF,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC7D,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjD,yCAAyC;QACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;QAChD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC5C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAA6D,EAAE,CAAC;QAEhF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAE5C,+EAA+E;YAC/E,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC5D,MAAM,aAAa,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;YAE9C,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;YAElE,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;YACrE,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,mBAAmB,GAAG,UAAU,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,yEAAyE;IAEzE,8DAA8D;IAC9D,MAAM,sBAAsB,GAAG,CAC7B,KAA8C,EAC9C,QAA4D,EACpD,EAAE;QACV,MAAM,IAAI,GAAI,KAA4B,CAAC,OAAO,CAAC;QAEnD,0CAA0C;QAC1C,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAEhE,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,aAAa,CAAC;gBACjC,IAAI;gBACJ,SAAS,EAAE,UAAU;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,uBAAuB;YACvB,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC;YAC3C,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,CAAU,EAAE,CAAC;gBAC7E,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,8CAA8C;QAC9C,2EAA2E;QAC3E,8EAA8E;QAC9E,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAE,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEjE,gEAAgE;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,YAAY,WAAW,sBAAsB,cAAc,iBAAiB;gBAC5E,yEAAyE;gBACzE,oDAAoD,CACrD,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,IAAI,aAAa,EAAE,CAAC;YAClB,kBAAkB;YAClB,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;YAEtE,kCAAkC;YAClC,MAAM,gBAAgB,GAAG,UAAU,CAAC,cAAc,CAAuB,CAAC;YAC1E,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBAC1D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAuB,CAAC;YAChE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACvD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,0DAA0D;QAE1D,yBAAyB;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAuB,CAAC;QAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAE5E,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;gBACvB,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,GAAG;gBAChB,OAAO,EAAE,WAAW;gBACpB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC;YAEF,6DAA6D;YAC7D,+DAA+D;YAC/D,iEAAiE;YACjE,oEAAoE;QACtE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;gBACvB,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,GAAG;gBAChB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC;QACJ,CAAC;QAED,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,gBAAgB;IAChB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAED,kCAAkC;IAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACxD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC3D,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACzB,MAAM,WAAW,GAAG,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC7D,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2EAA2E;AAE3E;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,IAAY,EAAE,SAAiB;IACzD,yCAAyC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5F,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAuB,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAuC,IAAI,EAAE,CAAC;QAClF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=clock-daemon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clock-daemon.d.ts","sourceRoot":"","sources":["../../../src/legacy/1/clock-daemon.ts"],"names":[],"mappings":""}