mewkit 1.13.0 → 1.14.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 (148) hide show
  1. package/README.md +37 -0
  2. package/dist/commands/migrate.d.ts +2 -0
  3. package/dist/commands/migrate.d.ts.map +1 -1
  4. package/dist/commands/migrate.js +2 -0
  5. package/dist/commands/migrate.js.map +1 -1
  6. package/dist/commands/validate.js +14 -7
  7. package/dist/commands/validate.js.map +1 -1
  8. package/dist/index.js +11 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/migrate/config-merger/merge-single-sections.d.ts.map +1 -1
  11. package/dist/migrate/config-merger/merge-single-sections.js +4 -2
  12. package/dist/migrate/config-merger/merge-single-sections.js.map +1 -1
  13. package/dist/migrate/converters/command-to-codex-skill.d.ts +10 -0
  14. package/dist/migrate/converters/command-to-codex-skill.d.ts.map +1 -0
  15. package/dist/migrate/converters/command-to-codex-skill.js +78 -0
  16. package/dist/migrate/converters/command-to-codex-skill.js.map +1 -0
  17. package/dist/migrate/converters/direct-copy.d.ts +4 -1
  18. package/dist/migrate/converters/direct-copy.d.ts.map +1 -1
  19. package/dist/migrate/converters/direct-copy.js +19 -22
  20. package/dist/migrate/converters/direct-copy.js.map +1 -1
  21. package/dist/migrate/converters/fm-strip.d.ts.map +1 -1
  22. package/dist/migrate/converters/fm-strip.js +5 -1
  23. package/dist/migrate/converters/fm-strip.js.map +1 -1
  24. package/dist/migrate/converters/fm-to-codex-toml.js +1 -1
  25. package/dist/migrate/converters/fm-to-codex-toml.js.map +1 -1
  26. package/dist/migrate/converters/fm-to-fm.js +4 -4
  27. package/dist/migrate/converters/fm-to-fm.js.map +1 -1
  28. package/dist/migrate/converters/fm-to-json.d.ts.map +1 -1
  29. package/dist/migrate/converters/fm-to-json.js +2 -1
  30. package/dist/migrate/converters/fm-to-json.js.map +1 -1
  31. package/dist/migrate/converters/fm-to-yaml.js +1 -1
  32. package/dist/migrate/converters/fm-to-yaml.js.map +1 -1
  33. package/dist/migrate/converters/index.d.ts +7 -2
  34. package/dist/migrate/converters/index.d.ts.map +1 -1
  35. package/dist/migrate/converters/index.js +7 -7
  36. package/dist/migrate/converters/index.js.map +1 -1
  37. package/dist/migrate/converters/mcp-json-to-codex-toml.d.ts +8 -0
  38. package/dist/migrate/converters/mcp-json-to-codex-toml.d.ts.map +1 -0
  39. package/dist/migrate/converters/mcp-json-to-codex-toml.js +65 -0
  40. package/dist/migrate/converters/mcp-json-to-codex-toml.js.map +1 -0
  41. package/dist/migrate/converters/md-strip.d.ts +10 -1
  42. package/dist/migrate/converters/md-strip.d.ts.map +1 -1
  43. package/dist/migrate/converters/md-strip.js +27 -70
  44. package/dist/migrate/converters/md-strip.js.map +1 -1
  45. package/dist/migrate/converters/md-to-kiro-steering.js +1 -1
  46. package/dist/migrate/converters/md-to-kiro-steering.js.map +1 -1
  47. package/dist/migrate/converters/md-to-mdc.js +1 -1
  48. package/dist/migrate/converters/md-to-mdc.js.map +1 -1
  49. package/dist/migrate/converters/md-to-toml.js +1 -1
  50. package/dist/migrate/converters/md-to-toml.js.map +1 -1
  51. package/dist/migrate/hooks/codex-features-flag.d.ts.map +1 -1
  52. package/dist/migrate/hooks/codex-features-flag.js +21 -6
  53. package/dist/migrate/hooks/codex-features-flag.js.map +1 -1
  54. package/dist/migrate/hooks/codex-hook-wrapper.js +1 -1
  55. package/dist/migrate/hooks/codex-mcp-installer.d.ts +9 -0
  56. package/dist/migrate/hooks/codex-mcp-installer.d.ts.map +1 -0
  57. package/dist/migrate/hooks/codex-mcp-installer.js +65 -0
  58. package/dist/migrate/hooks/codex-mcp-installer.js.map +1 -0
  59. package/dist/migrate/hooks/codex-toml-installer.d.ts.map +1 -1
  60. package/dist/migrate/hooks/codex-toml-installer.js +15 -6
  61. package/dist/migrate/hooks/codex-toml-installer.js.map +1 -1
  62. package/dist/migrate/hooks/hooks-settings-merger.d.ts.map +1 -1
  63. package/dist/migrate/hooks/hooks-settings-merger.js +5 -1
  64. package/dist/migrate/hooks/hooks-settings-merger.js.map +1 -1
  65. package/dist/migrate/migrate-orchestrator.d.ts.map +1 -1
  66. package/dist/migrate/migrate-orchestrator.js +86 -9
  67. package/dist/migrate/migrate-orchestrator.js.map +1 -1
  68. package/dist/migrate/migrate-ui-summary.d.ts +2 -0
  69. package/dist/migrate/migrate-ui-summary.d.ts.map +1 -1
  70. package/dist/migrate/migrate-ui-summary.js +26 -0
  71. package/dist/migrate/migrate-ui-summary.js.map +1 -1
  72. package/dist/migrate/portability-policy.d.ts +3 -1
  73. package/dist/migrate/portability-policy.d.ts.map +1 -1
  74. package/dist/migrate/portability-policy.js +5 -31
  75. package/dist/migrate/portability-policy.js.map +1 -1
  76. package/dist/migrate/portable-installer.d.ts +3 -0
  77. package/dist/migrate/portable-installer.d.ts.map +1 -1
  78. package/dist/migrate/portable-installer.js +67 -6
  79. package/dist/migrate/portable-installer.js.map +1 -1
  80. package/dist/migrate/provider-registry-utils.d.ts.map +1 -1
  81. package/dist/migrate/provider-registry-utils.js +5 -0
  82. package/dist/migrate/provider-registry-utils.js.map +1 -1
  83. package/dist/migrate/providers/codex/capabilities.d.ts +1 -1
  84. package/dist/migrate/providers/codex/capabilities.d.ts.map +1 -1
  85. package/dist/migrate/providers/codex/capabilities.js +56 -0
  86. package/dist/migrate/providers/codex/capabilities.js.map +1 -1
  87. package/dist/migrate/providers/codex/config.d.ts.map +1 -1
  88. package/dist/migrate/providers/codex/config.js +21 -8
  89. package/dist/migrate/providers/codex/config.js.map +1 -1
  90. package/dist/migrate/providers/codex/contract.d.ts.map +1 -1
  91. package/dist/migrate/providers/codex/contract.js +4 -3
  92. package/dist/migrate/providers/codex/contract.js.map +1 -1
  93. package/dist/migrate/providers/provider-config-types.d.ts +1 -1
  94. package/dist/migrate/providers/provider-config-types.d.ts.map +1 -1
  95. package/dist/migrate/reconcile/portable-manifest.d.ts +12 -12
  96. package/dist/migrate/reconcile/portable-registry.d.ts +24 -24
  97. package/dist/migrate/reconcile/process-lock.d.ts.map +1 -1
  98. package/dist/migrate/reconcile/process-lock.js +10 -1
  99. package/dist/migrate/reconcile/process-lock.js.map +1 -1
  100. package/dist/migrate/references/codex-command-skill-path.d.ts +12 -0
  101. package/dist/migrate/references/codex-command-skill-path.d.ts.map +1 -0
  102. package/dist/migrate/references/codex-command-skill-path.js +27 -0
  103. package/dist/migrate/references/codex-command-skill-path.js.map +1 -0
  104. package/dist/migrate/references/fence-aware-reference-rewriter.d.ts +30 -0
  105. package/dist/migrate/references/fence-aware-reference-rewriter.d.ts.map +1 -0
  106. package/dist/migrate/references/fence-aware-reference-rewriter.js +182 -0
  107. package/dist/migrate/references/fence-aware-reference-rewriter.js.map +1 -0
  108. package/dist/migrate/references/reference-classifier.d.ts +12 -0
  109. package/dist/migrate/references/reference-classifier.d.ts.map +1 -0
  110. package/dist/migrate/references/reference-classifier.js +144 -0
  111. package/dist/migrate/references/reference-classifier.js.map +1 -0
  112. package/dist/migrate/references/reference-target-registry.d.ts +42 -0
  113. package/dist/migrate/references/reference-target-registry.d.ts.map +1 -0
  114. package/dist/migrate/references/reference-target-registry.js +100 -0
  115. package/dist/migrate/references/reference-target-registry.js.map +1 -0
  116. package/dist/migrate/references/reference-types.d.ts +23 -0
  117. package/dist/migrate/references/reference-types.d.ts.map +1 -0
  118. package/dist/migrate/references/reference-types.js +5 -0
  119. package/dist/migrate/references/reference-types.js.map +1 -0
  120. package/dist/migrate/runtime-compat-audit.d.ts +2 -1
  121. package/dist/migrate/runtime-compat-audit.d.ts.map +1 -1
  122. package/dist/migrate/runtime-compat-audit.js +2 -2
  123. package/dist/migrate/runtime-compat-audit.js.map +1 -1
  124. package/dist/migrate/runtime-coupling-patterns.d.ts +2 -1
  125. package/dist/migrate/runtime-coupling-patterns.d.ts.map +1 -1
  126. package/dist/migrate/runtime-coupling-patterns.js +18 -3
  127. package/dist/migrate/runtime-coupling-patterns.js.map +1 -1
  128. package/dist/migrate/skill-directory-audit.d.ts +3 -0
  129. package/dist/migrate/skill-directory-audit.d.ts.map +1 -1
  130. package/dist/migrate/skill-directory-audit.js +2 -1
  131. package/dist/migrate/skill-directory-audit.js.map +1 -1
  132. package/dist/migrate/skill-directory-installer.d.ts +2 -0
  133. package/dist/migrate/skill-directory-installer.d.ts.map +1 -1
  134. package/dist/migrate/skill-directory-installer.js +17 -8
  135. package/dist/migrate/skill-directory-installer.js.map +1 -1
  136. package/dist/migrate/types.d.ts +20 -10
  137. package/dist/migrate/types.d.ts.map +1 -1
  138. package/dist/migrate/types.js +4 -0
  139. package/dist/migrate/types.js.map +1 -1
  140. package/dist/migrate/validation/migrate-conversion-report.d.ts +20 -0
  141. package/dist/migrate/validation/migrate-conversion-report.d.ts.map +1 -0
  142. package/dist/migrate/validation/migrate-conversion-report.js +105 -0
  143. package/dist/migrate/validation/migrate-conversion-report.js.map +1 -0
  144. package/dist/migrate/validation/unresolved-reference-scanner.d.ts +18 -0
  145. package/dist/migrate/validation/unresolved-reference-scanner.d.ts.map +1 -0
  146. package/dist/migrate/validation/unresolved-reference-scanner.js +47 -0
  147. package/dist/migrate/validation/unresolved-reference-scanner.js.map +1 -0
  148. package/package.json +1 -1
