@pennixrv/trellis 0.7.1-beta.8 → 0.7.1-beta.9

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 (56) hide show
  1. package/README.md +10 -7
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +2 -0
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/ablate.d.ts.map +1 -1
  6. package/dist/commands/ablate.js +2 -0
  7. package/dist/commands/ablate.js.map +1 -1
  8. package/dist/commands/backup.d.ts +4 -0
  9. package/dist/commands/backup.d.ts.map +1 -0
  10. package/dist/commands/backup.js +75 -0
  11. package/dist/commands/backup.js.map +1 -0
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +675 -672
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/mem.d.ts.map +1 -1
  16. package/dist/commands/mem.js +49 -7
  17. package/dist/commands/mem.js.map +1 -1
  18. package/dist/commands/uninstall.d.ts.map +1 -1
  19. package/dist/commands/uninstall.js +92 -84
  20. package/dist/commands/uninstall.js.map +1 -1
  21. package/dist/commands/update.d.ts.map +1 -1
  22. package/dist/commands/update.js +587 -606
  23. package/dist/commands/update.js.map +1 -1
  24. package/dist/commands/workflow.d.ts.map +1 -1
  25. package/dist/commands/workflow.js +94 -89
  26. package/dist/commands/workflow.js.map +1 -1
  27. package/dist/configurators/shared.js +2 -2
  28. package/dist/configurators/shared.js.map +1 -1
  29. package/dist/migrations/manifests/0.7.1-beta.9.json +191 -0
  30. package/dist/templates/common/bundled-skills/trellis-decision-space-construction-and-merging/workflow.md +2 -0
  31. package/dist/templates/common/bundled-skills/trellis-goal-exploration-and-requirements/workflow.md +2 -0
  32. package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +2 -1
  33. package/dist/templates/common/bundled-skills/trellis-session-insight/references/triggering-patterns.md +2 -2
  34. package/dist/templates/common/bundled-skills/trellis-solution-design-and-convergence/workflow.md +4 -0
  35. package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/mcp-setup.md +4 -2
  36. package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/spec-task-planning.md +2 -2
  37. package/dist/templates/common/bundled-skills/trellis-teamwork/SKILL.md +1 -1
  38. package/dist/templates/common/commands/start.md +2 -2
  39. package/dist/templates/common/skills/before-dev.md +1 -4
  40. package/dist/templates/common/skills/break-loop.md +7 -18
  41. package/dist/templates/common/skills/check.md +7 -11
  42. package/dist/templates/common/skills/{brainstorm.md → request-intake.md} +5 -3
  43. package/dist/templates/common/skills/update-spec.md +5 -7
  44. package/dist/utils/ablation-store.d.ts +1 -1
  45. package/dist/utils/ablation-store.d.ts.map +1 -1
  46. package/dist/utils/ablation-store.js +58 -24
  47. package/dist/utils/ablation-store.js.map +1 -1
  48. package/dist/utils/asset-backup.d.ts +138 -0
  49. package/dist/utils/asset-backup.d.ts.map +1 -0
  50. package/dist/utils/asset-backup.js +507 -0
  51. package/dist/utils/asset-backup.js.map +1 -0
  52. package/dist/utils/atomic-write.d.ts +1 -1
  53. package/dist/utils/atomic-write.d.ts.map +1 -1
  54. package/dist/utils/atomic-write.js +6 -3
  55. package/dist/utils/atomic-write.js.map +1 -1
  56. package/package.json +2 -2
@@ -13,11 +13,7 @@ git status
13
13
 
14
14
  ## Step 2: Read Task Artifacts and Applicable Specs
15
15
 
16
- Read the current task artifacts in order:
17
-
18
- - `prd.md`
19
- - `design.md` if present
20
- - `implement.md` if present
16
+ Read the current native phase, accepted contract and its actual artifact references for requirements, design, execution and validation. Common filenames such as `prd.md`, `design.md` and `implement.md` do not prove current acceptance or authorization. For taskless work, check the authorized bounded request.
21
17
 
