@detergent-software/atk 3.0.0-dev.2 → 3.0.0-dev.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInitState.d.ts","sourceRoot":"","sources":["../../src/hooks/useInitState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsB3D,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAC9I;IAAE,KAAK,EAAE,MAAM,UAAU,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE,GAC9C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,SAAS,GACjB,eAAe,GACf,sBAAsB,GACtB,oBAAoB,GACpB,MAAM,GACN,OAAO,GACP,WAAW,GACX,aAAa,GACb,YAAY,GACZ,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,QAAQ,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CA2B/E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CA+G3E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAiOhH"}
@@ -0,0 +1,371 @@
1
+ import { useEffect, useReducer } from 'react';
2
+ import { loadConfig } from '../lib/config.js';
3
+ import { checkNameAvailability, detectCompatibleTools, forkFromInstalled, getGitUserName, INIT_TYPES, scaffoldAsset, validateAssetName, } from '../lib/init.js';
4
+ import { readLockfile } from '../lib/lockfile.js';
5
+ import { parseOrgFromName } from '../lib/org.js';
6
+ import { findProjectRoot } from '../lib/paths.js';
7
+ import { fetchRegistry } from '../lib/registry.js';
8
+ import { resolveTool } from '../lib/tool-resolver.js';
9
+ // ---------------------------------------------------------------------------
10
+ // Routing helpers
11
+ // ---------------------------------------------------------------------------
12
+ export function createInitialState(rawType, flags) {
13
+ const base = {
14
+ assetType: 'skill',
15
+ errorMessage: '',
16
+ fields: {
17
+ author: flags.authorFlag ?? '',
18
+ bundleAssets: '',
19
+ description: flags.descriptionFlag ?? '',
20
+ name: flags.nameFlag ?? '',
21
+ org: '',
22
+ tags: '',
23
+ },
24
+ flags,
25
+ phase: 'pre-fill',
26
+ tools: [],
27
+ };
28
+ const typeLower = rawType.toLowerCase();
29
+ if (!INIT_TYPES.includes(typeLower)) {
30
+ return {
31
+ ...base,
32
+ errorMessage: `Invalid type "${rawType}". Must be one of: ${INIT_TYPES.join(', ')}`,
33
+ phase: 'error',
34
+ };
35
+ }
36
+ return { ...base, assetType: typeLower };
37
+ }
38
+ export function initReducer(state, action) {
39
+ switch (action.type) {
40
+ case 'ERROR':
41
+ return { ...state, errorMessage: action.message, phase: 'error' };
42
+ case 'PREFILL_DONE': {
43
+ const fields = { ...state.fields };
44
+ if (action.org)
45
+ fields.org = action.org;
46
+ if (action.name)
47
+ fields.name = action.name;
48
+ if (action.description)
49
+ fields.description = action.description;
50
+ if (action.author)
51
+ fields.author = action.author;
52
+ const newState = {
53
+ ...state,
54
+ fields,
55
+ forkFiles: action.forkFiles,
56
+ tools: action.tools,
57
+ };
58
+ const { flags } = state;
59
+ if (flags.nameFlag && flags.descriptionFlag && flags.authorFlag) {
60
+ const parsed = parseOrgFromName(flags.nameFlag);
61
+ const validation = validateAssetName(parsed.name);
62
+ if (!validation.valid) {
63
+ return { ...newState, errorMessage: `Invalid name: ${validation.error}`, phase: 'error' };
64
+ }
65
+ return { ...newState, phase: 'tags-prompt' };
66
+ }
67
+ return { ...newState, phase: 'org-prompt' };
68
+ }
69
+ case 'REGISTRY_WARNING':
70
+ return { ...state, registryWarning: action.warning };
71
+ case 'SCAFFOLD_DONE':
72
+ return { ...state, phase: 'done', result: action.result };
73
+ case 'SET_FIELD': {
74
+ const fields = { ...state.fields, [action.field]: action.value };
75
+ let { nameError } = state;
76
+ if (action.field === 'name' && nameError) {
77
+ const validation = validateAssetName(action.value.trim());
78
+ if (validation.valid)
79
+ nameError = undefined;
80
+ }
81
+ return { ...state, fields, nameError };
82
+ }
83
+ case 'SUBMIT_AUTHOR': {
84
+ const trimmed = action.value.trim();
85
+ if (trimmed.length === 0)
86
+ return state;
87
+ return { ...state, fields: { ...state.fields, author: trimmed }, phase: 'tags-prompt' };
88
+ }
89
+ case 'SUBMIT_BUNDLE_ASSETS':
90
+ return { ...state, phase: 'executing' };
91
+ case 'SUBMIT_DESCRIPTION': {
92
+ const trimmed = action.value.trim();
93
+ if (trimmed.length === 0)
94
+ return state;
95
+ return {
96
+ ...state,
97
+ fields: { ...state.fields, description: trimmed },
98
+ phase: nextPromptAfterDescription(state.flags),
99
+ };
100
+ }
101
+ case 'SUBMIT_NAME': {
102
+ const trimmed = action.value.trim();
103
+ const validation = validateAssetName(trimmed);
104
+ if (!validation.valid) {
105
+ return { ...state, nameError: validation.error };
106
+ }
107
+ return {
108
+ ...state,
109
+ fields: { ...state.fields, name: trimmed },
110
+ nameError: undefined,
111
+ phase: nextPromptAfterName(state.flags),
112
+ };
113
+ }
114
+ case 'SUBMIT_ORG': {
115
+ const fields = { ...state.fields, org: action.value.trim() };
116
+ const { flags } = state;
117
+ if (!flags.nameFlag) {
118
+ return { ...state, fields, phase: 'name-prompt' };
119
+ }
120
+ const parsed = parseOrgFromName(flags.nameFlag);
121
+ const validation = validateAssetName(parsed.name);
122
+ if (!validation.valid) {
123
+ return { ...state, errorMessage: `Invalid name: ${validation.error}`, fields, phase: 'error' };
124
+ }
125
+ return {
126
+ ...state,
127
+ fields: { ...fields, name: parsed.name },
128
+ phase: nextPromptAfterOrg(flags),
129
+ };
130
+ }
131
+ case 'SUBMIT_TAGS':
132
+ return {
133
+ ...state,
134
+ phase: state.assetType === 'bundle' ? 'bundle-assets-prompt' : 'executing',
135
+ };
136
+ default:
137
+ return state;
138
+ }
139
+ }
140
+ export function useInitState(rawType, flags) {
141
+ const [state, dispatch] = useReducer(initReducer, undefined, () => createInitialState(rawType, flags));
142
+ // --- Pre-fill effect ---
143
+ useEffect(() => {
144
+ if (state.phase !== 'pre-fill')
145
+ return;
146
+ let cancelled = false;
147
+ const preFill = async () => {
148
+ let prefillOrg = state.flags.cliOrg;
149
+ let prefillName;
150
+ let prefillDescription;
151
+ let prefillAuthor;
152
+ let prefillForkFiles;
153
+ // Parse @org/name from the name flag
154
+ if (state.flags.nameFlag) {
155
+ const parsed = parseOrgFromName(state.flags.nameFlag);
156
+ if (parsed.org) {
157
+ prefillOrg = prefillOrg ?? parsed.org;
158
+ prefillName = parsed.name;
159
+ }
160
+ }
161
+ // Fall back to lockfile org, then config org
162
+ if (!prefillOrg) {
163
+ try {
164
+ const projectDir = findProjectRoot();
165
+ const [lockfile, config] = await Promise.all([readLockfile(projectDir), loadConfig()]);
166
+ prefillOrg = lockfile.org ?? config.org;
167
+ }
168
+ catch {
169
+ // No lockfile or project root — ignore
170
+ }
171
+ }
172
+ // If --from flag is provided, load fork data
173
+ if (state.flags.from) {
174
+ try {
175
+ const projectDir = findProjectRoot();
176
+ const lockfile = await readLockfile(projectDir);
177
+ const { adapter } = await resolveTool(undefined, projectDir);
178
+ const forkData = await forkFromInstalled(state.flags.from, lockfile, adapter, projectDir);
179
+ if (cancelled)
180
+ return;
181
+ if (!forkData) {
182
+ dispatch({
183
+ message: `Asset "${state.flags.from}" is not installed. Install it first with: atk install ${state.flags.from}`,
184
+ type: 'ERROR',
185
+ });
186
+ return;
187
+ }
188
+ if (forkData.manifest.description && !state.flags.descriptionFlag) {
189
+ prefillDescription = forkData.manifest.description;
190
+ }
191
+ prefillForkFiles = forkData.files;
192
+ }
193
+ catch (err) {
194
+ if (cancelled)
195
+ return;
196
+ dispatch({
197
+ message: `Failed to load asset for forking: ${err instanceof Error ? err.message : String(err)}`,
198
+ type: 'ERROR',
199
+ });
200
+ return;
201
+ }
202
+ }
203
+ // Pre-fill author from git if not provided
204
+ if (!state.flags.authorFlag) {
205
+ try {
206
+ const gitName = await getGitUserName();
207
+ if (cancelled)
208
+ return;
209
+ if (gitName)
210
+ prefillAuthor = gitName;
211
+ }
212
+ catch {
213
+ // Ignore git author detection failure
214
+ }
215
+ }
216
+ // Detect compatible tools
217
+ let detectedTools = [];
218
+ try {
219
+ detectedTools = await detectCompatibleTools(state.assetType);
220
+ if (cancelled)
221
+ return;
222
+ }
223
+ catch {
224
+ if (cancelled)
225
+ return;
226
+ }
227
+ if (cancelled)
228
+ return;
229
+ dispatch({
230
+ author: prefillAuthor,
231
+ description: prefillDescription,
232
+ forkFiles: prefillForkFiles,
233
+ name: prefillName,
234
+ org: prefillOrg,
235
+ tools: detectedTools,
236
+ type: 'PREFILL_DONE',
237
+ });
238
+ };
239
+ preFill().catch((err) => {
240
+ if (!cancelled) {
241
+ dispatch({ message: err instanceof Error ? err.message : String(err), type: 'ERROR' });
242
+ }
243
+ });
244
+ return () => {
245
+ cancelled = true;
246
+ };
247
+ // Phase-gated effect: only runs when entering 'pre-fill'
248
+ // eslint-disable-next-line react-hooks/exhaustive-deps
249
+ }, [state.phase, state.assetType]);
250
+ // --- Background registry name check ---
251
+ useEffect(() => {
252
+ if (!state.fields.name || state.flags.offline || !state.assetType)
253
+ return;
254
+ if (state.phase === 'pre-fill' || state.phase === 'org-prompt' || state.phase === 'name-prompt')
255
+ return;
256
+ let cancelled = false;
257
+ const check = async () => {
258
+ try {
259
+ const registry = await fetchRegistry();
260
+ if (cancelled)
261
+ return;
262
+ const { available, existingVersion } = checkNameAvailability(state.fields.name, state.assetType, registry, state.fields.org || undefined);
263
+ if (!available) {
264
+ dispatch({
265
+ type: 'REGISTRY_WARNING',
266
+ warning: `Name "${state.fields.name}" already exists in the registry (v${existingVersion}). You can still use it for local development.`,
267
+ });
268
+ }
269
+ }
270
+ catch {
271
+ // Non-blocking
272
+ }
273
+ };
274
+ check().catch(() => { });
275
+ return () => {
276
+ cancelled = true;
277
+ };
278
+ }, [state.fields.name, state.assetType, state.flags.offline, state.fields.org, state.phase]);
279
+ // --- Executing effect ---
280
+ useEffect(() => {
281
+ if (state.phase !== 'executing')
282
+ return;
283
+ let cancelled = false;
284
+ const execute = async () => {
285
+ const tags = state.fields.tags
286
+ .split(',')
287
+ .map((t) => t.trim())
288
+ .filter((t) => t.length > 0);
289
+ const bundleAssets = state.assetType === 'bundle' && state.fields.bundleAssets
290
+ ? state.fields.bundleAssets
291
+ .split(',')
292
+ .map((a) => a.trim())
293
+ .filter((a) => a.length > 0)
294
+ : undefined;
295
+ const scaffoldResult = await scaffoldAsset({
296
+ author: state.fields.author,
297
+ bundleAssets,
298
+ description: state.fields.description,
299
+ from: state.flags.from,
300
+ name: state.fields.name,
301
+ offline: state.flags.offline,
302
+ org: state.fields.org || undefined,
303
+ tags,
304
+ tools: state.tools,
305
+ type: state.assetType,
306
+ }, process.cwd());
307
+ if (cancelled)
308
+ return;
309
+ // Write fork files into the output directory
310
+ if (state.forkFiles && state.forkFiles.size > 0) {
311
+ const { writeFile } = await import('node:fs/promises');
312
+ const { join } = await import('node:path');
313
+ for (const [sourcePath, content] of state.forkFiles) {
314
+ const targetPath = join(scaffoldResult.outputDir, sourcePath);
315
+ try {
316
+ await writeFile(targetPath, content, 'utf-8');
317
+ }
318
+ catch {
319
+ // Skip files that cannot be written
320
+ }
321
+ }
322
+ }
323
+ dispatch({ result: scaffoldResult, type: 'SCAFFOLD_DONE' });
324
+ };
325
+ execute().catch((err) => {
326
+ if (!cancelled) {
327
+ dispatch({
328
+ message: `Scaffolding failed: ${err instanceof Error ? err.message : String(err)}`,
329
+ type: 'ERROR',
330
+ });
331
+ }
332
+ });
333
+ return () => {
334
+ cancelled = true;
335
+ };
336
+ // Phase-gated effect: only runs when entering 'executing'
337
+ // eslint-disable-next-line react-hooks/exhaustive-deps
338
+ }, [state.phase]);
339
+ return [state, dispatch];
340
+ }
341
+ // ---------------------------------------------------------------------------
342
+ // Reducer
343
+ // ---------------------------------------------------------------------------
344
+ function nextPromptAfterDescription(flags) {
345
+ if (!flags.authorFlag)
346
+ return 'author-prompt';
347
+ return 'tags-prompt';
348
+ }
349
+ // ---------------------------------------------------------------------------
350
+ // Initial state
351
+ // ---------------------------------------------------------------------------
352
+ function nextPromptAfterName(flags) {
353
+ if (!flags.descriptionFlag)
354
+ return 'description-prompt';
355
+ if (!flags.authorFlag)
356
+ return 'author-prompt';
357
+ return 'tags-prompt';
358
+ }
359
+ // ---------------------------------------------------------------------------
360
+ // Hook
361
+ // ---------------------------------------------------------------------------
362
+ function nextPromptAfterOrg(flags) {
363
+ if (!flags.nameFlag)
364
+ return 'name-prompt';
365
+ if (!flags.descriptionFlag)
366
+ return 'description-prompt';
367
+ if (!flags.authorFlag)
368
+ return 'author-prompt';
369
+ return 'tags-prompt';
370
+ }
371
+ //# sourceMappingURL=useInitState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInitState.js","sourceRoot":"","sources":["../../src/hooks/useInitState.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /** Recursively collect all files in a directory. */
2
+ export declare function collectFilesRecursive(dirPath: string, baseDir: string): Promise<Array<{
3
+ absolutePath: string;
4
+ relativePath: string;
5
+ }>>;
1
6
  /**
2
7
  * Compute a combined SHA-256 hash for all files in a directory (recursively).
3
8
  * Files are sorted by relative path to ensure deterministic output.
@@ -1 +1 @@
1
- {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBpE"}
1
+ {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAIA,oDAAoD;AACpD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBhE;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBpE"}
@@ -1,12 +1,29 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { readdir, readFile } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
+ /** Recursively collect all files in a directory. */
5
+ export async function collectFilesRecursive(dirPath, baseDir) {
6
+ const results = [];
7
+ const entries = await readdir(dirPath, { withFileTypes: true });
8
+ for (const entry of entries) {
9
+ const fullPath = join(dirPath, entry.name);
10
+ if (entry.isDirectory()) {
11
+ const subFiles = await collectFilesRecursive(fullPath, baseDir);
12
+ results.push(...subFiles);
13
+ }
14
+ else if (entry.isFile()) {
15
+ const relativePath = fullPath.slice(baseDir.length + 1).replace(/\\/g, '/');
16
+ results.push({ absolutePath: fullPath, relativePath });
17
+ }
18
+ }
19
+ return results;
20
+ }
4
21
  /**
5
22
  * Compute a combined SHA-256 hash for all files in a directory (recursively).
6
23
  * Files are sorted by relative path to ensure deterministic output.
7
24
  */
