mewkit 1.13.0 → 1.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/dist/commands/migrate.d.ts +2 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +2 -0
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/validate.js +14 -7
- package/dist/commands/validate.js.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/migrate/apply-env-var-rewrites.d.ts +15 -0
- package/dist/migrate/apply-env-var-rewrites.d.ts.map +1 -0
- package/dist/migrate/apply-env-var-rewrites.js +26 -0
- package/dist/migrate/apply-env-var-rewrites.js.map +1 -0
- package/dist/migrate/config-merger/merge-single-sections.d.ts.map +1 -1
- package/dist/migrate/config-merger/merge-single-sections.js +4 -2
- package/dist/migrate/config-merger/merge-single-sections.js.map +1 -1
- package/dist/migrate/converters/command-to-codex-skill.d.ts +10 -0
- package/dist/migrate/converters/command-to-codex-skill.d.ts.map +1 -0
- package/dist/migrate/converters/command-to-codex-skill.js +88 -0
- package/dist/migrate/converters/command-to-codex-skill.js.map +1 -0
- package/dist/migrate/converters/direct-copy.d.ts +4 -1
- package/dist/migrate/converters/direct-copy.d.ts.map +1 -1
- package/dist/migrate/converters/direct-copy.js +19 -22
- package/dist/migrate/converters/direct-copy.js.map +1 -1
- package/dist/migrate/converters/fm-strip.d.ts.map +1 -1
- package/dist/migrate/converters/fm-strip.js +5 -1
- package/dist/migrate/converters/fm-strip.js.map +1 -1
- package/dist/migrate/converters/fm-to-codex-toml.d.ts +4 -1
- package/dist/migrate/converters/fm-to-codex-toml.d.ts.map +1 -1
- package/dist/migrate/converters/fm-to-codex-toml.js +8 -3
- package/dist/migrate/converters/fm-to-codex-toml.js.map +1 -1
- package/dist/migrate/converters/fm-to-fm.js +4 -4
- package/dist/migrate/converters/fm-to-fm.js.map +1 -1
- package/dist/migrate/converters/fm-to-json.d.ts.map +1 -1
- package/dist/migrate/converters/fm-to-json.js +2 -1
- package/dist/migrate/converters/fm-to-json.js.map +1 -1
- package/dist/migrate/converters/fm-to-yaml.js +1 -1
- package/dist/migrate/converters/fm-to-yaml.js.map +1 -1
- package/dist/migrate/converters/index.d.ts +7 -2
- package/dist/migrate/converters/index.d.ts.map +1 -1
- package/dist/migrate/converters/index.js +8 -8
- package/dist/migrate/converters/index.js.map +1 -1
- package/dist/migrate/converters/mcp-json-to-codex-toml.d.ts +8 -0
- package/dist/migrate/converters/mcp-json-to-codex-toml.d.ts.map +1 -0
- package/dist/migrate/converters/mcp-json-to-codex-toml.js +65 -0
- package/dist/migrate/converters/mcp-json-to-codex-toml.js.map +1 -0
- package/dist/migrate/converters/md-strip.d.ts +10 -1
- package/dist/migrate/converters/md-strip.d.ts.map +1 -1
- package/dist/migrate/converters/md-strip.js +27 -70
- package/dist/migrate/converters/md-strip.js.map +1 -1
- package/dist/migrate/converters/md-to-kiro-steering.js +1 -1
- package/dist/migrate/converters/md-to-kiro-steering.js.map +1 -1
- package/dist/migrate/converters/md-to-mdc.js +1 -1
- package/dist/migrate/converters/md-to-mdc.js.map +1 -1
- package/dist/migrate/converters/md-to-toml.js +1 -1
- package/dist/migrate/converters/md-to-toml.js.map +1 -1
- package/dist/migrate/discovery/config-discovery.d.ts +29 -0
- package/dist/migrate/discovery/config-discovery.d.ts.map +1 -1
- package/dist/migrate/discovery/config-discovery.js +45 -0
- package/dist/migrate/discovery/config-discovery.js.map +1 -1
- package/dist/migrate/discovery/handlers-json-filter.d.ts.map +1 -1
- package/dist/migrate/discovery/handlers-json-filter.js +4 -2
- package/dist/migrate/discovery/handlers-json-filter.js.map +1 -1
- package/dist/migrate/discovery/hooks-discovery.d.ts +5 -0
- package/dist/migrate/discovery/hooks-discovery.d.ts.map +1 -1
- package/dist/migrate/discovery/hooks-discovery.js +21 -5
- package/dist/migrate/discovery/hooks-discovery.js.map +1 -1
- package/dist/migrate/hooks/codex-features-flag.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-features-flag.js +21 -6
- package/dist/migrate/hooks/codex-features-flag.js.map +1 -1
- package/dist/migrate/hooks/codex-hook-wrapper.d.ts +15 -1
- package/dist/migrate/hooks/codex-hook-wrapper.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-hook-wrapper.js +79 -8
- package/dist/migrate/hooks/codex-hook-wrapper.js.map +1 -1
- package/dist/migrate/hooks/codex-mcp-installer.d.ts +9 -0
- package/dist/migrate/hooks/codex-mcp-installer.d.ts.map +1 -0
- package/dist/migrate/hooks/codex-mcp-installer.js +65 -0
- package/dist/migrate/hooks/codex-mcp-installer.js.map +1 -0
- package/dist/migrate/hooks/codex-path-safety.d.ts +29 -0
- package/dist/migrate/hooks/codex-path-safety.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-path-safety.js +36 -1
- package/dist/migrate/hooks/codex-path-safety.js.map +1 -1
- package/dist/migrate/hooks/codex-sh-wrapper-script.d.ts +8 -0
- package/dist/migrate/hooks/codex-sh-wrapper-script.d.ts.map +1 -0
- package/dist/migrate/hooks/codex-sh-wrapper-script.js +118 -0
- package/dist/migrate/hooks/codex-sh-wrapper-script.js.map +1 -0
- package/dist/migrate/hooks/codex-shell-env-installer.d.ts +14 -0
- package/dist/migrate/hooks/codex-shell-env-installer.d.ts.map +1 -0
- package/dist/migrate/hooks/codex-shell-env-installer.js +82 -0
- package/dist/migrate/hooks/codex-shell-env-installer.js.map +1 -0
- package/dist/migrate/hooks/codex-toml-installer.d.ts +2 -0
- package/dist/migrate/hooks/codex-toml-installer.d.ts.map +1 -1
- package/dist/migrate/hooks/codex-toml-installer.js +18 -7
- package/dist/migrate/hooks/codex-toml-installer.js.map +1 -1
- package/dist/migrate/hooks/hooks-settings-merger.d.ts +3 -0
- package/dist/migrate/hooks/hooks-settings-merger.d.ts.map +1 -1
- package/dist/migrate/hooks/hooks-settings-merger.js +157 -21
- package/dist/migrate/hooks/hooks-settings-merger.js.map +1 -1
- package/dist/migrate/migrate-orchestrator.d.ts +19 -0
- package/dist/migrate/migrate-orchestrator.d.ts.map +1 -1
- package/dist/migrate/migrate-orchestrator.js +233 -26
- package/dist/migrate/migrate-orchestrator.js.map +1 -1
- package/dist/migrate/migrate-ui-summary.d.ts +25 -0
- package/dist/migrate/migrate-ui-summary.d.ts.map +1 -1
- package/dist/migrate/migrate-ui-summary.js +50 -0
- package/dist/migrate/migrate-ui-summary.js.map +1 -1
- package/dist/migrate/model-routing-config.d.ts +3 -1
- package/dist/migrate/model-routing-config.d.ts.map +1 -1
- package/dist/migrate/model-routing-config.js +28 -0
- package/dist/migrate/model-routing-config.js.map +1 -1
- package/dist/migrate/portability-policy.d.ts +3 -1
- package/dist/migrate/portability-policy.d.ts.map +1 -1
- package/dist/migrate/portability-policy.js +5 -31
- package/dist/migrate/portability-policy.js.map +1 -1
- package/dist/migrate/portable-installer.d.ts +17 -1
- package/dist/migrate/portable-installer.d.ts.map +1 -1
- package/dist/migrate/portable-installer.js +171 -9
- package/dist/migrate/portable-installer.js.map +1 -1
- package/dist/migrate/provider-registry-utils.d.ts.map +1 -1
- package/dist/migrate/provider-registry-utils.js +5 -0
- package/dist/migrate/provider-registry-utils.js.map +1 -1
- package/dist/migrate/providers/codex/capabilities.d.ts +6 -1
- package/dist/migrate/providers/codex/capabilities.d.ts.map +1 -1
- package/dist/migrate/providers/codex/capabilities.js +87 -0
- package/dist/migrate/providers/codex/capabilities.js.map +1 -1
- package/dist/migrate/providers/codex/config.d.ts.map +1 -1
- package/dist/migrate/providers/codex/config.js +27 -8
- package/dist/migrate/providers/codex/config.js.map +1 -1
- package/dist/migrate/providers/codex/contract.d.ts.map +1 -1
- package/dist/migrate/providers/codex/contract.js +4 -3
- package/dist/migrate/providers/codex/contract.js.map +1 -1
- package/dist/migrate/providers/codex/shell-env-policy-emitter.d.ts +27 -0
- package/dist/migrate/providers/codex/shell-env-policy-emitter.d.ts.map +1 -0
- package/dist/migrate/providers/codex/shell-env-policy-emitter.js +86 -0
- package/dist/migrate/providers/codex/shell-env-policy-emitter.js.map +1 -0
- package/dist/migrate/providers/provider-config-types.d.ts +1 -1
- package/dist/migrate/providers/provider-config-types.d.ts.map +1 -1
- package/dist/migrate/reconcile/index.d.ts +1 -1
- package/dist/migrate/reconcile/index.d.ts.map +1 -1
- package/dist/migrate/reconcile/index.js +1 -1
- package/dist/migrate/reconcile/index.js.map +1 -1
- package/dist/migrate/reconcile/portable-manifest.d.ts +18 -12
- package/dist/migrate/reconcile/portable-manifest.d.ts.map +1 -1
- package/dist/migrate/reconcile/portable-manifest.js +23 -0
- package/dist/migrate/reconcile/portable-manifest.js.map +1 -1
- package/dist/migrate/reconcile/portable-registry.d.ts +30 -30
- package/dist/migrate/reconcile/process-lock.d.ts.map +1 -1
- package/dist/migrate/reconcile/process-lock.js +10 -1
- package/dist/migrate/reconcile/process-lock.js.map +1 -1
- package/dist/migrate/reconcile/reconcile-state-builders.d.ts +12 -5
- package/dist/migrate/reconcile/reconcile-state-builders.d.ts.map +1 -1
- package/dist/migrate/reconcile/reconcile-state-builders.js +2 -2
- package/dist/migrate/reconcile/reconcile-state-builders.js.map +1 -1
- package/dist/migrate/references/codex-command-skill-path.d.ts +12 -0
- package/dist/migrate/references/codex-command-skill-path.d.ts.map +1 -0
- package/dist/migrate/references/codex-command-skill-path.js +27 -0
- package/dist/migrate/references/codex-command-skill-path.js.map +1 -0
- package/dist/migrate/references/env-var-rewrite-table.d.ts +36 -0
- package/dist/migrate/references/env-var-rewrite-table.d.ts.map +1 -0
- package/dist/migrate/references/env-var-rewrite-table.js +97 -0
- package/dist/migrate/references/env-var-rewrite-table.js.map +1 -0
- package/dist/migrate/references/fence-aware-reference-rewriter.d.ts +30 -0
- package/dist/migrate/references/fence-aware-reference-rewriter.d.ts.map +1 -0
- package/dist/migrate/references/fence-aware-reference-rewriter.js +182 -0
- package/dist/migrate/references/fence-aware-reference-rewriter.js.map +1 -0
- package/dist/migrate/references/reference-classifier.d.ts +27 -0
- package/dist/migrate/references/reference-classifier.d.ts.map +1 -0
- package/dist/migrate/references/reference-classifier.js +177 -0
- package/dist/migrate/references/reference-classifier.js.map +1 -0
- package/dist/migrate/references/reference-target-registry.d.ts +42 -0
- package/dist/migrate/references/reference-target-registry.d.ts.map +1 -0
- package/dist/migrate/references/reference-target-registry.js +100 -0
- package/dist/migrate/references/reference-target-registry.js.map +1 -0
- package/dist/migrate/references/reference-types.d.ts +23 -0
- package/dist/migrate/references/reference-types.d.ts.map +1 -0
- package/dist/migrate/references/reference-types.js +5 -0
- package/dist/migrate/references/reference-types.js.map +1 -0
- package/dist/migrate/runtime-compat-audit.d.ts +3 -1
- package/dist/migrate/runtime-compat-audit.d.ts.map +1 -1
- package/dist/migrate/runtime-compat-audit.js +10 -5
- package/dist/migrate/runtime-compat-audit.js.map +1 -1
- package/dist/migrate/runtime-coupling-patterns.d.ts +32 -3
- package/dist/migrate/runtime-coupling-patterns.d.ts.map +1 -1
- package/dist/migrate/runtime-coupling-patterns.js +51 -8
- package/dist/migrate/runtime-coupling-patterns.js.map +1 -1
- package/dist/migrate/skill-directory-audit.d.ts +17 -0
- package/dist/migrate/skill-directory-audit.d.ts.map +1 -1
- package/dist/migrate/skill-directory-audit.js +70 -11
- package/dist/migrate/skill-directory-audit.js.map +1 -1
- package/dist/migrate/skill-directory-installer.d.ts +5 -0
- package/dist/migrate/skill-directory-installer.d.ts.map +1 -1
- package/dist/migrate/skill-directory-installer.js +115 -9
- package/dist/migrate/skill-directory-installer.js.map +1 -1
- package/dist/migrate/state-changing-script-detector.d.ts +16 -0
- package/dist/migrate/state-changing-script-detector.d.ts.map +1 -0
- package/dist/migrate/state-changing-script-detector.js +144 -0
- package/dist/migrate/state-changing-script-detector.js.map +1 -0
- package/dist/migrate/types.d.ts +20 -10
- package/dist/migrate/types.d.ts.map +1 -1
- package/dist/migrate/types.js +4 -0
- package/dist/migrate/types.js.map +1 -1
- package/dist/migrate/validation/migrate-conversion-report.d.ts +48 -0
- package/dist/migrate/validation/migrate-conversion-report.d.ts.map +1 -0
- package/dist/migrate/validation/migrate-conversion-report.js +146 -0
- package/dist/migrate/validation/migrate-conversion-report.js.map +1 -0
- package/dist/migrate/validation/migration-ledger-inputs.d.ts +56 -0
- package/dist/migrate/validation/migration-ledger-inputs.d.ts.map +1 -0
- package/dist/migrate/validation/migration-ledger-inputs.js +160 -0
- package/dist/migrate/validation/migration-ledger-inputs.js.map +1 -0
- package/dist/migrate/validation/migration-record-types.d.ts +38 -0
- package/dist/migrate/validation/migration-record-types.d.ts.map +1 -0
- package/dist/migrate/validation/migration-record-types.js +12 -0
- package/dist/migrate/validation/migration-record-types.js.map +1 -0
- package/dist/migrate/validation/migration-report-writer.d.ts +98 -0
- package/dist/migrate/validation/migration-report-writer.d.ts.map +1 -0
- package/dist/migrate/validation/migration-report-writer.js +0 -0
- package/dist/migrate/validation/migration-report-writer.js.map +1 -0
- package/dist/migrate/validation/unresolved-reference-scanner.d.ts +18 -0
- package/dist/migrate/validation/unresolved-reference-scanner.d.ts.map +1 -0
- package/dist/migrate/validation/unresolved-reference-scanner.js +47 -0
- package/dist/migrate/validation/unresolved-reference-scanner.js.map +1 -0
- package/package.json +1 -1
- package/portable-manifest.json +10 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-registry-utils.js","sourceRoot":"","sources":["../../src/migrate/provider-registry-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-registry-utils.js","sourceRoot":"","sources":["../../src/migrate/provider-registry-utils.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,sFAAsF;AAEtF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKnD,MAAM,UAAU,mBAAmB;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAmB,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAkB;IACnD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC7C,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,MAAM,MAAM,CAAC,MAAM,EAAE;YAAE,SAAS,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAiB;IACvD,OAAQ,MAAM,CAAC,OAAO,CAAC,SAAS,CAAsC;SACpE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAClC,QAAsB,EACtB,YAAyB,EACzB,OAA4B;IAE5B,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,QAAgB,EAChB,QAAsB,EACtB,YAAyB,EACzB,OAA4B;IAE5B,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC;IACpC,IAAI,EAAE,KAAK,cAAc,IAAI,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;QACjG,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,gFAAgF;IAChF,IAAI,UAAU,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC,QAAQ,EAAE,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;AACjE,CAAC;AASD,MAAM,UAAU,4BAA4B,CAC3C,iBAAiC,EACjC,OAA4B;IAE5B,MAAM,aAAa,GAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClG,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;QAE1D,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;YACjF,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,eAAe,EAAE,CAAC;YACpD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;YAC1F,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type CodexHookEvent = "SessionStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "PermissionRequest" | "Stop";
|
|
1
|
+
export type CodexHookEvent = "SessionStart" | "SubagentStart" | "UserPromptSubmit" | "PreToolUse" | "PostToolUse" | "PermissionRequest" | "PreCompact" | "PostCompact" | "SubagentStop" | "Stop";
|
|
2
2
|
export interface CodexEventCapabilities {
|
|
3
3
|
supported: boolean;
|
|
4
4
|
supportsAdditionalContext: boolean;
|
|
@@ -11,6 +11,11 @@ export interface CodexCapabilities {
|
|
|
11
11
|
sessionStartMatchersOnly: string[];
|
|
12
12
|
requiresFeatureFlag: boolean;
|
|
13
13
|
}
|
|
14
|
+
export declare const CODEX_MIN_SUPPORTED_VERSION = "0.142.0";
|
|
15
|
+
/** True when the installed Codex version is at/above the supported hook tier. */
|
|
16
|
+
export declare function isCodexVersionSupported(version: string): boolean;
|
|
17
|
+
/** Read the installed Codex version string, or null when the binary is absent. */
|
|
18
|
+
export declare function detectCodexVersion(): Promise<string | null>;
|
|
14
19
|
export declare const CODEX_CAPABILITY_TABLE: CodexCapabilities[];
|
|
15
20
|
export declare function detectCodexCapabilities(): Promise<CodexCapabilities>;
|
|
16
21
|
export declare const CODEX_SUPPORTED_EVENTS: Set<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/capabilities.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,cAAc,GACvB,cAAc,GACd,kBAAkB,GAClB,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,MAAM,CAAC;AAEV,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC/C,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/capabilities.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,cAAc,GACvB,cAAc,GACd,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,YAAY,GACZ,aAAa,GACb,cAAc,GACd,MAAM,CAAC;AAEV,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC/C,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAMD,eAAO,MAAM,2BAA2B,YAAY,CAAC;AAWrD,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKhE;AAED,kFAAkF;AAClF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOjE;AAED,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,EA8FrD,CAAC;AAiBF,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAuB1E;AAwBD,eAAO,MAAM,sBAAsB,aAIlC,CAAC"}
|
|
@@ -5,7 +5,94 @@ import { execFile } from "node:child_process";
|
|
|
5
5
|
import { promisify } from "node:util";
|
|
6
6
|
import semver from "semver";
|
|
7
7
|
const execFileAsync = promisify(execFile);
|
|
8
|
+
// Minimum Codex version this migration targets. Below this the hook surface is
|
|
9
|
+
// the 0.124-alpha feature-flag tier — deny-capable hooks (gate-enforcement,
|
|
10
|
+
// privacy-block) may be silently ignored, so the merger emits a hard WARN and
|
|
11
|
+
// records the minimum in the run report. No feature-flag path is built below it.
|
|
12
|
+
export const CODEX_MIN_SUPPORTED_VERSION = "0.142.0";
|
|
13
|
+
// Deny protocol (documented at https://developers.openai.com/codex/hooks):
|
|
14
|
+
// a PreToolUse command hook denies a tool call via any of:
|
|
15
|
+
// 1. {"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"..."}}
|
|
16
|
+
// 2. {"decision":"block","reason":"..."}
|
|
17
|
+
// 3. exit code 2 + reason on stderr (direct parity with Claude's exit-2 convention)
|
|
18
|
+
// "Any deny decision overrides allow decisions from other hooks." Therefore the
|
|
19
|
+
// safety hooks (gate-enforcement.sh, privacy-block.sh) migrate as REAL blocking
|
|
20
|
+
// wrappers — their exit-2 semantics port directly through the generated wrapper.
|
|
21
|
+
/** True when the installed Codex version is at/above the supported hook tier. */
|
|
22
|
+
export function isCodexVersionSupported(version) {
|
|
23
|
+
const coerced = semver.coerce(version);
|
|
24
|
+
const min = semver.coerce(CODEX_MIN_SUPPORTED_VERSION);
|
|
25
|
+
if (!coerced || !min)
|
|
26
|
+
return false;
|
|
27
|
+
return semver.gte(coerced, min);
|
|
28
|
+
}
|
|
29
|
+
/** Read the installed Codex version string, or null when the binary is absent. */
|
|
30
|
+
export async function detectCodexVersion() {
|
|
31
|
+
try {
|
|
32
|
+
const { stdout } = await execFileAsync("codex", ["--version"], { timeout: 5000, encoding: "utf8" });
|
|
33
|
+
return stdout.trim().replace(/^(codex\s+)?v?/i, "").trim();
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
8
39
|
export const CODEX_CAPABILITY_TABLE = [
|
|
40
|
+
{
|
|
41
|
+
// Hook surface as documented at developers.openai.com/codex/hooks
|
|
42
|
+
// (verified 2026-07): 10 events, command handlers only, hooks enabled by
|
|
43
|
+
// default (no [features] flag required).
|
|
44
|
+
version: "0.142.0",
|
|
45
|
+
events: {
|
|
46
|
+
SessionStart: {
|
|
47
|
+
supported: true,
|
|
48
|
+
supportsAdditionalContext: true,
|
|
49
|
+
allowedMatchers: ["startup", "resume"],
|
|
50
|
+
},
|
|
51
|
+
SubagentStart: {
|
|
52
|
+
supported: true,
|
|
53
|
+
supportsAdditionalContext: false,
|
|
54
|
+
},
|
|
55
|
+
UserPromptSubmit: {
|
|
56
|
+
supported: true,
|
|
57
|
+
supportsAdditionalContext: true,
|
|
58
|
+
},
|
|
59
|
+
PreToolUse: {
|
|
60
|
+
supported: true,
|
|
61
|
+
supportsAdditionalContext: false,
|
|
62
|
+
permissionDecisionValues: ["deny"],
|
|
63
|
+
allowedMatchers: ["Bash"],
|
|
64
|
+
},
|
|
65
|
+
PostToolUse: {
|
|
66
|
+
supported: true,
|
|
67
|
+
supportsAdditionalContext: true,
|
|
68
|
+
allowedMatchers: ["Bash"],
|
|
69
|
+
},
|
|
70
|
+
PermissionRequest: {
|
|
71
|
+
supported: true,
|
|
72
|
+
supportsAdditionalContext: false,
|
|
73
|
+
permissionDecisionValues: ["deny"],
|
|
74
|
+
allowedMatchers: ["Bash"],
|
|
75
|
+
},
|
|
76
|
+
PreCompact: {
|
|
77
|
+
supported: true,
|
|
78
|
+
supportsAdditionalContext: false,
|
|
79
|
+
},
|
|
80
|
+
PostCompact: {
|
|
81
|
+
supported: true,
|
|
82
|
+
supportsAdditionalContext: false,
|
|
83
|
+
},
|
|
84
|
+
SubagentStop: {
|
|
85
|
+
supported: true,
|
|
86
|
+
supportsAdditionalContext: false,
|
|
87
|
+
},
|
|
88
|
+
Stop: {
|
|
89
|
+
supported: true,
|
|
90
|
+
supportsAdditionalContext: false,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
sessionStartMatchersOnly: ["startup", "resume"],
|
|
94
|
+
requiresFeatureFlag: false,
|
|
95
|
+
},
|
|
9
96
|
{
|
|
10
97
|
version: "0.124.0-alpha.3",
|
|
11
98
|
events: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/capabilities.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,gFAAgF;AAChF,kFAAkF;AAElF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,eAAO,MAAM,WAAW,EAAE,cAkFzB,CAAC"}
|
|
@@ -13,9 +13,16 @@ export const codexConfig = {
|
|
|
13
13
|
writeStrategy: "codex-toml",
|
|
14
14
|
fileExtension: ".toml",
|
|
15
15
|
},
|
|
16
|
-
// Codex has
|
|
17
|
-
//
|
|
18
|
-
commands:
|
|
16
|
+
// Codex has no command-template surface (custom prompts gave way to Agent
|
|
17
|
+
// Skills), so command templates migrate as skills under .agents/skills/.
|
|
18
|
+
commands: {
|
|
19
|
+
projectPath: ".agents/skills",
|
|
20
|
+
globalPath: join(home, ".agents/skills"),
|
|
21
|
+
format: "command-to-codex-skill",
|
|
22
|
+
writeStrategy: "per-file",
|
|
23
|
+
fileExtension: ".md",
|
|
24
|
+
nestedCommands: true,
|
|
25
|
+
},
|
|
19
26
|
skills: {
|
|
20
27
|
projectPath: ".agents/skills",
|
|
21
28
|
globalPath: join(home, ".agents/skills"),
|
|
@@ -29,13 +36,25 @@ export const codexConfig = {
|
|
|
29
36
|
format: "md-strip",
|
|
30
37
|
writeStrategy: "merge-single",
|
|
31
38
|
fileExtension: ".md",
|
|
39
|
+
// Codex applies project_doc_max_bytes (32 KiB default) to the COMBINED instruction
|
|
40
|
+
// chain and stops adding files once the cap is reached; subdirectory AGENTS.md load
|
|
41
|
+
// only when cwd is inside that subtree
|
|
42
|
+
// (https://developers.openai.com/codex/guides/agents-md). So splitting into nested
|
|
43
|
+
// files does NOT raise the effective budget. Over budget, the installer emits a
|
|
44
|
+
// project_doc_max_bytes raise GUIDANCE (never writing ~/.codex/config.toml) and orders
|
|
45
|
+
// sections safety-first so any runtime truncation degrades gracefully — it never
|
|
46
|
+
// truncates the content itself.
|
|
47
|
+
totalCharLimit: 32768,
|
|
32
48
|
},
|
|
49
|
+
// Codex `.rules` files only accept native prefix_rule() command policies —
|
|
50
|
+
// markdown guidance rules merge into AGENTS.md alongside the config surface.
|
|
33
51
|
rules: {
|
|
34
|
-
projectPath: ".
|
|
35
|
-
globalPath: join(home, ".codex/
|
|
36
|
-
format: "md-
|
|
37
|
-
writeStrategy: "
|
|
38
|
-
fileExtension: ".
|
|
52
|
+
projectPath: "AGENTS.md",
|
|
53
|
+
globalPath: join(home, ".codex/AGENTS.md"),
|
|
54
|
+
format: "md-strip",
|
|
55
|
+
writeStrategy: "merge-single",
|
|
56
|
+
fileExtension: ".md",
|
|
57
|
+
totalCharLimit: 32768,
|
|
39
58
|
},
|
|
40
59
|
hooks: {
|
|
41
60
|
projectPath: ".codex/hooks",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1F,MAAM,CAAC,MAAM,WAAW,GAAmB;IAC1C,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,cAAc;IAC5B,aAAa,EACZ,8FAA8F;IAC/F,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE;QACP,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;QACvC,MAAM,EAAE,kBAAkB;QAC1B,aAAa,EAAE,YAAY;QAC3B,aAAa,EAAE,OAAO;KACtB;IACD,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1F,MAAM,CAAC,MAAM,WAAW,GAAmB;IAC1C,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,cAAc;IAC5B,aAAa,EACZ,8FAA8F;IAC/F,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE;QACP,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;QACvC,MAAM,EAAE,kBAAkB;QAC1B,aAAa,EAAE,YAAY;QAC3B,aAAa,EAAE,OAAO;KACtB;IACD,0EAA0E;IAC1E,yEAAyE;IACzE,QAAQ,EAAE;QACT,WAAW,EAAE,gBAAgB;QAC7B,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC;QACxC,MAAM,EAAE,wBAAwB;QAChC,aAAa,EAAE,UAAU;QACzB,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,IAAI;KACpB;IACD,MAAM,EAAE;QACP,WAAW,EAAE,gBAAgB;QAC7B,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC;QACxC,MAAM,EAAE,aAAa;QACrB,aAAa,EAAE,UAAU;QACzB,aAAa,EAAE,KAAK;KACpB;IACD,MAAM,EAAE;QACP,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAC1C,MAAM,EAAE,UAAU;QAClB,aAAa,EAAE,cAAc;QAC7B,aAAa,EAAE,KAAK;QACpB,mFAAmF;QACnF,oFAAoF;QACpF,uCAAuC;QACvC,mFAAmF;QACnF,gFAAgF;QAChF,uFAAuF;QACvF,iFAAiF;QACjF,gCAAgC;QAChC,cAAc,EAAE,KAAK;KACrB;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,KAAK,EAAE;QACN,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAC1C,MAAM,EAAE,UAAU;QAClB,aAAa,EAAE,cAAc;QAC7B,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,KAAK;KACrB;IACD,KAAK,EAAE;QACN,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;QACtC,MAAM,EAAE,aAAa;QACrB,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,EAAE;KACjB;IACD,gBAAgB,EAAE;QACjB,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC;KAC3C;IACD,MAAM,EAAE,KAAK,IAAI,EAAE,CAClB,eAAe,CAAC,OAAO,CAAC;QACxB,mBAAmB,CAAC;YACnB,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC;YAC/B,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC;YAC1B,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC;YACzB,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC;YAChC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC;SAC/B,CAAC;CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAa5E,eAAO,MAAM,aAAa,EAAE,+
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAa5E,eAAO,MAAM,aAAa,EAAE,+BAqC3B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LAST_VERIFIED, buildCapabilities, documented
|
|
1
|
+
import { LAST_VERIFIED, buildCapabilities, documented } from "../contract-helpers.js";
|
|
2
2
|
const CODEX_DOCS = [
|
|
3
3
|
"https://developers.openai.com/codex/guides/agents-md",
|
|
4
4
|
"https://developers.openai.com/codex/hooks",
|
|
@@ -13,8 +13,9 @@ export const codexContract = {
|
|
|
13
13
|
lastVerified: LAST_VERIFIED,
|
|
14
14
|
surfaces: {
|
|
15
15
|
agent: documented(["https://developers.openai.com/codex/subagents"]),
|
|
16
|
+
command: documented(["https://developers.openai.com/codex/skills"], "Command templates migrate as Agent Skills under .agents/skills/ — Codex has no command-template surface of its own."),
|
|
16
17
|
config: documented(["https://developers.openai.com/codex/guides/agents-md"]),
|
|
17
|
-
rules: documented(["https://developers.openai.com/codex/rules"], "
|
|
18
|
+
rules: documented(["https://developers.openai.com/codex/rules", "https://developers.openai.com/codex/guides/agents-md"], "Native `.rules` files only accept prefix_rule() command policies; markdown guidance rules merge into AGENTS.md."),
|
|
18
19
|
hooks: documented(["https://developers.openai.com/codex/hooks"]),
|
|
19
20
|
skill: documented(["https://developers.openai.com/codex/skills"]),
|
|
20
21
|
},
|
|
@@ -24,7 +25,7 @@ export const codexContract = {
|
|
|
24
25
|
hooks: documented(["https://developers.openai.com/codex/hooks"]),
|
|
25
26
|
agents: documented(["https://developers.openai.com/codex/subagents"]),
|
|
26
27
|
skills: documented(["https://developers.openai.com/codex/skills"]),
|
|
27
|
-
commands:
|
|
28
|
+
commands: documented(["https://developers.openai.com/codex/skills"], "Command templates migrate as Agent Skills; dynamic template syntax degrades with a warning."),
|
|
28
29
|
orchestration: documented(["https://developers.openai.com/codex/subagents"]),
|
|
29
30
|
persistent_context: documented(["https://developers.openai.com/codex/guides/agents-md"]),
|
|
30
31
|
workspace_config: documented([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEtF,MAAM,UAAU,GAAG;IAClB,sDAAsD;IACtD,2CAA2C;IAC3C,4CAA4C;IAC5C,+CAA+C;IAC/C,2CAA2C;IAC3C,wDAAwD;IACxD,gEAAgE;CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAoC;IAC7D,IAAI,EAAE,UAAU;IAChB,YAAY,EAAE,aAAa;IAC3B,QAAQ,EAAE;QACT,KAAK,EAAE,UAAU,CAAC,CAAC,+CAA+C,CAAC,CAAC;QACpE,OAAO,EAAE,UAAU,CAClB,CAAC,4CAA4C,CAAC,EAC9C,qHAAqH,CACrH;QACD,MAAM,EAAE,UAAU,CAAC,CAAC,sDAAsD,CAAC,CAAC;QAC5E,KAAK,EAAE,UAAU,CAChB,CAAC,2CAA2C,EAAE,sDAAsD,CAAC,EACrG,iHAAiH,CACjH;QACD,KAAK,EAAE,UAAU,CAAC,CAAC,2CAA2C,CAAC,CAAC;QAChE,KAAK,EAAE,UAAU,CAAC,CAAC,4CAA4C,CAAC,CAAC;KACjE;IACD,YAAY,EAAE,iBAAiB,CAAC,UAAU,EAAE;QAC3C,iBAAiB,EAAE,UAAU,CAAC,CAAC,sDAAsD,CAAC,CAAC;QACvF,KAAK,EAAE,UAAU,CAChB,CAAC,2CAA2C,CAAC,EAC7C,yFAAyF,CACzF;QACD,KAAK,EAAE,UAAU,CAAC,CAAC,2CAA2C,CAAC,CAAC;QAChE,MAAM,EAAE,UAAU,CAAC,CAAC,+CAA+C,CAAC,CAAC;QACrE,MAAM,EAAE,UAAU,CAAC,CAAC,4CAA4C,CAAC,CAAC;QAClE,QAAQ,EAAE,UAAU,CACnB,CAAC,4CAA4C,CAAC,EAC9C,6FAA6F,CAC7F;QACD,aAAa,EAAE,UAAU,CAAC,CAAC,+CAA+C,CAAC,CAAC;QAC5E,kBAAkB,EAAE,UAAU,CAAC,CAAC,sDAAsD,CAAC,CAAC;QACxF,gBAAgB,EAAE,UAAU,CAAC;YAC5B,gEAAgE;SAChE,CAAC;QACF,cAAc,EAAE,UAAU,CAAC,CAAC,sDAAsD,CAAC,CAAC;KACpF,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { EnvKeyDiscovery } from "../../discovery/config-discovery.js";
|
|
2
|
+
export interface ShellEnvPolicyScaffold {
|
|
3
|
+
/**
|
|
4
|
+
* TOML `[shell_environment_policy]` scaffold text (empty string when no
|
|
5
|
+
* non-secret keys remain to scaffold). Contains ONLY inert placeholders.
|
|
6
|
+
*/
|
|
7
|
+
content: string;
|
|
8
|
+
/** Non-secret key NAMES included in the scaffold, in input order. */
|
|
9
|
+
includedKeys: string[];
|
|
10
|
+
/** Aggregate count of secret-like key NAMES omitted from scaffold AND report. */
|
|
11
|
+
omittedSecretCount: number;
|
|
12
|
+
/** Advisory/warning lines for the migration report (never contain values). */
|
|
13
|
+
warnings: string[];
|
|
14
|
+
}
|
|
15
|
+
/** True when a key NAME looks like it holds a secret. Name-only heuristic. */
|
|
16
|
+
export declare function isSecretLikeKey(key: string): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Build the `[shell_environment_policy]` scaffold from discovered KEY NAMES.
|
|
19
|
+
*
|
|
20
|
+
* Secret-like names are excluded entirely (scaffold + report); only an aggregate
|
|
21
|
+
* count survives. All included entries use the inert `<fill-me>` placeholder.
|
|
22
|
+
* When no discovery exists (no `.claude/.env`), returns an empty scaffold.
|
|
23
|
+
*/
|
|
24
|
+
export declare function emitShellEnvPolicyScaffold(discovery: EnvKeyDiscovery | null): ShellEnvPolicyScaffold;
|
|
25
|
+
export declare const SHELL_ENV_POLICY_PLACEHOLDER = "<fill-me>";
|
|
26
|
+
export declare const SHELL_ENV_POLICY_ANTI_COMMIT_WARNING = "\u26A0 do NOT commit real values into config.toml";
|
|
27
|
+
//# sourceMappingURL=shell-env-policy-emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-env-policy-emitter.d.ts","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/shell-env-policy-emitter.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAe3E,MAAM,WAAW,sBAAsB;IACtC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iFAAiF;IACjF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAWD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,GAAG,sBAAsB,CA8CpG;AAED,eAAO,MAAM,4BAA4B,cAAc,CAAC;AACxD,eAAO,MAAM,oCAAoC,sDAAiD,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// Emits a Codex `[shell_environment_policy]` scaffold from `.claude/.env` KEY
|
|
2
|
+
// NAMES ONLY. Codex's documented analogue for passing environment into shell
|
|
3
|
+
// subprocesses is `[shell_environment_policy]` with `inherit` / `set` /
|
|
4
|
+
// `exclude` / `include_only` (source: https://developers.openai.com/codex/config-advanced).
|
|
5
|
+
//
|
|
6
|
+
// SECURITY (injection-rules Rule 4/5): this emitter receives ONLY key names
|
|
7
|
+
// (from discoverEnvKeys, the single keys-only reader). It never sees a value.
|
|
8
|
+
// Two further guarantees hold here:
|
|
9
|
+
// 1. Every emitted `set` entry uses the inert placeholder "<fill-me>", so a
|
|
10
|
+
// committed config.toml leaks nothing.
|
|
11
|
+
// 2. Key NAMES matching a secret-name pattern are EXCLUDED from the scaffold
|
|
12
|
+
// AND from the report — only an aggregate count is surfaced, with a pointer
|
|
13
|
+
// to Codex's env-injection docs, so the user is nudged toward OS-level /
|
|
14
|
+
// env-file injection rather than pasting secrets into config.toml.
|
|
15
|
+
/** Inert placeholder — committing config.toml with this leaks nothing. */
|
|
16
|
+
const PLACEHOLDER = "<fill-me>";
|
|
17
|
+
/**
|
|
18
|
+
* Secret-name pattern (case-insensitive). A key whose NAME matches is treated
|
|
19
|
+
* as sensitive and never written into the scaffold. This is a NAME heuristic —
|
|
20
|
+
* values are never available to this module regardless.
|
|
21
|
+
*/
|
|
22
|
+
const SECRET_NAME_PATTERN = /(SECRET|TOKEN|PASSWORD|PASS|API_KEY|KEY|CREDENTIAL)/i;
|
|
23
|
+
/** Codex doc for `[shell_environment_policy]` and env injection. */
|
|
24
|
+
const CONFIG_ADVANCED_DOC = "https://developers.openai.com/codex/config-advanced";
|
|
25
|
+
/** True when a key NAME looks like it holds a secret. Name-only heuristic. */
|
|
26
|
+
export function isSecretLikeKey(key) {
|
|
27
|
+
return SECRET_NAME_PATTERN.test(key);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Quote a bare env key for use as a TOML bare-or-quoted key. Valid bare keys
|
|
31
|
+
* (letters/digits/underscore/dash) are emitted bare; anything else is quoted.
|
|
32
|
+
* Ambiguous names are quoted (fail-closed), never dropped or guessed.
|
|
33
|
+
*/
|
|
34
|
+
function tomlKey(key) {
|
|
35
|
+
return /^[A-Za-z0-9_-]+$/.test(key) ? key : JSON.stringify(key);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Build the `[shell_environment_policy]` scaffold from discovered KEY NAMES.
|
|
39
|
+
*
|
|
40
|
+
* Secret-like names are excluded entirely (scaffold + report); only an aggregate
|
|
41
|
+
* count survives. All included entries use the inert `<fill-me>` placeholder.
|
|
42
|
+
* When no discovery exists (no `.claude/.env`), returns an empty scaffold.
|
|
43
|
+
*/
|
|
44
|
+
export function emitShellEnvPolicyScaffold(discovery) {
|
|
45
|
+
const warnings = [];
|
|
46
|
+
if (!discovery || discovery.keys.length === 0) {
|
|
47
|
+
return { content: "", includedKeys: [], omittedSecretCount: 0, warnings };
|
|
48
|
+
}
|
|
49
|
+
const includedKeys = [];
|
|
50
|
+
let omittedSecretCount = 0;
|
|
51
|
+
for (const key of discovery.keys) {
|
|
52
|
+
if (isSecretLikeKey(key)) {
|
|
53
|
+
omittedSecretCount += 1;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
includedKeys.push(key);
|
|
57
|
+
}
|
|
58
|
+
if (omittedSecretCount > 0) {
|
|
59
|
+
// Aggregate only — no key NAMES, no values. Pointer to env-injection docs.
|
|
60
|
+
warnings.push(`${omittedSecretCount} secret-like key(s) omitted from the shell_environment_policy scaffold — ` +
|
|
61
|
+
`inject secrets via your OS/environment, not config.toml. See ${CONFIG_ADVANCED_DOC}`);
|
|
62
|
+
}
|
|
63
|
+
if (includedKeys.length === 0) {
|
|
64
|
+
// Nothing safe to scaffold; caller still sees the omitted-count warning.
|
|
65
|
+
return { content: "", includedKeys, omittedSecretCount, warnings };
|
|
66
|
+
}
|
|
67
|
+
const lines = [
|
|
68
|
+
"# [shell_environment_policy] scaffold generated from source .claude/.env KEY NAMES.",
|
|
69
|
+
`# Codex passes environment to shell subprocesses via this table (inherit/set/exclude/include_only).`,
|
|
70
|
+
`# Reference: ${CONFIG_ADVANCED_DOC}`,
|
|
71
|
+
"#",
|
|
72
|
+
`# ⚠ do NOT commit real values into config.toml. The placeholders below are inert (${PLACEHOLDER}).`,
|
|
73
|
+
"# Fill each value from your environment, or prefer inherit/OS-level injection for secrets.",
|
|
74
|
+
"# Secret-like key names (SECRET/TOKEN/PASSWORD/PASS/API_KEY/KEY/CREDENTIAL) were intentionally omitted.",
|
|
75
|
+
"[shell_environment_policy]",
|
|
76
|
+
"set = {",
|
|
77
|
+
];
|
|
78
|
+
for (const key of includedKeys) {
|
|
79
|
+
lines.push(` ${tomlKey(key)} = ${JSON.stringify(PLACEHOLDER)},`);
|
|
80
|
+
}
|
|
81
|
+
lines.push("}");
|
|
82
|
+
return { content: lines.join("\n") + "\n", includedKeys, omittedSecretCount, warnings };
|
|
83
|
+
}
|
|
84
|
+
export const SHELL_ENV_POLICY_PLACEHOLDER = PLACEHOLDER;
|
|
85
|
+
export const SHELL_ENV_POLICY_ANTI_COMMIT_WARNING = "⚠ do NOT commit real values into config.toml";
|
|
86
|
+
//# sourceMappingURL=shell-env-policy-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-env-policy-emitter.js","sourceRoot":"","sources":["../../../../src/migrate/providers/codex/shell-env-policy-emitter.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6EAA6E;AAC7E,wEAAwE;AACxE,4FAA4F;AAC5F,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAC9E,4CAA4C;AAC5C,+EAA+E;AAC/E,iFAAiF;AACjF,8EAA8E;AAC9E,wEAAwE;AAIxE,0EAA0E;AAC1E,MAAM,WAAW,GAAG,WAAW,CAAC;AAEhC;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,sDAAsD,CAAC;AAEnF,oEAAoE;AACpE,MAAM,mBAAmB,GAAG,qDAAqD,CAAC;AAgBlF,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAC,GAAW;IAC1C,OAAO,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CAAC,GAAW;IAC3B,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,SAAiC;IAC3E,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,kBAAkB,IAAI,CAAC,CAAC;YACxB,SAAS;QACV,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,QAAQ,CAAC,IAAI,CACZ,GAAG,kBAAkB,2EAA2E;YAC/F,gEAAgE,mBAAmB,EAAE,CACtF,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,yEAAyE;QACzE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,GAAa;QACvB,qFAAqF;QACrF,qGAAqG;QACrG,gBAAgB,mBAAmB,EAAE;QACrC,GAAG;QACH,qFAAqF,WAAW,IAAI;QACpG,4FAA4F;QAC5F,yGAAyG;QACzG,4BAA4B;QAC5B,SAAS;KACT,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CAAC;AACxD,MAAM,CAAC,MAAM,oCAAoC,GAAG,8CAA8C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ProviderType } from "../types.js";
|
|
2
2
|
/** Conversion format used to transform source files */
|
|
3
|
-
export type ConversionFormat = "direct-copy" | "fm-to-fm" | "fm-to-yaml" | "fm-strip" | "fm-to-json" | "md-to-toml" | "skill-md" | "md-strip" | "md-to-mdc" | "md-to-kiro-steering" | "fm-to-codex-toml" | "
|
|
3
|
+
export type ConversionFormat = "direct-copy" | "fm-to-fm" | "fm-to-yaml" | "fm-strip" | "fm-to-json" | "md-to-toml" | "skill-md" | "md-strip" | "md-to-mdc" | "md-to-kiro-steering" | "fm-to-codex-toml" | "command-to-codex-skill";
|
|
4
4
|
/** Write strategy for target files */
|
|
5
5
|
export type WriteStrategy = "per-file" | "merge-single" | "json-merge" | "yaml-merge" | "single-file" | "codex-toml" | "codex-hooks";
|
|
6
6
|
/** Provider path configuration for a specific portable type */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-config-types.d.ts","sourceRoot":"","sources":["../../../src/migrate/providers/provider-config-types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GACzB,aAAa,GACb,UAAU,GACV,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,UAAU,GACV,WAAW,GACX,qBAAqB,GACrB,kBAAkB,GAClB,
|
|
1
|
+
{"version":3,"file":"provider-config-types.d.ts","sourceRoot":"","sources":["../../../src/migrate/providers/provider-config-types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GACzB,aAAa,GACb,UAAU,GACV,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,UAAU,GACV,WAAW,GACX,qBAAqB,GACrB,kBAAkB,GAClB,wBAAwB,CAAC;AAE5B,sCAAsC;AACtC,MAAM,MAAM,aAAa,GACtB,UAAU,GACV,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,aAAa,CAAC;AAEjB,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;AAE9E,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrE,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from "./reconcile-types.js";
|
|
2
2
|
export { computeContentChecksum, computeFileChecksum, computeSectionChecksums, isBinaryContent, } from "./checksum-utils.js";
|
|
3
3
|
export { REGISTRY_PATH, addPortableInstallation, findPortableInstallations, getInstallationsByType, readPortableRegistry, removePortableInstallation, syncPortableRegistry, updateAppliedManifestVersion, writePortableRegistry, type PortableInstallationV3, type PortableRegistryV3, } from "./portable-registry.js";
|
|
4
|
-
export { filterApplicableManifestEntries, loadPortableEvolutionManifest, resolvePortableManifestPath, type PortableEvolutionManifest, } from "./portable-manifest.js";
|
|
4
|
+
export { filterApplicableManifestEntries, isManagedMigrationReportBasename, isManagedMigrationReportPath, loadPortableEvolutionManifest, MANAGED_MIGRATION_REPORT_BASENAMES, resolvePortableManifestPath, type PortableEvolutionManifest, } from "./portable-manifest.js";
|
|
5
5
|
export { buildConvertedChecksums, buildSourceItemState, buildTargetStates, buildTypeDirectoryStates, type ConversionFallbackWarning, } from "./reconcile-state-builders.js";
|
|
6
6
|
export { reconcile } from "./reconciler.js";
|
|
7
7
|
export { displayDiff, generateDiff } from "./diff-display.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrate/reconcile/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,+BAA+B,EAC/B,6BAA6B,EAC7B,2BAA2B,EAC3B,KAAK,yBAAyB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,yBAAyB,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,KAAK,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACvB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrate/reconcile/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,6BAA6B,EAC7B,kCAAkC,EAClC,2BAA2B,EAC3B,KAAK,yBAAyB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,yBAAyB,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,KAAK,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACvB,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from "./reconcile-types.js";
|
|
2
2
|
export { computeContentChecksum, computeFileChecksum, computeSectionChecksums, isBinaryContent, } from "./checksum-utils.js";
|
|
3
3
|
export { REGISTRY_PATH, addPortableInstallation, findPortableInstallations, getInstallationsByType, readPortableRegistry, removePortableInstallation, syncPortableRegistry, updateAppliedManifestVersion, writePortableRegistry, } from "./portable-registry.js";
|
|
4
|
-
export { filterApplicableManifestEntries, loadPortableEvolutionManifest, resolvePortableManifestPath, } from "./portable-manifest.js";
|
|
4
|
+
export { filterApplicableManifestEntries, isManagedMigrationReportBasename, isManagedMigrationReportPath, loadPortableEvolutionManifest, MANAGED_MIGRATION_REPORT_BASENAMES, resolvePortableManifestPath, } from "./portable-manifest.js";
|
|
5
5
|
export { buildConvertedChecksums, buildSourceItemState, buildTargetStates, buildTypeDirectoryStates, } from "./reconcile-state-builders.js";
|
|
6
6
|
export { reconcile } from "./reconciler.js";
|
|
7
7
|
export { displayDiff, generateDiff } from "./diff-display.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrate/reconcile/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,GAGrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,+BAA+B,EAC/B,6BAA6B,EAC7B,2BAA2B,GAE3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,GAExB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAqC,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EACN,oBAAoB,EACpB,oBAAoB,GAGpB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrate/reconcile/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,GAGrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,6BAA6B,EAC7B,kCAAkC,EAClC,2BAA2B,GAE3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,GAExB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAqC,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EACN,oBAAoB,EACpB,oBAAoB,GAGpB,MAAM,mBAAmB,CAAC"}
|
|
@@ -9,12 +9,12 @@ declare const PortableEvolutionManifestSchema: z.ZodObject<{
|
|
|
9
9
|
type: z.ZodEnum<["agent", "command", "skill", "config", "rules", "hooks"]>;
|
|
10
10
|
since: z.ZodString;
|
|
11
11
|
}, "strict", z.ZodTypeAny, {
|
|
12
|
-
type: "
|
|
12
|
+
type: "agent" | "command" | "skill" | "config" | "rules" | "hooks";
|
|
13
13
|
from: string;
|
|
14
14
|
to: string;
|
|
15
15
|
since: string;
|
|
16
16
|
}, {
|
|
17
|
-
type: "
|
|
17
|
+
type: "agent" | "command" | "skill" | "config" | "rules" | "hooks";
|
|
18
18
|
from: string;
|
|
19
19
|
to: string;
|
|
20
20
|
since: string;
|
|
@@ -26,13 +26,13 @@ declare const PortableEvolutionManifestSchema: z.ZodObject<{
|
|
|
26
26
|
to: z.ZodType<string, z.ZodTypeDef, string>;
|
|
27
27
|
since: z.ZodString;
|
|
28
28
|
}, "strict", z.ZodTypeAny, {
|
|
29
|
-
type: "
|
|
29
|
+
type: "agent" | "command" | "skill" | "config" | "rules" | "hooks";
|
|
30
30
|
provider: string;
|
|
31
31
|
from: string;
|
|
32
32
|
to: string;
|
|
33
33
|
since: string;
|
|
34
34
|
}, {
|
|
35
|
-
type: "
|
|
35
|
+
type: "agent" | "command" | "skill" | "config" | "rules" | "hooks";
|
|
36
36
|
provider: string;
|
|
37
37
|
from: string;
|
|
38
38
|
to: string;
|
|
@@ -44,12 +44,12 @@ declare const PortableEvolutionManifestSchema: z.ZodObject<{
|
|
|
44
44
|
to: z.ZodString;
|
|
45
45
|
since: z.ZodString;
|
|
46
46
|
}, "strict", z.ZodTypeAny, {
|
|
47
|
-
type: "
|
|
47
|
+
type: "agent" | "config" | "rules";
|
|
48
48
|
from: string;
|
|
49
49
|
to: string;
|
|
50
50
|
since: string;
|
|
51
51
|
}, {
|
|
52
|
-
type: "
|
|
52
|
+
type: "agent" | "config" | "rules";
|
|
53
53
|
from: string;
|
|
54
54
|
to: string;
|
|
55
55
|
since: string;
|
|
@@ -58,20 +58,20 @@ declare const PortableEvolutionManifestSchema: z.ZodObject<{
|
|
|
58
58
|
version: "1.0";
|
|
59
59
|
mewkitVersion: string;
|
|
60
60
|
renames: {
|
|
61
|
-
type: "
|
|
61
|
+
type: "agent" | "command" | "skill" | "config" | "rules" | "hooks";
|
|
62
62
|
from: string;
|
|
63
63
|
to: string;
|
|
64
64
|
since: string;
|
|
65
65
|
}[];
|
|
66
66
|
providerPathMigrations: {
|
|
67
|
-
type: "
|
|
67
|
+
type: "agent" | "command" | "skill" | "config" | "rules" | "hooks";
|
|
68
68
|
provider: string;
|
|
69
69
|
from: string;
|
|
70
70
|
to: string;
|
|
71
71
|
since: string;
|
|
72
72
|
}[];
|
|
73
73
|
sectionRenames: {
|
|
74
|
-
type: "
|
|
74
|
+
type: "agent" | "config" | "rules";
|
|
75
75
|
from: string;
|
|
76
76
|
to: string;
|
|
77
77
|
since: string;
|
|
@@ -80,20 +80,20 @@ declare const PortableEvolutionManifestSchema: z.ZodObject<{
|
|
|
80
80
|
version: "1.0";
|
|
81
81
|
mewkitVersion: string;
|
|
82
82
|
renames: {
|
|
83
|
-
type: "
|
|
83
|
+
type: "agent" | "command" | "skill" | "config" | "rules" | "hooks";
|
|
84
84
|
from: string;
|
|
85
85
|
to: string;
|
|
86
86
|
since: string;
|
|
87
87
|
}[];
|
|
88
88
|
providerPathMigrations: {
|
|
89
|
-
type: "
|
|
89
|
+
type: "agent" | "command" | "skill" | "config" | "rules" | "hooks";
|
|
90
90
|
provider: string;
|
|
91
91
|
from: string;
|
|
92
92
|
to: string;
|
|
93
93
|
since: string;
|
|
94
94
|
}[];
|
|
95
95
|
sectionRenames: {
|
|
96
|
-
type: "
|
|
96
|
+
type: "agent" | "config" | "rules";
|
|
97
97
|
from: string;
|
|
98
98
|
to: string;
|
|
99
99
|
since: string;
|
|
@@ -104,6 +104,12 @@ export type RenameEntry = PortableEvolutionManifest["renames"][number];
|
|
|
104
104
|
export type ProviderPathMigrationEntry = PortableEvolutionManifest["providerPathMigrations"][number];
|
|
105
105
|
export type SectionRenameEntry = PortableEvolutionManifest["sectionRenames"][number];
|
|
106
106
|
export declare function filterApplicableManifestEntries(manifest: PortableEvolutionManifest, registry: Pick<PortableRegistryV3, "appliedManifestVersion">): PortableEvolutionManifest;
|
|
107
|
+
/** Fixed base names of the managed migration-report artifacts (provider-neutral). */
|
|
108
|
+
export declare const MANAGED_MIGRATION_REPORT_BASENAMES: readonly string[];
|
|
109
|
+
/** True when a base name is a managed migration-report artifact (exempt from churn). */
|
|
110
|
+
export declare function isManagedMigrationReportBasename(name: string): boolean;
|
|
111
|
+
/** True when a path ends in a managed migration-report artifact. */
|
|
112
|
+
export declare function isManagedMigrationReportPath(path: string): boolean;
|
|
107
113
|
export declare function resolvePortableManifestPath(bundledKitDir: string): string;
|
|
108
114
|
export declare function loadPortableEvolutionManifest(bundledKitDir: string, registry: Pick<PortableRegistryV3, "appliedManifestVersion">): Promise<PortableEvolutionManifest | null>;
|
|
109
115
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portable-manifest.d.ts","sourceRoot":"","sources":["../../../src/migrate/reconcile/portable-manifest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAkCjE,QAAA,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,WAAW,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,0BAA0B,GAAG,yBAAyB,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AACrG,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAerF,wBAAgB,+BAA+B,CAC9C,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAC1D,yBAAyB,CAa3B;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED,wBAAsB,6BAA6B,CAClD,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAC1D,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAwB3C"}
|
|
1
|
+
{"version":3,"file":"portable-manifest.d.ts","sourceRoot":"","sources":["../../../src/migrate/reconcile/portable-manifest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAkCjE,QAAA,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,WAAW,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,0BAA0B,GAAG,yBAAyB,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AACrG,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAerF,wBAAgB,+BAA+B,CAC9C,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAC1D,yBAAyB,CAa3B;AAYD,qFAAqF;AACrF,eAAO,MAAM,kCAAkC,EAAE,SAAS,MAAM,EAG/D,CAAC;AAEF,wFAAwF;AACxF,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED,oEAAoE;AACpE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlE;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED,wBAAsB,6BAA6B,CAClD,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAC1D,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAwB3C"}
|
|
@@ -59,6 +59,29 @@ export function filterApplicableManifestEntries(manifest, registry) {
|
|
|
59
59
|
sectionRenames: manifest.sectionRenames.filter((entry) => isEntryApplicable(entry.since, manifest.mewkitVersion, registry.appliedManifestVersion)),
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
|
+
// --- Managed migration-report artifact ------------------------------------
|
|
63
|
+
//
|
|
64
|
+
// The persisted migration report (`migration-report.json` + `.md`) is a MANAGED
|
|
65
|
+
// output artifact: it is (re)written on every run and is intentionally
|
|
66
|
+
// non-idempotent (its header carries a real run timestamp). It is therefore
|
|
67
|
+
// EXEMPT from the reconciler's checksum/conflict surface — it is never registered
|
|
68
|
+
// as a portable installation, and idempotency comparisons must skip it so the
|
|
69
|
+
// timestamp never registers as drift. This is the single source of truth for the
|
|
70
|
+
// report's fixed file names so producers and idempotency checks agree.
|
|
71
|
+
/** Fixed base names of the managed migration-report artifacts (provider-neutral). */
|
|
72
|
+
export const MANAGED_MIGRATION_REPORT_BASENAMES = [
|
|
73
|
+
"migration-report.json",
|
|
74
|
+
"migration-report.md",
|
|
75
|
+
];
|
|
76
|
+
/** True when a base name is a managed migration-report artifact (exempt from churn). */
|
|
77
|
+
export function isManagedMigrationReportBasename(name) {
|
|
78
|
+
return MANAGED_MIGRATION_REPORT_BASENAMES.includes(name);
|
|
79
|
+
}
|
|
80
|
+
/** True when a path ends in a managed migration-report artifact. */
|
|
81
|
+
export function isManagedMigrationReportPath(path) {
|
|
82
|
+
const base = path.replace(/\\/g, "/").split("/").pop() ?? path;
|
|
83
|
+
return isManagedMigrationReportBasename(base);
|
|
84
|
+
}
|
|
62
85
|
export function resolvePortableManifestPath(bundledKitDir) {
|
|
63
86
|
if (basename(bundledKitDir) === ".claude")
|
|
64
87
|
return join(dirname(bundledKitDir), "portable-manifest.json");
|