22
18
  ```bash
23
19
  python3 ./.trellis/scripts/get_context.py --mode packages
@@ -33,7 +29,7 @@ Read the specific guideline files referenced — the index is a pointer, not the
33
29
 
34
30
  ## Step 3: Run Project Checks
35
31
 
36
- Run the project's lint, type-check, and test commands. Fix any failures before proceeding.
32
+ Run the applicable required project checks and verification appropriate to the changed behavior and risk. Investigate failures and fix those caused by the change within its authorization; record unrelated baseline failures and unavailable checks accurately. Do not silently expand the task to repair unrelated failures or claim checks passed when evidence is incomplete.
37
33
 
38
34
  ## Step 4: Review Against Checklist
39
35
 
@@ -47,9 +43,9 @@ Run the project's lint, type-check, and test commands. Fix any failures before p
47
43
 
48
44
  ### Test Coverage
49
45
 
50
- - [ ] New function → unit test added?
51
- - [ ] Bug fix → regression test added?
52
- - [ ] Changed behavior → existing tests updated?
46
+ - [ ] Non-trivial new behavior and risk covered by meaningful existing or new tests?
47
+ - [ ] Bug fix reproduced by a regression check at the actual entry path?
48
+ - [ ] Changed behavior reflected in tests without mirroring implementation details?
53
49
 
54
50
  ### Spec Sync
55
51
 
@@ -80,7 +76,7 @@ Skip this step if your change is confined to a single layer.
80
76
 
81
77
  - [ ] Searched for existing similar code before creating new?
82
78
  ```bash
83
- grep -r "pattern" src/
79
+ rg "pattern" src/
84
80
  ```
85
81
  - [ ] If the same value repeats, does it represent one stable concept whose callers must change together? Extract only then — two literals that merely happen to match today should stay separate.
86
82
  - [ ] After batch modification, all occurrences updated?
@@ -101,6 +97,6 @@ Skip this step if your change is confined to a single layer.
101
97
  Report every violation you find. Then:
102
98
 
103
99
  - Mechanical and local (lint nit, missing type, wrong import, dead branch, failing assertion) → fix in place, then re-run project checks.
104
- - Design or judgment (naming a shared concept, moving a module boundary, changing a public interface, reassigning where behavior lives) → record the evidence and your recommendation, and stop. Do not rewrite it silently.
100
+ - Local engineering judgment within the accepted contract → resolve it with evidence and continue. A material unresolved change to scope, public behavior, ownership, risk or acceptance → record the recommendation and pause dependent work for the project's decision process.
105
101
 
106
102
  If a fix would touch files outside the current task's scope, say so and stop instead of widening the change.
@@ -1,10 +1,12 @@
1
- # Trellis Brainstorm
1
+ # Trellis Request Intake
2
2
 
3
- Use this entry skill for a new request that needs a Trellis task. For a clear, low-risk, reversible, authorized, immediately verifiable request, follow the taskless route in workflow.md.
3
+ Use this entry skill to route a new request. First check its relationship to the active task: a change to the same goal returns to the earliest affected phase; independent work needs its own intake. Do not put unrelated work into the active task or bypass its ownership and acceptance gates. To resume existing work, use trellis-continue and the current native task facts.
4
+
5
+ Reuse verified evidence and existing authorization. For a clear, low-risk, reversible, authorized, immediately verifiable request, follow the taskless route in workflow.md. Intake ends when the request reaches its appropriate phase; do not repeat session initialization or conduct a second requirements or planning workflow here.
4
6
 
5
7
  ## Start the task
6
8
 
7
- 1. Inspect only repository evidence that can change the goal, scope, acceptance criteria, constraints, or route. Ask the user when intent or a material choice remains unclear.
9
+ 1. Inspect only evidence that can change the goal, scope, acceptance criteria, constraints, or route. Ask the user only for missing intent or a material user choice; use the project's decision method when needed.
8
10
  2. Create a Trellis task when the work needs a persistent route, coordination, or review:
9
11
 
10
12
  {{PYTHON_CMD}} ./.trellis/scripts/task.py create "<title>" --description "<summary>"
@@ -23,9 +23,9 @@ Apply code-spec depth when the change includes any of:
23
23
  - Database schema/migration change
24
24
  - Infra integration (storage, queue, cache, secrets, env wiring)
25
25
 
26
- ### Mandatory Output (7 Sections)
26
+ ### Applicable Contract Coverage
27
27
 
28
- For triggered tasks, include all sections below:
28
+ For triggered tasks, cover the applicable contracts below in the existing document structure. Reuse current coverage and link it where sufficient; do not require seven headings, artificial examples or empty sections for every small API change:
29
29
  1. Scope / Trigger
30
30
  2. Signatures (command/API/DB)
31
31
  3. Contracts (request/response/env)
@@ -138,7 +138,7 @@ If you added a new section or the code-spec status changed, update the category'
138
138
 
139
139
  ## Update Templates
140
140
 
141
- ### Mandatory Template for Infra/Cross-Layer Work
141
+ ### Example Structure for Infra/Cross-Layer Work
142
142
 
143
143
  ```markdown