@@ -0,0 +1,42 @@
1
+ import type { ProviderType } from "../types.js";
2
+ /** Portable-type keys that have a per-provider target path */
3
+ export type ReferenceTargetType = "agents" | "commands" | "skills" | "rules" | "config" | "hooks";
4
+ export type ReferenceScope = "project" | "global";
5
+ export interface ReferenceTarget {
6
+ /** Normalized target path; ends with "/" when it is a directory */
7
+ path: string;
8
+ isDirectory: boolean;
9
+ }
10
+ export interface ReferenceRewriteRule {
11
+ type: ReferenceTargetType;
12
+ /** Source path prefix this rule matches (e.g. ".claude/agents/") */
13
+ sourcePrefix: string;
14
+ /** Resolved provider target, or null when the provider has no such surface */
15
+ target: ReferenceTarget | null;
16
+ /** Special-case suffix mapping (e.g. Codex command → skill directory filename) */
17
+ resolveSuffix?: (suffix: string) => string;
18
+ }
19
+ /** Root of the source runtime tree. The only place this literal may appear. */
20
+ export declare const SOURCE_ROOT = ".claude/";
21
+ /** Source config filename token */
22
+ export declare const SOURCE_CONFIG_TOKEN = "CLAUDE.md";
23
+ export declare function sourcePrefixForType(type: ReferenceTargetType): string;
24
+ /**
25
+ * Resolve the provider target for one portable type. Mirrors the historical
26
+ * md-strip resolution exactly: prefer the scope's path, fall back to the other.
27
+ */
28
+ export declare function getReferenceTarget(provider: ProviderType | undefined, type: ReferenceTargetType, scope?: ReferenceScope): ReferenceTarget | null;
29
+ /** Build the full rewrite table for one provider (one rule per portable type). */
30
+ export declare function buildReferenceRewriteTable(provider: ProviderType | undefined, scope?: ReferenceScope): ReferenceRewriteRule[];
31
+ /**
32
+ * Resolve one source path (e.g. ".claude/skills/x/run.py") against a rewrite
33
+ * table. Returns the rewritten target path, or null when unmapped.
34
+ */
35
+ export declare function resolveReferenceTarget(table: ReferenceRewriteRule[], sourcePath: string): string | null;
36
+ /** Any `.claude/<path>` reference, longest path-like run captured */
37
+ export declare function sourceReferencePattern(): RegExp;
38
+ /** Line filter used when the provider has no hooks surface */
39
+ export declare function sourceHooksLinePattern(): RegExp;
40
+ /** The `CLAUDE.md` token in prose */
41
+ export declare function sourceConfigTokenPattern(): RegExp;
42
+ //# sourceMappingURL=reference-target-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-target-registry.d.ts","sourceRoot":"","sources":["../../../src/migrate/references/reference-target-registry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElG,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,eAAe;IAC/B,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,kFAAkF;IAClF,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAED,+EAA+E;AAC/E,eAAO,MAAM,WAAW,aAAa,CAAC;AAEtC,mCAAmC;AACnC,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAI/C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAErE;AAQD;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,IAAI,EAAE,mBAAmB,EACzB,KAAK,GAAE,cAA0B,GAC/B,eAAe,GAAG,IAAI,CAoBxB;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CACzC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,KAAK,GAAE,cAA0B,GAC/B,oBAAoB,EAAE,CAcxB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBvG;AAMD,qEAAqE;AACrE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,8DAA8D;AAC9D,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,qCAAqC;AACrC,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD"}
@@ -0,0 +1,100 @@
1
+ // Single source of truth for rewriting source-runtime references
2
+ // (`.claude/<type>/...`, `CLAUDE.md`) to provider target paths. All mapping
3
+ // strings and source patterns live HERE — converters must consume this module
4
+ // instead of holding their own literals (guarded by a unit test).
5
+ import { homedir } from "node:os";
6
+ import { providers } from "../provider-registry.js";
7
+ import { codexCommandSkillRelativePath } from "./codex-command-skill-path.js";
8
+ /** Root of the source runtime tree. The only place this literal may appear. */
9
+ export const SOURCE_ROOT = ".claude/";
10
+ /** Source config filename token */
11
+ export const SOURCE_CONFIG_TOKEN = "CLAUDE.md";
12
+ const DIRECTORY_TYPES = ["agents", "commands", "skills", "rules", "hooks"];
13
+ export function sourcePrefixForType(type) {
14
+ return type === "config" ? SOURCE_CONFIG_TOKEN : `${SOURCE_ROOT}${type}/`;
15
+ }
16
+ function normalizeTargetPath(path) {
17
+ const normalized = path.replace(/\\/g, "/").replace(/^\.\//, "");
18
+ const home = homedir().replace(/\\/g, "/");
19
+ return normalized.startsWith(home) ? normalized.replace(home, "~") : normalized;
20
+ }
21
+ /**
22
+ * Resolve the provider target for one portable type. Mirrors the historical
23
+ * md-strip resolution exactly: prefer the scope's path, fall back to the other.
24
+ */
25
+ export function getReferenceTarget(provider, type, scope = "project") {
26
+ if (!provider)
27
+ return null;
28
+ const pathConfig = providers[provider][type];
29
+ if (!pathConfig)
30
+ return null;
31
+ const resolvedPath = scope === "global"
32
+ ? (pathConfig.globalPath ?? pathConfig.projectPath)
33
+ : (pathConfig.projectPath ?? pathConfig.globalPath);
34
+ if (!resolvedPath)
35
+ return null;
36
+ const normalized = normalizeTargetPath(resolvedPath);
37
+ const isDirectory = pathConfig.writeStrategy === "per-file" ||
38
+ pathConfig.writeStrategy === "yaml-merge" ||
39
+ pathConfig.writeStrategy === "json-merge";
40
+ return {
41
+ path: isDirectory && !normalized.endsWith("/") ? `${normalized}/` : normalized,
42
+ isDirectory,
43
+ };
44
+ }
45
+ /** Build the full rewrite table for one provider (one rule per portable type). */
46
+ export function buildReferenceRewriteTable(provider, scope = "project") {
47
+ const types = [...DIRECTORY_TYPES, "config"];
48
+ return types.map((type) => {
49
+ const rule = {
50
+ type,
51
+ sourcePrefix: sourcePrefixForType(type),
52
+ target: getReferenceTarget(provider, type, scope),
53
+ };
54
+ // Commands that install as Agent Skills live in one directory per command.
55
+ if (type === "commands" && provider && providers[provider].commands?.format === "command-to-codex-skill") {
56
+ rule.resolveSuffix = (suffix) => codexCommandSkillRelativePath(suffix);
57
+ }
58
+ return rule;
59
+ });
60
+ }
61
+ /**
62
+ * Resolve one source path (e.g. ".claude/skills/x/run.py") against a rewrite
63
+ * table. Returns the rewritten target path, or null when unmapped.
64
+ */
65
+ export function resolveReferenceTarget(table, sourcePath) {
66
+ const normalized = sourcePath.replace(/\\/g, "/");
67
+ for (const rule of table) {
68
+ if (rule.type === "config") {
69
+ if (normalized === rule.sourcePrefix)
70
+ return rule.target?.path ?? null;
71
+ continue;
72
+ }
73
+ if (!normalized.toLowerCase().startsWith(rule.sourcePrefix.toLowerCase()))
74
+ continue;
75
+ if (!rule.target)
76
+ return null;
77
+ const suffix = normalized.slice(rule.sourcePrefix.length);
78
+ if (rule.resolveSuffix && rule.target.isDirectory && suffix) {
79
+ return `${rule.target.path}${rule.resolveSuffix(suffix)}`;
80
+ }
81
+ return rule.target.isDirectory ? `${rule.target.path}${suffix}` : rule.target.path;
82
+ }
83
+ return null;
84
+ }
85
+ // --- Source patterns ------------------------------------------------------
86
+ // Regexes matching source references. Kept as factory functions so every
87
+ // caller gets fresh lastIndex state for the global flags.
88
+ /** Any `.claude/<path>` reference, longest path-like run captured */
89
+ export function sourceReferencePattern() {
90
+ return /\.claude\/[a-zA-Z0-9_./-]*/gi;
91
+ }
92
+ /** Line filter used when the provider has no hooks surface */
93
+ export function sourceHooksLinePattern() {
94
+ return /\.claude\/hooks\//i;
95
+ }
96
+ /** The `CLAUDE.md` token in prose */
97
+ export function sourceConfigTokenPattern() {
98
+ return /\bCLAUDE\.md\b/g;
99
+ }
100
+ //# sourceMappingURL=reference-target-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-target-registry.js","sourceRoot":"","sources":["../../../src/migrate/references/reference-target-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** Markdown span the occurrence was found in */
2
+ export type ReferenceSpan = "frontmatter" | "fenced" | "inline-code" | "prose";
3
+ /** What the reference points at */
4
+ export type ReferenceKind = "mapped-asset" | "unmapped-runtime" | "citation" | "brand" | "env" | "slash-command";
5
+ /** What the rewriter decided to do with the occurrence */
6
+ export type RewriteDecision = "rewrite" | "preserve" | "preserve-warn";
7
+ /** One classified occurrence, emitted so the report layer can surface every decision */
8
+ export interface ReferenceOccurrence {
9
+ /** File the occurrence belongs to (target-relative filename or source path) */
10
+ file: string;
11
+ /** 1-based line number in the scanned content */
12
+ line: number;
13
+ span: ReferenceSpan;
14
+ kind: ReferenceKind;
15
+ decision: RewriteDecision;
16
+ /** The matched source text */
17
+ original: string;
18
+ /** Present when decision === "rewrite" */
19
+ rewrittenTo?: string;
20
+ /** Human-readable reason for preserve-warn decisions */
21
+ reason?: string;
22
+ }
23
+ //# sourceMappingURL=reference-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-types.d.ts","sourceRoot":"","sources":["../../../src/migrate/references/reference-types.ts"],"names":[],"mappings":"AAIA,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;AAE/E,mCAAmC;AACnC,MAAM,MAAM,aAAa,GACtB,cAAc,GACd,kBAAkB,GAClB,UAAU,GACV,OAAO,GACP,KAAK,GACL,eAAe,CAAC;AAEnB,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,CAAC;AAEvE,wFAAwF;AACxF,MAAM,WAAW,mBAAmB;IACnC,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,5 @@
1
+ // Shared types for source-reference classification and rewriting.
2
+ // A "reference" is any occurrence of a source-runtime path (`.claude/...`) or
3
+ // the source config token (`CLAUDE.md`) inside migrated content.
4
+ export {};
5
+ //# sourceMappingURL=reference-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-types.js","sourceRoot":"","sources":["../../../src/migrate/references/reference-types.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,8EAA8E;AAC9E,iEAAiE"}
@@ -1,6 +1,7 @@
1
1
  import type { PortableItem, ProviderType } from "./types.js";
2
+ import type { ReferenceOccurrence } from "./references/reference-types.js";
2
3
  export interface RuntimeCompatAuditResult {
3
4
  errors: string[];
4
5
  }
5
- export declare function auditRuntimeCompatibility(content: string, item: Pick<PortableItem, "name" | "type">, targetProvider: ProviderType): RuntimeCompatAuditResult;
6
+ export declare function auditRuntimeCompatibility(content: string, item: Pick<PortableItem, "name" | "type">, targetProvider: ProviderType, occurrences?: ReferenceOccurrence[]): RuntimeCompatAuditResult;
6
7
  //# sourceMappingURL=runtime-compat-audit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-compat-audit.d.ts","sourceRoot":"","sources":["../../src/migrate/runtime-compat-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAgB,YAAY,EAAE,MAAM,YAAY,CAAC;AAG3E,MAAM,WAAW,wBAAwB;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAID,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,EACzC,cAAc,EAAE,YAAY,GAC1B,wBAAwB,CAU1B"}
1
+ {"version":3,"file":"runtime-compat-audit.d.ts","sourceRoot":"","sources":["../../src/migrate/runtime-compat-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAgB,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,MAAM,WAAW,wBAAwB;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAID,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,EACzC,cAAc,EAAE,YAAY,EAC5B,WAAW,GAAE,mBAAmB,EAAO,GACrC,wBAAwB,CAU1B"}
@@ -1,12 +1,12 @@
1
1
  import { findRuntimeCouplingMatches } from "./runtime-coupling-patterns.js";
2
2
  const AUDITED_TYPES = new Set(["agent", "command", "config", "rules", "hooks"]);
3
- export function auditRuntimeCompatibility(content, item, targetProvider) {
3
+ export function auditRuntimeCompatibility(content, item, targetProvider, occurrences = []) {
4
4
  if (targetProvider === "claude-code")
5
5
  return { errors: [] };
6
6
  if (!AUDITED_TYPES.has(item.type))
7
7
  return { errors: [] };
8
8
  const errors = [];
9
- for (const match of findRuntimeCouplingMatches(content)) {
9
+ for (const match of findRuntimeCouplingMatches(content, occurrences)) {
10
10
  errors.push(`${item.type}/${item.name} ${match.message}`);
11
11
  }
12
12
  return { errors };
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-compat-audit.js","sourceRoot":"","sources":["../../src/migrate/runtime-compat-audit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAM5E,MAAM,aAAa,GAAG,IAAI,GAAG,CAAe,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9F,MAAM,UAAU,yBAAyB,CACxC,OAAe,EACf,IAAyC,EACzC,cAA4B;IAE5B,IAAI,cAAc,KAAK,aAAa;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAEzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"runtime-compat-audit.js","sourceRoot":"","sources":["../../src/migrate/runtime-compat-audit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAM5E,MAAM,aAAa,GAAG,IAAI,GAAG,CAAe,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9F,MAAM,UAAU,yBAAyB,CACxC,OAAe,EACf,IAAyC,EACzC,cAA4B,EAC5B,cAAqC,EAAE;IAEvC,IAAI,cAAc,KAAK,aAAa;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAEzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,0BAA0B,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACnB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ReferenceOccurrence } from "./references/reference-types.js";
1
2
  export interface RuntimeCouplingMatch {
2
3
  message: string;
3
4
  }
@@ -5,5 +6,5 @@ export declare const RUNTIME_COUPLING_PATTERNS: Array<{
5
6
  pattern: RegExp;
6
7
  message: string;
7
8
  }>;
8
- export declare function findRuntimeCouplingMatches(content: string): RuntimeCouplingMatch[];
9
+ export declare function findRuntimeCouplingMatches(content: string, occurrences?: ReferenceOccurrence[]): RuntimeCouplingMatch[];
9
10
  //# sourceMappingURL=runtime-coupling-patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-coupling-patterns.d.ts","sourceRoot":"","sources":["../../src/migrate/runtime-coupling-patterns.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAOjF,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAMlF"}
1
+ {"version":3,"file":"runtime-coupling-patterns.d.ts","sourceRoot":"","sources":["../../src/migrate/runtime-coupling-patterns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAKjF,CAAC;AAUF,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,mBAAmB,EAAO,GACrC,oBAAoB,EAAE,CAcxB"}
@@ -1,17 +1,32 @@
1
+ import { isExplainedReference } from "./validation/unresolved-reference-scanner.js";
2
+ import { sourceConfigTokenPattern, sourceReferencePattern } from "./references/reference-target-registry.js";
1
3
  export const RUNTIME_COUPLING_PATTERNS = [
2
- { pattern: /\.claude\//i, message: "contains a .claude/ path reference" },
3
- { pattern: /\bCLAUDE\.md\b/, message: "contains a CLAUDE.md reference" },
4
4
  { pattern: /\$CLAUDE_[A-Z0-9_]+\b/, message: "contains a Claude-specific environment variable" },
5
5
  { pattern: /\$ANTHROPIC_[A-Z0-9_]+\b/, message: "contains an Anthropic-specific environment variable" },
6
6
  { pattern: /\bnpx\s+claude\b/i, message: "contains a Claude Code command assumption" },
7
7
  { pattern: /\bclaude\s+(?:--|mcp|doctor|update)\b/i, message: "contains a Claude Code command assumption" },
8
8
  ];
9
- export function findRuntimeCouplingMatches(content) {
9
+ // Source references are only coupling errors when the fence-aware classifier
10
+ // did NOT deliberately decide to keep them (citation, fenced runtime command,
11
+ // merged/non-directory target). Unexplained ones still hard-fail.
12
+ const SOURCE_REFERENCE_CHECKS = [
13
+ { makePattern: sourceReferencePattern, message: "contains a .claude/ path reference" },
14
+ { makePattern: sourceConfigTokenPattern, message: "contains a CLAUDE.md reference" },
15
+ ];
16
+ export function findRuntimeCouplingMatches(content, occurrences = []) {
10
17
  const matches = [];
11
18
  for (const rule of RUNTIME_COUPLING_PATTERNS) {
12
19
  if (rule.pattern.test(content))
13
20
  matches.push({ message: rule.message });
14
21
  }
22
+ for (const check of SOURCE_REFERENCE_CHECKS) {
23
+ for (const match of content.matchAll(check.makePattern())) {
24
+ if (!isExplainedReference(match[0], occurrences)) {
25
+ matches.push({ message: check.message });
26
+ break;
27
+ }
28
+ }
29
+ }
15
30
  return matches;
16
31
  }
17
32
  //# sourceMappingURL=runtime-coupling-patterns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-coupling-patterns.js","sourceRoot":"","sources":["../../src/migrate/runtime-coupling-patterns.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,yBAAyB,GAAgD;IACrF,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,oCAAoC,EAAE;IACzE,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,gCAAgC,EAAE;IACxE,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,iDAAiD,EAAE;IAChG,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,qDAAqD,EAAE;IACvG,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,2CAA2C,EAAE;IACtF,EAAE,OAAO,EAAE,wCAAwC,EAAE,OAAO,EAAE,2CAA2C,EAAE;CAC3G,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACzD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"runtime-coupling-patterns.js","sourceRoot":"","sources":["../../src/migrate/runtime-coupling-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAO7G,MAAM,CAAC,MAAM,yBAAyB,GAAgD;IACrF,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,iDAAiD,EAAE;IAChG,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,qDAAqD,EAAE;IACvG,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,2CAA2C,EAAE;IACtF,EAAE,OAAO,EAAE,wCAAwC,EAAE,OAAO,EAAE,2CAA2C,EAAE;CAC3G,CAAC;AAEF,6EAA6E;AAC7E,8EAA8E;AAC9E,kEAAkE;AAClE,MAAM,uBAAuB,GAA0D;IACtF,EAAE,WAAW,EAAE,sBAAsB,EAAE,OAAO,EAAE,oCAAoC,EAAE;IACtF,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,EAAE,gCAAgC,EAAE;CACpF,CAAC;AAEF,MAAM,UAAU,0BAA0B,CACzC,OAAe,EACf,cAAqC,EAAE;IAEvC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,uBAAuB,EAAE,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzC,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ReferenceOccurrence } from "./references/reference-types.js";
1
2
  import type { ProviderType } from "./types.js";
2
3
  export interface SkillDirectoryAuditIssue {
3
4
  filePath: string;
@@ -8,6 +9,8 @@ export interface SkillDirectoryAuditResult {
8
9
  }
9
10
  export interface SkillDirectoryAuditOptions {
10
11
  ignoreRewriteableMarkdown?: boolean;
12
+ /** Classifier decisions per rewritten markdown file (relative path) */
13
+ occurrencesByFile?: Map<string, ReferenceOccurrence[]>;
11
14
  }
12
15
  export declare function auditSkillDirectory(rootDir: string, provider: ProviderType, skillName: string, options?: SkillDirectoryAuditOptions): Promise<SkillDirectoryAuditResult>;
13
16
  //# sourceMappingURL=skill-directory-audit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-directory-audit.d.ts","sourceRoot":"","sources":["../../src/migrate/skill-directory-audit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,wBAAwB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACzC,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IAC1C,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACpC;AAuDD,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,GACtC,OAAO,CAAC,yBAAyB,CAAC,CAyBpC"}
1
+ {"version":3,"file":"skill-directory-audit.d.ts","sourceRoot":"","sources":["../../src/migrate/skill-directory-audit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,wBAAwB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACzC,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IAC1C,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;CACvD;AAuDD,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,GACtC,OAAO,CAAC,yBAAyB,CAAC,CA0BpC"}
@@ -67,7 +67,8 @@ export async function auditSkillDirectory(rootDir, provider, skillName, options
67
67
  const relativePath = relative(rootDir, filePath).replace(/\\/g, "/");
68
68
  if (options.ignoreRewriteableMarkdown && isMarkdownFile(relativePath))
69
69
  continue;
70
- for (const match of findRuntimeCouplingMatches(content)) {
70
+ const occurrences = options.occurrencesByFile?.get(relativePath) ?? [];
71
+ for (const match of findRuntimeCouplingMatches(content, occurrences)) {
71
72
  const severity = isHighRiskFile(relativePath) ? "high-risk" : "runtime-coupled";
72
73
  errors.push({
73
74
  filePath: relativePath,
@@ -1 +1 @@
1
- {"version":3,"file":"skill-directory-audit.js","sourceRoot":"","sources":["../../src/migrate/skill-directory-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAgBhE,MAAM,mBAAmB,GAAG,GAAG,GAAG,IAAI,CAAC;AACvC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACpF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC/B,EAAE;IACF,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;CACN,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,QAAgB,EAAE,IAAY;IACrD,IAAI,IAAI,GAAG,mBAAmB;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC5D,OAAO,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,KAAK,UAAU,CAAC;AAC1F,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,OAAe,EACf,QAAsB,EACtB,SAAiB,EACjB,UAAsC,EAAE;IAExC,IAAI,QAAQ,KAAK,aAAa;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAEtD,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,KAAK,MAAM,QAAQ,IAAI,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAEnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,eAAe,CAAC,MAAM,CAAC;YAAE,SAAS;QAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,yBAAyB,IAAI,cAAc,CAAC,YAAY,CAAC;YAAE,SAAS;QAEhF,KAAK,MAAM,KAAK,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,GAAG,QAAQ,UAAU,SAAS,IAAI,QAAQ,SAAS,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE;aAC3F,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"skill-directory-audit.js","sourceRoot":"","sources":["../../src/migrate/skill-directory-audit.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ReferenceIntegrityIndex } from "./references/fence-aware-reference-rewriter.js";
1
2
  import { type InstalledBackRef } from "../core/install-metadata-backref.js";
2
3
  import type { ProviderType, SkillInfo } from "./types.js";
3
4
  export interface SkillInstallResult {
@@ -15,6 +16,7 @@ export interface SkillInstallResult {
15
16
  export declare function installSkillDirectory(skill: SkillInfo, provider: ProviderType, options: {
16
17
  global: boolean;
17
18
  installedBackRef?: InstalledBackRef | null;
19
+ migratedRefs?: ReferenceIntegrityIndex | null;
18
20
  }): Promise<SkillInstallResult>;
19
21
  /**
20
22
  * Compute the install path for a skill on a target provider (used by reconciler/dry-run).
@@ -1 +1 @@
1
- {"version":3,"file":"skill-directory-installer.d.ts","sourceRoot":"","sources":["../../src/migrate/skill-directory-installer.ts"],"names":[],"mappings":"AAYA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAErG,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AA0CD;;;;GAIG;AACH,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,GACtE,OAAO,CAAC,kBAAkB,CAAC,CAwF7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAC1B,MAAM,GAAG,IAAI,CAGf"}
1
+ {"version":3,"file":"skill-directory-installer.d.ts","sourceRoot":"","sources":["../../src/migrate/skill-directory-installer.ts"],"names":[],"mappings":"AAOA,OAAO,EAGN,KAAK,uBAAuB,EAC5B,MAAM,gDAAgD,CAAC;AAMxD,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAErG,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAoDD;;;;GAIG;AACH,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE;IACR,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC9C,GACC,OAAO,CAAC,kBAAkB,CAAC,CAiG7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAC1B,MAAM,GAAG,IAAI,CAGf"}
@@ -4,6 +4,7 @@ import { existsSync } from "node:fs";
4
4
  import { cp, mkdir, readdir, readFile, realpath, rename, rm, writeFile } from "node:fs/promises";
5
5
  import { dirname, join, resolve } from "node:path";
6
6
  import { stripClaudeRefs } from "./converters/index.js";
7
+ import { combineIntegrityIndexes, createReferenceIntegrityIndex, } from "./references/fence-aware-reference-rewriter.js";
7
8
  import { providers } from "./provider-registry.js";
8
9
  import { getPortableInstallPath } from "./provider-registry-utils.js";
9
10
  import { sanitizeSkillName } from "./discovery/skills-discovery.js";
@@ -31,23 +32,27 @@ async function canonicalize(path) {
31
32
  }
32
33
  }
33
34
  }
34
- async function rewriteMarkdownFilesForProvider(rootDir, provider) {
35
+ async function rewriteMarkdownFilesForProvider(rootDir, provider, migratedRefs, occurrencesByFile, baseDir = rootDir) {
35
36
  const entries = await readdir(rootDir, { withFileTypes: true });
36
37
  for (const entry of entries) {
37
38
  const fullPath = join(rootDir, entry.name);
38
39
  if (entry.isDirectory()) {
39
- await rewriteMarkdownFilesForProvider(fullPath, provider);
40
+ await rewriteMarkdownFilesForProvider(fullPath, provider, migratedRefs, occurrencesByFile, baseDir);
40
41
  continue;
41
42
  }
42
43
  if (!entry.isFile() || !entry.name.toLowerCase().endsWith(".md"))
43
44
  continue;
44
45
  const original = await readFile(fullPath, "utf-8");
45
- const rewritten = stripClaudeRefs(original, {
46
+ const stripped = stripClaudeRefs(original, {
46
47
  provider,
47
48
  targetName: providers[provider].displayName,
48
- }).content;
49
- if (rewritten !== original) {
50
- await writeFile(fullPath, rewritten, "utf-8");
49
+ file: entry.name,
50
+ migratedRefs,
51
+ });
52
+ const relPath = fullPath.slice(baseDir.length + 1).replace(/\\/g, "/");
53
+ occurrencesByFile.set(relPath, stripped.occurrences);
54
+ if (stripped.content !== original) {
55
+ await writeFile(fullPath, stripped.content, "utf-8");
51
56
  }
52
57
  }
53
58
  }
@@ -90,8 +95,12 @@ export async function installSkillDirectory(skill, provider, options) {
90
95
  try {
91
96
  await cp(skill.sourcePath, targetDir, { recursive: true, force: true, errorOnExist: false });
92
97
  copied = true;
93
- await rewriteMarkdownFilesForProvider(targetDir, provider);
94
- const audit = await auditSkillDirectory(targetDir, provider, skill.name);
98
+ // The skill being installed is definitionally part of the migration set,
99
+ // so its own fenced self-references always pass the integrity check.
100
+ const selfIndex = createReferenceIntegrityIndex([`.claude/skills/${skill.dirName}/`]);
101
+ const occurrencesByFile = new Map();
102
+ await rewriteMarkdownFilesForProvider(targetDir, provider, combineIntegrityIndexes(selfIndex, options.migratedRefs), occurrencesByFile);
103
+ const audit = await auditSkillDirectory(targetDir, provider, skill.name, { occurrencesByFile });
95
104
  if (audit.errors.length > 0) {
96
105
  throw new Error(`Skill runtime compatibility audit failed: ${audit.errors.map((e) => e.message).join("; ")}`);
97
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skill-directory-installer.js","sourceRoot":"","sources":["../../src/migrate/skill-directory-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-directory-installer.js","sourceRoot":"","sources":["../../src/migrate/skill-directory-installer.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,8 @@ export interface ConversionResult {
54
54
  filename: string;
55
55
  warnings: string[];
56
56
  error?: string;
57
+ /** Classified source-reference decisions made while converting (report layer input) */
58
+ occurrences?: import("./references/reference-types.js").ReferenceOccurrence[];
57
59
  }
58
60
  /** Result of installing a portable item to a provider */
59
61
  export interface PortableInstallResult {
@@ -111,44 +113,52 @@ export declare const MigrateOptionsSchema: z.ZodObject<{
111
113
  respectDeletions: z.ZodOptional<z.ZodBoolean>;
112
114
  sourceVersion: z.ZodOptional<z.ZodString>;
113
115
  providers: z.ZodOptional<z.ZodBoolean>;
116
+ /** Merge ALL rules into the provider instruction file, bypassing the portability filter */
117
+ allRules: z.ZodOptional<z.ZodBoolean>;
118
+ /** Opt-in: convert .mcp.json server definitions into the provider MCP config */
119
+ includeMcp: z.ZodOptional<z.ZodBoolean>;
114
120
  }, "strip", z.ZodTypeAny, {
115
- force?: boolean | undefined;
121
+ providers?: boolean | undefined;
122
+ source?: string | undefined;
116
123
  tool?: string | undefined;
117
- install?: boolean | undefined;
124
+ global?: boolean | undefined;
118
125
  tools?: string[] | undefined;
119
126
  all?: boolean | undefined;
120
- global?: boolean | undefined;
121
127
  yes?: boolean | undefined;
122
128
  dryRun?: boolean | undefined;
123
- source?: string | undefined;
129
+ force?: boolean | undefined;
124
130
  only?: string | undefined;
125
131
  skipConfig?: boolean | undefined;
126
132
  skipRules?: boolean | undefined;
127
133
  skipHooks?: boolean | undefined;
134
+ install?: boolean | undefined;
128
135
  reconcile?: boolean | undefined;
129
136
  reinstallEmptyDirs?: boolean | undefined;
130
137
  respectDeletions?: boolean | undefined;
131
138
  sourceVersion?: string | undefined;
132
- providers?: boolean | undefined;
139
+ allRules?: boolean | undefined;
140
+ includeMcp?: boolean | undefined;
133
141
  }, {
134
- force?: boolean | undefined;
142
+ providers?: boolean | undefined;
143
+ source?: string | undefined;
135
144
  tool?: string | undefined;
136
- install?: boolean | undefined;
145
+ global?: boolean | undefined;
137
146
  tools?: string[] | undefined;
138
147
  all?: boolean | undefined;
139
- global?: boolean | undefined;
140
148
  yes?: boolean | undefined;
141
149
  dryRun?: boolean | undefined;
142
- source?: string | undefined;
150
+ force?: boolean | undefined;
143
151
  only?: string | undefined;
144
152
  skipConfig?: boolean | undefined;
145
153
  skipRules?: boolean | undefined;
146
154
  skipHooks?: boolean | undefined;
155
+ install?: boolean | undefined;
147
156
  reconcile?: boolean | undefined;
148
157
  reinstallEmptyDirs?: boolean | undefined;
149
158
  respectDeletions?: boolean | undefined;
150
159
  sourceVersion?: string | undefined;
151
- providers?: boolean | undefined;
160
+ allRules?: boolean | undefined;
161
+ includeMcp?: boolean | undefined;
152
162
  }>;
153
163
  export type MigrateOptions = z.infer<typeof MigrateOptionsSchema>;
154
164
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/migrate/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAExF,kDAAkD;AAClD,eAAO,MAAM,YAAY,4LAiBvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAChF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,sBAAsB;IACtC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;IACF,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B;AAKD,YAAY,EACX,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,cAAc,GACd,MAAM,sCAAsC,CAAC;AAE9C,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,oCAAoC;AACpC,MAAM,WAAW,sBAAsB;IACtC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,kFAAkF;AAClF,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,YAAY,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAC;CACpC;AAED,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACzB,+EAA+E;IAC/E,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,yCAAyC;AACzC,eAAO,MAAM,oBAAoB;;IAEhC,+FAA+F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB9F,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/migrate/types.ts"],"names":[],"mappings":"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"}
@@ -41,5 +41,9 @@ export const MigrateOptionsSchema = z.object({
41
41
  respectDeletions: z.boolean().optional(),
42
42
  sourceVersion: z.string().optional(),
43
43
  providers: z.boolean().optional(),
44
+ /** Merge ALL rules into the provider instruction file, bypassing the portability filter */
45
+ allRules: z.boolean().optional(),
46
+ /** Opt-in: convert .mcp.json server definitions into the provider MCP config */
47
+ includeMcp: z.boolean().optional(),
44
48
  });
45
49
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migrate/types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,oFAAoF;AACpF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,aAAa;IACb,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,UAAU;IACV,OAAO;IACP,WAAW;CACX,CAAC,CAAC;AA4GH,yCAAyC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,+FAA+F;IAC/F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migrate/types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,oFAAoF;AACpF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,aAAa;IACb,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,UAAU;IACV,OAAO;IACP,WAAW;CACX,CAAC,CAAC;AA8GH,yCAAyC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,+FAA+F;IAC/F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,2FAA2F;IAC3F,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,gFAAgF;IAChF,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type ReferenceIntegrityIndex } from "../references/fence-aware-reference-rewriter.js";
2
+ import type { ReconcileAction } from "../reconcile/reconcile-types.js";
3
+ import type { PortableItem, PortableType, ProviderType, SkillInfo } from "../types.js";
4
+ export interface ConversionReport {
5
+ /** Preserved-with-warning references: "file:line — ref (reason)" */
6
+ warnedReferences: string[];
7
+ /** Unique converter warnings (unsupported concepts, manual adaptations, ...) */
8
+ conversionWarnings: string[];
9
+ /** Projected merged-instruction-file budget status lines */
10
+ budgetLines: string[];
11
+ /** Internal invariant violations from the unresolved-reference scanner */
12
+ validationErrors: string[];
13
+ }
14
+ export declare function buildConversionReport(input: {
15
+ actions: ReconcileAction[];
16
+ itemsByType: Record<PortableType, PortableItem[]>;
17
+ skillsByProvider: Map<ProviderType, SkillInfo[]>;
18
+ migratedRefs: ReferenceIntegrityIndex;
19
+ }): ConversionReport;
20
+ //# sourceMappingURL=migrate-conversion-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-conversion-report.d.ts","sourceRoot":"","sources":["../../../src/migrate/validation/migrate-conversion-report.ts"],"names":[],"mappings":"AASA,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGvF,MAAM,WAAW,gBAAgB;IAChC,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gFAAgF;IAChF,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B;AAqBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;IAClD,gBAAgB,EAAE,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;IACjD,YAAY,EAAE,uBAAuB,CAAC;CACtC,GAAG,gBAAgB,CA2EnB"}