@memberjunction/cli 5.41.0 → 5.43.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 (119) hide show
  1. package/dist/commands/app/install.d.ts.map +1 -1
  2. package/dist/commands/app/install.js +2 -1
  3. package/dist/commands/app/install.js.map +1 -1
  4. package/dist/commands/bundle/index.d.ts +1 -0
  5. package/dist/commands/bundle/index.d.ts.map +1 -1
  6. package/dist/commands/bundle/index.js +7 -1
  7. package/dist/commands/bundle/index.js.map +1 -1
  8. package/dist/commands/codegen/index.d.ts +6 -16
  9. package/dist/commands/codegen/index.d.ts.map +1 -1
  10. package/dist/commands/codegen/index.js +6 -90
  11. package/dist/commands/codegen/index.js.map +1 -1
  12. package/dist/commands/codegen/manifest.d.ts +41 -10
  13. package/dist/commands/codegen/manifest.d.ts.map +1 -1
  14. package/dist/commands/codegen/manifest.js +66 -0
  15. package/dist/commands/codegen/manifest.js.map +1 -1
  16. package/dist/commands/codegen/usage.d.ts +7 -0
  17. package/dist/commands/codegen/usage.d.ts.map +1 -0
  18. package/dist/commands/codegen/usage.js +10 -0
  19. package/dist/commands/codegen/usage.js.map +1 -0
  20. package/dist/commands/install/claude.d.ts +35 -0
  21. package/dist/commands/install/claude.d.ts.map +1 -0
  22. package/dist/commands/install/claude.js +108 -0
  23. package/dist/commands/install/claude.js.map +1 -0
  24. package/dist/commands/install/index.d.ts +1 -0
  25. package/dist/commands/install/index.d.ts.map +1 -1
  26. package/dist/commands/install/index.js +4 -0
  27. package/dist/commands/install/index.js.map +1 -1
  28. package/dist/commands/migrate/convert.d.ts +59 -12
  29. package/dist/commands/migrate/convert.d.ts.map +1 -1
  30. package/dist/commands/migrate/convert.js +294 -21
  31. package/dist/commands/migrate/convert.js.map +1 -1
  32. package/dist/commands/migrate/rebake.d.ts +41 -0
  33. package/dist/commands/migrate/rebake.d.ts.map +1 -0
  34. package/dist/commands/migrate/rebake.js +193 -0
  35. package/dist/commands/migrate/rebake.js.map +1 -0
  36. package/dist/commands/plugin/add.d.ts +18 -0
  37. package/dist/commands/plugin/add.d.ts.map +1 -0
  38. package/dist/commands/plugin/add.js +53 -0
  39. package/dist/commands/plugin/add.js.map +1 -0
  40. package/dist/commands/sync/pull.d.ts +6 -26
  41. package/dist/commands/sync/pull.d.ts.map +1 -1
  42. package/dist/commands/sync/pull.js +6 -281
  43. package/dist/commands/sync/pull.js.map +1 -1
  44. package/dist/commands/sync/push.d.ts +8 -19
  45. package/dist/commands/sync/push.d.ts.map +1 -1
  46. package/dist/commands/sync/push.js +8 -328
  47. package/dist/commands/sync/push.js.map +1 -1
  48. package/dist/commands/sync/usage.d.ts +7 -0
  49. package/dist/commands/sync/usage.d.ts.map +1 -0
  50. package/dist/commands/sync/usage.js +10 -0
  51. package/dist/commands/sync/usage.js.map +1 -0
  52. package/dist/commands/update/claude.d.ts +37 -0
  53. package/dist/commands/update/claude.d.ts.map +1 -0
  54. package/dist/commands/update/claude.js +90 -0
  55. package/dist/commands/update/claude.js.map +1 -0
  56. package/dist/commands/usage.d.ts +17 -0
  57. package/dist/commands/usage.d.ts.map +1 -0
  58. package/dist/commands/usage.js +29 -0
  59. package/dist/commands/usage.js.map +1 -0
  60. package/dist/config.d.ts +41 -7
  61. package/dist/config.d.ts.map +1 -1
  62. package/dist/config.js +9 -4
  63. package/dist/config.js.map +1 -1
  64. package/dist/hooks/prerun.d.ts.map +1 -1
  65. package/dist/hooks/prerun.js +49 -8
  66. package/dist/hooks/prerun.js.map +1 -1
  67. package/dist/lib/claude-pack/ManagedBlockEditor.d.ts +40 -0
  68. package/dist/lib/claude-pack/ManagedBlockEditor.d.ts.map +1 -0
  69. package/dist/lib/claude-pack/ManagedBlockEditor.js +127 -0
  70. package/dist/lib/claude-pack/ManagedBlockEditor.js.map +1 -0
  71. package/dist/lib/claude-pack/PackFetcher.d.ts +86 -0
  72. package/dist/lib/claude-pack/PackFetcher.d.ts.map +1 -0
  73. package/dist/lib/claude-pack/PackFetcher.js +163 -0
  74. package/dist/lib/claude-pack/PackFetcher.js.map +1 -0
  75. package/dist/lib/claude-pack/PackInstaller.d.ts +62 -0
  76. package/dist/lib/claude-pack/PackInstaller.d.ts.map +1 -0
  77. package/dist/lib/claude-pack/PackInstaller.js +197 -0
  78. package/dist/lib/claude-pack/PackInstaller.js.map +1 -0
  79. package/dist/lib/claude-pack/PackMerger.d.ts +61 -0
  80. package/dist/lib/claude-pack/PackMerger.d.ts.map +1 -0
  81. package/dist/lib/claude-pack/PackMerger.js +315 -0
  82. package/dist/lib/claude-pack/PackMerger.js.map +1 -0
  83. package/dist/lib/claude-pack/PackOutputFormatter.d.ts +29 -0
  84. package/dist/lib/claude-pack/PackOutputFormatter.d.ts.map +1 -0
  85. package/dist/lib/claude-pack/PackOutputFormatter.js +82 -0
  86. package/dist/lib/claude-pack/PackOutputFormatter.js.map +1 -0
  87. package/dist/lib/claude-pack/PackPaths.d.ts +80 -0
  88. package/dist/lib/claude-pack/PackPaths.d.ts.map +1 -0
  89. package/dist/lib/claude-pack/PackPaths.js +182 -0
  90. package/dist/lib/claude-pack/PackPaths.js.map +1 -0
  91. package/dist/lib/claude-pack/PackTypes.d.ts +124 -0
  92. package/dist/lib/claude-pack/PackTypes.d.ts.map +1 -0
  93. package/dist/lib/claude-pack/PackTypes.js +32 -0
  94. package/dist/lib/claude-pack/PackTypes.js.map +1 -0
  95. package/dist/lib/claude-pack/SettingsMerger.d.ts +47 -0
  96. package/dist/lib/claude-pack/SettingsMerger.d.ts.map +1 -0
  97. package/dist/lib/claude-pack/SettingsMerger.js +163 -0
  98. package/dist/lib/claude-pack/SettingsMerger.js.map +1 -0
  99. package/dist/lib/cli-plugins.d.ts +16 -0
  100. package/dist/lib/cli-plugins.d.ts.map +1 -0
  101. package/dist/lib/cli-plugins.js +26 -0
  102. package/dist/lib/cli-plugins.js.map +1 -0
  103. package/dist/lib/domain-usage-command.d.ts +16 -0
  104. package/dist/lib/domain-usage-command.d.ts.map +1 -0
  105. package/dist/lib/domain-usage-command.js +23 -0
  106. package/dist/lib/domain-usage-command.js.map +1 -0
  107. package/dist/lib/usage-render.d.ts +14 -0
  108. package/dist/lib/usage-render.d.ts.map +1 -0
  109. package/dist/lib/usage-render.js +64 -0
  110. package/dist/lib/usage-render.js.map +1 -0
  111. package/dist/light-commands.d.ts.map +1 -1
  112. package/dist/light-commands.js +11 -0
  113. package/dist/light-commands.js.map +1 -1
  114. package/dist/utils/open-app-context.d.ts +5 -5
  115. package/dist/utils/open-app-context.d.ts.map +1 -1
  116. package/dist/utils/open-app-context.js +44 -48
  117. package/dist/utils/open-app-context.js.map +1 -1
  118. package/oclif.manifest.json +821 -134
  119. package/package.json +17 -15