144
144
  ## Scenario: <name>
@@ -313,12 +313,10 @@ If you're unsure what to update, answer these prompts:
313
313
  Before finishing your code-spec update:
314
314
 
315
315
  - [ ] Is the content specific and actionable?
316
- - [ ] Did you include a code example?
316
+ - [ ] Are examples included where they clarify a real contract or failure?
317
317
  - [ ] Did you explain WHY, not just WHAT?
318
318
  - [ ] Did you include executable signatures/contracts?
319
- - [ ] Did you include validation and error matrix?
320
- - [ ] Did you include Good/Base/Bad cases?
321
- - [ ] Did you include required tests with assertion points?
319
+ - [ ] Are applicable validation, failure cases and verification assertions covered or linked?
322
320
  - [ ] Is it in the right code-spec file?
323
321
  - [ ] Does it duplicate existing content?
324
322
  - [ ] Would a new team member understand it?
@@ -103,7 +103,7 @@ export declare function parseAblationState(value: unknown): AblationStateV1;
103
103
  export declare function stageAblationTransaction(input: StagedAblationInput, options?: StageAblationOptions): LoadedAblationTransaction;
104
104
  export declare function loadAblationTransaction(projectRoot: string, stateRoot?: string): LoadedAblationTransaction | null;
105
105
  export declare function transitionAblationState(transaction: LoadedAblationTransaction, status: AblationStatus): AblationStateV1;
106
- /** Serialize ablate/restore state and project mutations for one project. */
106
+ /** Shared project maintenance boundary; asynchronous operations retain ownership. */
107
107
  export declare function withAblationProjectLock<T>(paths: TransactionPaths, operation: () => T): T;
108
108
  /** Preflight every affected path before restore writes anything. */
109
109
  export declare function collectRestoreConflicts(transaction: LoadedAblationTransaction): AblationConflict[];
