@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.
- package/dist/commands/app/install.d.ts.map +1 -1
- package/dist/commands/app/install.js +2 -1
- package/dist/commands/app/install.js.map +1 -1
- package/dist/commands/bundle/index.d.ts +1 -0
- package/dist/commands/bundle/index.d.ts.map +1 -1
- package/dist/commands/bundle/index.js +7 -1
- package/dist/commands/bundle/index.js.map +1 -1
- package/dist/commands/codegen/index.d.ts +6 -16
- package/dist/commands/codegen/index.d.ts.map +1 -1
- package/dist/commands/codegen/index.js +6 -90
- package/dist/commands/codegen/index.js.map +1 -1
- package/dist/commands/codegen/manifest.d.ts +41 -10
- package/dist/commands/codegen/manifest.d.ts.map +1 -1
- package/dist/commands/codegen/manifest.js +66 -0
- package/dist/commands/codegen/manifest.js.map +1 -1
- package/dist/commands/codegen/usage.d.ts +7 -0
- package/dist/commands/codegen/usage.d.ts.map +1 -0
- package/dist/commands/codegen/usage.js +10 -0
- package/dist/commands/codegen/usage.js.map +1 -0
- package/dist/commands/install/claude.d.ts +35 -0
- package/dist/commands/install/claude.d.ts.map +1 -0
- package/dist/commands/install/claude.js +108 -0
- package/dist/commands/install/claude.js.map +1 -0
- package/dist/commands/install/index.d.ts +1 -0
- package/dist/commands/install/index.d.ts.map +1 -1
- package/dist/commands/install/index.js +4 -0
- package/dist/commands/install/index.js.map +1 -1
- package/dist/commands/migrate/convert.d.ts +59 -12
- package/dist/commands/migrate/convert.d.ts.map +1 -1
- package/dist/commands/migrate/convert.js +294 -21
- package/dist/commands/migrate/convert.js.map +1 -1
- package/dist/commands/migrate/rebake.d.ts +41 -0
- package/dist/commands/migrate/rebake.d.ts.map +1 -0
- package/dist/commands/migrate/rebake.js +193 -0
- package/dist/commands/migrate/rebake.js.map +1 -0
- package/dist/commands/plugin/add.d.ts +18 -0
- package/dist/commands/plugin/add.d.ts.map +1 -0
- package/dist/commands/plugin/add.js +53 -0
- package/dist/commands/plugin/add.js.map +1 -0
- package/dist/commands/sync/pull.d.ts +6 -26
- package/dist/commands/sync/pull.d.ts.map +1 -1
- package/dist/commands/sync/pull.js +6 -281
- package/dist/commands/sync/pull.js.map +1 -1
- package/dist/commands/sync/push.d.ts +8 -19
- package/dist/commands/sync/push.d.ts.map +1 -1
- package/dist/commands/sync/push.js +8 -328
- package/dist/commands/sync/push.js.map +1 -1
- package/dist/commands/sync/usage.d.ts +7 -0
- package/dist/commands/sync/usage.d.ts.map +1 -0
- package/dist/commands/sync/usage.js +10 -0
- package/dist/commands/sync/usage.js.map +1 -0
- package/dist/commands/update/claude.d.ts +37 -0
- package/dist/commands/update/claude.d.ts.map +1 -0
- package/dist/commands/update/claude.js +90 -0
- package/dist/commands/update/claude.js.map +1 -0
- package/dist/commands/usage.d.ts +17 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +29 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/config.d.ts +41 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -4
- package/dist/config.js.map +1 -1
- package/dist/hooks/prerun.d.ts.map +1 -1
- package/dist/hooks/prerun.js +49 -8
- package/dist/hooks/prerun.js.map +1 -1
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts +40 -0
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts.map +1 -0
- package/dist/lib/claude-pack/ManagedBlockEditor.js +127 -0
- package/dist/lib/claude-pack/ManagedBlockEditor.js.map +1 -0
- package/dist/lib/claude-pack/PackFetcher.d.ts +86 -0
- package/dist/lib/claude-pack/PackFetcher.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackFetcher.js +163 -0
- package/dist/lib/claude-pack/PackFetcher.js.map +1 -0
- package/dist/lib/claude-pack/PackInstaller.d.ts +62 -0
- package/dist/lib/claude-pack/PackInstaller.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackInstaller.js +197 -0
- package/dist/lib/claude-pack/PackInstaller.js.map +1 -0
- package/dist/lib/claude-pack/PackMerger.d.ts +61 -0
- package/dist/lib/claude-pack/PackMerger.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackMerger.js +315 -0
- package/dist/lib/claude-pack/PackMerger.js.map +1 -0
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts +29 -0
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackOutputFormatter.js +82 -0
- package/dist/lib/claude-pack/PackOutputFormatter.js.map +1 -0
- package/dist/lib/claude-pack/PackPaths.d.ts +80 -0
- package/dist/lib/claude-pack/PackPaths.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackPaths.js +182 -0
- package/dist/lib/claude-pack/PackPaths.js.map +1 -0
- package/dist/lib/claude-pack/PackTypes.d.ts +124 -0
- package/dist/lib/claude-pack/PackTypes.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackTypes.js +32 -0
- package/dist/lib/claude-pack/PackTypes.js.map +1 -0
- package/dist/lib/claude-pack/SettingsMerger.d.ts +47 -0
- package/dist/lib/claude-pack/SettingsMerger.d.ts.map +1 -0
- package/dist/lib/claude-pack/SettingsMerger.js +163 -0
- package/dist/lib/claude-pack/SettingsMerger.js.map +1 -0
- package/dist/lib/cli-plugins.d.ts +16 -0
- package/dist/lib/cli-plugins.d.ts.map +1 -0
- package/dist/lib/cli-plugins.js +26 -0
- package/dist/lib/cli-plugins.js.map +1 -0
- package/dist/lib/domain-usage-command.d.ts +16 -0
- package/dist/lib/domain-usage-command.d.ts.map +1 -0
- package/dist/lib/domain-usage-command.js +23 -0
- package/dist/lib/domain-usage-command.js.map +1 -0
- package/dist/lib/usage-render.d.ts +14 -0
- package/dist/lib/usage-render.d.ts.map +1 -0
- package/dist/lib/usage-render.js +64 -0
- package/dist/lib/usage-render.js.map +1 -0
- package/dist/light-commands.d.ts.map +1 -1
- package/dist/light-commands.js +11 -0
- package/dist/light-commands.js.map +1 -1
- package/dist/utils/open-app-context.d.ts +5 -5
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +44 -48
- package/dist/utils/open-app-context.js.map +1 -1
- package/oclif.manifest.json +821 -134
- 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;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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({
|
package/dist/config.js.map
CHANGED
|
@@ -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":"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"}
|
|
@@ -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,
|
|
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"}
|
package/dist/hooks/prerun.js
CHANGED
|
@@ -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 (
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
package/dist/hooks/prerun.js.map
CHANGED
|
@@ -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,
|
|
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"}
|