@@ -0,0 +1,29 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import { CLIPluginRegistry } from '@memberjunction/cli-core';
3
+ import { loadAllCliPlugins } from '../lib/cli-plugins.js';
4
+ import { emitUsage, renderDomainMap } from '../lib/usage-render.js';
5
+ /**
6
+ * Tier-1 progressive disclosure (plan §5, the linearis model). Returns a compact
7
+ * domain map — each domain + one-line summary + runtime class — so an agent
8
+ * discovers the CLI's surface in ~200 tokens instead of pulling the full ~13k
9
+ * command tree. The guidance string tells the agent to run `mj <domain> usage`
10
+ * before invoking, rather than guessing flags.
11
+ */
12
+ export default class Usage extends Command {
13
+ static { this.description = 'List mj command domains (AI-agent-friendly, tier-1 progressive disclosure). Then run `mj <domain> usage`.'; }
14
+ static { this.examples = [
15
+ `<%= config.bin %> <%= command.id %>`,
16
+ `<%= config.bin %> <%= command.id %> --format=json`,
17
+ ]; }
18
+ static { this.flags = {
19
+ format: Flags.string({ options: ['text', 'json', 'md'], default: 'text', description: 'Output format' }),
20
+ }; }
21
+ async run() {
22
+ const { flags } = await this.parse(Usage);
23
+ await loadAllCliPlugins(process.cwd());
24
+ const map = CLIPluginRegistry.BuildDomainMap();
25
+ const result = CLIPluginRegistry.AsResult('usage', { guidance: map.guidance, domains: map.domains });
26
+ emitUsage((m) => this.log(m), flags.format, result, renderDomainMap(map));
27
+ }
28
+ }
29
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;aACjC,gBAAW,GAAG,2GAA2G,CAAC;aAE1H,aAAQ,GAAG;QAChB,qCAAqC;QACrC,mDAAmD;KACpD,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;KACzG,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAgB,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,CAAC"}
package/dist/config.d.ts CHANGED
@@ -110,8 +110,6 @@ declare const mjConfigSchema: z.ZodObject<{
110
110
  Path?: string;
111
111
  Role?: "server" | "client";
112
112
  }>, "many">>;
113
- /** File subpath within client workspace for bootstrap file */
114
- clientBootstrapSubpath: z.ZodOptional<z.ZodString>;
115
113
  /** Extra placeholders merged into migration SQL substitution (e.g. { mjSchema: '__mj' }) */