@@ -1 +1 @@
1
- {"version":3,"file":"ablation-store.d.ts","sourceRoot":"","sources":["../../src/utils/ablation-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ablation-store.d.ts","sourceRoot":"","sources":["../../src/utils/ablation-store.ts"],"names":[],"mappings":"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"}
@@ -412,8 +412,8 @@ function pidAlive(pid) {
412
412
  process.kill(pid, 0);
413
413
  return true;
414
414
  }
415
- catch {
416
- return false;
415
+ catch (error) {
416
+ return error.code !== "ESRCH";
417
417
  }
418
418
  }
419
419
  function acquireProjectLock(paths) {
@@ -421,41 +421,68 @@ function acquireProjectLock(paths) {
421
421
  for (let attempt = 0; attempt < 2; attempt += 1) {
422
422
  try {
423
423
  const fd = fs.openSync(paths.lockFile, "wx", 0o600);
424
+ const content = JSON.stringify({ pid: process.pid, nonce: randomUUID() });
424
425
  try {
425
- fs.writeSync(fd, String(process.pid));
426
+ fs.writeSync(fd, content);
427
+ const stat = fs.fstatSync(fd);
428
+ return { content, ino: stat.ino, dev: stat.dev };
426
429
  }
427
430
  finally {
428
431
  fs.closeSync(fd);
429
432
  }
430
- return;
431
433
  }
432
434
  catch (error) {
433
435
  if (error.code !== "EEXIST")
434
436
  throw error;
435
437
  }
436
- let holderPid = 0;
437
- try {
438
- holderPid = Number(fs.readFileSync(paths.lockFile, "utf-8").trim());
438
+ const stat = fs.lstatSync(paths.lockFile);
439
+ if (!stat.isFile() || stat.isSymbolicLink()) {
440
+ throw new Error("Unknown Trellis maintenance lock; inspect it before retrying.");
439
441
  }
440
- catch {
441
- continue;
442
+ const content = fs.readFileSync(paths.lockFile, "utf-8").trim();
443
+ let holderPid;
444
+ if (/^[1-9]\d*$/.test(content))
445
+ holderPid = Number(content);
446
+ else {
447
+ try {
448
+ const record = JSON.parse(content);
449
+ if (record &&
450
+ typeof record === "object" &&
451
+ "pid" in record &&
452
+ "nonce" in record &&
453
+ typeof record.nonce === "string")
454
+ holderPid = record.pid;
455
+ }
456
+ catch {
457
+ // An incomplete or unknown lock is not evidence that its owner exited.
458
+ }
442
459
  }
443
- if (holderPid && pidAlive(holderPid)) {
444
- throw new Error(`Another Trellis ablation operation is already in progress for this project (pid ${holderPid}).`);
460
+ if (typeof holderPid !== "number" ||
461
+ !Number.isSafeInteger(holderPid) ||
462
+ holderPid <= 0) {
463
+ throw new Error("Unknown Trellis maintenance lock; inspect it before retrying.");
445
464
  }
446
- try {
447
- fs.unlinkSync(paths.lockFile);
465
+ if (pidAlive(holderPid)) {
466
+ throw new Error(`Another Trellis maintenance operation is already in progress for this project (pid ${holderPid}).`);
448
467
  }
449
- catch {
450
- // A concurrent process changed the lock; retry the atomic create once.
468
+ const current = fs.lstatSync(paths.lockFile);
469
+ if (current.ino !== stat.ino ||
470
+ current.dev !== stat.dev ||
471
+ fs.readFileSync(paths.lockFile, "utf-8").trim() !== content) {
472
+ throw new Error("Trellis maintenance lock changed during inspection.");
451
473
  }
474
+ fs.unlinkSync(paths.lockFile);
452
475
  }
453
476
  throw new Error("Unable to acquire the Trellis ablation-operation lock; retry the command.");
454
477
  }
455
- function releaseProjectLock(paths) {
478
+ function releaseProjectLock(paths, lock) {
456
479
  try {
457
- const holder = fs.readFileSync(paths.lockFile, "utf-8").trim();
458
- if (holder === String(process.pid)) {
480
+ const stat = fs.lstatSync(paths.lockFile);
481
+ if (stat.isFile() &&
482
+ !stat.isSymbolicLink() &&
483
+ stat.ino === lock.ino &&
484
+ stat.dev === lock.dev &&
485
+ fs.readFileSync(paths.lockFile, "utf-8") === lock.content) {
459
486
  fs.unlinkSync(paths.lockFile);
460
487
  }
461
488
  }
@@ -463,14 +490,21 @@ function releaseProjectLock(paths) {
463
490
  // Already released or replaced by another process.
464
491
  }
465
492
  }
466
- /** Serialize ablate/restore state and project mutations for one project. */
493
+ /** Shared project maintenance boundary; asynchronous operations retain ownership. */
467
494
  export function withAblationProjectLock(paths, operation) {
468
- acquireProjectLock(paths);
495
+ const lock = acquireProjectLock(paths);
496
+ let pending = false;
469
497
  try {
470
- return operation();
498
+ const result = operation();
499
+ if (result instanceof Promise) {
500
+ pending = true;
501
+ return result.finally(() => releaseProjectLock(paths, lock));
502
+ }
503
+ return result;
471
504
  }
472
505
  finally {
473
- releaseProjectLock(paths);
506
+ if (!pending)
507
+ releaseProjectLock(paths, lock);
474
508
  }
475
509
  }
476
510
  /** Preflight every affected path before restore writes anything. */
@@ -693,7 +727,7 @@ export function verifyAblatedState(transaction) {
693
727
  export function restoreAblationTransaction(transaction, options = {}) {
694
728
  const projectRoot = canonicalProjectRoot(transaction.state.projectRoot);
695
729
  const paths = getTransactionPaths(projectRoot, transaction.paths.stateRoot);
696
- acquireProjectLock(paths);
730
+ const lock = acquireProjectLock(paths);
697
731
  try {
698
732
  const reloaded = loadAblationTransaction(projectRoot, paths.stateRoot);
699
733
  if (!reloaded) {
@@ -717,7 +751,7 @@ export function restoreAblationTransaction(transaction, options = {}) {
717
751
  deleteAblationTransaction(transaction);
718
752
  }
719
753
  finally {
720
- releaseProjectLock(paths);
754
+ releaseProjectLock(paths, lock);
721
755
  }
722
756
  }
723
757
  /** Roll back this process's partial ablation while holding the project lock. */
@@ -1 +1 @@
1
- {"version":3,"file":"ablation-store.js","sourceRoot":"","sources":["../../src/utils/ablation-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ablation-store.js","sourceRoot":"","sources":["../../src/utils/ablation-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import { z } from "zod";
2
+ declare const fingerprintSchema: z.ZodUnion<readonly [z.ZodObject<{
3
+ kind: z.ZodLiteral<"file">;
4
+ sha256: z.ZodString;
5
+ size: z.ZodNumber;
6
+ mode: z.ZodNumber;
7
+ }, z.core.$strict>, z.ZodObject<{
8
+ kind: z.ZodLiteral<"absent">;
9
+ }, z.core.$strict>]>;
10
+ declare const manifestSchema: z.ZodObject<{
11
+ schema: z.ZodLiteral<1>;
12
+ contract: z.ZodLiteral<"status-layout-v1/five-phases-v1">;
13
+ id: z.ZodString;
14
+ projectRoot: z.ZodString;
15
+ projectKey: z.ZodString;
16
+ createdAt: z.ZodString;
17
+ version: z.ZodString;
18
+ sourceVersion: z.ZodString;
19
+ workflow: z.ZodString;
20
+ platforms: z.ZodArray<z.ZodString>;
21
+ runtime: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
22
+ kind: z.ZodLiteral<"file">;
23
+ sha256: z.ZodString;
24
+ size: z.ZodNumber;
25
+ mode: z.ZodNumber;
26
+ }, z.core.$strict>, z.ZodObject<{
27
+ kind: z.ZodLiteral<"absent">;
28
+ }, z.core.$strict>]>>;
29
+ reason: z.ZodEnum<{
30
+ manual: "manual";
31
+ update: "update";
32
+ "restore-recovery": "restore-recovery";
33
+ }>;
34
+ update: z.ZodEnum<{
35
+ pending: "pending";
36
+ succeeded: "succeeded";
37
+ restored: "restored";
38
+ "not-applicable": "not-applicable";
39
+ }>;
40
+ entries: z.ZodArray<z.ZodObject<{
41
+ path: z.ZodString;
42
+ before: z.ZodUnion<readonly [z.ZodObject<{
43
+ kind: z.ZodLiteral<"file">;
44
+ sha256: z.ZodString;
45
+ size: z.ZodNumber;
46
+ mode: z.ZodNumber;
47
+ }, z.core.$strict>, z.ZodObject<{
48
+ kind: z.ZodLiteral<"absent">;
49
+ }, z.core.$strict>]>;
50
+ after: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
51
+ kind: z.ZodLiteral<"file">;
52
+ sha256: z.ZodString;
53
+ size: z.ZodNumber;
54
+ mode: z.ZodNumber;
55
+ }, z.core.$strict>, z.ZodObject<{
56
+ kind: z.ZodLiteral<"absent">;
57
+ }, z.core.$strict>]>>;
58
+ afterBlock: z.ZodOptional<z.ZodString>;
59
+ }, z.core.$strict>>;
60
+ restore: z.ZodOptional<z.ZodObject<{
61
+ status: z.ZodEnum<{
62
+ restoring: "restoring";
63
+ complete: "complete";
64
+ }>;
65
+ review: z.ZodString;
66
+ recovery: z.ZodString;
67
+ entries: z.ZodArray<z.ZodObject<{
68
+ path: z.ZodString;
69
+ current: z.ZodUnion<readonly [z.ZodObject<{
70
+ kind: z.ZodLiteral<"file">;
71
+ sha256: z.ZodString;
72
+ size: z.ZodNumber;
73
+ mode: z.ZodNumber;
74
+ }, z.core.$strict>, z.ZodObject<{
75
+ kind: z.ZodLiteral<"absent">;
76
+ }, z.core.$strict>]>;
77
+ desired: z.ZodUnion<readonly [z.ZodObject<{
78
+ kind: z.ZodLiteral<"file">;
79
+ sha256: z.ZodString;
80
+ size: z.ZodNumber;
81
+ mode: z.ZodNumber;
82
+ }, z.core.$strict>, z.ZodObject<{
83
+ kind: z.ZodLiteral<"absent">;
84
+ }, z.core.$strict>]>;
85
+ }, z.core.$strict>>;
86
+ }, z.core.$strict>>;
87
+ }, z.core.$strict>;
88
+ export type AssetBackup = z.infer<typeof manifestSchema>;
89
+ type Fingerprint = z.infer<typeof fingerprintSchema>;
90
+ export declare function loadAssetBackup(root: string, id: string): AssetBackup;
91
+ export declare function assetBackupScope(root: string, extra?: Iterable<string>): string[];
92
+ /** Caller holds the shared maintenance lock through the associated asset writes. */
93
+ export declare function createAssetBackup(root: string, reason?: AssetBackup["reason"], paths?: string[]): AssetBackup;
94
+ export declare function bindAssetUpdate(root: string, id: string): void;
95
+ export interface BackupInventoryItem {
96
+ id: string;
97
+ path: string;
98
+ kind: "complete" | "legacy" | "sidecar" | "protected";
99
+ bytes: number;
100
+ files: number;
101
+ fingerprint: string;
102
+ problem?: string;
103
+ }
104
+ export declare function listAssetBackups(root: string): BackupInventoryItem[];
105
+ export declare function assertNoAssetRecovery(root: string): void;
106
+ export declare function withAssetMaintenance<T>(root: string, operation: () => T, readOnly?: boolean): T;
107
+ export declare function pruneAssetBackups(root: string, options?: {
108
+ all?: boolean;
109
+ includeLegacy?: boolean;
110
+ yes?: boolean;
111
+ keep?: number;
112
+ }): {
113
+ selected: BackupInventoryItem[];
114
+ protected: BackupInventoryItem[];
115
+ deleted: string[];
116
+ failed: {
117
+ path: string;
118
+ error: string;
119
+ }[];
120
+ };
121
+ export interface AssetRestorePlan {
122
+ id: string;
123
+ review: string;
124
+ entries: {
125
+ path: string;
126
+ action: "write" | "delete" | "keep" | "conflict";
127
+ current: Fingerprint;
128
+ desired: Fingerprint;
129
+ }[];
130
+ }
131
+ export declare function planAssetRestore(root: string, id: string, replaceModified?: boolean): AssetRestorePlan;
132
+ export declare function restoreAssetBackup(root: string, id: string, options?: {
133
+ review?: string;
134
+ replaceModified?: boolean;
135
+ yes?: boolean;
136
+ }): AssetRestorePlan;
137
+ export {};
138
+ //# sourceMappingURL=asset-backup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-backup.d.ts","sourceRoot":"","sources":["../../src/utils/asset-backup.ts"],"names":[],"mappings":"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"}