@zaip-ai/cli 4.9.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/adapter-hook-sources.d.ts +3 -0
- package/dist/services/adapter-hook-sources.d.ts.map +1 -1
- package/dist/services/adapter-hook-sources.js +3 -0
- package/dist/services/adapter-hook-sources.js.map +1 -1
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.d.ts.map +1 -1
- package/dist/services/adapters.js +5 -2
- package/dist/services/adapters.js.map +1 -1
- package/dist/services/adapters.test.js +1 -1
- package/dist/services/adapters.test.js.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.js +16 -6
- package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
- package/dist/services/codex-hook-activation.d.ts +1 -1
- package/dist/services/codex-hook-activation.d.ts.map +1 -1
- package/dist/services/codex-hook-activation.js +116 -10
- package/dist/services/codex-hook-activation.js.map +1 -1
- package/dist/services/codex-pre-tool-cli-capture-template.d.ts +2 -0
- package/dist/services/codex-pre-tool-cli-capture-template.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-cli-capture-template.js +104 -0
- package/dist/services/codex-pre-tool-cli-capture-template.js.map +1 -0
- package/dist/services/codex-pre-tool-cloud-template.d.ts +2 -0
- package/dist/services/codex-pre-tool-cloud-template.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-cloud-template.js +190 -0
- package/dist/services/codex-pre-tool-cloud-template.js.map +1 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.d.ts +2 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.js +9 -0
- package/dist/services/codex-pre-tool-dependencies.test-support.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts +5 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.js +19 -0
- package/dist/services/codex-pre-tool-hook-fixture.test-support.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts +2 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js +107 -0
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.js +96 -210
- package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.test.js +32 -80
- package/dist/services/codex-pre-tool-hook-template.test.js.map +1 -1
- package/dist/services/codex-pre-tool-host-context-template.d.ts +2 -0
- package/dist/services/codex-pre-tool-host-context-template.d.ts.map +1 -0
- package/dist/services/codex-pre-tool-host-context-template.js +139 -0
- package/dist/services/codex-pre-tool-host-context-template.js.map +1 -0
- package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-support-template.js +61 -101
- package/dist/services/codex-pre-tool-support-template.js.map +1 -1
- package/dist/services/codex-subagent-hook-template.d.ts +1 -1
- package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
- package/dist/services/codex-subagent-hook-template.js +13 -2
- package/dist/services/codex-subagent-hook-template.js.map +1 -1
- package/dist/services/codex-validation-runtime-template.d.ts.map +1 -1
- package/dist/services/codex-validation-runtime-template.js +10 -4
- package/dist/services/codex-validation-runtime-template.js.map +1 -1
- package/dist/services/runtime-template-test-support.d.ts +1 -0
- package/dist/services/runtime-template-test-support.d.ts.map +1 -1
- package/dist/services/runtime-template-test-support.js +23 -2
- package/dist/services/runtime-template-test-support.js.map +1 -1
- package/dist/services/runtime-template.test.js +4 -23
- package/dist/services/runtime-template.test.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/README-ENG.md +49 -7
- package/templates/.agents/README.md +37 -10
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +121 -73
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-BW7Vy1cp.js → CostCalculationGuidePage-w6pjt4OM.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-Cp_hEVd8.js → DashboardHelpDialog-DhlntQcR.js} +76 -11
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-Prcs-ydy.js → PricingSettingsDialog-BHoZT2an.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-Cu40wAFF.js → ProjectSettingsPage-IcncIZ9Y.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-Bh3YBd3C.js → TraceabilityWorkspace-C6rORjpr.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-uPnOBShc.js +68 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-CF7B1Hjn.js → dashboard-localization-DWXjEIgc.js} +49 -7
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DOhy6D2-.js → icons-vendor-Hc9fp_gs.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-qVSJnJ0_.js → index-BqeOEZW5.js} +2 -2
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CkPC-yMz.js → react-vendor-C9ta_O10.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-BEdGoIDm.js → traceability-IcefoTOv.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +5 -5
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +10 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.run-page.test.ts +5 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.period-values.test.tsx +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +5 -5
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +36 -43
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-loaders.ts +1 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +6 -4
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.ts +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +11 -25
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-summary-defaults.ts +26 -0
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/src/contracts.ts +11 -16
- package/templates/.agents/dashboard/modules/operations/src/planning-contracts.ts +14 -0
- package/templates/.agents/dashboard/modules/operations/src/react/DecisionTable.tsx +65 -0
- package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +5 -71
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +10 -36
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +7 -2
- package/templates/.agents/dashboard/modules/operations/src/react/use-operations-filter-sync.ts +66 -0
- package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
- package/templates/.agents/dashboard/packages/branding/package.json +1 -1
- package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
- package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +193 -191
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +169 -169
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +193 -191
- package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.test.ts +38 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.ts +35 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +53 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +18 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/manifest-runs.ts +8 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-capture-projection-order.test.ts +118 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.test.ts +90 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.ts +86 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-routes.ts +8 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server-projection-loaders.ts +13 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-projections.ts +30 -74
- package/templates/.agents/dashboard/packages/local-runtime/src/server-route-handlers.ts +42 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-routes.test.ts +60 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-run-projections.test.ts +12 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-command.test.ts +29 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-refresh.ts +7 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +51 -54
- package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +28 -45
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +5 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.test.ts +49 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.ts +44 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-cached-cost-page.ts +11 -10
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-work-item-index.test.ts +18 -1
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/design/.zaip-managed.json +3 -3
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/requirements/autonomous-assurance.md +11 -2
- package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
- package/templates/.agents/requirements/comparative-audit.md +1 -1
- package/templates/.agents/requirements/context-engine.md +1 -1
- package/templates/.agents/requirements/cost-observability.md +1 -1
- package/templates/.agents/requirements/dashboard-launch.md +1 -1
- package/templates/.agents/requirements/data-export.md +1 -1
- package/templates/.agents/requirements/design-system.md +1 -1
- package/templates/.agents/requirements/execution-engine.md +1 -1
- package/templates/.agents/requirements/kanban-dashboard.md +1 -1
- package/templates/.agents/requirements/model-orchestration.md +1 -1
- package/templates/.agents/requirements/public-distribution.md +1 -1
- package/templates/.agents/requirements/software-architecture.md +1 -1
- package/templates/.agents/requirements/strategic-improvements.md +1 -1
- package/templates/.agents/requirements/work-lifecycle.md +2 -1
- package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
- package/templates/.agents/rules/run-lifecycle-closure.md +2 -1
- package/templates/.agents/rules/workflow.md +1 -0
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +1178 -764
- package/templates/.agents/runtime/checksums.sha256 +6 -6
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
- package/templates/.agents/runtime/provenance.json +5 -5
- package/templates/.agents/runtime/sbom.cdx.json +59 -59
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-execution/references/controlled-release-recovery.md +14 -0
- package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +1 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +5 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.mjs +12 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.test.mjs +25 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/SKILL.md +23 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.mjs +213 -0
- package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.test.mjs +207 -0
- package/templates/.agents/skills/zaip-skill-maintenance-exit/SKILL.md +21 -0
- package/templates/.agents/skills/zaip-skill-maintenance-exit/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +2 -0
- package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +37 -8
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +38 -0
- package/templates/template-manifest.json +188 -116
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-Co2Jiuzh.js +0 -68
|
@@ -2,4 +2,7 @@ export { CODEX_CONVERSATION_LIFECYCLE_HOOK } from "./codex-conversation-lifecycl
|
|
|
2
2
|
export { CODEX_PRE_TOOL_HOOK } from "./codex-pre-tool-hook-template.js";
|
|
3
3
|
export { CODEX_PRE_TOOL_SUPPORT_HOOK } from "./codex-pre-tool-support-template.js";
|
|
4
4
|
export { CODEX_SUBAGENT_LIFECYCLE_HOOK } from "./codex-subagent-hook-template.js";
|
|
5
|
+
export { CODEX_PRE_TOOL_CLOUD_HOOK } from "./codex-pre-tool-cloud-template.js";
|
|
6
|
+
export { CODEX_PRE_TOOL_HOST_CONTEXT_HOOK } from "./codex-pre-tool-host-context-template.js";
|
|
7
|
+
export { CODEX_PRE_TOOL_CLI_CAPTURE_HOOK } from "./codex-pre-tool-cli-capture-template.js";
|
|
5
8
|
//# sourceMappingURL=adapter-hook-sources.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-hook-sources.d.ts","sourceRoot":"","sources":["../../src/services/adapter-hook-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"adapter-hook-sources.d.ts","sourceRoot":"","sources":["../../src/services/adapter-hook-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC"}
|
|
@@ -2,4 +2,7 @@ export { CODEX_CONVERSATION_LIFECYCLE_HOOK } from "./codex-conversation-lifecycl
|
|
|
2
2
|
export { CODEX_PRE_TOOL_HOOK } from "./codex-pre-tool-hook-template.js";
|
|
3
3
|
export { CODEX_PRE_TOOL_SUPPORT_HOOK } from "./codex-pre-tool-support-template.js";
|
|
4
4
|
export { CODEX_SUBAGENT_LIFECYCLE_HOOK } from "./codex-subagent-hook-template.js";
|
|
5
|
+
export { CODEX_PRE_TOOL_CLOUD_HOOK } from "./codex-pre-tool-cloud-template.js";
|
|
6
|
+
export { CODEX_PRE_TOOL_HOST_CONTEXT_HOOK } from "./codex-pre-tool-host-context-template.js";
|
|
7
|
+
export { CODEX_PRE_TOOL_CLI_CAPTURE_HOOK } from "./codex-pre-tool-cli-capture-template.js";
|
|
5
8
|
//# sourceMappingURL=adapter-hook-sources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-hook-sources.js","sourceRoot":"","sources":["../../src/services/adapter-hook-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"adapter-hook-sources.js","sourceRoot":"","sources":["../../src/services/adapter-hook-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type PublicAgentCatalog } from "./agent-adapters.js";
|
|
2
2
|
export { isManagedAdapter } from "./managed-adapter.js";
|
|
3
|
-
export declare const ADAPTERS_VERSION = "
|
|
3
|
+
export declare const ADAPTERS_VERSION = "5.0.0";
|
|
4
4
|
export interface AdapterFile {
|
|
5
5
|
path: string;
|
|
6
6
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/services/adapters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/services/adapters.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMxD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAuLD,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,SAAS,WAAW,EAAE,CA2FxB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACzD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B,CAAC,CAaD;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,UAAQ,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CA6B7D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
|
-
import { CODEX_CONVERSATION_LIFECYCLE_HOOK, CODEX_PRE_TOOL_HOOK, CODEX_PRE_TOOL_SUPPORT_HOOK, CODEX_SUBAGENT_LIFECYCLE_HOOK, } from "./adapter-hook-sources.js";
|
|
3
|
+
import { CODEX_CONVERSATION_LIFECYCLE_HOOK, CODEX_PRE_TOOL_HOOK, CODEX_PRE_TOOL_SUPPORT_HOOK, CODEX_PRE_TOOL_CLOUD_HOOK, CODEX_PRE_TOOL_HOST_CONTEXT_HOOK, CODEX_PRE_TOOL_CLI_CAPTURE_HOOK, CODEX_SUBAGENT_LIFECYCLE_HOOK, } from "./adapter-hook-sources.js";
|
|
4
4
|
import { codexAgentConfig, parsePublicAgentCatalog, publicAgentAdapterFiles, } from "./agent-adapters.js";
|
|
5
5
|
import { serializeAgentDiscovery } from "./agent-discovery.js";
|
|
6
6
|
import { isReconciledCodexConfig, reconcileCodexConfig } from "./codex-config-overlay.js";
|
|
@@ -11,7 +11,7 @@ export { isManagedAdapter } from "./managed-adapter.js";
|
|
|
11
11
|
import { CODEX_GITHUB_DEPLOY_RULES, CODEX_SECURITY_RULES } from "./codex-rules.js";
|
|
12
12
|
import { codexWindowsHookCommand } from "./codex-windows-hook-command.js";
|
|
13
13
|
import { applyTransactionalChanges, assertSafeDestination } from "./transactional-files.js";
|
|
14
|
-
export const ADAPTERS_VERSION = "
|
|
14
|
+
export const ADAPTERS_VERSION = "5.0.0";
|
|
15
15
|
const ROOT_GUIDANCE = `# ZAIP-AIOS
|
|
16
16
|
|
|
17
17
|
Read \`.agents/config/project.yaml\` first. Apply ZAIP only for literal boolean \`zaip.enabled: true\`, except framework maintenance or \`zaip enable\`. \`AGENTS.md\` is a bootstrap; canonical guidance lives in \`.agents/\`.
|
|
@@ -203,6 +203,9 @@ export function adapterFiles(workspaceRoot, catalog) {
|
|
|
203
203
|
managed(".codex/hooks/zaip-hook-activation.mjs", CODEX_HOOK_ACTIVATION, "codex-hook-activation"),
|
|
204
204
|
managed(".codex/hooks/zaip-pre-tool-use.mjs", CODEX_PRE_TOOL_HOOK, "codex-safety-hook"),
|
|
205
205
|
managed(".codex/hooks/zaip-pre-tool-support.mjs", CODEX_PRE_TOOL_SUPPORT_HOOK, "codex-safety-support"),
|
|
206
|
+
managed(".codex/hooks/zaip-pre-tool-cloud.mjs", CODEX_PRE_TOOL_CLOUD_HOOK, "codex-safety-cloud"),
|
|
207
|
+
managed(".codex/hooks/zaip-pre-tool-host-context.mjs", CODEX_PRE_TOOL_HOST_CONTEXT_HOOK, "codex-safety-host-context"),
|
|
208
|
+
managed(".codex/hooks/zaip-pre-tool-cli-capture.mjs", CODEX_PRE_TOOL_CLI_CAPTURE_HOOK, "codex-safety-cli-capture"),
|
|
206
209
|
managed(".codex/hooks/zaip-native-tool-authority.mjs", CODEX_NATIVE_TOOL_AUTHORITY_HOOK, "codex-native-tool-authority"),
|
|
207
210
|
managed(".codex/hooks/zaip-conversation-lifecycle.mjs", CODEX_CONVERSATION_LIFECYCLE_HOOK, "codex-conversation-lifecycle-hook"),
|
|
208
211
|
managed(".codex/hooks/zaip-subagent-lifecycle.mjs", CODEX_SUBAGENT_LIFECYCLE_HOOK, "codex-subagent-lifecycle-hook"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/services/adapters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/services/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,7 +88,7 @@ describe("public adapter overlays", () => {
|
|
|
88
88
|
const canonicalSkillMetadata = await readFile(join(repositoryRoot, ".agents/skills/zaip-aios/agents/openai.yaml"), "utf8");
|
|
89
89
|
await expect(readFile(join(root, ".codex/skills/zaip-aios/agents/openai.yaml"), "utf8")).resolves.toContain(canonicalSkillMetadata.trim());
|
|
90
90
|
await expect(readFile(join(root, ".claude/skills/zaip-aios/agents/openai.yaml"), "utf8")).resolves.toContain(canonicalSkillMetadata.trim());
|
|
91
|
-
await expect(readFile(join(root, ".codex/hooks/zaip-pre-tool-
|
|
91
|
+
await expect(readFile(join(root, ".codex/hooks/zaip-pre-tool-cli-capture.mjs"), "utf8")).resolves.toContain("process.env.CODEX_TURN_ID !== turnId");
|
|
92
92
|
await expect(checkAdapters(root)).resolves.toEqual({ valid: true, drifted: [] });
|
|
93
93
|
});
|
|
94
94
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.test.js","sourceRoot":"","sources":["../../src/services/adapters.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"adapters.test.js","sourceRoot":"","sources":["../../src/services/adapters.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-conversation-lifecycle-hook.d.ts","sourceRoot":"","sources":["../../src/services/codex-conversation-lifecycle-hook.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,
|
|
1
|
+
{"version":3,"file":"codex-conversation-lifecycle-hook.d.ts","sourceRoot":"","sources":["../../src/services/codex-conversation-lifecycle-hook.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,QAmQ7C,CAAC"}
|
|
@@ -7,6 +7,8 @@ import { fileURLToPath } from "node:url";
|
|
|
7
7
|
const hookRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
8
8
|
const activation = await import("./zaip-hook-activation.mjs").catch(() => null);
|
|
9
9
|
let root = hookRoot, local;
|
|
10
|
+
let trackingEnabled = false;
|
|
11
|
+
let governanceEnabled = false;
|
|
10
12
|
// The host hook stays below 10s. Explicit CLI recovery runs in the active Codex
|
|
11
13
|
// tool session and may finish expensive canonical closure within its own bound.
|
|
12
14
|
const automatic = process.argv.length === 3 && process.argv[2] === "--recover-previous-turn";
|
|
@@ -21,7 +23,7 @@ let raw = ""; for await (const chunk of process.stdin) raw += chunk;
|
|
|
21
23
|
const event = parse(raw), session = text(event?.session_id), turn = text(event?.turn_id);
|
|
22
24
|
let receipt, receiptPath, lease;
|
|
23
25
|
function reply(pending = false) {
|
|
24
|
-
if (!replay) activation?.recordActivation(root, event, pending ? "pending" : "observed");
|
|
26
|
+
if (!replay && governanceEnabled) activation?.recordActivation(root, event, pending ? "pending" : "observed");
|
|
25
27
|
// Closure belongs to the live orchestrator. Stop only records/reconciles;
|
|
26
28
|
// a pending receipt must never manufacture another user prompt.
|
|
27
29
|
writeSync(1, JSON.stringify({}) + "\n");
|
|
@@ -134,7 +136,7 @@ function call(cli, args, path) {
|
|
|
134
136
|
return new Promise(done => {
|
|
135
137
|
const remaining = deadline - Date.now() - 150;
|
|
136
138
|
if (remaining <= 0) return done({ code: 1, out: "", timeout: true });
|
|
137
|
-
const child = spawn(process.execPath, [cli, ...args, "--workspace", root, "--json"], { cwd: root, windowsHide: true, env: { ...process.env, CODEX_THREAD_ID: session, CODEX_TURN_ID: turn, CODEX_TRANSCRIPT_PATH: path ?? "" }, stdio: ["ignore", "pipe", "ignore"] });
|
|
139
|
+
const child = spawn(process.execPath, [cli, ...args, "--workspace", root, "--json"], { cwd: root, windowsHide: true, env: { ...process.env, CODEX_THREAD_ID: session, CODEX_TURN_ID: turn, CODEX_TRANSCRIPT_PATH: path ?? "", ZAIP_HOOK_TRACKING_ENABLED: trackingEnabled ? "true" : "false" }, stdio: ["ignore", "pipe", "ignore"] });
|
|
138
140
|
let out = "", settled = false;
|
|
139
141
|
const finish = (code, timeout = false) => { if (settled) return; settled = true; clearTimeout(timer); done({ code, out, timeout }); };
|
|
140
142
|
const timer = setTimeout(() => { child.kill(); finish(1, true); }, remaining);
|
|
@@ -160,7 +162,10 @@ async function selectWorkspace(correlationKey, worktrees) {
|
|
|
160
162
|
if (correlation?.schema_version === 1 && correlation.thread_id === session && correlation.turn_id === turn && correlation.agent_path === null && typeof correlation.run_id === "string") matches.push(candidate);
|
|
161
163
|
}
|
|
162
164
|
if (matches.length > 1) throw new Error("workspace_correlation_ambiguous");
|
|
163
|
-
return matches[0]
|
|
165
|
+
if (matches.length === 1) return matches[0];
|
|
166
|
+
const containing = worktrees.filter(candidate => inside(event.cwd, candidate));
|
|
167
|
+
if (containing.length > 1) throw new Error("workspace_cwd_ambiguous");
|
|
168
|
+
return containing[0] ?? hookRoot;
|
|
164
169
|
}
|
|
165
170
|
try {
|
|
166
171
|
if (event?.hook_event_name !== "Stop" || !session || !turn || !text(event.cwd)) { reply(); process.exit(0); }
|
|
@@ -172,8 +177,13 @@ try {
|
|
|
172
177
|
const correlationKey = hash(JSON.stringify(["codex", session, turn, null, null]));
|
|
173
178
|
root = automatic ? hookRoot : await selectWorkspace(correlationKey, worktrees);
|
|
174
179
|
local = resolve(root, ".local/hooks");
|
|
175
|
-
const
|
|
176
|
-
|
|
180
|
+
const policy = await activation?.hookPolicies?.(root) ?? { governance: false, tracking: false, diagnostic: "policy_module_unavailable" };
|
|
181
|
+
activation?.recordPolicyDiagnostic?.(root, policy);
|
|
182
|
+
trackingEnabled = policy.tracking;
|
|
183
|
+
governanceEnabled = policy.governance;
|
|
184
|
+
if (!replay && policy.tracking) activation?.recordHookObservation?.(root, event, policy.governance);
|
|
185
|
+
if (policy.tracking) activation?.replayHookObservations?.(root);
|
|
186
|
+
if (!policy.governance) { reply(); process.exit(0); }
|
|
177
187
|
await mkdir(local, { recursive: true });
|
|
178
188
|
receiptPath = resolve(local, "stop-" + hash(JSON.stringify([session, turn])) + ".json");
|
|
179
189
|
lease = await acquire(receiptPath + ".lock");
|
|
@@ -236,7 +246,7 @@ try {
|
|
|
236
246
|
throw new Error("owned_task_recoverable");
|
|
237
247
|
}
|
|
238
248
|
}
|
|
239
|
-
if (intake.task !== null) {
|
|
249
|
+
if (intake.task !== null && trackingEnabled) {
|
|
240
250
|
const usage = await call(cli, ["run", "usage", run, "--disable-codex-raw"], transcriptPath);
|
|
241
251
|
if (usage.code !== 0 || parse(usage.out) === null) throw new Error("telemetry_pending");
|
|
242
252
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-conversation-lifecycle-hook.js","sourceRoot":"","sources":["../../src/services/codex-conversation-lifecycle-hook.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"codex-conversation-lifecycle-hook.js","sourceRoot":"","sources":["../../src/services/codex-conversation-lifecycle-hook.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmQ1D,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const HOOK_ACTIVATION_EVENTS: readonly ["PreToolUse", "SubagentStart", "SubagentStop", "Stop"];
|
|
2
|
-
export declare const HOOK_ACTIVATION_FILES: readonly [".codex/config.toml", ".codex/hooks/zaip-pre-tool-use.mjs", ".codex/hooks/zaip-pre-tool-support.mjs", ".codex/hooks/zaip-native-tool-authority.mjs", ".codex/hooks/zaip-subagent-lifecycle.mjs", ".codex/hooks/zaip-conversation-lifecycle.mjs", ".codex/hooks/zaip-hook-activation.mjs"];
|
|
2
|
+
export declare const HOOK_ACTIVATION_FILES: readonly [".codex/config.toml", ".codex/hooks/zaip-pre-tool-use.mjs", ".codex/hooks/zaip-pre-tool-support.mjs", ".codex/hooks/zaip-pre-tool-cloud.mjs", ".codex/hooks/zaip-pre-tool-host-context.mjs", ".codex/hooks/zaip-pre-tool-cli-capture.mjs", ".codex/hooks/zaip-native-tool-authority.mjs", ".codex/hooks/zaip-subagent-lifecycle.mjs", ".codex/hooks/zaip-conversation-lifecycle.mjs", ".codex/hooks/zaip-hook-activation.mjs"];
|
|
3
3
|
export declare const CODEX_HOOK_ACTIVATION: string;
|
|
4
4
|
//# sourceMappingURL=codex-hook-activation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-hook-activation.d.ts","sourceRoot":"","sources":["../../src/services/codex-hook-activation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,YACjC,YAAY,EACZ,eAAe,EACf,cAAc,EACd,MAAM,CACE,CAAC;AACX,eAAO,MAAM,qBAAqB,YAChC,oBAAoB,EACpB,oCAAoC,EACpC,wCAAwC,EACxC,6CAA6C,EAC7C,0CAA0C,EAC1C,8CAA8C,EAC9C,uCAAuC,CAC/B,CAAC;AAGX,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"codex-hook-activation.d.ts","sourceRoot":"","sources":["../../src/services/codex-hook-activation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,YACjC,YAAY,EACZ,eAAe,EACf,cAAc,EACd,MAAM,CACE,CAAC;AACX,eAAO,MAAM,qBAAqB,YAChC,oBAAoB,EACpB,oCAAoC,EACpC,wCAAwC,EACxC,sCAAsC,EACtC,6CAA6C,EAC7C,4CAA4C,EAC5C,6CAA6C,EAC7C,0CAA0C,EAC1C,8CAA8C,EAC9C,uCAAuC,CAC/B,CAAC;AAGX,eAAO,MAAM,qBAAqB,QAiKjC,CAAC"}
|
|
@@ -8,6 +8,9 @@ export const HOOK_ACTIVATION_FILES = [
|
|
|
8
8
|
".codex/config.toml",
|
|
9
9
|
".codex/hooks/zaip-pre-tool-use.mjs",
|
|
10
10
|
".codex/hooks/zaip-pre-tool-support.mjs",
|
|
11
|
+
".codex/hooks/zaip-pre-tool-cloud.mjs",
|
|
12
|
+
".codex/hooks/zaip-pre-tool-host-context.mjs",
|
|
13
|
+
".codex/hooks/zaip-pre-tool-cli-capture.mjs",
|
|
11
14
|
".codex/hooks/zaip-native-tool-authority.mjs",
|
|
12
15
|
".codex/hooks/zaip-subagent-lifecycle.mjs",
|
|
13
16
|
".codex/hooks/zaip-conversation-lifecycle.mjs",
|
|
@@ -15,7 +18,8 @@ export const HOOK_ACTIVATION_FILES = [
|
|
|
15
18
|
];
|
|
16
19
|
// Local diagnostic evidence, not a replacement for Codex's trust store or a security boundary.
|
|
17
20
|
export const CODEX_HOOK_ACTIVATION = String.raw `import { createHash, randomUUID } from "node:crypto";
|
|
18
|
-
import { lstatSync, mkdirSync, readFileSync, realpathSync, renameSync, writeFileSync } from "node:fs";
|
|
21
|
+
import { lstatSync, mkdirSync, readFileSync, realpathSync, renameSync, writeFileSync, existsSync, linkSync, unlinkSync } from "node:fs";
|
|
22
|
+
import { spawn } from "node:child_process";
|
|
19
23
|
import { dirname, resolve } from "node:path";
|
|
20
24
|
const files = ${JSON.stringify(HOOK_ACTIVATION_FILES)};
|
|
21
25
|
const events = ${JSON.stringify(HOOK_ACTIVATION_EVENTS)};
|
|
@@ -60,17 +64,119 @@ export function recordActivation(root, event, outcome = "observed") {
|
|
|
60
64
|
renameSync(temporary, path);
|
|
61
65
|
} catch { /* Diagnostics must not break a tool or turn. Missing evidence stays unknown. */ }
|
|
62
66
|
}
|
|
63
|
-
export
|
|
67
|
+
export function parseHookPolicies(source) {
|
|
68
|
+
if (typeof source !== "string" || Buffer.byteLength(source) > 65536) return { governance: false, tracking: false, diagnostic: "config_unsafe" };
|
|
69
|
+
const sections = { zaip: { seen: false, enabledSeen: false, value: false }, tracking: { seen: false, enabledSeen: false, value: false } };
|
|
70
|
+
let section = null, childIndent = null, invalid = null;
|
|
71
|
+
for (const raw of source.replace(/\r\n/g, "\n").split("\n")) {
|
|
72
|
+
if (!raw.trim() || /^\s*#/.test(raw)) continue;
|
|
73
|
+
const indent = /^ */.exec(raw)?.[0].length ?? 0;
|
|
74
|
+
if (indent === 0) {
|
|
75
|
+
section = null; childIndent = null;
|
|
76
|
+
const match = /^(zaip|tracking):(?:\s*(\{\s*enabled:\s*(true|false)\s*\}))?(?:\s*#.*)?$/.exec(raw);
|
|
77
|
+
if (!match) {
|
|
78
|
+
if (/^(zaip|tracking):/.test(raw)) invalid ??= "invalid_policy_section";
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
section = match[1];
|
|
82
|
+
if (sections[section].seen) invalid ??= "duplicate_section_" + section;
|
|
83
|
+
sections[section].seen = true;
|
|
84
|
+
if (match[3]) { sections[section].enabledSeen = true; sections[section].value = match[3] === "true"; }
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
if (section === null) continue;
|
|
88
|
+
if (childIndent === null) childIndent = indent;
|
|
89
|
+
if (indent !== childIndent) continue;
|
|
90
|
+
const key = /^\s+enabled:\s*(true|false)(?:\s*#.*)?$/.exec(raw);
|
|
91
|
+
if (key) {
|
|
92
|
+
if (sections[section].enabledSeen) invalid ??= "duplicate_enabled_" + section;
|
|
93
|
+
sections[section].enabledSeen = true;
|
|
94
|
+
sections[section].value = key[1] === "true";
|
|
95
|
+
} else if (/^\s+enabled\s*:/.test(raw)) invalid ??= "invalid_enabled_" + section;
|
|
96
|
+
}
|
|
97
|
+
if (invalid) return { governance: false, tracking: false, diagnostic: invalid };
|
|
98
|
+
return { governance: sections.zaip.enabledSeen && sections.zaip.value,
|
|
99
|
+
tracking: sections.tracking.enabledSeen && sections.tracking.value,
|
|
100
|
+
diagnostic: sections.zaip.enabledSeen && sections.tracking.enabledSeen ? null : "policy_missing" };
|
|
101
|
+
}
|
|
102
|
+
export async function hookPolicies(repositoryRoot, boundedCanonicalText) {
|
|
64
103
|
try {
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
104
|
+
const path = resolve(repositoryRoot, ".agents/config/project.yaml");
|
|
105
|
+
const source = boundedCanonicalText ? await boundedCanonicalText(path, 65536) : (() => {
|
|
106
|
+
const info = lstatSync(path);
|
|
107
|
+
if (!info.isFile() || info.isSymbolicLink() || info.size > 65536 || realpathSync(path).toLowerCase() !== path.toLowerCase()) throw new Error("unsafe_config");
|
|
108
|
+
return readFileSync(path, "utf8");
|
|
109
|
+
})();
|
|
110
|
+
return parseHookPolicies(source);
|
|
111
|
+
} catch (error) {
|
|
112
|
+
return { governance: false, tracking: false, diagnostic: error?.code === "ENOENT" ? "config_missing" : "config_unavailable" };
|
|
73
113
|
}
|
|
74
114
|
}
|
|
115
|
+
export async function isZaipDisabled(repositoryRoot, boundedCanonicalText) {
|
|
116
|
+
return !(await hookPolicies(repositoryRoot, boundedCanonicalText)).governance;
|
|
117
|
+
}
|
|
118
|
+
export function recordPolicyDiagnostic(root, policy) {
|
|
119
|
+
if (!policy.diagnostic) return;
|
|
120
|
+
try {
|
|
121
|
+
const directory = resolve(root, ".local/hooks");
|
|
122
|
+
mkdirSync(directory, { recursive: true });
|
|
123
|
+
if (!lstatSync(directory).isDirectory() || lstatSync(directory).isSymbolicLink() ||
|
|
124
|
+
realpathSync(directory).toLowerCase() !== directory.toLowerCase()) return;
|
|
125
|
+
const path = resolve(directory, "policy-status.json");
|
|
126
|
+
const temporary = path + ".tmp-" + randomUUID();
|
|
127
|
+
writeFileSync(temporary, JSON.stringify({ schema_version: 1, diagnostic: policy.diagnostic, observed_at: new Date().toISOString() }) + "\n", { flag: "wx", mode: 0o600 });
|
|
128
|
+
renameSync(temporary, path);
|
|
129
|
+
} catch { /* A policy diagnostic cannot block the host operation. */ }
|
|
130
|
+
}
|
|
131
|
+
export function recordHookObservation(root, event, governance = false) {
|
|
132
|
+
try {
|
|
133
|
+
const name = event?.hook_event_name;
|
|
134
|
+
if (!events.includes(name)) return;
|
|
135
|
+
const session_id = typeof event.session_id === "string" && event.session_id.length <= 200 ? event.session_id : null;
|
|
136
|
+
const turn_id = typeof event.turn_id === "string" && event.turn_id.length <= 200 ? event.turn_id : null;
|
|
137
|
+
if (!session_id || !turn_id) return;
|
|
138
|
+
const agent_id = typeof event.agent_id === "string" && event.agent_id.length <= 200 ? event.agent_id : null;
|
|
139
|
+
const parent_agent_id = typeof event.parent_agent_id === "string" && event.parent_agent_id.length <= 200 ? event.parent_agent_id : null;
|
|
140
|
+
const agent_path = typeof event.agent_path === "string" && event.agent_path.length <= 500 ? event.agent_path : null;
|
|
141
|
+
const tool_call_id = typeof event.tool_call_id === "string" && event.tool_call_id.length <= 200 ? event.tool_call_id : null;
|
|
142
|
+
const source_key = JSON.stringify([name, session_id, turn_id, agent_id, agent_path, tool_call_id, name === "PreToolUse" && !tool_call_id ? digest(JSON.stringify(event.tool_input ?? null)) : null]);
|
|
143
|
+
const directory = resolve(root, ".local/hooks/observations");
|
|
144
|
+
mkdirSync(directory, { recursive: true });
|
|
145
|
+
if (!lstatSync(directory).isDirectory() || lstatSync(directory).isSymbolicLink() ||
|
|
146
|
+
realpathSync(directory).toLowerCase() !== directory.toLowerCase()) return;
|
|
147
|
+
const path = resolve(directory, digest(source_key) + ".json");
|
|
148
|
+
const receipt = { schema_version: 1, state: "pending", event_id: "HOBS-" + digest(source_key), event_name: name,
|
|
149
|
+
session_id, turn_id, agent_id, agent_path, parent_agent_id, tool_call_id,
|
|
150
|
+
agent_type: typeof event.agent_type === "string" && event.agent_type.length <= 100 ? event.agent_type : null,
|
|
151
|
+
model: typeof event.model === "string" && event.model.length <= 200 ? event.model : null,
|
|
152
|
+
reasoning_effort: typeof event.model_reasoning_effort === "string" && event.model_reasoning_effort.length <= 40 ? event.model_reasoning_effort : null,
|
|
153
|
+
status: ["completed", "failed", "cancelled"].includes(event.status) ? event.status : null,
|
|
154
|
+
transcript_path: name === "Stop" && typeof event.transcript_path === "string" && event.transcript_path.length <= 4096 ? event.transcript_path : null,
|
|
155
|
+
governance,
|
|
156
|
+
observed_at: new Date().toISOString() };
|
|
157
|
+
if (!existsSync(path)) {
|
|
158
|
+
const temporary = path + ".tmp-" + randomUUID();
|
|
159
|
+
writeFileSync(temporary, JSON.stringify(receipt) + "\n", { flag: "wx", mode: 0o600 });
|
|
160
|
+
try { linkSync(temporary, path); } catch { /* Concurrent duplicate leaves its first durable receipt. */ }
|
|
161
|
+
finally { unlinkSync(temporary); }
|
|
162
|
+
}
|
|
163
|
+
const cli = resolve(root, ".agents/runtime/bin/zaip.mjs");
|
|
164
|
+
if (!existsSync(cli)) return;
|
|
165
|
+
const child = spawn(process.execPath, [cli, "hook", "observe", "--receipt", path, "--workspace", root, "--json"],
|
|
166
|
+
{ cwd: root, detached: true, windowsHide: true, stdio: "ignore" });
|
|
167
|
+
child.on("error", () => {});
|
|
168
|
+
child.unref();
|
|
169
|
+
} catch { /* The durable receipt is replayable; observation never blocks a tool. */ }
|
|
170
|
+
}
|
|
171
|
+
export function replayHookObservations(root) {
|
|
172
|
+
try {
|
|
173
|
+
const cli = resolve(root, ".agents/runtime/bin/zaip.mjs");
|
|
174
|
+
if (!existsSync(cli)) return;
|
|
175
|
+
const child = spawn(process.execPath, [cli, "hook", "replay-observations", "--workspace", root, "--json"],
|
|
176
|
+
{ cwd: root, detached: true, windowsHide: true, stdio: "ignore" });
|
|
177
|
+
child.on("error", () => {});
|
|
178
|
+
child.unref();
|
|
179
|
+
} catch { /* Pending receipts remain visible for a later replay. */ }
|
|
180
|
+
}
|
|
75
181
|
`;
|
|
76
182
|
//# sourceMappingURL=codex-hook-activation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-hook-activation.js","sourceRoot":"","sources":["../../src/services/codex-hook-activation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY;IACZ,eAAe;IACf,cAAc;IACd,MAAM;CACE,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,oBAAoB;IACpB,oCAAoC;IACpC,wCAAwC;IACxC,6CAA6C;IAC7C,0CAA0C;IAC1C,8CAA8C;IAC9C,uCAAuC;CAC/B,CAAC;AAEX,+FAA+F;AAC/F,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"codex-hook-activation.js","sourceRoot":"","sources":["../../src/services/codex-hook-activation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY;IACZ,eAAe;IACf,cAAc;IACd,MAAM;CACE,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,oBAAoB;IACpB,oCAAoC;IACpC,wCAAwC;IACxC,sCAAsC;IACtC,6CAA6C;IAC7C,4CAA4C;IAC5C,6CAA6C;IAC7C,0CAA0C;IAC1C,8CAA8C;IAC9C,uCAAuC;CAC/B,CAAC;AAEX,+FAA+F;AAC/F,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;gBAI/B,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;iBACpC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-cli-capture-template.d.ts","sourceRoot":"","sources":["../../src/services/codex-pre-tool-cli-capture-template.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B,QAsG3C,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export const CODEX_PRE_TOOL_CLI_CAPTURE_HOOK = String.raw `import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import { link, lstat, mkdir, readFile, realpath, unlink, writeFile } from "node:fs/promises";
|
|
3
|
+
import { isAbsolute, resolve, toNamespacedPath } from "node:path";
|
|
4
|
+
const pathIdentity = value => process.platform === "win32" ? toNamespacedPath(resolve(value)).toLowerCase() : resolve(value);
|
|
5
|
+
const hasTraversalSegment = path => path.split(/[\\/]/).includes("..");
|
|
6
|
+
|
|
7
|
+
export function createCliTurnCapture({ inside, tokenizeLiteralCommand }) {
|
|
8
|
+
async function captureCliTurn(repositoryRoot, event, command) {
|
|
9
|
+
const tokens = tokenizeLiteralCommand(command);
|
|
10
|
+
if (!tokens || tokens.length < 4) return;
|
|
11
|
+
let reviewedNode = /^(?:node|node\.exe)$/i.test(tokens[0]);
|
|
12
|
+
if (!reviewedNode && isAbsolute(tokens[0])) {
|
|
13
|
+
try {
|
|
14
|
+
const optIn = JSON.parse(await readFile(resolve(repositoryRoot, ".local/validation-runtime.json"), "utf8"));
|
|
15
|
+
reviewedNode = typeof optIn.executable === "string" &&
|
|
16
|
+
pathIdentity(await realpath(tokens[0])) === pathIdentity(await realpath(optIn.executable));
|
|
17
|
+
} catch { reviewedNode = false; }
|
|
18
|
+
}
|
|
19
|
+
if (!reviewedNode) return;
|
|
20
|
+
const script = resolve(event.cwd, tokens[1]);
|
|
21
|
+
if (script.toLowerCase() !== resolve(repositoryRoot, ".agents/runtime/bin/zaip.mjs").toLowerCase()) return;
|
|
22
|
+
if (tokens.some(token => token.startsWith("--codex-hook-"))) throw new Error("Codex hook identity cannot be supplied by the caller.");
|
|
23
|
+
const nativeStart = (tokens[2] === "conversation" || tokens[2] === "run") && tokens[3] === "start";
|
|
24
|
+
const historicalApplicability = tokens[2] === "task" && tokens[3] === "assurance" &&
|
|
25
|
+
/^TASK-[A-Z0-9-]+$/.test(tokens[4] ?? "") && (() => {
|
|
26
|
+
const tail = tokens.slice(5), seen = new Set();
|
|
27
|
+
for (let i = 0; i < tail.length; i++) {
|
|
28
|
+
const flag = tail[i];
|
|
29
|
+
if (seen.has(flag)) return false;
|
|
30
|
+
seen.add(flag);
|
|
31
|
+
if (flag === "--json") continue;
|
|
32
|
+
if (!["--inherit-applicability-attempt", "--applicability-map", "--run"].includes(flag) || !tail[i + 1]) return false;
|
|
33
|
+
i++;
|
|
34
|
+
}
|
|
35
|
+
const attempt = tail[tail.indexOf("--inherit-applicability-attempt") + 1];
|
|
36
|
+
const map = tail[tail.indexOf("--applicability-map") + 1];
|
|
37
|
+
const run = tail[tail.indexOf("--run") + 1];
|
|
38
|
+
const source = (seen.has("--inherit-applicability-attempt") && !seen.has("--applicability-map") && /^[1-9]\d*$/.test(attempt ?? "")) ||
|
|
39
|
+
(seen.has("--applicability-map") && !seen.has("--inherit-applicability-attempt") && /^\.local\/[A-Za-z0-9_./-]+\.json$/.test(map ?? "") && !hasTraversalSegment(map));
|
|
40
|
+
return seen.size === 3 && seen.has("--json") && source && /^RUN-[A-Z0-9-]+$/.test(run ?? "");
|
|
41
|
+
})();
|
|
42
|
+
const causalReservation = tokens[2] === "execution" && tokens[3] === "native-next" &&
|
|
43
|
+
/^EXEC-[A-Z0-9-]+$/.test(tokens[4] ?? "") && (() => {
|
|
44
|
+
const tail = tokens.slice(5), seen = new Set();
|
|
45
|
+
for (let i = 0; i < tail.length; i++) {
|
|
46
|
+
const flag = tail[i];
|
|
47
|
+
if (seen.has(flag)) return false;
|
|
48
|
+
seen.add(flag);
|
|
49
|
+
if (flag === "--json" || flag === "--reserve-causal") continue;
|
|
50
|
+
if (!["--run", "--contexts", "--host-capabilities"].includes(flag) || !tail[i + 1]) return false;
|
|
51
|
+
i++;
|
|
52
|
+
}
|
|
53
|
+
return seen.has("--reserve-causal") && seen.has("--json") && seen.has("--run") &&
|
|
54
|
+
seen.has("--contexts") && /^RUN-[A-Z0-9-]+$/.test(tail[tail.indexOf("--run") + 1] ?? "");
|
|
55
|
+
})();
|
|
56
|
+
if (!nativeStart && !historicalApplicability && !causalReservation) return;
|
|
57
|
+
if (tokens.includes("--help") || tokens.includes("-h")) return;
|
|
58
|
+
const threadId = event.session_id, turnId = event.turn_id, toolUseId = event.tool_use_id;
|
|
59
|
+
if (typeof threadId !== "string" || !/^[A-Za-z0-9_-]{1,256}$/.test(threadId) ||
|
|
60
|
+
typeof turnId !== "string" || !turnId || turnId.length > 256 ||
|
|
61
|
+
typeof toolUseId !== "string" || !toolUseId || toolUseId.length > 256 ||
|
|
62
|
+
(process.env.CODEX_THREAD_ID && process.env.CODEX_THREAD_ID !== threadId) ||
|
|
63
|
+
(process.env.CODEX_TURN_ID && process.env.CODEX_TURN_ID !== turnId)) {
|
|
64
|
+
throw new Error("Codex thread, turn and tool identity could not be captured for the ZAIP CLI.");
|
|
65
|
+
}
|
|
66
|
+
const directory = resolve(repositoryRoot, ".local/codex-hook-turn/v1");
|
|
67
|
+
const argvSha256 = createHash("sha256").update(JSON.stringify(tokens.slice(2))).digest("hex");
|
|
68
|
+
const digest = createHash("sha256").update(JSON.stringify([threadId, toolUseId])).digest("hex");
|
|
69
|
+
const target = resolve(directory, digest + ".json");
|
|
70
|
+
const temporary = resolve(directory, digest + "." + randomUUID() + ".tmp");
|
|
71
|
+
try {
|
|
72
|
+
let parent = repositoryRoot;
|
|
73
|
+
for (const part of [".local", "codex-hook-turn", "v1"]) {
|
|
74
|
+
parent = resolve(parent, part);
|
|
75
|
+
try { await mkdir(parent); } catch (error) { if (error?.code !== "EEXIST") throw error; }
|
|
76
|
+
const info = await lstat(parent), physical = await realpath(parent);
|
|
77
|
+
if (!info.isDirectory() || info.isSymbolicLink() || !inside(physical, repositoryRoot)) throw new Error("Unsafe turn receipt directory");
|
|
78
|
+
}
|
|
79
|
+
const value = {
|
|
80
|
+
schema_version: 1, thread_id: threadId, turn_id: turnId,
|
|
81
|
+
tool_use_sha256: digest, argv_sha256: argvSha256, observed_at_ms: Date.now(),
|
|
82
|
+
};
|
|
83
|
+
await writeFile(temporary, JSON.stringify(value) + "\n", { flag: "wx", mode: 0o600 });
|
|
84
|
+
try { await link(temporary, target); }
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (error.code !== "EEXIST") throw error;
|
|
87
|
+
const info = await lstat(target);
|
|
88
|
+
if (!info.isFile() || info.isSymbolicLink() || info.size > 4096 ||
|
|
89
|
+
pathIdentity(await realpath(target)) !== pathIdentity(target)) throw new Error("Unsafe existing turn receipt");
|
|
90
|
+
const prior = JSON.parse(await readFile(target, "utf8"));
|
|
91
|
+
for (const key of ["schema_version", "thread_id", "turn_id", "tool_use_sha256", "argv_sha256"])
|
|
92
|
+
if (prior[key] !== value[key]) throw new Error("Conflicting existing turn receipt");
|
|
93
|
+
if (!Number.isSafeInteger(prior.observed_at_ms) || prior.observed_at_ms > Date.now()) throw new Error("Invalid turn receipt time");
|
|
94
|
+
}
|
|
95
|
+
} catch {
|
|
96
|
+
throw new Error("Codex turn identity could not be persisted for the ZAIP CLI.");
|
|
97
|
+
} finally { await unlink(temporary).catch(() => {}); }
|
|
98
|
+
return command + " --codex-hook-id=" + digest + " --codex-hook-thread=" + threadId;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return captureCliTurn;
|
|
102
|
+
}
|
|
103
|
+
`;
|
|
104
|
+
//# sourceMappingURL=codex-pre-tool-cli-capture-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-cli-capture-template.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-cli-capture-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-cloud-template.d.ts","sourceRoot":"","sources":["../../src/services/codex-pre-tool-cloud-template.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,QA4LrC,CAAC"}
|