@alan512/experienceengine 0.1.2 → 0.2.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 +4 -8
- package/LICENSE +21 -0
- package/README.md +288 -95
- package/README.zh-CN.md +316 -65
- 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 +1 -0
- package/dist/adapters/claude-code/session-store.js +24 -1
- package/dist/adapters/claude-code/session-store.js.map +1 -1
- package/dist/adapters/codex/action-registry.d.ts +84 -0
- package/dist/adapters/codex/action-registry.js +277 -0
- package/dist/adapters/codex/action-registry.js.map +1 -0
- package/dist/adapters/codex/broker-tools.d.ts +114 -0
- package/dist/adapters/codex/broker-tools.js +130 -0
- package/dist/adapters/codex/broker-tools.js.map +1 -0
- package/dist/adapters/codex/instruction-template.d.ts +3 -0
- package/dist/adapters/codex/instruction-template.js +12 -0
- package/dist/adapters/codex/instruction-template.js.map +1 -0
- package/dist/adapters/codex/mcp-server.d.ts +59 -41
- package/dist/adapters/codex/mcp-server.js +177 -728
- package/dist/adapters/codex/mcp-server.js.map +1 -1
- package/dist/analyzer/candidate-signals.d.ts +3 -1
- package/dist/analyzer/candidate-signals.js +159 -0
- package/dist/analyzer/candidate-signals.js.map +1 -1
- 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 +12 -1
- package/dist/analyzer/llm-learning-gate.js +672 -16
- package/dist/analyzer/llm-learning-gate.js.map +1 -1
- 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 +0 -0
- package/dist/cli/commands/claude-hook.js +23 -7
- package/dist/cli/commands/claude-hook.js.map +1 -1
- 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 +60 -0
- package/dist/cli/commands/codex.js +188 -0
- package/dist/cli/commands/codex.js.map +1 -0
- package/dist/cli/commands/config.d.ts +0 -0
- package/dist/cli/commands/config.js +88 -2
- 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 +4 -28
- package/dist/cli/commands/doctor.js +156 -68
- 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 +9 -3
- package/dist/cli/commands/evaluate.js +31 -5
- package/dist/cli/commands/evaluate.js.map +1 -1
- 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 +4 -0
- package/dist/cli/commands/feedback.js.map +1 -1
- 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 +28 -0
- package/dist/cli/commands/init.js +432 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/inspect.d.ts +0 -0
- package/dist/cli/commands/inspect.js +271 -37
- package/dist/cli/commands/inspect.js.map +1 -1
- package/dist/cli/commands/install.d.ts +0 -0
- package/dist/cli/commands/install.js +9 -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 +1 -1
- 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 +4 -0
- package/dist/cli/commands/mcp-server.js.map +1 -1
- 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 +3 -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 +89 -7
- 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 +36 -9
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/cli/index.d.ts +0 -0
- package/dist/cli/index.js.map +0 -0
- package/dist/cli/state-model.d.ts +14 -0
- package/dist/cli/state-model.js +23 -0
- package/dist/cli/state-model.js.map +1 -0
- package/dist/config/config-schema.d.ts +209 -0
- package/dist/config/config-schema.js +168 -1
- package/dist/config/config-schema.js.map +1 -1
- package/dist/config/default-config.d.ts +0 -0
- package/dist/config/default-config.js +22 -1
- package/dist/config/default-config.js.map +1 -1
- package/dist/config/load-config.d.ts +0 -0
- package/dist/config/load-config.js +91 -2
- package/dist/config/load-config.js.map +1 -1
- package/dist/config/path-resolver.d.ts +0 -1
- package/dist/config/path-resolver.js +0 -2
- package/dist/config/path-resolver.js.map +1 -1
- package/dist/config/runtime-env.d.ts +8 -0
- package/dist/config/runtime-env.js +14 -0
- package/dist/config/runtime-env.js.map +1 -0
- package/dist/config/secrets-store.d.ts +15 -0
- package/dist/config/secrets-store.js +56 -0
- package/dist/config/secrets-store.js.map +1 -0
- package/dist/config/settings-store.d.ts +29 -0
- package/dist/config/settings-store.js +55 -0
- package/dist/config/settings-store.js.map +1 -1
- package/dist/controller/candidate-retriever.d.ts +49 -2
- package/dist/controller/candidate-retriever.js +258 -125
- package/dist/controller/candidate-retriever.js.map +1 -1
- package/dist/controller/injection-renderer.d.ts +0 -0
- package/dist/controller/injection-renderer.js +52 -1
- package/dist/controller/injection-renderer.js.map +1 -1
- package/dist/controller/injection-scorecard.d.ts +2 -2
- package/dist/controller/injection-scorecard.js +47 -1
- 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 +3 -2
- package/dist/controller/intervention-controller.js +339 -17
- package/dist/controller/intervention-controller.js.map +1 -1
- package/dist/controller/lexical-retriever.d.ts +14 -0
- package/dist/controller/lexical-retriever.js +117 -0
- package/dist/controller/lexical-retriever.js.map +1 -0
- package/dist/controller/model-reranker.d.ts +20 -0
- package/dist/controller/model-reranker.js +187 -0
- package/dist/controller/model-reranker.js.map +1 -0
- package/dist/controller/node-ranker.d.ts +0 -0
- package/dist/controller/node-ranker.js +1 -0
- package/dist/controller/node-ranker.js.map +1 -1
- package/dist/controller/policy-enricher.d.ts +10 -0
- package/dist/controller/policy-enricher.js +186 -0
- package/dist/controller/policy-enricher.js.map +1 -0
- package/dist/controller/query-rewrite.d.ts +8 -0
- package/dist/controller/query-rewrite.js +69 -0
- package/dist/controller/query-rewrite.js.map +1 -0
- package/dist/controller/retrieval-context.d.ts +3 -0
- package/dist/controller/retrieval-context.js +37 -0
- package/dist/controller/retrieval-context.js.map +1 -0
- package/dist/controller/second-opinion-gate.d.ts +41 -0
- package/dist/controller/second-opinion-gate.js +225 -0
- package/dist/controller/second-opinion-gate.js.map +1 -0
- package/dist/controller/trigger-evaluator.d.ts +27 -2
- package/dist/controller/trigger-evaluator.js +63 -3
- package/dist/controller/trigger-evaluator.js.map +1 -1
- 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 +4 -0
- package/dist/distillation/experience-family.js +14 -0
- package/dist/distillation/experience-family.js.map +1 -0
- package/dist/distillation/host-llm.d.ts +1 -0
- package/dist/distillation/host-llm.js +5 -1
- package/dist/distillation/host-llm.js.map +1 -1
- package/dist/distillation/llm-distiller.d.ts +0 -0
- package/dist/distillation/llm-distiller.js +4 -0
- package/dist/distillation/llm-distiller.js.map +1 -1
- package/dist/distillation/merge-decider.d.ts +0 -0
- package/dist/distillation/merge-decider.js +4 -0
- package/dist/distillation/merge-decider.js.map +1 -1
- 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 +1 -1
- package/dist/distillation/prompt-contract.js +6 -1
- package/dist/distillation/prompt-contract.js.map +1 -1
- 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 +5 -1
- package/dist/distillation/providers/gemini.js.map +1 -1
- 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 +78 -9
- package/dist/distillation/queue-worker.js.map +1 -1
- 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 +60 -0
- package/dist/evaluation/codex-lifecycle-validation.js +233 -0
- package/dist/evaluation/codex-lifecycle-validation.js.map +1 -0
- package/dist/evaluation/hybrid-phase1-rollout-summary.d.ts +63 -0
- package/dist/evaluation/hybrid-phase1-rollout-summary.js +108 -0
- package/dist/evaluation/hybrid-phase1-rollout-summary.js.map +1 -0
- package/dist/evaluation/hybrid-phase3-gate-metrics.d.ts +26 -0
- package/dist/evaluation/hybrid-phase3-gate-metrics.js +23 -0
- package/dist/evaluation/hybrid-phase3-gate-metrics.js.map +1 -0
- package/dist/evaluation/openclaw-baseline.d.ts +8 -0
- package/dist/evaluation/openclaw-baseline.js +27 -0
- package/dist/evaluation/openclaw-baseline.js.map +1 -1
- package/dist/evaluation/openclaw-scenarios.d.ts +0 -0
- package/dist/evaluation/openclaw-scenarios.js +0 -0
- package/dist/evaluation/openclaw-scenarios.js.map +0 -0
- package/dist/experience-management/governance-observability.d.ts +13 -0
- package/dist/experience-management/governance-observability.js +37 -0
- package/dist/experience-management/governance-observability.js.map +1 -0
- package/dist/experience-management/node-lifecycle-governance.d.ts +8 -0
- package/dist/experience-management/node-lifecycle-governance.js +80 -0
- package/dist/experience-management/node-lifecycle-governance.js.map +1 -0
- package/dist/experience-management/task-management-signals.d.ts +29 -0
- package/dist/experience-management/task-management-signals.js +148 -0
- package/dist/experience-management/task-management-signals.js.map +1 -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 +4 -1
- package/dist/feedback/feedback-manager.js +11 -22
- package/dist/feedback/feedback-manager.js.map +1 -1
- 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 +6 -1
- package/dist/feedback/state-transition.js +14 -2
- package/dist/feedback/state-transition.js.map +1 -1
- 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 +23 -0
- package/dist/hybrid/capsule-builder.js +114 -0
- package/dist/hybrid/capsule-builder.js.map +1 -0
- package/dist/hybrid/explain-provider-client.d.ts +19 -0
- package/dist/hybrid/explain-provider-client.js +34 -0
- package/dist/hybrid/explain-provider-client.js.map +1 -0
- package/dist/hybrid/postmortem-provider-client.d.ts +19 -0
- package/dist/hybrid/postmortem-provider-client.js +34 -0
- package/dist/hybrid/postmortem-provider-client.js.map +1 -0
- package/dist/hybrid/rollout.d.ts +9 -0
- package/dist/hybrid/rollout.js +49 -0
- package/dist/hybrid/rollout.js.map +1 -0
- package/dist/hybrid/router.d.ts +4 -0
- package/dist/hybrid/router.js +62 -0
- package/dist/hybrid/router.js.map +1 -0
- package/dist/hybrid/types.d.ts +140 -0
- package/dist/{compiler → hybrid}/types.js +0 -0
- package/dist/{packs → hybrid}/types.js.map +1 -1
- package/dist/hybrid/validators.d.ts +5 -0
- package/dist/hybrid/validators.js +94 -0
- package/dist/hybrid/validators.js.map +1 -0
- package/dist/hybrid/worker-client.d.ts +61 -0
- package/dist/hybrid/worker-client.js +196 -0
- package/dist/hybrid/worker-client.js.map +1 -0
- package/dist/hybrid/workers/explain-decision-llm.d.ts +8 -0
- package/dist/hybrid/workers/explain-decision-llm.js +152 -0
- package/dist/hybrid/workers/explain-decision-llm.js.map +1 -0
- package/dist/hybrid/workers/explain-decision.d.ts +2 -0
- package/dist/hybrid/workers/explain-decision.js +40 -0
- package/dist/hybrid/workers/explain-decision.js.map +1 -0
- package/dist/hybrid/workers/postmortem-review-llm.d.ts +8 -0
- package/dist/hybrid/workers/postmortem-review-llm.js +398 -0
- package/dist/hybrid/workers/postmortem-review-llm.js.map +1 -0
- package/dist/hybrid/workers/postmortem-review.d.ts +2 -0
- package/dist/hybrid/workers/postmortem-review.js +66 -0
- package/dist/hybrid/workers/postmortem-review.js.map +1 -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 +2 -1
- package/dist/input/input-adapter.js.map +1 -1
- package/dist/input/outcome-resolver.d.ts +0 -0
- package/dist/input/outcome-resolver.js +5 -5
- package/dist/input/outcome-resolver.js.map +1 -1
- package/dist/input/scope-resolver.d.ts +0 -0
- package/dist/input/scope-resolver.js +0 -0
- package/dist/input/scope-resolver.js.map +0 -0
- package/dist/input/tasktype-resolver.d.ts +0 -0
- package/dist/input/tasktype-resolver.js +2 -0
- package/dist/input/tasktype-resolver.js.map +1 -1
- package/dist/input/tool-event-significance.d.ts +5 -0
- package/dist/input/tool-event-significance.js +7 -0
- package/dist/input/tool-event-significance.js.map +1 -0
- package/dist/install/claude-cli.d.ts +0 -0
- package/dist/install/claude-cli.js +0 -0
- package/dist/install/claude-cli.js.map +0 -0
- package/dist/install/claude-code-doctor.d.ts +8 -2
- package/dist/install/claude-code-doctor.js +54 -9
- 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 +50 -1
- package/dist/install/claude-code-installer.js.map +1 -1
- package/dist/install/claude-marketplace-state.d.ts +14 -0
- package/dist/install/claude-marketplace-state.js +47 -0
- package/dist/install/claude-marketplace-state.js.map +1 -0
- package/dist/install/claude-runtime-target.d.ts +0 -0
- package/dist/install/claude-runtime-target.js +0 -0
- package/dist/install/claude-runtime-target.js.map +0 -0
- package/dist/install/codex-cli.d.ts +15 -0
- package/dist/install/codex-cli.js +55 -3
- package/dist/install/codex-cli.js.map +1 -1
- package/dist/install/codex-installer.d.ts +18 -0
- package/dist/install/codex-installer.js +91 -1
- package/dist/install/codex-installer.js.map +1 -1
- package/dist/install/codex-runtime-target.d.ts +0 -0
- package/dist/install/codex-runtime-target.js +0 -0
- package/dist/install/codex-runtime-target.js.map +0 -0
- 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 +11 -0
- package/dist/install/openclaw-cli.js +0 -0
- package/dist/install/openclaw-cli.js.map +1 -1
- package/dist/install/openclaw-installer.d.ts +12 -0
- package/dist/install/openclaw-installer.js +198 -31
- package/dist/install/openclaw-installer.js.map +1 -1
- package/dist/install/public-install.d.ts +14 -4
- package/dist/install/public-install.js +20 -7
- package/dist/install/public-install.js.map +1 -1
- 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 +3 -17
- package/dist/interaction/repo-summary.js +10 -27
- package/dist/interaction/repo-summary.js.map +1 -1
- package/dist/interaction/service.d.ts +59 -95
- package/dist/interaction/service.js +505 -266
- 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 +0 -0
- package/dist/maintenance/claude-validate-print.js +0 -0
- package/dist/maintenance/claude-validate-print.js.map +0 -0
- 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/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 -1
- package/dist/maintenance/scope-merge.js +0 -20
- package/dist/maintenance/scope-merge.js.map +1 -1
- 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 +1 -0
- package/dist/plugin/hooks/before-prompt-build.js +4 -1
- package/dist/plugin/hooks/before-prompt-build.js.map +1 -1
- 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 +39 -0
- package/dist/plugin/openclaw-install-state.js +24 -0
- package/dist/plugin/openclaw-install-state.js.map +1 -0
- package/dist/plugin/openclaw-plugin.d.ts +148 -0
- package/dist/plugin/openclaw-plugin.js +98 -7
- package/dist/plugin/openclaw-plugin.js.map +1 -1
- package/dist/plugin/openclaw-routine-interaction.d.ts +7 -0
- package/dist/plugin/openclaw-routine-interaction.js +301 -0
- package/dist/plugin/openclaw-routine-interaction.js.map +1 -0
- package/dist/plugin/openclaw-runtime-defaults.d.ts +16 -0
- package/dist/plugin/openclaw-runtime-defaults.js +16 -0
- package/dist/plugin/openclaw-runtime-defaults.js.map +1 -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 +0 -0
- package/dist/plugin/runtime-helpers.js.map +0 -0
- package/dist/runtime/service.d.ts +33 -6
- package/dist/runtime/service.js +427 -50
- 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 +37 -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/candidate-repo.d.ts +0 -0
- package/dist/store/sqlite/repositories/candidate-repo.js +8 -2
- package/dist/store/sqlite/repositories/candidate-repo.js.map +1 -1
- 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/hybrid-invocation-trace-repo.d.ts +11 -0
- package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.js +76 -0
- package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.js.map +1 -0
- package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.d.ts +11 -0
- package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.js +73 -0
- package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.js.map +1 -0
- package/dist/store/sqlite/repositories/injection-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/injection-repo.js +11 -0
- package/dist/store/sqlite/repositories/injection-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/input-record-repo.d.ts +3 -0
- package/dist/store/sqlite/repositories/input-record-repo.js +35 -0
- package/dist/store/sqlite/repositories/input-record-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/node-repo.d.ts +3 -0
- package/dist/store/sqlite/repositories/node-repo.js +62 -8
- package/dist/store/sqlite/repositories/node-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/outcome-record-repo.d.ts +0 -0
- package/dist/store/sqlite/repositories/outcome-record-repo.js +0 -0
- package/dist/store/sqlite/repositories/outcome-record-repo.js.map +0 -0
- package/dist/store/sqlite/repositories/review-event-repo.d.ts +0 -0
- package/dist/store/sqlite/repositories/review-event-repo.js +0 -0
- package/dist/store/sqlite/repositories/review-event-repo.js.map +0 -0
- 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 +2 -0
- package/dist/store/sqlite/repositories/task-run-repo.js +18 -2
- package/dist/store/sqlite/repositories/task-run-repo.js.map +1 -1
- package/dist/store/sqlite/schema.sql +49 -49
- package/dist/store/vector/api-embedding-provider.d.ts +2 -0
- package/dist/store/vector/api-embedding-provider.js +23 -19
- package/dist/store/vector/api-embedding-provider.js.map +1 -1
- package/dist/store/vector/embeddings.d.ts +1 -1
- package/dist/store/vector/embeddings.js +26 -5
- 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 +166 -47
- package/dist/types/domain.js +0 -0
- package/dist/types/domain.js.map +0 -0
- package/dist/types/plugin.d.ts +3 -1
- 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 +0 -0
- package/dist/utils/text.js.map +0 -0
- 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/releases/v0.1.0.md +0 -0
- package/docs/releases/v0.1.1.md +0 -0
- package/docs/releases/v0.1.2.md +3 -3
- package/docs/releases/v0.1.3.md +95 -0
- package/docs/releases/v0.2.0.md +85 -0
- package/docs/user-guide.md +263 -133
- package/hooks/hooks.json +0 -0
- package/openclaw.plugin.json +81 -1
- package/package.json +25 -16
- package/plugins/claude-code-experienceengine/.claude-plugin/plugin.json +1 -1
- package/plugins/claude-code-experienceengine/.mcp.json +4 -3
- package/plugins/claude-code-experienceengine/hooks/hooks.json +0 -0
- package/plugins/claude-code-experienceengine/scripts/claude-hook.sh +30 -1
- package/plugins/claude-code-experienceengine/scripts/install-deps.sh +41 -6
- package/scripts/claude-plugin/claude-hook.sh +0 -0
- package/scripts/claude-plugin/install-deps.sh +0 -0
- package/dist/cli/commands/pack.d.ts +0 -1
- package/dist/cli/commands/pack.js +0 -321
- package/dist/cli/commands/pack.js.map +0 -1
- package/dist/compiler/agents-renderer.d.ts +0 -4
- package/dist/compiler/agents-renderer.js +0 -105
- package/dist/compiler/agents-renderer.js.map +0 -1
- package/dist/compiler/claude-renderer.d.ts +0 -2
- package/dist/compiler/claude-renderer.js +0 -40
- package/dist/compiler/claude-renderer.js.map +0 -1
- package/dist/compiler/codex-renderer.d.ts +0 -2
- package/dist/compiler/codex-renderer.js +0 -40
- package/dist/compiler/codex-renderer.js.map +0 -1
- package/dist/compiler/compiler.d.ts +0 -4
- package/dist/compiler/compiler.js +0 -87
- package/dist/compiler/compiler.js.map +0 -1
- package/dist/compiler/deployer.d.ts +0 -21
- package/dist/compiler/deployer.js +0 -64
- package/dist/compiler/deployer.js.map +0 -1
- package/dist/compiler/github-renderer.d.ts +0 -2
- package/dist/compiler/github-renderer.js +0 -63
- package/dist/compiler/github-renderer.js.map +0 -1
- package/dist/compiler/types.d.ts +0 -45
- package/dist/compiler/types.js.map +0 -1
- package/dist/interaction/pack-actions-service.d.ts +0 -59
- package/dist/interaction/pack-actions-service.js +0 -172
- package/dist/interaction/pack-actions-service.js.map +0 -1
- package/dist/packs/fs-registry.d.ts +0 -27
- package/dist/packs/fs-registry.js +0 -216
- package/dist/packs/fs-registry.js.map +0 -1
- package/dist/packs/index-sync.d.ts +0 -9
- package/dist/packs/index-sync.js +0 -54
- package/dist/packs/index-sync.js.map +0 -1
- package/dist/packs/types.d.ts +0 -55
- package/dist/packs/types.js +0 -2
- package/dist/store/sqlite/repositories/pack-repo.d.ts +0 -16
- package/dist/store/sqlite/repositories/pack-repo.js +0 -192
- package/dist/store/sqlite/repositories/pack-repo.js.map +0 -1
|
@@ -64,6 +64,17 @@ export class InputRecordRepository {
|
|
|
64
64
|
.get();
|
|
65
65
|
return row ? this.mapRecord(row) : undefined;
|
|
66
66
|
}
|
|
67
|
+
getLatestInjectedByScope(scopeId) {
|
|
68
|
+
const row = this.db
|
|
69
|
+
.prepare(`SELECT record_id, scope_id, session_id, task_type, task_summary, outcome_signal, context_summary,
|
|
70
|
+
evidence_json, injected_node_ids_json, created_at
|
|
71
|
+
FROM experience_input_records
|
|
72
|
+
WHERE scope_id = ? AND injected_node_ids_json != '[]'
|
|
73
|
+
ORDER BY created_at DESC
|
|
74
|
+
LIMIT 1`)
|
|
75
|
+
.get(scopeId);
|
|
76
|
+
return row ? this.mapRecord(row) : undefined;
|
|
77
|
+
}
|
|
67
78
|
getLatestBySessionId(sessionId) {
|
|
68
79
|
const row = this.db
|
|
69
80
|
.prepare(`SELECT record_id, scope_id, session_id, task_type, task_summary, outcome_signal, context_summary,
|
|
@@ -86,6 +97,19 @@ export class InputRecordRepository {
|
|
|
86
97
|
.get(scopeId);
|
|
87
98
|
return row ? this.mapRecord(row) : undefined;
|
|
88
99
|
}
|
|
100
|
+
listByIds(recordIds) {
|
|
101
|
+
if (!recordIds.length) {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
const placeholders = recordIds.map(() => "?").join(", ");
|
|
105
|
+
return this.db
|
|
106
|
+
.prepare(`SELECT record_id, scope_id, session_id, task_type, task_summary, outcome_signal, context_summary,
|
|
107
|
+
evidence_json, injected_node_ids_json, created_at
|
|
108
|
+
FROM experience_input_records
|
|
109
|
+
WHERE record_id IN (${placeholders})`)
|
|
110
|
+
.all(...recordIds)
|
|
111
|
+
.map((row) => this.mapRecord(row));
|
|
112
|
+
}
|
|
89
113
|
listRecent(options = {}) {
|
|
90
114
|
const limit = options.limit ?? 10;
|
|
91
115
|
const whereClause = options.injectedOnly ? "WHERE injected_node_ids_json != '[]'" : "";
|
|
@@ -99,6 +123,17 @@ export class InputRecordRepository {
|
|
|
99
123
|
.all(limit)
|
|
100
124
|
.map((row) => this.mapRecord(row));
|
|
101
125
|
}
|
|
126
|
+
listRecentByScope(scopeId, limit = 10) {
|
|
127
|
+
return this.db
|
|
128
|
+
.prepare(`SELECT record_id, scope_id, session_id, task_type, task_summary, outcome_signal, context_summary,
|
|
129
|
+
evidence_json, injected_node_ids_json, created_at
|
|
130
|
+
FROM experience_input_records
|
|
131
|
+
WHERE scope_id = ?
|
|
132
|
+
ORDER BY created_at DESC
|
|
133
|
+
LIMIT ?`)
|
|
134
|
+
.all(scopeId, limit)
|
|
135
|
+
.map((row) => this.mapRecord(row));
|
|
136
|
+
}
|
|
102
137
|
count() {
|
|
103
138
|
return this.db.prepare("SELECT COUNT(*) AS count FROM experience_input_records").get().count;
|
|
104
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-record-repo.js","sourceRoot":"","sources":["../../../../src/store/sqlite/repositories/input-record-repo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input-record-repo.js","sourceRoot":"","sources":["../../../../src/store/sqlite/repositories/input-record-repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,9 @@ export declare class NodeRepository {
|
|
|
11
11
|
listByType(nodeType: ExperienceNode["node_type"]): ExperienceNode[];
|
|
12
12
|
getById(id: string): ExperienceNode | undefined;
|
|
13
13
|
listByIds(ids: string[]): ExperienceNode[];
|
|
14
|
+
listLiveInjectableByExactScope(scopeId: string): ExperienceNode[];
|
|
15
|
+
listShadowEligibleByExactScope(scopeId: string): ExperienceNode[];
|
|
16
|
+
listInjectableByExactScope(scopeId: string): ExperienceNode[];
|
|
14
17
|
listInjectableByScope(scopeId: string): ExperienceNode[];
|
|
15
18
|
listByScope(scopeId: string): ExperienceNode[];
|
|
16
19
|
updateState(id: string, state: ExperienceNode["state"]): ExperienceNode | undefined;
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
const DEFAULT_DELIVERY_STATE_BY_LIFECYCLE = {
|
|
2
|
+
candidate: "shadow_only",
|
|
3
|
+
priority_candidate: "conservative_only",
|
|
4
|
+
active: "eligible",
|
|
5
|
+
cooling: "conservative_only",
|
|
6
|
+
retired: "quarantined"
|
|
7
|
+
};
|
|
8
|
+
const resolveDeliveryState = (node) => node.delivery_state ?? DEFAULT_DELIVERY_STATE_BY_LIFECYCLE[node.state];
|
|
1
9
|
export class NodeRepository {
|
|
2
10
|
db;
|
|
3
11
|
constructor(db) {
|
|
@@ -37,18 +45,28 @@ export class NodeRepository {
|
|
|
37
45
|
distillation_mode_used: row.distillation_mode_used,
|
|
38
46
|
distillation_source: row.distillation_source,
|
|
39
47
|
redistilled_from: row.redistilled_from,
|
|
48
|
+
promotion_signal: row.promotion_signal ?? undefined,
|
|
49
|
+
promotion_reason: row.promotion_reason ?? undefined,
|
|
50
|
+
merge_decision: row.merge_decision ?? undefined,
|
|
51
|
+
merge_reason: row.merge_reason ?? undefined,
|
|
52
|
+
priority_promotion_applied: Boolean(row.priority_promotion_applied),
|
|
40
53
|
source_kind: row.source_kind,
|
|
41
54
|
origin_record_ids: JSON.parse(row.origin_record_ids_json),
|
|
42
55
|
helped_record_ids: JSON.parse(row.helped_record_ids_json),
|
|
43
56
|
harmed_record_ids: JSON.parse(row.harmed_record_ids_json),
|
|
44
57
|
state: row.state,
|
|
58
|
+
delivery_state: row.delivery_state ?? DEFAULT_DELIVERY_STATE_BY_LIFECYCLE[row.state],
|
|
45
59
|
usage_count: row.usage_count,
|
|
46
60
|
helped_count: row.helped_count,
|
|
47
61
|
harmed_count: row.harmed_count,
|
|
62
|
+
consecutive_harmed_count: row.consecutive_harmed_count ?? 0,
|
|
63
|
+
last_feedback_verdict: row.last_feedback_verdict ?? undefined,
|
|
48
64
|
support_count: row.support_count,
|
|
49
65
|
last_used_at: row.last_used_at ?? undefined,
|
|
50
66
|
last_helped_at: row.last_helped_at ?? undefined,
|
|
51
67
|
last_harmed_at: row.last_harmed_at ?? undefined,
|
|
68
|
+
quarantined_at: row.quarantined_at ?? undefined,
|
|
69
|
+
quarantine_reason: row.quarantine_reason ?? undefined,
|
|
52
70
|
created_at: row.created_at,
|
|
53
71
|
updated_at: row.updated_at
|
|
54
72
|
};
|
|
@@ -87,32 +105,42 @@ export class NodeRepository {
|
|
|
87
105
|
distillation_mode_used: node.distillation_mode_used ?? null,
|
|
88
106
|
distillation_source: node.distillation_source ?? null,
|
|
89
107
|
redistilled_from: node.redistilled_from ?? null,
|
|
108
|
+
promotion_signal: node.promotion_signal ?? null,
|
|
109
|
+
promotion_reason: node.promotion_reason ?? null,
|
|
110
|
+
merge_decision: node.merge_decision ?? null,
|
|
111
|
+
merge_reason: node.merge_reason ?? null,
|
|
112
|
+
priority_promotion_applied: node.priority_promotion_applied ? 1 : 0,
|
|
90
113
|
source_kind: node.source_kind,
|
|
91
114
|
origin_record_ids_json: JSON.stringify(node.origin_record_ids ?? []),
|
|
92
115
|
helped_record_ids_json: JSON.stringify(node.helped_record_ids ?? []),
|
|
93
116
|
harmed_record_ids_json: JSON.stringify(node.harmed_record_ids ?? []),
|
|
94
117
|
state: node.state,
|
|
118
|
+
delivery_state: resolveDeliveryState(node),
|
|
95
119
|
usage_count: node.usage_count,
|
|
96
120
|
helped_count: node.helped_count,
|
|
97
121
|
harmed_count: node.harmed_count,
|
|
122
|
+
consecutive_harmed_count: node.consecutive_harmed_count ?? 0,
|
|
123
|
+
last_feedback_verdict: node.last_feedback_verdict ?? null,
|
|
98
124
|
support_count: node.support_count,
|
|
99
125
|
last_used_at: node.last_used_at ?? null,
|
|
100
126
|
last_helped_at: node.last_helped_at ?? null,
|
|
101
127
|
last_harmed_at: node.last_harmed_at ?? null,
|
|
128
|
+
quarantined_at: node.quarantined_at ?? null,
|
|
129
|
+
quarantine_reason: node.quarantine_reason ?? null,
|
|
102
130
|
created_at: node.created_at,
|
|
103
131
|
updated_at: node.updated_at
|
|
104
132
|
};
|
|
105
133
|
this.db
|
|
106
134
|
.prepare(`INSERT INTO experience_nodes
|
|
107
135
|
(id, node_type, scope_id, task_type, experience_kind, confidence_signal, validation_state, correction_scope, correction_category, deviation_pattern, corrected_constraint, trigger_pattern, applicability_notes, env_signature, compact_hint, goal, recommended_steps_json,
|
|
108
|
-
avoid_steps_json, fallback_steps_json, success_signal, stop_condition, escalation_condition, evidence_summary, retrieval_text, embedding_json, embedding_provider, embedding_model, embedding_version, embedding_dimensions, distillation_mode_used, distillation_source, redistilled_from, source_kind,
|
|
109
|
-
origin_record_ids_json, helped_record_ids_json, harmed_record_ids_json, state,
|
|
110
|
-
usage_count, helped_count, harmed_count, support_count, last_used_at, last_helped_at, last_harmed_at, created_at, updated_at)
|
|
136
|
+
avoid_steps_json, fallback_steps_json, success_signal, stop_condition, escalation_condition, evidence_summary, retrieval_text, embedding_json, embedding_provider, embedding_model, embedding_version, embedding_dimensions, distillation_mode_used, distillation_source, redistilled_from, promotion_signal, promotion_reason, merge_decision, merge_reason, priority_promotion_applied, source_kind,
|
|
137
|
+
origin_record_ids_json, helped_record_ids_json, harmed_record_ids_json, state, delivery_state,
|
|
138
|
+
usage_count, helped_count, harmed_count, consecutive_harmed_count, last_feedback_verdict, support_count, last_used_at, last_helped_at, last_harmed_at, quarantined_at, quarantine_reason, created_at, updated_at)
|
|
111
139
|
VALUES
|
|
112
140
|
(@id, @node_type, @scope_id, @task_type, @experience_kind, @confidence_signal, @validation_state, @correction_scope, @correction_category, @deviation_pattern, @corrected_constraint, @trigger_pattern, @applicability_notes, @env_signature, @compact_hint, @goal, @recommended_steps_json,
|
|
113
|
-
@avoid_steps_json, @fallback_steps_json, @success_signal, @stop_condition, @escalation_condition, @evidence_summary, @retrieval_text, @embedding_json, @embedding_provider, @embedding_model, @embedding_version, @embedding_dimensions, @distillation_mode_used, @distillation_source, @redistilled_from, @source_kind,
|
|
114
|
-
@origin_record_ids_json, @helped_record_ids_json, @harmed_record_ids_json, @state,
|
|
115
|
-
@usage_count, @helped_count, @harmed_count, @support_count, @last_used_at, @last_helped_at, @last_harmed_at, @created_at, @updated_at)
|
|
141
|
+
@avoid_steps_json, @fallback_steps_json, @success_signal, @stop_condition, @escalation_condition, @evidence_summary, @retrieval_text, @embedding_json, @embedding_provider, @embedding_model, @embedding_version, @embedding_dimensions, @distillation_mode_used, @distillation_source, @redistilled_from, @promotion_signal, @promotion_reason, @merge_decision, @merge_reason, @priority_promotion_applied, @source_kind,
|
|
142
|
+
@origin_record_ids_json, @helped_record_ids_json, @harmed_record_ids_json, @state, @delivery_state,
|
|
143
|
+
@usage_count, @helped_count, @harmed_count, @consecutive_harmed_count, @last_feedback_verdict, @support_count, @last_used_at, @last_helped_at, @last_harmed_at, @quarantined_at, @quarantine_reason, @created_at, @updated_at)
|
|
116
144
|
ON CONFLICT(id) DO UPDATE SET
|
|
117
145
|
experience_kind = excluded.experience_kind,
|
|
118
146
|
confidence_signal = excluded.confidence_signal,
|
|
@@ -142,18 +170,28 @@ export class NodeRepository {
|
|
|
142
170
|
distillation_mode_used = excluded.distillation_mode_used,
|
|
143
171
|
distillation_source = excluded.distillation_source,
|
|
144
172
|
redistilled_from = excluded.redistilled_from,
|
|
173
|
+
promotion_signal = excluded.promotion_signal,
|
|
174
|
+
promotion_reason = excluded.promotion_reason,
|
|
175
|
+
merge_decision = excluded.merge_decision,
|
|
176
|
+
merge_reason = excluded.merge_reason,
|
|
177
|
+
priority_promotion_applied = excluded.priority_promotion_applied,
|
|
145
178
|
source_kind = excluded.source_kind,
|
|
146
179
|
origin_record_ids_json = excluded.origin_record_ids_json,
|
|
147
180
|
helped_record_ids_json = excluded.helped_record_ids_json,
|
|
148
181
|
harmed_record_ids_json = excluded.harmed_record_ids_json,
|
|
149
182
|
state = excluded.state,
|
|
183
|
+
delivery_state = excluded.delivery_state,
|
|
150
184
|
usage_count = excluded.usage_count,
|
|
151
185
|
helped_count = excluded.helped_count,
|
|
152
186
|
harmed_count = excluded.harmed_count,
|
|
187
|
+
consecutive_harmed_count = excluded.consecutive_harmed_count,
|
|
188
|
+
last_feedback_verdict = excluded.last_feedback_verdict,
|
|
153
189
|
support_count = excluded.support_count,
|
|
154
190
|
last_used_at = excluded.last_used_at,
|
|
155
191
|
last_helped_at = excluded.last_helped_at,
|
|
156
192
|
last_harmed_at = excluded.last_harmed_at,
|
|
193
|
+
quarantined_at = excluded.quarantined_at,
|
|
194
|
+
quarantine_reason = excluded.quarantine_reason,
|
|
157
195
|
updated_at = excluded.updated_at`)
|
|
158
196
|
.run(payload);
|
|
159
197
|
return node;
|
|
@@ -196,15 +234,30 @@ export class NodeRepository {
|
|
|
196
234
|
.all(...ids)
|
|
197
235
|
.map((row) => this.mapNode(row));
|
|
198
236
|
}
|
|
199
|
-
|
|
237
|
+
listLiveInjectableByExactScope(scopeId) {
|
|
200
238
|
return this.db
|
|
201
239
|
.prepare(`SELECT * FROM experience_nodes
|
|
202
240
|
WHERE scope_id = ?
|
|
203
|
-
AND
|
|
241
|
+
AND delivery_state IN ('eligible', 'conservative_only')
|
|
204
242
|
ORDER BY updated_at DESC`)
|
|
205
243
|
.all(scopeId)
|
|
206
244
|
.map((row) => this.mapNode(row));
|
|
207
245
|
}
|
|
246
|
+
listShadowEligibleByExactScope(scopeId) {
|
|
247
|
+
return this.db
|
|
248
|
+
.prepare(`SELECT * FROM experience_nodes
|
|
249
|
+
WHERE scope_id = ?
|
|
250
|
+
AND delivery_state IN ('eligible', 'conservative_only', 'shadow_only')
|
|
251
|
+
ORDER BY updated_at DESC`)
|
|
252
|
+
.all(scopeId)
|
|
253
|
+
.map((row) => this.mapNode(row));
|
|
254
|
+
}
|
|
255
|
+
listInjectableByExactScope(scopeId) {
|
|
256
|
+
return this.listLiveInjectableByExactScope(scopeId);
|
|
257
|
+
}
|
|
258
|
+
listInjectableByScope(scopeId) {
|
|
259
|
+
return this.listLiveInjectableByExactScope(scopeId);
|
|
260
|
+
}
|
|
208
261
|
listByScope(scopeId) {
|
|
209
262
|
return this.db
|
|
210
263
|
.prepare("SELECT * FROM experience_nodes WHERE scope_id = ? ORDER BY updated_at DESC")
|
|
@@ -219,6 +272,7 @@ export class NodeRepository {
|
|
|
219
272
|
return this.upsert({
|
|
220
273
|
...node,
|
|
221
274
|
state,
|
|
275
|
+
delivery_state: DEFAULT_DELIVERY_STATE_BY_LIFECYCLE[state],
|
|
222
276
|
updated_at: new Date().toISOString()
|
|
223
277
|
});
|
|
224
278
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-repo.js","sourceRoot":"","sources":["../../../../src/store/sqlite/repositories/node-repo.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,EAAgB;QAAhB,OAAE,GAAF,EAAE,CAAc;IAAG,CAAC;IAEzC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"node-repo.js","sourceRoot":"","sources":["../../../../src/store/sqlite/repositories/node-repo.ts"],"names":[],"mappings":"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"}
|
|
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
|
|
@@ -9,4 +9,6 @@ export declare class TaskRunRepository {
|
|
|
9
9
|
getLatestBySessionId(sessionId: string): TaskRun | undefined;
|
|
10
10
|
count(): number;
|
|
11
11
|
countByScope(scopeId: string): number;
|
|
12
|
+
countByHost(host: TaskRun["host"]): number;
|
|
13
|
+
countByScopeAndHost(scopeId: string, host: TaskRun["host"]): number;
|
|
12
14
|
}
|
|
@@ -17,6 +17,8 @@ export class TaskRunRepository {
|
|
|
17
17
|
ended_at: row.ended_at ?? undefined,
|
|
18
18
|
final_status: row.final_status,
|
|
19
19
|
failure_signature: row.failure_signature ?? undefined,
|
|
20
|
+
learning_status: row.learning_status ?? undefined,
|
|
21
|
+
learning_reason: row.learning_reason ?? undefined,
|
|
20
22
|
created_at: row.created_at,
|
|
21
23
|
updated_at: row.updated_at
|
|
22
24
|
};
|
|
@@ -25,14 +27,16 @@ export class TaskRunRepository {
|
|
|
25
27
|
this.db
|
|
26
28
|
.prepare(`INSERT INTO task_runs
|
|
27
29
|
(id, host, scope_id, session_id, task_type, task_summary, prompt_excerpt, context_summary,
|
|
28
|
-
started_at, ended_at, final_status, failure_signature, created_at, updated_at)
|
|
30
|
+
started_at, ended_at, final_status, failure_signature, learning_status, learning_reason, created_at, updated_at)
|
|
29
31
|
VALUES
|
|
30
32
|
(@id, @host, @scope_id, @session_id, @task_type, @task_summary, @prompt_excerpt, @context_summary,
|
|
31
|
-
@started_at, @ended_at, @final_status, @failure_signature, @created_at, @updated_at)
|
|
33
|
+
@started_at, @ended_at, @final_status, @failure_signature, @learning_status, @learning_reason, @created_at, @updated_at)
|
|
32
34
|
ON CONFLICT(id) DO UPDATE SET
|
|
33
35
|
ended_at = excluded.ended_at,
|
|
34
36
|
final_status = excluded.final_status,
|
|
35
37
|
failure_signature = excluded.failure_signature,
|
|
38
|
+
learning_status = excluded.learning_status,
|
|
39
|
+
learning_reason = excluded.learning_reason,
|
|
36
40
|
prompt_excerpt = excluded.prompt_excerpt,
|
|
37
41
|
context_summary = excluded.context_summary,
|
|
38
42
|
updated_at = excluded.updated_at`)
|
|
@@ -49,6 +53,8 @@ export class TaskRunRepository {
|
|
|
49
53
|
ended_at: taskRun.ended_at ?? null,
|
|
50
54
|
final_status: taskRun.final_status,
|
|
51
55
|
failure_signature: taskRun.failure_signature ?? null,
|
|
56
|
+
learning_status: taskRun.learning_status ?? null,
|
|
57
|
+
learning_reason: taskRun.learning_reason ?? null,
|
|
52
58
|
created_at: taskRun.created_at,
|
|
53
59
|
updated_at: taskRun.updated_at
|
|
54
60
|
});
|
|
@@ -72,5 +78,15 @@ export class TaskRunRepository {
|
|
|
72
78
|
.prepare("SELECT COUNT(*) AS count FROM task_runs WHERE scope_id = ?")
|
|
73
79
|
.get(scopeId).count;
|
|
74
80
|
}
|
|
81
|
+
countByHost(host) {
|
|
82
|
+
return this.db
|
|
83
|
+
.prepare("SELECT COUNT(*) AS count FROM task_runs WHERE host = ?")
|
|
84
|
+
.get(host).count;
|
|
85
|
+
}
|
|
86
|
+
countByScopeAndHost(scopeId, host) {
|
|
87
|
+
return this.db
|
|
88
|
+
.prepare("SELECT COUNT(*) AS count FROM task_runs WHERE scope_id = ? AND host = ?")
|
|
89
|
+
.get(scopeId, host).count;
|
|
90
|
+
}
|
|
75
91
|
}
|
|
76
92
|
//# sourceMappingURL=task-run-repo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-run-repo.js","sourceRoot":"","sources":["../../../../src/store/sqlite/repositories/task-run-repo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-run-repo.js","sourceRoot":"","sources":["../../../../src/store/sqlite/repositories/task-run-repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,8 @@ CREATE TABLE IF NOT EXISTS task_runs (
|
|
|
34
34
|
ended_at TEXT,
|
|
35
35
|
final_status TEXT NOT NULL,
|
|
36
36
|
failure_signature TEXT,
|
|
37
|
+
learning_status TEXT,
|
|
38
|
+
learning_reason TEXT,
|
|
37
39
|
created_at TEXT NOT NULL,
|
|
38
40
|
updated_at TEXT NOT NULL
|
|
39
41
|
);
|
|
@@ -56,6 +58,41 @@ CREATE TABLE IF NOT EXISTS review_events (
|
|
|
56
58
|
created_at TEXT NOT NULL
|
|
57
59
|
);
|
|
58
60
|
|
|
61
|
+
CREATE TABLE IF NOT EXISTS hybrid_review_artifacts (
|
|
62
|
+
id TEXT PRIMARY KEY,
|
|
63
|
+
task_run_id TEXT NOT NULL UNIQUE,
|
|
64
|
+
scope_id TEXT NOT NULL,
|
|
65
|
+
worker_task TEXT NOT NULL,
|
|
66
|
+
approval_class TEXT NOT NULL,
|
|
67
|
+
schema_version TEXT NOT NULL,
|
|
68
|
+
route_policy_version TEXT NOT NULL,
|
|
69
|
+
worker_profile_version TEXT NOT NULL,
|
|
70
|
+
recommendation TEXT NOT NULL,
|
|
71
|
+
summary TEXT NOT NULL,
|
|
72
|
+
payload_json TEXT NOT NULL,
|
|
73
|
+
created_at TEXT NOT NULL,
|
|
74
|
+
updated_at TEXT NOT NULL
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
CREATE TABLE IF NOT EXISTS hybrid_invocation_traces (
|
|
78
|
+
id TEXT PRIMARY KEY,
|
|
79
|
+
surface TEXT NOT NULL,
|
|
80
|
+
session_id TEXT,
|
|
81
|
+
scope_id TEXT,
|
|
82
|
+
worker_task TEXT,
|
|
83
|
+
route TEXT NOT NULL,
|
|
84
|
+
route_policy_version TEXT NOT NULL,
|
|
85
|
+
capsule_schema_version TEXT,
|
|
86
|
+
worker_profile_version TEXT,
|
|
87
|
+
rollout_mode TEXT NOT NULL,
|
|
88
|
+
rollout_reason TEXT NOT NULL,
|
|
89
|
+
worker_ran INTEGER NOT NULL DEFAULT 0,
|
|
90
|
+
validation_status TEXT NOT NULL,
|
|
91
|
+
output_action TEXT NOT NULL,
|
|
92
|
+
fallback_reason TEXT,
|
|
93
|
+
created_at TEXT NOT NULL
|
|
94
|
+
);
|
|
95
|
+
|
|
59
96
|
CREATE TABLE IF NOT EXISTS experience_nodes (
|
|
60
97
|
id TEXT PRIMARY KEY,
|
|
61
98
|
node_type TEXT NOT NULL,
|
|
@@ -89,18 +126,28 @@ CREATE TABLE IF NOT EXISTS experience_nodes (
|
|
|
89
126
|
distillation_mode_used TEXT,
|
|
90
127
|
distillation_source TEXT,
|
|
91
128
|
redistilled_from TEXT,
|
|
129
|
+
promotion_signal TEXT,
|
|
130
|
+
promotion_reason TEXT,
|
|
131
|
+
merge_decision TEXT,
|
|
132
|
+
merge_reason TEXT,
|
|
133
|
+
priority_promotion_applied INTEGER NOT NULL DEFAULT 0,
|
|
92
134
|
source_kind TEXT NOT NULL,
|
|
93
135
|
origin_record_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
94
136
|
helped_record_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
95
137
|
harmed_record_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
96
138
|
state TEXT NOT NULL,
|
|
139
|
+
delivery_state TEXT NOT NULL DEFAULT 'shadow_only',
|
|
97
140
|
usage_count INTEGER NOT NULL DEFAULT 0,
|
|
98
141
|
helped_count INTEGER NOT NULL DEFAULT 0,
|
|
99
142
|
harmed_count INTEGER NOT NULL DEFAULT 0,
|
|
143
|
+
consecutive_harmed_count INTEGER NOT NULL DEFAULT 0,
|
|
144
|
+
last_feedback_verdict TEXT,
|
|
100
145
|
support_count INTEGER NOT NULL DEFAULT 1,
|
|
101
146
|
last_used_at TEXT,
|
|
102
147
|
last_helped_at TEXT,
|
|
103
148
|
last_harmed_at TEXT,
|
|
149
|
+
quarantined_at TEXT,
|
|
150
|
+
quarantine_reason TEXT,
|
|
104
151
|
created_at TEXT NOT NULL,
|
|
105
152
|
updated_at TEXT NOT NULL
|
|
106
153
|
);
|
|
@@ -143,6 +190,8 @@ CREATE TABLE IF NOT EXISTS experience_candidates (
|
|
|
143
190
|
retry_count INTEGER NOT NULL DEFAULT 0,
|
|
144
191
|
distilled_node_id TEXT,
|
|
145
192
|
last_error TEXT,
|
|
193
|
+
promotion_signal TEXT,
|
|
194
|
+
promotion_reason TEXT,
|
|
146
195
|
created_at TEXT NOT NULL,
|
|
147
196
|
updated_at TEXT NOT NULL,
|
|
148
197
|
distilled_at TEXT,
|
|
@@ -197,52 +246,3 @@ CREATE TABLE IF NOT EXISTS scope_task_stats (
|
|
|
197
246
|
updated_at TEXT NOT NULL,
|
|
198
247
|
PRIMARY KEY (scope_id, task_type)
|
|
199
248
|
);
|
|
200
|
-
|
|
201
|
-
CREATE TABLE IF NOT EXISTS experience_packs (
|
|
202
|
-
pack_id TEXT PRIMARY KEY,
|
|
203
|
-
name TEXT NOT NULL,
|
|
204
|
-
description TEXT NOT NULL,
|
|
205
|
-
owner TEXT NOT NULL,
|
|
206
|
-
status TEXT NOT NULL,
|
|
207
|
-
current_version TEXT NOT NULL,
|
|
208
|
-
scope_hints_json TEXT NOT NULL,
|
|
209
|
-
task_families_json TEXT NOT NULL,
|
|
210
|
-
host_compatibility_json TEXT NOT NULL,
|
|
211
|
-
created_at TEXT NOT NULL,
|
|
212
|
-
updated_at TEXT NOT NULL,
|
|
213
|
-
published_at TEXT,
|
|
214
|
-
rolled_back_at TEXT
|
|
215
|
-
);
|
|
216
|
-
|
|
217
|
-
CREATE TABLE IF NOT EXISTS experience_pack_versions (
|
|
218
|
-
pack_id TEXT NOT NULL,
|
|
219
|
-
version TEXT NOT NULL,
|
|
220
|
-
status_snapshot TEXT NOT NULL,
|
|
221
|
-
evidence_summary TEXT NOT NULL,
|
|
222
|
-
benchmark_summary TEXT,
|
|
223
|
-
risk_level TEXT NOT NULL,
|
|
224
|
-
ttl TEXT,
|
|
225
|
-
host_compatibility_json TEXT NOT NULL,
|
|
226
|
-
created_at TEXT NOT NULL,
|
|
227
|
-
published_at TEXT,
|
|
228
|
-
rolled_back_from TEXT,
|
|
229
|
-
PRIMARY KEY (pack_id, version)
|
|
230
|
-
);
|
|
231
|
-
|
|
232
|
-
CREATE TABLE IF NOT EXISTS experience_pack_memberships (
|
|
233
|
-
pack_id TEXT NOT NULL,
|
|
234
|
-
version TEXT NOT NULL,
|
|
235
|
-
node_id TEXT NOT NULL,
|
|
236
|
-
created_at TEXT NOT NULL,
|
|
237
|
-
PRIMARY KEY (pack_id, version, node_id)
|
|
238
|
-
);
|
|
239
|
-
|
|
240
|
-
CREATE TABLE IF NOT EXISTS experience_pack_activations (
|
|
241
|
-
scope_id TEXT NOT NULL,
|
|
242
|
-
pack_id TEXT NOT NULL,
|
|
243
|
-
enabled INTEGER NOT NULL DEFAULT 1,
|
|
244
|
-
pinned_version TEXT,
|
|
245
|
-
created_at TEXT NOT NULL,
|
|
246
|
-
updated_at TEXT NOT NULL,
|
|
247
|
-
PRIMARY KEY (scope_id, pack_id)
|
|
248
|
-
);
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { SemanticEmbeddingProvider } from "./provider-types.js";
|
|
2
2
|
type ApiEmbeddingOptions = {
|
|
3
3
|
env?: NodeJS.ProcessEnv;
|
|
4
|
+
homeDir?: string;
|
|
4
5
|
fetchImpl?: typeof fetch;
|
|
5
6
|
timeoutMs?: number;
|
|
7
|
+
explicitProvider?: "auto" | "openai" | "jina" | "gemini";
|
|
6
8
|
};
|
|
7
9
|
export declare const resolveApiEmbeddingProvider: (options?: ApiEmbeddingOptions) => SemanticEmbeddingProvider | null;
|
|
8
10
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveExperienceEngineRuntimeEnv } from "../../config/runtime-env.js";
|
|
1
2
|
const firstNonEmpty = (...values) => {
|
|
2
3
|
for (const value of values) {
|
|
3
4
|
if (typeof value === "string" && value.trim().length > 0) {
|
|
@@ -51,7 +52,7 @@ const withTransientRetry = async (operation) => {
|
|
|
51
52
|
const OPENAI_MODEL = "text-embedding-3-small";
|
|
52
53
|
const OPENAI_VERSION = "openai-te3s-v1";
|
|
53
54
|
const createOpenAIProvider = (options = {}) => {
|
|
54
|
-
const env = options.env ?? process.env;
|
|
55
|
+
const env = resolveExperienceEngineRuntimeEnv({ env: options.env ?? process.env, homeDir: options.homeDir });
|
|
55
56
|
const apiKey = firstNonEmpty(env.OPENAI_API_KEY, env.EXPERIENCE_ENGINE_EMBEDDING_API_KEY);
|
|
56
57
|
if (!apiKey) {
|
|
57
58
|
throw new Error("OpenAI embedding provider requires OPENAI_API_KEY");
|
|
@@ -102,7 +103,7 @@ const JINA_TASK_MAP = {
|
|
|
102
103
|
passage: "retrieval.passage"
|
|
103
104
|
};
|
|
104
105
|
const createJinaProvider = (options = {}) => {
|
|
105
|
-
const env = options.env ?? process.env;
|
|
106
|
+
const env = resolveExperienceEngineRuntimeEnv({ env: options.env ?? process.env, homeDir: options.homeDir });
|
|
106
107
|
const apiKey = firstNonEmpty(env.JINA_API_KEY);
|
|
107
108
|
if (!apiKey) {
|
|
108
109
|
throw new Error("Jina embedding provider requires JINA_API_KEY");
|
|
@@ -155,7 +156,7 @@ const createJinaProvider = (options = {}) => {
|
|
|
155
156
|
const GEMINI_EMBEDDING_MODEL = "gemini-embedding-001";
|
|
156
157
|
const GEMINI_EMBEDDING_VERSION = "gemini-embedding-001";
|
|
157
158
|
const createGeminiProvider = (options = {}) => {
|
|
158
|
-
const env = options.env ?? process.env;
|
|
159
|
+
const env = resolveExperienceEngineRuntimeEnv({ env: options.env ?? process.env, homeDir: options.homeDir });
|
|
159
160
|
const apiKey = firstNonEmpty(env.GEMINI_API_KEY);
|
|
160
161
|
if (!apiKey) {
|
|
161
162
|
throw new Error("Gemini embedding provider requires GEMINI_API_KEY");
|
|
@@ -198,8 +199,8 @@ const createGeminiProvider = (options = {}) => {
|
|
|
198
199
|
};
|
|
199
200
|
};
|
|
200
201
|
export const resolveApiEmbeddingProvider = (options = {}) => {
|
|
201
|
-
const env = options.env ?? process.env;
|
|
202
|
-
const explicit = env.EXPERIENCE_ENGINE_EMBEDDING_API_PROVIDER;
|
|
202
|
+
const env = resolveExperienceEngineRuntimeEnv({ env: options.env ?? process.env, homeDir: options.homeDir });
|
|
203
|
+
const explicit = options.explicitProvider ?? env.EXPERIENCE_ENGINE_EMBEDDING_API_PROVIDER ?? "auto";
|
|
203
204
|
if (explicit === "openai") {
|
|
204
205
|
try {
|
|
205
206
|
return createOpenAIProvider(options);
|
|
@@ -224,27 +225,30 @@ export const resolveApiEmbeddingProvider = (options = {}) => {
|
|
|
224
225
|
return null;
|
|
225
226
|
}
|
|
226
227
|
}
|
|
227
|
-
if (
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
if (explicit === "auto") {
|
|
229
|
+
if (firstNonEmpty(env.OPENAI_API_KEY, env.EXPERIENCE_ENGINE_EMBEDDING_API_KEY)) {
|
|
230
|
+
try {
|
|
231
|
+
return createOpenAIProvider(options);
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
230
236
|
}
|
|
231
|
-
|
|
232
|
-
|
|
237
|
+
if (firstNonEmpty(env.GEMINI_API_KEY)) {
|
|
238
|
+
try {
|
|
239
|
+
return createGeminiProvider(options);
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
233
244
|
}
|
|
234
|
-
}
|
|
235
|
-
if (firstNonEmpty(env.GEMINI_API_KEY)) {
|
|
236
245
|
try {
|
|
237
|
-
return
|
|
246
|
+
return createJinaProvider(options);
|
|
238
247
|
}
|
|
239
248
|
catch {
|
|
240
249
|
return null;
|
|
241
250
|
}
|
|
242
251
|
}
|
|
243
|
-
|
|
244
|
-
return createJinaProvider(options);
|
|
245
|
-
}
|
|
246
|
-
catch {
|
|
247
|
-
return null;
|
|
248
|
-
}
|
|
252
|
+
return null;
|
|
249
253
|
};
|
|
250
254
|
//# sourceMappingURL=api-embedding-provider.js.map
|