116
114
  migrationPlaceholders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
117
115
  }, "strip", z.ZodTypeAny, {
@@ -137,7 +135,6 @@ declare const mjConfigSchema: z.ZodObject<{
137
135
  Path?: string;
138
136
  Role?: "server" | "client";
139
137
  }[];
140
- clientBootstrapSubpath?: string;
141
138
  migrationPlaceholders?: Record<string, string>;
142
139
  }, {
143
140
  github?: {
@@ -162,13 +159,28 @@ declare const mjConfigSchema: z.ZodObject<{
162
159
  Path?: string;
163
160
  Role?: "server" | "client";
164
161
  }[];
165
- clientBootstrapSubpath?: string;
166
162
  migrationPlaceholders?: Record<string, string>;
167
163
  }>>;
168
164
  dynamicPackages: z.ZodOptional<z.ZodObject<{
169
165
  server: z.ZodOptional<z.ZodArray<z.ZodObject<{
170
166
  PackageName: z.ZodString;
171
- StartupExport: z.ZodString;
167
+ StartupExport: z.ZodOptional<z.ZodString>;
168
+ AppName: z.ZodString;
169
+ Enabled: z.ZodDefault<z.ZodBoolean>;
170
+ }, "strip", z.ZodTypeAny, {
171
+ PackageName?: string;
172
+ StartupExport?: string;
173
+ AppName?: string;
174
+ Enabled?: boolean;
175
+ }, {
176
+ PackageName?: string;
177
+ StartupExport?: string;
178
+ AppName?: string;
179
+ Enabled?: boolean;
180
+ }>, "many">>;
181
+ client: z.ZodOptional<z.ZodArray<z.ZodObject<{
182
+ PackageName: z.ZodString;
183
+ StartupExport: z.ZodOptional<z.ZodString>;
172
184
  AppName: z.ZodString;
173
185
  Enabled: z.ZodDefault<z.ZodBoolean>;
174
186
  }, "strip", z.ZodTypeAny, {
@@ -189,6 +201,12 @@ declare const mjConfigSchema: z.ZodObject<{
189
201
  AppName?: string;
190
202
  Enabled?: boolean;
191
203
  }[];
204
+ client?: {
205
+ PackageName?: string;
206
+ StartupExport?: string;
207
+ AppName?: string;
208
+ Enabled?: boolean;
209
+ }[];
192
210
  }, {
193
211
  server?: {
194
212
  PackageName?: string;
@@ -196,6 +214,12 @@ declare const mjConfigSchema: z.ZodObject<{
196
214
  AppName?: string;
197
215
  Enabled?: boolean;
198
216
  }[];
217
+ client?: {
218
+ PackageName?: string;
219
+ StartupExport?: string;
220
+ AppName?: string;
221
+ Enabled?: boolean;
222
+ }[];
199
223
  }>>;
200
224
  }, "strip", z.ZodTypeAny, {
201
225
  dbHost?: string;
@@ -248,7 +272,6 @@ declare const mjConfigSchema: z.ZodObject<{
248
272
  Path?: string;
249
273
  Role?: "server" | "client";
250
274
  }[];
251
- clientBootstrapSubpath?: string;
252
275
  migrationPlaceholders?: Record<string, string>;
253
276
  };
254
277
  dynamicPackages?: {
@@ -258,6 +281,12 @@ declare const mjConfigSchema: z.ZodObject<{
258
281
  AppName?: string;
259
282
  Enabled?: boolean;
260
283
  }[];
284
+ client?: {
285
+ PackageName?: string;
286
+ StartupExport?: string;
287
+ AppName?: string;
288
+ Enabled?: boolean;
289
+ }[];
261
290
  };
262
291
  }, {
263
292
  dbHost?: string;
@@ -310,7 +339,6 @@ declare const mjConfigSchema: z.ZodObject<{
310
339
  Path?: string;
311
340
  Role?: "server" | "client";
312
341
  }[];
313
- clientBootstrapSubpath?: string;
314
342
  migrationPlaceholders?: Record<string, string>;
315
343
  };
316
344
  dynamicPackages?: {
@@ -320,6 +348,12 @@ declare const mjConfigSchema: z.ZodObject<{
320
348
  AppName?: string;
321
349
  Enabled?: boolean;
322
350
  }[];
351
+ client?: {
352
+ PackageName?: string;
353
+ StartupExport?: string;
354
+ AppName?: string;
355
+ Enabled?: boolean;
356
+ }[];
323
357
  };
324
358
  }>;
325
359
  export declare const config: MJConfig | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,6BAA6B,CAAC;AAInG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAoGtD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAtChB,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAahE,iFAAiF;;QAEjF,sFAAsF;;QAEtF,6FAA6F;;QAE7F,+FAA+F;;QAE/F,yEAAyE;;;;;;;;;;;QAKzE,8DAA8D;;QAE9D,4FAA4F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC5F,CAAC;AAkCH,eAAO,MAAM,MAAM,EAAqB,QAAQ,GAAG,SAAS,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,QAyBrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,SAGxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAO,QAAQ,GAAG,SAU3C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,QAAQ,EAClB,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,MAAM,MAAM,KACX,OAAO,CAAC,YAAY,CA6FtB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,6BAA6B,CAAC;AAInG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAyGtD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAxChB,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAahE,iFAAiF;;QAEjF,sFAAsF;;QAEtF,6FAA6F;;QAE7F,+FAA+F;;QAE/F,yEAAyE;;;;;;;;;;;QAKzE,4FAA4F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4C5F,CAAC;AAkCH,eAAO,MAAM,MAAM,EAAqB,QAAQ,GAAG,SAAS,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,QAyBrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,SAGxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAO,QAAQ,GAAG,SAU3C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,QAAQ,EAClB,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,MAAM,MAAM,KACX,OAAO,CAAC,YAAY,CA6FtB,CAAC"}
