niceeval 0.18.0 → 0.19.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/INDEX.md +4 -2
- package/dist/adapter-usage.cjs.map +1 -1
- package/dist/adapter-usage.d.cts +1 -1
- package/dist/adapter-usage.d.mts +1 -1
- package/dist/adapter-usage.d.ts +1 -1
- package/dist/adapter.cjs +8 -7
- package/dist/adapter.cjs.map +1 -1
- package/dist/adapter.d.cts +21 -21
- package/dist/adapter.d.mts +21 -21
- package/dist/adapter.d.ts +21 -21
- package/dist/agents/{effect-runtime.cjs → agent-effects.cjs} +12 -18
- package/dist/agents/agent-effects.cjs.map +1 -0
- package/dist/agents/agent-effects.d.cts +23 -0
- package/dist/agents/agent-effects.d.mts +23 -0
- package/dist/agents/agent-effects.d.ts +23 -0
- package/dist/agents/agent-effects.js +16 -0
- package/dist/agents/agent-effects.js.map +1 -0
- package/dist/agents/ai-sdk.cjs +1 -1
- package/dist/agents/ai-sdk.cjs.map +1 -1
- package/dist/agents/bub.cjs +31 -18
- package/dist/agents/bub.cjs.map +1 -1
- package/dist/agents/bub.d.cts +9 -12
- package/dist/agents/bub.d.mts +9 -12
- package/dist/agents/bub.d.ts +9 -12
- package/dist/agents/claude-code-native.cjs +2 -2
- package/dist/agents/claude-code-native.cjs.map +1 -1
- package/dist/agents/claude-code.cjs +17 -11
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/claude-code.d.cts +11 -11
- package/dist/agents/claude-code.d.mts +11 -11
- package/dist/agents/claude-code.d.ts +11 -11
- package/dist/agents/codex-app-server.cjs +2 -2
- package/dist/agents/codex-app-server.cjs.map +1 -1
- package/dist/agents/codex.cjs +18 -12
- package/dist/agents/codex.cjs.map +1 -1
- package/dist/agents/codex.d.cts +12 -12
- package/dist/agents/codex.d.mts +12 -12
- package/dist/agents/codex.d.ts +12 -12
- package/dist/agents/deepseek-harness.cjs +2 -2
- package/dist/agents/deepseek-harness.cjs.map +1 -1
- package/dist/agents/hermes.cjs +3 -3
- package/dist/agents/hermes.cjs.map +1 -1
- package/dist/agents/index.cjs +3 -3
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +3 -3
- package/dist/agents/index.d.mts +3 -3
- package/dist/agents/index.d.ts +3 -3
- package/dist/agents/index.js +2 -2
- package/dist/agents/index.mjs +2 -2
- package/dist/agents/mcp.cjs.map +1 -1
- package/dist/agents/mcp.d.cts +2 -2
- package/dist/agents/mcp.d.mts +2 -2
- package/dist/agents/mcp.d.ts +2 -2
- package/dist/agents/omp.cjs +2 -2
- package/dist/agents/omp.cjs.map +1 -1
- package/dist/agents/openai-compat.cjs +2 -2
- package/dist/agents/openai-compat.cjs.map +1 -1
- package/dist/agents/openclaw.cjs +3 -3
- package/dist/agents/openclaw.cjs.map +1 -1
- package/dist/agents/opencode.cjs +16 -4
- package/dist/agents/opencode.cjs.map +1 -1
- package/dist/agents/plugin-extensions.cjs +71 -0
- package/dist/agents/plugin-extensions.cjs.map +1 -0
- package/dist/agents/plugin-extensions.d.cts +26 -0
- package/dist/agents/plugin-extensions.d.mts +26 -0
- package/dist/agents/plugin-extensions.d.ts +26 -0
- package/dist/agents/plugin-extensions.js +8 -0
- package/dist/agents/plugin-extensions.js.map +1 -0
- package/dist/agents/post-setup.cjs +14 -3
- package/dist/agents/post-setup.cjs.map +1 -1
- package/dist/agents/post-setup.d.cts +4 -2
- package/dist/agents/post-setup.d.mts +4 -2
- package/dist/agents/post-setup.d.ts +4 -2
- package/dist/agents/post-setup.js +8 -6
- package/dist/agents/sdk-streams.cjs +3 -3
- package/dist/agents/sdk-streams.cjs.map +1 -1
- package/dist/agents/{session-slot.cjs → session-key.cjs} +4 -4
- package/dist/agents/session-key.cjs.map +1 -0
- package/dist/agents/session-key.d.cts +12 -0
- package/dist/agents/session-key.d.mts +12 -0
- package/dist/agents/session-key.d.ts +12 -0
- package/dist/agents/session-key.js +6 -0
- package/dist/agents/session-key.js.map +1 -0
- package/dist/agents/shared.cjs +2 -2
- package/dist/agents/shared.cjs.map +1 -1
- package/dist/agents/shared.d.cts +4 -4
- package/dist/agents/shared.d.mts +4 -4
- package/dist/agents/shared.d.ts +4 -4
- package/dist/agents/skills.cjs.map +1 -1
- package/dist/agents/skills.d.cts +3 -3
- package/dist/agents/skills.d.mts +3 -3
- package/dist/agents/skills.d.ts +3 -3
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +55 -54
- package/dist/agents/types.d.mts +55 -54
- package/dist/agents/types.d.ts +55 -54
- package/dist/agents/ui-message-stream.cjs +4 -4
- package/dist/agents/ui-message-stream.cjs.map +1 -1
- package/dist/agents/unrecognized-events.cjs +32 -0
- package/dist/agents/unrecognized-events.cjs.map +1 -0
- package/dist/agents/unrecognized-events.d.cts +8 -0
- package/dist/agents/unrecognized-events.d.mts +8 -0
- package/dist/agents/unrecognized-events.d.ts +8 -0
- package/dist/agents/unrecognized-events.js +6 -0
- package/dist/agents/unrecognized-events.js.map +1 -0
- package/dist/assertions/api.cjs.map +1 -1
- package/dist/assertions/api.d.cts +3 -0
- package/dist/assertions/api.d.mts +3 -0
- package/dist/assertions/api.d.ts +3 -0
- package/dist/assertions/collection.cjs +1 -1
- package/dist/assertions/collection.cjs.map +1 -1
- package/dist/assertions/judge.cjs +1 -1
- package/dist/assertions/judge.cjs.map +1 -1
- package/dist/assertions/match.cjs +52 -21
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +16 -5
- package/dist/assertions/match.d.mts +16 -5
- package/dist/assertions/match.d.ts +16 -5
- package/dist/assertions/match.js +96 -94
- package/dist/assertions/measurements.cjs +22 -6
- package/dist/assertions/measurements.cjs.map +1 -1
- package/dist/assertions/measurements.d.cts +8 -1
- package/dist/assertions/measurements.d.mts +8 -1
- package/dist/assertions/measurements.d.ts +8 -1
- package/dist/assertions/numeric.cjs +2 -0
- package/dist/assertions/numeric.cjs.map +1 -1
- package/dist/assertions/numeric.d.cts +1 -1
- package/dist/assertions/numeric.d.mts +1 -1
- package/dist/assertions/numeric.d.ts +1 -1
- package/dist/assertions/quantity.cjs +42 -0
- package/dist/assertions/quantity.cjs.map +1 -0
- package/dist/assertions/quantity.d.cts +18 -0
- package/dist/assertions/quantity.d.mts +18 -0
- package/dist/assertions/quantity.d.ts +18 -0
- package/dist/assertions/quantity.js +22 -0
- package/dist/assertions/quantity.js.map +1 -0
- package/dist/assertions/record/attachment.cjs +2 -0
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/codec.cjs +5 -1
- package/dist/assertions/record/codec.cjs.map +1 -1
- package/dist/assertions/record/model.cjs.map +1 -1
- package/dist/assertions/record/model.d.cts +3 -1
- package/dist/assertions/record/model.d.mts +3 -1
- package/dist/assertions/record/model.d.ts +3 -1
- package/dist/assertions/runtime.cjs +11 -6
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/cli/program.cjs +3 -0
- package/dist/cli/program.cjs.map +1 -1
- package/dist/context/assert-first.cjs +6 -4
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +9 -3
- package/dist/context/assert-first.d.mts +9 -3
- package/dist/context/assert-first.d.ts +9 -3
- package/dist/context/notes.cjs +47 -0
- package/dist/context/notes.cjs.map +1 -0
- package/dist/context/notes.d.cts +10 -0
- package/dist/context/notes.d.mts +10 -0
- package/dist/context/notes.d.ts +10 -0
- package/dist/context/notes.js +6 -0
- package/dist/context/notes.js.map +1 -0
- package/dist/context/send-failures.cjs +1 -7
- package/dist/context/send-failures.cjs.map +1 -1
- package/dist/context/send-failures.d.cts +2 -3
- package/dist/context/send-failures.d.mts +2 -3
- package/dist/context/send-failures.d.ts +2 -3
- package/dist/context/send-retry.cjs +0 -1
- package/dist/context/send-retry.cjs.map +1 -1
- package/dist/context/send-retry.d.cts +1 -2
- package/dist/context/send-retry.d.mts +1 -2
- package/dist/context/send-retry.d.ts +1 -2
- package/dist/context/session.cjs +10 -17
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +4 -10
- package/dist/context/session.d.mts +4 -10
- package/dist/context/session.d.ts +4 -10
- package/dist/define.cjs +88 -65
- package/dist/define.cjs.map +1 -1
- package/dist/define.d.cts +3 -3
- package/dist/define.d.mts +3 -3
- package/dist/define.d.ts +3 -3
- package/dist/eval/cli/contribution.cjs +1 -1
- package/dist/eval/cli/contribution.cjs.map +1 -1
- package/dist/eval/host/index.cjs +1 -1
- package/dist/eval/host/index.cjs.map +1 -1
- package/dist/eval/record/evaluation.cjs +1 -1
- package/dist/eval/record/evaluation.cjs.map +1 -1
- package/dist/eval/record/membership-provenance.d.cts +3 -3
- package/dist/eval/record/membership-provenance.d.mts +3 -3
- package/dist/eval/record/membership-provenance.d.ts +3 -3
- package/dist/eval/record/score.cjs +2 -2
- package/dist/eval/record/score.cjs.map +1 -1
- package/dist/eval/record/sealed-assertion.cjs +1 -1
- package/dist/eval/record/sealed-assertion.cjs.map +1 -1
- package/dist/eval/record/verdict.cjs +2 -2
- package/dist/eval/record/verdict.cjs.map +1 -1
- package/dist/expect/index.cjs +10 -1
- package/dist/expect/index.cjs.map +1 -1
- package/dist/expect/index.d.cts +3 -1
- package/dist/expect/index.d.mts +3 -1
- package/dist/expect/index.d.ts +3 -1
- package/dist/expect/index.js +92 -76
- package/dist/expect/index.mjs +92 -76
- package/dist/experiment/host/cli/contribution.cjs +52 -39
- package/dist/experiment/host/cli/contribution.cjs.map +1 -1
- package/dist/experiment/host/cli/contribution.d.cts +18 -4
- package/dist/experiment/host/cli/contribution.d.mts +18 -4
- package/dist/experiment/host/cli/contribution.d.ts +18 -4
- package/dist/experiment/host/cli/contribution.js +2 -2
- package/dist/experiment/host/cli/debug-protocol.cjs +2 -2
- package/dist/experiment/host/cli/debug-protocol.cjs.map +1 -1
- package/dist/experiment/host/cli/debug-protocol.d.cts +2 -2
- package/dist/experiment/host/cli/debug-protocol.d.mts +2 -2
- package/dist/experiment/host/cli/debug-protocol.d.ts +2 -2
- package/dist/experiment/host/cli/output-protocol.cjs +1 -1
- package/dist/experiment/host/cli/output-protocol.cjs.map +1 -1
- package/dist/experiment/host/cli/output-protocol.d.cts +2 -2
- package/dist/experiment/host/cli/output-protocol.d.mts +2 -2
- package/dist/experiment/host/cli/output-protocol.d.ts +2 -2
- package/dist/experiment/host/current.cjs +2 -2
- package/dist/experiment/host/current.cjs.map +1 -1
- package/dist/experiment/host/index.cjs +1 -1
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/experiment/host/operations.cjs +21 -22
- package/dist/experiment/host/operations.cjs.map +1 -1
- package/dist/experiment/host/runtime.cjs +8 -9
- package/dist/experiment/host/runtime.cjs.map +1 -1
- package/dist/experiment/host/runtime.d.cts +3 -3
- package/dist/experiment/host/runtime.d.mts +3 -3
- package/dist/experiment/host/runtime.d.ts +3 -3
- package/dist/experiment/host/teardown.cjs +3 -3
- package/dist/experiment/host/teardown.cjs.map +1 -1
- package/dist/experiment/host/teardown.d.cts +3 -3
- package/dist/experiment/host/teardown.d.mts +3 -3
- package/dist/experiment/host/teardown.d.ts +3 -3
- package/dist/experiment/host/types.cjs.map +1 -1
- package/dist/experiment/host/types.d.cts +19 -19
- package/dist/experiment/host/types.d.mts +19 -19
- package/dist/experiment/host/types.d.ts +19 -19
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/dist/inspection/assertions.cjs +1 -1
- package/dist/inspection/assertions.cjs.map +1 -1
- package/dist/inspection/cli/contribution.cjs +8 -7
- package/dist/inspection/cli/contribution.cjs.map +1 -1
- package/dist/inspection/facts.cjs +4 -4
- package/dist/inspection/facts.cjs.map +1 -1
- package/dist/inspection/index.cjs +1 -5
- package/dist/inspection/index.cjs.map +1 -1
- package/dist/inspection/index.d.cts +1 -2
- package/dist/inspection/index.d.mts +1 -2
- package/dist/inspection/index.d.ts +1 -2
- package/dist/inspection/index.js +20 -26
- package/dist/inspection/lifecycle.cjs +7 -0
- package/dist/inspection/lifecycle.cjs.map +1 -0
- package/dist/inspection/lifecycle.d.cts +4 -0
- package/dist/inspection/lifecycle.d.mts +4 -0
- package/dist/inspection/lifecycle.d.ts +4 -0
- package/dist/inspection/lifecycle.js +6 -0
- package/dist/inspection/lifecycle.js.map +1 -0
- package/dist/inspection/notes.cjs +40 -0
- package/dist/inspection/notes.cjs.map +1 -0
- package/dist/inspection/notes.d.cts +12 -0
- package/dist/inspection/notes.d.mts +12 -0
- package/dist/inspection/notes.d.ts +12 -0
- package/dist/inspection/notes.js +8 -0
- package/dist/inspection/notes.js.map +1 -0
- package/dist/inspection/overview.cjs +12 -15
- package/dist/inspection/overview.cjs.map +1 -1
- package/dist/inspection/overview.d.cts +8 -6
- package/dist/inspection/overview.d.mts +8 -6
- package/dist/inspection/overview.d.ts +8 -6
- package/dist/inspection/planned-attempt.cjs +45 -0
- package/dist/inspection/planned-attempt.cjs.map +1 -0
- package/dist/inspection/planned-attempt.d.cts +109 -0
- package/dist/inspection/planned-attempt.d.mts +109 -0
- package/dist/inspection/planned-attempt.d.ts +109 -0
- package/dist/inspection/planned-attempt.js +24 -0
- package/dist/inspection/planned-attempt.js.map +1 -0
- package/dist/inspection/project-result.cjs +5 -5
- package/dist/inspection/project-result.cjs.map +1 -1
- package/dist/inspection/project-result.d.cts +58 -57
- package/dist/inspection/project-result.d.mts +58 -57
- package/dist/inspection/project-result.d.ts +58 -57
- package/dist/inspection/project-result.js +4 -4
- package/dist/inspection/project.cjs +3 -3
- package/dist/inspection/project.cjs.map +1 -1
- package/dist/inspection/protocol-values.cjs +1 -1
- package/dist/inspection/protocol-values.cjs.map +1 -1
- package/dist/inspection/protocol-values.d.cts +1 -1
- package/dist/inspection/protocol-values.d.mts +1 -1
- package/dist/inspection/protocol-values.d.ts +1 -1
- package/dist/inspection/protocol.cjs +8 -8
- package/dist/inspection/protocol.cjs.map +1 -1
- package/dist/inspection/protocol.d.cts +237 -219
- package/dist/inspection/protocol.d.mts +237 -219
- package/dist/inspection/protocol.d.ts +237 -219
- package/dist/inspection/public.cjs +1 -5
- package/dist/inspection/public.cjs.map +1 -1
- package/dist/inspection/public.d.cts +1 -2
- package/dist/inspection/public.d.mts +1 -2
- package/dist/inspection/public.d.ts +1 -2
- package/dist/inspection/public.js +14 -20
- package/dist/inspection/public.mjs +166 -129
- package/dist/inspection/query.cjs +1 -1
- package/dist/inspection/query.cjs.map +1 -1
- package/dist/inspection/results.cjs +61 -52
- package/dist/inspection/results.cjs.map +1 -1
- package/dist/inspection/results.d.cts +157 -140
- package/dist/inspection/results.d.mts +157 -140
- package/dist/inspection/results.d.ts +157 -140
- package/dist/inspection/select.cjs +33 -28
- package/dist/inspection/select.cjs.map +1 -1
- package/dist/inspection/source.cjs +1 -1
- package/dist/inspection/source.cjs.map +1 -1
- package/dist/inspection/sources.cjs +2 -2
- package/dist/inspection/sources.cjs.map +1 -1
- package/dist/inspection/trace.cjs +9 -8
- package/dist/inspection/trace.cjs.map +1 -1
- package/dist/inspection/trace.d.cts +4 -4
- package/dist/inspection/trace.d.mts +4 -4
- package/dist/inspection/trace.d.ts +4 -4
- package/dist/loaders/index.cjs +7 -279
- package/dist/loaders/index.cjs.map +1 -1
- package/dist/loaders/index.d.cts +2 -95
- package/dist/loaders/index.d.mts +2 -95
- package/dist/loaders/index.d.ts +2 -95
- package/dist/loaders/index.js +10 -12
- package/dist/loaders/index.mjs +10 -12
- package/dist/loaders/runtime.cjs +283 -0
- package/dist/loaders/runtime.cjs.map +1 -0
- package/dist/loaders/runtime.d.cts +95 -0
- package/dist/loaders/runtime.d.mts +95 -0
- package/dist/loaders/runtime.d.ts +95 -0
- package/dist/loaders/runtime.js +16 -0
- package/dist/loaders/runtime.js.map +1 -0
- package/dist/migrations/judge-provider.md +6 -6
- package/dist/{model-slots.cjs → model-roles.cjs} +12 -12
- package/dist/{model-slots.cjs.map → model-roles.cjs.map} +1 -1
- package/dist/{model-slots.d.cts → model-roles.d.cts} +10 -10
- package/dist/{model-slots.d.mts → model-roles.d.mts} +10 -10
- package/dist/{model-slots.d.ts → model-roles.d.ts} +10 -10
- package/dist/model-roles.js +14 -0
- package/dist/model-roles.js.map +1 -0
- package/dist/o11y/adapter-usage-projection.cjs +9 -8
- package/dist/o11y/adapter-usage-projection.cjs.map +1 -1
- package/dist/o11y/adapter-usage-projection.d.cts +23 -15
- package/dist/o11y/adapter-usage-projection.d.mts +23 -15
- package/dist/o11y/adapter-usage-projection.d.ts +23 -15
- package/dist/o11y/cache-read.cjs +14 -14
- package/dist/o11y/cache-read.cjs.map +1 -1
- package/dist/o11y/cache-read.d.cts +5 -5
- package/dist/o11y/cache-read.d.mts +5 -5
- package/dist/o11y/cache-read.d.ts +5 -5
- package/dist/o11y/derive.cjs.map +1 -1
- package/dist/o11y/derive.d.cts +2 -2
- package/dist/o11y/derive.d.mts +2 -2
- package/dist/o11y/derive.d.ts +2 -2
- package/dist/o11y/eval-usage.cjs +9 -9
- package/dist/o11y/eval-usage.cjs.map +1 -1
- package/dist/o11y/eval-usage.d.cts +7 -7
- package/dist/o11y/eval-usage.d.mts +7 -7
- package/dist/o11y/eval-usage.d.ts +7 -7
- package/dist/o11y/parsers/bub.cjs +57 -81
- package/dist/o11y/parsers/bub.cjs.map +1 -1
- package/dist/o11y/parsers/index.cjs.map +1 -1
- package/dist/o11y/parsers/index.d.cts +2 -0
- package/dist/o11y/parsers/index.d.mts +2 -0
- package/dist/o11y/parsers/index.d.ts +2 -0
- package/dist/o11y/parsers/opencode.cjs +129 -217
- package/dist/o11y/parsers/opencode.cjs.map +1 -1
- package/dist/o11y/parsers/opencode.d.cts +2 -5
- package/dist/o11y/parsers/opencode.d.mts +2 -5
- package/dist/o11y/parsers/opencode.d.ts +2 -5
- package/dist/o11y/types.cjs.map +1 -1
- package/dist/o11y/types.d.cts +1 -1
- package/dist/o11y/types.d.mts +1 -1
- package/dist/o11y/types.d.ts +1 -1
- package/dist/plugin/contracts.cjs +170 -120
- package/dist/plugin/contracts.cjs.map +1 -1
- package/dist/plugin/contracts.d.cts +102 -90
- package/dist/plugin/contracts.d.mts +102 -90
- package/dist/plugin/contracts.d.ts +102 -90
- package/dist/plugin/contracts.js +16 -12
- package/dist/plugin/index.cjs.map +1 -1
- package/dist/plugin/index.d.cts +1 -1
- package/dist/plugin/index.d.mts +1 -1
- package/dist/plugin/index.d.ts +1 -1
- package/dist/plugin/link.cjs +69 -64
- package/dist/plugin/link.cjs.map +1 -1
- package/dist/plugin/link.d.cts +5 -3
- package/dist/plugin/link.d.mts +5 -3
- package/dist/plugin/link.d.ts +5 -3
- package/dist/plugin/link.js +12 -8
- package/dist/record/codec/seal-manifest.d.cts +3 -3
- package/dist/record/codec/seal-manifest.d.mts +3 -3
- package/dist/record/codec/seal-manifest.d.ts +3 -3
- package/dist/record/family/attempt-note/definition.cjs +12 -0
- package/dist/record/family/attempt-note/definition.cjs.map +1 -0
- package/dist/record/family/attempt-note/definition.d.cts +6 -0
- package/dist/record/family/attempt-note/definition.d.mts +6 -0
- package/dist/record/family/attempt-note/definition.d.ts +6 -0
- package/dist/record/family/attempt-note/definition.js +6 -0
- package/dist/record/family/attempt-note/definition.js.map +1 -0
- package/dist/record/family/attempt-note/persistence.cjs +10 -0
- package/dist/record/family/attempt-note/persistence.cjs.map +1 -0
- package/dist/record/family/attempt-note/persistence.d.cts +6 -0
- package/dist/record/family/attempt-note/persistence.d.mts +6 -0
- package/dist/record/family/attempt-note/persistence.d.ts +6 -0
- package/dist/record/family/attempt-note/persistence.js +6 -0
- package/dist/record/family/attempt-note/persistence.js.map +1 -0
- package/dist/record/family/attempt-note/schema.cjs +20 -0
- package/dist/record/family/attempt-note/schema.cjs.map +1 -0
- package/dist/record/family/attempt-note/schema.d.cts +21 -0
- package/dist/record/family/attempt-note/schema.d.mts +21 -0
- package/dist/record/family/attempt-note/schema.d.ts +21 -0
- package/dist/record/family/attempt-note/schema.js +10 -0
- package/dist/record/family/attempt-note/schema.js.map +1 -0
- package/dist/record/family/catalog.cjs +32 -29
- package/dist/record/family/catalog.cjs.map +1 -1
- package/dist/record/family/catalog.d.cts +7 -2
- package/dist/record/family/catalog.d.mts +7 -2
- package/dist/record/family/catalog.d.ts +7 -2
- package/dist/record/family/current.cjs +48 -45
- package/dist/record/family/current.cjs.map +1 -1
- package/dist/record/family/current.d.cts +15 -0
- package/dist/record/family/current.d.mts +15 -0
- package/dist/record/family/current.d.ts +15 -0
- package/dist/record/model/index.js +66 -64
- package/dist/record/model/run-context.cjs +9 -3
- package/dist/record/model/run-context.cjs.map +1 -1
- package/dist/record/model/run-context.d.cts +9 -2
- package/dist/record/model/run-context.d.mts +9 -2
- package/dist/record/model/run-context.d.ts +9 -2
- package/dist/record/model/run-context.js +8 -6
- package/dist/record/model/seal-manifest.d.cts +1 -1
- package/dist/record/model/seal-manifest.d.mts +1 -1
- package/dist/record/model/seal-manifest.d.ts +1 -1
- package/dist/run/cli/contribution.cjs +6 -32
- package/dist/run/cli/contribution.cjs.map +1 -1
- package/dist/run/host/runtime.cjs +1 -1
- package/dist/run/host/runtime.cjs.map +1 -1
- package/dist/run/storage/sqlite.cjs +7 -7
- package/dist/run/storage/sqlite.cjs.map +1 -1
- package/dist/runner/adapter-usage.cjs +5 -3
- package/dist/runner/adapter-usage.cjs.map +1 -1
- package/dist/runner/adapter-usage.d.cts +2 -2
- package/dist/runner/adapter-usage.d.mts +2 -2
- package/dist/runner/adapter-usage.d.ts +2 -2
- package/dist/runner/adoption.cjs +9 -12
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt-notes.cjs +8 -0
- package/dist/runner/attempt-notes.cjs.map +1 -0
- package/dist/runner/attempt-notes.d.cts +4 -0
- package/dist/runner/attempt-notes.d.mts +4 -0
- package/dist/runner/attempt-notes.d.ts +4 -0
- package/dist/runner/attempt-notes.js +8 -0
- package/dist/runner/attempt-notes.js.map +1 -0
- package/dist/runner/attempt.cjs +61 -73
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/attempt.d.cts +3 -3
- package/dist/runner/attempt.d.mts +3 -3
- package/dist/runner/attempt.d.ts +3 -3
- package/dist/runner/command-plan.cjs +21 -26
- package/dist/runner/command-plan.cjs.map +1 -1
- package/dist/runner/command-plan.d.cts +4 -4
- package/dist/runner/command-plan.d.mts +4 -4
- package/dist/runner/command-plan.d.ts +4 -4
- package/dist/runner/command-plan.js +4 -4
- package/dist/runner/config-identity.cjs.map +1 -1
- package/dist/runner/config-identity.d.cts +2 -2
- package/dist/runner/config-identity.d.mts +2 -2
- package/dist/runner/config-identity.d.ts +2 -2
- package/dist/runner/discover.cjs +6 -6
- package/dist/runner/discover.cjs.map +1 -1
- package/dist/runner/eval-selection.cjs +2 -2
- package/dist/runner/eval-selection.cjs.map +1 -1
- package/dist/runner/eval-selection.d.cts +2 -2
- package/dist/runner/eval-selection.d.mts +2 -2
- package/dist/runner/eval-selection.d.ts +2 -2
- package/dist/runner/feedback/human.cjs +1 -1
- package/dist/runner/feedback/human.cjs.map +1 -1
- package/dist/runner/feedback/json.cjs +4 -2
- package/dist/runner/feedback/json.cjs.map +1 -1
- package/dist/runner/feedback/json.d.cts +1 -1
- package/dist/runner/feedback/json.d.mts +1 -1
- package/dist/runner/feedback/json.d.ts +1 -1
- package/dist/runner/feedback/sink.cjs +1 -1
- package/dist/runner/feedback/sink.cjs.map +1 -1
- package/dist/runner/feedback/sink.d.cts +1 -1
- package/dist/runner/feedback/sink.d.mts +1 -1
- package/dist/runner/feedback/sink.d.ts +1 -1
- package/dist/runner/fingerprint.cjs +1 -1
- package/dist/runner/fingerprint.cjs.map +1 -1
- package/dist/runner/project-target.cjs.map +1 -1
- package/dist/runner/project-target.d.cts +2 -2
- package/dist/runner/project-target.d.mts +2 -2
- package/dist/runner/project-target.d.ts +2 -2
- package/dist/runner/record/attachments.cjs +2 -2
- package/dist/runner/record/attachments.cjs.map +1 -1
- package/dist/runner/record/planning.cjs +8 -2
- package/dist/runner/record/planning.cjs.map +1 -1
- package/dist/runner/record.cjs +2 -0
- package/dist/runner/record.cjs.map +1 -1
- package/dist/runner/report.cjs +3 -3
- package/dist/runner/report.cjs.map +1 -1
- package/dist/runner/report.d.cts +1 -1
- package/dist/runner/report.d.mts +1 -1
- package/dist/runner/report.d.ts +1 -1
- package/dist/runner/reuse-plan.cjs +2 -2
- package/dist/runner/reuse-plan.cjs.map +1 -1
- package/dist/runner/run.cjs +10 -45
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/sandbox-pool.cjs +1 -2
- package/dist/runner/sandbox-pool.cjs.map +1 -1
- package/dist/runner/setup-prefix-preparation.cjs +1 -1
- package/dist/runner/setup-prefix-preparation.cjs.map +1 -1
- package/dist/runner/teardown-registry.cjs +2 -2
- package/dist/runner/teardown-registry.cjs.map +1 -1
- package/dist/runner/teardown-registry.d.cts +1 -1
- package/dist/runner/teardown-registry.d.mts +1 -1
- package/dist/runner/teardown-registry.d.ts +1 -1
- package/dist/runner/types.cjs +4 -4
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +64 -93
- package/dist/runner/types.d.mts +64 -93
- package/dist/runner/types.d.ts +64 -93
- package/dist/runner/types.js +2 -2
- package/dist/sandbox/action.cjs +1 -1
- package/dist/sandbox/action.cjs.map +1 -1
- package/dist/sandbox/cli/contribution.cjs +17 -14
- package/dist/sandbox/cli/contribution.cjs.map +1 -1
- package/dist/sandbox/cli/contribution.d.cts +1 -1
- package/dist/sandbox/cli/contribution.d.mts +1 -1
- package/dist/sandbox/cli/contribution.d.ts +1 -1
- package/dist/sandbox/commands.cjs +1 -1
- package/dist/sandbox/commands.cjs.map +1 -1
- package/dist/sandbox/commands.d.cts +1 -1
- package/dist/sandbox/commands.d.mts +1 -1
- package/dist/sandbox/commands.d.ts +1 -1
- package/dist/sandbox/compose.cjs +2 -2
- package/dist/sandbox/compose.cjs.map +1 -1
- package/dist/sandbox/docker-profile/registry.cjs +5 -9
- package/dist/sandbox/docker-profile/registry.cjs.map +1 -1
- package/dist/sandbox/docker-profile/registry.d.cts +0 -3
- package/dist/sandbox/docker-profile/registry.d.mts +0 -3
- package/dist/sandbox/docker-profile/registry.d.ts +0 -3
- package/dist/sandbox/docker-profile/registry.js +6 -12
- package/dist/sandbox/docker-profile/runtime.cjs +1 -1
- package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.cjs +12 -16
- package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.d.cts +2 -6
- package/dist/sandbox/docker-profile/schema.d.mts +2 -6
- package/dist/sandbox/docker-profile/schema.d.ts +2 -6
- package/dist/sandbox/docker-profile/schema.js +24 -32
- package/dist/sandbox/incus.cjs +2 -2
- package/dist/sandbox/incus.cjs.map +1 -1
- package/dist/sandbox/index.cjs +4 -35
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.d.cts +4 -8
- package/dist/sandbox/index.d.mts +4 -8
- package/dist/sandbox/index.d.ts +4 -8
- package/dist/sandbox/index.js +116 -172
- package/dist/sandbox/index.mjs +116 -172
- package/dist/sandbox/layer.cjs +3 -3
- package/dist/sandbox/layer.cjs.map +1 -1
- package/dist/sandbox/link.cjs +5 -0
- package/dist/sandbox/link.cjs.map +1 -1
- package/dist/sandbox/link.d.cts +3 -0
- package/dist/sandbox/link.d.mts +3 -0
- package/dist/sandbox/link.d.ts +3 -0
- package/dist/sandbox/runtime.cjs +9 -4
- package/dist/sandbox/runtime.cjs.map +1 -1
- package/dist/shared/failure-class.cjs +5 -5
- package/dist/shared/failure-class.cjs.map +1 -1
- package/dist/shared/failure-class.d.cts +4 -10
- package/dist/shared/failure-class.d.mts +4 -10
- package/dist/shared/failure-class.d.ts +4 -10
- package/dist/shared/types.cjs.map +1 -1
- package/dist/shared/types.d.cts +1 -1
- package/dist/shared/types.d.mts +1 -1
- package/dist/shared/types.d.ts +1 -1
- package/dist/show/contribution.cjs +17 -2
- package/dist/show/contribution.cjs.map +1 -1
- package/dist/show/contribution.d.cts +14 -0
- package/dist/show/contribution.d.mts +14 -0
- package/dist/show/contribution.d.ts +14 -0
- package/dist/show/model.cjs +8 -5
- package/dist/show/model.cjs.map +1 -1
- package/dist/show/model.d.cts +11 -8
- package/dist/show/model.d.mts +11 -8
- package/dist/show/model.d.ts +11 -8
- package/dist/show/render.cjs +34 -22
- package/dist/show/render.cjs.map +1 -1
- package/dist/sources/projector.cjs +1 -1
- package/dist/sources/projector.cjs.map +1 -1
- package/dist/types.cjs +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +2 -2
- package/dist/view/app-dist/.vite/manifest.json +2 -2
- package/dist/view/app-dist/assets/{index-B3ijZRph.js → index-CxrOUvHC.js} +17 -17
- package/dist/view/app-dist/assets/{quality-cost-scatter-B--DfJ9s.js → quality-cost-scatter-B6Aiss7x.js} +1 -1
- package/dist/view/app-dist/index.html +1 -1
- package/dist/view/cli/contribution.cjs +1 -1
- package/dist/view/cli/contribution.cjs.map +1 -1
- package/dist/view/function-runtime.mjs +318 -121
- package/dist/view/http-protocol.d.cts +1 -1
- package/dist/view/http-protocol.d.mts +1 -1
- package/dist/view/http-protocol.d.ts +1 -1
- package/dist/view/inspection-host.cjs +2 -2
- package/dist/view/inspection-host.cjs.map +1 -1
- package/dist/view/inspection-host.d.cts +349 -331
- package/dist/view/inspection-host.d.mts +349 -331
- package/dist/view/inspection-host.d.ts +349 -331
- package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +6 -6
- package/docs-site/zh/examples/integrations/claude-sdk.mdx +5 -5
- package/docs-site/zh/examples/integrations/codex-sdk.mdx +4 -4
- package/docs-site/zh/examples/integrations/langgraph.mdx +4 -4
- package/docs-site/zh/examples/integrations/pi-sdk.mdx +5 -5
- package/docs-site/zh/explanation/adapter.mdx +6 -6
- package/docs-site/zh/explanation/assert.mdx +7 -7
- package/docs-site/zh/explanation/drive.mdx +4 -4
- package/docs-site/zh/explanation/hitl.mdx +2 -2
- package/docs-site/zh/explanation/judge.mdx +2 -2
- package/docs-site/zh/introduction.mdx +2 -2
- package/docs-site/zh/reference/builtin-agents.mdx +46 -49
- package/docs-site/zh/reference/cli.mdx +16 -14
- package/docs-site/zh/reference/define-agent.mdx +19 -19
- package/docs-site/zh/reference/define-config.mdx +7 -15
- package/docs-site/zh/reference/define-eval.mdx +20 -14
- package/docs-site/zh/reference/define-experiment.mdx +18 -39
- package/docs-site/zh/reference/events.mdx +1 -1
- package/docs-site/zh/reference/expect.mdx +21 -0
- package/docs-site/zh/reference/official-adapters.mdx +12 -5
- package/docs-site/zh/troubleshooting/debugging.mdx +2 -2
- package/docs-site/zh/troubleshooting/recover-after-kill.mdx +1 -1
- package/docs-site/zh/tutorials/agent-onboarding.mdx +2 -2
- package/docs-site/zh/tutorials/authoring.mdx +2 -2
- package/docs-site/zh/tutorials/compare-runs.mdx +1 -1
- package/docs-site/zh/tutorials/concurrency.mdx +8 -8
- package/docs-site/zh/tutorials/configuration.mdx +5 -5
- package/docs-site/zh/tutorials/control-run-cost.mdx +19 -19
- package/docs-site/zh/tutorials/eval-groups.mdx +1 -1
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +5 -5
- package/docs-site/zh/tutorials/experiment-services.mdx +32 -32
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +2 -28
- package/docs-site/zh/tutorials/plugins.mdx +49 -143
- package/docs-site/zh/tutorials/sandbox-agent.mdx +1 -1
- package/docs-site/zh/tutorials/sandbox-reuse.mdx +7 -7
- package/docs-site/zh/tutorials/upgrade-0-18.mdx +1 -1
- package/docs-site/zh/tutorials/upgrade-0-19.mdx +121 -0
- package/docs-site/zh/tutorials/upgrade-0-20.mdx +12 -0
- package/docs-site/zh/tutorials/verify-judge.mdx +2 -2
- package/docs-site/zh/tutorials/viewing-results.mdx +2 -2
- package/docs-site/zh/tutorials/write-experiment.mdx +1 -1
- package/docs-site/zh/tutorials/write-send.mdx +13 -13
- package/package.json +1 -1
- package/dist/agents/effect-runtime.cjs.map +0 -1
- package/dist/agents/effect-runtime.d.cts +0 -29
- package/dist/agents/effect-runtime.d.mts +0 -29
- package/dist/agents/effect-runtime.d.ts +0 -29
- package/dist/agents/effect-runtime.js +0 -16
- package/dist/agents/effect-runtime.js.map +0 -1
- package/dist/agents/session-slot.cjs.map +0 -1
- package/dist/agents/session-slot.d.cts +0 -12
- package/dist/agents/session-slot.d.mts +0 -12
- package/dist/agents/session-slot.d.ts +0 -12
- package/dist/agents/session-slot.js +0 -6
- package/dist/agents/session-slot.js.map +0 -1
- package/dist/model-slots.js +0 -14
- package/dist/model-slots.js.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveDockerExecutionProfile = exports.parseDockerProfileRegistry = exports.createDockerProfileRegistry = void 0;
|
|
4
3
|
exports.indexDockerProfiles = indexDockerProfiles;
|
|
5
4
|
exports.resolveDockerProfile = resolveDockerProfile;
|
|
6
5
|
exports.resolveDockerProfileSelector = resolveDockerProfileSelector;
|
|
@@ -244,7 +243,7 @@ function resolveEntry(entry, index, options) {
|
|
|
244
243
|
const alias = requiredAlias(entry.alias, `registry.entries[${index}].alias`);
|
|
245
244
|
checkSourceFacts(entry.fileFacts, `registry.entries[${index}]`, options.expectedOwnerUid ?? 0);
|
|
246
245
|
try {
|
|
247
|
-
const profile = (0, schema_ts_1.
|
|
246
|
+
const profile = (0, schema_ts_1.decodeDockerExecutionProfile)(entry.profile);
|
|
248
247
|
return Object.freeze({
|
|
249
248
|
alias,
|
|
250
249
|
profile,
|
|
@@ -260,7 +259,7 @@ function resolveEntry(entry, index, options) {
|
|
|
260
259
|
}
|
|
261
260
|
}
|
|
262
261
|
/** 构造只含规范化 descriptor 的 registry index;不读文件、不执行 profile 内容。 */
|
|
263
|
-
// @concord-code
|
|
262
|
+
// @concord-code
|
|
264
263
|
// @concord-implements docs/feature/sandbox-docker-profiles/library.md
|
|
265
264
|
// @concord-implements docs/feature/sandbox-docker-profiles/architecture.md
|
|
266
265
|
function indexDockerProfiles(input, options = {}) {
|
|
@@ -294,8 +293,6 @@ function indexDockerProfiles(input, options = {}) {
|
|
|
294
293
|
}
|
|
295
294
|
return Object.freeze({ entries: Object.freeze(entries) });
|
|
296
295
|
}
|
|
297
|
-
exports.createDockerProfileRegistry = indexDockerProfiles;
|
|
298
|
-
exports.parseDockerProfileRegistry = indexDockerProfiles;
|
|
299
296
|
function isRegistryIndex(value) {
|
|
300
297
|
return isRecord(value) && Array.isArray(value.entries) && value.entries.every((entry) => isRecord(entry) &&
|
|
301
298
|
typeof entry.alias === "string" &&
|
|
@@ -308,7 +305,7 @@ function indexOf(input) {
|
|
|
308
305
|
const entries = input.entries.map((entry, index) => {
|
|
309
306
|
const alias = requiredAlias(entry.alias, `registry.entries[${index}].alias`);
|
|
310
307
|
try {
|
|
311
|
-
const profile = (0, schema_ts_1.
|
|
308
|
+
const profile = (0, schema_ts_1.decodeDockerExecutionProfile)(entry.profile);
|
|
312
309
|
const descriptorDigest = (0, schema_ts_1.dockerExecutionProfileV1Digest)(profile);
|
|
313
310
|
if (entry.profileId !== profile.profileId || entry.descriptorDigest !== descriptorDigest) {
|
|
314
311
|
throw (0, errors_ts_1.dockerProfileError)({
|
|
@@ -340,7 +337,7 @@ function indexOf(input) {
|
|
|
340
337
|
return indexDockerProfiles(input);
|
|
341
338
|
}
|
|
342
339
|
/** 只按宿主 alias 查找;没有 alias 时不猜 profile ID 或默认 Docker endpoint。 */
|
|
343
|
-
// @concord-code
|
|
340
|
+
// @concord-code
|
|
344
341
|
// @concord-implements docs/feature/sandbox-docker-profiles/library.md
|
|
345
342
|
function resolveDockerProfile(registry, alias) {
|
|
346
343
|
const normalizedAlias = requiredAlias(alias, "profile alias");
|
|
@@ -355,7 +352,7 @@ function resolveDockerProfile(registry, alias) {
|
|
|
355
352
|
});
|
|
356
353
|
}
|
|
357
354
|
/** detached 读面可显式按 alias 或 stable ID 查找;两者同时命中不同 descriptor 时拒绝猜测。 */
|
|
358
|
-
// @concord-code
|
|
355
|
+
// @concord-code
|
|
359
356
|
// @concord-implements docs/feature/sandbox-docker-profiles/library.md
|
|
360
357
|
function resolveDockerProfileSelector(registry, selector) {
|
|
361
358
|
const normalizedSelector = requiredSelector(selector, "profile selector");
|
|
@@ -379,5 +376,4 @@ function resolveDockerProfileSelector(registry, selector) {
|
|
|
379
376
|
}
|
|
380
377
|
return first;
|
|
381
378
|
}
|
|
382
|
-
exports.resolveDockerExecutionProfile = resolveDockerProfile;
|
|
383
379
|
//# sourceMappingURL=registry.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["registry.ts"],"names":[],"mappings":"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","sourcesContent":["import { dockerProfileError, DockerProfileError, } from \"./errors.ts\";\nimport { dockerExecutionProfileV1Digest, parseDockerExecutionProfileV1, type DockerExecutionProfileV1, } from \"./schema.ts\";\n/** 由宿主 registry loader 提供的文件事实;本模块不会自行读文件或执行路径。 */\nexport interface DockerProfileRegistryFileFacts {\n readonly isSymlink?: boolean;\n readonly ownerUid?: number;\n readonly mode?: number;\n readonly parentWritable?: boolean;\n readonly parentModes?: readonly number[];\n}\nexport interface DockerProfileRegistryEntry {\n readonly alias: string;\n readonly profile?: unknown;\n readonly descriptor?: unknown;\n readonly source?: string;\n readonly fileFacts?: DockerProfileRegistryFileFacts;\n}\nexport interface DockerProfileRegistryOptions {\n /** descriptor 必须由 root 持有;未提供 file facts 时纯解析不会臆造权限事实。 */\n readonly expectedOwnerUid?: number;\n}\nexport interface ResolvedDockerProfileEntry {\n readonly alias: string;\n readonly profile: DockerExecutionProfileV1;\n readonly profileId: string;\n readonly descriptorDigest: string;\n readonly source?: string;\n}\nexport interface DockerProfileRegistryIndex {\n readonly entries: readonly ResolvedDockerProfileEntry[];\n}\nexport type DockerProfileRegistryInput = readonly DockerProfileRegistryEntry[] | Readonly<globalThis.Record<string, unknown>> | {\n readonly entries: readonly DockerProfileRegistryEntry[];\n};\nfunction isRecord(value: unknown): value is globalThis.Record<string, unknown> {\n if (value === null || typeof value !== \"object\" || Array.isArray(value))\n return false;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\nfunction hasOwn(record: globalThis.Record<string, unknown>, key: string): boolean {\n return Object.prototype.hasOwnProperty.call(record, key);\n}\nfunction requiredAlias(value: unknown, path: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a non-empty alias`,\n });\n }\n if (value.includes(\"\\u0000\") || value.includes(\"/\") || value.includes(\"\\\\\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a single non-empty alias segment`,\n });\n }\n return value;\n}\nfunction requiredSource(value: unknown, path: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\" || value.includes(\"\\u0000\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a non-empty source string without NUL`,\n });\n }\n return value;\n}\nfunction requiredSelector(value: unknown, path: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\" || value.includes(\"\\u0000\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a non-empty selector without NUL`,\n });\n }\n return value;\n}\nfunction sourceFacts(value: unknown, path: string): DockerProfileRegistryFileFacts | undefined {\n if (value === undefined)\n return undefined;\n if (!isRecord(value)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a plain object`,\n });\n }\n const allowed = new Set([\"isSymlink\", \"ownerUid\", \"mode\", \"parentWritable\", \"parentModes\"]);\n const unsupported = Object.keys(value).find((key) => !allowed.has(key));\n if (unsupported !== undefined) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.${unsupported}`,\n message: `${path}.${unsupported} is not supported`,\n });\n }\n if (value.isSymlink !== undefined && typeof value.isSymlink !== \"boolean\") {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.isSymlink`,\n message: `${path}.isSymlink must be boolean`,\n });\n }\n const ownerUid = value.ownerUid;\n if (ownerUid !== undefined && (typeof ownerUid !== \"number\" || !Number.isSafeInteger(ownerUid) || ownerUid < 0)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.ownerUid`,\n message: `${path}.ownerUid must be a non-negative safe integer`,\n });\n }\n const mode = value.mode;\n if (mode !== undefined && (typeof mode !== \"number\" || !Number.isInteger(mode) || mode < 0 || mode > 0o7777)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.mode`,\n message: `${path}.mode must be an integer between 0 and 0o7777`,\n });\n }\n if (value.parentWritable !== undefined && typeof value.parentWritable !== \"boolean\") {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.parentWritable`,\n message: `${path}.parentWritable must be boolean`,\n });\n }\n const parentModes = value.parentModes;\n if (parentModes !== undefined && (!Array.isArray(parentModes) || parentModes.some((mode) => typeof mode !== \"number\" || !Number.isInteger(mode) || mode < 0 || mode > 0o7777))) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.parentModes`,\n message: `${path}.parentModes must contain file modes`,\n });\n }\n return Object.freeze({\n ...(value.isSymlink === undefined ? {} : { isSymlink: value.isSymlink }),\n ...(ownerUid === undefined ? {} : { ownerUid }),\n ...(mode === undefined ? {} : { mode }),\n ...(value.parentWritable === undefined ? {} : { parentWritable: value.parentWritable }),\n ...(parentModes === undefined ? {} : { parentModes: Object.freeze([...parentModes]) }),\n });\n}\nfunction checkSourceFacts(facts: DockerProfileRegistryFileFacts | undefined, path: string, expectedOwnerUid: number): void {\n if (facts === undefined)\n return;\n if (facts.isSymlink === true) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-symlink\",\n path,\n message: \"Docker profile descriptor must be a regular file, not a symbolic link\",\n });\n }\n if (facts.ownerUid !== undefined && facts.ownerUid !== expectedOwnerUid) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-owner-invalid\",\n path,\n message: `Docker profile descriptor must be owned by UID ${expectedOwnerUid}`,\n details: { expectedOwnerUid, actualOwnerUid: facts.ownerUid },\n });\n }\n if (facts.mode !== undefined && (facts.mode & 0o022) !== 0) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-mode-invalid\",\n path,\n message: \"Docker profile descriptor and registry file must not be group- or world-writable\",\n details: { mode: facts.mode },\n });\n }\n if (facts.parentWritable === true || facts.parentModes?.some((mode) => (mode & 0o022) !== 0) === true) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-parent-writable\",\n path,\n message: \"Docker profile descriptor parent directories must not be group- or world-writable\",\n });\n }\n}\nfunction entryFromArray(value: unknown, index: number): DockerProfileRegistryEntry {\n const path = `registry.entries[${index}]`;\n if (!isRecord(value)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a plain object`,\n });\n }\n const allowed = new Set([\"alias\", \"profile\", \"descriptor\", \"source\", \"fileFacts\"]);\n const unsupported = Object.keys(value).find((key) => !allowed.has(key));\n if (unsupported !== undefined) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.${unsupported}`,\n message: `${path}.${unsupported} is not supported`,\n });\n }\n if (hasOwn(value, \"profile\") && hasOwn(value, \"descriptor\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must provide either profile or descriptor, not both`,\n });\n }\n if (!hasOwn(value, \"profile\") && !hasOwn(value, \"descriptor\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must provide profile or descriptor`,\n });\n }\n const profile = hasOwn(value, \"profile\") ? value.profile : value.descriptor;\n return Object.freeze({\n alias: requiredAlias(value.alias, `${path}.alias`),\n profile,\n ...(value.source === undefined ? {} : { source: requiredSource(value.source, `${path}.source`) }),\n ...(value.fileFacts === undefined ? {} : { fileFacts: sourceFacts(value.fileFacts, `${path}.fileFacts`) }),\n });\n}\nfunction entryFromAlias(alias: string, value: unknown): DockerProfileRegistryEntry[] {\n const normalizedAlias = requiredAlias(alias, `registry.${alias}`);\n if (Array.isArray(value)) {\n return value.map((candidate) => Object.freeze({ alias: normalizedAlias, profile: candidate }));\n }\n return [Object.freeze({ alias: normalizedAlias, profile: value })];\n}\nfunction rawEntries(input: unknown): readonly DockerProfileRegistryEntry[] {\n if (Array.isArray(input))\n return Object.freeze(input.map(entryFromArray));\n if (!isRecord(input)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: \"registry\",\n message: \"registry must be an entries array or an alias-to-descriptor object\",\n });\n }\n if (hasOwn(input, \"entries\")) {\n const unsupported = Object.keys(input).find((key) => key !== \"entries\");\n if (unsupported !== undefined) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `registry.${unsupported}`,\n message: `registry.${unsupported} is not supported`,\n });\n }\n if (!Array.isArray(input.entries)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: \"registry.entries\",\n message: \"registry.entries must be an array\",\n });\n }\n return Object.freeze(input.entries.map(entryFromArray));\n }\n const entries = Object.entries(input).flatMap(([alias, profile]) => entryFromAlias(alias, profile));\n return Object.freeze(entries);\n}\nfunction withAlias(error: DockerProfileError, alias: string): DockerProfileError {\n return dockerProfileError({\n code: error.code,\n message: `Docker profile alias ${JSON.stringify(alias)}: ${error.message}`,\n ...(error.path === undefined ? {} : { path: error.path }),\n alias,\n ...(error.profileId === undefined ? {} : { profileId: error.profileId }),\n ...(error.candidates === undefined ? {} : { candidates: error.candidates }),\n ...(error.details === undefined ? {} : { details: error.details }),\n });\n}\nfunction resolveEntry(entry: DockerProfileRegistryEntry, index: number, options: DockerProfileRegistryOptions): ResolvedDockerProfileEntry {\n const alias = requiredAlias(entry.alias, `registry.entries[${index}].alias`);\n checkSourceFacts(entry.fileFacts, `registry.entries[${index}]`, options.expectedOwnerUid ?? 0);\n try {\n const profile = parseDockerExecutionProfileV1(entry.profile);\n return Object.freeze({\n alias,\n profile,\n profileId: profile.profileId,\n descriptorDigest: dockerExecutionProfileV1Digest(profile),\n ...(entry.source === undefined ? {} : { source: entry.source }),\n });\n }\n catch (error) {\n if (error instanceof DockerProfileError)\n throw withAlias(error, alias);\n throw error;\n }\n}\n/** 构造只含规范化 descriptor 的 registry index;不读文件、不执行 profile 内容。 */\n// @concord-code ne-sandbox-docker-profile-index\n// @concord-implements docs/feature/sandbox-docker-profiles/library.md\n// @concord-implements docs/feature/sandbox-docker-profiles/architecture.md\nexport function indexDockerProfiles(input: DockerProfileRegistryInput | unknown, options: DockerProfileRegistryOptions = {}): DockerProfileRegistryIndex {\n const entries = rawEntries(input).map((entry, index) => resolveEntry(entry, index, options));\n const byAlias = new Map<string, ResolvedDockerProfileEntry[]>();\n const byProfileId = new Map<string, ResolvedDockerProfileEntry[]>();\n for (const entry of entries) {\n byAlias.set(entry.alias, [...(byAlias.get(entry.alias) ?? []), entry]);\n byProfileId.set(entry.profileId, [...(byProfileId.get(entry.profileId) ?? []), entry]);\n }\n const ambiguous = [...byAlias.entries()].find(([, candidates]) => candidates.length > 1);\n if (ambiguous !== undefined) {\n const [alias, candidates] = ambiguous;\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-ambiguous-alias\",\n alias,\n candidates: candidates.map((candidate) => candidate.profileId),\n message: `Docker profile alias ${JSON.stringify(alias)} resolves to multiple descriptors`,\n });\n }\n const duplicate = [...byProfileId.entries()].find(([, candidates]) => candidates.length > 1);\n if (duplicate !== undefined) {\n const [profileId, candidates] = duplicate;\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-duplicate-id\",\n profileId,\n alias: candidates[0]?.alias,\n candidates: candidates.map((candidate) => candidate.alias),\n message: `Docker profile stable ID ${JSON.stringify(profileId)} is registered more than once`,\n });\n }\n return Object.freeze({ entries: Object.freeze(entries) });\n}\nexport const createDockerProfileRegistry = indexDockerProfiles;\nexport const parseDockerProfileRegistry = indexDockerProfiles;\nfunction isRegistryIndex(value: unknown): value is DockerProfileRegistryIndex {\n return isRecord(value) && Array.isArray(value.entries) && value.entries.every((entry) => isRecord(entry) &&\n typeof entry.alias === \"string\" &&\n isRecord(entry.profile) &&\n typeof entry.profileId === \"string\" &&\n typeof entry.descriptorDigest === \"string\");\n}\nfunction indexOf(input: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown): DockerProfileRegistryIndex {\n if (isRegistryIndex(input)) {\n const entries = input.entries.map((entry, index) => {\n const alias = requiredAlias(entry.alias, `registry.entries[${index}].alias`);\n try {\n const profile = parseDockerExecutionProfileV1(entry.profile);\n const descriptorDigest = dockerExecutionProfileV1Digest(profile);\n if (entry.profileId !== profile.profileId || entry.descriptorDigest !== descriptorDigest) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `registry.entries[${index}]`,\n message: \"registry index profileId or descriptorDigest does not match its descriptor\",\n details: {\n expectedProfileId: profile.profileId,\n actualProfileId: entry.profileId,\n expectedDescriptorDigest: descriptorDigest,\n actualDescriptorDigest: entry.descriptorDigest,\n },\n });\n }\n return Object.freeze({\n alias,\n profile,\n ...(entry.source === undefined ? {} : { source: requiredSource(entry.source, `registry.entries[${index}].source`) }),\n });\n }\n catch (error) {\n if (error instanceof DockerProfileError)\n throw withAlias(error, alias);\n throw error;\n }\n });\n return indexDockerProfiles(entries);\n }\n return indexDockerProfiles(input);\n}\n/** 只按宿主 alias 查找;没有 alias 时不猜 profile ID 或默认 Docker endpoint。 */\n// @concord-code ne-sandbox-docker-profile-resolve\n// @concord-implements docs/feature/sandbox-docker-profiles/library.md\nexport function resolveDockerProfile(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, alias: string): ResolvedDockerProfileEntry {\n const normalizedAlias = requiredAlias(alias, \"profile alias\");\n const index = indexOf(registry);\n const match = index.entries.find((entry) => entry.alias === normalizedAlias);\n if (match !== undefined)\n return match;\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-alias-not-found\",\n alias: normalizedAlias,\n message: `No Docker execution profile is registered for alias ${JSON.stringify(normalizedAlias)}`,\n });\n}\n/** detached 读面可显式按 alias 或 stable ID 查找;两者同时命中不同 descriptor 时拒绝猜测。 */\n// @concord-code ne-sandbox-docker-profile-select\n// @concord-implements docs/feature/sandbox-docker-profiles/library.md\nexport function resolveDockerProfileSelector(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, selector: string): ResolvedDockerProfileEntry {\n const normalizedSelector = requiredSelector(selector, \"profile selector\");\n const index = indexOf(registry);\n const matches = index.entries.filter((entry) => entry.alias === normalizedSelector || entry.profileId === normalizedSelector);\n const first = matches[0];\n if (first === undefined) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-alias-not-found\",\n alias: normalizedSelector,\n message: `No Docker execution profile matches selector ${JSON.stringify(normalizedSelector)}`,\n });\n }\n if (matches.length > 1) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-ambiguous-alias\",\n alias: normalizedSelector,\n candidates: matches.map((match) => match.alias),\n message: `Docker profile selector ${JSON.stringify(normalizedSelector)} is ambiguous`,\n });\n }\n return first;\n}\nexport const resolveDockerExecutionProfile = resolveDockerProfile;\n"]}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["registry.ts"],"names":[],"mappings":"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","sourcesContent":["import { dockerProfileError, DockerProfileError, } from \"./errors.ts\";\nimport { dockerExecutionProfileV1Digest, decodeDockerExecutionProfile, type DockerExecutionProfileV1, } from \"./schema.ts\";\n/** 由宿主 registry loader 提供的文件事实;本模块不会自行读文件或执行路径。 */\nexport interface DockerProfileRegistryFileFacts {\n readonly isSymlink?: boolean;\n readonly ownerUid?: number;\n readonly mode?: number;\n readonly parentWritable?: boolean;\n readonly parentModes?: readonly number[];\n}\nexport interface DockerProfileRegistryEntry {\n readonly alias: string;\n readonly profile?: unknown;\n readonly descriptor?: unknown;\n readonly source?: string;\n readonly fileFacts?: DockerProfileRegistryFileFacts;\n}\nexport interface DockerProfileRegistryOptions {\n /** descriptor 必须由 root 持有;未提供 file facts 时纯解析不会臆造权限事实。 */\n readonly expectedOwnerUid?: number;\n}\nexport interface ResolvedDockerProfileEntry {\n readonly alias: string;\n readonly profile: DockerExecutionProfileV1;\n readonly profileId: string;\n readonly descriptorDigest: string;\n readonly source?: string;\n}\nexport interface DockerProfileRegistryIndex {\n readonly entries: readonly ResolvedDockerProfileEntry[];\n}\nexport type DockerProfileRegistryInput = readonly DockerProfileRegistryEntry[] | Readonly<globalThis.Record<string, unknown>> | {\n readonly entries: readonly DockerProfileRegistryEntry[];\n};\nfunction isRecord(value: unknown): value is globalThis.Record<string, unknown> {\n if (value === null || typeof value !== \"object\" || Array.isArray(value))\n return false;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\nfunction hasOwn(record: globalThis.Record<string, unknown>, key: string): boolean {\n return Object.prototype.hasOwnProperty.call(record, key);\n}\nfunction requiredAlias(value: unknown, path: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a non-empty alias`,\n });\n }\n if (value.includes(\"\\u0000\") || value.includes(\"/\") || value.includes(\"\\\\\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a single non-empty alias segment`,\n });\n }\n return value;\n}\nfunction requiredSource(value: unknown, path: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\" || value.includes(\"\\u0000\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a non-empty source string without NUL`,\n });\n }\n return value;\n}\nfunction requiredSelector(value: unknown, path: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\" || value.includes(\"\\u0000\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a non-empty selector without NUL`,\n });\n }\n return value;\n}\nfunction sourceFacts(value: unknown, path: string): DockerProfileRegistryFileFacts | undefined {\n if (value === undefined)\n return undefined;\n if (!isRecord(value)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a plain object`,\n });\n }\n const allowed = new Set([\"isSymlink\", \"ownerUid\", \"mode\", \"parentWritable\", \"parentModes\"]);\n const unsupported = Object.keys(value).find((key) => !allowed.has(key));\n if (unsupported !== undefined) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.${unsupported}`,\n message: `${path}.${unsupported} is not supported`,\n });\n }\n if (value.isSymlink !== undefined && typeof value.isSymlink !== \"boolean\") {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.isSymlink`,\n message: `${path}.isSymlink must be boolean`,\n });\n }\n const ownerUid = value.ownerUid;\n if (ownerUid !== undefined && (typeof ownerUid !== \"number\" || !Number.isSafeInteger(ownerUid) || ownerUid < 0)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.ownerUid`,\n message: `${path}.ownerUid must be a non-negative safe integer`,\n });\n }\n const mode = value.mode;\n if (mode !== undefined && (typeof mode !== \"number\" || !Number.isInteger(mode) || mode < 0 || mode > 0o7777)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.mode`,\n message: `${path}.mode must be an integer between 0 and 0o7777`,\n });\n }\n if (value.parentWritable !== undefined && typeof value.parentWritable !== \"boolean\") {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.parentWritable`,\n message: `${path}.parentWritable must be boolean`,\n });\n }\n const parentModes = value.parentModes;\n if (parentModes !== undefined && (!Array.isArray(parentModes) || parentModes.some((mode) => typeof mode !== \"number\" || !Number.isInteger(mode) || mode < 0 || mode > 0o7777))) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.parentModes`,\n message: `${path}.parentModes must contain file modes`,\n });\n }\n return Object.freeze({\n ...(value.isSymlink === undefined ? {} : { isSymlink: value.isSymlink }),\n ...(ownerUid === undefined ? {} : { ownerUid }),\n ...(mode === undefined ? {} : { mode }),\n ...(value.parentWritable === undefined ? {} : { parentWritable: value.parentWritable }),\n ...(parentModes === undefined ? {} : { parentModes: Object.freeze([...parentModes]) }),\n });\n}\nfunction checkSourceFacts(facts: DockerProfileRegistryFileFacts | undefined, path: string, expectedOwnerUid: number): void {\n if (facts === undefined)\n return;\n if (facts.isSymlink === true) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-symlink\",\n path,\n message: \"Docker profile descriptor must be a regular file, not a symbolic link\",\n });\n }\n if (facts.ownerUid !== undefined && facts.ownerUid !== expectedOwnerUid) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-owner-invalid\",\n path,\n message: `Docker profile descriptor must be owned by UID ${expectedOwnerUid}`,\n details: { expectedOwnerUid, actualOwnerUid: facts.ownerUid },\n });\n }\n if (facts.mode !== undefined && (facts.mode & 0o022) !== 0) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-mode-invalid\",\n path,\n message: \"Docker profile descriptor and registry file must not be group- or world-writable\",\n details: { mode: facts.mode },\n });\n }\n if (facts.parentWritable === true || facts.parentModes?.some((mode) => (mode & 0o022) !== 0) === true) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-parent-writable\",\n path,\n message: \"Docker profile descriptor parent directories must not be group- or world-writable\",\n });\n }\n}\nfunction entryFromArray(value: unknown, index: number): DockerProfileRegistryEntry {\n const path = `registry.entries[${index}]`;\n if (!isRecord(value)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must be a plain object`,\n });\n }\n const allowed = new Set([\"alias\", \"profile\", \"descriptor\", \"source\", \"fileFacts\"]);\n const unsupported = Object.keys(value).find((key) => !allowed.has(key));\n if (unsupported !== undefined) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `${path}.${unsupported}`,\n message: `${path}.${unsupported} is not supported`,\n });\n }\n if (hasOwn(value, \"profile\") && hasOwn(value, \"descriptor\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must provide either profile or descriptor, not both`,\n });\n }\n if (!hasOwn(value, \"profile\") && !hasOwn(value, \"descriptor\")) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path,\n message: `${path} must provide profile or descriptor`,\n });\n }\n const profile = hasOwn(value, \"profile\") ? value.profile : value.descriptor;\n return Object.freeze({\n alias: requiredAlias(value.alias, `${path}.alias`),\n profile,\n ...(value.source === undefined ? {} : { source: requiredSource(value.source, `${path}.source`) }),\n ...(value.fileFacts === undefined ? {} : { fileFacts: sourceFacts(value.fileFacts, `${path}.fileFacts`) }),\n });\n}\nfunction entryFromAlias(alias: string, value: unknown): DockerProfileRegistryEntry[] {\n const normalizedAlias = requiredAlias(alias, `registry.${alias}`);\n if (Array.isArray(value)) {\n return value.map((candidate) => Object.freeze({ alias: normalizedAlias, profile: candidate }));\n }\n return [Object.freeze({ alias: normalizedAlias, profile: value })];\n}\nfunction rawEntries(input: unknown): readonly DockerProfileRegistryEntry[] {\n if (Array.isArray(input))\n return Object.freeze(input.map(entryFromArray));\n if (!isRecord(input)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: \"registry\",\n message: \"registry must be an entries array or an alias-to-descriptor object\",\n });\n }\n if (hasOwn(input, \"entries\")) {\n const unsupported = Object.keys(input).find((key) => key !== \"entries\");\n if (unsupported !== undefined) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `registry.${unsupported}`,\n message: `registry.${unsupported} is not supported`,\n });\n }\n if (!Array.isArray(input.entries)) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: \"registry.entries\",\n message: \"registry.entries must be an array\",\n });\n }\n return Object.freeze(input.entries.map(entryFromArray));\n }\n const entries = Object.entries(input).flatMap(([alias, profile]) => entryFromAlias(alias, profile));\n return Object.freeze(entries);\n}\nfunction withAlias(error: DockerProfileError, alias: string): DockerProfileError {\n return dockerProfileError({\n code: error.code,\n message: `Docker profile alias ${JSON.stringify(alias)}: ${error.message}`,\n ...(error.path === undefined ? {} : { path: error.path }),\n alias,\n ...(error.profileId === undefined ? {} : { profileId: error.profileId }),\n ...(error.candidates === undefined ? {} : { candidates: error.candidates }),\n ...(error.details === undefined ? {} : { details: error.details }),\n });\n}\nfunction resolveEntry(entry: DockerProfileRegistryEntry, index: number, options: DockerProfileRegistryOptions): ResolvedDockerProfileEntry {\n const alias = requiredAlias(entry.alias, `registry.entries[${index}].alias`);\n checkSourceFacts(entry.fileFacts, `registry.entries[${index}]`, options.expectedOwnerUid ?? 0);\n try {\n const profile = decodeDockerExecutionProfile(entry.profile);\n return Object.freeze({\n alias,\n profile,\n profileId: profile.profileId,\n descriptorDigest: dockerExecutionProfileV1Digest(profile),\n ...(entry.source === undefined ? {} : { source: entry.source }),\n });\n }\n catch (error) {\n if (error instanceof DockerProfileError)\n throw withAlias(error, alias);\n throw error;\n }\n}\n/** 构造只含规范化 descriptor 的 registry index;不读文件、不执行 profile 内容。 */\n// @concord-code\n// @concord-implements docs/feature/sandbox-docker-profiles/library.md\n// @concord-implements docs/feature/sandbox-docker-profiles/architecture.md\nexport function indexDockerProfiles(input: DockerProfileRegistryInput | unknown, options: DockerProfileRegistryOptions = {}): DockerProfileRegistryIndex {\n const entries = rawEntries(input).map((entry, index) => resolveEntry(entry, index, options));\n const byAlias = new Map<string, ResolvedDockerProfileEntry[]>();\n const byProfileId = new Map<string, ResolvedDockerProfileEntry[]>();\n for (const entry of entries) {\n byAlias.set(entry.alias, [...(byAlias.get(entry.alias) ?? []), entry]);\n byProfileId.set(entry.profileId, [...(byProfileId.get(entry.profileId) ?? []), entry]);\n }\n const ambiguous = [...byAlias.entries()].find(([, candidates]) => candidates.length > 1);\n if (ambiguous !== undefined) {\n const [alias, candidates] = ambiguous;\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-ambiguous-alias\",\n alias,\n candidates: candidates.map((candidate) => candidate.profileId),\n message: `Docker profile alias ${JSON.stringify(alias)} resolves to multiple descriptors`,\n });\n }\n const duplicate = [...byProfileId.entries()].find(([, candidates]) => candidates.length > 1);\n if (duplicate !== undefined) {\n const [profileId, candidates] = duplicate;\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-duplicate-id\",\n profileId,\n alias: candidates[0]?.alias,\n candidates: candidates.map((candidate) => candidate.alias),\n message: `Docker profile stable ID ${JSON.stringify(profileId)} is registered more than once`,\n });\n }\n return Object.freeze({ entries: Object.freeze(entries) });\n}\nfunction isRegistryIndex(value: unknown): value is DockerProfileRegistryIndex {\n return isRecord(value) && Array.isArray(value.entries) && value.entries.every((entry) => isRecord(entry) &&\n typeof entry.alias === \"string\" &&\n isRecord(entry.profile) &&\n typeof entry.profileId === \"string\" &&\n typeof entry.descriptorDigest === \"string\");\n}\nfunction indexOf(input: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown): DockerProfileRegistryIndex {\n if (isRegistryIndex(input)) {\n const entries = input.entries.map((entry, index) => {\n const alias = requiredAlias(entry.alias, `registry.entries[${index}].alias`);\n try {\n const profile = decodeDockerExecutionProfile(entry.profile);\n const descriptorDigest = dockerExecutionProfileV1Digest(profile);\n if (entry.profileId !== profile.profileId || entry.descriptorDigest !== descriptorDigest) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-entry-invalid\",\n path: `registry.entries[${index}]`,\n message: \"registry index profileId or descriptorDigest does not match its descriptor\",\n details: {\n expectedProfileId: profile.profileId,\n actualProfileId: entry.profileId,\n expectedDescriptorDigest: descriptorDigest,\n actualDescriptorDigest: entry.descriptorDigest,\n },\n });\n }\n return Object.freeze({\n alias,\n profile,\n ...(entry.source === undefined ? {} : { source: requiredSource(entry.source, `registry.entries[${index}].source`) }),\n });\n }\n catch (error) {\n if (error instanceof DockerProfileError)\n throw withAlias(error, alias);\n throw error;\n }\n });\n return indexDockerProfiles(entries);\n }\n return indexDockerProfiles(input);\n}\n/** 只按宿主 alias 查找;没有 alias 时不猜 profile ID 或默认 Docker endpoint。 */\n// @concord-code\n// @concord-implements docs/feature/sandbox-docker-profiles/library.md\nexport function resolveDockerProfile(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, alias: string): ResolvedDockerProfileEntry {\n const normalizedAlias = requiredAlias(alias, \"profile alias\");\n const index = indexOf(registry);\n const match = index.entries.find((entry) => entry.alias === normalizedAlias);\n if (match !== undefined)\n return match;\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-alias-not-found\",\n alias: normalizedAlias,\n message: `No Docker execution profile is registered for alias ${JSON.stringify(normalizedAlias)}`,\n });\n}\n/** detached 读面可显式按 alias 或 stable ID 查找;两者同时命中不同 descriptor 时拒绝猜测。 */\n// @concord-code\n// @concord-implements docs/feature/sandbox-docker-profiles/library.md\nexport function resolveDockerProfileSelector(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, selector: string): ResolvedDockerProfileEntry {\n const normalizedSelector = requiredSelector(selector, \"profile selector\");\n const index = indexOf(registry);\n const matches = index.entries.filter((entry) => entry.alias === normalizedSelector || entry.profileId === normalizedSelector);\n const first = matches[0];\n if (first === undefined) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-alias-not-found\",\n alias: normalizedSelector,\n message: `No Docker execution profile matches selector ${JSON.stringify(normalizedSelector)}`,\n });\n }\n if (matches.length > 1) {\n throw dockerProfileError({\n code: \"sandbox.docker-profile-registry-ambiguous-alias\",\n alias: normalizedSelector,\n candidates: matches.map((match) => match.alias),\n message: `Docker profile selector ${JSON.stringify(normalizedSelector)} is ambiguous`,\n });\n }\n return first;\n}\n"]}
|
|
@@ -33,10 +33,7 @@ export type DockerProfileRegistryInput = readonly DockerProfileRegistryEntry[] |
|
|
|
33
33
|
};
|
|
34
34
|
/** 构造只含规范化 descriptor 的 registry index;不读文件、不执行 profile 内容。 */
|
|
35
35
|
export declare function indexDockerProfiles(input: DockerProfileRegistryInput | unknown, options?: DockerProfileRegistryOptions): DockerProfileRegistryIndex;
|
|
36
|
-
export declare const createDockerProfileRegistry: typeof indexDockerProfiles;
|
|
37
|
-
export declare const parseDockerProfileRegistry: typeof indexDockerProfiles;
|
|
38
36
|
/** 只按宿主 alias 查找;没有 alias 时不猜 profile ID 或默认 Docker endpoint。 */
|
|
39
37
|
export declare function resolveDockerProfile(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, alias: string): ResolvedDockerProfileEntry;
|
|
40
38
|
/** detached 读面可显式按 alias 或 stable ID 查找;两者同时命中不同 descriptor 时拒绝猜测。 */
|
|
41
39
|
export declare function resolveDockerProfileSelector(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, selector: string): ResolvedDockerProfileEntry;
|
|
42
|
-
export declare const resolveDockerExecutionProfile: typeof resolveDockerProfile;
|
|
@@ -33,10 +33,7 @@ export type DockerProfileRegistryInput = readonly DockerProfileRegistryEntry[] |
|
|
|
33
33
|
};
|
|
34
34
|
/** 构造只含规范化 descriptor 的 registry index;不读文件、不执行 profile 内容。 */
|
|
35
35
|
export declare function indexDockerProfiles(input: DockerProfileRegistryInput | unknown, options?: DockerProfileRegistryOptions): DockerProfileRegistryIndex;
|
|
36
|
-
export declare const createDockerProfileRegistry: typeof indexDockerProfiles;
|
|
37
|
-
export declare const parseDockerProfileRegistry: typeof indexDockerProfiles;
|
|
38
36
|
/** 只按宿主 alias 查找;没有 alias 时不猜 profile ID 或默认 Docker endpoint。 */
|
|
39
37
|
export declare function resolveDockerProfile(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, alias: string): ResolvedDockerProfileEntry;
|
|
40
38
|
/** detached 读面可显式按 alias 或 stable ID 查找;两者同时命中不同 descriptor 时拒绝猜测。 */
|
|
41
39
|
export declare function resolveDockerProfileSelector(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, selector: string): ResolvedDockerProfileEntry;
|
|
42
|
-
export declare const resolveDockerExecutionProfile: typeof resolveDockerProfile;
|
|
@@ -33,10 +33,7 @@ export type DockerProfileRegistryInput = readonly DockerProfileRegistryEntry[] |
|
|
|
33
33
|
};
|
|
34
34
|
/** 构造只含规范化 descriptor 的 registry index;不读文件、不执行 profile 内容。 */
|
|
35
35
|
export declare function indexDockerProfiles(input: DockerProfileRegistryInput | unknown, options?: DockerProfileRegistryOptions): DockerProfileRegistryIndex;
|
|
36
|
-
export declare const createDockerProfileRegistry: typeof indexDockerProfiles;
|
|
37
|
-
export declare const parseDockerProfileRegistry: typeof indexDockerProfiles;
|
|
38
36
|
/** 只按宿主 alias 查找;没有 alias 时不猜 profile ID 或默认 Docker endpoint。 */
|
|
39
37
|
export declare function resolveDockerProfile(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, alias: string): ResolvedDockerProfileEntry;
|
|
40
38
|
/** detached 读面可显式按 alias 或 stable ID 查找;两者同时命中不同 descriptor 时拒绝猜测。 */
|
|
41
39
|
export declare function resolveDockerProfileSelector(registry: DockerProfileRegistryIndex | DockerProfileRegistryInput | unknown, selector: string): ResolvedDockerProfileEntry;
|
|
42
|
-
export declare const resolveDockerExecutionProfile: typeof resolveDockerProfile;
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
2
|
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
3
|
const __niceevalCanonical = __niceevalRequire("./registry.cjs");
|
|
4
|
-
const __niceevalExport0 = __niceevalCanonical["
|
|
5
|
-
export { __niceevalExport0 as
|
|
6
|
-
const __niceevalExport1 = __niceevalCanonical["
|
|
7
|
-
export { __niceevalExport1 as
|
|
8
|
-
const __niceevalExport2 = __niceevalCanonical["
|
|
9
|
-
export { __niceevalExport2 as
|
|
10
|
-
const __niceevalExport3 = __niceevalCanonical["resolveDockerExecutionProfile"];
|
|
11
|
-
export { __niceevalExport3 as resolveDockerExecutionProfile };
|
|
12
|
-
const __niceevalExport4 = __niceevalCanonical["resolveDockerProfile"];
|
|
13
|
-
export { __niceevalExport4 as resolveDockerProfile };
|
|
14
|
-
const __niceevalExport5 = __niceevalCanonical["resolveDockerProfileSelector"];
|
|
15
|
-
export { __niceevalExport5 as resolveDockerProfileSelector };
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["indexDockerProfiles"];
|
|
5
|
+
export { __niceevalExport0 as indexDockerProfiles };
|
|
6
|
+
const __niceevalExport1 = __niceevalCanonical["resolveDockerProfile"];
|
|
7
|
+
export { __niceevalExport1 as resolveDockerProfile };
|
|
8
|
+
const __niceevalExport2 = __niceevalCanonical["resolveDockerProfileSelector"];
|
|
9
|
+
export { __niceevalExport2 as resolveDockerProfileSelector };
|
|
16
10
|
//# sourceMappingURL=registry.js.map
|
|
@@ -233,7 +233,7 @@ async function loadDockerProfileRegistryAt(registryDir) {
|
|
|
233
233
|
async function loadDockerProfileRegistry() {
|
|
234
234
|
return loadDockerProfileRegistryAt(exports.DOCKER_PROFILE_REGISTRY_DIR);
|
|
235
235
|
}
|
|
236
|
-
// @concord-code
|
|
236
|
+
// @concord-code
|
|
237
237
|
// @concord-implements docs/feature/sandbox-docker-profiles/architecture.md
|
|
238
238
|
// @concord-implements docs/feature/sandbox-docker-profiles/lifecycle.md
|
|
239
239
|
function dockerProfileControlRequest(path, request, signal, timeoutMs = 10000) {
|