niceeval 0.16.2 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/bootstrap.cjs +7 -1
- package/dist/cli/bootstrap.cjs.map +1 -1
- package/dist/cli/project-configuration.cjs +8 -11
- package/dist/cli/project-configuration.cjs.map +1 -1
- package/dist/expect/index.cjs.map +1 -1
- package/dist/expect/index.d.cts +1 -0
- package/dist/expect/index.d.mts +1 -0
- package/dist/expect/index.d.ts +1 -0
- package/dist/experiment/host/cli/contribution.cjs +6 -11
- package/dist/experiment/host/cli/contribution.cjs.map +1 -1
- package/dist/experiment/host/cli/contribution.d.cts +0 -16
- package/dist/experiment/host/cli/contribution.d.mts +0 -16
- package/dist/experiment/host/cli/contribution.d.ts +0 -16
- package/dist/experiment/host/operations.cjs +3 -3
- package/dist/experiment/host/operations.cjs.map +1 -1
- package/dist/experiment/host/types.cjs.map +1 -1
- package/dist/experiment/host/types.d.cts +0 -4
- package/dist/experiment/host/types.d.mts +0 -4
- package/dist/experiment/host/types.d.ts +0 -4
- package/dist/fresh-import.cjs +2 -2
- package/dist/fresh-import.cjs.map +1 -1
- package/dist/fresh-import.d.cts +3 -3
- package/dist/fresh-import.d.mts +3 -3
- package/dist/fresh-import.d.ts +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/inspection/codec.cjs.map +1 -1
- package/dist/inspection/codec.d.cts +1 -1
- package/dist/inspection/codec.d.mts +1 -1
- package/dist/inspection/codec.d.ts +1 -1
- package/dist/inspection/facts.cjs +66 -9
- package/dist/inspection/facts.cjs.map +1 -1
- package/dist/inspection/facts.d.cts +4 -0
- package/dist/inspection/facts.d.mts +4 -0
- package/dist/inspection/facts.d.ts +4 -0
- package/dist/inspection/facts.js +4 -2
- package/dist/inspection/index.cjs +1 -3
- package/dist/inspection/index.cjs.map +1 -1
- package/dist/inspection/index.d.cts +1 -1
- package/dist/inspection/index.d.mts +1 -1
- package/dist/inspection/index.d.ts +1 -1
- package/dist/inspection/index.js +44 -48
- package/dist/inspection/limits.cjs +3 -1
- package/dist/inspection/limits.cjs.map +1 -1
- package/dist/inspection/limits.d.cts +2 -0
- package/dist/inspection/limits.d.mts +2 -0
- package/dist/inspection/limits.d.ts +2 -0
- package/dist/inspection/limits.js +6 -4
- package/dist/inspection/project-source.cjs +4 -1
- package/dist/inspection/project-source.cjs.map +1 -1
- package/dist/inspection/protocol.cjs +10 -18
- package/dist/inspection/protocol.cjs.map +1 -1
- package/dist/inspection/protocol.d.cts +111 -173
- package/dist/inspection/protocol.d.mts +111 -173
- package/dist/inspection/protocol.d.ts +111 -173
- package/dist/inspection/public.mjs +73 -109
- package/dist/inspection/results.cjs +12 -48
- package/dist/inspection/results.cjs.map +1 -1
- package/dist/inspection/results.d.cts +124 -122
- package/dist/inspection/results.d.mts +124 -122
- package/dist/inspection/results.d.ts +124 -122
- package/dist/inspection/results.js +16 -20
- package/dist/inspection/select.cjs +80 -117
- package/dist/inspection/select.cjs.map +1 -1
- package/dist/inspection/source.cjs +14 -15
- package/dist/inspection/source.cjs.map +1 -1
- package/dist/inspection/source.d.cts +6 -3
- package/dist/inspection/source.d.mts +6 -3
- package/dist/inspection/source.d.ts +6 -3
- package/dist/inspection/trace.cjs +1 -1
- package/dist/inspection/trace.cjs.map +1 -1
- package/dist/load-config.cjs +17 -11
- package/dist/load-config.cjs.map +1 -1
- package/dist/load-config.d.cts +3 -2
- package/dist/load-config.d.mts +3 -2
- package/dist/load-config.d.ts +3 -2
- package/dist/o11y/adapter-usage-projection.cjs +5 -1
- package/dist/o11y/adapter-usage-projection.cjs.map +1 -1
- package/dist/o11y/adapter-usage-projection.d.cts +109 -1
- package/dist/o11y/adapter-usage-projection.d.mts +109 -1
- package/dist/o11y/adapter-usage-projection.d.ts +109 -1
- package/dist/o11y/cache-read.cjs +113 -0
- package/dist/o11y/cache-read.cjs.map +1 -0
- package/dist/o11y/cache-read.d.cts +80 -0
- package/dist/o11y/cache-read.d.mts +80 -0
- package/dist/o11y/cache-read.d.ts +80 -0
- package/dist/o11y/cache-read.js +8 -0
- package/dist/o11y/cache-read.js.map +1 -0
- package/dist/o11y/eval-usage.cjs +4 -1
- package/dist/o11y/eval-usage.cjs.map +1 -1
- package/dist/o11y/eval-usage.d.cts +4 -1
- package/dist/o11y/eval-usage.d.mts +4 -1
- package/dist/o11y/eval-usage.d.ts +4 -1
- package/dist/record/host/sqlite-host.cjs +188 -53
- package/dist/record/host/sqlite-host.cjs.map +1 -1
- package/dist/record/host/sqlite-host.d.cts +37 -1
- package/dist/record/host/sqlite-host.d.mts +37 -1
- package/dist/record/host/sqlite-host.d.ts +37 -1
- package/dist/record/host/sqlite-host.js +16 -8
- package/dist/record/maintenance/runtime.cjs +3 -3
- package/dist/record/maintenance/runtime.cjs.map +1 -1
- package/dist/record/sqlite/admission-repository.cjs +18 -18
- package/dist/record/sqlite/admission-repository.cjs.map +1 -1
- package/dist/record/sqlite/case-repository.cjs +6 -6
- package/dist/record/sqlite/case-repository.cjs.map +1 -1
- package/dist/record/sqlite/coordination-repository.cjs +25 -25
- package/dist/record/sqlite/coordination-repository.cjs.map +1 -1
- package/dist/record/sqlite/current-schema.cjs +115 -111
- package/dist/record/sqlite/current-schema.cjs.map +1 -1
- package/dist/record/sqlite/current-schema.d.cts +3 -3
- package/dist/record/sqlite/current-schema.d.mts +3 -3
- package/dist/record/sqlite/current-schema.d.ts +3 -3
- package/dist/record/sqlite/database.cjs +56 -53
- package/dist/record/sqlite/database.cjs.map +1 -1
- package/dist/record/sqlite/index.cjs +3 -1
- package/dist/record/sqlite/index.cjs.map +1 -1
- package/dist/record/sqlite/index.d.cts +5 -2
- package/dist/record/sqlite/index.d.mts +5 -2
- package/dist/record/sqlite/index.d.ts +5 -2
- package/dist/record/sqlite/legacy-schema-018.cjs +443 -0
- package/dist/record/sqlite/legacy-schema-018.cjs.map +1 -0
- package/dist/record/sqlite/legacy-schema-018.d.cts +6 -0
- package/dist/record/sqlite/legacy-schema-018.d.mts +6 -0
- package/dist/record/sqlite/legacy-schema-018.d.ts +6 -0
- package/dist/record/sqlite/legacy-schema-018.js +6 -0
- package/dist/record/sqlite/legacy-schema-018.js.map +1 -0
- package/dist/record/sqlite/migration.cjs +105 -46
- package/dist/record/sqlite/migration.cjs.map +1 -1
- package/dist/record/sqlite/migration.d.cts +2 -1
- package/dist/record/sqlite/migration.d.mts +2 -1
- package/dist/record/sqlite/migration.d.ts +2 -1
- package/dist/record/sqlite/portable-capture.cjs +13 -13
- package/dist/record/sqlite/portable-capture.cjs.map +1 -1
- package/dist/record/sqlite/registry-repository.cjs +22 -22
- package/dist/record/sqlite/registry-repository.cjs.map +1 -1
- package/dist/record/sqlite/schema.cjs +10 -2
- package/dist/record/sqlite/schema.cjs.map +1 -1
- package/dist/record/sqlite/schema.d.cts +4 -1
- package/dist/record/sqlite/schema.d.mts +4 -1
- package/dist/record/sqlite/schema.d.ts +4 -1
- package/dist/record/sqlite/schema.js +20 -14
- package/dist/record/sqlite/storage-worker.cjs +1 -1
- package/dist/record/sqlite/storage-worker.cjs.map +1 -1
- package/dist/record/sqlite/storage.cjs +316 -232
- package/dist/record/sqlite/storage.cjs.map +1 -1
- package/dist/record/sqlite/storage.d.cts +10 -2
- package/dist/record/sqlite/storage.d.mts +10 -2
- package/dist/record/sqlite/storage.d.ts +10 -2
- package/dist/record/sqlite/storage.js +54 -50
- package/dist/record/sqlite/types.cjs +1 -1
- package/dist/record/sqlite/types.cjs.map +1 -1
- package/dist/record/sqlite/types.d.cts +13 -1
- package/dist/record/sqlite/types.d.mts +13 -1
- package/dist/record/sqlite/types.d.ts +13 -1
- package/dist/run/cli/contribution.cjs +17 -12
- package/dist/run/cli/contribution.cjs.map +1 -1
- package/dist/run/host/lifecycle-adapter.cjs +1 -1
- package/dist/run/host/lifecycle-adapter.cjs.map +1 -1
- package/dist/run/storage/owner-identity.cjs +78 -16
- package/dist/run/storage/owner-identity.cjs.map +1 -1
- package/dist/run/storage/owner-identity.d.cts +2 -1
- package/dist/run/storage/owner-identity.d.mts +2 -1
- package/dist/run/storage/owner-identity.d.ts +2 -1
- package/dist/run/storage/sqlite.cjs +55 -55
- package/dist/run/storage/sqlite.cjs.map +1 -1
- package/dist/runner/accept.cjs +12 -42
- package/dist/runner/accept.cjs.map +1 -1
- package/dist/runner/accept.d.cts +2 -3
- package/dist/runner/accept.d.mts +2 -3
- package/dist/runner/accept.d.ts +2 -3
- package/dist/runner/adapter-usage.cjs +2 -2
- package/dist/runner/adapter-usage.cjs.map +1 -1
- package/dist/runner/adoption.cjs +14 -26
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/adoption.d.cts +5 -13
- package/dist/runner/adoption.d.mts +5 -13
- package/dist/runner/adoption.d.ts +5 -13
- package/dist/runner/adoption.js +2 -4
- package/dist/runner/record.cjs +24 -18
- package/dist/runner/record.cjs.map +1 -1
- package/dist/runner/rename-experiment.cjs +5 -7
- package/dist/runner/rename-experiment.cjs.map +1 -1
- package/dist/runner/reuse-plan.cjs +37 -18
- package/dist/runner/reuse-plan.cjs.map +1 -1
- package/dist/runner/reuse-plan.d.cts +4 -1
- package/dist/runner/reuse-plan.d.mts +4 -1
- package/dist/runner/reuse-plan.d.ts +4 -1
- package/dist/runner/setup-prefix-plan.cjs +17 -12
- package/dist/runner/setup-prefix-plan.cjs.map +1 -1
- package/dist/runner/setup-prefix-plan.d.cts +0 -2
- package/dist/runner/setup-prefix-plan.d.mts +0 -2
- package/dist/runner/setup-prefix-plan.d.ts +0 -2
- package/dist/runner/setup-prefix-plan.js +8 -12
- package/dist/sandbox/backend.cjs +10 -1
- package/dist/sandbox/backend.cjs.map +1 -1
- package/dist/sandbox/backend.d.cts +16 -8
- package/dist/sandbox/backend.d.mts +16 -8
- package/dist/sandbox/backend.d.ts +16 -8
- package/dist/sandbox/backend.js +28 -26
- package/dist/sandbox/docker.cjs +7 -1
- package/dist/sandbox/docker.cjs.map +1 -1
- package/dist/sandbox/e2b-cache-repository.cjs +13 -3
- package/dist/sandbox/e2b-cache-repository.cjs.map +1 -1
- package/dist/sandbox/e2b-cache-repository.d.cts +3 -0
- package/dist/sandbox/e2b-cache-repository.d.mts +3 -0
- package/dist/sandbox/e2b-cache-repository.d.ts +3 -0
- package/dist/sandbox/e2b-cache-repository.js +16 -12
- package/dist/sandbox/e2b.cjs +2 -2
- package/dist/sandbox/e2b.cjs.map +1 -1
- package/dist/sandbox/incus/materialize.cjs +1 -1
- package/dist/sandbox/incus/materialize.cjs.map +1 -1
- package/dist/show/contribution.cjs +3 -3
- package/dist/show/contribution.cjs.map +1 -1
- package/dist/show/model.cjs +14 -13
- package/dist/show/model.cjs.map +1 -1
- package/dist/show/model.d.cts +7 -7
- package/dist/show/model.d.mts +7 -7
- package/dist/show/model.d.ts +7 -7
- package/dist/show/render.cjs +14 -0
- package/dist/show/render.cjs.map +1 -1
- package/dist/user-database/storage-worker.cjs +13 -3
- package/dist/user-database/storage-worker.cjs.map +1 -1
- package/dist/view/app-dist/.vite/manifest.json +2 -2
- package/dist/view/app-dist/assets/{index-CmVoXbwG.js → index-B3ijZRph.js} +17 -17
- package/dist/view/app-dist/assets/{quality-cost-scatter-BuLISaH4.js → quality-cost-scatter-B--DfJ9s.js} +1 -1
- package/dist/view/app-dist/index.html +1 -1
- package/dist/view/application-runtime.cjs +8 -0
- package/dist/view/application-runtime.cjs.map +1 -0
- package/dist/view/application-runtime.d.cts +9 -0
- package/dist/view/application-runtime.d.mts +9 -0
- package/dist/view/application-runtime.d.ts +9 -0
- package/dist/view/application-runtime.js +6 -0
- package/dist/view/application-runtime.js.map +1 -0
- package/dist/view/cli/contribution.cjs +5 -2
- package/dist/view/cli/contribution.cjs.map +1 -1
- package/dist/view/cli/contribution.d.cts +2 -1
- package/dist/view/cli/contribution.d.mts +2 -1
- package/dist/view/cli/contribution.d.ts +2 -1
- package/dist/view/function-runtime.mjs +1019 -456
- package/dist/view/http-protocol.d.cts +1 -9
- package/dist/view/http-protocol.d.mts +1 -9
- package/dist/view/http-protocol.d.ts +1 -9
- package/dist/view/inspection-host.cjs +39 -30
- package/dist/view/inspection-host.cjs.map +1 -1
- package/dist/view/inspection-host.d.cts +7545 -2
- package/dist/view/inspection-host.d.mts +7545 -2
- package/dist/view/inspection-host.d.ts +7545 -2
- package/dist/view/server.cjs +8 -5
- package/dist/view/server.cjs.map +1 -1
- package/dist/view/server.d.cts +4 -2
- package/dist/view/server.d.mts +4 -2
- package/dist/view/server.d.ts +4 -2
- package/docs-site/zh/reference/cli.mdx +1 -2
- package/docs-site/zh/tutorials/control-run-cost.mdx +22 -0
- package/docs-site/zh/tutorials/niceeval-taste-application.mdx +21 -0
- package/package.json +1 -1
|
@@ -223,11 +223,11 @@ function runShow(argv) {
|
|
|
223
223
|
if (runIds.length > 0) {
|
|
224
224
|
const rendered = [];
|
|
225
225
|
for (const runId of runIds) {
|
|
226
|
-
const document = yield* select("run.
|
|
227
|
-
kind: "run.
|
|
226
|
+
const document = yield* select("run.get", () => (0, index_ts_1.selectInspectionOperation)(opened, {
|
|
227
|
+
kind: "run.get",
|
|
228
228
|
runId,
|
|
229
229
|
}));
|
|
230
|
-
rendered.push((0, render_ts_1.renderRun)(yield* project("run.
|
|
230
|
+
rendered.push((0, render_ts_1.renderRun)(yield* project("run.get", () => (0, model_ts_1.projectRun)(document))));
|
|
231
231
|
}
|
|
232
232
|
yield* write("stdout", rendered.join(""));
|
|
233
233
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contribution.js","sourceRoot":"","sources":["contribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, Result, Schema } from \"effect\";\nimport { CliArguments, CliInvocationFacts, CliOutput, type CliOptionDefinition, } from \"../cli/application.ts\";\nimport { CliFeatureError, type CliCommandContribution, } from \"../cli/contribution.ts\";\nimport { InspectionIntegrityError, InspectionOperationError, externalInspectionSource, openInspectionSource, operationalInspectionSource, selectInspectionOperation, type InspectionFactSource, type InspectionOperationFor, type InspectionSuccessDocumentFor, } from \"../inspection/index.ts\";\nimport { ExperimentIdSchema, RunIdSchema, } from \"../record/codec/identifiers.ts\";\nimport { parseAttemptLocator } from \"../attempt-locator.ts\";\nimport { ProjectConfiguration } from \"../cli/project-configuration.ts\";\nimport { CurrentTargetUnavailable } from \"../experiment/host/current.ts\";\nimport { openCurrentProjectSource } from \"../inspection/project-source.ts\";\nimport { renderAttempt, renderDiff, renderExperiment, renderOverview, renderRun, renderSources, renderTiming, renderTrace, renderTraceDetail, renderUsage, } from \"./render.ts\";\nimport { projectAttempt, projectDiff, projectExperiment, projectOverview, projectRun, projectSources, projectTiming, projectTrace, projectTraceDetail, projectUsage, } from \"./model.ts\";\nconst help = (summary: string) => Object.freeze({ summary, visibility: \"public\" as const });\nconst option = (value: CliOptionDefinition): CliOptionDefinition => Object.freeze(value);\nexport const SHOW_CLI_OPTIONS = Object.freeze({\n record: option({\n type: \"string\",\n help: help(\"Read an external canonical SQLite Record.\"),\n }),\n run: option({\n type: \"string\",\n multiple: true,\n help: help(\"Show one sealed Run; repeat to show more.\"),\n }),\n experiment: option({\n type: \"string\",\n multiple: true,\n help: help(\"Show one Experiment; repeat to show more.\"),\n }),\n all: option({\n type: \"boolean\",\n help: help(\"Show Attempts hidden by the compact Results view.\"),\n }),\n source: option({\n type: \"boolean\",\n help: help(\"Show captured source facts for one Attempt locator.\"),\n }),\n execution: option({\n type: \"boolean\",\n help: help(\"Show the execution outline for one Attempt locator.\"),\n }),\n actor: option({ type: \"string\", help: help(\"Filter execution events by exact actor ID.\") }),\n type: option({ type: \"string\", help: help(\"Filter execution events by exact event type.\") }),\n continuation: option({ type: \"string\", help: help(\"Read the next execution page with the same filters.\") }),\n timing: option({\n type: \"boolean\",\n help: help(\"Show captured timing for one Attempt locator.\"),\n }),\n usage: option({\n type: \"boolean\",\n help: help(\"Show captured usage for one Attempt locator.\"),\n }),\n diff: option({\n type: \"boolean\",\n help: help(\"Show captured file changes for one Attempt locator.\"),\n }),\n expand: option({\n type: \"string\",\n help: help(\"Expand one stable execution identity.\"),\n }),\n help: option({ type: \"boolean\", short: \"h\", help: help(\"Print show help.\") }),\n} satisfies Readonly<Record<string, CliOptionDefinition>>);\nconst SHOW_HELP = `niceeval show — inspect results in the terminal\n\nUsage:\n niceeval show [--all] [--record <file>]\n niceeval show --run <run-id>... [--record <file>]\n niceeval show --experiment <experiment-id>... [--record <file>]\n niceeval show @<locator> [--record <file>]\n niceeval show @<locator> --source\n niceeval show @<locator> --execution [--expand <stable-id>]\n niceeval show @<locator> --execution [--actor <id>] [--type <event-type>] [--continuation <token>]\n niceeval show @<locator> --timing\n niceeval show @<locator> --usage\n niceeval show @<locator> --diff\n\nSelectors:\n --record <file> Read an external canonical SQLite Record.\n --run <run-id> Show one exact sealed Run; repeatable.\n --experiment <experiment-id> Show one exact Experiment; repeatable.\n --all Show Attempts hidden by compact Results.\n\nAttempt details:\n --source Show captured sources and Assertion sites.\n --execution Show the bounded execution outline.\n --actor <id> Filter execution events by exact actor ID.\n --type <event-type> Filter execution events by exact type.\n --continuation <token> Read the next page using the same filters.\n --expand <stable-id> Expand an execution event/evidence ID, itemId,\n toolOccurrenceId, or commandId.\n --timing Show captured timing activities.\n --usage Show captured usage totals and observations.\n --diff Show captured file-change windows.\n\n --help, -h Print show help.\n`;\ntype Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;\ntype Error = CliFeatureError;\nconst failure = (operation: string, cause: unknown) => {\n const detail = cause instanceof CurrentTargetUnavailable || cause instanceof InspectionOperationError && cause.code === \"current-target-unavailable\"\n ? `current-target-unavailable: ${cause.reason}\\nRead fixed history: niceeval show --run <run-id>`\n : cause instanceof InspectionIntegrityError\n ? `Record integrity failure for sealed Run ${cause.runId}.`\n : cause instanceof InspectionOperationError &&\n cause.code === \"inspection-record-integrity-failure\"\n ? `Record integrity failure${cause.identity === undefined ? \"\" : ` for sealed Run ${cause.identity.runId}`}.`\n : cause instanceof InspectionOperationError\n ? cause.code === \"inspection-selection-missing\" ||\n cause.code === \"inspection-result-invalid\"\n ? cause.reason\n : \"The Inspection operation could not be completed.\"\n : undefined;\n return new CliFeatureError({\n feature: \"show\",\n operation,\n cause,\n exitCode: 1,\n ...(detail === undefined\n ? {}\n : { display: `show ${operation} failed: ${detail}\\n` }),\n });\n};\nconst write = (channel: \"stdout\" | \"stderr\", value: string) => Effect.flatMap(CliOutput, (output) => channel === \"stdout\"\n ? output.writeStdout(value)\n : output.writeStderr(value)).pipe(Effect.mapError((cause) => failure(`write ${channel}`, cause)));\nconst usage = (message: string) => write(\"stderr\", `${message}\\n`).pipe(Effect.as(1));\nfunction runShow(argv: readonly string[]): Effect.Effect<number, Error, Requirements> {\n return Effect.gen(function* () {\n const parser = yield* CliArguments;\n const parsedResult = yield* Effect.try({\n try: () => parser.parse(argv, SHOW_CLI_OPTIONS),\n catch: (cause) => failure(\"parse arguments\", cause),\n }).pipe(Effect.result);\n if (Result.isFailure(parsedResult))\n return yield* usage(reason(parsedResult.failure.cause));\n const parsed = parsedResult.success;\n if (parsed.values.help === true) {\n yield* write(\"stdout\", SHOW_HELP);\n return 0;\n }\n const locator = parsed.positionals[0];\n if (parsed.positionals.length > 1)\n return yield* usage(\"niceeval show accepts at most one Attempt locator.\");\n const decodedLocator = locator === undefined\n ? undefined\n : parseAttemptLocator(locator);\n if (decodedLocator !== undefined && !decodedLocator.valid)\n return yield* usage(`Invalid Attempt locator ${JSON.stringify(locator)}; expected canonical @<locator>.`);\n const runIds = parseRunIds(parsed.values.run);\n if (typeof runIds === \"string\")\n return yield* usage(runIds);\n const experimentIds = parseExperimentIds(parsed.values.experiment);\n if (typeof experimentIds === \"string\")\n return yield* usage(experimentIds);\n const source = parsed.values.source === true;\n const execution = parsed.values.execution === true;\n const timing = parsed.values.timing === true;\n const showUsage = parsed.values.usage === true;\n const diff = parsed.values.diff === true;\n const all = parsed.values.all === true;\n const detailModes = [source, execution, timing, showUsage, diff].filter(Boolean).length;\n const expand = typeof parsed.values.expand === \"string\"\n ? parsed.values.expand\n : undefined;\n const actorId = typeof parsed.values.actor === \"string\" ? parsed.values.actor : undefined;\n const eventType = typeof parsed.values.type === \"string\" ? parsed.values.type : undefined;\n const continuation = typeof parsed.values.continuation === \"string\" ? parsed.values.continuation : undefined;\n const listOptions = [actorId === undefined ? undefined : \"--actor\", eventType === undefined ? undefined : \"--type\", continuation === undefined ? undefined : \"--continuation\"]\n .filter((value) => value !== undefined);\n if (listOptions.length > 0 && !execution)\n return yield* usage(`${listOptions.join(\", \")} require --execution.`);\n if (listOptions.length > 0 && expand !== undefined)\n return yield* usage(`--expand cannot be combined with ${listOptions.join(\", \")}.`);\n if (detailModes > 1)\n return yield* usage(\"--source, --execution, --timing, --usage, and --diff are mutually exclusive.\");\n if (detailModes > 0 && locator === undefined)\n return yield* usage(\"--source, --execution, --timing, --usage, and --diff require one Attempt locator.\");\n if (expand !== undefined && !execution)\n return yield* usage(\"--expand requires --execution.\");\n if (expand !== undefined && /^(?:t\\d+\\.c\\d+|cmd\\d+)$/u.test(expand))\n return yield* usage(\"Legacy positional execution handles are not accepted; use a stable itemId, toolOccurrenceId, or commandId from the outline.\");\n if (locator !== undefined && (runIds.length > 0 || experimentIds.length > 0))\n return yield* usage(\"An Attempt locator, --run, and --experiment are mutually exclusive.\");\n if (runIds.length > 0 && experimentIds.length > 0)\n return yield* usage(\"--run and --experiment are mutually exclusive.\");\n if (all &&\n (locator !== undefined || runIds.length > 0 || experimentIds.length > 0))\n return yield* usage(\"--all applies only to Results, not --experiment, --run, or an Attempt locator.\");\n const facts = yield* Effect.flatMap(CliInvocationFacts, ({ facts }) => facts).pipe(Effect.mapError((cause) => failure(\"read invocation facts\", cause)));\n const inspectionSource = typeof parsed.values.record === \"string\"\n ? externalInspectionSource(facts.cwd, parsed.values.record)\n : operationalInspectionSource(facts.cwd);\n return yield* Effect.scoped(Effect.gen(function* () {\n const current = decodedLocator === undefined && runIds.length === 0 && experimentIds.length === 0 && typeof parsed.values.record !== \"string\";\n const prepare = current ? Effect.gen(function* () {\n const project = yield* ProjectConfiguration;\n const config = yield* project.load(facts.cwd).pipe(Effect.mapError((cause) => new CurrentTargetUnavailable({ code: \"current-target-unavailable\", reason: String(cause), cause })));\n return yield* openCurrentProjectSource({ cwd: facts.cwd, config });\n }) : openInspectionSource(inspectionSource);\n const opened = yield* prepare.pipe(Effect.mapError((cause) => failure(\"open Record source\", cause)));\n const select = <A>(operation: string, evaluate: () => A): Effect.Effect<A, Error> => Effect.try({\n try: evaluate,\n catch: (cause) => failure(`execute ${operation}`, cause),\n });\n const project = <A>(operation: string, evaluate: () => A): Effect.Effect<A, Error> => Effect.try({\n try: evaluate,\n catch: (cause) => failure(`project ${operation} result`, cause),\n });\n if (decodedLocator === undefined &&\n runIds.length === 0 &&\n experimentIds.length === 0) {\n if (current) {\n const document = yield* select(\"project.get\", () => selectInspectionOperation(opened, { kind: \"project.get\" }));\n // The presentation model only extracts already-closed aggregate fields.\n const view = yield* project(\"project.get\", () => projectOverview({ ...document, operation: \"overview.get\", overview: document.project }));\n yield* write(\"stdout\", renderOverview(view, { all, current: document.project }));\n return 0;\n }\n const document = yield* select(\"overview.get\", () => selectInspectionOperation(opened, { kind: \"overview.get\" }));\n yield* write(\"stdout\", renderOverview(yield* project(\"overview.get\", () => projectOverview(document)), { all, recorded: true }));\n return 0;\n }\n if (runIds.length > 0) {\n const rendered: string[] = [];\n for (const runId of runIds) {\n const document = yield* select(\"run.overview\", () => selectInspectionOperation(opened, {\n kind: \"run.overview\",\n runId,\n }));\n rendered.push(renderRun(yield* project(\"run.overview\", () => projectRun(document))));\n }\n yield* write(\"stdout\", rendered.join(\"\"));\n return 0;\n }\n if (experimentIds.length > 0) {\n const rendered: string[] = [];\n for (const experimentId of experimentIds) {\n const document = yield* select(\"experiment.get\", () => selectInspectionOperation(opened, {\n kind: \"experiment.get\",\n experimentId,\n }));\n rendered.push(renderExperiment(yield* project(\"experiment.get\", () => projectExperiment(document))));\n }\n yield* write(\"stdout\", rendered.join(\"\"));\n return 0;\n }\n const selectedLocator = decodedLocator!.locator;\n if (source) {\n const document = yield* select(\"attempt.sources\", () => selectInspectionOperation(opened, {\n kind: \"attempt.sources\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderSources(yield* project(\"attempt.sources\", () => projectSources(document, selectedLocator))));\n return 0;\n }\n if (execution) {\n if (expand !== undefined) {\n const detail = yield* select(\"attempt.trace.detail\", () => selectTraceDetailByStableId(opened, selectedLocator, expand));\n yield* write(\"stdout\", renderTraceDetail(yield* project(\"attempt.trace.detail\", () => projectTraceDetail(detail, selectedLocator))));\n return 0;\n }\n const outline = yield* select(\"attempt.trace\", () => selectInspectionOperation(opened, {\n kind: \"attempt.trace\",\n locator: selectedLocator,\n ...(actorId === undefined ? {} : { actorId }),\n ...(eventType === undefined ? {} : { eventType }),\n ...(continuation === undefined ? {} : { continuation }),\n }));\n const trace = yield* project(\"attempt.trace\", () => projectTrace(outline, selectedLocator));\n yield* write(\"stdout\", renderTrace(trace));\n return 0;\n }\n if (timing) {\n const document = yield* select(\"attempt.timing\", () => selectInspectionOperation(opened, {\n kind: \"attempt.timing\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderTiming(yield* project(\"attempt.timing\", () => projectTiming(document, selectedLocator))));\n return 0;\n }\n if (showUsage) {\n const document = yield* select(\"attempt.usage\", () => selectInspectionOperation(opened, {\n kind: \"attempt.usage\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderUsage(yield* project(\"attempt.usage\", () => projectUsage(document, selectedLocator))));\n return 0;\n }\n if (diff) {\n const document = yield* select(\"attempt.diff\", () => selectInspectionOperation(opened, {\n kind: \"attempt.diff\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderDiff(yield* project(\"attempt.diff\", () => projectDiff(document, selectedLocator))));\n return 0;\n }\n const document = yield* select(\"attempt.get\", () => selectInspectionOperation(opened, {\n kind: \"attempt.get\",\n locator: selectedLocator,\n }));\n const usage = yield* select(\"attempt.usage\", () => selectInspectionOperation(opened, { kind: \"attempt.usage\", locator: selectedLocator }));\n yield* write(\"stdout\", renderAttempt(yield* project(\"attempt.get\", () => projectAttempt(document, usage))));\n return 0;\n }));\n });\n}\nfunction selectTraceDetailByStableId(source: InspectionFactSource, locator: string, stableId: string): InspectionSuccessDocumentFor<\"attempt.trace.detail\"> {\n type DetailSelector = InspectionOperationFor<\"attempt.trace.detail\">[\"selector\"];\n const selectors = Object.freeze([\n { kind: \"execution-event\", eventId: stableId },\n { kind: \"execution-evidence\", evidenceId: stableId },\n { kind: \"item\", itemId: stableId },\n { kind: \"tool-occurrence\", toolOccurrenceId: stableId },\n { kind: \"command\", commandId: stableId },\n ]) as unknown as readonly DetailSelector[];\n for (const selector of selectors) {\n try {\n return selectInspectionOperation(source, {\n kind: \"attempt.trace.detail\",\n locator,\n selector,\n });\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError && cause.code === \"inspection-selection-missing\")\n continue;\n throw cause;\n }\n }\n throw new InspectionOperationError({\n code: \"inspection-selection-missing\",\n operation: \"attempt.trace.detail\",\n reason: `Stable execution identity ${JSON.stringify(stableId)} was not found.`,\n });\n}\nfunction parseRunIds(value: string | boolean | string[] | undefined): readonly Schema.Schema.Type<typeof RunIdSchema>[] | string {\n const values = typeof value === \"string\" ? [value] : Array.isArray(value) ? value : [];\n const output: Schema.Schema.Type<typeof RunIdSchema>[] = [];\n for (const candidate of values) {\n const decoded = Schema.decodeUnknownResult(RunIdSchema)(candidate);\n if (Result.isFailure(decoded))\n return `Invalid --run value ${JSON.stringify(candidate)}.`;\n if (!output.includes(decoded.success))\n output.push(decoded.success);\n }\n return Object.freeze(output.sort(compareIdentity));\n}\nfunction parseExperimentIds(value: string | boolean | string[] | undefined): readonly Schema.Schema.Type<typeof ExperimentIdSchema>[] | string {\n const values = typeof value === \"string\" ? [value] : Array.isArray(value) ? value : [];\n const output: Schema.Schema.Type<typeof ExperimentIdSchema>[] = [];\n for (const candidate of values) {\n const decoded = Schema.decodeUnknownResult(ExperimentIdSchema)(candidate);\n if (Result.isFailure(decoded))\n return `Invalid --experiment value ${JSON.stringify(candidate)}.`;\n if (!output.includes(decoded.success))\n output.push(decoded.success);\n }\n return Object.freeze(output.sort(compareIdentity));\n}\nfunction compareIdentity(left: string, right: string): number {\n return left < right ? -1 : left > right ? 1 : 0;\n}\nfunction reason(value: unknown): string {\n return value instanceof Error ? value.message : String(value);\n}\nexport const showCliCommand: CliCommandContribution<Requirements, Error> = Object.freeze({\n name: \"show\",\n summary: \"inspect results in the terminal\",\n options: SHOW_CLI_OPTIONS,\n run: runShow,\n});\n"]}
|
|
1
|
+
{"version":3,"file":"contribution.js","sourceRoot":"","sources":["contribution.ts"],"names":[],"mappings":";;;AAAA,mCAAgD;AAChD,0DAA+G;AAC/G,4DAAuF;AACvF,qDAAgS;AAChS,mEAAkF;AAClF,8DAA4D;AAC5D,8EAAuE;AACvE,8DAAyE;AACzE,uEAA2E;AAC3E,2CAAgL;AAChL,yCAAyL;AACzL,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAiB,EAAE,CAAC,CAAC;AAC5F,MAAM,MAAM,GAAG,CAAC,KAA0B,EAAuB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5E,QAAA,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,IAAI,CAAC,2CAA2C,CAAC;KAC1D,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI,CAAC,2CAA2C,CAAC;KAC1D,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI,CAAC,2CAA2C,CAAC;KAC1D,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;QACR,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,CAAC,mDAAmD,CAAC;KAClE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,CAAC,qDAAqD,CAAC;KACpE,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,CAAC,qDAAqD,CAAC;KACpE,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,4CAA4C,CAAC,EAAE,CAAC;IAC3F,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,8CAA8C,CAAC,EAAE,CAAC;IAC5F,YAAY,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,qDAAqD,CAAC,EAAE,CAAC;IAC3G,MAAM,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,CAAC,+CAA+C,CAAC;KAC9D,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;QACV,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,CAAC,8CAA8C,CAAC;KAC7D,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;QACT,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,CAAC,qDAAqD,CAAC;KACpE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,IAAI,CAAC,uCAAuC,CAAC;KACtD,CAAC;IACF,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;CACxB,CAAC,CAAC;AAC3D,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCjB,CAAC;AAGF,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,KAAc,EAAE,EAAE;IAClD,MAAM,MAAM,GAAG,KAAK,YAAY,qCAAwB,IAAI,KAAK,YAAY,mCAAwB,IAAI,KAAK,CAAC,IAAI,KAAK,4BAA4B;QAChJ,CAAC,CAAC,+BAA+B,KAAK,CAAC,MAAM,oDAAoD;QACjG,CAAC,CAAC,KAAK,YAAY,mCAAwB;YACvC,CAAC,CAAC,2CAA2C,KAAK,CAAC,KAAK,GAAG;YAC3D,CAAC,CAAC,KAAK,YAAY,mCAAwB;gBACvC,KAAK,CAAC,IAAI,KAAK,qCAAqC;gBACpD,CAAC,CAAC,2BAA2B,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG;gBAC7G,CAAC,CAAC,KAAK,YAAY,mCAAwB;oBACvC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,8BAA8B;wBAC3C,KAAK,CAAC,IAAI,KAAK,2BAA2B;wBAC1C,CAAC,CAAC,KAAK,CAAC,MAAM;wBACd,CAAC,CAAC,kDAAkD;oBACxD,CAAC,CAAC,SAAS,CAAC;IAC5B,OAAO,IAAI,iCAAe,CAAC;QACvB,OAAO,EAAE,MAAM;QACf,SAAS;QACT,KAAK;QACL,QAAQ,EAAE,CAAC;QACX,GAAG,CAAC,MAAM,KAAK,SAAS;YACpB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,SAAS,YAAY,MAAM,IAAI,EAAE,CAAC;KAC9D,CAAC,CAAC;AACP,CAAC,CAAC;AACF,MAAM,KAAK,GAAG,CAAC,OAA4B,EAAE,KAAa,EAAE,EAAE,CAAC,eAAM,CAAC,OAAO,CAAC,0BAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ;IACrH,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;IAC3B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACtG,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,SAAS,OAAO,CAAC,IAAuB;IACpC,OAAO,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,6BAAY,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,eAAM,CAAC,GAAG,CAAC;YACnC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAgB,CAAC;YAC/C,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC;SACtD,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CAAC;YAC9B,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9B,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC;QACb,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YAC7B,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,OAAO,KAAK,SAAS;YACxC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAA,wCAAmB,EAAC,OAAO,CAAC,CAAC;QACnC,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,KAAK;YACrD,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAC9G,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC1B,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,OAAO,aAAa,KAAK,QAAQ;YACjC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC;QACvC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACxF,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;YACnD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;YACtB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7G,MAAM,WAAW,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC;aACzK,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAC5C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS;YACpC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,SAAS;YAC9C,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,oCAAoC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvF,IAAI,WAAW,GAAG,CAAC;YACf,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QACxG,IAAI,WAAW,GAAG,CAAC,IAAI,OAAO,KAAK,SAAS;YACxC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;QAC7G,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS;YAClC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC1D,IAAI,MAAM,KAAK,SAAS,IAAI,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/D,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,6HAA6H,CAAC,CAAC;QACvJ,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC/F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAC7C,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC1E,IAAI,GAAG;YACH,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC1G,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAM,CAAC,OAAO,CAAC,mCAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACxJ,MAAM,gBAAgB,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;YAC7D,CAAC,CAAC,IAAA,mCAAwB,EAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3D,CAAC,CAAC,IAAA,sCAA2B,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,MAAM,CAAC,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC5C,MAAM,OAAO,GAAG,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;YAC9I,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,+CAAoB,CAAC;gBAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,qCAAwB,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnL,OAAO,KAAK,CAAC,CAAC,IAAA,4CAAwB,EAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,+BAAoB,EAAC,gBAAgB,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACrG,MAAM,MAAM,GAAG,CAAI,SAAiB,EAAE,QAAiB,EAA2B,EAAE,CAAC,eAAM,CAAC,GAAG,CAAC;gBAC5F,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,SAAS,EAAE,EAAE,KAAK,CAAC;aAC3D,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,CAAI,SAAiB,EAAE,QAAiB,EAA2B,EAAE,CAAC,eAAM,CAAC,GAAG,CAAC;gBAC7F,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,SAAS,SAAS,EAAE,KAAK,CAAC;aAClE,CAAC,CAAC;YACH,IAAI,cAAc,KAAK,SAAS;gBAC5B,MAAM,CAAC,MAAM,KAAK,CAAC;gBACnB,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,OAAO,EAAE,CAAC;oBACV,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;oBAChH,wEAAwE;oBACxE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAA,0BAAe,EAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC1I,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAA,0BAAc,EAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACjF,OAAO,CAAC,CAAC;gBACb,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBAClH,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAA,0BAAc,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAA,0BAAe,EAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACjI,OAAO,CAAC,CAAC;YACb,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE;wBAC9E,IAAI,EAAE,SAAS;wBACf,KAAK;qBACR,CAAC,CAAC,CAAC;oBACJ,QAAQ,CAAC,IAAI,CAAC,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpF,CAAC;gBACD,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,CAAC;YACb,CAAC;YACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE;wBACrF,IAAI,EAAE,gBAAgB;wBACtB,YAAY;qBACf,CAAC,CAAC,CAAC;oBACJ,QAAQ,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAA,4BAAiB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzG,CAAC;gBACD,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,CAAC;YACb,CAAC;YACD,MAAM,eAAe,GAAG,cAAe,CAAC,OAAO,CAAC;YAChD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE;oBACtF,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,eAAe;iBAC3B,CAAC,CAAC,CAAC;gBACJ,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAA,yBAAc,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1H,OAAO,CAAC,CAAC;YACb,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;oBACzH,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAA,6BAAiB,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAA,6BAAkB,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrI,OAAO,CAAC,CAAC;gBACb,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE;oBACnF,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,eAAe;oBACxB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;oBAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;oBACjD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;iBAC1D,CAAC,CAAC,CAAC;gBACJ,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAY,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;gBAC5F,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC,CAAC;gBAC3C,OAAO,CAAC,CAAC;YACb,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE;oBACrF,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,eAAe;iBAC3B,CAAC,CAAC,CAAC;gBACJ,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAA,wBAAY,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAA,wBAAa,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvH,OAAO,CAAC,CAAC;YACb,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE;oBACpF,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,eAAe;iBAC3B,CAAC,CAAC,CAAC;gBACJ,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAY,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpH,OAAO,CAAC,CAAC;YACb,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE;oBACnF,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,eAAe;iBAC3B,CAAC,CAAC,CAAC;gBACJ,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAA,sBAAU,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAA,sBAAW,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjH,OAAO,CAAC,CAAC;YACb,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE;gBAClF,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,eAAe;aAC3B,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;YAC3I,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAA,yBAAc,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5G,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC;AACD,SAAS,2BAA2B,CAAC,MAA4B,EAAE,OAAe,EAAE,QAAgB;IAEhG,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9C,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE;QACpD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;QAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE;QACvD,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC3C,CAAyC,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC;YACD,OAAO,IAAA,oCAAyB,EAAC,MAAM,EAAE;gBACrC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO;gBACP,QAAQ;aACX,CAAC,CAAC;QACP,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,IAAI,KAAK,YAAY,mCAAwB,IAAI,KAAK,CAAC,IAAI,KAAK,8BAA8B;gBAC1F,SAAS;YACb,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IACD,MAAM,IAAI,mCAAwB,CAAC;QAC/B,IAAI,EAAE,8BAA8B;QACpC,SAAS,EAAE,sBAAsB;QACjC,MAAM,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB;KACjF,CAAC,CAAC;AACP,CAAC;AACD,SAAS,WAAW,CAAC,KAA8C;IAC/D,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,MAAM,GAA6C,EAAE,CAAC;IAC5D,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,eAAM,CAAC,mBAAmB,CAAC,4BAAW,CAAC,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,eAAM,CAAC,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,uBAAuB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AACvD,CAAC;AACD,SAAS,kBAAkB,CAAC,KAA8C;IACtE,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,MAAM,GAAoD,EAAE,CAAC;IACnE,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,eAAM,CAAC,mBAAmB,CAAC,mCAAkB,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,eAAM,CAAC,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,8BAA8B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AACvD,CAAC;AACD,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAChD,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AACD,SAAS,MAAM,CAAC,KAAc;IAC1B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AACY,QAAA,cAAc,GAAgD,MAAM,CAAC,MAAM,CAAC;IACrF,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,iCAAiC;IAC1C,OAAO,EAAE,wBAAgB;IACzB,GAAG,EAAE,OAAO;CACf,CAAC,CAAC","sourcesContent":["import { Effect, Result, Schema } from \"effect\";\nimport { CliArguments, CliInvocationFacts, CliOutput, type CliOptionDefinition, } from \"../cli/application.ts\";\nimport { CliFeatureError, type CliCommandContribution, } from \"../cli/contribution.ts\";\nimport { InspectionIntegrityError, InspectionOperationError, externalInspectionSource, openInspectionSource, operationalInspectionSource, selectInspectionOperation, type InspectionFactSource, type InspectionOperationFor, type InspectionSuccessDocumentFor, } from \"../inspection/index.ts\";\nimport { ExperimentIdSchema, RunIdSchema, } from \"../record/codec/identifiers.ts\";\nimport { parseAttemptLocator } from \"../attempt-locator.ts\";\nimport { ProjectConfiguration } from \"../cli/project-configuration.ts\";\nimport { CurrentTargetUnavailable } from \"../experiment/host/current.ts\";\nimport { openCurrentProjectSource } from \"../inspection/project-source.ts\";\nimport { renderAttempt, renderDiff, renderExperiment, renderOverview, renderRun, renderSources, renderTiming, renderTrace, renderTraceDetail, renderUsage, } from \"./render.ts\";\nimport { projectAttempt, projectDiff, projectExperiment, projectOverview, projectRun, projectSources, projectTiming, projectTrace, projectTraceDetail, projectUsage, } from \"./model.ts\";\nconst help = (summary: string) => Object.freeze({ summary, visibility: \"public\" as const });\nconst option = (value: CliOptionDefinition): CliOptionDefinition => Object.freeze(value);\nexport const SHOW_CLI_OPTIONS = Object.freeze({\n record: option({\n type: \"string\",\n help: help(\"Read an external canonical SQLite Record.\"),\n }),\n run: option({\n type: \"string\",\n multiple: true,\n help: help(\"Show one sealed Run; repeat to show more.\"),\n }),\n experiment: option({\n type: \"string\",\n multiple: true,\n help: help(\"Show one Experiment; repeat to show more.\"),\n }),\n all: option({\n type: \"boolean\",\n help: help(\"Show Attempts hidden by the compact Results view.\"),\n }),\n source: option({\n type: \"boolean\",\n help: help(\"Show captured source facts for one Attempt locator.\"),\n }),\n execution: option({\n type: \"boolean\",\n help: help(\"Show the execution outline for one Attempt locator.\"),\n }),\n actor: option({ type: \"string\", help: help(\"Filter execution events by exact actor ID.\") }),\n type: option({ type: \"string\", help: help(\"Filter execution events by exact event type.\") }),\n continuation: option({ type: \"string\", help: help(\"Read the next execution page with the same filters.\") }),\n timing: option({\n type: \"boolean\",\n help: help(\"Show captured timing for one Attempt locator.\"),\n }),\n usage: option({\n type: \"boolean\",\n help: help(\"Show captured usage for one Attempt locator.\"),\n }),\n diff: option({\n type: \"boolean\",\n help: help(\"Show captured file changes for one Attempt locator.\"),\n }),\n expand: option({\n type: \"string\",\n help: help(\"Expand one stable execution identity.\"),\n }),\n help: option({ type: \"boolean\", short: \"h\", help: help(\"Print show help.\") }),\n} satisfies Readonly<Record<string, CliOptionDefinition>>);\nconst SHOW_HELP = `niceeval show — inspect results in the terminal\n\nUsage:\n niceeval show [--all] [--record <file>]\n niceeval show --run <run-id>... [--record <file>]\n niceeval show --experiment <experiment-id>... [--record <file>]\n niceeval show @<locator> [--record <file>]\n niceeval show @<locator> --source\n niceeval show @<locator> --execution [--expand <stable-id>]\n niceeval show @<locator> --execution [--actor <id>] [--type <event-type>] [--continuation <token>]\n niceeval show @<locator> --timing\n niceeval show @<locator> --usage\n niceeval show @<locator> --diff\n\nSelectors:\n --record <file> Read an external canonical SQLite Record.\n --run <run-id> Show one exact sealed Run; repeatable.\n --experiment <experiment-id> Show one exact Experiment; repeatable.\n --all Show Attempts hidden by compact Results.\n\nAttempt details:\n --source Show captured sources and Assertion sites.\n --execution Show the bounded execution outline.\n --actor <id> Filter execution events by exact actor ID.\n --type <event-type> Filter execution events by exact type.\n --continuation <token> Read the next page using the same filters.\n --expand <stable-id> Expand an execution event/evidence ID, itemId,\n toolOccurrenceId, or commandId.\n --timing Show captured timing activities.\n --usage Show captured usage totals and observations.\n --diff Show captured file-change windows.\n\n --help, -h Print show help.\n`;\ntype Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;\ntype Error = CliFeatureError;\nconst failure = (operation: string, cause: unknown) => {\n const detail = cause instanceof CurrentTargetUnavailable || cause instanceof InspectionOperationError && cause.code === \"current-target-unavailable\"\n ? `current-target-unavailable: ${cause.reason}\\nRead fixed history: niceeval show --run <run-id>`\n : cause instanceof InspectionIntegrityError\n ? `Record integrity failure for sealed Run ${cause.runId}.`\n : cause instanceof InspectionOperationError &&\n cause.code === \"inspection-record-integrity-failure\"\n ? `Record integrity failure${cause.identity === undefined ? \"\" : ` for sealed Run ${cause.identity.runId}`}.`\n : cause instanceof InspectionOperationError\n ? cause.code === \"inspection-selection-missing\" ||\n cause.code === \"inspection-result-invalid\"\n ? cause.reason\n : \"The Inspection operation could not be completed.\"\n : undefined;\n return new CliFeatureError({\n feature: \"show\",\n operation,\n cause,\n exitCode: 1,\n ...(detail === undefined\n ? {}\n : { display: `show ${operation} failed: ${detail}\\n` }),\n });\n};\nconst write = (channel: \"stdout\" | \"stderr\", value: string) => Effect.flatMap(CliOutput, (output) => channel === \"stdout\"\n ? output.writeStdout(value)\n : output.writeStderr(value)).pipe(Effect.mapError((cause) => failure(`write ${channel}`, cause)));\nconst usage = (message: string) => write(\"stderr\", `${message}\\n`).pipe(Effect.as(1));\nfunction runShow(argv: readonly string[]): Effect.Effect<number, Error, Requirements> {\n return Effect.gen(function* () {\n const parser = yield* CliArguments;\n const parsedResult = yield* Effect.try({\n try: () => parser.parse(argv, SHOW_CLI_OPTIONS),\n catch: (cause) => failure(\"parse arguments\", cause),\n }).pipe(Effect.result);\n if (Result.isFailure(parsedResult))\n return yield* usage(reason(parsedResult.failure.cause));\n const parsed = parsedResult.success;\n if (parsed.values.help === true) {\n yield* write(\"stdout\", SHOW_HELP);\n return 0;\n }\n const locator = parsed.positionals[0];\n if (parsed.positionals.length > 1)\n return yield* usage(\"niceeval show accepts at most one Attempt locator.\");\n const decodedLocator = locator === undefined\n ? undefined\n : parseAttemptLocator(locator);\n if (decodedLocator !== undefined && !decodedLocator.valid)\n return yield* usage(`Invalid Attempt locator ${JSON.stringify(locator)}; expected canonical @<locator>.`);\n const runIds = parseRunIds(parsed.values.run);\n if (typeof runIds === \"string\")\n return yield* usage(runIds);\n const experimentIds = parseExperimentIds(parsed.values.experiment);\n if (typeof experimentIds === \"string\")\n return yield* usage(experimentIds);\n const source = parsed.values.source === true;\n const execution = parsed.values.execution === true;\n const timing = parsed.values.timing === true;\n const showUsage = parsed.values.usage === true;\n const diff = parsed.values.diff === true;\n const all = parsed.values.all === true;\n const detailModes = [source, execution, timing, showUsage, diff].filter(Boolean).length;\n const expand = typeof parsed.values.expand === \"string\"\n ? parsed.values.expand\n : undefined;\n const actorId = typeof parsed.values.actor === \"string\" ? parsed.values.actor : undefined;\n const eventType = typeof parsed.values.type === \"string\" ? parsed.values.type : undefined;\n const continuation = typeof parsed.values.continuation === \"string\" ? parsed.values.continuation : undefined;\n const listOptions = [actorId === undefined ? undefined : \"--actor\", eventType === undefined ? undefined : \"--type\", continuation === undefined ? undefined : \"--continuation\"]\n .filter((value) => value !== undefined);\n if (listOptions.length > 0 && !execution)\n return yield* usage(`${listOptions.join(\", \")} require --execution.`);\n if (listOptions.length > 0 && expand !== undefined)\n return yield* usage(`--expand cannot be combined with ${listOptions.join(\", \")}.`);\n if (detailModes > 1)\n return yield* usage(\"--source, --execution, --timing, --usage, and --diff are mutually exclusive.\");\n if (detailModes > 0 && locator === undefined)\n return yield* usage(\"--source, --execution, --timing, --usage, and --diff require one Attempt locator.\");\n if (expand !== undefined && !execution)\n return yield* usage(\"--expand requires --execution.\");\n if (expand !== undefined && /^(?:t\\d+\\.c\\d+|cmd\\d+)$/u.test(expand))\n return yield* usage(\"Legacy positional execution handles are not accepted; use a stable itemId, toolOccurrenceId, or commandId from the outline.\");\n if (locator !== undefined && (runIds.length > 0 || experimentIds.length > 0))\n return yield* usage(\"An Attempt locator, --run, and --experiment are mutually exclusive.\");\n if (runIds.length > 0 && experimentIds.length > 0)\n return yield* usage(\"--run and --experiment are mutually exclusive.\");\n if (all &&\n (locator !== undefined || runIds.length > 0 || experimentIds.length > 0))\n return yield* usage(\"--all applies only to Results, not --experiment, --run, or an Attempt locator.\");\n const facts = yield* Effect.flatMap(CliInvocationFacts, ({ facts }) => facts).pipe(Effect.mapError((cause) => failure(\"read invocation facts\", cause)));\n const inspectionSource = typeof parsed.values.record === \"string\"\n ? externalInspectionSource(facts.cwd, parsed.values.record)\n : operationalInspectionSource(facts.cwd);\n return yield* Effect.scoped(Effect.gen(function* () {\n const current = decodedLocator === undefined && runIds.length === 0 && experimentIds.length === 0 && typeof parsed.values.record !== \"string\";\n const prepare = current ? Effect.gen(function* () {\n const project = yield* ProjectConfiguration;\n const config = yield* project.load(facts.cwd).pipe(Effect.mapError((cause) => new CurrentTargetUnavailable({ code: \"current-target-unavailable\", reason: String(cause), cause })));\n return yield* openCurrentProjectSource({ cwd: facts.cwd, config });\n }) : openInspectionSource(inspectionSource);\n const opened = yield* prepare.pipe(Effect.mapError((cause) => failure(\"open Record source\", cause)));\n const select = <A>(operation: string, evaluate: () => A): Effect.Effect<A, Error> => Effect.try({\n try: evaluate,\n catch: (cause) => failure(`execute ${operation}`, cause),\n });\n const project = <A>(operation: string, evaluate: () => A): Effect.Effect<A, Error> => Effect.try({\n try: evaluate,\n catch: (cause) => failure(`project ${operation} result`, cause),\n });\n if (decodedLocator === undefined &&\n runIds.length === 0 &&\n experimentIds.length === 0) {\n if (current) {\n const document = yield* select(\"project.get\", () => selectInspectionOperation(opened, { kind: \"project.get\" }));\n // The presentation model only extracts already-closed aggregate fields.\n const view = yield* project(\"project.get\", () => projectOverview({ ...document, operation: \"overview.get\", overview: document.project }));\n yield* write(\"stdout\", renderOverview(view, { all, current: document.project }));\n return 0;\n }\n const document = yield* select(\"overview.get\", () => selectInspectionOperation(opened, { kind: \"overview.get\" }));\n yield* write(\"stdout\", renderOverview(yield* project(\"overview.get\", () => projectOverview(document)), { all, recorded: true }));\n return 0;\n }\n if (runIds.length > 0) {\n const rendered: string[] = [];\n for (const runId of runIds) {\n const document = yield* select(\"run.get\", () => selectInspectionOperation(opened, {\n kind: \"run.get\",\n runId,\n }));\n rendered.push(renderRun(yield* project(\"run.get\", () => projectRun(document))));\n }\n yield* write(\"stdout\", rendered.join(\"\"));\n return 0;\n }\n if (experimentIds.length > 0) {\n const rendered: string[] = [];\n for (const experimentId of experimentIds) {\n const document = yield* select(\"experiment.get\", () => selectInspectionOperation(opened, {\n kind: \"experiment.get\",\n experimentId,\n }));\n rendered.push(renderExperiment(yield* project(\"experiment.get\", () => projectExperiment(document))));\n }\n yield* write(\"stdout\", rendered.join(\"\"));\n return 0;\n }\n const selectedLocator = decodedLocator!.locator;\n if (source) {\n const document = yield* select(\"attempt.sources\", () => selectInspectionOperation(opened, {\n kind: \"attempt.sources\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderSources(yield* project(\"attempt.sources\", () => projectSources(document, selectedLocator))));\n return 0;\n }\n if (execution) {\n if (expand !== undefined) {\n const detail = yield* select(\"attempt.trace.detail\", () => selectTraceDetailByStableId(opened, selectedLocator, expand));\n yield* write(\"stdout\", renderTraceDetail(yield* project(\"attempt.trace.detail\", () => projectTraceDetail(detail, selectedLocator))));\n return 0;\n }\n const outline = yield* select(\"attempt.trace\", () => selectInspectionOperation(opened, {\n kind: \"attempt.trace\",\n locator: selectedLocator,\n ...(actorId === undefined ? {} : { actorId }),\n ...(eventType === undefined ? {} : { eventType }),\n ...(continuation === undefined ? {} : { continuation }),\n }));\n const trace = yield* project(\"attempt.trace\", () => projectTrace(outline, selectedLocator));\n yield* write(\"stdout\", renderTrace(trace));\n return 0;\n }\n if (timing) {\n const document = yield* select(\"attempt.timing\", () => selectInspectionOperation(opened, {\n kind: \"attempt.timing\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderTiming(yield* project(\"attempt.timing\", () => projectTiming(document, selectedLocator))));\n return 0;\n }\n if (showUsage) {\n const document = yield* select(\"attempt.usage\", () => selectInspectionOperation(opened, {\n kind: \"attempt.usage\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderUsage(yield* project(\"attempt.usage\", () => projectUsage(document, selectedLocator))));\n return 0;\n }\n if (diff) {\n const document = yield* select(\"attempt.diff\", () => selectInspectionOperation(opened, {\n kind: \"attempt.diff\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderDiff(yield* project(\"attempt.diff\", () => projectDiff(document, selectedLocator))));\n return 0;\n }\n const document = yield* select(\"attempt.get\", () => selectInspectionOperation(opened, {\n kind: \"attempt.get\",\n locator: selectedLocator,\n }));\n const usage = yield* select(\"attempt.usage\", () => selectInspectionOperation(opened, { kind: \"attempt.usage\", locator: selectedLocator }));\n yield* write(\"stdout\", renderAttempt(yield* project(\"attempt.get\", () => projectAttempt(document, usage))));\n return 0;\n }));\n });\n}\nfunction selectTraceDetailByStableId(source: InspectionFactSource, locator: string, stableId: string): InspectionSuccessDocumentFor<\"attempt.trace.detail\"> {\n type DetailSelector = InspectionOperationFor<\"attempt.trace.detail\">[\"selector\"];\n const selectors = Object.freeze([\n { kind: \"execution-event\", eventId: stableId },\n { kind: \"execution-evidence\", evidenceId: stableId },\n { kind: \"item\", itemId: stableId },\n { kind: \"tool-occurrence\", toolOccurrenceId: stableId },\n { kind: \"command\", commandId: stableId },\n ]) as unknown as readonly DetailSelector[];\n for (const selector of selectors) {\n try {\n return selectInspectionOperation(source, {\n kind: \"attempt.trace.detail\",\n locator,\n selector,\n });\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError && cause.code === \"inspection-selection-missing\")\n continue;\n throw cause;\n }\n }\n throw new InspectionOperationError({\n code: \"inspection-selection-missing\",\n operation: \"attempt.trace.detail\",\n reason: `Stable execution identity ${JSON.stringify(stableId)} was not found.`,\n });\n}\nfunction parseRunIds(value: string | boolean | string[] | undefined): readonly Schema.Schema.Type<typeof RunIdSchema>[] | string {\n const values = typeof value === \"string\" ? [value] : Array.isArray(value) ? value : [];\n const output: Schema.Schema.Type<typeof RunIdSchema>[] = [];\n for (const candidate of values) {\n const decoded = Schema.decodeUnknownResult(RunIdSchema)(candidate);\n if (Result.isFailure(decoded))\n return `Invalid --run value ${JSON.stringify(candidate)}.`;\n if (!output.includes(decoded.success))\n output.push(decoded.success);\n }\n return Object.freeze(output.sort(compareIdentity));\n}\nfunction parseExperimentIds(value: string | boolean | string[] | undefined): readonly Schema.Schema.Type<typeof ExperimentIdSchema>[] | string {\n const values = typeof value === \"string\" ? [value] : Array.isArray(value) ? value : [];\n const output: Schema.Schema.Type<typeof ExperimentIdSchema>[] = [];\n for (const candidate of values) {\n const decoded = Schema.decodeUnknownResult(ExperimentIdSchema)(candidate);\n if (Result.isFailure(decoded))\n return `Invalid --experiment value ${JSON.stringify(candidate)}.`;\n if (!output.includes(decoded.success))\n output.push(decoded.success);\n }\n return Object.freeze(output.sort(compareIdentity));\n}\nfunction compareIdentity(left: string, right: string): number {\n return left < right ? -1 : left > right ? 1 : 0;\n}\nfunction reason(value: unknown): string {\n return value instanceof Error ? value.message : String(value);\n}\nexport const showCliCommand: CliCommandContribution<Requirements, Error> = Object.freeze({\n name: \"show\",\n summary: \"inspect results in the terminal\",\n options: SHOW_CLI_OPTIONS,\n run: runShow,\n});\n"]}
|
package/dist/show/model.cjs
CHANGED
|
@@ -63,23 +63,24 @@ function projectExperiment(document) {
|
|
|
63
63
|
// @concord-code ne-surface-project-run-view
|
|
64
64
|
// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md
|
|
65
65
|
function projectRun(document) {
|
|
66
|
-
const
|
|
66
|
+
const detail = document.run;
|
|
67
|
+
const value = detail.value;
|
|
67
68
|
return {
|
|
68
|
-
runId: value.
|
|
69
|
-
experimentId: value.
|
|
70
|
-
adapter: value.
|
|
69
|
+
runId: value.runId,
|
|
70
|
+
experimentId: value.experimentId,
|
|
71
|
+
adapter: value.context?.execution.adapter ?? null,
|
|
71
72
|
state: value.state,
|
|
72
73
|
startedAt: value.startedAt,
|
|
73
74
|
...(value.completedAt === undefined ? {} : { completedAt: value.completedAt }),
|
|
74
|
-
expected:
|
|
75
|
-
observed:
|
|
76
|
-
coverage:
|
|
77
|
-
usage:
|
|
78
|
-
limitations:
|
|
79
|
-
members:
|
|
80
|
-
slotId: member.
|
|
81
|
-
evalId: member.
|
|
82
|
-
attemptOrdinal: member.
|
|
75
|
+
expected: detail.denominator.expected,
|
|
76
|
+
observed: detail.denominator.published,
|
|
77
|
+
coverage: detail.coverage,
|
|
78
|
+
usage: detail.usage,
|
|
79
|
+
limitations: detail.limitations,
|
|
80
|
+
members: detail.slots.map((member) => ({
|
|
81
|
+
slotId: member.slotId,
|
|
82
|
+
evalId: member.evalId,
|
|
83
|
+
attemptOrdinal: member.attemptOrdinal,
|
|
83
84
|
locator: member.locator,
|
|
84
85
|
state: member.state,
|
|
85
86
|
relation: member.relation,
|
package/dist/show/model.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["model.ts"],"names":[],"mappings":"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","sourcesContent":["// @concord-file ne-surface-show-model\n// @concord-implements docs/feature/inspection/cli.md\n// @concord-implements docs/feature/run-inspection/README.md\nimport type { InspectionOverviewResult, InspectionScoredValue, InspectionSuccessDocumentFor, InspectionTraceDetailResult, } from \"../inspection/index.ts\";\nimport type { AttemptOutcome as RecordAttemptOutcome, MembershipAction as RecordMembershipAction } from \"../record/model/core.ts\";\nimport type { AdapterIdentity } from \"../record/model/run-context.ts\";\nimport type { Verdict as PublicVerdict } from \"../shared/types.ts\";\nimport type { AgentTurnOutcome as ReceiptAgentTurnOutcome, SANDBOX_COMMAND_PHASES } from \"../record/family/protocol-values.ts\";\nexport type MetricState = \"available\" | \"partial\" | \"unavailable\" | \"empty\" | \"unsupported\" | \"failed\";\nexport type Verdict = PublicVerdict;\nexport type MembershipAction = RecordMembershipAction;\nexport type AttemptOutcome = RecordAttemptOutcome;\nexport type AgentTurnOutcome = ReceiptAgentTurnOutcome;\nexport type SectionState = \"available\" | \"not-recorded\" | \"partial\" | \"unavailable\";\nexport type ProjectionState = \"complete\" | \"partial\" | \"not-recorded\" | \"invalid\";\nexport type SourceState = \"available\" | \"not-recorded\" | \"invalid\";\nexport type ScoredValue = InspectionScoredValue;\nexport type SourceContent = {\n readonly state: \"available\";\n readonly text: string;\n} | {\n readonly state: \"omitted\";\n readonly reason: \"inspection-result-byte-limit\";\n readonly byteLength: number;\n readonly byteLimit: number;\n};\nexport type AssertionSource = {\n readonly state: \"mapped\";\n readonly sourceItemId: string;\n readonly sha256: string;\n} | {\n readonly state: \"unmapped\";\n readonly reason: \"source-snapshot-not-recorded\" | \"position-unrepresentable\";\n};\nexport type CommandPhase = (typeof SANDBOX_COMMAND_PHASES)[number];\nexport type CommandOutcome = \"exited\" | \"terminated\" | \"not-started\";\nexport type Metric = {\n readonly state: MetricState;\n readonly value: number | null;\n};\nexport type ExecutionValue = {\n readonly state: \"available\";\n readonly value: string;\n} | {\n readonly state: \"mixed\";\n} | {\n readonly state: \"unavailable\";\n};\nexport type AdapterValue = {\n readonly state: \"available\";\n readonly value: AdapterIdentity;\n} | {\n readonly state: \"mixed\";\n};\nexport type Aggregate = {\n readonly evaluationKind: \"pass\" | \"points\" | \"mixed\";\n readonly expected: number;\n readonly observed: number;\n readonly passed: number;\n readonly failed: number;\n readonly errored: number;\n readonly skipped: number;\n readonly passRate: Metric;\n readonly score: Metric;\n readonly durationMs: Metric;\n readonly tokens: Metric;\n};\nexport interface OverviewView {\n readonly totals: Aggregate;\n readonly experiments: readonly {\n readonly experimentId: string;\n readonly adapter: AdapterValue;\n readonly model: ExecutionValue;\n readonly aggregate: Aggregate;\n }[];\n readonly cells: readonly {\n readonly experimentId: string;\n readonly evalId: string;\n readonly aggregate: Aggregate;\n readonly members: readonly {\n readonly publication: {\n readonly state: \"pending\";\n } | {\n readonly state: \"absent\";\n readonly reason: string;\n } | {\n readonly state: \"published\";\n readonly action: MembershipAction;\n readonly attemptId: string;\n readonly attemptLocator: string;\n readonly originRunId: string;\n readonly originSlotId: string;\n readonly verdict: Verdict | null;\n readonly score: Metric;\n readonly durationMs: Metric;\n readonly tokens: Metric;\n };\n }[];\n }[];\n}\nexport interface ExperimentView {\n readonly experimentId: string;\n readonly aggregate: Aggregate;\n readonly cells: OverviewView[\"cells\"];\n readonly costSummary: InspectionSuccessDocumentFor<\"experiment.get\">[\"experiment\"][\"costSummary\"];\n readonly modelUsage: InspectionSuccessDocumentFor<\"experiment.get\">[\"experiment\"][\"modelUsage\"];\n}\nexport interface RunView {\n readonly runId: string;\n readonly experimentId: string;\n readonly adapter: AdapterIdentity | null;\n readonly state: \"active\" | \"completed\" | \"interrupted\" | \"failed\";\n readonly startedAt: number;\n readonly completedAt?: number;\n readonly expected: number;\n readonly observed: number;\n readonly coverage: InspectionSuccessDocumentFor<\"run.overview\">[\"runOverview\"][\"coverage\"];\n readonly usage: InspectionSuccessDocumentFor<\"run.overview\">[\"runOverview\"][\"usage\"];\n readonly limitations: InspectionSuccessDocumentFor<\"run.overview\">[\"runOverview\"][\"limitations\"];\n readonly members: readonly {\n readonly slotId: string;\n readonly evalId: string;\n readonly attemptOrdinal: number;\n readonly locator: string | null;\n readonly state: MembershipAction | \"pending\";\n readonly relation: \"origin\" | \"reference\" | null;\n readonly outcome: AttemptOutcome | null;\n readonly verdict: Verdict | null;\n readonly score: ScoredValue | null;\n readonly coverage: InspectionSuccessDocumentFor<\"run.overview\">[\"runOverview\"][\"members\"][number][\"coverage\"];\n readonly usage: InspectionSuccessDocumentFor<\"run.overview\">[\"runOverview\"][\"members\"][number][\"usage\"];\n readonly limitations: InspectionSuccessDocumentFor<\"run.overview\">[\"runOverview\"][\"members\"][number][\"limitations\"];\n }[];\n}\nexport interface AttemptView {\n readonly totalCosts?: InspectionSuccessDocumentFor<\"attempt.usage\">[\"usage\"][\"totalCosts\"];\n readonly locator: string;\n readonly verdict: Verdict | null;\n readonly attemptId: string;\n readonly evalId: string;\n readonly slotId: string;\n readonly outcome: AttemptOutcome;\n readonly originRunId: string;\n readonly experimentId: string;\n readonly score: ScoredValue;\n readonly sections: {\n readonly assertions: SectionState;\n readonly sources: SectionState;\n readonly trace: SectionState;\n readonly timing: SectionState;\n readonly usage: SectionState;\n readonly diff: SectionState;\n };\n readonly assertions: {\n readonly state: SourceState;\n readonly entries: readonly {\n readonly entryId: string;\n readonly label?: string;\n readonly key?: string;\n readonly groupPath: readonly string[];\n }[];\n };\n readonly evidenceCoverage: readonly string[];\n readonly limitations: readonly string[];\n}\nexport interface SourcesView {\n readonly locator: string;\n readonly state: SourceState;\n readonly items: readonly {\n readonly path: string;\n readonly sourceItemId: string;\n readonly byteLength: number;\n readonly content: SourceContent;\n }[];\n readonly assertions: {\n readonly state: SourceState;\n readonly sites: readonly {\n readonly entryId: string;\n readonly role: \"declaration\" | \"threshold\" | \"score\" | \"gate\" | \"optional\" | \"stop\";\n readonly start: {\n readonly line: number;\n readonly column: number;\n };\n readonly end: {\n readonly line: number;\n readonly column: number;\n };\n readonly source: AssertionSource;\n }[];\n readonly hasMoreSourceSites: boolean;\n readonly omittedSourceSiteCount: number;\n };\n readonly hasMore: boolean;\n readonly omittedItemCount: number;\n}\ntype WithoutTurnId<Value> = Value extends unknown ? Omit<Value, \"turnId\"> : never;\nexport type TraceItem = WithoutTurnId<InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"conversation\"][\"items\"][number]>;\nexport interface TraceView {\n readonly locator: string;\n readonly execution: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"execution\"];\n readonly conversation: {\n readonly state: ProjectionState;\n readonly limitations: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"conversation\"][\"limitations\"];\n readonly limitationsTruncated: boolean;\n readonly omittedLimitationCount: number;\n readonly turnsTruncated: boolean;\n readonly omittedTurnCount: number;\n readonly itemCount: number;\n readonly itemsTruncated: boolean;\n readonly omittedItemCount: number;\n readonly turns: readonly {\n readonly turnId: string;\n readonly sequence: number;\n readonly outcome: AgentTurnOutcome;\n readonly items: readonly TraceItem[];\n }[];\n };\n readonly commands: {\n readonly state: ProjectionState;\n readonly limitations: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"commands\"][\"limitations\"];\n readonly limitationsTruncated: boolean;\n readonly omittedLimitationCount: number;\n readonly hasMore: boolean;\n readonly omittedCommandCount: number;\n readonly items: readonly {\n readonly commandId: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"commands\"][\"items\"][number][\"commandId\"];\n readonly phase: CommandPhase;\n readonly outcome: CommandOutcome;\n }[];\n };\n readonly diagnostics: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"diagnostics\"];\n readonly identities: {\n readonly itemIds: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"identityIndex\"][\"itemIds\"];\n readonly toolOccurrenceIds: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"identityIndex\"][\"toolOccurrenceIds\"][\"ids\"];\n readonly commandIds: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"identityIndex\"][\"commandIds\"];\n readonly omittedItemIdCount: number;\n readonly omittedToolOccurrenceIdCount: number;\n readonly omittedCommandIdCount: number;\n };\n}\nexport interface TraceDetailView {\n readonly locator: string;\n readonly kind: InspectionTraceDetailResult[\"kind\"];\n readonly stableId: string;\n readonly body: InspectionTraceDetailResult;\n}\nexport type ExecutionDisplayPreviewBlock = Extract<TraceView[\"execution\"][\"events\"][number][\"display\"], {\n state: \"present\";\n}>[\"blocks\"][number];\nexport type ExecutionDisplayDetailBlock = NonNullable<Extract<TraceDetailView[\"body\"], {\n kind: \"execution-event\";\n}>[\"event\"][\"display\"]>[number];\nexport type TimingView = {\n readonly locator: string;\n} & InspectionSuccessDocumentFor<\"attempt.timing\">[\"timing\"];\nexport type UsageView = {\n readonly locator: string;\n} & InspectionSuccessDocumentFor<\"attempt.usage\">[\"usage\"];\nexport type DiffView = {\n readonly locator: string;\n} & InspectionSuccessDocumentFor<\"attempt.diff\">[\"diff\"];\nconst metric = (value: {\n readonly state: MetricState;\n readonly value: number | null;\n}): Metric => ({ state: value.state, value: value.value });\nconst aggregate = (value: InspectionOverviewResult[\"totals\"]): Aggregate => ({\n evaluationKind: value.evaluationKind,\n expected: value.denominator.expected,\n observed: value.denominator.observed,\n passed: value.verdict.tally.passed,\n failed: value.verdict.tally.failed,\n errored: value.verdict.tally.errored,\n skipped: value.verdict.tally.skipped,\n passRate: metric(value.verdict.passRate),\n score: metric(value.score),\n durationMs: metric(value.durationMs),\n tokens: metric(value.tokens),\n});\nconst cells = (values: InspectionOverviewResult[\"cells\"]): OverviewView[\"cells\"] => values.map((cell) => ({\n experimentId: cell.experimentId,\n evalId: cell.evalId,\n aggregate: aggregate(cell),\n members: cell.members.map((member) => ({\n publication: member.publication.state === \"published\"\n ? {\n ...member.publication,\n score: metric(member.publication.score),\n durationMs: metric(member.publication.durationMs),\n tokens: metric(member.publication.tokens),\n }\n : member.publication,\n })),\n}));\nexport function projectOverview(document: InspectionSuccessDocumentFor<\"overview.get\">): OverviewView {\n return {\n totals: aggregate(document.overview.totals),\n experiments: document.overview.experiments.map((experiment) => ({\n experimentId: experiment.experimentId,\n adapter: experiment.adapter,\n model: experiment.model,\n aggregate: aggregate(experiment),\n })),\n cells: cells(document.overview.cells),\n };\n}\nexport function projectExperiment(document: InspectionSuccessDocumentFor<\"experiment.get\">): ExperimentView {\n return {\n experimentId: document.experiment.experiment.experimentId,\n aggregate: aggregate(document.experiment.experiment),\n cells: cells(document.experiment.cells),\n costSummary: document.experiment.costSummary,\n modelUsage: document.experiment.modelUsage,\n };\n}\n// @concord-code ne-surface-project-run-view\n// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md\nexport function projectRun(document: InspectionSuccessDocumentFor<\"run.overview\">): RunView {\n const value = document.runOverview;\n return {\n runId: value.identity.runId,\n experimentId: value.identity.experimentId,\n adapter: value.identity.adapter,\n state: value.state,\n startedAt: value.startedAt,\n ...(value.completedAt === undefined ? {} : { completedAt: value.completedAt }),\n expected: value.denominator.expected,\n observed: value.denominator.observed,\n coverage: value.coverage,\n usage: value.usage,\n limitations: value.limitations,\n members: value.members.map((member) => ({\n slotId: member.slot.slotId,\n evalId: member.slot.evalId,\n attemptOrdinal: member.slot.attemptOrdinal,\n locator: member.locator,\n state: member.state,\n relation: member.relation,\n outcome: member.outcome,\n verdict: member.verdict,\n score: member.score,\n coverage: member.coverage,\n usage: member.usage,\n limitations: member.limitations,\n })),\n };\n}\n// @concord-code ne-surface-project-attempt-view\n// @concord-implements docs/feature/inspection/cli.md\nexport function projectAttempt(document: InspectionSuccessDocumentFor<\"attempt.get\">, usage?: InspectionSuccessDocumentFor<\"attempt.usage\">): AttemptView {\n const value = document.attempt;\n return {\n locator: value.locator,\n totalCosts: usage?.usage.totalCosts,\n verdict: value.verdict,\n attemptId: value.core.attemptId,\n evalId: value.core.evalId,\n slotId: value.core.slotId,\n outcome: value.core.outcome,\n originRunId: value.core.originRunId,\n experimentId: value.originRun.experimentId,\n score: value.score,\n sections: {\n assertions: value.sections.assertions.state,\n sources: value.sections.sources.state,\n trace: value.sections.trace.state,\n timing: value.sections.timing.state,\n usage: value.sections.usage.state,\n diff: value.sections.diff.state,\n },\n assertions: {\n state: value.assertions.state,\n entries: value.assertions.entries.map((entry) => ({ entryId: entry.entryId, ...entry.display })),\n },\n evidenceCoverage: value.evidenceCoverage.map((entry) => JSON.stringify(entry)),\n limitations: value.limitations.map((entry) => JSON.stringify(entry)),\n };\n}\nexport function projectSources(document: InspectionSuccessDocumentFor<\"attempt.sources\">, locator: string): SourcesView {\n const value = document.sources;\n return {\n locator,\n state: value.state,\n items: value.items.map((item) => ({ path: item.path, sourceItemId: item.sourceItemId, byteLength: item.byteLength, content: item.content })),\n assertions: {\n state: value.assertions.state,\n sites: value.assertions.sourceSites.map((site) => ({\n entryId: site.entryId,\n role: site.role,\n start: site.start,\n end: site.end,\n source: site.source,\n })),\n hasMoreSourceSites: value.assertions.hasMoreSourceSites,\n omittedSourceSiteCount: value.assertions.omittedSourceSiteCount,\n },\n hasMore: value.hasMore,\n omittedItemCount: value.omittedItemCount,\n };\n}\nexport function projectTrace(document: InspectionSuccessDocumentFor<\"attempt.trace\">, locator: string): TraceView {\n const value = document.trace;\n return {\n locator,\n execution: value.execution,\n conversation: {\n state: value.conversation.state,\n limitations: value.conversation.limitations,\n limitationsTruncated: value.conversation.limitationsTruncated,\n omittedLimitationCount: value.conversation.omittedLimitationCount,\n turnsTruncated: value.conversation.turnsTruncated,\n omittedTurnCount: value.conversation.omittedTurnCount,\n itemCount: value.conversation.items.length,\n itemsTruncated: value.conversation.itemsTruncated,\n omittedItemCount: value.conversation.omittedItemCount,\n turns: value.conversation.turns.map((turn) => ({\n ...turn,\n items: value.conversation.items.filter((item) => item.turnId === turn.turnId).map(({ turnId: _turnId, ...item }) => item),\n })),\n },\n commands: {\n state: value.commands.state,\n limitations: value.commands.limitations,\n limitationsTruncated: value.commands.limitationsTruncated,\n omittedLimitationCount: value.commands.omittedLimitationCount,\n hasMore: value.commands.hasMore,\n omittedCommandCount: value.commands.omittedCommandCount,\n items: value.commands.items.map((command) => ({ commandId: command.commandId, phase: command.phase, outcome: command.outcome.kind })),\n },\n diagnostics: value.diagnostics,\n identities: {\n itemIds: value.identityIndex.itemIds,\n toolOccurrenceIds: value.identityIndex.toolOccurrenceIds.ids,\n commandIds: value.identityIndex.commandIds,\n omittedItemIdCount: value.identityIndex.omittedItemIdCount,\n omittedToolOccurrenceIdCount: value.identityIndex.toolOccurrenceIds.omittedIdCount,\n omittedCommandIdCount: value.identityIndex.omittedCommandIdCount,\n },\n };\n}\nexport function projectTraceDetail(document: InspectionSuccessDocumentFor<\"attempt.trace.detail\">, locator: string): TraceDetailView {\n const body = document.detail;\n return {\n locator,\n kind: body.kind,\n stableId: body.kind === \"item\"\n ? body.itemId\n : body.kind === \"tool-occurrence\"\n ? body.toolOccurrenceId\n : body.kind === \"command\"\n ? body.commandId\n : body.kind === \"execution-event\"\n ? body.event.eventId\n : body.evidenceId,\n body,\n };\n}\nexport function projectTiming(document: InspectionSuccessDocumentFor<\"attempt.timing\">, locator: string): TimingView {\n return { locator, ...document.timing };\n}\nexport function projectUsage(document: InspectionSuccessDocumentFor<\"attempt.usage\">, locator: string): UsageView {\n return { locator, ...document.usage };\n}\nexport function projectDiff(document: InspectionSuccessDocumentFor<\"attempt.diff\">, locator: string): DiffView {\n return { locator, ...document.diff };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["model.ts"],"names":[],"mappings":"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","sourcesContent":["// @concord-file ne-surface-show-model\n// @concord-implements docs/feature/inspection/cli.md\n// @concord-implements docs/feature/run-inspection/README.md\nimport type { InspectionOverviewResult, InspectionScoredValue, InspectionSuccessDocumentFor, InspectionTraceDetailResult, } from \"../inspection/index.ts\";\nimport type { AttemptOutcome as RecordAttemptOutcome, MembershipAction as RecordMembershipAction } from \"../record/model/core.ts\";\nimport type { AdapterIdentity } from \"../record/model/run-context.ts\";\nimport type { Verdict as PublicVerdict } from \"../shared/types.ts\";\nimport type { AgentTurnOutcome as ReceiptAgentTurnOutcome, SANDBOX_COMMAND_PHASES } from \"../record/family/protocol-values.ts\";\nexport type MetricState = \"available\" | \"partial\" | \"unavailable\" | \"empty\" | \"unsupported\" | \"failed\";\nexport type Verdict = PublicVerdict;\nexport type MembershipAction = RecordMembershipAction;\nexport type AttemptOutcome = RecordAttemptOutcome;\nexport type AgentTurnOutcome = ReceiptAgentTurnOutcome;\nexport type SectionState = \"available\" | \"not-recorded\" | \"partial\" | \"unavailable\";\nexport type ProjectionState = \"complete\" | \"partial\" | \"not-recorded\" | \"invalid\";\nexport type SourceState = \"available\" | \"not-recorded\" | \"invalid\";\nexport type ScoredValue = InspectionScoredValue;\nexport type SourceContent = {\n readonly state: \"available\";\n readonly text: string;\n} | {\n readonly state: \"omitted\";\n readonly reason: \"inspection-result-byte-limit\";\n readonly byteLength: number;\n readonly byteLimit: number;\n};\nexport type AssertionSource = {\n readonly state: \"mapped\";\n readonly sourceItemId: string;\n readonly sha256: string;\n} | {\n readonly state: \"unmapped\";\n readonly reason: \"source-snapshot-not-recorded\" | \"position-unrepresentable\";\n};\nexport type CommandPhase = (typeof SANDBOX_COMMAND_PHASES)[number];\nexport type CommandOutcome = \"exited\" | \"terminated\" | \"not-started\";\nexport type Metric = {\n readonly state: MetricState;\n readonly value: number | null;\n};\nexport type ExecutionValue = {\n readonly state: \"available\";\n readonly value: string;\n} | {\n readonly state: \"mixed\";\n} | {\n readonly state: \"unavailable\";\n};\nexport type AdapterValue = {\n readonly state: \"available\";\n readonly value: AdapterIdentity;\n} | {\n readonly state: \"mixed\";\n};\nexport type Aggregate = {\n readonly evaluationKind: \"pass\" | \"points\" | \"mixed\";\n readonly expected: number;\n readonly observed: number;\n readonly passed: number;\n readonly failed: number;\n readonly errored: number;\n readonly skipped: number;\n readonly passRate: Metric;\n readonly score: Metric;\n readonly durationMs: Metric;\n readonly tokens: Metric;\n};\nexport interface OverviewView {\n readonly totals: Aggregate;\n readonly experiments: readonly {\n readonly experimentId: string;\n readonly adapter: AdapterValue;\n readonly model: ExecutionValue;\n readonly aggregate: Aggregate;\n }[];\n readonly cells: readonly {\n readonly experimentId: string;\n readonly evalId: string;\n readonly aggregate: Aggregate;\n readonly members: readonly {\n readonly publication: {\n readonly state: \"pending\";\n } | {\n readonly state: \"absent\";\n readonly reason: string;\n } | {\n readonly state: \"published\";\n readonly action: MembershipAction;\n readonly attemptId: string;\n readonly attemptLocator: string;\n readonly originRunId: string;\n readonly originSlotId: string;\n readonly verdict: Verdict | null;\n readonly score: Metric;\n readonly durationMs: Metric;\n readonly tokens: Metric;\n };\n }[];\n }[];\n}\nexport interface ExperimentView {\n readonly experimentId: string;\n readonly aggregate: Aggregate;\n readonly cells: OverviewView[\"cells\"];\n readonly costSummary: InspectionSuccessDocumentFor<\"experiment.get\">[\"experiment\"][\"costSummary\"];\n readonly modelUsage: InspectionSuccessDocumentFor<\"experiment.get\">[\"experiment\"][\"modelUsage\"];\n}\nexport interface RunView {\n readonly runId: string;\n readonly experimentId: string;\n readonly adapter: AdapterIdentity | null;\n readonly state: \"active\" | \"completed\" | \"interrupted\" | \"failed\";\n readonly startedAt: number;\n readonly completedAt?: number;\n readonly expected: number;\n readonly observed: number;\n readonly coverage: InspectionSuccessDocumentFor<\"run.get\">[\"run\"][\"coverage\"];\n readonly usage: InspectionSuccessDocumentFor<\"run.get\">[\"run\"][\"usage\"];\n readonly limitations: InspectionSuccessDocumentFor<\"run.get\">[\"run\"][\"limitations\"];\n readonly members: readonly {\n readonly slotId: string;\n readonly evalId: string;\n readonly attemptOrdinal: number;\n readonly locator: string | null;\n readonly state: MembershipAction | \"pending\";\n readonly relation: \"origin\" | \"reference\" | null;\n readonly outcome: AttemptOutcome | null;\n readonly verdict: Verdict | null;\n readonly score: ScoredValue | null;\n readonly coverage: InspectionSuccessDocumentFor<\"run.get\">[\"run\"][\"slots\"][number][\"coverage\"];\n readonly usage: InspectionSuccessDocumentFor<\"run.get\">[\"run\"][\"slots\"][number][\"usage\"];\n readonly limitations: InspectionSuccessDocumentFor<\"run.get\">[\"run\"][\"slots\"][number][\"limitations\"];\n }[];\n}\nexport interface AttemptView {\n readonly totalCosts?: InspectionSuccessDocumentFor<\"attempt.usage\">[\"usage\"][\"totalCosts\"];\n readonly locator: string;\n readonly verdict: Verdict | null;\n readonly attemptId: string;\n readonly evalId: string;\n readonly slotId: string;\n readonly outcome: AttemptOutcome;\n readonly originRunId: string;\n readonly experimentId: string;\n readonly score: ScoredValue;\n readonly sections: {\n readonly assertions: SectionState;\n readonly sources: SectionState;\n readonly trace: SectionState;\n readonly timing: SectionState;\n readonly usage: SectionState;\n readonly diff: SectionState;\n };\n readonly assertions: {\n readonly state: SourceState;\n readonly entries: readonly {\n readonly entryId: string;\n readonly label?: string;\n readonly key?: string;\n readonly groupPath: readonly string[];\n }[];\n };\n readonly evidenceCoverage: readonly string[];\n readonly limitations: readonly string[];\n}\nexport interface SourcesView {\n readonly locator: string;\n readonly state: SourceState;\n readonly items: readonly {\n readonly path: string;\n readonly sourceItemId: string;\n readonly byteLength: number;\n readonly content: SourceContent;\n }[];\n readonly assertions: {\n readonly state: SourceState;\n readonly sites: readonly {\n readonly entryId: string;\n readonly role: \"declaration\" | \"threshold\" | \"score\" | \"gate\" | \"optional\" | \"stop\";\n readonly start: {\n readonly line: number;\n readonly column: number;\n };\n readonly end: {\n readonly line: number;\n readonly column: number;\n };\n readonly source: AssertionSource;\n }[];\n readonly hasMoreSourceSites: boolean;\n readonly omittedSourceSiteCount: number;\n };\n readonly hasMore: boolean;\n readonly omittedItemCount: number;\n}\ntype WithoutTurnId<Value> = Value extends unknown ? Omit<Value, \"turnId\"> : never;\nexport type TraceItem = WithoutTurnId<InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"conversation\"][\"items\"][number]>;\nexport interface TraceView {\n readonly locator: string;\n readonly execution: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"execution\"];\n readonly conversation: {\n readonly state: ProjectionState;\n readonly limitations: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"conversation\"][\"limitations\"];\n readonly limitationsTruncated: boolean;\n readonly omittedLimitationCount: number;\n readonly turnsTruncated: boolean;\n readonly omittedTurnCount: number;\n readonly itemCount: number;\n readonly itemsTruncated: boolean;\n readonly omittedItemCount: number;\n readonly turns: readonly {\n readonly turnId: string;\n readonly sequence: number;\n readonly outcome: AgentTurnOutcome;\n readonly items: readonly TraceItem[];\n }[];\n };\n readonly commands: {\n readonly state: ProjectionState;\n readonly limitations: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"commands\"][\"limitations\"];\n readonly limitationsTruncated: boolean;\n readonly omittedLimitationCount: number;\n readonly hasMore: boolean;\n readonly omittedCommandCount: number;\n readonly items: readonly {\n readonly commandId: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"commands\"][\"items\"][number][\"commandId\"];\n readonly phase: CommandPhase;\n readonly outcome: CommandOutcome;\n }[];\n };\n readonly diagnostics: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"diagnostics\"];\n readonly identities: {\n readonly itemIds: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"identityIndex\"][\"itemIds\"];\n readonly toolOccurrenceIds: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"identityIndex\"][\"toolOccurrenceIds\"][\"ids\"];\n readonly commandIds: InspectionSuccessDocumentFor<\"attempt.trace\">[\"trace\"][\"identityIndex\"][\"commandIds\"];\n readonly omittedItemIdCount: number;\n readonly omittedToolOccurrenceIdCount: number;\n readonly omittedCommandIdCount: number;\n };\n}\nexport interface TraceDetailView {\n readonly locator: string;\n readonly kind: InspectionTraceDetailResult[\"kind\"];\n readonly stableId: string;\n readonly body: InspectionTraceDetailResult;\n}\nexport type ExecutionDisplayPreviewBlock = Extract<TraceView[\"execution\"][\"events\"][number][\"display\"], {\n state: \"present\";\n}>[\"blocks\"][number];\nexport type ExecutionDisplayDetailBlock = NonNullable<Extract<TraceDetailView[\"body\"], {\n kind: \"execution-event\";\n}>[\"event\"][\"display\"]>[number];\nexport type TimingView = {\n readonly locator: string;\n} & InspectionSuccessDocumentFor<\"attempt.timing\">[\"timing\"];\nexport type UsageView = {\n readonly locator: string;\n} & InspectionSuccessDocumentFor<\"attempt.usage\">[\"usage\"];\nexport type DiffView = {\n readonly locator: string;\n} & InspectionSuccessDocumentFor<\"attempt.diff\">[\"diff\"];\nconst metric = (value: {\n readonly state: MetricState;\n readonly value: number | null;\n}): Metric => ({ state: value.state, value: value.value });\nconst aggregate = (value: InspectionOverviewResult[\"totals\"]): Aggregate => ({\n evaluationKind: value.evaluationKind,\n expected: value.denominator.expected,\n observed: value.denominator.observed,\n passed: value.verdict.tally.passed,\n failed: value.verdict.tally.failed,\n errored: value.verdict.tally.errored,\n skipped: value.verdict.tally.skipped,\n passRate: metric(value.verdict.passRate),\n score: metric(value.score),\n durationMs: metric(value.durationMs),\n tokens: metric(value.tokens),\n});\nconst cells = (values: InspectionOverviewResult[\"cells\"]): OverviewView[\"cells\"] => values.map((cell) => ({\n experimentId: cell.experimentId,\n evalId: cell.evalId,\n aggregate: aggregate(cell),\n members: cell.members.map((member) => ({\n publication: member.publication.state === \"published\"\n ? {\n ...member.publication,\n score: metric(member.publication.score),\n durationMs: metric(member.publication.durationMs),\n tokens: metric(member.publication.tokens),\n }\n : member.publication,\n })),\n}));\nexport function projectOverview(document: InspectionSuccessDocumentFor<\"overview.get\">): OverviewView {\n return {\n totals: aggregate(document.overview.totals),\n experiments: document.overview.experiments.map((experiment) => ({\n experimentId: experiment.experimentId,\n adapter: experiment.adapter,\n model: experiment.model,\n aggregate: aggregate(experiment),\n })),\n cells: cells(document.overview.cells),\n };\n}\nexport function projectExperiment(document: InspectionSuccessDocumentFor<\"experiment.get\">): ExperimentView {\n return {\n experimentId: document.experiment.experiment.experimentId,\n aggregate: aggregate(document.experiment.experiment),\n cells: cells(document.experiment.cells),\n costSummary: document.experiment.costSummary,\n modelUsage: document.experiment.modelUsage,\n };\n}\n// @concord-code ne-surface-project-run-view\n// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md\nexport function projectRun(document: InspectionSuccessDocumentFor<\"run.get\">): RunView {\n const detail = document.run;\n const value = detail.value;\n return {\n runId: value.runId,\n experimentId: value.experimentId,\n adapter: value.context?.execution.adapter ?? null,\n state: value.state,\n startedAt: value.startedAt,\n ...(value.completedAt === undefined ? {} : { completedAt: value.completedAt }),\n expected: detail.denominator.expected,\n observed: detail.denominator.published,\n coverage: detail.coverage,\n usage: detail.usage,\n limitations: detail.limitations,\n members: detail.slots.map((member) => ({\n slotId: member.slotId,\n evalId: member.evalId,\n attemptOrdinal: member.attemptOrdinal,\n locator: member.locator,\n state: member.state,\n relation: member.relation,\n outcome: member.outcome,\n verdict: member.verdict,\n score: member.score,\n coverage: member.coverage,\n usage: member.usage,\n limitations: member.limitations,\n })),\n };\n}\n// @concord-code ne-surface-project-attempt-view\n// @concord-implements docs/feature/inspection/cli.md\nexport function projectAttempt(document: InspectionSuccessDocumentFor<\"attempt.get\">, usage?: InspectionSuccessDocumentFor<\"attempt.usage\">): AttemptView {\n const value = document.attempt;\n return {\n locator: value.locator,\n totalCosts: usage?.usage.totalCosts,\n verdict: value.verdict,\n attemptId: value.core.attemptId,\n evalId: value.core.evalId,\n slotId: value.core.slotId,\n outcome: value.core.outcome,\n originRunId: value.core.originRunId,\n experimentId: value.originRun.experimentId,\n score: value.score,\n sections: {\n assertions: value.sections.assertions.state,\n sources: value.sections.sources.state,\n trace: value.sections.trace.state,\n timing: value.sections.timing.state,\n usage: value.sections.usage.state,\n diff: value.sections.diff.state,\n },\n assertions: {\n state: value.assertions.state,\n entries: value.assertions.entries.map((entry) => ({ entryId: entry.entryId, ...entry.display })),\n },\n evidenceCoverage: value.evidenceCoverage.map((entry) => JSON.stringify(entry)),\n limitations: value.limitations.map((entry) => JSON.stringify(entry)),\n };\n}\nexport function projectSources(document: InspectionSuccessDocumentFor<\"attempt.sources\">, locator: string): SourcesView {\n const value = document.sources;\n return {\n locator,\n state: value.state,\n items: value.items.map((item) => ({ path: item.path, sourceItemId: item.sourceItemId, byteLength: item.byteLength, content: item.content })),\n assertions: {\n state: value.assertions.state,\n sites: value.assertions.sourceSites.map((site) => ({\n entryId: site.entryId,\n role: site.role,\n start: site.start,\n end: site.end,\n source: site.source,\n })),\n hasMoreSourceSites: value.assertions.hasMoreSourceSites,\n omittedSourceSiteCount: value.assertions.omittedSourceSiteCount,\n },\n hasMore: value.hasMore,\n omittedItemCount: value.omittedItemCount,\n };\n}\nexport function projectTrace(document: InspectionSuccessDocumentFor<\"attempt.trace\">, locator: string): TraceView {\n const value = document.trace;\n return {\n locator,\n execution: value.execution,\n conversation: {\n state: value.conversation.state,\n limitations: value.conversation.limitations,\n limitationsTruncated: value.conversation.limitationsTruncated,\n omittedLimitationCount: value.conversation.omittedLimitationCount,\n turnsTruncated: value.conversation.turnsTruncated,\n omittedTurnCount: value.conversation.omittedTurnCount,\n itemCount: value.conversation.items.length,\n itemsTruncated: value.conversation.itemsTruncated,\n omittedItemCount: value.conversation.omittedItemCount,\n turns: value.conversation.turns.map((turn) => ({\n ...turn,\n items: value.conversation.items.filter((item) => item.turnId === turn.turnId).map(({ turnId: _turnId, ...item }) => item),\n })),\n },\n commands: {\n state: value.commands.state,\n limitations: value.commands.limitations,\n limitationsTruncated: value.commands.limitationsTruncated,\n omittedLimitationCount: value.commands.omittedLimitationCount,\n hasMore: value.commands.hasMore,\n omittedCommandCount: value.commands.omittedCommandCount,\n items: value.commands.items.map((command) => ({ commandId: command.commandId, phase: command.phase, outcome: command.outcome.kind })),\n },\n diagnostics: value.diagnostics,\n identities: {\n itemIds: value.identityIndex.itemIds,\n toolOccurrenceIds: value.identityIndex.toolOccurrenceIds.ids,\n commandIds: value.identityIndex.commandIds,\n omittedItemIdCount: value.identityIndex.omittedItemIdCount,\n omittedToolOccurrenceIdCount: value.identityIndex.toolOccurrenceIds.omittedIdCount,\n omittedCommandIdCount: value.identityIndex.omittedCommandIdCount,\n },\n };\n}\nexport function projectTraceDetail(document: InspectionSuccessDocumentFor<\"attempt.trace.detail\">, locator: string): TraceDetailView {\n const body = document.detail;\n return {\n locator,\n kind: body.kind,\n stableId: body.kind === \"item\"\n ? body.itemId\n : body.kind === \"tool-occurrence\"\n ? body.toolOccurrenceId\n : body.kind === \"command\"\n ? body.commandId\n : body.kind === \"execution-event\"\n ? body.event.eventId\n : body.evidenceId,\n body,\n };\n}\nexport function projectTiming(document: InspectionSuccessDocumentFor<\"attempt.timing\">, locator: string): TimingView {\n return { locator, ...document.timing };\n}\nexport function projectUsage(document: InspectionSuccessDocumentFor<\"attempt.usage\">, locator: string): UsageView {\n return { locator, ...document.usage };\n}\nexport function projectDiff(document: InspectionSuccessDocumentFor<\"attempt.diff\">, locator: string): DiffView {\n return { locator, ...document.diff };\n}\n"]}
|
package/dist/show/model.d.cts
CHANGED
|
@@ -111,9 +111,9 @@ export interface RunView {
|
|
|
111
111
|
readonly completedAt?: number;
|
|
112
112
|
readonly expected: number;
|
|
113
113
|
readonly observed: number;
|
|
114
|
-
readonly coverage: InspectionSuccessDocumentFor<"run.
|
|
115
|
-
readonly usage: InspectionSuccessDocumentFor<"run.
|
|
116
|
-
readonly limitations: InspectionSuccessDocumentFor<"run.
|
|
114
|
+
readonly coverage: InspectionSuccessDocumentFor<"run.get">["run"]["coverage"];
|
|
115
|
+
readonly usage: InspectionSuccessDocumentFor<"run.get">["run"]["usage"];
|
|
116
|
+
readonly limitations: InspectionSuccessDocumentFor<"run.get">["run"]["limitations"];
|
|
117
117
|
readonly members: readonly {
|
|
118
118
|
readonly slotId: string;
|
|
119
119
|
readonly evalId: string;
|
|
@@ -124,9 +124,9 @@ export interface RunView {
|
|
|
124
124
|
readonly outcome: AttemptOutcome | null;
|
|
125
125
|
readonly verdict: Verdict | null;
|
|
126
126
|
readonly score: ScoredValue | null;
|
|
127
|
-
readonly coverage: InspectionSuccessDocumentFor<"run.
|
|
128
|
-
readonly usage: InspectionSuccessDocumentFor<"run.
|
|
129
|
-
readonly limitations: InspectionSuccessDocumentFor<"run.
|
|
127
|
+
readonly coverage: InspectionSuccessDocumentFor<"run.get">["run"]["slots"][number]["coverage"];
|
|
128
|
+
readonly usage: InspectionSuccessDocumentFor<"run.get">["run"]["slots"][number]["usage"];
|
|
129
|
+
readonly limitations: InspectionSuccessDocumentFor<"run.get">["run"]["slots"][number]["limitations"];
|
|
130
130
|
}[];
|
|
131
131
|
}
|
|
132
132
|
export interface AttemptView {
|
|
@@ -258,7 +258,7 @@ export type DiffView = {
|
|
|
258
258
|
} & InspectionSuccessDocumentFor<"attempt.diff">["diff"];
|
|
259
259
|
export declare function projectOverview(document: InspectionSuccessDocumentFor<"overview.get">): OverviewView;
|
|
260
260
|
export declare function projectExperiment(document: InspectionSuccessDocumentFor<"experiment.get">): ExperimentView;
|
|
261
|
-
export declare function projectRun(document: InspectionSuccessDocumentFor<"run.
|
|
261
|
+
export declare function projectRun(document: InspectionSuccessDocumentFor<"run.get">): RunView;
|
|
262
262
|
export declare function projectAttempt(document: InspectionSuccessDocumentFor<"attempt.get">, usage?: InspectionSuccessDocumentFor<"attempt.usage">): AttemptView;
|
|
263
263
|
export declare function projectSources(document: InspectionSuccessDocumentFor<"attempt.sources">, locator: string): SourcesView;
|
|
264
264
|
export declare function projectTrace(document: InspectionSuccessDocumentFor<"attempt.trace">, locator: string): TraceView;
|
package/dist/show/model.d.mts
CHANGED
|
@@ -111,9 +111,9 @@ export interface RunView {
|
|
|
111
111
|
readonly completedAt?: number;
|
|
112
112
|
readonly expected: number;
|
|
113
113
|
readonly observed: number;
|
|
114
|
-
readonly coverage: InspectionSuccessDocumentFor<"run.
|
|
115
|
-
readonly usage: InspectionSuccessDocumentFor<"run.
|
|
116
|
-
readonly limitations: InspectionSuccessDocumentFor<"run.
|
|
114
|
+
readonly coverage: InspectionSuccessDocumentFor<"run.get">["run"]["coverage"];
|
|
115
|
+
readonly usage: InspectionSuccessDocumentFor<"run.get">["run"]["usage"];
|
|
116
|
+
readonly limitations: InspectionSuccessDocumentFor<"run.get">["run"]["limitations"];
|
|
117
117
|
readonly members: readonly {
|
|
118
118
|
readonly slotId: string;
|
|
119
119
|
readonly evalId: string;
|
|
@@ -124,9 +124,9 @@ export interface RunView {
|
|
|
124
124
|
readonly outcome: AttemptOutcome | null;
|
|
125
125
|
readonly verdict: Verdict | null;
|
|
126
126
|
readonly score: ScoredValue | null;
|
|
127
|
-
readonly coverage: InspectionSuccessDocumentFor<"run.
|
|
128
|
-
readonly usage: InspectionSuccessDocumentFor<"run.
|
|
129
|
-
readonly limitations: InspectionSuccessDocumentFor<"run.
|
|
127
|
+
readonly coverage: InspectionSuccessDocumentFor<"run.get">["run"]["slots"][number]["coverage"];
|
|
128
|
+
readonly usage: InspectionSuccessDocumentFor<"run.get">["run"]["slots"][number]["usage"];
|
|
129
|
+
readonly limitations: InspectionSuccessDocumentFor<"run.get">["run"]["slots"][number]["limitations"];
|
|
130
130
|
}[];
|
|
131
131
|
}
|
|
132
132
|
export interface AttemptView {
|
|
@@ -258,7 +258,7 @@ export type DiffView = {
|
|
|
258
258
|
} & InspectionSuccessDocumentFor<"attempt.diff">["diff"];
|
|
259
259
|
export declare function projectOverview(document: InspectionSuccessDocumentFor<"overview.get">): OverviewView;
|
|
260
260
|
export declare function projectExperiment(document: InspectionSuccessDocumentFor<"experiment.get">): ExperimentView;
|
|
261
|
-
export declare function projectRun(document: InspectionSuccessDocumentFor<"run.
|
|
261
|
+
export declare function projectRun(document: InspectionSuccessDocumentFor<"run.get">): RunView;
|
|
262
262
|
export declare function projectAttempt(document: InspectionSuccessDocumentFor<"attempt.get">, usage?: InspectionSuccessDocumentFor<"attempt.usage">): AttemptView;
|
|
263
263
|
export declare function projectSources(document: InspectionSuccessDocumentFor<"attempt.sources">, locator: string): SourcesView;
|
|
264
264
|
export declare function projectTrace(document: InspectionSuccessDocumentFor<"attempt.trace">, locator: string): TraceView;
|
package/dist/show/model.d.ts
CHANGED
|
@@ -111,9 +111,9 @@ export interface RunView {
|
|
|
111
111
|
readonly completedAt?: number;
|
|
112
112
|
readonly expected: number;
|
|
113
113
|
readonly observed: number;
|
|
114
|
-
readonly coverage: InspectionSuccessDocumentFor<"run.
|
|
115
|
-
readonly usage: InspectionSuccessDocumentFor<"run.
|
|
116
|
-
readonly limitations: InspectionSuccessDocumentFor<"run.
|
|
114
|
+
readonly coverage: InspectionSuccessDocumentFor<"run.get">["run"]["coverage"];
|
|
115
|
+
readonly usage: InspectionSuccessDocumentFor<"run.get">["run"]["usage"];
|
|
116
|
+
readonly limitations: InspectionSuccessDocumentFor<"run.get">["run"]["limitations"];
|
|
117
117
|
readonly members: readonly {
|
|
118
118
|
readonly slotId: string;
|
|
119
119
|
readonly evalId: string;
|
|
@@ -124,9 +124,9 @@ export interface RunView {
|
|
|
124
124
|
readonly outcome: AttemptOutcome | null;
|
|
125
125
|
readonly verdict: Verdict | null;
|
|
126
126
|
readonly score: ScoredValue | null;
|
|
127
|
-
readonly coverage: InspectionSuccessDocumentFor<"run.
|
|
128
|
-
readonly usage: InspectionSuccessDocumentFor<"run.
|
|
129
|
-
readonly limitations: InspectionSuccessDocumentFor<"run.
|
|
127
|
+
readonly coverage: InspectionSuccessDocumentFor<"run.get">["run"]["slots"][number]["coverage"];
|
|
128
|
+
readonly usage: InspectionSuccessDocumentFor<"run.get">["run"]["slots"][number]["usage"];
|
|
129
|
+
readonly limitations: InspectionSuccessDocumentFor<"run.get">["run"]["slots"][number]["limitations"];
|
|
130
130
|
}[];
|
|
131
131
|
}
|
|
132
132
|
export interface AttemptView {
|
|
@@ -258,7 +258,7 @@ export type DiffView = {
|
|
|
258
258
|
} & InspectionSuccessDocumentFor<"attempt.diff">["diff"];
|
|
259
259
|
export declare function projectOverview(document: InspectionSuccessDocumentFor<"overview.get">): OverviewView;
|
|
260
260
|
export declare function projectExperiment(document: InspectionSuccessDocumentFor<"experiment.get">): ExperimentView;
|
|
261
|
-
export declare function projectRun(document: InspectionSuccessDocumentFor<"run.
|
|
261
|
+
export declare function projectRun(document: InspectionSuccessDocumentFor<"run.get">): RunView;
|
|
262
262
|
export declare function projectAttempt(document: InspectionSuccessDocumentFor<"attempt.get">, usage?: InspectionSuccessDocumentFor<"attempt.usage">): AttemptView;
|
|
263
263
|
export declare function projectSources(document: InspectionSuccessDocumentFor<"attempt.sources">, locator: string): SourcesView;
|
|
264
264
|
export declare function projectTrace(document: InspectionSuccessDocumentFor<"attempt.trace">, locator: string): TraceView;
|
package/dist/show/render.cjs
CHANGED
|
@@ -1420,6 +1420,19 @@ function totalCostBlocks(costs) {
|
|
|
1420
1420
|
rows: costs.values.map((cost) => [cost.currency, cost.value, cost.source]), overflow: "wrap" }]),
|
|
1421
1421
|
];
|
|
1422
1422
|
}
|
|
1423
|
+
function cacheReadBlocks(report) {
|
|
1424
|
+
if (report === undefined)
|
|
1425
|
+
return [];
|
|
1426
|
+
const row = (label, summary) => [
|
|
1427
|
+
label, summary.rate.state === "exact" ? `${(summary.rate.value * 100).toFixed(2)}%` : "Unavailable",
|
|
1428
|
+
`${summary.coveredCalls}/${summary.recordedCalls}`, summary.collectionComplete ? "Complete" : "Incomplete",
|
|
1429
|
+
summary.reasons.join(", ") || "—",
|
|
1430
|
+
];
|
|
1431
|
+
return [{ kind: "divider", title: "Cache read rate" }, { kind: "table",
|
|
1432
|
+
columns: [{ header: "Scope" }, { header: "Rate" }, { header: "Covered calls" }, { header: "Collection" }, { header: "Reasons" }],
|
|
1433
|
+
rows: [row("Total", report.total), ...report.modelSlots.map((group) => row(`Slot: ${group.modelSlot ?? "not-recorded"}`, group)),
|
|
1434
|
+
...report.models.map((group) => row(`${group.modelSlot ?? "not-recorded"} / ${group.provider ?? "not-recorded"} / ${group.model ?? "not-recorded"}`, group))], overflow: "wrap" }];
|
|
1435
|
+
}
|
|
1423
1436
|
function modelUsageBlocks(value) {
|
|
1424
1437
|
const configured = value.configuredModels;
|
|
1425
1438
|
const groups = value.modelGroups;
|
|
@@ -1438,6 +1451,7 @@ function modelUsageBlocks(value) {
|
|
|
1438
1451
|
: [{ kind: "table", columns: [{ header: "Slot" }, { header: "Configured model" }, { header: "Effort" }, { header: "Recorded calls" }],
|
|
1439
1452
|
rows: configured.bindings.map((binding) => [binding.modelSlot, binding.model ?? "—", binding.reasoningEffort ?? "—", recordedCalls(binding.recordedCalls)]), overflow: "wrap" }];
|
|
1440
1453
|
return [
|
|
1454
|
+
...cacheReadBlocks(value.cacheRead),
|
|
1441
1455
|
{ kind: "divider", title: "Configured model slots" },
|
|
1442
1456
|
...configurationBlocks,
|
|
1443
1457
|
{ kind: "divider", title: "Actual model usage" },
|