package/dist/config.js CHANGED
@@ -49,7 +49,10 @@ const schemaPlaceholderSchema = z.object({
49
49
  // Schema for dynamic package entries managed by `mj app install/remove`
50
50
  const dynamicPackageEntrySchema = z.object({
51
51
  PackageName: z.string(),
52
- StartupExport: z.string(),
52
+ // Server entries carry a named startup export invoked after import. Client
53
+ // entries are pure side-effect imports (their @RegisterClass decorators fire on
54
+ // load), so StartupExport is optional and unset for the client array.
55
+ StartupExport: z.string().optional(),
53
56
  AppName: z.string(),
54
57
  Enabled: z.boolean().default(true),
55
58
  });
@@ -83,14 +86,16 @@ const openAppsConfigSchema = z.object({
83
86
  Path: z.string(),
84
87
  Role: z.enum(['server', 'client']),
85
88
  })).optional(),
86
- /** File subpath within client workspace for bootstrap file */
87
- clientBootstrapSubpath: z.string().optional(),
88
89
  /** Extra placeholders merged into migration SQL substitution (e.g. { mjSchema: '__mj' }) */
89
90
  migrationPlaceholders: z.record(z.string(), z.string()).optional(),
90
91
  }).optional();
91
- // Schema for dynamic packages section
92
+ // Schema for dynamic packages section.
93
+ // `server` is consumed by @memberjunction/server-bootstrap at MJAPI boot (B1).
94
+ // `client` is consumed by `mj codegen manifest --open-app-client-bootstrap`, which
95
+ // appends a side-effect import per entry to MJExplorer's class-registrations manifest.
92
96
  const dynamicPackagesSchema = z.object({
93
97
  server: z.array(dynamicPackageEntrySchema).optional(),
98
+ client: z.array(dynamicPackageEntrySchema).optional(),
94
99
  }).optional();
95
100
  // Schema for database-dependent config (required fields)
96
101
  const mjConfigSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAa,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAIrF,MAAM,WAAW,GAAG,0CAA0C,CAAC;AAE/D,6EAA6E;AAC7E,yEAAyE;AACzE,0EAA0E;AAC1E,8EAA8E;AAC9E,4EAA4E;AAC5E,MAAM,eAAe,GAAG,wBAAwB,EAAE,CAAC;AAEnD,MAAM,kBAAkB,GAAG;IACzB,UAAU,EAAE,eAAe,IAAK,WAAqB;IACrD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,WAAW;IAC1C,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9G,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;IACzC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;IAChG,wBAAwB,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAClF,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE;IACnD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE;IACtD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,SAAS;IAC3H,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,eAAwB;IACzC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,MAAM;IACpB,kBAAkB,EAAE,yBAAyB;CAC9C,CAAC;AAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;AACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAEpD,sEAAsE;AACtE,iEAAiE;AACjE,MAAM,YAAY,GAAQ,YAAY,EAAE,MAAM;IAC5C,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,YAAY,CAAC,MAAM,CAAC;IACvD,CAAC,CAAC,kBAAkB,CAAC;AAEvB,uEAAuE;AACvE,MAAM,MAAM,GAAG,YAAY;IACzB,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE;IAC3C,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAE3D,+DAA+D;AAC/D,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,2EAA2E;IAC3E,gFAAgF;IAChF,sEAAsE;IACtE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,4CAA4C;AAC5C,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,8DAA8D;QAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC/D,CAAC,CAAC,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC,CAAC,QAAQ,EAAE;IACd,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC1B,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAC,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,iFAAiF;IACjF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,sFAAsF;IACtF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,6FAA6F;IAC7F,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,+FAA+F;IAC/F,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9E,yEAAyE;IACzE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACnC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACd,4FAA4F;IAC5F,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,uCAAuC;AACvC,+EAA+E;AAC/E,mFAAmF;AACnF,uFAAuF;AACvF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;IACrD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,yDAAyD;AACzD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAChD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3D,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;IAC9C,qFAAqF;IACrF,iFAAiF;IACjF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACnD,gFAAgF;IAChF,kFAAkF;IAClF,mDAAmD;IACnD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjD,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;IACzF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;KAChE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,oBAAoB;IAC9B,eAAe,EAAE,qBAAqB;CACvC,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3D,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;IAC9C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACnD,gFAAgF;IAChF,kFAAkF;IAClF,mDAAmD;IACnD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjD,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;IACzF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;KAChE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,oBAAoB;IAC9B,eAAe,EAAE,qBAAqB;CACvC,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,EAAE,MAA8B,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAa,EAAE;IAC/C,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,WAAW,GAA2B;YAC1C,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,aAAa;YACzB,YAAY,EAAE,qBAAqB;YACnC,eAAe,EAAE,qBAAqB;SACvC,CAAC;QAEF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,KAAK,CACb,iFAAiF;YACjF,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAC1B,gDAAgD;YAChD,mGAAmG,CACpG,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,CAAC;AAC3B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAkC,EAAE;IACnE,MAAM,YAAY,GAAG,sBAAsB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAyB,EAAE;IACtD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,6CAA6C;IAC7C,MAAM,iBAAiB,GAAQ,iBAAiB,EAAE,MAAM;QACtD,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,MAAM,CAAC;QAC5D,CAAC,CAAC,kBAAkB,CAAC;IAEvB,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAChE,oEAAoE;IACpE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,QAAkB,EAClB,GAAY,EACZ,MAAe,EACf,GAAY,EACW,EAAE;IACzB,MAAM,YAAY,GAAG,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,KAAK,YAAY,CAAC;IAElD,IAAI,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IAE3C,6FAA6F;IAC7F,0FAA0F;IAC1F,6CAA6C;IAC7C,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACxD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChB,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,4FAA4F;QAC5F,4EAA4E;QAC5E,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3F,MAAM,GAAG,GAAc,SAAS,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;QACxD,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QACxF,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAErD,QAAQ,GAAG,cAAc,GAAG,EAAE,CAAC;QAE/B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrE,QAAQ,GAAG,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAE3D,qBAAqB;IACrB,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,6FAA6F;IAC7F,YAAY,CAAC,sBAAsB,CAAC,GAAG,YAAY,CAAC;IAEpD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAElE,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,4EAA4E;QAC5E,KAAK,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,kBAAkB,EAAE,CAAC;YACrE,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC/D,4DAA4D;YAC5D,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,SAAS;YACrD,YAAY,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC;QAC9C,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACpD,iEAAiE;QACjE,YAAY,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;IACjD,CAAC;IAED,MAAM,OAAO,GAAoB,QAAQ,CAAC,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IAEnG,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU;QAC7B,IAAI,EAAE,QAAQ,CAAC,YAAY;QAC3B,QAAQ,EAAE,QAAQ,CAAC,eAAe;QAClC,OAAO,EAAE;YACP,OAAO,EAAE,QAAQ,CAAC,SAAS;YAC3B,sBAAsB,EAAE,QAAQ,CAAC,wBAAwB;YACzD,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpF;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE/D,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACV,SAAS,EAAE,CAAC,aAAa,CAAC;YAC1B,aAAa,EAAE,YAAY;YAC3B,qEAAqE;YACrE,sEAAsE;YACtE,oEAAoE;YACpE,sDAAsD;YACtD,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC;QACD,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KAC9E,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,KAAK,UAAU,oBAAoB,CAAC,OAAwB,EAAE,QAAkC;IAC9F,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAC7E,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;YAC/E,OAAO,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prerun.d.ts","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,CAoCxB,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"prerun.d.ts","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,CAoExB,CAAC;AAcF,eAAe,IAAI,CAAC"}
