@aperant/framework 0.8.0 → 0.8.4
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/CHANGELOG.md +311 -1
- package/README.md +12 -0
- package/agents/apt-planner.md +5 -4
- package/dist/cli/commands/adr.mjs +1 -1
- package/dist/cli/commands/audit-branch-current.d.mts +25 -0
- package/dist/cli/commands/audit-branch-current.d.mts.map +1 -0
- package/dist/cli/commands/audit-branch-current.mjs +252 -0
- package/dist/cli/commands/audit-branch-current.mjs.map +1 -0
- package/dist/cli/commands/audit.d.mts.map +1 -1
- package/dist/cli/commands/audit.mjs +13 -2
- package/dist/cli/commands/audit.mjs.map +1 -1
- package/dist/cli/commands/check-version.d.mts.map +1 -1
- package/dist/cli/commands/check-version.mjs +19 -1
- package/dist/cli/commands/check-version.mjs.map +1 -1
- package/dist/cli/commands/context.mjs +3 -3
- package/dist/cli/commands/context.mjs.map +1 -1
- package/dist/cli/commands/detect-runtime.d.mts +6 -0
- package/dist/cli/commands/detect-runtime.d.mts.map +1 -0
- package/dist/cli/commands/detect-runtime.mjs +136 -0
- package/dist/cli/commands/detect-runtime.mjs.map +1 -0
- package/dist/cli/commands/driver-doctor.d.mts +29 -0
- package/dist/cli/commands/driver-doctor.d.mts.map +1 -0
- package/dist/cli/commands/driver-doctor.mjs +291 -0
- package/dist/cli/commands/driver-doctor.mjs.map +1 -0
- package/dist/cli/commands/gate.mjs +14 -0
- package/dist/cli/commands/gate.mjs.map +1 -1
- package/dist/cli/commands/init.d.mts.map +1 -1
- package/dist/cli/commands/init.mjs +76 -33
- package/dist/cli/commands/init.mjs.map +1 -1
- package/dist/cli/commands/install-from-source.d.mts +2 -0
- package/dist/cli/commands/install-from-source.d.mts.map +1 -0
- package/dist/cli/commands/install-from-source.mjs +2 -0
- package/dist/cli/commands/install-from-source.mjs.map +1 -0
- package/dist/cli/commands/modes.mjs +1 -1
- package/dist/cli/commands/route.d.mts.map +1 -1
- package/dist/cli/commands/route.mjs +38 -1
- package/dist/cli/commands/route.mjs.map +1 -1
- package/dist/cli/commands/triage.mjs +1 -1
- package/dist/cli/config/load.d.mts.map +1 -1
- package/dist/cli/config/load.mjs +9 -3
- package/dist/cli/config/load.mjs.map +1 -1
- package/dist/cli/coordination/auto-emit-artifact-ready.mjs +1 -1
- package/dist/cli/coordination/event-schema.d.mts.map +1 -1
- package/dist/cli/coordination/event-schema.mjs +18 -0
- package/dist/cli/coordination/event-schema.mjs.map +1 -1
- package/dist/cli/design/frontmatter-schema.d.mts +4 -4
- package/dist/cli/dispatch.d.mts.map +1 -1
- package/dist/cli/dispatch.mjs +18 -1
- package/dist/cli/dispatch.mjs.map +1 -1
- package/dist/cli/gate/context.d.mts +1 -0
- package/dist/cli/gate/context.d.mts.map +1 -1
- package/dist/cli/gate/context.mjs +14 -1
- package/dist/cli/gate/context.mjs.map +1 -1
- package/dist/cli/gate/gates/consistency-check.d.mts +1 -0
- package/dist/cli/gate/gates/consistency-check.d.mts.map +1 -1
- package/dist/cli/gate/gates/consistency-check.mjs +1 -0
- package/dist/cli/gate/gates/consistency-check.mjs.map +1 -1
- package/dist/cli/gate/gates/review-clean.d.mts +1 -0
- package/dist/cli/gate/gates/review-clean.d.mts.map +1 -1
- package/dist/cli/gate/gates/review-clean.mjs +1 -0
- package/dist/cli/gate/gates/review-clean.mjs.map +1 -1
- package/dist/cli/gate/gates/verify-approved.d.mts +1 -0
- package/dist/cli/gate/gates/verify-approved.d.mts.map +1 -1
- package/dist/cli/gate/gates/verify-approved.mjs +1 -0
- package/dist/cli/gate/gates/verify-approved.mjs.map +1 -1
- package/dist/cli/gate/registry.d.mts.map +1 -1
- package/dist/cli/gate/registry.mjs +9 -1
- package/dist/cli/gate/registry.mjs.map +1 -1
- package/dist/cli/install/cli-to-install-root.d.mts.map +1 -1
- package/dist/cli/install/cli-to-install-root.mjs +0 -2
- package/dist/cli/install/cli-to-install-root.mjs.map +1 -1
- package/dist/cli/install/find-workspace-framework-version.d.mts +16 -0
- package/dist/cli/install/find-workspace-framework-version.d.mts.map +1 -0
- package/dist/cli/install/find-workspace-framework-version.mjs +85 -0
- package/dist/cli/install/find-workspace-framework-version.mjs.map +1 -0
- package/dist/cli/install/install-from-source.d.mts +10 -0
- package/dist/cli/install/install-from-source.d.mts.map +1 -0
- package/dist/cli/install/install-from-source.mjs +271 -0
- package/dist/cli/install/install-from-source.mjs.map +1 -0
- package/dist/cli/install/install-kernel.d.mts.map +1 -1
- package/dist/cli/install/install-kernel.mjs +24 -0
- package/dist/cli/install/install-kernel.mjs.map +1 -1
- package/dist/cli/install/legacy-paths.d.mts +33 -11
- package/dist/cli/install/legacy-paths.d.mts.map +1 -1
- package/dist/cli/install/legacy-paths.mjs +161 -39
- package/dist/cli/install/legacy-paths.mjs.map +1 -1
- package/dist/cli/install/runtime-detect.d.mts +2 -6
- package/dist/cli/install/runtime-detect.d.mts.map +1 -1
- package/dist/cli/install/runtime-detect.mjs +9 -4
- package/dist/cli/install/runtime-detect.mjs.map +1 -1
- package/dist/cli/install/runtime-migrate.d.mts +34 -14
- package/dist/cli/install/runtime-migrate.d.mts.map +1 -1
- package/dist/cli/install/runtime-migrate.mjs +63 -30
- package/dist/cli/install/runtime-migrate.mjs.map +1 -1
- package/dist/cli/install/transforms/codex.d.mts.map +1 -1
- package/dist/cli/install/transforms/codex.mjs +28 -17
- package/dist/cli/install/transforms/codex.mjs.map +1 -1
- package/dist/cli/install/transforms/pi.d.mts +6 -0
- package/dist/cli/install/transforms/pi.d.mts.map +1 -0
- package/dist/cli/install/transforms/pi.mjs +37 -0
- package/dist/cli/install/transforms/pi.mjs.map +1 -0
- package/dist/cli/personas/sidecar.d.mts +1 -1
- package/dist/cli/roadmap/lifecycle.d.mts +1 -1
- package/dist/cli/roadmap/rollup.d.mts +2 -2
- package/dist/cli/skill-author/contract.mjs +2 -2
- package/dist/cli/skill-author/contract.mjs.map +1 -1
- package/dist/cli/verify-proof/audit.d.mts +34 -0
- package/dist/cli/verify-proof/audit.d.mts.map +1 -0
- package/dist/cli/verify-proof/audit.mjs +53 -0
- package/dist/cli/verify-proof/audit.mjs.map +1 -0
- package/dist/cli/verify-proof/exec.d.mts +20 -0
- package/dist/cli/verify-proof/exec.d.mts.map +1 -0
- package/dist/cli/verify-proof/exec.mjs +74 -0
- package/dist/cli/verify-proof/exec.mjs.map +1 -0
- package/dist/cli/verify-proof/idl/index.d.mts +2 -0
- package/dist/cli/verify-proof/idl/index.d.mts.map +1 -0
- package/dist/cli/verify-proof/idl/index.mjs +14 -0
- package/dist/cli/verify-proof/idl/index.mjs.map +1 -0
- package/dist/cli/verify-proof/idl/types.d.ts +9 -0
- package/dist/cli/verify-proof/idl/types.d.ts.map +1 -0
- package/dist/cli/verify-proof/idl/types.js +9 -0
- package/dist/cli/verify-proof/idl/types.js.map +1 -0
- package/dist/cli/verify-proof/manifest-validator.d.mts +19 -0
- package/dist/cli/verify-proof/manifest-validator.d.mts.map +1 -0
- package/dist/cli/verify-proof/manifest-validator.mjs +182 -0
- package/dist/cli/verify-proof/manifest-validator.mjs.map +1 -0
- package/dist/cli/verify-proof/resolver.d.mts +43 -0
- package/dist/cli/verify-proof/resolver.d.mts.map +1 -0
- package/dist/cli/verify-proof/resolver.mjs +160 -0
- package/dist/cli/verify-proof/resolver.mjs.map +1 -0
- package/dist/cli/verify-proof/runtime-detect.d.mts +27 -0
- package/dist/cli/verify-proof/runtime-detect.d.mts.map +1 -0
- package/dist/cli/verify-proof/runtime-detect.mjs +116 -0
- package/dist/cli/verify-proof/runtime-detect.mjs.map +1 -0
- package/dist/cli/verify-proof/trust.d.mts +70 -0
- package/dist/cli/verify-proof/trust.d.mts.map +1 -0
- package/dist/cli/verify-proof/trust.mjs +174 -0
- package/dist/cli/verify-proof/trust.mjs.map +1 -0
- package/dist/plugin/.claude-plugin/plugin.json +4 -1
- package/dist/plugin/agents/apt-executor.md +12 -0
- package/dist/plugin/agents/apt-planner.md +5 -4
- package/dist/plugin/agents/apt-team-docs-narrator.md +11 -0
- package/dist/plugin/skills/apt/SKILL.md +78 -8
- package/dist/plugin/skills/apt-caveman/SKILL.md +64 -0
- package/dist/plugin/skills/apt-debug/SKILL.md +36 -4
- package/dist/plugin/skills/apt-debug/appendices/diagnose-discipline.md +2 -11
- package/dist/plugin/skills/apt-discuss/SKILL.md +4 -4
- package/dist/plugin/skills/apt-discuss/appendices/grill-discipline.md +2 -11
- package/dist/plugin/skills/apt-discuss/appendices/zoom-out-helper.md +0 -8
- package/dist/plugin/skills/apt-execute/SKILL.md +40 -4
- package/dist/plugin/skills/apt-execute/appendices/tdd-mode.md +2 -10
- package/dist/plugin/skills/apt-fan-out/SKILL.md +159 -0
- package/dist/plugin/skills/apt-handoff/SKILL.md +228 -0
- package/dist/plugin/skills/apt-improve/DEEPENING.md +0 -8
- package/dist/plugin/skills/apt-improve/INTERFACE-DESIGN.md +0 -8
- package/dist/plugin/skills/apt-improve/LANGUAGE.md +0 -8
- package/dist/plugin/skills/apt-improve/SKILL.md +4 -4
- package/dist/plugin/skills/apt-plan/SKILL.md +23 -5
- package/dist/plugin/skills/apt-plan/adapters/conductor.md +1 -1
- package/dist/plugin/skills/apt-pr-review/SKILL.md +8 -1
- package/dist/plugin/skills/apt-prototype/LOGIC.md +0 -8
- package/dist/plugin/skills/apt-prototype/SKILL.md +4 -4
- package/dist/plugin/skills/apt-prototype/UI.md +0 -8
- package/dist/plugin/skills/apt-quick/SKILL.md +31 -1
- package/dist/plugin/skills/apt-resume/SKILL.md +54 -31
- package/dist/plugin/skills/apt-review/SKILL.md +4 -0
- package/dist/plugin/skills/apt-run/SKILL.md +134 -21
- package/dist/plugin/skills/apt-setup/SKILL.md +97 -8
- package/dist/plugin/skills/apt-ship/SKILL.md +165 -9
- package/dist/plugin/skills/apt-spar/SKILL.md +77 -25
- package/dist/plugin/skills/apt-triage/AGENT-BRIEF.md +0 -8
- package/dist/plugin/skills/apt-triage/OUT-OF-SCOPE.md +0 -7
- package/dist/plugin/skills/apt-triage/SKILL.md +2 -2
- package/dist/plugin/skills/apt-update/SKILL.md +74 -17
- package/dist/plugin/skills/apt-verify/SKILL.md +11 -0
- package/dist/plugin/skills/apt-verify-proof/SKILL.md +48 -1
- package/dist/plugin/skills/apt-watch-ci/SKILL.md +2 -2
- package/dist/plugin/skills/apt-zoom-out/SKILL.md +3 -3
- package/dist/schemas/quick-task.d.ts +17 -17
- package/dist/schemas/quick-task.d.ts.map +1 -1
- package/dist/schemas/quick-task.js +2 -2
- package/dist/schemas/quick-task.js.map +1 -1
- package/dist/types/config.d.ts +33 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/state.d.ts +1 -1
- package/dist/types/state.d.ts.map +1 -1
- package/dist/types/task-record.d.ts +1 -1
- package/dist/types/task-record.d.ts.map +1 -1
- package/package.json +134 -133
- package/prompts/planner.md +1 -1
- package/prompts/spec_writer.md +1 -1
- package/skills/apt/SKILL.md +78 -8
- package/skills/apt-caveman/SKILL.md +64 -0
- package/skills/apt-debug/SKILL.md +36 -4
- package/skills/apt-debug/appendices/diagnose-discipline.md +2 -11
- package/skills/apt-discuss/SKILL.md +4 -4
- package/skills/apt-discuss/appendices/grill-discipline.md +2 -11
- package/skills/apt-discuss/appendices/zoom-out-helper.md +0 -8
- package/skills/apt-execute/SKILL.md +27 -4
- package/skills/apt-execute/appendices/tdd-mode.md +2 -10
- package/skills/apt-fan-out/SKILL.md +36 -1
- package/skills/apt-handoff/SKILL.md +228 -0
- package/skills/apt-improve/DEEPENING.md +0 -8
- package/skills/apt-improve/INTERFACE-DESIGN.md +0 -8
- package/skills/apt-improve/LANGUAGE.md +0 -8
- package/skills/apt-improve/SKILL.md +4 -4
- package/skills/apt-plan/SKILL.md +23 -5
- package/skills/apt-plan/adapters/conductor.md +1 -1
- package/skills/apt-planner.md +1 -1
- package/skills/apt-prototype/LOGIC.md +0 -8
- package/skills/apt-prototype/SKILL.md +4 -4
- package/skills/apt-prototype/UI.md +0 -8
- package/skills/apt-quick/SKILL.md +31 -1
- package/skills/apt-resume/SKILL.md +54 -31
- package/skills/apt-run/SKILL.md +114 -16
- package/skills/apt-setup/SKILL.md +97 -8
- package/skills/apt-ship/SKILL.md +165 -9
- package/skills/apt-spar/SKILL.md +65 -16
- package/skills/apt-triage/AGENT-BRIEF.md +0 -8
- package/skills/apt-triage/OUT-OF-SCOPE.md +0 -7
- package/skills/apt-triage/SKILL.md +2 -2
- package/skills/apt-update/SKILL.md +74 -17
- package/skills/apt-verify-proof/SKILL.md +48 -1
- package/skills/apt-zoom-out/SKILL.md +3 -3
- package/src/cli/commands/adr.mjs +1 -1
- package/src/cli/commands/audit-branch-current.mjs +250 -0
- package/src/cli/commands/audit.mjs +13 -2
- package/src/cli/commands/check-version.mjs +20 -1
- package/src/cli/commands/context.mjs +3 -3
- package/src/cli/commands/detect-runtime.mjs +134 -0
- package/src/cli/commands/driver-doctor.mjs +294 -0
- package/src/cli/commands/gate.mjs +15 -0
- package/src/cli/commands/init.mjs +75 -33
- package/src/cli/commands/install-from-source.mjs +1 -0
- package/src/cli/commands/modes.mjs +1 -1
- package/src/cli/commands/route.mjs +42 -1
- package/src/cli/commands/triage.mjs +1 -1
- package/src/cli/config/load.mjs +9 -3
- package/src/cli/coordination/auto-emit-artifact-ready.mjs +1 -1
- package/src/cli/coordination/event-schema.mjs +19 -0
- package/src/cli/dispatch.mjs +17 -1
- package/src/cli/gate/context.mjs +20 -1
- package/src/cli/gate/gates/consistency-check.mjs +1 -0
- package/src/cli/gate/gates/review-clean.mjs +1 -0
- package/src/cli/gate/gates/verify-approved.mjs +1 -0
- package/src/cli/gate/registry.mjs +11 -1
- package/src/cli/install/cli-to-install-root.mjs +0 -2
- package/src/cli/install/find-workspace-framework-version.mjs +88 -0
- package/src/cli/install/install-from-source.mjs +276 -0
- package/src/cli/install/install-kernel.mjs +24 -0
- package/src/cli/install/legacy-paths.mjs +162 -39
- package/src/cli/install/runtime-detect.mjs +9 -4
- package/src/cli/install/runtime-migrate.mjs +63 -30
- package/src/cli/install/transforms/codex.mjs +26 -17
- package/src/cli/install/transforms/pi.mjs +37 -0
- package/src/cli/skill-author/contract.mjs +2 -2
- package/src/cli/verify-proof/.gitkeep +0 -0
- package/src/cli/verify-proof/audit.mjs +55 -0
- package/src/cli/verify-proof/exec.mjs +74 -0
- package/src/cli/verify-proof/idl/index.mjs +24 -0
- package/src/cli/verify-proof/idl/types.ts +41 -0
- package/src/cli/verify-proof/manifest-schema.json +211 -0
- package/src/cli/verify-proof/manifest-validator.mjs +184 -0
- package/src/cli/verify-proof/resolver.mjs +163 -0
- package/src/cli/verify-proof/runtime-detect.mjs +122 -0
- package/src/cli/verify-proof/trust.mjs +187 -0
- package/templates/adr-format.md +0 -8
- package/templates/aperant-claude-md-appendix.md +1 -1
- package/templates/context-format.md +1 -9
- package/templates/proof-verification.md +19 -5
- package/workflows/verify-proof.md +56 -14
|
@@ -36,9 +36,7 @@ export function detectInstalledRuntimes(targetDir: string): RuntimeDescriptor[];
|
|
|
36
36
|
* @property {string|null} cliId The `cli` string `detectHost()` returns
|
|
37
37
|
* when this runtime's CLI is at the prompt.
|
|
38
38
|
* `null` when the runtime has no install
|
|
39
|
-
* target mapped to a host CLI
|
|
40
|
-
* which has a detectable host but no apt
|
|
41
|
-
* install root of its own).
|
|
39
|
+
* target mapped to a host CLI.
|
|
42
40
|
* @property {string} [displayLabel] Optional user-facing label (e.g. "Kilo Code").
|
|
43
41
|
* When unset, callers fall back to the
|
|
44
42
|
* capitalized form of `id`. Use for runtimes
|
|
@@ -73,9 +71,7 @@ export type RuntimeDescriptor = {
|
|
|
73
71
|
* The `cli` string `detectHost()` returns
|
|
74
72
|
* when this runtime's CLI is at the prompt.
|
|
75
73
|
* `null` when the runtime has no install
|
|
76
|
-
* target mapped to a host CLI
|
|
77
|
-
* which has a detectable host but no apt
|
|
78
|
-
* install root of its own).
|
|
74
|
+
* target mapped to a host CLI.
|
|
79
75
|
*/
|
|
80
76
|
cliId: string | null;
|
|
81
77
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-detect.d.mts","sourceRoot":"","sources":["../../../src/cli/install/runtime-detect.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-detect.d.mts","sourceRoot":"","sources":["../../../src/cli/install/runtime-detect.mjs"],"names":[],"mappings":"AA4JA;;;;;GAKG;AACH,+BAHW,MAAM,GACJ,iBAAiB,GAAC,IAAI,CAIlC;AAED;;;;;;;;;GASG;AACH,2CAHW,MAAM,GACJ,MAAM,EAAE,CAcpB;AAED;;;;;;GAMG;AACH,mDAHW,MAAM,GACJ,iBAAiB,EAAE,CAc/B;AA7LD;;;;;;;;;;;;;;;;;;GAkBG;AAEH,kCAAkC;AAClC,uBADW,iBAAiB,EAAE,CA+G5B;AAEF,0BAA0B;AAC1B,0BADW,GAAG,CAAC,MAAM,CAAC,CACuC;;;;;QApI/C,MAAM;;;;UACN,MAAM;;;;;iBACN,MAAM;;;;;;aAEN,MAAM,EAAE;;;;;;;WAGR,MAAM,GAAC,IAAI"}
|
|
@@ -28,9 +28,7 @@ import { MANIFEST_FILENAME } from './manifest.mjs';
|
|
|
28
28
|
* @property {string|null} cliId The `cli` string `detectHost()` returns
|
|
29
29
|
* when this runtime's CLI is at the prompt.
|
|
30
30
|
* `null` when the runtime has no install
|
|
31
|
-
* target mapped to a host CLI
|
|
32
|
-
* which has a detectable host but no apt
|
|
33
|
-
* install root of its own).
|
|
31
|
+
* target mapped to a host CLI.
|
|
34
32
|
* @property {string} [displayLabel] Optional user-facing label (e.g. "Kilo Code").
|
|
35
33
|
* When unset, callers fall back to the
|
|
36
34
|
* capitalized form of `id`. Use for runtimes
|
|
@@ -49,7 +47,7 @@ export const RUNTIMES = Object.freeze([
|
|
|
49
47
|
{
|
|
50
48
|
id: 'codex',
|
|
51
49
|
flag: '--codex',
|
|
52
|
-
installRoot: '.
|
|
50
|
+
installRoot: '.agents',
|
|
53
51
|
markers: ['.codex/config.toml'],
|
|
54
52
|
cliId: 'codex',
|
|
55
53
|
},
|
|
@@ -74,6 +72,13 @@ export const RUNTIMES = Object.freeze([
|
|
|
74
72
|
markers: ['.opencode/config.json'],
|
|
75
73
|
cliId: 'opencode',
|
|
76
74
|
},
|
|
75
|
+
{
|
|
76
|
+
id: 'pi',
|
|
77
|
+
flag: '--pi',
|
|
78
|
+
installRoot: '.pi',
|
|
79
|
+
markers: ['.pi/settings.json', '.pi/skills', '.pi/prompts'],
|
|
80
|
+
cliId: 'pi',
|
|
81
|
+
},
|
|
77
82
|
{
|
|
78
83
|
id: 'kilo',
|
|
79
84
|
flag: '--kilo',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-detect.mjs","sourceRoot":"","sources":["../../../src/cli/install/runtime-detect.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD
|
|
1
|
+
{"version":3,"file":"runtime-detect.mjs","sourceRoot":"","sources":["../../../src/cli/install/runtime-detect.mjs"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Probe the codex legacy install tree at `<targetDir
|
|
2
|
+
* Probe the codex legacy install tree at `<targetDir>/<LEGACY.install_root>`
|
|
3
|
+
* (currently `.codex/` after the v0.8.2 registry inversion — the v0.7/v0.8
|
|
4
|
+
* misdirect topology).
|
|
3
5
|
*
|
|
4
6
|
* @param {string} targetDir
|
|
5
7
|
* @returns {LegacyCodexDetection}
|
|
6
8
|
*/
|
|
7
9
|
export function detectLegacyCodexTree(targetDir: string): LegacyCodexDetection;
|
|
8
10
|
/**
|
|
9
|
-
* Clean up the legacy
|
|
11
|
+
* Clean up the legacy install tree at `<targetDir>/<LEGACY.install_root>`
|
|
12
|
+
* if it looks orphaned. Post v0.8.2 the codex legacy root is `.codex/`
|
|
13
|
+
* with framework files at `agents/<file>.md` + `commands/<file>.md` +
|
|
14
|
+
* `apt-file-manifest.json`.
|
|
10
15
|
*
|
|
11
16
|
* Branches:
|
|
12
17
|
* 1. `present: false` OR `frameworkFiles.length === 0` → no-op,
|
|
13
18
|
* `{ ran: false, reason: 'no-legacy' }`.
|
|
14
|
-
* 2. `hasManifest: true`
|
|
15
|
-
*
|
|
19
|
+
* 2. `hasManifest: true` AND `LEGACY.honor_manifest !== false`
|
|
20
|
+
* (default true) → managed install, no-op,
|
|
21
|
+
* `{ ran: false, reason: 'managed' }`. When `honor_manifest: false`
|
|
22
|
+
* (known-dead surface like the v0.7/v0.8 codex misdirect) the
|
|
23
|
+
* manifest is treated as orphan and removed alongside framework
|
|
24
|
+
* files.
|
|
16
25
|
* 3. Otherwise: per-file `unlinkSync` each framework-owned file;
|
|
17
|
-
* `rmdirSync` any
|
|
18
|
-
* `.agents/
|
|
19
|
-
*
|
|
26
|
+
* `rmdirSync` any subdirectory left empty after the unlinks (e.g.
|
|
27
|
+
* `.codex/agents/`, `.codex/commands/`); sweep the install_root
|
|
28
|
+
* itself only if it is fully empty after the per-file pass; sweep
|
|
29
|
+
* the install_root's parent only if it too became empty (relevant
|
|
30
|
+
* for legacy topologies two levels deep, e.g. the pre-0.7
|
|
31
|
+
* `.agents/skills/` codex layout).
|
|
20
32
|
*
|
|
21
33
|
* Returns `{ ran: true, removed, retained, rmdirs }` on the cleanup
|
|
22
34
|
* branch:
|
|
23
35
|
* - `removed` — relative paths under `install_root` that were unlinked.
|
|
24
36
|
* - `retained` — relative paths under `install_root` that were NOT
|
|
25
|
-
* removed (user-added skills / files not in the legacy set
|
|
26
|
-
*
|
|
27
|
-
*
|
|
37
|
+
* removed (user-added skills / files not in the legacy set, e.g.
|
|
38
|
+
* `.codex/config.toml`).
|
|
39
|
+
* - `rmdirs` — absolute paths of directories that were removed,
|
|
40
|
+
* in removal order.
|
|
28
41
|
*
|
|
29
42
|
* Atomicity: per-file unlink is non-atomic. A partial-failure scenario
|
|
30
43
|
* (process killed mid-loop) is tolerable — the next `init` run will
|
|
@@ -50,7 +63,8 @@ export function runLegacyCleanup({ targetDir, dryRun }: {
|
|
|
50
63
|
};
|
|
51
64
|
export type LegacyCodexDetection = {
|
|
52
65
|
/**
|
|
53
|
-
* True when
|
|
66
|
+
* True when the legacy install_root
|
|
67
|
+
* (currently `.codex/`) exists.
|
|
54
68
|
*/
|
|
55
69
|
present: boolean;
|
|
56
70
|
/**
|
|
@@ -75,9 +89,15 @@ export type LegacyCodexDetection = {
|
|
|
75
89
|
/**
|
|
76
90
|
* Whether an
|
|
77
91
|
* `apt-file-manifest.json` is
|
|
78
|
-
* present at install_root
|
|
79
|
-
*
|
|
80
|
-
*
|
|
92
|
+
* present at install_root. When the
|
|
93
|
+
* legacy entry has
|
|
94
|
+
* `honor_manifest: true` (default)
|
|
95
|
+
* this signals a managed install
|
|
96
|
+
* and cleanup no-ops; when
|
|
97
|
+
* `honor_manifest: false` the
|
|
98
|
+
* manifest is treated as orphan
|
|
99
|
+
* and removed alongside framework
|
|
100
|
+
* files.
|
|
81
101
|
*/
|
|
82
102
|
hasManifest: boolean;
|
|
83
103
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-migrate.d.mts","sourceRoot":"","sources":["../../../src/cli/install/runtime-migrate.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-migrate.d.mts","sourceRoot":"","sources":["../../../src/cli/install/runtime-migrate.mjs"],"names":[],"mappings":"AAuGA;;;;;;;GAOG;AACH,iDAHW,MAAM,GACJ,oBAAoB,CA0BhC;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wDANW;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAEjD,GAAC,GAAK;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,GAC/C;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA2F5E;;;;;;aAvPa,OAAO;;;;;;oBAEP,MAAM,EAAE;;;;;;;;eAGR,MAAM,EAAE;;;;;mBAKR,OAAO;;;;;;;;;;;;;;iBAEP,OAAO"}
|
|
@@ -2,15 +2,14 @@
|
|
|
2
2
|
* install/runtime-migrate.mjs — at-install cleanup of legacy install
|
|
3
3
|
* trees the framework no longer owns (FRAMEWORK-BUG-021).
|
|
4
4
|
*
|
|
5
|
-
* Codex
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* reads.
|
|
5
|
+
* Codex shuffled install roots twice:
|
|
6
|
+
* - Pre-0.7: installed at `.agents/skills/` (commit 1a8dd8a8).
|
|
7
|
+
* - v0.7/v0.8: moved to `.codex/agents/` + `.codex/commands/` — a
|
|
8
|
+
* misdirect, since Codex CLI 0.132.0 doesn't discover skills there.
|
|
9
|
+
* - v0.8.2 (this fix): moved back to `.agents/skills/<folder>/SKILL.md`
|
|
10
|
+
* (Codex's documented surface). The v0.7/v0.8 `.codex/` markdown
|
|
11
|
+
* tree is now the legacy target — `LEGACY_INSTALL_PATHS.codex` was
|
|
12
|
+
* re-pointed accordingly.
|
|
14
13
|
*
|
|
15
14
|
* `runLegacyCleanup` runs once per `apt-tools init` when codex is in the
|
|
16
15
|
* requested runtime set. It is conservative by default:
|
|
@@ -20,8 +19,11 @@
|
|
|
20
19
|
* preserved. If anything beyond the known framework set remains,
|
|
21
20
|
* `retained[]` lists those paths.
|
|
22
21
|
* - A present-and-current `apt-file-manifest.json` is treated as the
|
|
23
|
-
* authoritative "this is a managed install, leave it alone" signal
|
|
24
|
-
* the
|
|
22
|
+
* authoritative "this is a managed install, leave it alone" signal
|
|
23
|
+
* — but ONLY when the legacy entry has `honor_manifest: true` (the
|
|
24
|
+
* default). When `honor_manifest: false` (the current codex entry,
|
|
25
|
+
* because `.codex/` is known-dead), the manifest is removed alongside
|
|
26
|
+
* framework files.
|
|
25
27
|
* - The caller can suppress cleanup entirely via `--keep-legacy` at the
|
|
26
28
|
* init.mjs site; the function itself is dumb about flags.
|
|
27
29
|
*/
|
|
@@ -31,7 +33,8 @@ import { LEGACY_INSTALL_PATHS } from './legacy-paths.mjs';
|
|
|
31
33
|
import { MANIFEST_FILENAME } from './manifest.mjs';
|
|
32
34
|
/**
|
|
33
35
|
* @typedef {Object} LegacyCodexDetection
|
|
34
|
-
* @property {boolean} present True when
|
|
36
|
+
* @property {boolean} present True when the legacy install_root
|
|
37
|
+
* (currently `.codex/`) exists.
|
|
35
38
|
* @property {string[]} frameworkFiles Subset of `framework_files` that
|
|
36
39
|
* actually exist on disk (relative
|
|
37
40
|
* to install_root).
|
|
@@ -44,9 +47,15 @@ import { MANIFEST_FILENAME } from './manifest.mjs';
|
|
|
44
47
|
* stamp is present.
|
|
45
48
|
* @property {boolean} hasManifest Whether an
|
|
46
49
|
* `apt-file-manifest.json` is
|
|
47
|
-
* present at install_root
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
+
* present at install_root. When the
|
|
51
|
+
* legacy entry has
|
|
52
|
+
* `honor_manifest: true` (default)
|
|
53
|
+
* this signals a managed install
|
|
54
|
+
* and cleanup no-ops; when
|
|
55
|
+
* `honor_manifest: false` the
|
|
56
|
+
* manifest is treated as orphan
|
|
57
|
+
* and removed alongside framework
|
|
58
|
+
* files.
|
|
50
59
|
*/
|
|
51
60
|
const LEGACY = LEGACY_INSTALL_PATHS.codex;
|
|
52
61
|
/**
|
|
@@ -91,7 +100,9 @@ function walkRelative(dir) {
|
|
|
91
100
|
return out;
|
|
92
101
|
}
|
|
93
102
|
/**
|
|
94
|
-
* Probe the codex legacy install tree at `<targetDir
|
|
103
|
+
* Probe the codex legacy install tree at `<targetDir>/<LEGACY.install_root>`
|
|
104
|
+
* (currently `.codex/` after the v0.8.2 registry inversion — the v0.7/v0.8
|
|
105
|
+
* misdirect topology).
|
|
95
106
|
*
|
|
96
107
|
* @param {string} targetDir
|
|
97
108
|
* @returns {LegacyCodexDetection}
|
|
@@ -138,25 +149,36 @@ function rmEmptyDir(dir) {
|
|
|
138
149
|
}
|
|
139
150
|
}
|
|
140
151
|
/**
|
|
141
|
-
* Clean up the legacy
|
|
152
|
+
* Clean up the legacy install tree at `<targetDir>/<LEGACY.install_root>`
|
|
153
|
+
* if it looks orphaned. Post v0.8.2 the codex legacy root is `.codex/`
|
|
154
|
+
* with framework files at `agents/<file>.md` + `commands/<file>.md` +
|
|
155
|
+
* `apt-file-manifest.json`.
|
|
142
156
|
*
|
|
143
157
|
* Branches:
|
|
144
158
|
* 1. `present: false` OR `frameworkFiles.length === 0` → no-op,
|
|
145
159
|
* `{ ran: false, reason: 'no-legacy' }`.
|
|
146
|
-
* 2. `hasManifest: true`
|
|
147
|
-
*
|
|
160
|
+
* 2. `hasManifest: true` AND `LEGACY.honor_manifest !== false`
|
|
161
|
+
* (default true) → managed install, no-op,
|
|
162
|
+
* `{ ran: false, reason: 'managed' }`. When `honor_manifest: false`
|
|
163
|
+
* (known-dead surface like the v0.7/v0.8 codex misdirect) the
|
|
164
|
+
* manifest is treated as orphan and removed alongside framework
|
|
165
|
+
* files.
|
|
148
166
|
* 3. Otherwise: per-file `unlinkSync` each framework-owned file;
|
|
149
|
-
* `rmdirSync` any
|
|
150
|
-
* `.agents/
|
|
151
|
-
*
|
|
167
|
+
* `rmdirSync` any subdirectory left empty after the unlinks (e.g.
|
|
168
|
+
* `.codex/agents/`, `.codex/commands/`); sweep the install_root
|
|
169
|
+
* itself only if it is fully empty after the per-file pass; sweep
|
|
170
|
+
* the install_root's parent only if it too became empty (relevant
|
|
171
|
+
* for legacy topologies two levels deep, e.g. the pre-0.7
|
|
172
|
+
* `.agents/skills/` codex layout).
|
|
152
173
|
*
|
|
153
174
|
* Returns `{ ran: true, removed, retained, rmdirs }` on the cleanup
|
|
154
175
|
* branch:
|
|
155
176
|
* - `removed` — relative paths under `install_root` that were unlinked.
|
|
156
177
|
* - `retained` — relative paths under `install_root` that were NOT
|
|
157
|
-
* removed (user-added skills / files not in the legacy set
|
|
158
|
-
*
|
|
159
|
-
*
|
|
178
|
+
* removed (user-added skills / files not in the legacy set, e.g.
|
|
179
|
+
* `.codex/config.toml`).
|
|
180
|
+
* - `rmdirs` — absolute paths of directories that were removed,
|
|
181
|
+
* in removal order.
|
|
160
182
|
*
|
|
161
183
|
* Atomicity: per-file unlink is non-atomic. A partial-failure scenario
|
|
162
184
|
* (process killed mid-loop) is tolerable — the next `init` run will
|
|
@@ -173,7 +195,14 @@ export function runLegacyCleanup({ targetDir, dryRun = false }) {
|
|
|
173
195
|
if (!detection.present || detection.frameworkFiles.length === 0) {
|
|
174
196
|
return { ran: false, reason: 'no-legacy' };
|
|
175
197
|
}
|
|
176
|
-
|
|
198
|
+
// `honor_manifest: false` means the legacy install_root is a known-dead
|
|
199
|
+
// surface (the v0.7/v0.8 codex misdirect). A manifest sitting there is
|
|
200
|
+
// by definition stale — fall through and remove it alongside framework
|
|
201
|
+
// files. `honor_manifest: true` (default) preserves the managed-install
|
|
202
|
+
// safety for legacy roots that could legitimately re-host a managed
|
|
203
|
+
// install.
|
|
204
|
+
const honorManifest = LEGACY.honor_manifest !== false;
|
|
205
|
+
if (detection.hasManifest && honorManifest) {
|
|
177
206
|
return { ran: false, reason: 'managed' };
|
|
178
207
|
}
|
|
179
208
|
const installRoot = join(targetDir, LEGACY.install_root);
|
|
@@ -225,12 +254,16 @@ export function runLegacyCleanup({ targetDir, dryRun = false }) {
|
|
|
225
254
|
if (rmEmptyDir(abs))
|
|
226
255
|
rmdirs.push(abs);
|
|
227
256
|
}
|
|
228
|
-
// Sweep
|
|
229
|
-
// pass — preserves any user-added
|
|
257
|
+
// Sweep the legacy install_root only if fully empty after the per-file
|
|
258
|
+
// pass — preserves any user-added content under it (e.g. `.codex/config.toml`
|
|
259
|
+
// when LEGACY.install_root is `.codex/`).
|
|
230
260
|
if (rmEmptyDir(installRoot)) {
|
|
231
261
|
rmdirs.push(installRoot);
|
|
232
|
-
// Sweep
|
|
233
|
-
//
|
|
262
|
+
// Sweep the install_root's parent only if it became empty too
|
|
263
|
+
// (relevant for legacy topologies whose install_root sits two
|
|
264
|
+
// levels deep, e.g. the pre-0.7 `.agents/skills/` codex layout).
|
|
265
|
+
// No-op when install_root is a top-level dir like `.codex/` —
|
|
266
|
+
// rmEmptyDir refuses to remove a non-empty project root.
|
|
234
267
|
const agentsRoot = dirname(installRoot);
|
|
235
268
|
if (rmEmptyDir(agentsRoot))
|
|
236
269
|
rmdirs.push(agentsRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-migrate.mjs","sourceRoot":"","sources":["../../../src/cli/install/runtime-migrate.mjs"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runtime-migrate.mjs","sourceRoot":"","sources":["../../../src/cli/install/runtime-migrate.mjs"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.mts","sourceRoot":"","sources":["../../../../src/cli/install/transforms/codex.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codex.d.mts","sourceRoot":"","sources":["../../../../src/cli/install/transforms/codex.mjs"],"names":[],"mappings":"AAkCA;;;GAGG;AACH,qFAHW,OAAO,iBAAiB,EAAE,cAAc,GACtC,OAAO,iBAAiB,EAAE,eAAe,EAAE,CA4BvD"}
|
|
@@ -2,17 +2,28 @@
|
|
|
2
2
|
* install/transforms/codex.mjs — Codex transform.
|
|
3
3
|
*
|
|
4
4
|
* Codex quirks:
|
|
5
|
-
* - frontmatter
|
|
6
|
-
*
|
|
5
|
+
* - frontmatter is whitelisted to `KEEP = {name, description}` (Codex
|
|
6
|
+
* validates strictly against its `allowed_properties` set and rejects
|
|
7
|
+
* unknown keys; the whitelist is drift-proof against new framework
|
|
8
|
+
* frontmatter keys).
|
|
7
9
|
* - body is wrapped in <codex_agent_role>…</codex_agent_role>.
|
|
8
10
|
* - slash-command refs `/apt:foo` rewritten to `/apt-foo` (Codex command
|
|
9
11
|
* names disallow `:`).
|
|
10
|
-
* - output: .
|
|
11
|
-
*
|
|
12
|
+
* - output: skills/<folder>/SKILL.md (the documented Codex discovery
|
|
13
|
+
* surface per https://developers.openai.com/codex/skills — resolved
|
|
14
|
+
* against installRoot `.agents` to land at `.agents/skills/<folder>/SKILL.md`).
|
|
15
|
+
* Markdown agents are NOT a Codex surface (custom-agents are TOML
|
|
16
|
+
* under `.codex/agents/`); only skills are emitted.
|
|
12
17
|
*/
|
|
13
18
|
import { basename, dirname } from 'node:path';
|
|
14
|
-
import { parseFrontmatter, rewriteCommandRefs, serializeFrontmatter,
|
|
15
|
-
|
|
19
|
+
import { parseFrontmatter, rewriteCommandRefs, serializeFrontmatter, substituteVersion, } from './_shared.mjs';
|
|
20
|
+
// Codex's `allowed_properties` set (see
|
|
21
|
+
// ~/.codex/skills/.system/skill-creator/scripts/quick_validate.py:40):
|
|
22
|
+
// {"name", "description", "license", "allowed-tools", "metadata"}.
|
|
23
|
+
// We use the minimum viable whitelist {name, description} so adding new
|
|
24
|
+
// framework frontmatter keys (a routine occurrence) doesn't break Codex
|
|
25
|
+
// validation — only the 2 keys Codex actually consumes are emitted.
|
|
26
|
+
const KEEP = ['name', 'description'];
|
|
16
27
|
/**
|
|
17
28
|
* @param {import('../pipeline.mjs').TransformInput} input
|
|
18
29
|
* @returns {import('../pipeline.mjs').TransformOutput[]}
|
|
@@ -22,7 +33,11 @@ export function transform({ canonicalContent, canonicalRelPath, version, fileTyp
|
|
|
22
33
|
const parsed = parseFrontmatter(subbed);
|
|
23
34
|
let payload;
|
|
24
35
|
if (parsed.hasFrontmatter && parsed.fm) {
|
|
25
|
-
|
|
36
|
+
// Whitelist filter: drop every frontmatter key NOT in KEEP.
|
|
37
|
+
for (const k of Object.keys(parsed.fm)) {
|
|
38
|
+
if (!KEEP.includes(k))
|
|
39
|
+
delete parsed.fm[k];
|
|
40
|
+
}
|
|
26
41
|
const wrappedBody = `<codex_agent_role>\n${parsed.body}\n</codex_agent_role>\n`;
|
|
27
42
|
payload = serializeFrontmatter({ ...parsed, body: wrappedBody });
|
|
28
43
|
}
|
|
@@ -32,17 +47,13 @@ export function transform({ canonicalContent, canonicalRelPath, version, fileTyp
|
|
|
32
47
|
payload = rewriteCommandRefs(payload, '/apt:', '/apt-');
|
|
33
48
|
if (fileType === 'skill') {
|
|
34
49
|
const folder = basename(dirname(canonicalRelPath));
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
return [
|
|
38
|
-
{ outputPath: `agents/${folder}.md`, content: payload },
|
|
39
|
-
{ outputPath: `commands/${folder}.md`, content: payload },
|
|
40
|
-
];
|
|
41
|
-
}
|
|
42
|
-
if (fileType === 'agent') {
|
|
43
|
-
const file = basename(canonicalRelPath, '.md');
|
|
44
|
-
return [{ outputPath: `agents/${file}.md`, content: payload }];
|
|
50
|
+
// Codex's documented skill discovery surface is `.agents/skills/<folder>/SKILL.md`
|
|
51
|
+
// (one folder per skill, canonical SKILL.md filename).
|
|
52
|
+
return [{ outputPath: `skills/${folder}/SKILL.md`, content: payload }];
|
|
45
53
|
}
|
|
54
|
+
// Markdown agents are not a Codex surface. Codex custom-agents are TOML
|
|
55
|
+
// under `.codex/agents/`; emitting markdown there would just create
|
|
56
|
+
// another dead surface. Drop the agent branch entirely.
|
|
46
57
|
return [];
|
|
47
58
|
}
|
|
48
59
|
//# sourceMappingURL=codex.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.mjs","sourceRoot":"","sources":["../../../../src/cli/install/transforms/codex.mjs"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"codex.mjs","sourceRoot":"","sources":["../../../../src/cli/install/transforms/codex.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,eAAe,CAAA;AAEtB,wCAAwC;AACxC,uEAAuE;AACvE,mEAAmE;AACnE,wEAAwE;AACxE,wEAAwE;AACxE,oEAAoE;AACpE,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAEpC;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClF,MAAM,MAAM,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,OAAO,CAAA;IACX,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACxC,4DAA4D;QAC5D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC3C,CAAC;QACD,MAAM,WAAW,GAAG,uBAAuB,MAAM,CAAC,IAAI,yBAAyB,CAAA;QAC/E,OAAO,GAAG,oBAAoB,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IACjE,CAAC;SAAM,CAAC;QACP,OAAO,GAAG,uBAAuB,MAAM,yBAAyB,CAAA;IACjE,CAAC;IACD,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAEvD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAClD,mFAAmF;QACnF,uDAAuD;QACvD,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,MAAM,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IACvE,CAAC;IACD,wEAAwE;IACxE,oEAAoE;IACpE,wDAAwD;IACxD,OAAO,EAAE,CAAA;AACV,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {import('../pipeline.mjs').TransformInput} input
|
|
3
|
+
* @returns {import('../pipeline.mjs').TransformOutput[]}
|
|
4
|
+
*/
|
|
5
|
+
export function transform({ canonicalContent, canonicalRelPath, version, fileType }: import("../pipeline.mjs").TransformInput): import("../pipeline.mjs").TransformOutput[];
|
|
6
|
+
//# sourceMappingURL=pi.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi.d.mts","sourceRoot":"","sources":["../../../../src/cli/install/transforms/pi.mjs"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,qFAHW,OAAO,iBAAiB,EAAE,cAAc,GACtC,OAAO,iBAAiB,EAAE,eAAe,EAAE,CAiBvD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* install/transforms/pi.mjs — Pi coding agent transform.
|
|
3
|
+
*
|
|
4
|
+
* Pi uses prompt templates under `.pi/prompts/` for slash commands and
|
|
5
|
+
* root-level skills under `.pi/skills/`. Unlike Codex, Pi supports
|
|
6
|
+
* colon-form prompt names, so `/apt:foo` references are preserved.
|
|
7
|
+
*/
|
|
8
|
+
import { basename, dirname } from 'node:path';
|
|
9
|
+
import { substituteVersion } from './_shared.mjs';
|
|
10
|
+
function promptNameForSkill(folder) {
|
|
11
|
+
if (folder === 'apt')
|
|
12
|
+
return 'apt';
|
|
13
|
+
if (folder.startsWith('apt-'))
|
|
14
|
+
return `apt:${folder.slice('apt-'.length)}`;
|
|
15
|
+
return folder;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @param {import('../pipeline.mjs').TransformInput} input
|
|
19
|
+
* @returns {import('../pipeline.mjs').TransformOutput[]}
|
|
20
|
+
*/
|
|
21
|
+
export function transform({ canonicalContent, canonicalRelPath, version, fileType }) {
|
|
22
|
+
const content = substituteVersion(canonicalContent, version);
|
|
23
|
+
if (fileType === 'skill') {
|
|
24
|
+
const folder = basename(dirname(canonicalRelPath));
|
|
25
|
+
const promptName = promptNameForSkill(folder);
|
|
26
|
+
return [
|
|
27
|
+
{ outputPath: `skills/${folder}/SKILL.md`, content },
|
|
28
|
+
{ outputPath: `prompts/${promptName}.md`, content },
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
if (fileType === 'agent') {
|
|
32
|
+
const file = basename(canonicalRelPath);
|
|
33
|
+
return [{ outputPath: `skills/${file}`, content }];
|
|
34
|
+
}
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=pi.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi.mjs","sourceRoot":"","sources":["../../../../src/cli/install/transforms/pi.mjs"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,SAAS,kBAAkB,CAAC,MAAM;IACjC,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IAClC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;IAC1E,OAAO,MAAM,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClF,MAAM,OAAO,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAC5D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAClD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO;YACN,EAAE,UAAU,EAAE,UAAU,MAAM,WAAW,EAAE,OAAO,EAAE;YACpD,EAAE,UAAU,EAAE,WAAW,UAAU,KAAK,EAAE,OAAO,EAAE;SACnD,CAAA;IACF,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QACvC,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,EAAE,CAAA;AACV,CAAC"}
|
|
@@ -209,7 +209,7 @@ export type PersonaEvidenceAnchor = {
|
|
|
209
209
|
source: "codebase" | "project_md" | "app_wizard";
|
|
210
210
|
file: string;
|
|
211
211
|
line_range?: string | undefined;
|
|
212
|
-
confidence?: "
|
|
212
|
+
confidence?: "medium" | "high" | "low" | undefined;
|
|
213
213
|
};
|
|
214
214
|
export type Persona = {
|
|
215
215
|
id?: string | undefined;
|
|
@@ -45,7 +45,7 @@ export function applyLifecyclePhaseSideEffect(targetDir: any, task: any, spec: a
|
|
|
45
45
|
commit: string | null;
|
|
46
46
|
rollup: {
|
|
47
47
|
before: any;
|
|
48
|
-
after: "
|
|
48
|
+
after: "planned" | "completed" | "blocked" | "in-progress" | null;
|
|
49
49
|
changed: boolean;
|
|
50
50
|
milestone_id: any;
|
|
51
51
|
};
|
|
@@ -16,7 +16,7 @@ export function rollupMilestoneStatus(milestone: object): "completed" | "in-prog
|
|
|
16
16
|
*/
|
|
17
17
|
export function applyRollup(roadmap: any, milestoneId: any): {
|
|
18
18
|
before: any;
|
|
19
|
-
after: "
|
|
19
|
+
after: "planned" | "completed" | "blocked" | "in-progress" | null;
|
|
20
20
|
changed: boolean;
|
|
21
21
|
milestone_id: any;
|
|
22
22
|
};
|
|
@@ -31,7 +31,7 @@ export function applyRollup(roadmap: any, milestoneId: any): {
|
|
|
31
31
|
export function writeRollup(projectDir: any, scope: any, milestoneId: any): {
|
|
32
32
|
committed: boolean;
|
|
33
33
|
before: any;
|
|
34
|
-
after: "
|
|
34
|
+
after: "planned" | "completed" | "blocked" | "in-progress" | null;
|
|
35
35
|
changed: boolean;
|
|
36
36
|
milestone_id: any;
|
|
37
37
|
};
|
|
@@ -152,9 +152,9 @@ export const SkillFrontmatterSchema = z
|
|
|
152
152
|
// don't immediately break skills that carry them.
|
|
153
153
|
triggers: z.array(z.string()).optional(),
|
|
154
154
|
color: z.string().optional(),
|
|
155
|
-
//
|
|
155
|
+
// ST-13 (AC12): optional `produces:` field enumerates
|
|
156
156
|
// the content-formats a skill emits (e.g. "PRD-shaped spec.md",
|
|
157
|
-
// "vertical-slice subtasks", "
|
|
157
|
+
// "vertical-slice subtasks", "Aperant CONTEXT.md term-block").
|
|
158
158
|
// Consumed by `apt-tools modes list` to surface what each skill ships.
|
|
159
159
|
// Additive and backward-compatible — skills without the field default
|
|
160
160
|
// to [] in modes list output.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.mjs","sourceRoot":"","sources":["../../../src/cli/skill-author/contract.mjs"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contract.mjs","sourceRoot":"","sources":["../../../src/cli/skill-author/contract.mjs"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compute today's events filename relative to projectDir.
|
|
3
|
+
* @param {string} projectDir
|
|
4
|
+
* @param {Date} [now]
|
|
5
|
+
* @returns {string}
|
|
6
|
+
*/
|
|
7
|
+
export function dailyEventsPath(projectDir: string, now?: Date): string;
|
|
8
|
+
/**
|
|
9
|
+
* Append a driver-invocation audit line.
|
|
10
|
+
*
|
|
11
|
+
* @param {string} projectDir
|
|
12
|
+
* @param {Object} entry
|
|
13
|
+
* @param {string} entry.driver_id
|
|
14
|
+
* @param {string} entry.version
|
|
15
|
+
* @param {string} entry.manifest_sha256
|
|
16
|
+
* @param {string} entry.trust_tier
|
|
17
|
+
* @param {string} entry.sandbox_profile
|
|
18
|
+
* @param {'allow' | 'deny' | 'requires_approval'} entry.decision
|
|
19
|
+
* @param {'success' | 'fail' | 'skip'} entry.result
|
|
20
|
+
* @param {string} [entry.verb] — IDL verb invoked (optional metadata)
|
|
21
|
+
* @param {string} [entry.reason] — decision-rationale string (optional)
|
|
22
|
+
*/
|
|
23
|
+
export function appendDriverEvent(projectDir: string, entry: {
|
|
24
|
+
driver_id: string;
|
|
25
|
+
version: string;
|
|
26
|
+
manifest_sha256: string;
|
|
27
|
+
trust_tier: string;
|
|
28
|
+
sandbox_profile: string;
|
|
29
|
+
decision: "allow" | "deny" | "requires_approval";
|
|
30
|
+
result: "success" | "fail" | "skip";
|
|
31
|
+
verb?: string | undefined;
|
|
32
|
+
reason?: string | undefined;
|
|
33
|
+
}): void;
|
|
34
|
+
//# sourceMappingURL=audit.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.mts","sourceRoot":"","sources":["../../../src/cli/verify-proof/audit.mjs"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,4CAJW,MAAM,QACN,IAAI,GACF,MAAM,CAOlB;AAED;;;;;;;;;;;;;;GAcG;AACH,8CAZW,MAAM,SAEd;IAAsB,SAAS,EAAvB,MAAM;IACQ,OAAO,EAArB,MAAM;IACQ,eAAe,EAA7B,MAAM;IACQ,UAAU,EAAxB,MAAM;IACQ,eAAe,EAA7B,MAAM;IACwC,QAAQ,EAAtD,OAAO,GAAG,MAAM,GAAG,mBAAmB;IACH,MAAM,EAAzC,SAAS,GAAG,MAAM,GAAG,MAAM;IACZ,IAAI;IACJ,MAAM;CAC/B,QAUA"}
|