@alan512/experienceengine 0.2.1 → 0.3.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/.claude-plugin/marketplace.json +0 -0
- package/.claude-plugin/plugin.json +1 -1
- package/.env.example +0 -0
- package/.mcp.json +5 -6
- package/LICENSE +0 -0
- package/README.md +17 -7
- package/README.zh-CN.md +15 -5
- package/dist/adapters/claude-code/event-store.d.ts +0 -0
- package/dist/adapters/claude-code/event-store.js +0 -0
- package/dist/adapters/claude-code/event-store.js.map +0 -0
- package/dist/adapters/claude-code/hook-normalizer.d.ts +0 -0
- package/dist/adapters/claude-code/hook-normalizer.js +0 -0
- package/dist/adapters/claude-code/hook-normalizer.js.map +0 -0
- package/dist/adapters/claude-code/runtime-projection.d.ts +0 -0
- package/dist/adapters/claude-code/runtime-projection.js +0 -0
- package/dist/adapters/claude-code/runtime-projection.js.map +0 -0
- package/dist/adapters/claude-code/session-store.d.ts +0 -0
- package/dist/adapters/claude-code/session-store.js +0 -0
- package/dist/adapters/claude-code/session-store.js.map +0 -0
- package/dist/adapters/codex/action-registry.d.ts +23 -1
- package/dist/adapters/codex/action-registry.js +73 -0
- package/dist/adapters/codex/action-registry.js.map +1 -1
- package/dist/adapters/codex/behavior-loop.d.ts +80 -0
- package/dist/adapters/codex/behavior-loop.js +189 -0
- package/dist/adapters/codex/behavior-loop.js.map +1 -0
- package/dist/adapters/codex/broker-tools.d.ts +0 -0
- package/dist/adapters/codex/broker-tools.js +0 -0
- package/dist/adapters/codex/broker-tools.js.map +0 -0
- package/dist/adapters/codex/instruction-template.d.ts +0 -0
- package/dist/adapters/codex/instruction-template.js +0 -0
- package/dist/adapters/codex/instruction-template.js.map +0 -0
- package/dist/adapters/codex/mcp-server.d.ts +27 -72
- package/dist/adapters/codex/mcp-server.js +36 -160
- package/dist/adapters/codex/mcp-server.js.map +1 -1
- package/dist/analyzer/candidate-signals.d.ts +0 -0
- package/dist/analyzer/candidate-signals.js +0 -0
- package/dist/analyzer/candidate-signals.js.map +0 -0
- package/dist/analyzer/experience-analyzer.d.ts +0 -0
- package/dist/analyzer/experience-analyzer.js +0 -0
- package/dist/analyzer/experience-analyzer.js.map +0 -0
- package/dist/analyzer/extraction-evidence.d.ts +0 -0
- package/dist/analyzer/extraction-evidence.js +0 -0
- package/dist/analyzer/extraction-evidence.js.map +0 -0
- package/dist/analyzer/llm-learning-gate.d.ts +0 -0
- package/dist/analyzer/llm-learning-gate.js +0 -0
- package/dist/analyzer/llm-learning-gate.js.map +0 -0
- package/dist/analyzer/node-deduper.d.ts +0 -0
- package/dist/analyzer/node-deduper.js +0 -0
- package/dist/analyzer/node-deduper.js.map +0 -0
- package/dist/analyzer/node-normalizer.d.ts +0 -0
- package/dist/analyzer/node-normalizer.js +0 -0
- package/dist/analyzer/node-normalizer.js.map +0 -0
- package/dist/analyzer/storage-gate.d.ts +0 -0
- package/dist/analyzer/storage-gate.js +0 -0
- package/dist/analyzer/storage-gate.js.map +0 -0
- package/dist/analyzer/strategy-extractor.d.ts +0 -0
- package/dist/analyzer/strategy-extractor.js +0 -0
- package/dist/analyzer/strategy-extractor.js.map +0 -0
- package/dist/analyzer/warning-extractor.d.ts +0 -0
- package/dist/analyzer/warning-extractor.js +0 -0
- package/dist/analyzer/warning-extractor.js.map +0 -0
- package/dist/cli/commands/backup.d.ts +0 -0
- package/dist/cli/commands/backup.js +0 -0
- package/dist/cli/commands/backup.js.map +0 -0
- package/dist/cli/commands/claude-hook.d.ts +4 -0
- package/dist/cli/commands/claude-hook.js +105 -21
- package/dist/cli/commands/claude-hook.js.map +1 -1
- package/dist/cli/commands/codex-hook.d.ts +22 -0
- package/dist/cli/commands/codex-hook.js +298 -0
- package/dist/cli/commands/codex-hook.js.map +1 -0
- package/dist/cli/commands/codex-mcp-server.d.ts +0 -0
- package/dist/cli/commands/codex-mcp-server.js +0 -0
- package/dist/cli/commands/codex-mcp-server.js.map +0 -0
- package/dist/cli/commands/codex.d.ts +0 -0
- package/dist/cli/commands/codex.js +0 -0
- package/dist/cli/commands/codex.js.map +0 -0
- package/dist/cli/commands/config.d.ts +0 -0
- package/dist/cli/commands/config.js +9 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/cool.d.ts +0 -0
- package/dist/cli/commands/cool.js +0 -0
- package/dist/cli/commands/cool.js.map +0 -0
- package/dist/cli/commands/disable.d.ts +0 -0
- package/dist/cli/commands/disable.js +0 -0
- package/dist/cli/commands/disable.js.map +0 -0
- package/dist/cli/commands/doctor.d.ts +0 -0
- package/dist/cli/commands/doctor.js +63 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/enable.d.ts +0 -0
- package/dist/cli/commands/enable.js +0 -0
- package/dist/cli/commands/enable.js.map +0 -0
- package/dist/cli/commands/evaluate.d.ts +0 -0
- package/dist/cli/commands/evaluate.js +0 -0
- package/dist/cli/commands/evaluate.js.map +0 -0
- package/dist/cli/commands/export.d.ts +0 -0
- package/dist/cli/commands/export.js +0 -0
- package/dist/cli/commands/export.js.map +0 -0
- package/dist/cli/commands/feedback.d.ts +0 -0
- package/dist/cli/commands/feedback.js +0 -0
- package/dist/cli/commands/feedback.js.map +0 -0
- package/dist/cli/commands/import.d.ts +0 -0
- package/dist/cli/commands/import.js +0 -0
- package/dist/cli/commands/import.js.map +0 -0
- package/dist/cli/commands/init.d.ts +0 -0
- package/dist/cli/commands/init.js +0 -0
- package/dist/cli/commands/init.js.map +0 -0
- package/dist/cli/commands/inspect.d.ts +1 -1
- package/dist/cli/commands/inspect.js +325 -1
- package/dist/cli/commands/inspect.js.map +1 -1
- package/dist/cli/commands/install.d.ts +0 -0
- package/dist/cli/commands/install.js +2 -0
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/maintenance.d.ts +0 -0
- package/dist/cli/commands/maintenance.js +4 -0
- package/dist/cli/commands/maintenance.js.map +1 -1
- package/dist/cli/commands/mcp-server.d.ts +0 -0
- package/dist/cli/commands/mcp-server.js +0 -0
- package/dist/cli/commands/mcp-server.js.map +0 -0
- package/dist/cli/commands/models.d.ts +0 -0
- package/dist/cli/commands/models.js +0 -0
- package/dist/cli/commands/models.js.map +0 -0
- package/dist/cli/commands/repair.d.ts +0 -0
- package/dist/cli/commands/repair.js +33 -3
- package/dist/cli/commands/repair.js.map +1 -1
- package/dist/cli/commands/retire.d.ts +0 -0
- package/dist/cli/commands/retire.js +0 -0
- package/dist/cli/commands/retire.js.map +0 -0
- package/dist/cli/commands/rollback.d.ts +0 -0
- package/dist/cli/commands/rollback.js +0 -0
- package/dist/cli/commands/rollback.js.map +0 -0
- package/dist/cli/commands/stats.d.ts +0 -0
- package/dist/cli/commands/stats.js +0 -0
- package/dist/cli/commands/stats.js.map +0 -0
- package/dist/cli/commands/status.d.ts +0 -0
- package/dist/cli/commands/status.js +27 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +0 -0
- package/dist/cli/commands/upgrade.js +0 -0
- package/dist/cli/commands/upgrade.js.map +0 -0
- package/dist/cli/dispatch.d.ts +0 -0
- package/dist/cli/dispatch.js +8 -3
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/cli/index.d.ts +0 -0
- package/dist/cli/index.js +0 -0
- package/dist/cli/index.js.map +0 -0
- package/dist/cli/state-model.d.ts +0 -0
- package/dist/cli/state-model.js +0 -0
- package/dist/cli/state-model.js.map +0 -0
- package/dist/config/config-schema.d.ts +8 -0
- package/dist/config/config-schema.js +6 -0
- package/dist/config/config-schema.js.map +1 -1
- package/dist/config/default-config.d.ts +0 -0
- package/dist/config/default-config.js +1 -0
- package/dist/config/default-config.js.map +1 -1
- package/dist/config/load-config.d.ts +0 -0
- package/dist/config/load-config.js +3 -0
- package/dist/config/load-config.js.map +1 -1
- package/dist/config/path-resolver.d.ts +0 -0
- package/dist/config/path-resolver.js +0 -0
- package/dist/config/path-resolver.js.map +0 -0
- package/dist/config/runtime-env.d.ts +0 -0
- package/dist/config/runtime-env.js +0 -0
- package/dist/config/runtime-env.js.map +0 -0
- package/dist/config/secrets-store.d.ts +0 -0
- package/dist/config/secrets-store.js +0 -0
- package/dist/config/secrets-store.js.map +0 -0
- package/dist/config/settings-store.d.ts +0 -0
- package/dist/config/settings-store.js +0 -0
- package/dist/config/settings-store.js.map +0 -0
- package/dist/controller/candidate-retriever.d.ts +4 -1
- package/dist/controller/candidate-retriever.js +129 -13
- package/dist/controller/candidate-retriever.js.map +1 -1
- package/dist/controller/injection-renderer.d.ts +2 -2
- package/dist/controller/injection-renderer.js +22 -3
- package/dist/controller/injection-renderer.js.map +1 -1
- package/dist/controller/injection-scorecard.d.ts +0 -0
- package/dist/controller/injection-scorecard.js +3 -0
- package/dist/controller/injection-scorecard.js.map +1 -1
- package/dist/controller/inline-notice.d.ts +0 -0
- package/dist/controller/inline-notice.js +0 -0
- package/dist/controller/inline-notice.js.map +0 -0
- package/dist/controller/intervention-controller.d.ts +2 -2
- package/dist/controller/intervention-controller.js +183 -25
- package/dist/controller/intervention-controller.js.map +1 -1
- package/dist/controller/lexical-retriever.d.ts +0 -0
- package/dist/controller/lexical-retriever.js +0 -0
- package/dist/controller/lexical-retriever.js.map +0 -0
- package/dist/controller/model-reranker-mode.d.ts +4 -0
- package/dist/controller/model-reranker-mode.js +14 -0
- package/dist/controller/model-reranker-mode.js.map +1 -0
- package/dist/controller/model-reranker.d.ts +0 -1
- package/dist/controller/model-reranker.js +1 -13
- package/dist/controller/model-reranker.js.map +1 -1
- package/dist/controller/node-ranker.d.ts +0 -0
- package/dist/controller/node-ranker.js +0 -0
- package/dist/controller/node-ranker.js.map +0 -0
- package/dist/controller/policy-enricher.d.ts +2 -1
- package/dist/controller/policy-enricher.js +71 -11
- package/dist/controller/policy-enricher.js.map +1 -1
- package/dist/controller/query-rewrite.d.ts +0 -0
- package/dist/controller/query-rewrite.js +0 -0
- package/dist/controller/query-rewrite.js.map +0 -0
- package/dist/controller/retrieval-context.d.ts +0 -0
- package/dist/controller/retrieval-context.js +0 -0
- package/dist/controller/retrieval-context.js.map +0 -0
- package/dist/controller/second-opinion-gate.d.ts +0 -0
- package/dist/controller/second-opinion-gate.js +0 -0
- package/dist/controller/second-opinion-gate.js.map +0 -0
- package/dist/controller/trigger-evaluator.d.ts +0 -0
- package/dist/controller/trigger-evaluator.js +0 -0
- package/dist/controller/trigger-evaluator.js.map +0 -0
- package/dist/distillation/errors.d.ts +0 -0
- package/dist/distillation/errors.js +0 -0
- package/dist/distillation/errors.js.map +0 -0
- package/dist/distillation/experience-family.d.ts +0 -0
- package/dist/distillation/experience-family.js +0 -0
- package/dist/distillation/experience-family.js.map +0 -0
- package/dist/distillation/host-llm.d.ts +0 -0
- package/dist/distillation/host-llm.js +0 -0
- package/dist/distillation/host-llm.js.map +0 -0
- package/dist/distillation/llm-distiller.d.ts +0 -0
- package/dist/distillation/llm-distiller.js +0 -0
- package/dist/distillation/llm-distiller.js.map +0 -0
- package/dist/distillation/merge-decider.d.ts +0 -0
- package/dist/distillation/merge-decider.js +0 -0
- package/dist/distillation/merge-decider.js.map +0 -0
- package/dist/distillation/model-catalog.d.ts +0 -0
- package/dist/distillation/model-catalog.js +0 -0
- package/dist/distillation/model-catalog.js.map +0 -0
- package/dist/distillation/prompt-contract.d.ts +0 -0
- package/dist/distillation/prompt-contract.js +0 -0
- package/dist/distillation/prompt-contract.js.map +0 -0
- package/dist/distillation/providers/anthropic.d.ts +0 -0
- package/dist/distillation/providers/anthropic.js +0 -0
- package/dist/distillation/providers/anthropic.js.map +0 -0
- package/dist/distillation/providers/azure-openai.d.ts +0 -0
- package/dist/distillation/providers/azure-openai.js +0 -0
- package/dist/distillation/providers/azure-openai.js.map +0 -0
- package/dist/distillation/providers/baidu-qianfan.d.ts +0 -0
- package/dist/distillation/providers/baidu-qianfan.js +0 -0
- package/dist/distillation/providers/baidu-qianfan.js.map +0 -0
- package/dist/distillation/providers/bedrock.d.ts +0 -0
- package/dist/distillation/providers/bedrock.js +0 -0
- package/dist/distillation/providers/bedrock.js.map +0 -0
- package/dist/distillation/providers/dashscope.d.ts +0 -0
- package/dist/distillation/providers/dashscope.js +0 -0
- package/dist/distillation/providers/dashscope.js.map +0 -0
- package/dist/distillation/providers/deepseek.d.ts +0 -0
- package/dist/distillation/providers/deepseek.js +0 -0
- package/dist/distillation/providers/deepseek.js.map +0 -0
- package/dist/distillation/providers/gemini.d.ts +0 -0
- package/dist/distillation/providers/gemini.js +0 -0
- package/dist/distillation/providers/gemini.js.map +0 -0
- package/dist/distillation/providers/google-adc.d.ts +0 -0
- package/dist/distillation/providers/google-adc.js +0 -0
- package/dist/distillation/providers/google-adc.js.map +0 -0
- package/dist/distillation/providers/minimax.d.ts +0 -0
- package/dist/distillation/providers/minimax.js +0 -0
- package/dist/distillation/providers/minimax.js.map +0 -0
- package/dist/distillation/providers/moonshot.d.ts +0 -0
- package/dist/distillation/providers/moonshot.js +0 -0
- package/dist/distillation/providers/moonshot.js.map +0 -0
- package/dist/distillation/providers/openai-compatible-factory.d.ts +0 -0
- package/dist/distillation/providers/openai-compatible-factory.js +0 -0
- package/dist/distillation/providers/openai-compatible-factory.js.map +0 -0
- package/dist/distillation/providers/openai-compatible.d.ts +0 -0
- package/dist/distillation/providers/openai-compatible.js +0 -0
- package/dist/distillation/providers/openai-compatible.js.map +0 -0
- package/dist/distillation/providers/openai.d.ts +0 -0
- package/dist/distillation/providers/openai.js +0 -0
- package/dist/distillation/providers/openai.js.map +0 -0
- package/dist/distillation/providers/openrouter.d.ts +0 -0
- package/dist/distillation/providers/openrouter.js +0 -0
- package/dist/distillation/providers/openrouter.js.map +0 -0
- package/dist/distillation/providers/registry.d.ts +0 -0
- package/dist/distillation/providers/registry.js +0 -0
- package/dist/distillation/providers/registry.js.map +0 -0
- package/dist/distillation/providers/siliconflow.d.ts +0 -0
- package/dist/distillation/providers/siliconflow.js +0 -0
- package/dist/distillation/providers/siliconflow.js.map +0 -0
- package/dist/distillation/providers/tencent-hunyuan.d.ts +0 -0
- package/dist/distillation/providers/tencent-hunyuan.js +0 -0
- package/dist/distillation/providers/tencent-hunyuan.js.map +0 -0
- package/dist/distillation/providers/types.d.ts +0 -0
- package/dist/distillation/providers/types.js +0 -0
- package/dist/distillation/providers/types.js.map +0 -0
- package/dist/distillation/providers/volcengine-ark.d.ts +0 -0
- package/dist/distillation/providers/volcengine-ark.js +0 -0
- package/dist/distillation/providers/volcengine-ark.js.map +0 -0
- package/dist/distillation/providers/zhipu.d.ts +0 -0
- package/dist/distillation/providers/zhipu.js +0 -0
- package/dist/distillation/providers/zhipu.js.map +0 -0
- package/dist/distillation/queue-worker.d.ts +0 -0
- package/dist/distillation/queue-worker.js +0 -0
- package/dist/distillation/queue-worker.js.map +0 -0
- package/dist/distillation/types.d.ts +0 -0
- package/dist/distillation/types.js +0 -0
- package/dist/distillation/types.js.map +0 -0
- package/dist/evaluation/benchmark-report.d.ts +0 -0
- package/dist/evaluation/benchmark-report.js +0 -0
- package/dist/evaluation/benchmark-report.js.map +0 -0
- package/dist/evaluation/benchmark-summary.d.ts +0 -0
- package/dist/evaluation/benchmark-summary.js +0 -0
- package/dist/evaluation/benchmark-summary.js.map +0 -0
- package/dist/evaluation/codex-lifecycle-validation.d.ts +0 -0
- package/dist/evaluation/codex-lifecycle-validation.js +0 -0
- package/dist/evaluation/codex-lifecycle-validation.js.map +0 -0
- package/dist/evaluation/hybrid-phase1-rollout-summary.d.ts +0 -0
- package/dist/evaluation/hybrid-phase1-rollout-summary.js +0 -0
- package/dist/evaluation/hybrid-phase1-rollout-summary.js.map +0 -0
- package/dist/evaluation/hybrid-phase3-gate-metrics.d.ts +0 -0
- package/dist/evaluation/hybrid-phase3-gate-metrics.js +0 -0
- package/dist/evaluation/hybrid-phase3-gate-metrics.js.map +0 -0
- package/dist/evaluation/openclaw-baseline.d.ts +0 -0
- package/dist/evaluation/openclaw-baseline.js +0 -0
- package/dist/evaluation/openclaw-baseline.js.map +0 -0
- package/dist/evaluation/openclaw-scenarios.d.ts +0 -0
- package/dist/evaluation/openclaw-scenarios.js +12 -5
- package/dist/evaluation/openclaw-scenarios.js.map +1 -1
- package/dist/experience-management/governance-observability.d.ts +0 -0
- package/dist/experience-management/governance-observability.js +0 -0
- package/dist/experience-management/governance-observability.js.map +0 -0
- package/dist/experience-management/node-lifecycle-governance.d.ts +0 -0
- package/dist/experience-management/node-lifecycle-governance.js +0 -0
- package/dist/experience-management/node-lifecycle-governance.js.map +0 -0
- package/dist/experience-management/repo-policy.d.ts +53 -0
- package/dist/experience-management/repo-policy.js +175 -0
- package/dist/experience-management/repo-policy.js.map +1 -0
- package/dist/experience-management/task-management-signals.d.ts +0 -0
- package/dist/experience-management/task-management-signals.js +0 -0
- package/dist/experience-management/task-management-signals.js.map +0 -0
- package/dist/feedback/automatic-attribution.d.ts +0 -0
- package/dist/feedback/automatic-attribution.js +0 -0
- package/dist/feedback/automatic-attribution.js.map +0 -0
- package/dist/feedback/feedback-manager.d.ts +0 -0
- package/dist/feedback/feedback-manager.js +0 -0
- package/dist/feedback/feedback-manager.js.map +0 -0
- package/dist/feedback/harm-detector.d.ts +0 -0
- package/dist/feedback/harm-detector.js +0 -0
- package/dist/feedback/harm-detector.js.map +0 -0
- package/dist/feedback/state-transition.d.ts +0 -0
- package/dist/feedback/state-transition.js +0 -0
- package/dist/feedback/state-transition.js.map +0 -0
- package/dist/feedback/stats-updater.d.ts +0 -0
- package/dist/feedback/stats-updater.js +0 -0
- package/dist/feedback/stats-updater.js.map +0 -0
- package/dist/hybrid/capsule-builder.d.ts +0 -0
- package/dist/hybrid/capsule-builder.js +2 -0
- package/dist/hybrid/capsule-builder.js.map +1 -1
- package/dist/hybrid/explain-provider-client.d.ts +0 -0
- package/dist/hybrid/explain-provider-client.js +0 -0
- package/dist/hybrid/explain-provider-client.js.map +0 -0
- package/dist/hybrid/postmortem-provider-client.d.ts +0 -0
- package/dist/hybrid/postmortem-provider-client.js +0 -0
- package/dist/hybrid/postmortem-provider-client.js.map +0 -0
- package/dist/hybrid/rollout.d.ts +0 -0
- package/dist/hybrid/rollout.js +0 -0
- package/dist/hybrid/rollout.js.map +0 -0
- package/dist/hybrid/router.d.ts +0 -0
- package/dist/hybrid/router.js +0 -0
- package/dist/hybrid/router.js.map +0 -0
- package/dist/hybrid/types.d.ts +0 -0
- package/dist/hybrid/types.js +0 -0
- package/dist/hybrid/types.js.map +0 -0
- package/dist/hybrid/validators.d.ts +0 -0
- package/dist/hybrid/validators.js +0 -0
- package/dist/hybrid/validators.js.map +0 -0
- package/dist/hybrid/worker-client.d.ts +0 -0
- package/dist/hybrid/worker-client.js +0 -0
- package/dist/hybrid/worker-client.js.map +0 -0
- package/dist/hybrid/workers/explain-decision-llm.d.ts +0 -0
- package/dist/hybrid/workers/explain-decision-llm.js +0 -0
- package/dist/hybrid/workers/explain-decision-llm.js.map +0 -0
- package/dist/hybrid/workers/explain-decision.d.ts +0 -0
- package/dist/hybrid/workers/explain-decision.js +0 -0
- package/dist/hybrid/workers/explain-decision.js.map +0 -0
- package/dist/hybrid/workers/postmortem-review-llm.d.ts +0 -0
- package/dist/hybrid/workers/postmortem-review-llm.js +0 -0
- package/dist/hybrid/workers/postmortem-review-llm.js.map +0 -0
- package/dist/hybrid/workers/postmortem-review.d.ts +0 -0
- package/dist/hybrid/workers/postmortem-review.js +0 -0
- package/dist/hybrid/workers/postmortem-review.js.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +0 -0
- package/dist/index.js.map +0 -0
- package/dist/input/context-summary-adapter.d.ts +0 -0
- package/dist/input/context-summary-adapter.js +0 -0
- package/dist/input/context-summary-adapter.js.map +0 -0
- package/dist/input/input-adapter.d.ts +0 -0
- package/dist/input/input-adapter.js +0 -0
- package/dist/input/input-adapter.js.map +0 -0
- package/dist/input/outcome-resolver.d.ts +0 -0
- package/dist/input/outcome-resolver.js +0 -0
- package/dist/input/outcome-resolver.js.map +0 -0
- package/dist/input/scope-resolver.d.ts +0 -0
- package/dist/input/scope-resolver.js +16 -4
- package/dist/input/scope-resolver.js.map +1 -1
- package/dist/input/tasktype-resolver.d.ts +0 -0
- package/dist/input/tasktype-resolver.js +0 -0
- package/dist/input/tasktype-resolver.js.map +0 -0
- package/dist/input/tool-event-significance.d.ts +0 -0
- package/dist/input/tool-event-significance.js +0 -0
- package/dist/input/tool-event-significance.js.map +0 -0
- package/dist/install/claude-cli.d.ts +0 -0
- package/dist/install/claude-cli.js +38 -21
- package/dist/install/claude-cli.js.map +1 -1
- package/dist/install/claude-code-doctor.d.ts +0 -0
- package/dist/install/claude-code-doctor.js +8 -3
- package/dist/install/claude-code-doctor.js.map +1 -1
- package/dist/install/claude-code-installer.d.ts +0 -0
- package/dist/install/claude-code-installer.js +5 -2
- package/dist/install/claude-code-installer.js.map +1 -1
- package/dist/install/claude-marketplace-state.d.ts +0 -0
- package/dist/install/claude-marketplace-state.js +0 -0
- package/dist/install/claude-marketplace-state.js.map +0 -0
- package/dist/install/claude-runtime-target.d.ts +5 -0
- package/dist/install/claude-runtime-target.js +32 -2
- package/dist/install/claude-runtime-target.js.map +1 -1
- package/dist/install/codex-cli.d.ts +7 -0
- package/dist/install/codex-cli.js +43 -20
- package/dist/install/codex-cli.js.map +1 -1
- package/dist/install/codex-hooks.d.ts +42 -0
- package/dist/install/codex-hooks.js +258 -0
- package/dist/install/codex-hooks.js.map +1 -0
- package/dist/install/codex-installer.d.ts +21 -3
- package/dist/install/codex-installer.js +98 -9
- package/dist/install/codex-installer.js.map +1 -1
- package/dist/install/codex-runtime-target.d.ts +20 -0
- package/dist/install/codex-runtime-target.js +85 -17
- package/dist/install/codex-runtime-target.js.map +1 -1
- package/dist/install/host-detection.d.ts +0 -0
- package/dist/install/host-detection.js +0 -0
- package/dist/install/host-detection.js.map +0 -0
- package/dist/install/openclaw-cli.d.ts +1 -0
- package/dist/install/openclaw-cli.js +52 -3
- package/dist/install/openclaw-cli.js.map +1 -1
- package/dist/install/openclaw-installer.d.ts +5 -0
- package/dist/install/openclaw-installer.js +24 -5
- package/dist/install/openclaw-installer.js.map +1 -1
- package/dist/install/public-install.d.ts +0 -0
- package/dist/install/public-install.js +0 -0
- package/dist/install/public-install.js.map +0 -0
- package/dist/install/registry-health.d.ts +0 -0
- package/dist/install/registry-health.js +0 -0
- package/dist/install/registry-health.js.map +0 -0
- package/dist/interaction/operational-actions-service.d.ts +0 -0
- package/dist/interaction/operational-actions-service.js +0 -0
- package/dist/interaction/operational-actions-service.js.map +0 -0
- package/dist/interaction/operational-service.d.ts +0 -0
- package/dist/interaction/operational-service.js +0 -0
- package/dist/interaction/operational-service.js.map +0 -0
- package/dist/interaction/repo-summary.d.ts +17 -0
- package/dist/interaction/repo-summary.js +33 -15
- package/dist/interaction/repo-summary.js.map +1 -1
- package/dist/interaction/retrieval-policy-inspection.d.ts +19 -0
- package/dist/interaction/retrieval-policy-inspection.js +33 -0
- package/dist/interaction/retrieval-policy-inspection.js.map +1 -0
- package/dist/interaction/service.d.ts +24 -1
- package/dist/interaction/service.js +171 -12
- package/dist/interaction/service.js.map +1 -1
- package/dist/interaction/state-artifact-service.d.ts +0 -0
- package/dist/interaction/state-artifact-service.js +0 -0
- package/dist/interaction/state-artifact-service.js.map +0 -0
- package/dist/maintenance/claude-validate-print.d.ts +8 -1
- package/dist/maintenance/claude-validate-print.js +52 -2
- package/dist/maintenance/claude-validate-print.js.map +1 -1
- package/dist/maintenance/embedding-smoke.d.ts +0 -0
- package/dist/maintenance/embedding-smoke.js +0 -0
- package/dist/maintenance/embedding-smoke.js.map +0 -0
- package/dist/maintenance/experience-export-drafts.d.ts +56 -0
- package/dist/maintenance/experience-export-drafts.js +217 -0
- package/dist/maintenance/experience-export-drafts.js.map +1 -0
- package/dist/maintenance/experience-hygiene.d.ts +38 -0
- package/dist/maintenance/experience-hygiene.js +266 -0
- package/dist/maintenance/experience-hygiene.js.map +1 -0
- package/dist/maintenance/operator-review-flow.d.ts +81 -0
- package/dist/maintenance/operator-review-flow.js +172 -0
- package/dist/maintenance/operator-review-flow.js.map +1 -0
- package/dist/maintenance/redistill-rule-nodes.d.ts +0 -0
- package/dist/maintenance/redistill-rule-nodes.js +0 -0
- package/dist/maintenance/redistill-rule-nodes.js.map +0 -0
- package/dist/maintenance/scope-merge.d.ts +0 -0
- package/dist/maintenance/scope-merge.js +0 -0
- package/dist/maintenance/scope-merge.js.map +0 -0
- package/dist/maintenance/warning-variant-cleanup.d.ts +0 -0
- package/dist/maintenance/warning-variant-cleanup.js +0 -0
- package/dist/maintenance/warning-variant-cleanup.js.map +0 -0
- package/dist/plugin/fixture-sanitizer.d.ts +0 -0
- package/dist/plugin/fixture-sanitizer.js +0 -0
- package/dist/plugin/fixture-sanitizer.js.map +0 -0
- package/dist/plugin/hooks/before-prompt-build.d.ts +0 -0
- package/dist/plugin/hooks/before-prompt-build.js +0 -0
- package/dist/plugin/hooks/before-prompt-build.js.map +0 -0
- package/dist/plugin/hooks/message-sent.d.ts +0 -0
- package/dist/plugin/hooks/message-sent.js +0 -0
- package/dist/plugin/hooks/message-sent.js.map +0 -0
- package/dist/plugin/hooks/tool-result-persist.d.ts +0 -0
- package/dist/plugin/hooks/tool-result-persist.js +0 -0
- package/dist/plugin/hooks/tool-result-persist.js.map +0 -0
- package/dist/plugin/openclaw-install-state.d.ts +0 -0
- package/dist/plugin/openclaw-install-state.js +0 -0
- package/dist/plugin/openclaw-install-state.js.map +0 -0
- package/dist/plugin/openclaw-plugin.d.ts +5 -0
- package/dist/plugin/openclaw-plugin.js +0 -0
- package/dist/plugin/openclaw-plugin.js.map +0 -0
- package/dist/plugin/openclaw-routine-interaction.d.ts +0 -0
- package/dist/plugin/openclaw-routine-interaction.js +0 -0
- package/dist/plugin/openclaw-routine-interaction.js.map +0 -0
- package/dist/plugin/openclaw-runtime-defaults.d.ts +0 -0
- package/dist/plugin/openclaw-runtime-defaults.js +0 -0
- package/dist/plugin/openclaw-runtime-defaults.js.map +0 -0
- package/dist/plugin/runtime-capture.d.ts +0 -0
- package/dist/plugin/runtime-capture.js +0 -0
- package/dist/plugin/runtime-capture.js.map +0 -0
- package/dist/plugin/runtime-helpers.d.ts +0 -0
- package/dist/plugin/runtime-helpers.js +43 -1
- package/dist/plugin/runtime-helpers.js.map +1 -1
- package/dist/runtime/prompt-service.d.ts +51 -0
- package/dist/runtime/prompt-service.js +209 -0
- package/dist/runtime/prompt-service.js.map +1 -0
- package/dist/runtime/service.d.ts +7 -2
- package/dist/runtime/service.js +176 -25
- package/dist/runtime/service.js.map +1 -1
- package/dist/store/logs/jsonl-logger.d.ts +0 -0
- package/dist/store/logs/jsonl-logger.js +0 -0
- package/dist/store/logs/jsonl-logger.js.map +0 -0
- package/dist/store/sqlite/db.d.ts +0 -0
- package/dist/store/sqlite/db.js +15 -0
- package/dist/store/sqlite/db.js.map +1 -1
- package/dist/store/sqlite/migrations.d.ts +0 -0
- package/dist/store/sqlite/migrations.js +0 -0
- package/dist/store/sqlite/migrations.js.map +0 -0
- package/dist/store/sqlite/repositories/attribution-record-repo.d.ts +15 -0
- package/dist/store/sqlite/repositories/attribution-record-repo.js +111 -0
- package/dist/store/sqlite/repositories/attribution-record-repo.js.map +1 -0
- package/dist/store/sqlite/repositories/candidate-repo.d.ts +0 -0
- package/dist/store/sqlite/repositories/candidate-repo.js +0 -0
- package/dist/store/sqlite/repositories/candidate-repo.js.map +0 -0
- package/dist/store/sqlite/repositories/distillation-job-repo.d.ts +0 -0
- package/dist/store/sqlite/repositories/distillation-job-repo.js +0 -0
- package/dist/store/sqlite/repositories/distillation-job-repo.js.map +0 -0
- package/dist/store/sqlite/repositories/episode-repo.d.ts +14 -0
- package/dist/store/sqlite/repositories/episode-repo.js +84 -0
- package/dist/store/sqlite/repositories/episode-repo.js.map +1 -0
- package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.d.ts +0 -0
- package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.js +0 -0
- package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.js.map +0 -0
- package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.d.ts +0 -0
- package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.js +0 -0
- package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.js.map +0 -0
- package/dist/store/sqlite/repositories/injection-repo.d.ts +2 -0
- package/dist/store/sqlite/repositories/injection-repo.js +32 -5
- package/dist/store/sqlite/repositories/injection-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/input-record-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/input-record-repo.js +23 -10
- package/dist/store/sqlite/repositories/input-record-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/node-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/node-repo.js +10 -0
- package/dist/store/sqlite/repositories/node-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/outcome-record-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/outcome-record-repo.js +11 -2
- package/dist/store/sqlite/repositories/outcome-record-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/repo-policy-repo.d.ts +11 -0
- package/dist/store/sqlite/repositories/repo-policy-repo.js +87 -0
- package/dist/store/sqlite/repositories/repo-policy-repo.js.map +1 -0
- package/dist/store/sqlite/repositories/review-event-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/review-event-repo.js +11 -2
- package/dist/store/sqlite/repositories/review-event-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/scope-repo.d.ts +0 -0
- package/dist/store/sqlite/repositories/scope-repo.js +0 -0
- package/dist/store/sqlite/repositories/scope-repo.js.map +0 -0
- package/dist/store/sqlite/repositories/stats-repo.d.ts +0 -0
- package/dist/store/sqlite/repositories/stats-repo.js +0 -0
- package/dist/store/sqlite/repositories/stats-repo.js.map +0 -0
- package/dist/store/sqlite/repositories/task-run-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/task-run-repo.js +11 -2
- package/dist/store/sqlite/repositories/task-run-repo.js.map +1 -1
- package/dist/store/sqlite/schema.sql +43 -0
- package/dist/store/vector/api-embedding-provider.d.ts +0 -0
- package/dist/store/vector/api-embedding-provider.js +14 -3
- package/dist/store/vector/api-embedding-provider.js.map +1 -1
- package/dist/store/vector/embeddings.d.ts +0 -0
- package/dist/store/vector/embeddings.js +7 -1
- package/dist/store/vector/embeddings.js.map +1 -1
- package/dist/store/vector/lancedb.d.ts +0 -0
- package/dist/store/vector/lancedb.js +0 -0
- package/dist/store/vector/lancedb.js.map +0 -0
- package/dist/store/vector/local-provider.d.ts +0 -0
- package/dist/store/vector/local-provider.js +0 -0
- package/dist/store/vector/local-provider.js.map +0 -0
- package/dist/store/vector/node-index.d.ts +0 -0
- package/dist/store/vector/node-index.js +0 -0
- package/dist/store/vector/node-index.js.map +0 -0
- package/dist/store/vector/provider-types.d.ts +0 -0
- package/dist/store/vector/provider-types.js +0 -0
- package/dist/store/vector/provider-types.js.map +0 -0
- package/dist/types/analyzer.d.ts +0 -0
- package/dist/types/analyzer.js +0 -0
- package/dist/types/analyzer.js.map +0 -0
- package/dist/types/domain.d.ts +89 -1
- package/dist/types/domain.js +0 -0
- package/dist/types/domain.js.map +0 -0
- package/dist/types/plugin.d.ts +0 -0
- package/dist/types/plugin.js +0 -0
- package/dist/types/plugin.js.map +0 -0
- package/dist/types/storage.d.ts +0 -0
- package/dist/types/storage.js +0 -0
- package/dist/types/storage.js.map +0 -0
- package/dist/utils/clock.d.ts +0 -0
- package/dist/utils/clock.js +0 -0
- package/dist/utils/clock.js.map +0 -0
- package/dist/utils/errors.d.ts +0 -0
- package/dist/utils/errors.js +0 -0
- package/dist/utils/errors.js.map +0 -0
- package/dist/utils/hashing.d.ts +0 -0
- package/dist/utils/hashing.js +0 -0
- package/dist/utils/hashing.js.map +0 -0
- package/dist/utils/ids.d.ts +0 -0
- package/dist/utils/ids.js +0 -0
- package/dist/utils/ids.js.map +0 -0
- package/dist/utils/text.d.ts +0 -0
- package/dist/utils/text.js +5 -1
- package/dist/utils/text.js.map +1 -1
- package/dist/version/package-version.d.ts +0 -0
- package/dist/version/package-version.js +0 -0
- package/dist/version/package-version.js.map +0 -0
- package/dist/version/remote-release.d.ts +0 -0
- package/dist/version/remote-release.js +0 -0
- package/dist/version/remote-release.js.map +0 -0
- package/docs/assets/readme/inspect-last-example.svg +37 -0
- package/docs/releases/v0.1.0.md +0 -0
- package/docs/releases/v0.1.1.md +0 -0
- package/docs/releases/v0.1.2.md +0 -0
- package/docs/releases/v0.1.3.md +0 -0
- package/docs/releases/v0.2.0.md +0 -0
- package/docs/releases/v0.2.1.md +9 -0
- package/docs/releases/v0.3.0.md +17 -0
- package/docs/user-guide.md +86 -4
- package/hooks/hooks.json +0 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +3 -2
- package/plugins/claude-code-experienceengine/.claude-plugin/plugin.json +1 -1
- package/plugins/claude-code-experienceengine/.mcp.json +3 -9
- package/plugins/claude-code-experienceengine/hooks/hooks.json +0 -0
- package/plugins/claude-code-experienceengine/scripts/claude-hook.sh +0 -0
- package/plugins/claude-code-experienceengine/scripts/install-deps.sh +1 -1
- package/plugins/claude-code-experienceengine/scripts/mcp-server.sh +43 -0
- package/scripts/claude-plugin/claude-hook.sh +6 -1
- package/scripts/claude-plugin/install-deps.sh +0 -0
- package/scripts/claude-plugin/mcp-server.sh +45 -0
|
File without changes
|
package/.env.example
CHANGED
|
File without changes
|
package/.mcp.json
CHANGED
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"experienceengine": {
|
|
4
4
|
"type": "stdio",
|
|
5
|
-
"command": "
|
|
6
|
-
"args": [
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
5
|
+
"command": "bash",
|
|
6
|
+
"args": [
|
|
7
|
+
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-plugin/mcp-server.sh"
|
|
8
|
+
]
|
|
10
9
|
}
|
|
11
10
|
}
|
|
12
|
-
}
|
|
11
|
+
}
|
package/LICENSE
CHANGED
|
File without changes
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Without ExperienceEngine:
|
|
|
15
15
|
- it opens the DB before running the migration, then wastes turns retrying the wrong path
|
|
16
16
|
|
|
17
17
|
With ExperienceEngine:
|
|
18
|
-
-
|
|
18
|
+
- at task start, it injects one short constraint like: `Run the migration before opening the DB connection`
|
|
19
19
|
- the host agent avoids the same failed path instead of rediscovering it from scratch
|
|
20
20
|
- after the task, ExperienceEngine usually updates that guidance automatically from the real outcome
|
|
21
21
|
- if the guidance later starts harming similar tasks, ExperienceEngine can cool, quarantine, or retire it
|
|
@@ -45,6 +45,12 @@ Host agent: Yes. It reused a repo-local success pattern before the next tool cal
|
|
|
45
45
|
|
|
46
46
|
Fastest host-specific install paths:
|
|
47
47
|
|
|
48
|
+
If you plan to use `ee init`, `ee install ...`, or other operator commands, install the CLI first:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm install -g @alan512/experienceengine
|
|
52
|
+
```
|
|
53
|
+
|
|
48
54
|
- `OpenClaw`
|
|
49
55
|
- `openclaw plugins install @alan512/experienceengine`
|
|
50
56
|
- `openclaw gateway restart`
|
|
@@ -81,7 +87,7 @@ Do not use ExperienceEngine if:
|
|
|
81
87
|
|---|---|---|---|
|
|
82
88
|
| `OpenClaw` | native plugin install | host-native | most complete today |
|
|
83
89
|
| `Claude Code` | marketplace plugin, with `ee install claude-code` fallback | MCP + plugin hooks | supported |
|
|
84
|
-
| `Codex` | `ee install codex`, with native MCP fallback | MCP
|
|
90
|
+
| `Codex` | `ee install codex`, with native MCP fallback | hooks + MCP | supported |
|
|
85
91
|
|
|
86
92
|
## Why It Exists
|
|
87
93
|
|
|
@@ -153,9 +159,9 @@ For a more detailed explanation of what ExperienceEngine records and how an expe
|
|
|
153
159
|
## Current Status
|
|
154
160
|
|
|
155
161
|
- Stable: core experience lifecycle, inspect/helped/harmed loop, host integrations, CLI/operator fallback
|
|
156
|
-
-
|
|
162
|
+
- Recommended first path: use the host you already work in; `OpenClaw` currently has the deepest host-native integration
|
|
157
163
|
- Evolving: retrieval tuning, provider strategy, advanced host UX
|
|
158
|
-
- If you
|
|
164
|
+
- If you are starting from scratch and do not already have a preferred host, `OpenClaw` is the most complete native-plugin path.
|
|
159
165
|
|
|
160
166
|
## What First Success Looks Like
|
|
161
167
|
|
|
@@ -180,7 +186,8 @@ Before installing an adapter, make sure the host CLI already works on this machi
|
|
|
180
186
|
OpenClaw notes:
|
|
181
187
|
- requires a working OpenClaw installation with native plugin support
|
|
182
188
|
- the documented OpenClaw path assumes `openclaw plugins install` and `openclaw gateway restart` are available
|
|
183
|
-
- OpenClaw
|
|
189
|
+
- ExperienceEngine resolves the real project root from OpenClaw hook payloads or nearby repo markers; if OpenClaw only reports its global workspace, ExperienceEngine isolates that session instead of reusing unrelated global-workspace experience
|
|
190
|
+
- OpenClaw uses the shared background learning loop by default
|
|
184
191
|
- OpenClaw still keeps async hybrid posttask review disabled by default; `ee status` and `ee doctor openclaw` show that explicitly
|
|
185
192
|
|
|
186
193
|
General package requirement:
|
|
@@ -204,7 +211,8 @@ Install ExperienceEngine through the host setup flow for the host you want to us
|
|
|
204
211
|
- `ee install codex`
|
|
205
212
|
- native/manual fallback:
|
|
206
213
|
- see the advanced example below if you need direct MCP wiring
|
|
207
|
-
- after either path, start a new Codex session in the repo so
|
|
214
|
+
- after either path, start a new Codex session in the repo so project hooks, MCP wiring, and the `AGENTS.md` instruction block are picked up
|
|
215
|
+
- in mixed Windows Codex App + WSL Codex CLI setups, the project `.codex/hooks.json` can be shared by both runtimes, while MCP registration remains runtime/user-level in each Codex home
|
|
208
216
|
- `Claude Code`
|
|
209
217
|
- host-native marketplace install:
|
|
210
218
|
- add the bundled marketplace from GitHub:
|
|
@@ -304,6 +312,7 @@ ExperienceEngine separates:
|
|
|
304
312
|
The host remains the primary interaction surface.
|
|
305
313
|
`ee` remains the explicit operator surface for setup, validation, repair, status, and maintenance.
|
|
306
314
|
For Codex, `ee status` and `ee doctor codex` also report whether the `ee` CLI fallback is available on `PATH`. Codex MCP wiring can still work when the CLI fallback is missing, but commands such as `ee inspect --last` need either a PATH-visible `ee` binary or an explicit package invocation.
|
|
315
|
+
For mixed Windows Codex App + WSL Codex CLI use, treat `.codex/hooks.json` as repo-owned hook wiring and `~/.codex/config.toml` as per-runtime MCP wiring. `ee repair codex` refreshes the project hook launcher and removes stale project-scoped ExperienceEngine MCP config so Windows App and WSL CLI do not fight over one config file.
|
|
307
316
|
|
|
308
317
|
## Advanced Per-Host Commands (Operator / Development Only)
|
|
309
318
|
|
|
@@ -329,7 +338,8 @@ codex mcp add experienceengine --env EXPERIENCE_ENGINE_HOME=$HOME/.experienceeng
|
|
|
329
338
|
Notes:
|
|
330
339
|
- `OpenClaw` uses plugin/runtime integration (not `src/adapters/`) and CLI fallback for management.
|
|
331
340
|
- `Claude Code` installs both hooks and the shared ExperienceEngine MCP server.
|
|
332
|
-
- `Codex` installs the shared ExperienceEngine MCP server.
|
|
341
|
+
- `Codex` installs Codex-native hooks plus the shared ExperienceEngine MCP server. `ee codex exec` remains the deterministic non-interactive fallback.
|
|
342
|
+
- Codex `UserPromptSubmit` stays synchronous because it owns prompt-time experience injection. `PostToolUse` and `Stop` are queued for background processing by default. `PreToolUse` is not registered by default; set `EXPERIENCE_ENGINE_CODEX_PRETOOL_HOOK_ENABLED=1` only for synchronous gating experiments.
|
|
333
343
|
- `ee install ...` and `ee doctor ...` now warn if `npm` or `pnpm` uses a non-official registry, because managed model downloads are most reliable with `https://registry.npmjs.org`.
|
|
334
344
|
- successful `ee install ...` also explains the cold-start expectation: capture starts immediately, but formal experience usually appears after a few similar tasks in the same repo.
|
|
335
345
|
|
package/README.zh-CN.md
CHANGED
|
@@ -45,6 +45,12 @@ ExperienceEngine 是一个面向编程 Agent 的治理层。它复用真实执
|
|
|
45
45
|
|
|
46
46
|
最快的宿主安装路径:
|
|
47
47
|
|
|
48
|
+
如果你需要使用 `ee init`、`ee install ...` 或其他 operator 命令,请先安装 CLI:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm install -g @alan512/experienceengine
|
|
52
|
+
```
|
|
53
|
+
|
|
48
54
|
- `OpenClaw`
|
|
49
55
|
- `openclaw plugins install @alan512/experienceengine`
|
|
50
56
|
- `openclaw gateway restart`
|
|
@@ -81,7 +87,7 @@ ExperienceEngine 是一个面向编程 Agent 的治理层。它复用真实执
|
|
|
81
87
|
|---|---|---|---|
|
|
82
88
|
| `OpenClaw` | 原生插件安装 | 宿主原生 | 当前最完整 |
|
|
83
89
|
| `Claude Code` | marketplace 插件,保留 `ee install claude-code` fallback | MCP + plugin hooks | 已支持 |
|
|
84
|
-
| `Codex` | `ee install codex`,保留原生 MCP fallback | MCP
|
|
90
|
+
| `Codex` | `ee install codex`,保留原生 MCP fallback | hooks + MCP | 已支持 |
|
|
85
91
|
|
|
86
92
|
## 为什么要做这个
|
|
87
93
|
|
|
@@ -153,9 +159,9 @@ ExperienceEngine 工作在 context 层,不会修改宿主模型权重。
|
|
|
153
159
|
## 当前状态
|
|
154
160
|
|
|
155
161
|
- Stable:核心经验生命周期、inspect/helped/harmed loop、宿主集成、CLI/operator fallback
|
|
156
|
-
-
|
|
162
|
+
- 推荐优先路径:使用你已经在用的宿主;如果从零开始,`OpenClaw` 目前是最完整的原生插件路径
|
|
157
163
|
- 仍在演进:retrieval 调优、provider 策略、更高级的宿主 UX
|
|
158
|
-
-
|
|
164
|
+
- 如果你还没有固定宿主,建议先从 `OpenClaw` 开始。
|
|
159
165
|
|
|
160
166
|
## 什么叫第一次真正成功
|
|
161
167
|
|
|
@@ -180,6 +186,7 @@ ExperienceEngine 工作在 context 层,不会修改宿主模型权重。
|
|
|
180
186
|
OpenClaw 说明:
|
|
181
187
|
- 需要本机已有可正常工作的 OpenClaw,且支持原生插件安装
|
|
182
188
|
- 下面的 OpenClaw 路径默认要求 `openclaw plugins install` 和 `openclaw gateway restart` 可用
|
|
189
|
+
- ExperienceEngine 会从 OpenClaw hook payload 或附近仓库标记解析真实项目根目录;如果 OpenClaw 只上报全局 workspace,ExperienceEngine 会把该会话隔离起来,避免复用不相干的全局 workspace 经验
|
|
183
190
|
|
|
184
191
|
通用包要求:
|
|
185
192
|
- 发布包要求 Node.js `>=20`
|
|
@@ -202,7 +209,8 @@ ExperienceEngine 现在不再把 `ee` CLI 当成适用于所有宿主的统一
|
|
|
202
209
|
- `ee install codex`
|
|
203
210
|
- 原生 / 手工 fallback:
|
|
204
211
|
- 如果你需要直接 MCP wiring,可参考后面的高级示例
|
|
205
|
-
- 无论走哪条路径,首次接入后都建议在仓库里开启一个新的 Codex
|
|
212
|
+
- 无论走哪条路径,首次接入后都建议在仓库里开启一个新的 Codex 会话,让项目 hooks、MCP 配置和 `AGENTS.md` 指令块生效
|
|
213
|
+
- 如果同一个仓库同时用于 Windows Codex App 和 WSL Codex CLI,项目 `.codex/hooks.json` 可以共享;MCP 注册仍然属于每个运行时自己的 Codex home
|
|
206
214
|
- `Claude Code`
|
|
207
215
|
- 宿主原生 marketplace 安装:
|
|
208
216
|
- 先添加 GitHub marketplace:
|
|
@@ -303,6 +311,7 @@ ExperienceEngine 明确拆分:
|
|
|
303
311
|
宿主仍然是主交互面。
|
|
304
312
|
`ee` 仍然是显式的 operator 面,用于 setup、验证、修复、状态查看和维护。
|
|
305
313
|
对于 Codex,`ee status` 和 `ee doctor codex` 还会显示 `ee` CLI fallback 是否在 `PATH` 上可用。Codex 的 MCP 接入在 CLI fallback 缺失时仍可能正常工作,但 `ee inspect --last` 这类命令需要 PATH 里有 `ee`,或者使用显式的包调用方式。
|
|
314
|
+
如果同一个仓库同时用于 Windows Codex App 和 WSL Codex CLI,请把 `.codex/hooks.json` 当成仓库级 hook wiring,把 `~/.codex/config.toml` 当成每个运行时自己的 MCP wiring。`ee repair codex` 会刷新项目 hook launcher,并移除过期的项目级 ExperienceEngine MCP 配置,避免 Windows App 和 WSL CLI 争用同一个配置文件。
|
|
306
315
|
|
|
307
316
|
## 高级按宿主命令(仅限 Operator / 开发者)
|
|
308
317
|
|
|
@@ -328,7 +337,8 @@ codex mcp add experienceengine --env EXPERIENCE_ENGINE_HOME=$HOME/.experienceeng
|
|
|
328
337
|
说明:
|
|
329
338
|
- `OpenClaw` 走 plugin/runtime integration,而不是 `src/adapters/`
|
|
330
339
|
- `Claude Code` 会安装 hooks 和共享 ExperienceEngine MCP 服务
|
|
331
|
-
- `Codex`
|
|
340
|
+
- `Codex` 会安装 Codex 原生 hooks 和共享 ExperienceEngine MCP 服务。`ee codex exec` 仍是确定性的非交互 fallback。
|
|
341
|
+
- Codex 的 `UserPromptSubmit` 保持同步,因为它负责 prompt-time experience injection。`PostToolUse` 和 `Stop` 默认排队后在后台处理。`PreToolUse` 默认不注册;只有同步 gating 实验需要时才设置 `EXPERIENCE_ENGINE_CODEX_PRETOOL_HOOK_ENABLED=1` 启用。
|
|
332
342
|
- `ee install ...` 与 `ee doctor ...` 会在 `npm` / `pnpm` 使用非官方 registry 时给出提示,因为受管模型下载在 `https://registry.npmjs.org` 下最稳定
|
|
333
343
|
- 成功执行 `ee install ...` 后,也会提醒冷启动预期:capture 会立刻开始,但 formal experience 一般需要在同一仓库里出现几次相似任务后才会形成
|
|
334
344
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import type { ExperienceNodeType, ExperienceState } from "../../types/domain.js";
|
|
2
|
+
import type { DeliveryState, ExperienceNodeType, ExperienceState, TaskType } from "../../types/domain.js";
|
|
3
|
+
import type { HygieneFindingType, HygieneSeverity } from "../../maintenance/experience-hygiene.js";
|
|
4
|
+
import type { ExportDraftRisk } from "../../maintenance/experience-export-drafts.js";
|
|
3
5
|
export type CodexActionCategory = "inspect" | "state" | "admin" | "maintenance";
|
|
4
6
|
export type CodexActionRiskLevel = "low" | "medium" | "high";
|
|
5
7
|
export type CodexActionDefinition = {
|
|
@@ -29,6 +31,26 @@ type RegistryDeps = {
|
|
|
29
31
|
nodeType: ExperienceNodeType;
|
|
30
32
|
}) => Promise<unknown>;
|
|
31
33
|
inspectLearningSummary: () => Promise<unknown>;
|
|
34
|
+
inspectReview: (args?: {
|
|
35
|
+
cwd?: string;
|
|
36
|
+
limit?: number;
|
|
37
|
+
}) => Promise<unknown>;
|
|
38
|
+
inspectHygiene: (args?: {
|
|
39
|
+
cwd?: string;
|
|
40
|
+
type?: HygieneFindingType;
|
|
41
|
+
severity?: HygieneSeverity;
|
|
42
|
+
limit?: number;
|
|
43
|
+
}) => Promise<unknown>;
|
|
44
|
+
inspectExportDrafts: (args?: {
|
|
45
|
+
cwd?: string;
|
|
46
|
+
nodeId?: string;
|
|
47
|
+
nodeType?: ExperienceNodeType;
|
|
48
|
+
taskFamily?: TaskType;
|
|
49
|
+
state?: ExperienceState;
|
|
50
|
+
deliveryState?: DeliveryState;
|
|
51
|
+
risk?: ExportDraftRisk;
|
|
52
|
+
limit?: number;
|
|
53
|
+
}) => Promise<unknown>;
|
|
32
54
|
coolNode: (args: {
|
|
33
55
|
nodeId: string;
|
|
34
56
|
}) => Promise<unknown>;
|
|
@@ -208,6 +208,79 @@ export const createCodexActionRegistry = (deps) => {
|
|
|
208
208
|
examplePayload: {},
|
|
209
209
|
handler: async () => deps.interactionSurface.inspectLearningSummary()
|
|
210
210
|
},
|
|
211
|
+
{
|
|
212
|
+
id: "inspect_operator_review",
|
|
213
|
+
title: "Inspect Operator Review",
|
|
214
|
+
summary: "Inspect the read-only operator review workflow across repo policy, hygiene, and export drafts, with drill-down references only.",
|
|
215
|
+
category: "inspect",
|
|
216
|
+
riskLevel: "low",
|
|
217
|
+
requiresConfirmation: false,
|
|
218
|
+
inputSchema: z.object({
|
|
219
|
+
cwd: z.string().min(1).optional(),
|
|
220
|
+
limit: z.number().int().positive().optional()
|
|
221
|
+
}),
|
|
222
|
+
examplePayload: { cwd: "/path/to/repo", limit: 5 },
|
|
223
|
+
handler: async ({ cwd, limit }) => deps.interactionSurface.inspectReview({
|
|
224
|
+
cwd: typeof cwd === "string" ? cwd : undefined,
|
|
225
|
+
limit: typeof limit === "number" ? limit : undefined
|
|
226
|
+
})
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
id: "inspect_experience_hygiene",
|
|
230
|
+
title: "Inspect Experience Hygiene",
|
|
231
|
+
summary: "Inspect read-only EE hygiene findings for stale, duplicate, conflicting, over-generalized, or drifted guidance.",
|
|
232
|
+
category: "inspect",
|
|
233
|
+
riskLevel: "low",
|
|
234
|
+
requiresConfirmation: false,
|
|
235
|
+
inputSchema: z.object({
|
|
236
|
+
type: z.enum([
|
|
237
|
+
"stale_experience",
|
|
238
|
+
"duplicate_guidance",
|
|
239
|
+
"conflicting_guidance",
|
|
240
|
+
"over_generalized_guidance",
|
|
241
|
+
"evidence_drift"
|
|
242
|
+
]).optional(),
|
|
243
|
+
severity: z.enum(["high", "medium", "low"]).optional(),
|
|
244
|
+
cwd: z.string().min(1).optional(),
|
|
245
|
+
limit: z.number().int().positive().optional()
|
|
246
|
+
}),
|
|
247
|
+
examplePayload: { cwd: "/path/to/repo", severity: "high", limit: 10 },
|
|
248
|
+
handler: async ({ cwd, type, severity, limit }) => deps.interactionSurface.inspectHygiene({
|
|
249
|
+
cwd: typeof cwd === "string" ? cwd : undefined,
|
|
250
|
+
type: type,
|
|
251
|
+
severity: severity,
|
|
252
|
+
limit: typeof limit === "number" ? limit : undefined
|
|
253
|
+
})
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
id: "inspect_export_drafts",
|
|
257
|
+
title: "Inspect Export Drafts",
|
|
258
|
+
summary: "Inspect read-only review packages for guidance that may be exported outside local EE state.",
|
|
259
|
+
category: "inspect",
|
|
260
|
+
riskLevel: "low",
|
|
261
|
+
requiresConfirmation: false,
|
|
262
|
+
inputSchema: z.object({
|
|
263
|
+
cwd: z.string().min(1).optional(),
|
|
264
|
+
nodeId: z.string().min(1).optional(),
|
|
265
|
+
nodeType: z.enum(["strategy", "warning"]).optional(),
|
|
266
|
+
taskFamily: z.string().min(1).optional(),
|
|
267
|
+
state: z.enum(["candidate", "priority_candidate", "active", "cooling", "retired"]).optional(),
|
|
268
|
+
deliveryState: z.enum(["shadow_only", "conservative_only", "eligible", "quarantined"]).optional(),
|
|
269
|
+
risk: z.enum(["low", "medium", "high"]).optional(),
|
|
270
|
+
limit: z.number().int().positive().optional()
|
|
271
|
+
}),
|
|
272
|
+
examplePayload: { cwd: "/path/to/repo", state: "cooling", risk: "high", limit: 10 },
|
|
273
|
+
handler: async ({ cwd, nodeId, nodeType, taskFamily, state, deliveryState, risk, limit }) => deps.interactionSurface.inspectExportDrafts({
|
|
274
|
+
cwd: typeof cwd === "string" ? cwd : undefined,
|
|
275
|
+
nodeId: typeof nodeId === "string" ? nodeId : undefined,
|
|
276
|
+
nodeType: nodeType,
|
|
277
|
+
taskFamily: taskFamily,
|
|
278
|
+
state: state,
|
|
279
|
+
deliveryState: deliveryState,
|
|
280
|
+
risk: risk,
|
|
281
|
+
limit: typeof limit === "number" ? limit : undefined
|
|
282
|
+
})
|
|
283
|
+
},
|
|
211
284
|
{
|
|
212
285
|
id: "inspect_backup_inventory",
|
|
213
286
|
title: "Inspect Backup Inventory",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-registry.js","sourceRoot":"","sources":["../../../src/adapters/codex/action-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action-registry.js","sourceRoot":"","sources":["../../../src/adapters/codex/action-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { ExperienceRuntimeService } from "../../runtime/service.js";
|
|
2
|
+
import type { ToolEventStatus } from "../../types/domain.js";
|
|
3
|
+
export type CodexLookupArgs = {
|
|
4
|
+
cwd?: string;
|
|
5
|
+
prompt: string;
|
|
6
|
+
sessionId?: string;
|
|
7
|
+
};
|
|
8
|
+
export type CodexToolResultArgs = {
|
|
9
|
+
sessionId: string;
|
|
10
|
+
toolName: string;
|
|
11
|
+
inputSummary?: string;
|
|
12
|
+
outputSummary?: string;
|
|
13
|
+
errorSignature?: string;
|
|
14
|
+
exitCode?: number;
|
|
15
|
+
status?: ToolEventStatus;
|
|
16
|
+
};
|
|
17
|
+
export type CodexFinalizeArgs = {
|
|
18
|
+
sessionId: string;
|
|
19
|
+
cwd?: string;
|
|
20
|
+
prompt?: string;
|
|
21
|
+
contextSummary?: string;
|
|
22
|
+
injectedNodeIds?: string[];
|
|
23
|
+
};
|
|
24
|
+
export type CodexServerOptions = {
|
|
25
|
+
env?: NodeJS.ProcessEnv;
|
|
26
|
+
homeDir?: string;
|
|
27
|
+
fetchImpl?: typeof fetch;
|
|
28
|
+
runtimeOptions?: ConstructorParameters<typeof ExperienceRuntimeService>[2];
|
|
29
|
+
};
|
|
30
|
+
export declare const createCodexBehaviorLoop: (options?: CodexServerOptions) => {
|
|
31
|
+
lookupHints(args: CodexLookupArgs): Promise<{
|
|
32
|
+
mode: import("../../types/domain.js").InjectionMode;
|
|
33
|
+
text: string | undefined;
|
|
34
|
+
notice: string | undefined;
|
|
35
|
+
injectedNodeIds: string[] | never[];
|
|
36
|
+
summary: {
|
|
37
|
+
mode: string | undefined;
|
|
38
|
+
interventionStrength: string | undefined;
|
|
39
|
+
riskLevel: string | undefined;
|
|
40
|
+
recommendation: string | undefined;
|
|
41
|
+
actionReason: string | undefined;
|
|
42
|
+
trustSummary: string | undefined;
|
|
43
|
+
retrievalNotes: string[];
|
|
44
|
+
retrievalPolicySummary: import("../../interaction/retrieval-policy-inspection.js").RetrievalPolicyInspectionSummary | undefined;
|
|
45
|
+
confidence: string | undefined;
|
|
46
|
+
budgetClass: string | undefined;
|
|
47
|
+
selectedCandidateIds: string[] | undefined;
|
|
48
|
+
rejectedCandidates: {
|
|
49
|
+
id: string;
|
|
50
|
+
reasonCodes: string[] | undefined;
|
|
51
|
+
}[];
|
|
52
|
+
reasons: string[] | undefined;
|
|
53
|
+
nodes: {
|
|
54
|
+
id: string;
|
|
55
|
+
state: string | undefined;
|
|
56
|
+
riskLevel: string | undefined;
|
|
57
|
+
helped: number | undefined;
|
|
58
|
+
harmed: number | undefined;
|
|
59
|
+
}[];
|
|
60
|
+
} | undefined;
|
|
61
|
+
deliveryMode: import("../../types/domain.js").EvaluationMode | undefined;
|
|
62
|
+
delivered: boolean | undefined;
|
|
63
|
+
}>;
|
|
64
|
+
recordToolResult(args: CodexToolResultArgs): Promise<{
|
|
65
|
+
status: string;
|
|
66
|
+
toolName: string;
|
|
67
|
+
eventStatus: ToolEventStatus;
|
|
68
|
+
hasErrorSignature: boolean;
|
|
69
|
+
exitCode: number | undefined;
|
|
70
|
+
}>;
|
|
71
|
+
finalizeTask(args: CodexFinalizeArgs): Promise<{
|
|
72
|
+
status: string;
|
|
73
|
+
taskType: import("../../types/domain.js").ResolvedTaskType;
|
|
74
|
+
outcomeSignal: import("../../types/domain.js").OutcomeSignal;
|
|
75
|
+
injectedNodeIds: string[];
|
|
76
|
+
recordedToolEvents: number;
|
|
77
|
+
feedbackHint: string | undefined;
|
|
78
|
+
}>;
|
|
79
|
+
waitForBackgroundLearning(): Promise<void>;
|
|
80
|
+
};
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { loadConfig } from "../../config/load-config.js";
|
|
2
|
+
import { resolveExperienceEnginePaths } from "../../config/path-resolver.js";
|
|
3
|
+
import { buildRetrievalPolicyInspectionSummary } from "../../interaction/retrieval-policy-inspection.js";
|
|
4
|
+
import { ExperiencePromptRuntimeService } from "../../runtime/prompt-service.js";
|
|
5
|
+
const createCodexConfig = (options = {}) => {
|
|
6
|
+
const paths = resolveExperienceEnginePaths({
|
|
7
|
+
adapter: "codex",
|
|
8
|
+
env: options.env ?? process.env,
|
|
9
|
+
homeDir: options.homeDir
|
|
10
|
+
});
|
|
11
|
+
return loadConfig({
|
|
12
|
+
dataDir: paths.dataDir,
|
|
13
|
+
sqlitePath: paths.sqlitePath,
|
|
14
|
+
captureDir: paths.captureDir
|
|
15
|
+
}, {
|
|
16
|
+
env: options.env ?? process.env,
|
|
17
|
+
homeDir: options.homeDir
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
const createCodexPromptRuntime = (options = {}) => new ExperiencePromptRuntimeService(createCodexConfig(options));
|
|
21
|
+
const createCodexRuntime = async (options = {}) => {
|
|
22
|
+
const { ExperienceRuntimeService } = await import("../../runtime/service.js");
|
|
23
|
+
return new ExperienceRuntimeService(createCodexConfig(options), undefined, options.runtimeOptions);
|
|
24
|
+
};
|
|
25
|
+
const summarizeActionReason = (scorecard) => {
|
|
26
|
+
if (scorecard.mode === "inject_conservative") {
|
|
27
|
+
if (scorecard.decisionReason === "ambiguous_same_family_candidate") {
|
|
28
|
+
return "ExperienceEngine found a promising same-family match and chose conservative injection instead of skipping.";
|
|
29
|
+
}
|
|
30
|
+
if (scorecard.decisionReason === "promising_candidate_quality") {
|
|
31
|
+
return "ExperienceEngine found a credible candidate, but kept the injection conservative until it has stronger runtime proof.";
|
|
32
|
+
}
|
|
33
|
+
return "ExperienceEngine chose conservative injection because the best match still needs more runtime evidence.";
|
|
34
|
+
}
|
|
35
|
+
if (scorecard.decisionReason === "mature_validated_candidate") {
|
|
36
|
+
return "A mature validated candidate cleared the fast path, so ExperienceEngine injected it normally.";
|
|
37
|
+
}
|
|
38
|
+
if (scorecard.decisionReason === "candidate_quality_positive") {
|
|
39
|
+
return "Candidate quality was strong enough to justify intervention for this task.";
|
|
40
|
+
}
|
|
41
|
+
if (scorecard.mode === "inject") {
|
|
42
|
+
return "ExperienceEngine injected the best available reusable guidance for this task.";
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
45
|
+
};
|
|
46
|
+
const summarizeTrust = (scorecard) => {
|
|
47
|
+
const primaryNode = scorecard.nodes?.[0];
|
|
48
|
+
if (!scorecard.riskLevel || !primaryNode?.state) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
const confidence = scorecard.confidence ? ` ${scorecard.confidence}-confidence` : "";
|
|
52
|
+
return `${scorecard.riskLevel}-risk${confidence} ${primaryNode.state} guidance with ${primaryNode.helped ?? 0} helped and ${primaryNode.harmed ?? 0} harmed signal(s).`;
|
|
53
|
+
};
|
|
54
|
+
const summarizeRetrievalNotes = (scorecard) => {
|
|
55
|
+
const notes = [];
|
|
56
|
+
if (scorecard.queryRewriteApplied) {
|
|
57
|
+
notes.push("Query rewrite preserved retrieval intent for this task.");
|
|
58
|
+
}
|
|
59
|
+
const rerankSource = scorecard.topCandidates?.[0]?.rerankSource;
|
|
60
|
+
if (rerankSource === "model") {
|
|
61
|
+
notes.push("Model reranking participated in the final ordering.");
|
|
62
|
+
}
|
|
63
|
+
if (scorecard.fastPathApplied) {
|
|
64
|
+
notes.push("A strong candidate fast path was used.");
|
|
65
|
+
}
|
|
66
|
+
const topCandidate = scorecard.topCandidates?.[0];
|
|
67
|
+
if (topCandidate?.retrievalReasons?.length) {
|
|
68
|
+
notes.push(`Top retrieval signals: ${topCandidate.retrievalReasons.slice(0, 2).join(", ")}.`);
|
|
69
|
+
}
|
|
70
|
+
if (topCandidate?.policyReasons?.length) {
|
|
71
|
+
notes.push(`Top policy signals: ${topCandidate.policyReasons.slice(0, 2).join(", ")}.`);
|
|
72
|
+
}
|
|
73
|
+
if (scorecard.rejectedCandidates?.length) {
|
|
74
|
+
notes.push(`Runner-up candidates withheld: ${scorecard.rejectedCandidates.map((candidate) => candidate.id).join(", ")}.`);
|
|
75
|
+
}
|
|
76
|
+
return notes;
|
|
77
|
+
};
|
|
78
|
+
const summarizeScorecard = (scorecard) => scorecard
|
|
79
|
+
? {
|
|
80
|
+
mode: scorecard.mode,
|
|
81
|
+
interventionStrength: scorecard.interventionStrength,
|
|
82
|
+
riskLevel: scorecard.riskLevel,
|
|
83
|
+
recommendation: scorecard.recommendation,
|
|
84
|
+
actionReason: summarizeActionReason(scorecard),
|
|
85
|
+
trustSummary: summarizeTrust(scorecard),
|
|
86
|
+
retrievalNotes: summarizeRetrievalNotes(scorecard),
|
|
87
|
+
retrievalPolicySummary: buildRetrievalPolicyInspectionSummary(scorecard),
|
|
88
|
+
confidence: scorecard.confidence,
|
|
89
|
+
budgetClass: scorecard.budgetClass,
|
|
90
|
+
selectedCandidateIds: scorecard.selectedCandidateIds,
|
|
91
|
+
rejectedCandidates: scorecard.rejectedCandidates?.slice(0, 3).map((candidate) => ({
|
|
92
|
+
id: candidate.id,
|
|
93
|
+
reasonCodes: candidate.reasonCodes
|
|
94
|
+
})) ?? [],
|
|
95
|
+
reasons: scorecard.reasons?.slice(0, 2),
|
|
96
|
+
nodes: scorecard.nodes?.slice(0, 3).map((node) => ({
|
|
97
|
+
id: node.id,
|
|
98
|
+
state: node.state,
|
|
99
|
+
riskLevel: node.riskLevel,
|
|
100
|
+
helped: node.helped,
|
|
101
|
+
harmed: node.harmed
|
|
102
|
+
})) ?? []
|
|
103
|
+
}
|
|
104
|
+
: undefined;
|
|
105
|
+
export const createCodexBehaviorLoop = (options = {}) => {
|
|
106
|
+
let promptRuntime;
|
|
107
|
+
let runtime;
|
|
108
|
+
const promptLookups = new Map();
|
|
109
|
+
const getPromptRuntime = () => {
|
|
110
|
+
promptRuntime ??= createCodexPromptRuntime(options);
|
|
111
|
+
return promptRuntime;
|
|
112
|
+
};
|
|
113
|
+
const getRuntime = async () => {
|
|
114
|
+
runtime ??= createCodexRuntime(options);
|
|
115
|
+
return runtime;
|
|
116
|
+
};
|
|
117
|
+
return {
|
|
118
|
+
async lookupHints(args) {
|
|
119
|
+
const context = {
|
|
120
|
+
host: "codex",
|
|
121
|
+
sessionId: args.sessionId,
|
|
122
|
+
cwd: args.cwd,
|
|
123
|
+
userMessage: args.prompt,
|
|
124
|
+
taskSummary: args.prompt
|
|
125
|
+
};
|
|
126
|
+
const result = await getPromptRuntime().beforePromptBuild(context);
|
|
127
|
+
promptLookups.set(args.sessionId ?? "global", {
|
|
128
|
+
context,
|
|
129
|
+
injectedNodeIds: result.input.injected_node_ids
|
|
130
|
+
});
|
|
131
|
+
return {
|
|
132
|
+
mode: result.mode,
|
|
133
|
+
text: result.text,
|
|
134
|
+
notice: result.notice,
|
|
135
|
+
injectedNodeIds: result.input.injected_node_ids,
|
|
136
|
+
summary: summarizeScorecard(result.scorecard),
|
|
137
|
+
deliveryMode: result.deliveryMode,
|
|
138
|
+
delivered: result.delivered
|
|
139
|
+
};
|
|
140
|
+
},
|
|
141
|
+
async recordToolResult(args) {
|
|
142
|
+
const fullRuntime = await getRuntime();
|
|
143
|
+
const event = await fullRuntime.persistToolResult({
|
|
144
|
+
sessionId: args.sessionId,
|
|
145
|
+
toolName: args.toolName,
|
|
146
|
+
inputSummary: args.inputSummary,
|
|
147
|
+
outputSummary: args.outputSummary,
|
|
148
|
+
errorSignature: args.errorSignature,
|
|
149
|
+
exitCode: args.exitCode,
|
|
150
|
+
status: args.status
|
|
151
|
+
});
|
|
152
|
+
return {
|
|
153
|
+
status: "recorded",
|
|
154
|
+
toolName: event.tool_name,
|
|
155
|
+
eventStatus: event.status,
|
|
156
|
+
hasErrorSignature: Boolean(event.error_signature),
|
|
157
|
+
exitCode: event.exit_code
|
|
158
|
+
};
|
|
159
|
+
},
|
|
160
|
+
async finalizeTask(args) {
|
|
161
|
+
const fullRuntime = await getRuntime();
|
|
162
|
+
const promptLookup = promptLookups.get(args.sessionId);
|
|
163
|
+
const input = await fullRuntime.finalizeTask({
|
|
164
|
+
host: "codex",
|
|
165
|
+
sessionId: args.sessionId,
|
|
166
|
+
cwd: args.cwd ?? promptLookup?.context.cwd,
|
|
167
|
+
userMessage: args.prompt ?? "",
|
|
168
|
+
taskSummary: args.prompt ?? promptLookup?.context.taskSummary,
|
|
169
|
+
contextSummary: args.contextSummary,
|
|
170
|
+
injectedNodeIds: args.injectedNodeIds ?? promptLookup?.injectedNodeIds
|
|
171
|
+
});
|
|
172
|
+
return {
|
|
173
|
+
status: "finalized",
|
|
174
|
+
taskType: input.task_type,
|
|
175
|
+
outcomeSignal: input.outcome_signal,
|
|
176
|
+
injectedNodeIds: input.injected_node_ids,
|
|
177
|
+
recordedToolEvents: input.tool_events.length,
|
|
178
|
+
feedbackHint: input.injected_node_ids.length > 0
|
|
179
|
+
? "If the injected guidance helped or harmed this task, call experienceengine_quick_feedback."
|
|
180
|
+
: undefined
|
|
181
|
+
};
|
|
182
|
+
},
|
|
183
|
+
async waitForBackgroundLearning() {
|
|
184
|
+
const fullRuntime = await getRuntime();
|
|
185
|
+
await fullRuntime.waitForBackgroundLearning();
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
//# sourceMappingURL=behavior-loop.js.map
|