@delorenj/skillex 0.1.1 → 0.1.2

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.
@@ -1,7 +1,7 @@
1
1
  import type { ScopeName } from "./selection.js";
2
2
  /** Scope aliases shared by reconciliation and diagnostics. */
3
3
  export declare const GLOBAL_CLI_ALIASES: readonly [".claude/skills", ".codex/skills", ".gemini/skills", ".copilot/skills", ".kimi-code/skills", ".kimi/skills", ".openclaw/skills", ".config/opencode/skills"];
4
- export declare const PROJECT_CLI_ALIASES: readonly [".claude/skills", ".codex/skills", ".gemini/skills", ".copilot/skills", ".opencode/skills", ".kimi-code/skills"];
4
+ export declare const PROJECT_CLI_ALIASES: readonly [".claude/skills", ".codex/skills", ".gemini/skills", ".copilot/skills", ".opencode/skills", ".kimi-code/skills", ".zcode/skills"];
5
5
  /** These integrations retain their own installer or profile lifecycle. */
6
6
  export declare const NEVER_TOUCH: readonly [".hermes", ".augment", ".cursor", ".crush"];
7
7
  export declare function aliasPaths(base: string, scope: ScopeName): readonly string[];
@@ -19,6 +19,13 @@ export interface CapturedContent {
19
19
  readonly excluded: readonly string[];
20
20
  }
21
21
  export declare function isWithin(root: string, path: string): boolean;
22
+ /**
23
+ * Build, cache, and runtime artifacts that a tool writes and can write again: dependency trees,
24
+ * bytecode, virtualenvs, caches, pid/socket/WAL files. Never authored skill content. This is the
25
+ * only set migration may skip: it carries every other entry, because a migration that drops an
26
+ * authored file (an `.env.<variant>.example`, a `*.log` fixture, a `*.bak`) destroys it.
27
+ */
28
+ export declare function generatedName(name: string): boolean;
22
29
  /** Capture bytes before mutation and retain every authored support entry. */
23
30
  export declare function captureContent(root: string): Promise<CapturedContent>;
24
31
  /** Existing Python vendor digest wire format, extended with Git's symlink mode. */
@@ -28,6 +28,12 @@ export interface MigrationTreeEvidence {
28
28
  export interface MigrationTree {
29
29
  readonly evidence: MigrationTreeEvidence;
30
30
  readonly entries: readonly MigrationEntry[];
31
+ /**
32
+ * Relative paths of entries skipped by generatedName (build, cache, and runtime artifacts a
33
+ * tool rewrites). They are never read, digested, copied, or removed; they are not evidence.
34
+ * Authored files that import leaves behind (logs, backups, `.env.*`) are never skipped here.
35
+ */
36
+ readonly excluded: readonly string[];
31
37
  }
32
38
  export interface MigrationOperation {
33
39
  readonly item: MigrationItem;
@@ -55,8 +61,21 @@ export interface RegistryMigrationReceipt {
55
61
  export declare function migrationFailure(path: string, message: string, code?: `E_${string}`): never;
56
62
  export declare function migrationLstat(path: string): Promise<BigIntStats | null>;
57
63
  export declare function migrationTreeDigest(entries: readonly MigrationEntry[]): string;
58
- /** Capture every entry, including hidden support assets and provenance, without following links. */
64
+ /**
65
+ * Capture every authored entry, including hidden support assets, logs, backups, `.env.*` files
66
+ * and provenance, without following links. Only generated build, cache, and runtime artifacts
67
+ * (generatedName) are recorded in `excluded` and never read: a skill's ignored node_modules or
68
+ * bytecode is not definition content and must not trip the size limit or the digest. Import's
69
+ * wider secret/noise filter is deliberately not applied: migration that skipped an authored
70
+ * file would drop it from the catalog.
71
+ */
59
72
  export declare function captureMigrationTree(root: string): Promise<MigrationTree | null>;
73
+ /**
74
+ * Migration removes a parked or retired tree only through its recorded evidence, and excluded
75
+ * content is never evidence. Refuse before anything is renamed or unlinked instead of deleting
76
+ * unrecorded content or wedging on a non-empty directory halfway through cleanup.
77
+ */
78
+ export declare function refuseExcludedRemoval(path: string, tree: MigrationTree): void;
60
79
  export declare function assertMigrationIdentity(path: string, expected: MigrationIdentity): Promise<void>;
61
80
  export declare function assertMigrationTree(path: string, expected: MigrationTreeEvidence | null): Promise<void>;
62
81
  export declare function migrationParent(path: string): Promise<MigrationIdentity>;