@principles/core 1.284.17 → 1.284.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +101 -14
- package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +113 -1
- package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +0 -1
- package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js +211 -0
- package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.js +23 -1
- package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js +25 -0
- package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js.map +1 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +38 -7
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/output-schema-registry.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/output-schema-registry.js +0 -2
- package/dist/runtime-v2/adapter/output-schema-registry.js.map +1 -1
- package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts +16 -0
- package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js +22 -0
- package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js.map +1 -1
- package/dist/runtime-v2/agent-spec.d.ts +0 -1
- package/dist/runtime-v2/agent-spec.d.ts.map +1 -1
- package/dist/runtime-v2/agent-spec.js +3 -1
- package/dist/runtime-v2/agent-spec.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/internal-agent-names.test.js +3 -1
- package/dist/runtime-v2/config/__tests__/internal-agent-names.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +0 -7
- package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +61 -1
- package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-defaults.js +0 -1
- package/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-types.d.ts +1 -1
- package/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-types.js +0 -1
- package/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-validate.js +20 -1
- package/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
- package/dist/runtime-v2/evidence-sanitizer.d.ts +17 -2
- package/dist/runtime-v2/evidence-sanitizer.d.ts.map +1 -1
- package/dist/runtime-v2/evidence-sanitizer.js +80 -11
- package/dist/runtime-v2/evidence-sanitizer.js.map +1 -1
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +3 -3
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js +11 -40
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +6 -40
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +9 -6
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +12 -5
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +61 -29
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +0 -1
- package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js +2 -2
- package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +2 -13
- package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +1 -5
- package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js +1 -5
- package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +1 -1
- package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/formation-context.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/formation-context.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/formation-context.test.js +428 -0
- package/dist/runtime-v2/internalization/__tests__/formation-context.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js +97 -0
- package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js +61 -0
- package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js.map +1 -1
- package/dist/runtime-v2/internalization/artifact-summary.d.ts +11 -0
- package/dist/runtime-v2/internalization/artifact-summary.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artifact-summary.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +48 -14
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.js +32 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.js +60 -156
- package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.js +2 -19
- package/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.js +1 -5
- package/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.d.ts +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.js +9 -32
- package/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts +1 -9
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.js +4 -35
- package/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts +3 -54
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +18 -230
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/formation-context.d.ts +208 -0
- package/dist/runtime-v2/internalization/formation-context.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/formation-context.js +621 -0
- package/dist/runtime-v2/internalization/formation-context.js.map +1 -0
- package/dist/runtime-v2/internalization/index.d.ts +0 -2
- package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/index.js +0 -2
- package/dist/runtime-v2/internalization/index.js.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.js +1 -25
- package/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +53 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.js +65 -3
- package/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.d.ts +17 -0
- package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.js +58 -40
- package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/split-diagnostician-runner.js +13 -2
- package/dist/runtime-v2/internalization/split-diagnostician-runner.js.map +1 -1
- package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.js +31 -21
- package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.js.map +1 -1
- package/dist/runtime-v2/observer/agent-scheduler.d.ts +0 -5
- package/dist/runtime-v2/observer/agent-scheduler.d.ts.map +1 -1
- package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts +2 -0
- package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts.map +1 -0
- package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js +559 -0
- package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js.map +1 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts +7868 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts.map +1 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view-contract.js +367 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view-contract.js.map +1 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view.d.ts +415 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view.d.ts.map +1 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view.js +856 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view.js.map +1 -0
- package/dist/runtime-v2/owner-decision/semantic-selector.d.ts +72 -0
- package/dist/runtime-v2/owner-decision/semantic-selector.d.ts.map +1 -0
- package/dist/runtime-v2/owner-decision/semantic-selector.js +176 -0
- package/dist/runtime-v2/owner-decision/semantic-selector.js.map +1 -0
- package/dist/runtime-v2/runner/base-peer-runner.d.ts +0 -125
- package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.js +0 -323
- package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/dist/runtime-v2/runner/peer-runner-types.d.ts +0 -12
- package/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/types.d.ts +0 -12
- package/dist/runtime-v2/signal-collector/types.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/types.js.map +1 -1
- package/dist/runtime-v2/types/event-types.d.ts +9 -0
- package/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/dist/runtime-v2/types/event-types.js +12 -0
- package/dist/runtime-v2/types/event-types.js.map +1 -1
- package/dist/telemetry-event.d.ts +2 -2
- package/dist/telemetry-event.d.ts.map +1 -1
- package/dist/telemetry-event.js +7 -84
- package/dist/telemetry-event.js.map +1 -1
- package/package.json +1 -1
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.d.ts +0 -15
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.d.ts.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.js +0 -90
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.js.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.d.ts +0 -12
- package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.d.ts.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.js +0 -117
- package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.js.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.d.ts +0 -8
- package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.d.ts.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.js +0 -56
- package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.d.ts +0 -26
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.js +0 -420
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.d.ts +0 -15
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.js +0 -306
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.d.ts +0 -12
- package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.js +0 -176
- package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts +0 -2
- package/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/context-resolution.test.js +0 -377
- package/dist/runtime-v2/internalization/__tests__/context-resolution.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.d.ts +0 -22
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.js +0 -92
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.d.ts +0 -2
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js +0 -1039
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.d.ts +0 -13
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.js +0 -257
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.d.ts +0 -11
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.js +0 -154
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.d.ts +0 -12
- package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.js +0 -254
- package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.d.ts +0 -15
- package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.js +0 -150
- package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts +0 -2
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +0 -773
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.d.ts +0 -22
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.js +0 -280
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.d.ts +0 -25
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.js +0 -413
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/attach-summary-envelope.d.ts +0 -60
- package/dist/runtime-v2/internalization/attach-summary-envelope.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/attach-summary-envelope.js +0 -126
- package/dist/runtime-v2/internalization/attach-summary-envelope.js.map +0 -1
- package/dist/runtime-v2/internalization/candidate-lineage.d.ts +0 -185
- package/dist/runtime-v2/internalization/candidate-lineage.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/candidate-lineage.js +0 -357
- package/dist/runtime-v2/internalization/candidate-lineage.js.map +0 -1
- package/dist/runtime-v2/internalization/context-manifest.d.ts +0 -117
- package/dist/runtime-v2/internalization/context-manifest.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/context-manifest.js +0 -156
- package/dist/runtime-v2/internalization/context-manifest.js.map +0 -1
- package/dist/runtime-v2/internalization/context-manifests.d.ts +0 -148
- package/dist/runtime-v2/internalization/context-manifests.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/context-manifests.js +0 -323
- package/dist/runtime-v2/internalization/context-manifests.js.map +0 -1
- package/dist/runtime-v2/internalization/context-resolution.d.ts +0 -189
- package/dist/runtime-v2/internalization/context-resolution.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/context-resolution.js +0 -317
- package/dist/runtime-v2/internalization/context-resolution.js.map +0 -1
- package/dist/runtime-v2/internalization/progressive-evaluator.d.ts +0 -115
- package/dist/runtime-v2/internalization/progressive-evaluator.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/progressive-evaluator.js +0 -248
- package/dist/runtime-v2/internalization/progressive-evaluator.js.map +0 -1
- package/dist/runtime-v2/internalization/prompt-budget-manager.d.ts +0 -90
- package/dist/runtime-v2/internalization/prompt-budget-manager.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/prompt-budget-manager.js +0 -149
- package/dist/runtime-v2/internalization/prompt-budget-manager.js.map +0 -1
- package/dist/runtime-v2/internalization/resolve-injection.d.ts +0 -62
- package/dist/runtime-v2/internalization/resolve-injection.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/resolve-injection.js +0 -78
- package/dist/runtime-v2/internalization/resolve-injection.js.map +0 -1
- package/dist/runtime-v2/internalization/summary-field-reader.d.ts +0 -38
- package/dist/runtime-v2/internalization/summary-field-reader.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/summary-field-reader.js +0 -108
- package/dist/runtime-v2/internalization/summary-field-reader.js.map +0 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.d.ts +0 -2
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.d.ts.map +0 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js +0 -74
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js.map +0 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.d.ts +0 -2
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.d.ts.map +0 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.js +0 -85
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.js.map +0 -1
- package/dist/runtime-v2/observer/empathy-observer.d.ts +0 -41
- package/dist/runtime-v2/observer/empathy-observer.d.ts.map +0 -1
- package/dist/runtime-v2/observer/empathy-observer.js +0 -104
- package/dist/runtime-v2/observer/empathy-observer.js.map +0 -1
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared Information Plane — context resolution composition (design §6.4/§6.6).
|
|
3
|
-
*
|
|
4
|
-
* Pure logic only: no I/O, no fs, no DB, no network (Core vs Plugin boundary,
|
|
5
|
-
* AGENTS.md `antipattern-core-io`).
|
|
6
|
-
*
|
|
7
|
-
* This module is the seam that turns three independent fact-acquisition
|
|
8
|
-
* channels into ONE `available` map consumed by `resolveInjection`:
|
|
9
|
-
*
|
|
10
|
-
* 1. predecessor summary envelope → `summary-field-reader` (pure, Layer 1)
|
|
11
|
-
* 2. ancestry content → `CandidateLineage` nodes (Layer 2; the
|
|
12
|
-
* traversal/I/O is owned by the caller).
|
|
13
|
-
* Serves BOTH `<stage>.raw.*` and
|
|
14
|
-
* `<stage>.summary.*` for any ancestor.
|
|
15
|
-
* 3. related references → explicit caller-provided sources
|
|
16
|
-
* (e.g. the PR-A replay evidence), which
|
|
17
|
-
* are causal references — NOT ancestry
|
|
18
|
-
*
|
|
19
|
-
* Why three channels stay separate at acquisition but merge at composition
|
|
20
|
-
* (design §33 / INV-LINEAGE-SCOPE): `lineageArtifactIds` expresses *content
|
|
21
|
-
* ancestry*; a repair's `sourceEvaluatorTaskId` expresses *causal reference*.
|
|
22
|
-
* Collapsing them into one data structure would silently redefine what
|
|
23
|
-
* "lineage" means. They are unified at read time, never at write time.
|
|
24
|
-
*
|
|
25
|
-
* rc-1/rc-5: every source `contentJson` stays `unknown`; all reads use
|
|
26
|
-
* `Object.hasOwn` + typeof/Array.isArray guards — no `as` casts.
|
|
27
|
-
*/
|
|
28
|
-
import { readSummaryField } from './summary-field-reader.js';
|
|
29
|
-
import { deriveArtifactSummary, SUMMARY_RUNNER_KINDS, } from './artifact-summary.js';
|
|
30
|
-
/**
|
|
31
|
-
* Split a manifest field path into namespace / layer / rest.
|
|
32
|
-
* Returns null for paths that do not follow the grammar (e.g. malformed,
|
|
33
|
-
* too short) so callers can skip them instead of throwing.
|
|
34
|
-
*/
|
|
35
|
-
export function parseContextPath(fieldPath) {
|
|
36
|
-
const parts = fieldPath.split('.');
|
|
37
|
-
if (parts.length < 3)
|
|
38
|
-
return null;
|
|
39
|
-
const [namespace, layer] = parts;
|
|
40
|
-
const rest = parts.slice(2);
|
|
41
|
-
if (namespace === undefined || namespace === '')
|
|
42
|
-
return null;
|
|
43
|
-
if (layer !== 'raw' && layer !== 'summary' && layer !== 'predecessorSummary')
|
|
44
|
-
return null;
|
|
45
|
-
if (rest.length === 0 || rest.some((segment) => segment === ''))
|
|
46
|
-
return null;
|
|
47
|
-
return { namespace, layer, rest };
|
|
48
|
-
}
|
|
49
|
-
// ── Pure raw field reader (design §16–§18) ──────────────────────────────────
|
|
50
|
-
/**
|
|
51
|
-
* Keys that must never be traversed: reading them is how prototype pollution
|
|
52
|
-
* enters a context map. Rejected at every segment, not just the first.
|
|
53
|
-
*/
|
|
54
|
-
const FORBIDDEN_SEGMENTS = new Set([
|
|
55
|
-
'__proto__',
|
|
56
|
-
'constructor',
|
|
57
|
-
'prototype',
|
|
58
|
-
]);
|
|
59
|
-
function isRecord(value) {
|
|
60
|
-
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
61
|
-
}
|
|
62
|
-
/** A dotted segment addressing an array element, e.g. `0` in `candidates.0`. */
|
|
63
|
-
const ARRAY_INDEX = /^(0|[1-9][0-9]*)$/;
|
|
64
|
-
/**
|
|
65
|
-
* Read a dotted path out of an untrusted contentJson (rc-1/rc-5).
|
|
66
|
-
*
|
|
67
|
-
* Supports array element addressing via numeric segments
|
|
68
|
-
* (`candidates.0.betterDecision`) because several durable artifacts nest their
|
|
69
|
-
* semantic payload under an array (DreamerOutput.candidates). No I/O, no
|
|
70
|
-
* lineage traversal, no manifest knowledge — it only walks a path.
|
|
71
|
-
*
|
|
72
|
-
* Returns undefined for: non-object intermediates, missing own properties,
|
|
73
|
-
* out-of-range or non-numeric array access, and forbidden keys.
|
|
74
|
-
*/
|
|
75
|
-
export function readRawField(rawPath, contentJson) {
|
|
76
|
-
let current = contentJson;
|
|
77
|
-
for (const segment of rawPath) {
|
|
78
|
-
if (FORBIDDEN_SEGMENTS.has(segment))
|
|
79
|
-
return undefined;
|
|
80
|
-
if (Array.isArray(current)) {
|
|
81
|
-
if (!ARRAY_INDEX.test(segment))
|
|
82
|
-
return undefined;
|
|
83
|
-
if (!Object.hasOwn(current, segment))
|
|
84
|
-
return undefined;
|
|
85
|
-
current = current[Number(segment)];
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
if (!isRecord(current))
|
|
89
|
-
return undefined;
|
|
90
|
-
if (!Object.hasOwn(current, segment))
|
|
91
|
-
return undefined;
|
|
92
|
-
current = current[segment];
|
|
93
|
-
}
|
|
94
|
-
return current;
|
|
95
|
-
}
|
|
96
|
-
// ── Channel 2: ancestry raw resolution (CandidateLineage) ───────────────────
|
|
97
|
-
/**
|
|
98
|
-
* A manifest NAMESPACE is a *semantic* stage; a lineage node's stage is the
|
|
99
|
-
* *producer taskKind* (two-hop F1). Explicit fixed mapping — never fuzzy:
|
|
100
|
-
*
|
|
101
|
-
* diagnostician → the manifest addresses the final diagnosis artifact
|
|
102
|
-
* (DiagnosticianOutputV1). Its canonical producer on the DEFAULT split
|
|
103
|
-
* pipeline is taskKind `diag_router` (SplitDiagnosticianRunner stage C);
|
|
104
|
-
* the legacy monolithic runner committed the identical output contract
|
|
105
|
-
* under taskKind `diagnostician`. Both must resolve the same namespace.
|
|
106
|
-
*
|
|
107
|
-
* Adding an alias here is a contract change — the resolver's nearest-match
|
|
108
|
-
* then accepts the listed producer kinds for that namespace.
|
|
109
|
-
*/
|
|
110
|
-
export const SEMANTIC_STAGE_ALIASES = {
|
|
111
|
-
diagnostician: ['diagnostician', 'diag_router'],
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Producer taskKind used for the read-time summary projection (below).
|
|
115
|
-
* `diagnostician` is NOT a SummaryRunnerKind, but its output is byte-for-byte
|
|
116
|
-
* the diag_router contract, so the derivation reuses the diag_router resolver.
|
|
117
|
-
*/
|
|
118
|
-
const SUMMARY_DERIVATION_STAGE = {
|
|
119
|
-
diagnostician: 'diag_router',
|
|
120
|
-
};
|
|
121
|
-
/**
|
|
122
|
-
* Read `<stage>.summary.<key>` from an ancestry node, with a bounded
|
|
123
|
-
* read-time projection fallback.
|
|
124
|
-
*
|
|
125
|
-
* Why the fallback exists (review round): the writer-side envelope for diag
|
|
126
|
-
* outputs is SKIPPED (`output_summary_key_collision`, base-peer-runner) —
|
|
127
|
-
* DiagnosticianOutputV1 owns a top-level `summary` STRING that the Layer 0
|
|
128
|
-
* envelope must not overwrite. So `diagnostician.summary.rootSymptom` /
|
|
129
|
-
* `category` would be structurally absent forever. The fields are derivable
|
|
130
|
-
* from the unchanged durable output via the SAME derivation the writer would
|
|
131
|
-
* have used (`deriveArtifactSummary`, pure, no I/O), so the read side applies
|
|
132
|
-
* it as a bounded projection. Deterministic: same output → same fields. Only
|
|
133
|
-
* fires when the direct envelope read misses; still-absent → `absent` floor.
|
|
134
|
-
*/
|
|
135
|
-
function readSummaryWithProjection(fieldPath, stage, contentJson) {
|
|
136
|
-
const direct = readSummaryField(fieldPath, contentJson);
|
|
137
|
-
if (direct !== undefined)
|
|
138
|
-
return direct;
|
|
139
|
-
if (!isRecord(contentJson))
|
|
140
|
-
return undefined;
|
|
141
|
-
const derivationStage = SUMMARY_DERIVATION_STAGE[stage]
|
|
142
|
-
?? (SUMMARY_RUNNER_KINDS.includes(stage) ? stage : undefined);
|
|
143
|
-
if (derivationStage === undefined)
|
|
144
|
-
return undefined;
|
|
145
|
-
const derived = deriveArtifactSummary(derivationStage, contentJson);
|
|
146
|
-
if (!derived.ok)
|
|
147
|
-
return undefined;
|
|
148
|
-
const parsed = parseContextPath(fieldPath);
|
|
149
|
-
if (parsed === null)
|
|
150
|
-
return undefined;
|
|
151
|
-
const [key] = parsed.rest;
|
|
152
|
-
if (key === undefined || FORBIDDEN_SEGMENTS.has(key))
|
|
153
|
-
return undefined;
|
|
154
|
-
if (key === 'headline')
|
|
155
|
-
return derived.value.headline;
|
|
156
|
-
if (!Object.hasOwn(derived.value.fields, key))
|
|
157
|
-
return undefined;
|
|
158
|
-
return derived.value.fields[key];
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Convert CandidateLineage nodes into raw stage sources.
|
|
162
|
-
*
|
|
163
|
-
* Order is preserved, which is what makes stage selection deterministic:
|
|
164
|
-
* `CandidateLineage.resolve` walks BFS from the start artifact, so the FIRST
|
|
165
|
-
* node matching a stage is the NEAREST ancestor (design §20). Later duplicates
|
|
166
|
-
* are ignored — never a positional/arbitrary pick.
|
|
167
|
-
*
|
|
168
|
-
* Nodes whose stage could not be determined (`taskKind === 'unknown'`) carry no
|
|
169
|
-
* stage authority and are dropped.
|
|
170
|
-
*/
|
|
171
|
-
export function toRawStageSources(nodes) {
|
|
172
|
-
const sources = [];
|
|
173
|
-
for (const node of nodes) {
|
|
174
|
-
if (node.taskKind === 'unknown' || node.taskKind === '')
|
|
175
|
-
continue;
|
|
176
|
-
sources.push({ stage: node.taskKind, contentJson: node.contentJson });
|
|
177
|
-
}
|
|
178
|
-
return sources;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Split a manifest's tier2 into (ancestry raw paths, related raw paths).
|
|
182
|
-
*
|
|
183
|
-
* Related namespaces are excluded from the ancestry walk explicitly: a related
|
|
184
|
-
* reference is a causal pointer supplied by the caller, so it must never be
|
|
185
|
-
* mistaken for an ancestor stage — even if a taskKind happened to share the
|
|
186
|
-
* name. This is the executable form of INV-LINEAGE-SCOPE (design §33).
|
|
187
|
-
*/
|
|
188
|
-
export function partitionTier2Paths(tier2Paths, relatedNamespaces) {
|
|
189
|
-
const related = new Set(relatedNamespaces);
|
|
190
|
-
const ancestry = [];
|
|
191
|
-
const relatedPaths = [];
|
|
192
|
-
for (const fieldPath of tier2Paths) {
|
|
193
|
-
const parsed = parseContextPath(fieldPath);
|
|
194
|
-
if (parsed !== null && parsed.layer === 'raw' && related.has(parsed.namespace)) {
|
|
195
|
-
relatedPaths.push(fieldPath);
|
|
196
|
-
continue;
|
|
197
|
-
}
|
|
198
|
-
ancestry.push(fieldPath);
|
|
199
|
-
}
|
|
200
|
-
return { ancestry, related: relatedPaths };
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Resolve ancestor-declared paths against ancestry sources — BOTH layers:
|
|
204
|
-
*
|
|
205
|
-
* `<stage>.raw.<dotted.path>` — full contentJson walk (`readRawField`)
|
|
206
|
-
* `<stage>.summary.<key>` — the ancestor's own Layer 0 envelope
|
|
207
|
-
* (`readSummaryField`)
|
|
208
|
-
*
|
|
209
|
-
* Why the summary layer needs the ancestry channel too (PR B, evidence-backed):
|
|
210
|
-
* `readSummaryField` deliberately STRIPS the leading `<stage>.` namespace and
|
|
211
|
-
* reads only its single `predecessorContentJson`. That convention is correct
|
|
212
|
-
* for manifests whose stage namespace is the runner's direct predecessor
|
|
213
|
-
* (dreamer/scribe/artificer), but a manifest that names an ancestor further up
|
|
214
|
-
* the chain (the Evaluator's `scribe.*` / `dreamer.*` / `diagnostician.*`)
|
|
215
|
-
* would otherwise have those paths structurally unreachable — they would land
|
|
216
|
-
* in `absent` forever and force the information-floor fallback on every run.
|
|
217
|
-
* The lineage walk already holds every ancestor's contentJson, so the same
|
|
218
|
-
* traversal that serves `raw` also serves `summary`, with no extra store read.
|
|
219
|
-
*
|
|
220
|
-
* First (nearest) matching stage wins; unresolvable paths are omitted so the
|
|
221
|
-
* caller's information-floor logic records them in `absent`.
|
|
222
|
-
*
|
|
223
|
-
* `predecessorSummary` is intentionally NOT answered here: it is the
|
|
224
|
-
* direct-predecessor forwarding concept owned by Channel 1.
|
|
225
|
-
*
|
|
226
|
-
* Namespace → node matching honors `SEMANTIC_STAGE_ALIASES`: a manifest
|
|
227
|
-
* namespace is the SEMANTIC stage, a node's stage is the producer taskKind.
|
|
228
|
-
*/
|
|
229
|
-
export function resolveAncestryPaths(fieldPaths, sources) {
|
|
230
|
-
const resolved = new Map();
|
|
231
|
-
for (const fieldPath of fieldPaths) {
|
|
232
|
-
const parsed = parseContextPath(fieldPath);
|
|
233
|
-
if (parsed === null)
|
|
234
|
-
continue;
|
|
235
|
-
if (parsed.layer === 'predecessorSummary')
|
|
236
|
-
continue;
|
|
237
|
-
const producerStages = [
|
|
238
|
-
parsed.namespace,
|
|
239
|
-
...(SEMANTIC_STAGE_ALIASES[parsed.namespace] ?? []),
|
|
240
|
-
];
|
|
241
|
-
const source = sources.find((candidate) => producerStages.includes(candidate.stage));
|
|
242
|
-
if (source === undefined)
|
|
243
|
-
continue;
|
|
244
|
-
const value = parsed.layer === 'raw'
|
|
245
|
-
? readRawField(parsed.rest, source.contentJson)
|
|
246
|
-
: readSummaryWithProjection(fieldPath, source.stage, source.contentJson);
|
|
247
|
-
if (value !== undefined)
|
|
248
|
-
resolved.set(fieldPath, value);
|
|
249
|
-
}
|
|
250
|
-
return resolved;
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Resolve `<ns>.summary.<key>` / `<ns>.raw.<key>` against related sources.
|
|
254
|
-
* Related refs expose flat keys only — a multi-segment rest path is not a
|
|
255
|
-
* related reference and is skipped (it belongs to the ancestry reader).
|
|
256
|
-
*/
|
|
257
|
-
export function resolveRelatedPaths(fieldPaths, sources) {
|
|
258
|
-
const resolved = new Map();
|
|
259
|
-
for (const fieldPath of fieldPaths) {
|
|
260
|
-
const parsed = parseContextPath(fieldPath);
|
|
261
|
-
if (parsed === null)
|
|
262
|
-
continue;
|
|
263
|
-
if (parsed.rest.length !== 1)
|
|
264
|
-
continue;
|
|
265
|
-
if (parsed.layer === 'predecessorSummary')
|
|
266
|
-
continue;
|
|
267
|
-
const source = sources.find((candidate) => candidate.namespace === parsed.namespace);
|
|
268
|
-
if (source === undefined)
|
|
269
|
-
continue;
|
|
270
|
-
const table = parsed.layer === 'raw' ? source.raw : source.summary;
|
|
271
|
-
if (table === undefined)
|
|
272
|
-
continue;
|
|
273
|
-
const [key] = parsed.rest;
|
|
274
|
-
if (key === undefined || FORBIDDEN_SEGMENTS.has(key))
|
|
275
|
-
continue;
|
|
276
|
-
if (!Object.hasOwn(table, key))
|
|
277
|
-
continue;
|
|
278
|
-
const value = table[key];
|
|
279
|
-
if (value !== undefined)
|
|
280
|
-
resolved.set(fieldPath, value);
|
|
281
|
-
}
|
|
282
|
-
return resolved;
|
|
283
|
-
}
|
|
284
|
-
// ── Composition ─────────────────────────────────────────────────────────────
|
|
285
|
-
/**
|
|
286
|
-
* Merge the channel maps into one `available` map. FIRST WRITER WINS: the
|
|
287
|
-
* predecessor summary envelope is the highest-authority local source, then
|
|
288
|
-
* ancestry raw, then related. Channel namespaces are disjoint by construction
|
|
289
|
-
* (a path is either a summary path, an ancestry raw path, or a related path),
|
|
290
|
-
* so the rule only matters defensively — but it keeps the result deterministic.
|
|
291
|
-
*/
|
|
292
|
-
export function mergeContextFields(base, extras) {
|
|
293
|
-
const merged = new Map(base);
|
|
294
|
-
for (const extra of extras) {
|
|
295
|
-
for (const [fieldPath, value] of extra) {
|
|
296
|
-
if (!merged.has(fieldPath))
|
|
297
|
-
merged.set(fieldPath, value);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
return merged;
|
|
301
|
-
}
|
|
302
|
-
// ── Information floor: required-evidence gate (design §33–§37) ──────────────
|
|
303
|
-
/**
|
|
304
|
-
* Required paths that did NOT reach the prompt — either absent from the
|
|
305
|
-
* available map or dropped/truncated by the budget.
|
|
306
|
-
*
|
|
307
|
-
* This is the regression guard for "Stage2 enabled + raw fields silently
|
|
308
|
-
* absent": a required field that was truncated by `PromptBudgetManager` counts
|
|
309
|
-
* as unresolved just like an absent one, because the runner's semantic
|
|
310
|
-
* requirement was still not met.
|
|
311
|
-
*/
|
|
312
|
-
export function findUnresolvedRequiredPaths(params) {
|
|
313
|
-
const absentPaths = new Set(params.absent);
|
|
314
|
-
const truncatedPaths = new Set(params.truncated.map((record) => record.fieldPath));
|
|
315
|
-
return params.required.filter((path) => absentPaths.has(path) || truncatedPaths.has(path));
|
|
316
|
-
}
|
|
317
|
-
//# sourceMappingURL=context-resolution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-resolution.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/context-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAoB/B;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAC1F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,WAAW;IACX,aAAa;IACb,WAAW;CACZ,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,gFAAgF;AAChF,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,OAA0B,EAC1B,WAAoB;IAEpB,IAAI,OAAO,GAAY,WAAW,CAAC;IACnC,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QAEtD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,SAAS,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;gBAAE,OAAO,SAAS,CAAC;YACvD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QACvD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAgD;IACjF,aAAa,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC;CAChD,CAAC;AAEF;;;;GAIG;AACH,MAAM,wBAAwB,GAAgD;IAC5E,aAAa,EAAE,aAAa;CAC7B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAS,yBAAyB,CAChC,SAAiB,EACjB,KAAa,EACb,WAAoB;IAEpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,eAAe,GAAG,wBAAwB,CAAC,KAAK,CAAC;WAClD,CAAE,oBAA0C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9G,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,OAAO,GAAG,qBAAqB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,IAAI,GAAG,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvE,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAgBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA8E;IAE9E,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE;YAAE,SAAS;QAClE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAA6B,EAC7B,iBAAoC;IAEpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/E,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA6B,EAC7B,OAAkC;IAElC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB;YAAE,SAAS;QACpD,MAAM,cAAc,GAAG;YACrB,MAAM,CAAC,SAAS;YAChB,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACpD,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK;YAClC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC;YAC/C,CAAC,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,KAAK,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAuBD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAA6B,EAC7B,OAAwC;IAExC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACvC,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB;YAAE,SAAS;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;QACrF,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACnE,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;YAAE,SAAS;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAkC,EAClC,MAA+C;IAE/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAkB,IAAI,CAAC,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAI3C;IACC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACnF,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAC3B,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAC5D,CAAC;AACJ,CAAC"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Layer 2 — Progressive Evaluator: two-stage evaluation with flagged criteria
|
|
3
|
-
* (design §6.5).
|
|
4
|
-
*
|
|
5
|
-
* Pure logic only (Core vs Plugin boundary, `antipattern-core-io`).
|
|
6
|
-
*
|
|
7
|
-
* The progressive evaluator runs Stage 1 (summary-level context) first; only
|
|
8
|
-
* when flagged / undetermined / forced-sample does it trigger Stage 2 (tier2
|
|
9
|
-
* full-contentJson re-evaluation). This keeps daily cost low while enabling
|
|
10
|
-
* deep diagnosis on demand.
|
|
11
|
-
*
|
|
12
|
-
* Key invariants:
|
|
13
|
-
* - Stage 2 output is INDEPENDENT — never merged with Stage 1 (rc-7 /
|
|
14
|
-
* ERR-015 / ERR-018 / ERR-019). `stagesRun === 2` ⟹ `finalOutput` is
|
|
15
|
-
* entirely the Stage 2 result.
|
|
16
|
-
* - flagged criteria read DIMENSION_COVERAGE_POLICY (single source of truth),
|
|
17
|
-
* never inline a dimension-name array. Untrusted LLM input is filtered by
|
|
18
|
-
* the policy table before flagging (rc-1 / rc-4).
|
|
19
|
-
* - Deterministic forced sampling via fnv1a32 (no Math.random, design §4.4).
|
|
20
|
-
*/
|
|
21
|
-
export declare const IMPLEMENTATION_FIDELITY_THRESHOLD = 0.7;
|
|
22
|
-
export declare const FORCED_STAGE2_SAMPLE_MODULUS = 20;
|
|
23
|
-
export type FlaggedReasonCode = 'missing_dimensions' | 'pain_not_fully_covered' | 'implementation_fidelity_below_threshold';
|
|
24
|
-
export interface FlaggedDecision {
|
|
25
|
-
readonly flagged: boolean;
|
|
26
|
-
readonly reasons: readonly FlaggedReasonCode[];
|
|
27
|
-
/** Fields that could not be determined (missing/malformed) — rc-3 + rc-9. */
|
|
28
|
-
readonly undetermined: readonly string[];
|
|
29
|
-
}
|
|
30
|
-
export interface ProgressiveEvaluationOutcome {
|
|
31
|
-
/** Stage 2 ran → entirely Stage 2's result; never merged with Stage 1. */
|
|
32
|
-
readonly finalOutput: unknown;
|
|
33
|
-
readonly stagesRun: 1 | 2;
|
|
34
|
-
readonly stage1Decision: FlaggedDecision;
|
|
35
|
-
readonly forcedStage2: boolean;
|
|
36
|
-
readonly stage1FalseNegative?: {
|
|
37
|
-
readonly newConcernKeys: readonly string[];
|
|
38
|
-
};
|
|
39
|
-
readonly stage2Aborted?: {
|
|
40
|
-
readonly reason: 'lineage_error';
|
|
41
|
-
readonly detail: string;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* FNV-1a 32-bit hash. Pure, deterministic, no crypto, no Math.random.
|
|
46
|
-
* Supports the full Unicode range in the input string.
|
|
47
|
-
*/
|
|
48
|
-
export declare function fnv1a32(input: string): number;
|
|
49
|
-
/**
|
|
50
|
-
* Deterministic ~5% forced Stage 2 sampling. `fnv1a32(taskId) % modulus === 0`.
|
|
51
|
-
* Never uses Math.random or any non-deterministic source (design §4.4).
|
|
52
|
-
*/
|
|
53
|
-
export declare function isForcedStage2(taskId: string, modulus?: number): boolean;
|
|
54
|
-
/**
|
|
55
|
-
* Evaluate the three flagged criteria against Stage 1 output (design §6.5.3).
|
|
56
|
-
*
|
|
57
|
-
* Preconditions: none — `stage1Output` is untrusted LLM output (rc-1), read
|
|
58
|
-
* via `Object.hasOwn` (rc-5 / ERR-013).
|
|
59
|
-
*
|
|
60
|
-
* Postconditions:
|
|
61
|
-
* - `flagged === true` iff `reasons` is non-empty.
|
|
62
|
-
* - Three criteria: required-dimension missing, painCoverage.fullyCovered === false,
|
|
63
|
-
* implementationFidelity.score < 0.7.
|
|
64
|
-
* - Fields missing or wrong type → `undetermined` (rc-3: fail loud, never
|
|
65
|
-
* silently pass).
|
|
66
|
-
*
|
|
67
|
-
* Dimension criterion (§6.5.3, measurement-driven tightening):
|
|
68
|
-
* - Only **required** dimension names in `missingDimensions` count. The LLM
|
|
69
|
-
* may stuff optional/excluded/unknown strings in — all filtered out by
|
|
70
|
-
* `isRequiredDimension` before checking. `optionalUncovered` never enters
|
|
71
|
-
* `reasons`.
|
|
72
|
-
*/
|
|
73
|
-
export declare function evaluateFlaggedCriteria(stage1Output: unknown): FlaggedDecision;
|
|
74
|
-
/**
|
|
75
|
-
* LLM evaluator callback type. The caller injects the actual LLM invocation;
|
|
76
|
-
* this module is pure logic and never calls an LLM directly.
|
|
77
|
-
*/
|
|
78
|
-
export interface ProgressiveEvaluatorLLM {
|
|
79
|
-
/** Evaluate using the provided context fields. Returns the raw LLM output (unknown). */
|
|
80
|
-
evaluate(fields: Readonly<Record<string, string>>): Promise<unknown>;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Lineage resolver type (CandidateLineage from Layer 2, injected by caller).
|
|
84
|
-
*/
|
|
85
|
-
export interface ProgressiveEvaluatorLineage {
|
|
86
|
-
resolve(startArtifactId: string): Promise<{
|
|
87
|
-
readonly ok: true;
|
|
88
|
-
readonly value: {
|
|
89
|
-
readonly nodes: readonly unknown[];
|
|
90
|
-
};
|
|
91
|
-
} | {
|
|
92
|
-
readonly ok: false;
|
|
93
|
-
readonly error: {
|
|
94
|
-
readonly kind: string;
|
|
95
|
-
};
|
|
96
|
-
}>;
|
|
97
|
-
}
|
|
98
|
-
export interface ProgressiveEvaluatorDeps {
|
|
99
|
-
readonly taskId: string;
|
|
100
|
-
readonly startArtifactId: string;
|
|
101
|
-
readonly stage1Context: Readonly<Record<string, string>>;
|
|
102
|
-
readonly stage2Context?: Readonly<Record<string, string>>;
|
|
103
|
-
readonly llm: ProgressiveEvaluatorLLM;
|
|
104
|
-
readonly lineage?: ProgressiveEvaluatorLineage;
|
|
105
|
-
readonly emit?: (event: ProgressiveEvaluatorEvent) => void;
|
|
106
|
-
}
|
|
107
|
-
export type ProgressiveEvaluatorEvent = {
|
|
108
|
-
readonly type: 'lineage_data_corrupt';
|
|
109
|
-
readonly detail: string;
|
|
110
|
-
} | {
|
|
111
|
-
readonly type: 'stage1_false_negative';
|
|
112
|
-
readonly newConcernKeys: readonly string[];
|
|
113
|
-
};
|
|
114
|
-
export declare function runProgressiveEvaluation(deps: ProgressiveEvaluatorDeps): Promise<ProgressiveEvaluationOutcome>;
|
|
115
|
-
//# sourceMappingURL=progressive-evaluator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progressive-evaluator.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/progressive-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AACrD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,wBAAwB,GACxB,yCAAyC,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,4BAA4B;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAAE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxF;AA6BD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS7C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAqC,GAAG,OAAO,CAGtG;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,OAAO,GAAG,eAAe,CA+D9E;AAID;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CACrC;QAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;SAAE,CAAA;KAAE,GAC7E;QAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CACpE,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AA8C3F,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,4BAA4B,CAAC,CAkDvC"}
|