8
25
  export async function hashDirectory(dirPath) {
9
- const files = await collectFiles(dirPath, dirPath);
26
+ const files = await collectFilesRecursive(dirPath, dirPath);
10
27
  files.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
11
28
  const hash = createHash('sha256');
12
29
  for (const file of files) {
@@ -58,21 +75,4 @@ export async function verifyChecksums(files) {
58
75
  }
59
76
  return failures;
60
77
  }
61
- /** Recursively collect all files in a directory. */
62
- async function collectFiles(dirPath, baseDir) {
63
- const results = [];
64
- const entries = await readdir(dirPath, { withFileTypes: true });
65
- for (const entry of entries) {
66
- const fullPath = join(dirPath, entry.name);
67
- if (entry.isDirectory()) {
68
- const subFiles = await collectFiles(fullPath, baseDir);
69
- results.push(...subFiles);
70
- }
71
- else if (entry.isFile()) {
72
- const relativePath = fullPath.slice(baseDir.length + 1).replace(/\\/g, '/');
73
- results.push({ absolutePath: fullPath, relativePath });
74
- }
75
- }
76
- return results;
77
- }
78
78
  //# sourceMappingURL=checksum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Adapter } from './schemas/adapter.js';
1
2
  import type { Bundle } from './schemas/bundle.js';
2
3
  import type { AssetType, Manifest } from './schemas/manifest.js';
3
4
  import type { Registry } from './schemas/registry.js';
@@ -20,6 +21,15 @@ export interface PublishTarget {
20
21
  type: PublishType;
21
22
  }
22
23
  export type PublishType = 'asset' | 'bundle';
24
+ export interface RawAssetDetection {
25
+ assetType: AssetType;
26
+ files: Array<{
27
+ absolutePath: string;
28
+ relativePath: string;
29
+ }>;
30
+ name: string;
31
+ sourceDir: string;
32
+ }
23
33
  export interface ValidationResult {
24
34
  errors: string[];
25
35
  valid: boolean;
@@ -44,8 +54,33 @@ type PublishResultPr = {
44
54
  prUrl: string;
45
55
  };
46
56
  export declare function buildPublishPlan(target: PublishTarget, resolvedVersion: string, isUpdate: boolean, message?: string): Promise<PublishPlan>;
57
+ /**
58
+ * Build a temporary staging directory containing the collected files and a
59
+ * programmatically generated `manifest.json`, ready for the existing publish
60
+ * pipeline. The caller is responsible for cleaning up the returned temp directory.
61
+ */
62
+ export declare function buildStagingArea(detection: RawAssetDetection, metadata: {
63
+ author: string;
64
+ description: string;
65
+ org?: string;
66
+ tags: string[];
67
+ tools: Array<{
68
+ tool: string;
69
+ }>;
70
+ version?: string;
71
+ }): Promise<string>;
47
72
  export declare function bumpVersion(currentVersion: string, bumpType: 'major' | 'minor' | 'patch'): string;
48
73
  export declare function checkRegistryVersion(target: PublishTarget, registry: Registry): VersionCheckResult;
74
+ /**
75
+ * Inspect a filesystem path against adapter placement patterns to detect the asset type,
76
+ * extract the asset name, and collect the relevant files.
77
+ *
78
+ * Supports three input shapes:
79
+ * - A directory that matches a directory-based placement pattern
80
+ * - A single file that matches a file-based placement pattern
81
+ * - An entrypoint file inside a directory-based placement (expands to the parent directory)
82
+ */
83
+ export declare function detectAssetFromPath(inputPath: string, adapter: Adapter, projectDir: string): Promise<RawAssetDetection>;
49
84
  export declare function detectPublishType(directoryPath: string): Promise<PublishTarget>;
50
85
  export declare function executeDirectPublish(plan: PublishPlan, token: string, progressCallback: (msg: string) => void): Promise<PublishResult>;
51
86
  export declare function executePublish(plan: PublishPlan, token: string, progressCallback: (msg: string) => void): Promise<PublishResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/lib/publisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/lib/publisher.ts"],"names":[],"mappings":"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"}