@@ -1,14 +1,48 @@
1
1
  import figlet from 'figlet';
2
2
  import { LIGHT_COMMANDS } from '../light-commands.js';
3
3
  const hook = async function (options) {
4
+ const argv = options.argv ?? [];
5
+ // Machine-readable output must keep stdout clean — suppress the banner AND the
6
+ // userAgent line entirely for `--format=json|md` and `--no-banner` (plan §1a/D4).
7
+ const formatArg = (() => {
8
+ const eq = argv.find((a) => a.startsWith('--format='));
9
+ if (eq)
10
+ return eq.slice('--format='.length);
11
+ const i = argv.indexOf('--format');
12
+ return i >= 0 ? argv[i + 1] : undefined;
13
+ })();
14
+ const machineFormat = formatArg === 'json' || formatArg === 'md';
15
+ const noBanner = argv.includes('--no-banner');
16
+ // `--no-banner` is global chrome — every command renders the banner, so suppressing
17
+ // it must work on ANY command, including those not yet migrated to BaseCLIPlugin
18
+ // (which don't declare the flag and would otherwise fail oclif's strict parser with
19
+ // "Nonexistent flag"). Signal suppression to MJCLIRuntimeHost via env (so migrated
20
+ // commands still gate their runtime advisory) and strip the flag from argv in place
21
+ // so the per-command parser never sees an undeclared flag.
22
+ if (noBanner) {
23
+ process.env.MJ_CLI_NO_BANNER = '1';
24
+ for (let i = argv.length - 1; i >= 0; i--) {
25
+ if (argv[i] === '--no-banner')
26
+ argv.splice(i, 1);
27
+ }
28
+ }
4
29
  // Skip banners if --quiet flag is present (or appears to be present)
5
- if (options.argv?.some((arg) => arg === '--quiet' || (/^-[^-]+/.test(arg) && arg.includes('q')))) {
30
+ if (machineFormat || noBanner || argv.some((arg) => arg === '--quiet' || (/^-[^-]+/.test(arg) && arg.includes('q')))) {
31
+ // Still conditionally load bootstrap below — just no decorative output.
32
+ return await maybeLoadBootstrap(options);
33
+ }
34
+ // Skip banners entirely when --json is requested — the contract for --json
35
+ // is that stdout is parseable JSON, and any banner above it breaks
36
+ // `mj … --json | jq`. This early-return also skips the userAgent line below.
37
+ if (options.argv?.some((arg) => arg === '--json')) {
6
38
  return;
7
39
  }
8
40
  // Suppress the large figlet banner for hot-path, frequently-run commands (e.g. `mj sync *`)
9
- // where it's pure scrollback cost. The compact userAgent line below still prints.
41
+ // and the agent-facing usage commands, where it's pure scrollback cost. The
42
+ // compact userAgent line below still prints.
10
43
  const commandIdForBanner = options.Command.id ?? '';
11
- const showFiglet = !commandIdForBanner.startsWith('sync');
44
+ const isUsageCommand = commandIdForBanner === 'usage' || commandIdForBanner.endsWith('usage');
45
+ const showFiglet = !commandIdForBanner.startsWith('sync') && !isUsageCommand;
12
46
  if (showFiglet) {
13
47
  options.context.log(process.stdout.columns >= 81
14
48
  ? figlet.textSync('MemberJunction', {
@@ -20,16 +54,23 @@ const hook = async function (options) {
20
54
  })
21
55
  : '~ M e m b e r J u n c t i o n ~');
22
56
  }
23
- if (options.Command.id !== 'version') {
57
+ // The agent-facing usage commands (`mj usage`, `mj <domain> usage`) are meant to
58
+ // be a terse domain map — skip the userAgent line so text-mode stdout stays clean.
59
+ if (options.Command.id !== 'version' && !isUsageCommand) {
24
60
  options.context.log(options.config.userAgent + '\n');
25
61
  }
26
- // Conditionally load MJ bootstrap for heavy commands.
27
- // Light commands (version, help, bump, migrate, clean, install, dbdoc/*)
28
- // skip the ~1,400 class registrations for instant startup.
62
+ await maybeLoadBootstrap(options);
63
+ };
64
+ /**
65
+ * Conditionally load MJ bootstrap for heavy commands. Light commands (version,
66
+ * help, bump, migrate, clean, install, dbdoc/*, usage/*) skip the ~1,400 class
67
+ * registrations for instant startup.
68
+ */
69
+ async function maybeLoadBootstrap(options) {
29
70
  const commandId = options.Command.id ?? '';
30
71
  if (!LIGHT_COMMANDS.has(commandId)) {
31
72
  await import('@memberjunction/server-bootstrap-lite/mj-class-registrations');
32
73
  }
33
- };
74
+ }
34
75
  export default hook;
35
76
  //# sourceMappingURL=prerun.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,IAAI,GAAmB,KAAK,WAAW,OAAO;IAClD,qEAAqE;IACrE,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,OAAO;IACT,CAAC;IAED,4FAA4F;IAC5F,kFAAkF;IAClF,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,OAAO,CAAC,GAAG,CACjB,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;YAC1B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE;gBAChC,IAAI,EAAE,UAAU;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,cAAc,EAAE,SAAS;gBACzB,KAAK,EAAE,GAAG;gBACV,eAAe,EAAE,IAAI;aACtB,CAAC;YACJ,CAAC,CAAC,iCAAiC,CACtC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,sDAAsD;IACtD,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,CAAC,8DAA8D,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Parse + rewrite the MJ-managed block in a user's `CLAUDE.md`.
3
+ *
4
+ * The block is delimited by HTML comment markers:
5
+ * <!-- MJ-MANAGED:CLAUDE-PACK START key=value key=value -->
6
+ * ... managed content ...
7
+ * <!-- MJ-MANAGED:CLAUDE-PACK END -->
8
+ *
9
+ * Everything before and after the block is the user's free section and must
10
+ * never be touched.
11
+ *
12
+ * @see plans/claude-install-pack.md §3.3, §6.4 (CLAUDE.md row), §10.4
13
+ */
14
+ import type { ManagedBlock } from './PackTypes.js';
15
+ export declare class ManagedBlockError extends Error {
16
+ constructor(message: string);
17
+ }
18
+ /**
19
+ * Find the managed block in a CLAUDE.md file. Returns `null` when no markers
20
+ * are present (caller should handle the "file exists but unmanaged" case).
21
+ * Throws `ManagedBlockError` when markers are malformed (e.g. END before
22
+ * START, only one marker present, multiple START markers).
23
+ */
24
+ export declare function parseManagedBlock(content: string): ManagedBlock | null;
25
+ /**
26
+ * Replace the managed block in `content` with `newBody`, updating attributes
27
+ * on the START marker.
28
+ *
29
+ * Throws `ManagedBlockError` if no managed block is present — callers should
30
+ * use `wrapWithManagedBlock` for the first-install case.
31
+ */
32
+ export declare function rewriteManagedBlock(content: string, newBody: string, newAttrs: Record<string, string>): string;
33
+ /**
34
+ * Wrap arbitrary `content` with a managed block, placing the block at the
35
+ * top and the original content below (as the user's free section).
36
+ *
37
+ * If `content` is empty, the result is just the rendered managed block.
38
+ */
39
+ export declare function wrapWithManagedBlock(content: string, body: string, attrs: Record<string, string>): string;
40
+ //# sourceMappingURL=ManagedBlockEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManagedBlockEditor.d.ts","sourceRoot":"","sources":["../../../src/lib/claude-pack/ManagedBlockEditor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI9B;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAiCtE;AA0BD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,CAMR;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAKR"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Parse + rewrite the MJ-managed block in a user's `CLAUDE.md`.
3
+ *
4
+ * The block is delimited by HTML comment markers:
5
+ * <!-- MJ-MANAGED:CLAUDE-PACK START key=value key=value -->
6
+ * ... managed content ...
7
+ * <!-- MJ-MANAGED:CLAUDE-PACK END -->
8
+ *
9
+ * Everything before and after the block is the user's free section and must
10
+ * never be touched.
11
+ *
12
+ * @see plans/claude-install-pack.md §3.3, §6.4 (CLAUDE.md row), §10.4
13
+ */
14
+ // ---------------------------------------------------------------------------
15
+ // Marker constants
16
+ // ---------------------------------------------------------------------------
17
+ /** Match a START marker line and capture the attribute string. */
18
+ const START_RE = /<!--\s*MJ-MANAGED:CLAUDE-PACK\s+START\s*([^>]*?)\s*-->/;
19
+ /** Match an END marker line. */
20
+ const END_RE = /<!--\s*MJ-MANAGED:CLAUDE-PACK\s+END\s*-->/;
21
+ // ---------------------------------------------------------------------------
22
+ // Errors
23
+ // ---------------------------------------------------------------------------
24
+ export class ManagedBlockError extends Error {
25
+ constructor(message) {
26
+ super(message);
27
+ this.name = 'ManagedBlockError';
28
+ }
29
+ }
30
+ // ---------------------------------------------------------------------------
31
+ // Parse
32
+ // ---------------------------------------------------------------------------
33
+ /**
34
+ * Find the managed block in a CLAUDE.md file. Returns `null` when no markers
35
+ * are present (caller should handle the "file exists but unmanaged" case).
36
+ * Throws `ManagedBlockError` when markers are malformed (e.g. END before
37
+ * START, only one marker present, multiple START markers).
38
+ */
39
+ export function parseManagedBlock(content) {
40
+ const startMatch = START_RE.exec(content);
41
+ const endMatch = END_RE.exec(content);
42
+ if (!startMatch && !endMatch)
43
+ return null;
44
+ if (!startMatch) {
45
+ throw new ManagedBlockError('CLAUDE.md has MJ-MANAGED END marker without a matching START.');
46
+ }
47
+ if (!endMatch) {
48
+ throw new ManagedBlockError('CLAUDE.md has MJ-MANAGED START marker without a matching END.');
49
+ }
50
+ if (endMatch.index < startMatch.index) {
51
+ throw new ManagedBlockError('CLAUDE.md has MJ-MANAGED END marker before its START marker.');
52
+ }
53
+ // Detect a second START marker — that's a corrupted file we won't auto-fix.
54
+ const secondStart = START_RE.exec(content.slice(startMatch.index + startMatch[0].length));
55
+ if (secondStart) {
56
+ throw new ManagedBlockError('CLAUDE.md has multiple MJ-MANAGED START markers; expected exactly one.');
57
+ }
58
+ const before = content.slice(0, startMatch.index);
59
+ const bodyStart = startMatch.index + startMatch[0].length;
60
+ const bodyEnd = endMatch.index;
61
+ const body = content.slice(bodyStart, bodyEnd);
62
+ const after = content.slice(endMatch.index + endMatch[0].length);
63
+ const attrs = parseAttrs(startMatch[1]);
64
+ return { before, body, after, attrs };
65
+ }
66
+ /**
67
+ * Parse `key=value key2=value2` attribute strings from a START marker.
68
+ *
69
+ * Supports unquoted values without spaces (which is what build-pack.mjs emits).
70
+ * Returns an empty record for an empty attribute string.
71
+ */
72
+ function parseAttrs(raw) {
73
+ const out = {};
74
+ const trimmed = raw.trim();
75
+ if (!trimmed)
76
+ return out;
77
+ for (const pair of trimmed.split(/\s+/)) {
78
+ const eq = pair.indexOf('=');
79
+ if (eq <= 0)
80
+ continue; // skip malformed pairs silently
81
+ const key = pair.slice(0, eq);
82
+ const value = pair.slice(eq + 1);
83
+ out[key] = value;
84
+ }
85
+ return out;
86
+ }
87
+ // ---------------------------------------------------------------------------
88
+ // Rewrite
89
+ // ---------------------------------------------------------------------------
90
+ /**
91
+ * Replace the managed block in `content` with `newBody`, updating attributes
92
+ * on the START marker.
93
+ *
94
+ * Throws `ManagedBlockError` if no managed block is present — callers should
95
+ * use `wrapWithManagedBlock` for the first-install case.
96
+ */
97
+ export function rewriteManagedBlock(content, newBody, newAttrs) {
98
+ const block = parseManagedBlock(content);
99
+ if (!block) {
100
+ throw new ManagedBlockError('Cannot rewrite — no managed block found in content.');
101
+ }
102
+ return block.before + formatStartMarker(newAttrs) + newBody + formatEndMarker() + block.after;
103
+ }
104
+ /**
105
+ * Wrap arbitrary `content` with a managed block, placing the block at the
106
+ * top and the original content below (as the user's free section).
107
+ *
108
+ * If `content` is empty, the result is just the rendered managed block.
109
+ */
110
+ export function wrapWithManagedBlock(content, body, attrs) {
111
+ const startMarker = formatStartMarker(attrs);
112
+ const endMarker = formatEndMarker();
113
+ const trailing = content.length > 0 ? '\n\n' + content : '\n';
114
+ return startMarker + body + endMarker + trailing;
115
+ }
116
+ function formatStartMarker(attrs) {
117
+ const attrString = Object.entries(attrs)
118
+ .map(([k, v]) => `${k}=${v}`)
119
+ .join(' ');
120
+ return attrString
121
+ ? `<!-- MJ-MANAGED:CLAUDE-PACK START ${attrString} -->`
122
+ : `<!-- MJ-MANAGED:CLAUDE-PACK START -->`;
123
+ }
124
+ function formatEndMarker() {
125
+ return `<!-- MJ-MANAGED:CLAUDE-PACK END -->`;
126
+ }
127
+ //# sourceMappingURL=ManagedBlockEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManagedBlockEditor.js","sourceRoot":"","sources":["../../../src/lib/claude-pack/ManagedBlockEditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Fetches a Claude Code pack from `raw.githubusercontent.com`, verifies sha256
3
+ * against the manifest, and handles the tag→main ref-fallback per plan §8.5.
4
+ *
5
+ * Design notes:
6
+ * - HTTP transport is injected via `HttpGetter` so tests can plug in a mock
7
+ * without `vi.mock('node:https')`. Production uses `realHttpGet` (a thin
8
+ * wrapper over `node:https`).
9
+ * - No tokens, no auth headers — `raw.githubusercontent.com` is public
10
+ * (plan §7.7). The fetcher never includes credentials.
11
+ * - No caching here. The orchestrator decides whether to re-fetch.
12
+ *
13
+ * @see plans/claude-install-pack.md §5.2 (manifest), §6.3, §8.5 (ref fallback)
14
+ */
15
+ import type { Manifest } from './PackTypes.js';
16
+ /**
17
+ * Response body is typed as `Uint8Array` (Buffer's superclass) so this type
18
+ * stays portable across Node typings versions that vary in how strictly they
19
+ * model Buffer's ArrayBuffer parameter. `Buffer.concat` and `createHash`
20
+ * both accept `Uint8Array` directly.
21
+ */
22
+ export interface HttpResponse {
23
+ statusCode: number;
24
+ body: Uint8Array;
25
+ }
26
+ /** Promise-based GET. Production = node:https; tests = mock. */
27
+ export type HttpGetter = (url: string) => Promise<HttpResponse>;
28
+ /**
29
+ * Real production fetcher using `node:https`.
30
+ *
31
+ * Implementation note: builds the response body via manual Uint8Array
32
+ * concatenation instead of `Buffer.concat()` — the latter's return type
33
+ * (`Buffer`) doesn't cleanly assign to `Uint8Array` in the strict @types/node
34
+ * generics that ship with v20+, even though Buffer extends Uint8Array.
35
+ */
36
+ export declare const realHttpGet: HttpGetter;
37
+ export declare class PackFetchError extends Error {
38
+ url?: string;
39
+ statusCode?: number;
40
+ constructor(message: string, url?: string, statusCode?: number);
41
+ }
42
+ export declare class PackChecksumError extends Error {
43
+ path: string;
44
+ expected: string;
45
+ actual: string;
46
+ constructor(message: string, path: string, expected: string, actual: string);
47
+ }
48
+ export interface FetchPackOptions {
49
+ /** MJ major version (e.g. `5`). Required — used to locate `dist/v{N}/`. */
50
+ Major: string;
51
+ /**
52
+ * Git ref to fetch from. Defaults to `'main'`. If a specific tag is given
53
+ * and it 404s, the fetcher transparently falls back to `'main'`.
54
+ */
55
+ Ref?: string;
56
+ /** Injected HTTP getter — test seam. Defaults to `realHttpGet`. */
57
+ HttpGet?: HttpGetter;
58
+ /** Progress callback for verbose mode. */
59
+ OnProgress?: (message: string) => void;
60
+ /**
61
+ * When true, fetch only the manifest and skip the per-file downloads.
62
+ * Used by `mj update:claude --check` to compare versions without paying
63
+ * for content the caller won't write. The returned `Files` map is empty.
64
+ */
65
+ ManifestOnly?: boolean;
66
+ }
67
+ export interface FetchedPack {
68
+ /** Parsed MANIFEST.json. */
69
+ Manifest: Manifest;
70
+ /**
71
+ * Pack file contents keyed by manifest path (e.g. `.claude/mj/core.md`).
72
+ * Bytes verified against the manifest's sha256 before insertion.
73
+ */
74
+ Files: Map<string, Uint8Array>;
75
+ /** Which ref was actually used (after fallback). */
76
+ RefUsed: string;
77
+ /** The full base URL the fetcher ultimately read from. */
78
+ BaseUrl: string;
79
+ }
80
+ /**
81
+ * Fetch a pack: manifest first, then every file listed in it, verifying
82
+ * sha256 along the way. Falls back from a specific tag to `main` if the
83
+ * manifest 404s.
84
+ */
85
+ export declare function fetchPack(opts: FetchPackOptions): Promise<FetchedPack>;
86
+ //# sourceMappingURL=PackFetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackFetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/claude-pack/PackFetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,gBAAgB,CAAC;AAO9D;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;CACpB;AAED,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,UAcpB,CAAC;AAiBP,qBAAa,cAAe,SAAQ,KAAK;IACD,GAAG,CAAC,EAAE,MAAM;IAAS,UAAU,CAAC,EAAE,MAAM;gBAAhE,OAAO,EAAE,MAAM,EAAS,GAAG,CAAC,EAAE,MAAM,EAAS,UAAU,CAAC,EAAE,MAAM;CAI/E;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAG7B,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;gBAHrB,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM;CAK5B;AAMD,MAAM,WAAW,gBAAgB;IAC7B,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IACxB,4BAA4B;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB;;;OAGG;IACH,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;CACnB;AAMD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiC5E"}