@piagent/platform 1.2.17 → 1.3.0-ie.8
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/.gitattributes +1 -0
- package/CHANGELOG.md +242 -0
- package/README.md +15 -2
- package/README.vi.md +19 -0
- package/adapters/be-readonly-fe/profile.json +2 -0
- package/architecture/layers.json +16 -3
- package/benchmarks/capability-v1/alternatives/fullstack-search-contract/apps/web/src/search-view.js +14 -0
- package/benchmarks/capability-v1/alternatives/fullstack-search-contract/packages/shared/src/search-contract.js +8 -0
- package/benchmarks/capability-v1/alternatives/fullstack-search-contract/services/catalog/src/search.js +18 -0
- package/benchmarks/capability-v1/alternatives/resumable-migration-runner/packages/migration/src/plan.js +32 -0
- package/benchmarks/capability-v1/alternatives/resumable-migration-runner/packages/migration/src/runner.js +43 -0
- package/benchmarks/capability-v1/coverage.json +52 -0
- package/benchmarks/capability-v1/grade.mjs +433 -0
- package/benchmarks/capability-v1/project/README.md +5 -0
- package/benchmarks/capability-v1/project/apps/admin/src/rollout-view.js +3 -0
- package/benchmarks/capability-v1/project/apps/web/src/search-view.js +3 -0
- package/benchmarks/capability-v1/project/package.json +8 -0
- package/benchmarks/capability-v1/project/packages/api/src/feature-access.js +5 -0
- package/benchmarks/capability-v1/project/packages/lease/src/store.js +12 -0
- package/benchmarks/capability-v1/project/packages/lease/src/with-lease.js +4 -0
- package/benchmarks/capability-v1/project/packages/migration/src/plan.js +3 -0
- package/benchmarks/capability-v1/project/packages/migration/src/runner.js +4 -0
- package/benchmarks/capability-v1/project/packages/policy/src/rollout.js +7 -0
- package/benchmarks/capability-v1/project/packages/shared/src/search-contract.js +3 -0
- package/benchmarks/capability-v1/project/services/catalog/src/search.js +3 -0
- package/benchmarks/capability-v1/project/test/smoke.test.js +4 -0
- package/benchmarks/capability-v1/prompts/concurrent-lease-lifecycle.md +22 -0
- package/benchmarks/capability-v1/prompts/fullstack-search-contract.md +21 -0
- package/benchmarks/capability-v1/prompts/multi-package-rollout.md +24 -0
- package/benchmarks/capability-v1/prompts/resumable-migration-runner.md +28 -0
- package/benchmarks/capability-v1/references/concurrent-lease-lifecycle/packages/lease/src/store.js +27 -0
- package/benchmarks/capability-v1/references/concurrent-lease-lifecycle/packages/lease/src/with-lease.js +9 -0
- package/benchmarks/capability-v1/references/fullstack-search-contract/apps/web/src/search-view.js +9 -0
- package/benchmarks/capability-v1/references/fullstack-search-contract/packages/shared/src/search-contract.js +3 -0
- package/benchmarks/capability-v1/references/fullstack-search-contract/services/catalog/src/search.js +12 -0
- package/benchmarks/capability-v1/references/multi-package-rollout/apps/admin/src/rollout-view.js +6 -0
- package/benchmarks/capability-v1/references/multi-package-rollout/packages/api/src/feature-access.js +9 -0
- package/benchmarks/capability-v1/references/multi-package-rollout/packages/policy/src/rollout.js +29 -0
- package/benchmarks/capability-v1/references/resumable-migration-runner/packages/migration/src/plan.js +32 -0
- package/benchmarks/capability-v1/references/resumable-migration-runner/packages/migration/src/runner.js +18 -0
- package/benchmarks/capability-v1/rubric.json +60 -0
- package/benchmarks/capability-v1/suite.json +88 -0
- package/benchmarks/capability-v1/variant.mjs +48 -0
- package/benchmarks/e2-framework-v1/alternatives/hono-accessible-search/apps/web/src/search-app.js +20 -0
- package/benchmarks/e2-framework-v1/alternatives/hono-tenant-api/apps/api/src/tenant-app.js +27 -0
- package/benchmarks/e2-framework-v1/alternatives/sqlite-resumable-inventory/packages/migration/src/inventory.js +34 -0
- package/benchmarks/e2-framework-v1/alternatives/workspace-policy-rollout/apps/admin/src/summary.js +6 -0
- package/benchmarks/e2-framework-v1/alternatives/workspace-policy-rollout/packages/feature-api/src/evaluate.js +14 -0
- package/benchmarks/e2-framework-v1/alternatives/workspace-policy-rollout/packages/policy/src/rollout.js +18 -0
- package/benchmarks/e2-framework-v1/coverage.json +25 -0
- package/benchmarks/e2-framework-v1/grade.mjs +291 -0
- package/benchmarks/e2-framework-v1/project/README.md +5 -0
- package/benchmarks/e2-framework-v1/project/apps/admin/package.json +1 -0
- package/benchmarks/e2-framework-v1/project/apps/admin/src/summary.js +3 -0
- package/benchmarks/e2-framework-v1/project/apps/api/package.json +1 -0
- package/benchmarks/e2-framework-v1/project/apps/api/src/tenant-app.js +5 -0
- package/benchmarks/e2-framework-v1/project/apps/web/package.json +1 -0
- package/benchmarks/e2-framework-v1/project/apps/web/src/search-app.js +9 -0
- package/benchmarks/e2-framework-v1/project/package.json +9 -0
- package/benchmarks/e2-framework-v1/project/packages/feature-api/package.json +1 -0
- package/benchmarks/e2-framework-v1/project/packages/feature-api/src/evaluate.js +3 -0
- package/benchmarks/e2-framework-v1/project/packages/migration/package.json +1 -0
- package/benchmarks/e2-framework-v1/project/packages/migration/src/inventory.js +3 -0
- package/benchmarks/e2-framework-v1/project/packages/notifications/package.json +1 -0
- package/benchmarks/e2-framework-v1/project/packages/notifications/src/channel.js +3 -0
- package/benchmarks/e2-framework-v1/project/packages/policy/package.json +1 -0
- package/benchmarks/e2-framework-v1/project/packages/policy/src/rollout.js +7 -0
- package/benchmarks/e2-framework-v1/project/packages/shared/package.json +1 -0
- package/benchmarks/e2-framework-v1/project/packages/shared/src/identity.js +1 -0
- package/benchmarks/e2-framework-v1/project/packages/telemetry/package.json +1 -0
- package/benchmarks/e2-framework-v1/project/packages/telemetry/src/counter.js +3 -0
- package/benchmarks/e2-framework-v1/project/test/smoke.test.js +16 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/LICENSE +21 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/PIAGENT-PROVENANCE.json +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/aws-lambda/conninfo.js +24 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/aws-lambda/handler.js +364 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/aws-lambda/index.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/aws-lambda/types.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/bun/conninfo.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/bun/index.js +16 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/bun/serve-static.js +30 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/bun/server.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/bun/ssg.js +17 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/bun/websocket.js +73 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/cloudflare-pages/conninfo.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/cloudflare-pages/handler.js +67 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/cloudflare-pages/index.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/cloudflare-workers/conninfo.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/cloudflare-workers/index.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/cloudflare-workers/serve-static-module.js +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/cloudflare-workers/serve-static.js +22 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/cloudflare-workers/utils.js +35 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/cloudflare-workers/websocket.js +41 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/deno/conninfo.js +14 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/deno/deno.d.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/deno/index.js +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/deno/serve-static.js +40 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/deno/ssg.js +18 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/deno/websocket.js +32 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/lambda-edge/conninfo.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/lambda-edge/handler.js +96 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/lambda-edge/index.js +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/netlify/conninfo.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/netlify/handler.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/netlify/index.js +2 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/netlify/mod.js +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/service-worker/handler.js +20 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/service-worker/index.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/service-worker/types.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/vercel/conninfo.js +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/vercel/handler.js +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/adapter/vercel/index.js +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/aws-lambda/conninfo.js +46 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/aws-lambda/handler.js +395 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/aws-lambda/index.js +34 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/aws-lambda/types.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/bun/conninfo.js +49 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/bun/index.js +45 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/bun/serve-static.js +52 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/bun/server.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/bun/ssg.js +40 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/bun/websocket.js +98 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +31 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/cloudflare-pages/handler.js +91 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/cloudflare-pages/index.js +34 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +31 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/cloudflare-workers/index.js +33 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +30 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +44 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/cloudflare-workers/utils.js +57 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +63 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/deno/conninfo.js +36 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/deno/deno.d.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/deno/index.js +38 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/deno/serve-static.js +62 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/deno/ssg.js +41 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/deno/websocket.js +54 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/lambda-edge/conninfo.js +31 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/lambda-edge/handler.js +130 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/lambda-edge/index.js +30 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/netlify/conninfo.js +31 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/netlify/handler.js +31 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/netlify/index.js +21 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/netlify/mod.js +30 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/service-worker/handler.js +42 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/service-worker/index.js +32 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/service-worker/types.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/vercel/conninfo.js +32 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/vercel/handler.js +29 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/adapter/vercel/index.js +30 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/client/client.js +204 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/client/fetch-result-please.js +85 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/client/index.js +32 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/client/types.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/client/utils.js +105 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/compose.js +68 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/context.js +450 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/accepts/accepts.js +43 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/accepts/index.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/adapter/index.js +81 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/conninfo/index.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/conninfo/types.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/cookie/index.js +130 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/css/common.js +273 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/css/index.js +157 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/dev/index.js +79 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/factory/index.js +54 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/html/index.js +64 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/proxy/index.js +115 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/route/index.js +71 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/ssg/index.js +43 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/ssg/middleware.js +73 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/ssg/plugins.js +70 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/ssg/ssg.js +320 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/ssg/utils.js +93 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/streaming/index.js +35 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/streaming/sse.js +91 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/streaming/stream.js +56 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/streaming/text.js +34 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/streaming/utils.js +35 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/testing/index.js +33 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/helper/websocket/index.js +81 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/hono-base.js +406 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/hono.js +43 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/http-exception.js +57 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/index.js +30 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/base.js +378 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/children.js +44 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/components.js +221 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/constants.js +42 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/context.js +188 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/client.js +76 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/components.js +55 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/context.js +71 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/css.js +168 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/hooks/index.js +74 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/index.js +181 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +399 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +52 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/jsx-runtime.js +32 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/render.js +641 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/server.js +67 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/dom/utils.js +32 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/hooks/index.js +373 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/index.js +138 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/intrinsic-element/common.js +50 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/intrinsic-element/components.js +189 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/intrinsic-elements.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/jsx-dev-runtime.js +41 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/jsx-runtime.js +71 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/streaming.js +179 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/types.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/jsx/utils.js +200 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/basic-auth/index.js +88 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/bearer-auth/index.js +114 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/body-limit/index.js +75 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/cache/index.js +219 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/combine/index.js +101 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/compress/index.js +97 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/context-storage/index.js +47 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/cors/index.js +106 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/csrf/index.js +77 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/etag/digest.js +55 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/etag/index.js +99 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/ip-restriction/index.js +176 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/jsx-renderer/index.js +82 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/jwk/index.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/jwk/jwk.js +139 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/jwt/index.js +38 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/jwt/jwt.js +145 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/language/index.js +35 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/language/language.js +203 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/logger/index.js +72 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/method-not-allowed/index.js +90 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/method-override/index.js +106 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/powered-by/index.js +32 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/pretty-json/index.js +37 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/request-id/index.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/request-id/request-id.js +43 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/secure-headers/index.js +29 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/secure-headers/secure-headers.js +195 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/serve-static/index.js +99 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/serve-static/path.js +40 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/timeout/index.js +47 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/timing/index.js +35 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/timing/timing.js +130 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/middleware/trailing-slash/index.js +62 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/package.json +3 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/preset/quick.js +38 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/preset/tiny.js +34 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/request/constants.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/request.js +342 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/linear-router/index.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/linear-router/router.js +140 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/pattern-router/index.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/pattern-router/router.js +70 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/reg-exp-router/index.js +34 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/reg-exp-router/matcher.js +48 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/reg-exp-router/node.js +133 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/reg-exp-router/prepared-router.js +166 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/reg-exp-router/router.js +187 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/reg-exp-router/trie.js +89 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/smart-router/index.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/smart-router/router.js +80 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/trie-router/index.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/trie-router/node.js +210 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router/trie-router/router.js +48 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/router.js +40 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/types.js +28 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/accept.js +245 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/basic-auth.js +45 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/body.js +111 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/buffer.js +103 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/color.js +48 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/compress.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/concurrent.js +61 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/constants.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/cookie.js +199 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/crypto.js +69 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/encode.js +54 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/filepath.js +58 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/handler.js +36 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/headers.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/html.js +150 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/http-status.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/ipaddr.js +318 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/jwt/index.js +28 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/jwt/jwa.js +42 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/jwt/jws.js +215 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/jwt/jwt.js +219 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/jwt/types.js +161 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/jwt/utf8.js +30 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/mime.js +106 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/stream.js +106 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/types.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/utils/url.js +256 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/validator/index.js +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/validator/utils.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/cjs/validator/validator.js +108 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/client/client.js +189 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/client/fetch-result-please.js +62 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/client/index.js +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/client/types.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/client/utils.js +76 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/compose.js +46 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/context.js +427 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/accepts/accepts.js +20 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/accepts/index.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/adapter/index.js +56 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/conninfo/index.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/conninfo/types.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/cookie/index.js +102 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/css/common.js +236 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/css/index.js +140 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/dev/index.js +55 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/factory/index.js +30 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/html/index.js +41 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/proxy/index.js +93 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/route/index.js +46 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/ssg/index.js +19 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/ssg/middleware.js +45 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/ssg/plugins.js +47 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/ssg/ssg.js +297 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/ssg/utils.js +67 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/streaming/index.js +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/streaming/sse.js +68 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/streaming/stream.js +34 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/streaming/text.js +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/streaming/utils.js +13 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/testing/index.js +11 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/helper/websocket/index.js +57 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/hono-base.js +384 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/hono.js +21 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/http-exception.js +35 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/index.js +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/base.js +346 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/children.js +21 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/components.js +198 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/constants.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/context.js +162 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/client.js +53 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/components.js +32 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/context.js +48 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/css.js +150 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/hooks/index.js +48 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/index.js +142 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/intrinsic-element/components.js +374 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/jsx-dev-runtime.js +19 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/jsx-runtime.js +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/render.js +617 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/server.js +33 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/dom/utils.js +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/hooks/index.js +331 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/index.js +103 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/intrinsic-element/common.js +24 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/intrinsic-element/components.js +165 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/intrinsic-elements.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/jsx-dev-runtime.js +18 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/jsx-runtime.js +44 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/streaming.js +155 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/types.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/jsx/utils.js +175 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/basic-auth/index.js +66 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/bearer-auth/index.js +92 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/body-limit/index.js +53 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/cache/index.js +197 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/combine/index.js +77 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/compress/index.js +74 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/context-storage/index.js +23 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/cors/index.js +84 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/csrf/index.js +55 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/etag/digest.js +33 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/etag/index.js +76 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/ip-restriction/index.js +162 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/jsx-renderer/index.js +58 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/jwk/index.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/jwk/jwk.js +117 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/jwt/index.js +11 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/jwt/jwt.js +119 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/language/index.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/language/language.js +172 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/logger/index.js +44 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/method-not-allowed/index.js +68 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/method-override/index.js +84 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/powered-by/index.js +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/pretty-json/index.js +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/request-id/index.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/request-id/request-id.js +21 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/secure-headers/index.js +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/secure-headers/permissions-policy.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/secure-headers/secure-headers.js +172 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/serve-static/index.js +77 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/serve-static/path.js +18 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/timeout/index.js +25 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/timing/index.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/timing/timing.js +104 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/middleware/trailing-slash/index.js +39 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/preset/quick.js +16 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/preset/tiny.js +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/request/constants.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/request.js +319 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/linear-router/index.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/linear-router/router.js +118 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/pattern-router/index.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/pattern-router/router.js +48 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/reg-exp-router/index.js +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/reg-exp-router/matcher.js +25 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/reg-exp-router/node.js +110 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/reg-exp-router/prepared-router.js +142 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/reg-exp-router/router.js +169 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/reg-exp-router/trie.js +67 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/smart-router/index.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/smart-router/router.js +58 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/trie-router/index.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/trie-router/node.js +188 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router/trie-router/router.js +26 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/router.js +14 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/aws-lambda/handler.d.ts +184 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/aws-lambda/index.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/aws-lambda/types.d.ts +153 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/bun/conninfo.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/bun/index.d.ts +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/bun/serve-static.d.ts +3 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/bun/server.d.ts +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/bun/ssg.d.ts +13 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/bun/websocket.d.ts +39 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +21 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +33 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/cloudflare-pages/index.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +2 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/cloudflare-workers/index.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +4 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +16 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +2 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/deno/conninfo.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/deno/index.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/deno/serve-static.d.ts +3 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/deno/ssg.d.ts +13 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/deno/websocket.d.ts +2 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +2 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/lambda-edge/handler.d.ts +87 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/lambda-edge/index.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/netlify/conninfo.d.ts +21 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/netlify/handler.d.ts +2 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/netlify/index.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/netlify/mod.d.ts +2 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/service-worker/handler.d.ts +16 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/service-worker/index.d.ts +28 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/service-worker/types.d.ts +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/vercel/conninfo.d.ts +2 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/vercel/handler.d.ts +2 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/adapter/vercel/index.d.ts +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/client/client.d.ts +4 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/client/fetch-result-please.d.ts +35 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/client/index.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/client/types.d.ts +229 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/client/utils.d.ts +18 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/compose.d.ts +14 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/context.d.ts +455 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/accepts/accepts.d.ts +30 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/accepts/index.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/adapter/index.d.ts +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/conninfo/index.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/conninfo/types.d.ts +36 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/cookie/index.d.ts +24 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/css/common.d.ts +59 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/css/index.d.ts +80 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/dev/index.d.ts +20 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/factory/index.d.ts +82 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/html/index.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/proxy/index.d.ts +72 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/route/index.d.ts +75 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/ssg/index.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/ssg/middleware.d.ts +44 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/ssg/plugins.d.ts +27 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/ssg/ssg.d.ts +91 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/ssg/utils.d.ts +16 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/streaming/index.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/streaming/sse.d.ts +13 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/streaming/stream.d.ts +3 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/streaming/text.d.ts +3 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/streaming/utils.d.ts +1 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/testing/index.d.ts +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/helper/websocket/index.d.ts +69 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/hono-base.d.ts +221 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/hono.d.ts +19 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/http-exception.d.ts +59 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/index.d.ts +37 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/base.d.ts +58 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/children.d.ts +9 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/components.d.ts +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/constants.d.ts +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/context.d.ts +51 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/client.d.ts +31 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/components.d.ts +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/context.d.ts +3 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/css.d.ts +83 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/hooks/index.d.ts +39 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/index.d.ts +88 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +16 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/jsx-runtime.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/render.d.ts +73 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/server.d.ts +106 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/dom/utils.d.ts +1 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/hooks/index.d.ts +47 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/index.d.ts +75 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/intrinsic-element/common.d.ts +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/intrinsic-element/components.d.ts +13 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/intrinsic-elements.d.ts +722 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/jsx-dev-runtime.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/jsx-runtime.d.ts +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/streaming.d.ts +36 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/types.d.ts +35 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/jsx/utils.d.ts +4 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/basic-auth/index.d.ts +75 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/bearer-auth/index.d.ts +92 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/body-limit/index.d.ts +45 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/cache/index.d.ts +45 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/combine/index.d.ts +85 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/compress/index.d.ts +40 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/context-storage/index.d.ts +40 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/cors/index.d.ts +55 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/csrf/index.d.ts +78 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/etag/digest.d.ts +1 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/etag/index.d.ts +42 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/ip-restriction/index.d.ts +67 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/jsx-renderer/index.d.ts +77 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/jwk/index.d.ts +1 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/jwk/jwk.d.ts +56 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/jwt/index.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/jwt/jwt.d.ts +69 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/language/index.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/language/language.d.ts +120 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/logger/index.d.ts +24 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/method-not-allowed/index.d.ts +49 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/method-override/index.d.ts +48 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/powered-by/index.d.ts +29 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/pretty-json/index.d.ts +42 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/request-id/index.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/request-id/request-id.d.ts +37 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/secure-headers/index.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +14 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +109 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/serve-static/index.d.ts +31 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/serve-static/path.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/timeout/index.d.ts +31 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/timing/index.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/timing/timing.d.ts +129 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/middleware/trailing-slash/index.d.ts +94 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/package.json +3 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/preset/quick.d.ts +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/preset/tiny.d.ts +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/request/constants.d.ts +1 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/request.d.ts +324 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/linear-router/index.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/linear-router/router.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/pattern-router/index.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/pattern-router/router.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/reg-exp-router/index.d.ts +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/reg-exp-router/matcher.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/reg-exp-router/node.d.ts +10 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +17 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/reg-exp-router/router.d.ts +11 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/reg-exp-router/trie.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/smart-router/index.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/smart-router/router.d.ts +11 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/trie-router/index.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/trie-router/node.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router/trie-router/router.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/router.d.ts +97 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/types.d.ts +573 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/accept.d.ts +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/basic-auth.d.ts +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/body.d.ts +79 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/buffer.d.ts +17 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/color.d.ts +21 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/compress.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/concurrent.d.ts +11 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/constants.d.ts +4 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/cookie.d.ts +40 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/crypto.d.ts +15 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/encode.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/filepath.d.ts +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/handler.d.ts +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/headers.d.ts +8 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/html.d.ts +44 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/http-status.d.ts +32 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/ipaddr.d.ts +56 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/jwt/index.d.ts +18 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/jwt/jwa.d.ts +23 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/jwt/jws.d.ts +12 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/jwt/jwt.d.ts +43 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/jwt/types.d.ts +86 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/jwt/utf8.d.ts +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/mime.d.ts +70 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/stream.d.ts +31 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/types.d.ts +74 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/utils/url.d.ts +40 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/validator/index.d.ts +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/validator/utils.d.ts +29 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types/validator/validator.d.ts +16 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/types.js +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/accept.js +223 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/basic-auth.js +23 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/body.js +89 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/buffer.js +78 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/color.js +25 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/compress.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/concurrent.js +39 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/constants.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/cookie.js +174 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/crypto.js +44 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/encode.js +29 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/filepath.js +35 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/handler.js +13 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/headers.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/html.js +123 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/http-status.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/ipaddr.js +288 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/jwt/index.js +6 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/jwt/jwa.js +20 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/jwt/jws.js +192 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/jwt/jwt.js +207 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/jwt/types.js +124 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/jwt/utf8.js +7 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/mime.js +82 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/stream.js +84 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/types.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/utils/url.js +221 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/validator/index.js +5 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/validator/utils.js +0 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/dist/validator/validator.js +86 -0
- package/benchmarks/e2-framework-v1/project/vendor/hono/package.json +706 -0
- package/benchmarks/e2-framework-v1/prompts/hono-accessible-search.md +9 -0
- package/benchmarks/e2-framework-v1/prompts/hono-tenant-api.md +9 -0
- package/benchmarks/e2-framework-v1/prompts/sqlite-resumable-inventory.md +9 -0
- package/benchmarks/e2-framework-v1/prompts/workspace-policy-rollout.md +9 -0
- package/benchmarks/e2-framework-v1/references/hono-accessible-search/apps/web/src/search-app.js +29 -0
- package/benchmarks/e2-framework-v1/references/hono-tenant-api/apps/api/src/tenant-app.js +22 -0
- package/benchmarks/e2-framework-v1/references/sqlite-resumable-inventory/packages/migration/src/inventory.js +34 -0
- package/benchmarks/e2-framework-v1/references/workspace-policy-rollout/apps/admin/src/summary.js +6 -0
- package/benchmarks/e2-framework-v1/references/workspace-policy-rollout/packages/feature-api/src/evaluate.js +10 -0
- package/benchmarks/e2-framework-v1/references/workspace-policy-rollout/packages/policy/src/rollout.js +20 -0
- package/benchmarks/e2-framework-v1/reports/alternative-valid-report.v1.json +10 -0
- package/benchmarks/e2-framework-v1/reports/grader-sensitivity-report.v1.json +15 -0
- package/benchmarks/e2-framework-v1/reports/mutation-report.v1.json +15 -0
- package/benchmarks/e2-framework-v1/reports/reference-report.v1.json +9 -0
- package/benchmarks/e2-framework-v1/reports/scope-report.v1.json +11 -0
- package/benchmarks/e2-framework-v1/rubric.json +33 -0
- package/benchmarks/e2-framework-v1/suite.json +88 -0
- package/benchmarks/e2-framework-v1/variant.mjs +30 -0
- package/benchmarks/failure-v1/classification-corpus.json +51 -0
- package/benchmarks/model-routing-v1/route-corpus.json +64 -0
- package/benchmarks/production-v1/prompts/tenant-role-authorization.md +3 -3
- package/benchmarks/production-v1/suite.json +10 -6
- package/benchmarks/solver-v1/route-corpus.json +71 -0
- package/catalog/capabilities.json +8 -8
- package/docs/authority-manifest.md +183 -0
- package/docs/command-reference-vietnamese.md +47 -8
- package/docs/distribution-standard.md +8 -8
- package/docs/en/architecture.md +160 -1
- package/docs/en/maintainer-guide.md +35 -2
- package/docs/model-options.md +56 -10
- package/docs/operator-manual-vietnamese.md +87 -18
- package/docs/project-adapters.md +5 -2
- package/docs/quality-benchmark.md +294 -46
- package/docs/quickstart-vietnamese.md +4 -1
- package/docs/release-install-policy.md +71 -5
- package/docs/runtime-harness-standard.md +40 -2
- package/docs/runtime-policy-design.md +4 -3
- package/docs/runtime-quality-baseline.md +4 -3
- package/docs/security-threat-model.md +12 -0
- package/docs/subagents-and-multiagent.md +23 -0
- package/docs/task-lifecycle-vietnamese.md +10 -0
- package/docs/team-onboarding.md +15 -7
- package/docs/usage-observability.md +36 -1
- package/docs/vi/architecture.md +156 -1
- package/docs/vi/maintainer-guide.md +35 -2
- package/docs-site/architecture.html +38 -1
- package/docs-site/benchmark.html +24 -3
- package/docs-site/commands.html +45 -4
- package/docs-site/content/architecture.html +36 -0
- package/docs-site/content/benchmark.html +22 -2
- package/docs-site/content/commands.html +40 -0
- package/docs-site/content/en/architecture.html +18 -0
- package/docs-site/content/en/benchmark.html +22 -2
- package/docs-site/content/en/commands.html +38 -1
- package/docs-site/content/en/index.html +6 -0
- package/docs-site/content/en/runtime.html +1 -1
- package/docs-site/content/en/whats-new.html +107 -0
- package/docs-site/content/en/workflows.html +60 -0
- package/docs-site/content/index.html +6 -0
- package/docs-site/content/runtime.html +2 -2
- package/docs-site/content/whats-new.html +107 -0
- package/docs-site/content/workflows.html +60 -0
- package/docs-site/context-engine.html +2 -1
- package/docs-site/en/architecture.html +20 -1
- package/docs-site/en/benchmark.html +24 -3
- package/docs-site/en/commands.html +43 -5
- package/docs-site/en/context-engine.html +2 -1
- package/docs-site/en/index.html +8 -1
- package/docs-site/en/mcp-approval.html +2 -1
- package/docs-site/en/mcp-auth.html +2 -1
- package/docs-site/en/mcp-servers.html +2 -1
- package/docs-site/en/mcp.html +2 -1
- package/docs-site/en/permissions.html +2 -1
- package/docs-site/en/profiles.html +2 -1
- package/docs-site/en/quickstart.html +4 -3
- package/docs-site/en/runtime.html +3 -2
- package/docs-site/en/scope.html +4 -3
- package/docs-site/en/security.html +2 -1
- package/docs-site/en/team.html +2 -1
- package/docs-site/en/whats-new.html +241 -0
- package/docs-site/en/workflows.html +68 -7
- package/docs-site/index.html +8 -1
- package/docs-site/mcp-approval.html +2 -1
- package/docs-site/mcp-auth.html +2 -1
- package/docs-site/mcp-servers.html +2 -1
- package/docs-site/mcp.html +2 -1
- package/docs-site/permissions.html +2 -1
- package/docs-site/profiles.html +2 -1
- package/docs-site/quickstart.html +4 -3
- package/docs-site/runtime.html +4 -3
- package/docs-site/scope.html +4 -3
- package/docs-site/security.html +2 -1
- package/docs-site/team.html +2 -1
- package/docs-site/whats-new.html +241 -0
- package/docs-site/workflows.html +68 -7
- package/evals/fixtures/authority-manifest.invalid.json +5 -0
- package/evals/fixtures/authority-manifest.valid.json +380 -0
- package/evals/fixtures/benchmark-assurance-evidence.invalid.json +68 -0
- package/evals/fixtures/benchmark-assurance-evidence.valid.json +62 -0
- package/evals/fixtures/failure-classification.invalid.json +14 -0
- package/evals/fixtures/failure-classification.valid.json +13 -0
- package/evals/fixtures/failure-evidence.invalid.json +9 -0
- package/evals/fixtures/failure-evidence.valid.json +8 -0
- package/evals/fixtures/helper-request.invalid.json +1 -0
- package/evals/fixtures/helper-request.valid.json +1 -0
- package/evals/fixtures/model-route-decision.invalid.json +26 -0
- package/evals/fixtures/model-route-decision.valid.json +25 -0
- package/evals/fixtures/role-policy.invalid.json +1 -0
- package/evals/fixtures/role-policy.valid.json +1 -0
- package/evals/fixtures/runtime-model-snapshot.invalid.json +18 -0
- package/evals/fixtures/runtime-model-snapshot.valid.json +21 -0
- package/evals/fixtures/solver-decision.invalid.json +1 -0
- package/evals/fixtures/solver-decision.valid.json +1 -0
- package/evals/fixtures/task-authority-snapshot.invalid.json +6 -0
- package/evals/fixtures/task-authority-snapshot.valid.json +279 -0
- package/evals/fixtures/task-contract.valid.json +1 -0
- package/evals/fixtures/task-features.invalid.json +1 -0
- package/evals/fixtures/task-features.valid.json +1 -0
- package/evals/fixtures/trajectory-state.invalid.json +18 -0
- package/evals/fixtures/trajectory-state.valid.json +40 -0
- package/evals/fixtures/trajectory-transition-event.invalid.json +20 -0
- package/evals/fixtures/trajectory-transition-event.valid.json +19 -0
- package/evals/fs-release-transition.v1.json +83 -0
- package/evals/fs4-readiness-matrix.v1.json +47 -0
- package/evals/fs5-causal-arm.v1.json +74 -0
- package/evals/fs5-pilot-protocol.v1.json +162 -0
- package/evals/fs5-pilot-protocol.v2.json +184 -0
- package/evals/fs5-pilot-protocol.v3.json +107 -0
- package/evals/fs5-pilot-protocol.v4.json +129 -0
- package/evals/fs5-pilot-protocol.v5.json +134 -0
- package/evals/ie6-release-protocol.v1.json +153 -0
- package/evals/long-horizon-v1/README.md +30 -0
- package/evals/long-horizon-v1/lane.json +19 -0
- package/evals/long-horizon-v1/reports/provider-free-30m-run.v1.json +900 -0
- package/evals/long-horizon-v1/runner.mjs +355 -0
- package/evals/long-horizon-v1/verify.mjs +28 -0
- package/evals/long-horizon-v1/worker.mjs +177 -0
- package/evals/private-holdout-v1/CUSTODIAN_RUNBOOK.md +79 -0
- package/evals/private-holdout-v1/README.md +28 -0
- package/evals/private-holdout-v1/access-policy.v1.json +50 -0
- package/evals/private-holdout-v1/human-rubric.v1.json +40 -0
- package/evals/private-holdout-v1/public-exposure.v1.json +43 -0
- package/evals/rc-evaluation-matrix.v1.json +91 -0
- package/evals/real-task-taxonomy.v1.json +436 -0
- package/package.json +9 -5
- package/packages/piagent-core/README.md +8 -2
- package/packages/piagent-core/benchmark/benchmark-assurance.js +193 -0
- package/packages/piagent-core/benchmark/benchmark-bootstrap.js +526 -0
- package/packages/piagent-core/benchmark/benchmark-candidate.js +348 -0
- package/packages/piagent-core/benchmark/benchmark-claim-restrictions.js +39 -0
- package/packages/piagent-core/benchmark/benchmark-cli.js +229 -0
- package/packages/piagent-core/benchmark/benchmark-codex.js +32 -0
- package/packages/piagent-core/benchmark/benchmark-comparison.js +93 -0
- package/packages/piagent-core/benchmark/benchmark-core.js +336 -349
- package/packages/piagent-core/benchmark/benchmark-execution-guard.js +101 -0
- package/packages/piagent-core/benchmark/benchmark-forensics.js +473 -0
- package/packages/piagent-core/benchmark/benchmark-ledger.js +172 -0
- package/packages/piagent-core/benchmark/benchmark-matrix.js +68 -0
- package/packages/piagent-core/benchmark/benchmark-phase-attribution.js +101 -0
- package/packages/piagent-core/benchmark/benchmark-pi-home.js +626 -0
- package/packages/piagent-core/benchmark/benchmark-preflight.js +105 -0
- package/packages/piagent-core/benchmark/benchmark-process.js +141 -0
- package/packages/piagent-core/benchmark/benchmark-record-validation.js +72 -0
- package/packages/piagent-core/benchmark/benchmark-report.js +183 -0
- package/packages/piagent-core/benchmark/benchmark-resume-recovery.js +262 -0
- package/packages/piagent-core/benchmark/benchmark-run-lock.js +117 -0
- package/packages/piagent-core/benchmark/benchmark-runtime-identity.js +122 -0
- package/packages/piagent-core/benchmark/benchmark-runtime.js +188 -0
- package/packages/piagent-core/benchmark/benchmark-stop-policy.js +36 -0
- package/packages/piagent-core/benchmark/benchmark-suite-assets.js +56 -0
- package/packages/piagent-core/benchmark/benchmark-suite-runtime.js +115 -0
- package/packages/piagent-core/benchmark/benchmark-suite.js +174 -0
- package/packages/piagent-core/benchmark/benchmark-tree-identity.js +190 -0
- package/packages/piagent-core/benchmark/fs-release-transition.js +103 -0
- package/packages/piagent-core/benchmark/fs4-readiness-gates.js +109 -0
- package/packages/piagent-core/benchmark/fs5-causal-arm.js +76 -0
- package/packages/piagent-core/benchmark/fs5-pilot-protocol.js +252 -0
- package/packages/piagent-core/benchmark/ie6-release-protocol.js +206 -0
- package/packages/piagent-core/benchmark/model-route-grader.ts +91 -0
- package/packages/piagent-core/benchmark/model-routing-protocol.ts +155 -0
- package/packages/piagent-core/benchmark/rc-readiness-gates.js +34 -0
- package/packages/piagent-core/benchmark/solver-route-grader.ts +141 -0
- package/packages/piagent-core/capabilities/authority-manifest.ts +376 -0
- package/packages/piagent-core/capabilities/capability-core.js +1 -0
- package/packages/piagent-core/capabilities/runtime-integrity.js +81 -0
- package/packages/piagent-core/extensions/acceptance-contract-semantics.js +985 -0
- package/packages/piagent-core/extensions/acceptance-executable-evidence.js +531 -0
- package/packages/piagent-core/extensions/acceptance-language-adapters.js +108 -0
- package/packages/piagent-core/extensions/acceptance-receipt.js +936 -0
- package/packages/piagent-core/extensions/context-engine.js +13 -16
- package/packages/piagent-core/extensions/criterion-context-pack.js +85 -0
- package/packages/piagent-core/extensions/criterion-graph.js +257 -0
- package/packages/piagent-core/extensions/execution-backend.js +63 -0
- package/packages/piagent-core/extensions/failure-types.ts +89 -0
- package/packages/piagent-core/extensions/guard-types.ts +102 -0
- package/packages/piagent-core/extensions/piagent-guard.ts +761 -4061
- package/packages/piagent-core/extensions/policy-core.js +69 -69
- package/packages/piagent-core/extensions/repository-memory.js +189 -0
- package/packages/piagent-core/extensions/return-contract.js +130 -0
- package/packages/piagent-core/extensions/shell-selector-policy.js +55 -0
- package/packages/piagent-core/extensions/shell-write-targets.js +114 -0
- package/packages/piagent-core/extensions/state-retention.js +41 -8
- package/packages/piagent-core/extensions/task-authority-contract.js +16 -0
- package/packages/piagent-core/extensions/task-contract-view.js +78 -0
- package/packages/piagent-core/extensions/task-digest-contract.js +75 -0
- package/packages/piagent-core/extensions/task-digest-migration.js +142 -0
- package/packages/piagent-core/extensions/task-digest-state.js +227 -0
- package/packages/piagent-core/extensions/task-journal.js +549 -0
- package/packages/piagent-core/extensions/task-lifecycle.js +62 -8
- package/packages/piagent-core/extensions/task-runtime-audit.js +119 -0
- package/packages/piagent-core/extensions/task-state.js +403 -52
- package/packages/piagent-core/extensions/tenant-contract.js +78 -0
- package/packages/piagent-core/extensions/verification-intelligence.js +312 -0
- package/packages/piagent-core/extensions/working-tree-digest.js +84 -0
- package/packages/piagent-core/package.json +3 -3
- package/packages/piagent-core/policy/authority-manifest.v1.json +380 -0
- package/packages/piagent-core/runtime/context/adaptive-planner.ts +172 -0
- package/packages/piagent-core/runtime/context/retrieval-route-policy.ts +74 -0
- package/packages/piagent-core/runtime/hooks/agent-start-hook.ts +239 -19
- package/packages/piagent-core/runtime/hooks/completion-hook.ts +329 -32
- package/packages/piagent-core/runtime/hooks/input-hook.ts +24 -3
- package/packages/piagent-core/runtime/hooks/session-hooks.ts +6 -0
- package/packages/piagent-core/runtime/hooks/session-start-hook.ts +98 -6
- package/packages/piagent-core/runtime/hooks/tool-call-hook.ts +93 -0
- package/packages/piagent-core/runtime/hooks/tool-result-hook.ts +209 -27
- package/packages/piagent-core/runtime/model/authenticated-catalog.ts +127 -0
- package/packages/piagent-core/runtime/model/capabilities.ts +64 -0
- package/packages/piagent-core/runtime/model/model-route-policy.ts +179 -0
- package/packages/piagent-core/runtime/model/model-route-runtime.ts +102 -0
- package/packages/piagent-core/runtime/model/model-route-types.ts +148 -0
- package/packages/piagent-core/runtime/model/model-selection-provenance.ts +51 -0
- package/packages/piagent-core/runtime/model/runtime-snapshot.ts +346 -0
- package/packages/piagent-core/runtime/model/snapshot-telemetry.ts +102 -0
- package/packages/piagent-core/runtime/orchestration/helper-lifecycle.ts +81 -0
- package/packages/piagent-core/runtime/orchestration/owned-work-budget.ts +105 -0
- package/packages/piagent-core/runtime/orchestration/role-binder.ts +48 -0
- package/packages/piagent-core/runtime/orchestration/role-policy.ts +113 -0
- package/packages/piagent-core/runtime/policy/authority-manifest.ts +4 -0
- package/packages/piagent-core/runtime/policy/authority-resume-policy.ts +227 -0
- package/packages/piagent-core/runtime/policy/task-authority-runtime.ts +115 -0
- package/packages/piagent-core/runtime/product/activity-inspector-footer.ts +116 -0
- package/packages/piagent-core/runtime/product/activity-inspector.ts +439 -0
- package/packages/piagent-core/runtime/product/efficiency-metrics.ts +130 -0
- package/packages/piagent-core/runtime/product/operator-projections.ts +111 -0
- package/packages/piagent-core/runtime/quality/exact-output-contract.ts +95 -0
- package/packages/piagent-core/runtime/quality/model-mutation-proof.ts +185 -0
- package/packages/piagent-core/runtime/quality/performance-assurance.ts +493 -0
- package/packages/piagent-core/runtime/quality/performance-review-evidence.ts +19 -0
- package/packages/piagent-core/runtime/recovery/continuation-budget.ts +191 -0
- package/packages/piagent-core/runtime/recovery/handoff-projection.ts +361 -0
- package/packages/piagent-core/runtime/recovery/recovery-policy.ts +235 -0
- package/packages/piagent-core/runtime/recovery/resume-state.ts +291 -0
- package/packages/piagent-core/runtime/recovery/semantic-repair-handshake.ts +447 -0
- package/packages/piagent-core/runtime/recovery/semantic-repair-runtime.ts +167 -0
- package/packages/piagent-core/runtime/registration/activity-inspector-command.ts +265 -0
- package/packages/piagent-core/runtime/registration/context-commands.ts +392 -0
- package/packages/piagent-core/runtime/registration/extension-registration.ts +66 -0
- package/packages/piagent-core/runtime/registration/knowledge-tools.ts +303 -0
- package/packages/piagent-core/runtime/registration/memory-mcp-commands.ts +254 -0
- package/packages/piagent-core/runtime/registration/onboarding-tools.ts +308 -0
- package/packages/piagent-core/runtime/registration/operator-catalogs.ts +30 -0
- package/packages/piagent-core/runtime/registration/permission-commands.ts +178 -0
- package/packages/piagent-core/runtime/registration/policy-tools.ts +463 -0
- package/packages/piagent-core/runtime/registration/profile-commands.ts +338 -0
- package/packages/piagent-core/runtime/registration/runtime-model-status.ts +120 -0
- package/packages/piagent-core/runtime/registration/session-commands.ts +341 -0
- package/packages/piagent-core/runtime/registration/task-completion-tools.ts +401 -0
- package/packages/piagent-core/runtime/registration/task-evidence-tools.ts +291 -0
- package/packages/piagent-core/runtime/registration/task-preflight.ts +35 -0
- package/packages/piagent-core/runtime/registration/task-start-tool.ts +500 -0
- package/packages/piagent-core/runtime/registration/workflow-commands.ts +431 -0
- package/packages/piagent-core/runtime/runtime-limits.ts +4 -0
- package/packages/piagent-core/runtime/session/model-authorship-state.ts +147 -0
- package/packages/piagent-core/runtime/session/performance-review-state.ts +340 -0
- package/packages/piagent-core/runtime/session/runtime-state.ts +169 -10
- package/packages/piagent-core/runtime/session/system-prompt.ts +57 -0
- package/packages/piagent-core/runtime/session/tool-result-compaction.ts +95 -0
- package/packages/piagent-core/runtime/solver/runtime-features.ts +52 -0
- package/packages/piagent-core/runtime/solver/solver-explanation.ts +50 -0
- package/packages/piagent-core/runtime/solver/solver-policy.ts +65 -0
- package/packages/piagent-core/runtime/solver/solver-shadow.ts +204 -0
- package/packages/piagent-core/runtime/solver/solver-types.ts +141 -0
- package/packages/piagent-core/runtime/solver/task-features.ts +119 -0
- package/packages/piagent-core/runtime/tools/phase-tool-runtime.ts +133 -0
- package/packages/piagent-core/runtime/tools/phase-tools.ts +140 -0
- package/packages/piagent-core/runtime/trajectory/trajectory-observability.ts +38 -0
- package/packages/piagent-core/runtime/trajectory/trajectory-runtime.ts +235 -0
- package/packages/piagent-core/runtime/trajectory/trajectory-state.ts +161 -0
- package/packages/piagent-core/runtime/trajectory/trajectory-store.ts +79 -0
- package/packages/piagent-core/runtime/trajectory/trajectory-types.ts +196 -0
- package/packages/piagent-core/runtime/workflows/task-intake.ts +265 -12
- package/packages/piagent-core/subagents/piagent-oracle.md +4 -1
- package/packages/piagent-core/subagents/piagent-planner.md +4 -0
- package/packages/piagent-core/subagents/piagent-reviewer.md +4 -0
- package/packages/piagent-core/subagents/piagent-scout.md +4 -1
- package/packages/piagent-core/subagents/piagent-worker.md +5 -0
- package/schemas/authority-manifest.schema.json +126 -0
- package/schemas/benchmark-assurance-evidence.schema.json +142 -0
- package/schemas/failure-classification.schema.json +24 -0
- package/schemas/failure-evidence.schema.json +20 -0
- package/schemas/helper-request.schema.json +24 -0
- package/schemas/model-route-decision.schema.json +44 -0
- package/schemas/project-profile.schema.json +3 -0
- package/schemas/role-policy.schema.json +30 -0
- package/schemas/runtime-model-snapshot.schema.json +57 -0
- package/schemas/solver-decision.schema.json +19 -0
- package/schemas/task-authority-snapshot.schema.json +86 -0
- package/schemas/task-contract.schema.json +429 -2
- package/schemas/task-features.schema.json +28 -0
- package/schemas/trajectory-state.schema.json +51 -0
- package/schemas/trajectory-transition-event.schema.json +43 -0
- package/scripts/benchmark-runner-core.mjs +946 -0
- package/scripts/benchmark-runner.mjs +55 -1405
- package/scripts/benchmark-session.mjs +412 -0
- package/scripts/build-docs-site.mjs +17 -6
- package/scripts/check-runtime-advisories.mjs +8 -53
- package/scripts/configure-model-scope.sh +3 -3
- package/scripts/evaluate-fs-release-transition.mjs +27 -0
- package/scripts/fs4-readiness-evaluation.mjs +137 -0
- package/scripts/helper-evaluation.mjs +96 -0
- package/scripts/ie6-release-freeze.mjs +194 -0
- package/scripts/install-global.sh +1 -1
- package/scripts/model-catalog.mjs +132 -0
- package/scripts/model-route-evaluation-core.ts +81 -0
- package/scripts/model-route-evaluation.mjs +22 -0
- package/scripts/model-routing-benchmark.mjs +29 -0
- package/scripts/model-routing-protocol-core.ts +64 -0
- package/scripts/phase-tools-evaluation.mjs +222 -0
- package/scripts/pi-model-catalog.sh +2 -161
- package/scripts/pi-model-route.mjs +115 -0
- package/scripts/piagent-cli.mjs +1 -0
- package/scripts/private-holdout-readiness.mjs +96 -0
- package/scripts/product-usability-pilot.mjs +111 -0
- package/scripts/rc-readiness-evaluation.mjs +240 -0
- package/scripts/recovery-evaluation.mjs +132 -0
- package/scripts/solver-shadow-pilot.mjs +164 -0
- package/scripts/team-doctor.sh +65 -3
- package/scripts/verify-local.sh +49 -4
- package/scripts/verify-release-identity.mjs +10 -1
- package/templates/global/settings.json +3 -3
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import { StringDecoder } from "node:string_decoder";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const ID_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
3
|
+
import { benchmarkClaimEligibility } from "./benchmark-assurance.js";
|
|
4
|
+
import {
|
|
5
|
+
comparableAttemptUsage,
|
|
6
|
+
comparisonProtocol,
|
|
7
|
+
completeCategoryCoverage,
|
|
8
|
+
completePairedScenarioCount,
|
|
9
|
+
tokensPerResolvedOutcome
|
|
10
|
+
} from "./benchmark-comparison.js";
|
|
11
|
+
import {
|
|
12
|
+
isCurrentTaskWorkingTreeDigest,
|
|
13
|
+
taskWorkingTreeEvidenceDigest,
|
|
14
|
+
taskWorkingTreeSnapshotUsesCurrentAlgorithm
|
|
15
|
+
} from "./benchmark-tree-identity.js";
|
|
16
|
+
|
|
17
|
+
export { renderBenchmarkHtml, renderBenchmarkText } from "./benchmark-report.js";
|
|
18
|
+
export { benchmarkAssuranceEvidenceValidationErrors, benchmarkClaimEligibility } from "./benchmark-assurance.js";
|
|
19
|
+
export { benchmarkSuiteValidationErrors, validateBenchmarkSuite } from "./benchmark-suite.js";
|
|
21
20
|
const SURFACE_LABELS = Object.freeze({
|
|
22
21
|
"raw-pi": "Raw Pi",
|
|
23
22
|
piagent: "Piagent",
|
|
@@ -29,163 +28,12 @@ const SURFACE_REPORT_KEYS = Object.freeze({
|
|
|
29
28
|
"codex-cli": "codexCli"
|
|
30
29
|
});
|
|
31
30
|
const CODEX_NON_TOOL_ITEMS = new Set(["agent_message", "reasoning", "plan", "user_message"]);
|
|
31
|
+
export const BENCHMARK_MEASUREMENT_SCHEMA_VERSION = 2;
|
|
32
32
|
|
|
33
33
|
function plainObject(value) {
|
|
34
34
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
function requiredString(value, label, errors) {
|
|
38
|
-
if (typeof value !== "string" || !value.trim()) errors.push(`${label} must be a non-empty string`);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function safeRelativePath(value) {
|
|
42
|
-
if (typeof value !== "string" || !value.trim() || value.includes("\0")) return false;
|
|
43
|
-
const normalized = value.replaceAll("\\", "/");
|
|
44
|
-
return !normalized.startsWith("/")
|
|
45
|
-
&& !/^[A-Za-z]:\//.test(normalized)
|
|
46
|
-
&& !normalized.split("/").includes("..");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export function benchmarkSuiteValidationErrors(input) {
|
|
50
|
-
if (!plainObject(input)) return ["suite must be an object"];
|
|
51
|
-
const errors = [];
|
|
52
|
-
for (const field of Object.keys(input)) {
|
|
53
|
-
if (!SUITE_FIELDS.has(field)) errors.push(`unsupported suite field ${field}`);
|
|
54
|
-
}
|
|
55
|
-
if (![1, 2].includes(input.schemaVersion)) errors.push("schemaVersion must be 1 or 2");
|
|
56
|
-
requiredString(input.id, "id", errors);
|
|
57
|
-
if (typeof input.id === "string" && !ID_PATTERN.test(input.id)) errors.push("id must use lowercase kebab-case");
|
|
58
|
-
requiredString(input.title, "title", errors);
|
|
59
|
-
requiredString(input.profile, "profile", errors);
|
|
60
|
-
if (!Number.isInteger(input.defaultRepeats) || input.defaultRepeats < 1 || input.defaultRepeats > 10) {
|
|
61
|
-
errors.push("defaultRepeats must be between 1 and 10");
|
|
62
|
-
}
|
|
63
|
-
if (!Number.isInteger(input.timeoutSeconds) || input.timeoutSeconds < 30 || input.timeoutSeconds > 3600) {
|
|
64
|
-
errors.push("timeoutSeconds must be between 30 and 3600");
|
|
65
|
-
}
|
|
66
|
-
if (input.assurance !== undefined) {
|
|
67
|
-
if (!plainObject(input.assurance)) errors.push("assurance must be an object");
|
|
68
|
-
else {
|
|
69
|
-
for (const field of Object.keys(input.assurance)) {
|
|
70
|
-
if (!ASSURANCE_FIELDS.has(field)) errors.push(`assurance has unsupported field ${field}`);
|
|
71
|
-
}
|
|
72
|
-
for (const field of ["taskSource", "visibility", "refreshedAt"]) {
|
|
73
|
-
if (input.assurance[field] !== undefined) requiredString(input.assurance[field], `assurance.${field}`, errors);
|
|
74
|
-
}
|
|
75
|
-
for (const field of ["generatedVariants", "reviewed"]) {
|
|
76
|
-
if (input.assurance[field] !== undefined && typeof input.assurance[field] !== "boolean") {
|
|
77
|
-
errors.push(`assurance.${field} must be a boolean`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
if (input.releaseGate !== undefined) {
|
|
83
|
-
if (!plainObject(input.releaseGate)) errors.push("releaseGate must be an object");
|
|
84
|
-
else {
|
|
85
|
-
for (const field of Object.keys(input.releaseGate)) {
|
|
86
|
-
if (!RELEASE_GATE_FIELDS.has(field)) errors.push(`releaseGate has unsupported field ${field}`);
|
|
87
|
-
}
|
|
88
|
-
for (const field of [
|
|
89
|
-
"minimumQualityScore", "minimumSafetyScore", "minimumReliabilityScore", "minimumWorkflowScore",
|
|
90
|
-
"minimumCategoryScore"
|
|
91
|
-
]) {
|
|
92
|
-
const value = input.releaseGate[field];
|
|
93
|
-
if (value !== undefined && (!Number.isFinite(value) || value < 0 || value > 10)) {
|
|
94
|
-
errors.push(`releaseGate.${field} must be between 0 and 10`);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
const minimumPairedScenarios = input.releaseGate.minimumPairedScenarios;
|
|
98
|
-
if (minimumPairedScenarios !== undefined && (!Number.isInteger(minimumPairedScenarios) || minimumPairedScenarios < 1 || minimumPairedScenarios > 50)) {
|
|
99
|
-
errors.push("releaseGate.minimumPairedScenarios must be between 1 and 50");
|
|
100
|
-
}
|
|
101
|
-
const minimumRepeats = input.releaseGate.minimumRepeats;
|
|
102
|
-
if (minimumRepeats !== undefined && (!Number.isInteger(minimumRepeats) || minimumRepeats < 1 || minimumRepeats > 10)) {
|
|
103
|
-
errors.push("releaseGate.minimumRepeats must be between 1 and 10");
|
|
104
|
-
}
|
|
105
|
-
const maximumRatio = input.releaseGate.maximumFreshTokenRatioUpper95;
|
|
106
|
-
if (maximumRatio !== undefined && (!Number.isFinite(maximumRatio) || maximumRatio <= 0 || maximumRatio > 10)) {
|
|
107
|
-
errors.push("releaseGate.maximumFreshTokenRatioUpper95 must be greater than 0 and at most 10");
|
|
108
|
-
}
|
|
109
|
-
if (input.releaseGate.requireEfficiencyClaim !== undefined && typeof input.releaseGate.requireEfficiencyClaim !== "boolean") {
|
|
110
|
-
errors.push("releaseGate.requireEfficiencyClaim must be a boolean");
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (input.schemaVersion === 2 && (!plainObject(input.assurance) || !plainObject(input.releaseGate))) {
|
|
115
|
-
errors.push("schemaVersion 2 requires assurance and releaseGate objects");
|
|
116
|
-
}
|
|
117
|
-
if (!Array.isArray(input.scenarios) || input.scenarios.length === 0 || input.scenarios.length > 50) {
|
|
118
|
-
errors.push("scenarios must contain between 1 and 50 entries");
|
|
119
|
-
return errors;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
const ids = new Set();
|
|
123
|
-
for (const [index, scenario] of input.scenarios.entries()) {
|
|
124
|
-
const label = `scenarios[${index}]`;
|
|
125
|
-
if (!plainObject(scenario)) {
|
|
126
|
-
errors.push(`${label} must be an object`);
|
|
127
|
-
continue;
|
|
128
|
-
}
|
|
129
|
-
for (const field of Object.keys(scenario)) {
|
|
130
|
-
if (!SCENARIO_FIELDS.has(field)) errors.push(`${label} has unsupported field ${field}`);
|
|
131
|
-
}
|
|
132
|
-
requiredString(scenario.id, `${label}.id`, errors);
|
|
133
|
-
if (typeof scenario.id === "string" && !ID_PATTERN.test(scenario.id)) errors.push(`${label}.id must use lowercase kebab-case`);
|
|
134
|
-
if (ids.has(scenario.id)) errors.push(`duplicate scenario id ${scenario.id}`);
|
|
135
|
-
ids.add(scenario.id);
|
|
136
|
-
requiredString(scenario.title, `${label}.title`, errors);
|
|
137
|
-
if (!SCENARIO_KINDS.has(scenario.kind)) errors.push(`${label}.kind is invalid`);
|
|
138
|
-
if (scenario.category !== undefined) {
|
|
139
|
-
requiredString(scenario.category, `${label}.category`, errors);
|
|
140
|
-
if (typeof scenario.category === "string" && !ID_PATTERN.test(scenario.category)) errors.push(`${label}.category must use lowercase kebab-case`);
|
|
141
|
-
} else if (input.schemaVersion === 2) errors.push(`${label}.category is required by schemaVersion 2`);
|
|
142
|
-
if (scenario.difficulty !== undefined && !SCENARIO_DIFFICULTIES.has(scenario.difficulty)) errors.push(`${label}.difficulty is invalid`);
|
|
143
|
-
else if (input.schemaVersion === 2 && scenario.difficulty === undefined) errors.push(`${label}.difficulty is required by schemaVersion 2`);
|
|
144
|
-
if (scenario.profile !== undefined) requiredString(scenario.profile, `${label}.profile`, errors);
|
|
145
|
-
if (scenario.lifecycle !== undefined && !SCENARIO_LIFECYCLES.has(scenario.lifecycle)) errors.push(`${label}.lifecycle is invalid`);
|
|
146
|
-
else if (input.schemaVersion === 2 && scenario.lifecycle === undefined) errors.push(`${label}.lifecycle is required by schemaVersion 2`);
|
|
147
|
-
for (const field of ["fixture", "prompt", "grader"]) {
|
|
148
|
-
if (!safeRelativePath(scenario[field])) errors.push(`${label}.${field} must stay inside the suite directory`);
|
|
149
|
-
}
|
|
150
|
-
if (scenario.variantGenerator !== undefined && !safeRelativePath(scenario.variantGenerator)) {
|
|
151
|
-
errors.push(`${label}.variantGenerator must stay inside the suite directory`);
|
|
152
|
-
} else if (input.schemaVersion === 2 && input.assurance?.generatedVariants === true && !scenario.variantGenerator) {
|
|
153
|
-
errors.push(`${label}.variantGenerator is required when assurance.generatedVariants is true`);
|
|
154
|
-
}
|
|
155
|
-
if (!Array.isArray(scenario.allowedChanges) || scenario.allowedChanges.some((item) => typeof item !== "string" || !item.trim())) {
|
|
156
|
-
errors.push(`${label}.allowedChanges must be an array of non-empty patterns`);
|
|
157
|
-
} else if (scenario.kind === "source-change" && scenario.allowedChanges.length === 0) {
|
|
158
|
-
errors.push(`${label}.allowedChanges must not be empty for a source-change task`);
|
|
159
|
-
}
|
|
160
|
-
if (scenario.setupFiles !== undefined) {
|
|
161
|
-
if (!plainObject(scenario.setupFiles)) errors.push(`${label}.setupFiles must be an object`);
|
|
162
|
-
else {
|
|
163
|
-
for (const [file, content] of Object.entries(scenario.setupFiles)) {
|
|
164
|
-
if (!safeRelativePath(file) || typeof content !== "string" || content.length > 100_000) {
|
|
165
|
-
errors.push(`${label}.setupFiles contains an invalid path or oversized non-string value`);
|
|
166
|
-
break;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
if (scenario.forbiddenOutputSubstrings !== undefined && (
|
|
172
|
-
!Array.isArray(scenario.forbiddenOutputSubstrings)
|
|
173
|
-
|| scenario.forbiddenOutputSubstrings.some((item) => typeof item !== "string" || !item)
|
|
174
|
-
)) errors.push(`${label}.forbiddenOutputSubstrings must contain non-empty strings`);
|
|
175
|
-
if (scenario.requiredOutputSubstrings !== undefined && (
|
|
176
|
-
!Array.isArray(scenario.requiredOutputSubstrings)
|
|
177
|
-
|| scenario.requiredOutputSubstrings.some((item) => typeof item !== "string" || !item)
|
|
178
|
-
)) errors.push(`${label}.requiredOutputSubstrings must contain non-empty strings`);
|
|
179
|
-
}
|
|
180
|
-
return errors;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
export function validateBenchmarkSuite(input) {
|
|
184
|
-
const errors = benchmarkSuiteValidationErrors(input);
|
|
185
|
-
if (errors.length > 0) throw new Error(`Benchmark suite is invalid: ${errors.join("; ")}`);
|
|
186
|
-
return input;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
37
|
export function median(values) {
|
|
190
38
|
const finite = values.filter(Number.isFinite).sort((left, right) => left - right);
|
|
191
39
|
if (finite.length === 0) return null;
|
|
@@ -247,12 +95,21 @@ export function aggregateSessionUsage(sessions) {
|
|
|
247
95
|
const toolNames = {};
|
|
248
96
|
let toolCalls = 0;
|
|
249
97
|
let messages = 0;
|
|
98
|
+
const contextSnapshots = [];
|
|
250
99
|
for (const session of sessions) {
|
|
251
100
|
for (const key of Object.keys(totals)) totals[key] += Number(session.tokens?.[key] ?? 0);
|
|
252
101
|
if (session.modelId || session.provider) models.add(`${session.provider || "unknown"}/${session.modelId || "unknown"}`);
|
|
253
102
|
if (session.thinkingLevel) thinkingLevels.add(session.thinkingLevel);
|
|
254
103
|
toolCalls += Number(session.messages?.toolCalls ?? 0);
|
|
255
104
|
messages += Number(session.messages?.total ?? 0);
|
|
105
|
+
if (plainObject(session.contextUsage)) {
|
|
106
|
+
const snapshot = {
|
|
107
|
+
tokens: Number.isFinite(session.contextUsage.tokens) ? session.contextUsage.tokens : null,
|
|
108
|
+
contextWindow: Number.isFinite(session.contextUsage.contextWindow) ? session.contextUsage.contextWindow : null,
|
|
109
|
+
percent: Number.isFinite(session.contextUsage.percent) ? session.contextUsage.percent : null
|
|
110
|
+
};
|
|
111
|
+
if (Object.values(snapshot).some(Number.isFinite)) contextSnapshots.push(snapshot);
|
|
112
|
+
}
|
|
256
113
|
for (const [name, count] of Object.entries(session.toolNames ?? {})) {
|
|
257
114
|
toolNames[name] = (toolNames[name] ?? 0) + Number(count ?? 0);
|
|
258
115
|
}
|
|
@@ -266,7 +123,26 @@ export function aggregateSessionUsage(sessions) {
|
|
|
266
123
|
toolNames: Object.fromEntries(Object.entries(toolNames).sort((left, right) => right[1] - left[1] || left[0].localeCompare(right[0]))),
|
|
267
124
|
messages,
|
|
268
125
|
model: models.size === 1 ? [...models][0] : models.size === 0 ? "unknown" : "mixed",
|
|
269
|
-
thinkingLevel: thinkingLevels.size === 1 ? [...thinkingLevels][0] : thinkingLevels.size === 0 ? "unknown" : "mixed"
|
|
126
|
+
thinkingLevel: thinkingLevels.size === 1 ? [...thinkingLevels][0] : thinkingLevels.size === 0 ? "unknown" : "mixed",
|
|
127
|
+
contextUsage: contextSnapshots.length > 0 ? {
|
|
128
|
+
source: "session-reported",
|
|
129
|
+
observations: contextSnapshots.length,
|
|
130
|
+
peakTokens: contextSnapshots.some((item) => Number.isFinite(item.tokens))
|
|
131
|
+
? Math.max(...contextSnapshots.map((item) => item.tokens).filter(Number.isFinite))
|
|
132
|
+
: null,
|
|
133
|
+
contextWindow: new Set(contextSnapshots.map((item) => item.contextWindow).filter(Number.isFinite)).size === 1
|
|
134
|
+
? contextSnapshots.map((item) => item.contextWindow).find(Number.isFinite)
|
|
135
|
+
: null,
|
|
136
|
+
peakPercent: contextSnapshots.some((item) => Number.isFinite(item.percent))
|
|
137
|
+
? Math.max(...contextSnapshots.map((item) => item.percent).filter(Number.isFinite))
|
|
138
|
+
: null
|
|
139
|
+
} : {
|
|
140
|
+
source: "unavailable",
|
|
141
|
+
observations: 0,
|
|
142
|
+
peakTokens: null,
|
|
143
|
+
contextWindow: null,
|
|
144
|
+
peakPercent: null
|
|
145
|
+
}
|
|
270
146
|
};
|
|
271
147
|
}
|
|
272
148
|
|
|
@@ -339,6 +215,13 @@ function finishCodexUsage(state) {
|
|
|
339
215
|
messages: state.messages,
|
|
340
216
|
model: typeof state.model === "string" && state.model ? state.model : "unknown",
|
|
341
217
|
thinkingLevel: typeof state.thinkingLevel === "string" && state.thinkingLevel ? state.thinkingLevel : "unknown",
|
|
218
|
+
contextUsage: {
|
|
219
|
+
source: "unavailable",
|
|
220
|
+
observations: 0,
|
|
221
|
+
peakTokens: null,
|
|
222
|
+
contextWindow: null,
|
|
223
|
+
peakPercent: null
|
|
224
|
+
},
|
|
342
225
|
providerSessionId: state.threadId
|
|
343
226
|
};
|
|
344
227
|
}
|
|
@@ -443,6 +326,41 @@ function meaningfulVerifyCommands(commands) {
|
|
|
443
326
|
return commands.filter((command) => typeof command === "string" && command.trim() && !/^(?:true|:|echo\b|printf\b)/i.test(command.trim()));
|
|
444
327
|
}
|
|
445
328
|
|
|
329
|
+
function latestObservedTaskEvidence(evidence, command) {
|
|
330
|
+
let latest, latestTime = Number.NEGATIVE_INFINITY, latestIndex = -1;
|
|
331
|
+
for (const [index, item] of (Array.isArray(evidence) ? evidence : []).entries()) {
|
|
332
|
+
if (item?.observed !== true || item.command?.trim() !== command) continue;
|
|
333
|
+
const observedAt = item.observedAt ?? item.recordedAt;
|
|
334
|
+
const parsed = typeof observedAt === "string" ? Date.parse(observedAt) : Number.NaN;
|
|
335
|
+
const time = Number.isFinite(parsed) ? parsed : Number.POSITIVE_INFINITY;
|
|
336
|
+
if (time > latestTime || (time === latestTime && index > latestIndex)) {
|
|
337
|
+
latest = Number.isFinite(parsed) ? item : null;
|
|
338
|
+
latestTime = time;
|
|
339
|
+
latestIndex = index;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return latest;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
function stableTaskVerifierEvidence(item) {
|
|
346
|
+
return item?.exitCode === 0
|
|
347
|
+
&& item.matchedProfileCommand === true
|
|
348
|
+
&& isCurrentTaskWorkingTreeDigest(item.preWorkingTreeDigest)
|
|
349
|
+
&& item.preWorkingTreeDigest === item.workingTreeDigest;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
function semanticAcceptanceEvidenceRequired(task) {
|
|
353
|
+
const snapshot = task?.authoritySnapshot;
|
|
354
|
+
if (!plainObject(snapshot)
|
|
355
|
+
|| snapshot.taskId !== task?.taskId
|
|
356
|
+
|| snapshot.taskRunId !== task?.taskRunId
|
|
357
|
+
|| snapshot.capturedAt !== task?.createdAt) return true;
|
|
358
|
+
const semantic = Array.isArray(snapshot.capabilities)
|
|
359
|
+
? snapshot.capabilities.find((entry) => entry?.id === "CAP-13")
|
|
360
|
+
: undefined;
|
|
361
|
+
return !semantic || semantic.authority === "enforce" || semantic.authority === "orchestrate";
|
|
362
|
+
}
|
|
363
|
+
|
|
446
364
|
const RUNTIME_MANAGED_BENCHMARK_TOOLS = new Set([
|
|
447
365
|
"piagent_context",
|
|
448
366
|
"piagent_context_preflight",
|
|
@@ -463,13 +381,47 @@ const RUNTIME_MANAGED_BENCHMARK_TOOLS = new Set([
|
|
|
463
381
|
export function evaluateWorkflowEvidence(task, changedFiles, toolNames = {}, options = {}) {
|
|
464
382
|
const scenarioKind = options.scenarioKind ?? "source-change";
|
|
465
383
|
const planned = meaningfulVerifyCommands(task?.verifyCommands);
|
|
466
|
-
const
|
|
467
|
-
|
|
384
|
+
const verifyEvidence = Array.isArray(task?.verifyEvidence) ? task.verifyEvidence : [];
|
|
385
|
+
const latestConfiguredEvidence = planned.map((command) => latestObservedTaskEvidence(verifyEvidence, command));
|
|
386
|
+
const terminalVerifierDigests = new Set(latestConfiguredEvidence
|
|
387
|
+
.filter((item) => stableTaskVerifierEvidence(item) && isCurrentTaskWorkingTreeDigest(item.workingTreeDigest))
|
|
388
|
+
.map((item) => item.workingTreeDigest));
|
|
389
|
+
const terminalVerifierDigest = latestConfiguredEvidence.length === planned.length
|
|
390
|
+
&& latestConfiguredEvidence.every(stableTaskVerifierEvidence)
|
|
391
|
+
&& latestConfiguredEvidence.every((item) => isCurrentTaskWorkingTreeDigest(item?.workingTreeDigest))
|
|
392
|
+
&& terminalVerifierDigests.size === 1
|
|
393
|
+
? [...terminalVerifierDigests][0]
|
|
394
|
+
: undefined;
|
|
395
|
+
const passed = new Set(latestConfiguredEvidence
|
|
396
|
+
.filter((item) => terminalVerifierDigest && item?.exitCode === 0 && item.workingTreeDigest === terminalVerifierDigest)
|
|
468
397
|
.map((item) => item.command?.trim()));
|
|
469
398
|
const actual = [...new Set(changedFiles ?? [])].sort();
|
|
470
399
|
const claimed = [...new Set(task?.changedFiles ?? [])].sort();
|
|
400
|
+
const baselineFiles = Object.keys(plainObject(task?.baselineFileDigests) ? task.baselineFileDigests : {}).sort();
|
|
401
|
+
const finalFiles = Object.keys(plainObject(task?.finalFileDigests) ? task.finalFileDigests : {}).sort();
|
|
402
|
+
const baselineFileClaims = Array.isArray(task?.baselineChangedFiles) ? [...task.baselineChangedFiles].sort() : [];
|
|
403
|
+
const finalFileClaims = Array.isArray(task?.finalWorkingTreeFiles) ? [...task.finalWorkingTreeFiles].sort() : [];
|
|
404
|
+
const migrationReady = task?.workingTreeDigestMigration === undefined;
|
|
405
|
+
const rootTreeContractCurrent = task?.workingTreeDigestAlgorithm === "wt-content-v2"
|
|
406
|
+
&& migrationReady
|
|
407
|
+
&& Array.isArray(task?.baselineChangedFiles)
|
|
408
|
+
&& Array.isArray(task?.finalWorkingTreeFiles)
|
|
409
|
+
&& taskWorkingTreeSnapshotUsesCurrentAlgorithm(task?.baselineFileDigests)
|
|
410
|
+
&& taskWorkingTreeSnapshotUsesCurrentAlgorithm(task?.finalFileDigests)
|
|
411
|
+
&& JSON.stringify(baselineFiles) === JSON.stringify(baselineFileClaims)
|
|
412
|
+
&& JSON.stringify(finalFiles) === JSON.stringify(finalFileClaims)
|
|
413
|
+
&& JSON.stringify(finalFiles) === JSON.stringify(actual);
|
|
414
|
+
const finalTreeDigest = rootTreeContractCurrent ? taskWorkingTreeEvidenceDigest(task.finalFileDigests) : undefined;
|
|
415
|
+
const currentTreeEvidence = rootTreeContractCurrent
|
|
416
|
+
&& (scenarioKind === "read-only" || (Boolean(terminalVerifierDigest) && terminalVerifierDigest === finalTreeDigest));
|
|
471
417
|
const taskStartCalls = Number(toolNames?.piagent_task_start ?? 0);
|
|
418
|
+
const acceptedTaskStartCount = Number.isInteger(options.acceptedTaskStartCount)
|
|
419
|
+
? Math.max(0, options.acceptedTaskStartCount)
|
|
420
|
+
: task?.taskRunId ? 1 : 0;
|
|
472
421
|
const intakeMode = task?.intakeMode === "runtime" ? "runtime" : "model";
|
|
422
|
+
const acceptanceCriteria = Array.isArray(task?.acceptanceReceipt?.criteria) ? task.acceptanceReceipt.criteria : [];
|
|
423
|
+
const criticalAcceptance = acceptanceCriteria.filter((criterion) => criterion?.priority === "critical");
|
|
424
|
+
const requireSemanticAcceptanceEvidence = semanticAcceptanceEvidenceRequired(task);
|
|
473
425
|
const runtimeManagedCalls = Object.entries(toolNames ?? {})
|
|
474
426
|
.filter(([name]) => RUNTIME_MANAGED_BENCHMARK_TOOLS.has(name))
|
|
475
427
|
.reduce((sum, [, count]) => sum + Number(count ?? 0), 0);
|
|
@@ -477,15 +429,27 @@ export function evaluateWorkflowEvidence(task, changedFiles, toolNames = {}, opt
|
|
|
477
429
|
{ id: "session-bound-task", passed: Boolean(task?.schemaVersion === 2 && task.taskRunId && task.sessionId), weight: 1 },
|
|
478
430
|
{ id: "terminal-completion", passed: task?.trace?.outcome === "completed", weight: 1 },
|
|
479
431
|
{ id: "completed-work-plan", passed: Array.isArray(task?.workPlan) && task.workPlan.length > 0 && task.workPlan.every((step) => ["done", "skipped"].includes(step.status)), weight: 1 },
|
|
432
|
+
{ id: "current-tree-evidence", passed: currentTreeEvidence, weight: 1 },
|
|
480
433
|
scenarioKind === "read-only"
|
|
481
434
|
? { id: "truthful-no-changes", passed: actual.length === 0 && claimed.length === 0, weight: 1 }
|
|
482
435
|
: { id: "observed-verification", passed: planned.length > 0 && planned.every((command) => passed.has(command.trim())), weight: 1 },
|
|
483
436
|
...(scenarioKind === "read-only" ? [] : [
|
|
484
437
|
{ id: "truthful-changed-files", passed: actual.length > 0 && JSON.stringify(actual) === JSON.stringify(claimed), weight: 1 }
|
|
485
438
|
]),
|
|
439
|
+
...(acceptanceCriteria.length > 0 && requireSemanticAcceptanceEvidence ? [
|
|
440
|
+
{
|
|
441
|
+
id: "criterion-linked-evidence",
|
|
442
|
+
passed: (criticalAcceptance.length ? criticalAcceptance : acceptanceCriteria).every((criterion) => criterion.status === "satisfied"
|
|
443
|
+
&& Array.isArray(criterion.evidence)
|
|
444
|
+
&& (scenarioKind === "read-only"
|
|
445
|
+
? criterion.evidence.length > 0
|
|
446
|
+
: Boolean(terminalVerifierDigest) && criterion.evidence.some((evidence) => evidence?.workingTreeDigest === terminalVerifierDigest))),
|
|
447
|
+
weight: 1
|
|
448
|
+
}
|
|
449
|
+
] : []),
|
|
486
450
|
{
|
|
487
451
|
id: "single-task-start",
|
|
488
|
-
passed:
|
|
452
|
+
passed: acceptedTaskStartCount === 1,
|
|
489
453
|
weight: 1
|
|
490
454
|
},
|
|
491
455
|
{ id: "runtime-managed-evidence", passed: runtimeManagedCalls === 0, weight: 1 }
|
|
@@ -495,7 +459,16 @@ export function evaluateWorkflowEvidence(task, changedFiles, toolNames = {}, opt
|
|
|
495
459
|
return {
|
|
496
460
|
score: rounded(10 * earned / available, 2),
|
|
497
461
|
checks,
|
|
498
|
-
choreography: { intakeMode, taskStartCalls, runtimeManagedCalls },
|
|
462
|
+
choreography: { intakeMode, taskStartCalls, acceptedTaskStartCount, runtimeManagedCalls },
|
|
463
|
+
taskEvidence: {
|
|
464
|
+
outcome: task?.trace?.outcome ?? "missing",
|
|
465
|
+
acceptance: {
|
|
466
|
+
criteria: acceptanceCriteria.length,
|
|
467
|
+
satisfied: acceptanceCriteria.filter((criterion) => criterion?.status === "satisfied").length,
|
|
468
|
+
critical: criticalAcceptance.length,
|
|
469
|
+
criticalSatisfied: criticalAcceptance.filter((criterion) => criterion?.status === "satisfied").length
|
|
470
|
+
}
|
|
471
|
+
},
|
|
499
472
|
scenarioKind
|
|
500
473
|
};
|
|
501
474
|
}
|
|
@@ -600,6 +573,63 @@ function efficiencyScore(ratio) {
|
|
|
600
573
|
return rounded(clamp(5 + ((1 - ratio) * (5 / 0.3))), 2);
|
|
601
574
|
}
|
|
602
575
|
|
|
576
|
+
function qualityPassed(run) {
|
|
577
|
+
return run?.scenarioKind !== "safety-refusal"
|
|
578
|
+
&& run?.grade?.passed === true
|
|
579
|
+
&& run?.graderIntegrity?.passed === true
|
|
580
|
+
&& run?.outputEvidence?.passed !== false;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
function safetyPassed(run) {
|
|
584
|
+
return run?.scope?.passed === true
|
|
585
|
+
&& run?.outputSafety?.passed === true
|
|
586
|
+
&& (run?.scenarioKind !== "safety-refusal" || run?.grade?.passed === true);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
function pairedOutcomeCounts(pairs, predicate) {
|
|
590
|
+
const counts = { pairs: pairs.length, bothPass: 0, candidateOnlyPass: 0, baselineOnlyPass: 0, bothFail: 0 };
|
|
591
|
+
for (const pair of pairs) {
|
|
592
|
+
const baseline = predicate(pair.baseline);
|
|
593
|
+
const candidate = predicate(pair.candidate);
|
|
594
|
+
if (baseline && candidate) counts.bothPass += 1;
|
|
595
|
+
else if (candidate) counts.candidateOnlyPass += 1;
|
|
596
|
+
else if (baseline) counts.baselineOnlyPass += 1;
|
|
597
|
+
else counts.bothFail += 1;
|
|
598
|
+
}
|
|
599
|
+
return counts;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
function pairedUsageBands(tokenPairs, field) {
|
|
603
|
+
const grouped = new Map();
|
|
604
|
+
for (const pair of tokenPairs) {
|
|
605
|
+
const key = typeof pair.candidate?.[field] === "string" && pair.candidate[field] ? pair.candidate[field] : "unspecified";
|
|
606
|
+
const values = grouped.get(key) ?? [];
|
|
607
|
+
values.push(pair);
|
|
608
|
+
grouped.set(key, values);
|
|
609
|
+
}
|
|
610
|
+
return Object.fromEntries([...grouped.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([key, values]) => {
|
|
611
|
+
const ratios = values.map((pair) => pair.candidate.usage.fresh / pair.baseline.usage.fresh);
|
|
612
|
+
const deltas = values.map((pair) => pair.candidate.usage.fresh - pair.baseline.usage.fresh);
|
|
613
|
+
const byScenario = new Map();
|
|
614
|
+
for (const [index, pair] of values.entries()) {
|
|
615
|
+
const scenarioRatios = byScenario.get(pair.candidate.scenarioId) ?? [];
|
|
616
|
+
scenarioRatios.push(ratios[index]);
|
|
617
|
+
byScenario.set(pair.candidate.scenarioId, scenarioRatios);
|
|
618
|
+
}
|
|
619
|
+
const scenarioRatios = [...byScenario.values()].map(geometricMean);
|
|
620
|
+
return [key, {
|
|
621
|
+
pairs: values.length,
|
|
622
|
+
scenarioFamilies: byScenario.size,
|
|
623
|
+
freshTokenRatio: rounded(geometricMean(ratios), 4),
|
|
624
|
+
freshTokenRatioConfidence95: geometricMeanConfidence95(scenarioRatios),
|
|
625
|
+
medianFreshTokenDelta: rounded(median(deltas), 2),
|
|
626
|
+
candidateWins: deltas.filter((value) => value < 0).length,
|
|
627
|
+
baselineWins: deltas.filter((value) => value > 0).length,
|
|
628
|
+
ties: deltas.filter((value) => value === 0).length
|
|
629
|
+
}];
|
|
630
|
+
}));
|
|
631
|
+
}
|
|
632
|
+
|
|
603
633
|
export function summarizeBenchmark({
|
|
604
634
|
suite,
|
|
605
635
|
runId,
|
|
@@ -620,21 +650,12 @@ export function summarizeBenchmark({
|
|
|
620
650
|
const baseline = surfaceSummary(baselineSurface, baselineRuns);
|
|
621
651
|
const candidate = surfaceSummary(candidateSurface, candidateRuns);
|
|
622
652
|
const baselineByKey = new Map(baselineRuns.map((run) => [`${run.scenarioId}:${run.repeat}`, run]));
|
|
623
|
-
const
|
|
653
|
+
const allPairs = candidateRuns
|
|
624
654
|
.map((run) => ({ baseline: baselineByKey.get(`${run.scenarioId}:${run.repeat}`), candidate: run }))
|
|
625
|
-
.filter((pair) => pair.baseline
|
|
626
|
-
const
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
return baselineUsage?.sessions > 0
|
|
630
|
-
&& candidateUsage?.sessions > 0
|
|
631
|
-
&& baselineUsage.fresh > 0
|
|
632
|
-
&& candidateUsage.fresh > 0
|
|
633
|
-
&& baselineUsage.model !== "unknown"
|
|
634
|
-
&& baselineUsage.model !== "mixed"
|
|
635
|
-
&& baselineUsage.model === candidateUsage.model
|
|
636
|
-
&& baselineUsage.thinkingLevel === candidateUsage.thinkingLevel;
|
|
637
|
-
});
|
|
655
|
+
.filter((pair) => pair.baseline);
|
|
656
|
+
const pairs = allPairs.filter((pair) => pair.baseline.resolved && pair.candidate.resolved);
|
|
657
|
+
const tokenPairs = pairs.filter(comparableAttemptUsage);
|
|
658
|
+
const completeOutcomeScenarios = completePairedScenarioCount(allPairs, repeats);
|
|
638
659
|
const baselineFresh = median(tokenPairs.map((pair) => pair.baseline.usage.fresh));
|
|
639
660
|
const candidateFresh = median(tokenPairs.map((pair) => pair.candidate.usage.fresh));
|
|
640
661
|
const baselineCost = median(tokenPairs.map((pair) => pair.baseline.usage.cost));
|
|
@@ -667,6 +688,13 @@ export function summarizeBenchmark({
|
|
|
667
688
|
const freshWins = freshDeltas.filter((delta) => delta < 0).length;
|
|
668
689
|
const freshLosses = freshDeltas.filter((delta) => delta > 0).length;
|
|
669
690
|
const freshTies = freshDeltas.length - freshWins - freshLosses;
|
|
691
|
+
const baselineFreshPerResolvedOutcome = tokensPerResolvedOutcome(allPairs, "baseline");
|
|
692
|
+
const candidateFreshPerResolvedOutcome = tokensPerResolvedOutcome(allPairs, "candidate");
|
|
693
|
+
const failureAwareFreshTokenRatio = Number.isFinite(baselineFreshPerResolvedOutcome)
|
|
694
|
+
&& baselineFreshPerResolvedOutcome > 0
|
|
695
|
+
&& Number.isFinite(candidateFreshPerResolvedOutcome)
|
|
696
|
+
? candidateFreshPerResolvedOutcome / baselineFreshPerResolvedOutcome
|
|
697
|
+
: null;
|
|
670
698
|
candidate.scores.efficiency = efficiencyScore(freshRatio);
|
|
671
699
|
baseline.scores.efficiency = tokenPairs.length ? 5 : null;
|
|
672
700
|
const releaseGate = suite.releaseGate ?? {};
|
|
@@ -675,10 +703,13 @@ export function summarizeBenchmark({
|
|
|
675
703
|
const reliabilityThreshold = releaseGate.minimumReliabilityScore ?? 9;
|
|
676
704
|
const workflowThreshold = releaseGate.minimumWorkflowScore ?? 10;
|
|
677
705
|
const categoryThreshold = releaseGate.minimumCategoryScore;
|
|
706
|
+
const outcomeScoreThresholdExclusive = releaseGate.minimumOutcomeScoreExclusive;
|
|
678
707
|
const minimumPairedScenarios = releaseGate.minimumPairedScenarios;
|
|
708
|
+
const minimumComparableEfficiencyScenarios = releaseGate.minimumComparableEfficiencyScenarios ?? minimumPairedScenarios;
|
|
679
709
|
const minimumRepeats = releaseGate.minimumRepeats;
|
|
680
710
|
const maximumFreshTokenRatioUpper95 = releaseGate.maximumFreshTokenRatioUpper95;
|
|
681
711
|
const requiresConfidenceEfficiency = Number.isFinite(maximumFreshTokenRatioUpper95) || releaseGate.requireEfficiencyClaim === true;
|
|
712
|
+
const requiresSuiteEfficiency = requiresConfidenceEfficiency;
|
|
682
713
|
const qualityNonInferior = candidate.scores.quality >= baseline.scores.quality;
|
|
683
714
|
const qualityGate = candidate.scores.quality >= qualityThreshold;
|
|
684
715
|
const safetyGate = candidate.scores.safety >= safetyThreshold;
|
|
@@ -688,13 +719,43 @@ export function summarizeBenchmark({
|
|
|
688
719
|
const categoryGate = Number.isFinite(categoryThreshold)
|
|
689
720
|
? Object.values(categoryScores).length > 0 && Object.values(categoryScores).every((score) => Number.isFinite(score) && score >= categoryThreshold)
|
|
690
721
|
: null;
|
|
691
|
-
const
|
|
692
|
-
|
|
722
|
+
const outcomeScoreMeasurements = Number.isFinite(outcomeScoreThresholdExclusive) ? [
|
|
723
|
+
{ id: "aggregate:quality", score: candidate.scores.quality },
|
|
724
|
+
{ id: "aggregate:reliability", score: candidate.scores.reliability },
|
|
725
|
+
...(candidate.surface === "piagent" ? [{ id: "aggregate:workflow", score: candidate.scores.workflow }] : []),
|
|
726
|
+
...candidateRuns
|
|
727
|
+
.filter((run) => run.scenarioKind !== "safety-refusal")
|
|
728
|
+
.flatMap((run) => [
|
|
729
|
+
{ id: `task-quality:${run.scenarioId}:r${run.repeat}`, score: run.grade?.score },
|
|
730
|
+
...(candidate.surface === "piagent" ? [{ id: `task-workflow:${run.scenarioId}:r${run.repeat}`, score: run.workflow?.score }] : [])
|
|
731
|
+
]),
|
|
732
|
+
...Object.entries(candidate.bands).flatMap(([dimension, bands]) => Object.entries(bands).map(([name, band]) => ({
|
|
733
|
+
id: `${dimension}:${name}`,
|
|
734
|
+
score: band.score
|
|
735
|
+
})))
|
|
736
|
+
] : [];
|
|
737
|
+
const outcomeScoreFailures = outcomeScoreMeasurements
|
|
738
|
+
.filter((item) => !Number.isFinite(item.score) || item.score <= outcomeScoreThresholdExclusive)
|
|
739
|
+
.map((item) => ({ id: item.id, score: Number.isFinite(item.score) ? item.score : null }));
|
|
740
|
+
const outcomeScoreGate = Number.isFinite(outcomeScoreThresholdExclusive) ? outcomeScoreMeasurements.length > 0 && outcomeScoreFailures.length === 0 : null;
|
|
741
|
+
const outcomeEvidenceGate = Number.isInteger(minimumPairedScenarios)
|
|
742
|
+
? completeOutcomeScenarios >= minimumPairedScenarios
|
|
743
|
+
: allPairs.length >= 3;
|
|
744
|
+
const efficiencyEvidenceGate = Number.isInteger(minimumComparableEfficiencyScenarios)
|
|
745
|
+
? completeScenarioFreshRatios.length >= minimumComparableEfficiencyScenarios
|
|
693
746
|
: tokenPairs.length >= 3;
|
|
747
|
+
const efficiencyCategoryCoverage = completeCategoryCoverage(suite, completeScenarioFreshRatios);
|
|
748
|
+
const efficiencyBandCoverageGate = suite.schemaVersion === 2 ? efficiencyCategoryCoverage.passed : true;
|
|
694
749
|
const repeatGate = Number.isInteger(minimumRepeats) ? repeats >= minimumRepeats : null;
|
|
750
|
+
const protocol = comparisonProtocol(environment, suite, baselineSurface);
|
|
695
751
|
const efficiencyConfidenceGate = requiresConfidenceEfficiency
|
|
696
752
|
? Boolean(freshRatioConfidence95 && freshRatioConfidence95.upper <= (maximumFreshTokenRatioUpper95 ?? 1))
|
|
697
753
|
: null;
|
|
754
|
+
const pairedResolvedOutcomes = pairedOutcomeCounts(allPairs, (run) => run?.resolved === true);
|
|
755
|
+
const pairedRegressionGate = pairedResolvedOutcomes.baselineOnlyPass === 0;
|
|
756
|
+
const failureAwareEfficiencyGate = Number.isFinite(failureAwareFreshTokenRatio)
|
|
757
|
+
? failureAwareFreshTokenRatio <= (maximumFreshTokenRatioUpper95 ?? 1)
|
|
758
|
+
: null;
|
|
698
759
|
if (
|
|
699
760
|
qualityGate
|
|
700
761
|
&& safetyGate
|
|
@@ -702,7 +763,13 @@ export function summarizeBenchmark({
|
|
|
702
763
|
&& qualityNonInferior
|
|
703
764
|
&& workflowGate !== false
|
|
704
765
|
&& categoryGate !== false
|
|
766
|
+
&& outcomeScoreGate !== false
|
|
767
|
+
&& pairedRegressionGate
|
|
768
|
+
&& protocol.passed
|
|
769
|
+
&& outcomeEvidenceGate
|
|
705
770
|
&& efficiencyEvidenceGate
|
|
771
|
+
&& efficiencyBandCoverageGate
|
|
772
|
+
&& failureAwareEfficiencyGate
|
|
706
773
|
&& repeatGate !== false
|
|
707
774
|
&& (!requiresConfidenceEfficiency || efficiencyConfidenceGate)
|
|
708
775
|
&& candidate.scores.efficiency !== null
|
|
@@ -716,16 +783,22 @@ export function summarizeBenchmark({
|
|
|
716
783
|
2
|
|
717
784
|
);
|
|
718
785
|
}
|
|
719
|
-
const tokenClaimAllowed = safetyGate
|
|
786
|
+
const tokenClaimAllowed = Boolean(safetyGate
|
|
720
787
|
&& qualityGate
|
|
721
788
|
&& reliabilityGate
|
|
722
789
|
&& qualityNonInferior
|
|
723
790
|
&& workflowGate !== false
|
|
724
791
|
&& categoryGate !== false
|
|
792
|
+
&& outcomeScoreGate !== false
|
|
793
|
+
&& pairedRegressionGate
|
|
794
|
+
&& protocol.passed
|
|
795
|
+
&& outcomeEvidenceGate
|
|
725
796
|
&& efficiencyEvidenceGate
|
|
797
|
+
&& efficiencyBandCoverageGate
|
|
726
798
|
&& repeatGate !== false
|
|
727
799
|
&& Number.isFinite(freshRatio)
|
|
728
|
-
&&
|
|
800
|
+
&& failureAwareEfficiencyGate
|
|
801
|
+
&& (requiresConfidenceEfficiency ? efficiencyConfidenceGate : freshRatio < 1));
|
|
729
802
|
const releaseFailures = [
|
|
730
803
|
!qualityNonInferior ? "quality-regression" : null,
|
|
731
804
|
!qualityGate ? "quality" : null,
|
|
@@ -733,11 +806,17 @@ export function summarizeBenchmark({
|
|
|
733
806
|
!reliabilityGate ? "reliability" : null,
|
|
734
807
|
workflowGate === false ? "workflow" : null,
|
|
735
808
|
categoryGate === false ? "category" : null,
|
|
736
|
-
|
|
809
|
+
outcomeScoreGate === false ? "outcome-score-floor" : null,
|
|
810
|
+
!pairedRegressionGate ? "paired-candidate-regression" : null,
|
|
811
|
+
!protocol.passed ? "comparison-protocol" : null,
|
|
812
|
+
!outcomeEvidenceGate ? "paired-outcome-evidence" : null,
|
|
813
|
+
requiresSuiteEfficiency && !efficiencyEvidenceGate ? "efficiency-evidence" : null,
|
|
814
|
+
requiresSuiteEfficiency && !efficiencyBandCoverageGate ? "efficiency-category-coverage" : null,
|
|
815
|
+
requiresSuiteEfficiency && !failureAwareEfficiencyGate ? "failure-aware-efficiency" : null,
|
|
737
816
|
repeatGate === false ? "repeat-count" : null,
|
|
738
817
|
requiresConfidenceEfficiency && !efficiencyConfidenceGate ? "efficiency-confidence" : null
|
|
739
818
|
].filter(Boolean);
|
|
740
|
-
const
|
|
819
|
+
const suiteGate = suite.schemaVersion === 2 ? {
|
|
741
820
|
passed: releaseFailures.length === 0,
|
|
742
821
|
failures: releaseFailures,
|
|
743
822
|
thresholds: {
|
|
@@ -746,7 +825,9 @@ export function summarizeBenchmark({
|
|
|
746
825
|
reliability: reliabilityThreshold,
|
|
747
826
|
workflow: workflowThreshold,
|
|
748
827
|
category: categoryThreshold ?? null,
|
|
749
|
-
|
|
828
|
+
outcomeScoreExclusive: outcomeScoreThresholdExclusive ?? null,
|
|
829
|
+
pairedOutcomeScenarios: minimumPairedScenarios ?? null,
|
|
830
|
+
comparableEfficiencyScenarios: minimumComparableEfficiencyScenarios ?? null,
|
|
750
831
|
repeats: minimumRepeats ?? null,
|
|
751
832
|
freshTokenRatioUpper95: maximumFreshTokenRatioUpper95 ?? null
|
|
752
833
|
}
|
|
@@ -755,13 +836,24 @@ export function summarizeBenchmark({
|
|
|
755
836
|
const candidateKey = surfaceReportKey(candidateSurface);
|
|
756
837
|
const infrastructureFailures = runs.flatMap((run) => run.infrastructureFailures ?? []);
|
|
757
838
|
const infrastructureFailureCounts = {};
|
|
839
|
+
const infrastructureClassCounts = {};
|
|
758
840
|
for (const failure of infrastructureFailures) {
|
|
759
841
|
const name = failure.failure ?? "unknown";
|
|
760
842
|
infrastructureFailureCounts[name] = (infrastructureFailureCounts[name] ?? 0) + 1;
|
|
843
|
+
const className = failure.class ?? failure.infrastructureClass ?? "unknown";
|
|
844
|
+
infrastructureClassCounts[className] = (infrastructureClassCounts[className] ?? 0) + 1;
|
|
761
845
|
}
|
|
762
846
|
const infrastructureRetries = runs.reduce((sum, run) => sum + (run.infrastructureRetries ?? 0), 0);
|
|
847
|
+
const claimEligibility = benchmarkClaimEligibility({
|
|
848
|
+
suite,
|
|
849
|
+
environment,
|
|
850
|
+
baselineSurface,
|
|
851
|
+
protocolPassed: protocol.passed,
|
|
852
|
+
tokenClaimAllowed
|
|
853
|
+
});
|
|
763
854
|
return {
|
|
764
855
|
schemaVersion: 2,
|
|
856
|
+
measurementSchemaVersion: BENCHMARK_MEASUREMENT_SCHEMA_VERSION,
|
|
765
857
|
runId,
|
|
766
858
|
suite: { id: suite.id, title: suite.title, schemaVersion: suite.schemaVersion, assurance: suite.assurance ?? null },
|
|
767
859
|
startedAt,
|
|
@@ -773,22 +865,42 @@ export function summarizeBenchmark({
|
|
|
773
865
|
attempts: runs.length + infrastructureRetries,
|
|
774
866
|
retries: infrastructureRetries,
|
|
775
867
|
retriedRuns: runs.filter((run) => (run.infrastructureRetries ?? 0) > 0).length,
|
|
776
|
-
failureCounts: infrastructureFailureCounts
|
|
868
|
+
failureCounts: infrastructureFailureCounts,
|
|
869
|
+
classCounts: infrastructureClassCounts
|
|
777
870
|
},
|
|
778
871
|
surfaces: { [baselineKey]: baseline, [candidateKey]: candidate },
|
|
779
872
|
comparison: {
|
|
780
873
|
baselineSurface,
|
|
781
874
|
candidateSurface,
|
|
875
|
+
purpose: claimEligibility.comparisonPurpose,
|
|
782
876
|
usageEstimator: "paired-geometric-mean-ratio",
|
|
877
|
+
failureAwareUsageEstimator: "total-comparable-attempt-fresh-tokens-per-resolved-outcome",
|
|
878
|
+
pairedOutcomeScenarios: completeOutcomeScenarios,
|
|
783
879
|
pairedSuccessfulRuns: pairs.length,
|
|
784
880
|
pairedUsageRuns: tokenPairs.length,
|
|
785
881
|
pairedUsageScenarios: scenarioFreshRatios.length,
|
|
786
882
|
pairedCompleteScenarios: completeScenarioFreshRatios.length,
|
|
787
883
|
pairedCostRuns: costPairs.length,
|
|
884
|
+
pairedOutcomes: {
|
|
885
|
+
resolved: pairedResolvedOutcomes,
|
|
886
|
+
quality: pairedOutcomeCounts(allPairs.filter((pair) => pair.candidate.scenarioKind !== "safety-refusal"), qualityPassed),
|
|
887
|
+
safety: pairedOutcomeCounts(allPairs, safetyPassed)
|
|
888
|
+
},
|
|
889
|
+
pairedUsageBands: {
|
|
890
|
+
categories: pairedUsageBands(tokenPairs, "category"),
|
|
891
|
+
profiles: pairedUsageBands(tokenPairs, "profile"),
|
|
892
|
+
lifecycles: pairedUsageBands(tokenPairs, "lifecycle"),
|
|
893
|
+
difficulties: pairedUsageBands(tokenPairs, "difficulty")
|
|
894
|
+
},
|
|
788
895
|
pairedFreshTokenWins: { [candidateKey]: freshWins, [baselineKey]: freshLosses, ties: freshTies },
|
|
789
896
|
medianPairedFreshTokenDelta: rounded(median(freshDeltas), 2),
|
|
790
897
|
medianFreshTokens: { [baselineKey]: baselineFresh, [candidateKey]: candidateFresh },
|
|
791
898
|
medianCost: { [baselineKey]: baselineCost, [candidateKey]: candidateCost },
|
|
899
|
+
freshTokensPerResolvedOutcome: {
|
|
900
|
+
[baselineKey]: rounded(baselineFreshPerResolvedOutcome, 2),
|
|
901
|
+
[candidateKey]: rounded(candidateFreshPerResolvedOutcome, 2)
|
|
902
|
+
},
|
|
903
|
+
failureAwareFreshTokenRatio: rounded(failureAwareFreshTokenRatio, 4),
|
|
792
904
|
freshTokenRatio: rounded(freshRatio, 4),
|
|
793
905
|
freshTokenRatioConfidence95: freshRatioConfidence95,
|
|
794
906
|
freshTokenDeltaPercent: Number.isFinite(freshRatio) ? rounded((freshRatio - 1) * 100, 2) : null,
|
|
@@ -801,11 +913,21 @@ export function summarizeBenchmark({
|
|
|
801
913
|
workflowGate,
|
|
802
914
|
categoryGate,
|
|
803
915
|
categoryScores,
|
|
916
|
+
outcomeScoreGate,
|
|
917
|
+
outcomeScoreFailures,
|
|
918
|
+
pairedRegressionGate,
|
|
919
|
+
comparisonProtocolGate: protocol,
|
|
920
|
+
outcomeEvidenceGate,
|
|
804
921
|
efficiencyEvidenceGate,
|
|
922
|
+
efficiencyBandCoverageGate,
|
|
923
|
+
efficiencyCategoryCoverage,
|
|
924
|
+
failureAwareEfficiencyGate,
|
|
805
925
|
repeatGate,
|
|
806
926
|
efficiencyConfidenceGate,
|
|
807
|
-
|
|
808
|
-
|
|
927
|
+
suiteGate,
|
|
928
|
+
productionGate: suite.id === "production-v1" ? suiteGate : null,
|
|
929
|
+
tokenClaimAllowed,
|
|
930
|
+
claimEligibility
|
|
809
931
|
},
|
|
810
932
|
verdict: {
|
|
811
933
|
status: !safetyGate
|
|
@@ -816,160 +938,25 @@ export function summarizeBenchmark({
|
|
|
816
938
|
? "quality-gate-failed"
|
|
817
939
|
: !reliabilityGate
|
|
818
940
|
? "reliability-gate-failed"
|
|
819
|
-
:
|
|
820
|
-
? "
|
|
941
|
+
: !protocol.passed
|
|
942
|
+
? "comparison-protocol-gate-failed"
|
|
943
|
+
: workflowGate === false
|
|
944
|
+
? "workflow-gate-failed"
|
|
821
945
|
: categoryGate === false
|
|
822
946
|
? "category-gate-failed"
|
|
947
|
+
: outcomeScoreGate === false
|
|
948
|
+
? "outcome-score-floor-gate-failed"
|
|
949
|
+
: !pairedRegressionGate
|
|
950
|
+
? "paired-candidate-regression"
|
|
823
951
|
: repeatGate === false
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
note: `Raw metrics and hidden verifier results are authoritative.
|
|
952
|
+
? "repeat-gate-failed"
|
|
953
|
+
: requiresConfidenceEfficiency && efficiencyConfidenceGate === false
|
|
954
|
+
? "efficiency-confidence-gate-failed"
|
|
955
|
+
: tokenClaimAllowed
|
|
956
|
+
? `${candidateSurface}-more-efficient`
|
|
957
|
+
: "insufficient-efficiency-evidence",
|
|
958
|
+
note: `Raw metrics and hidden verifier results are authoritative. Successful-pair efficiency uses matched ${benchmarkSurfaceLabel(candidateSurface)}/${benchmarkSurfaceLabel(baselineSurface)} ratios; failure-aware effort includes every comparable attempt and divides by resolved outcomes. Confidence intervals cluster repeats by scenario family. Claim scope is ${claimEligibility.achievedTier}; generated value variants are not treated as independent task families.`
|
|
831
959
|
},
|
|
832
960
|
runs
|
|
833
961
|
};
|
|
834
962
|
}
|
|
835
|
-
|
|
836
|
-
function display(value, digits = 2) {
|
|
837
|
-
return Number.isFinite(value) ? Number(value).toFixed(digits) : "n/a";
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
function displayPercent(value) {
|
|
841
|
-
return Number.isFinite(value) ? `${display(value)}%` : "n/a";
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
function topToolSummary(toolNames, limit = 8) {
|
|
845
|
-
const entries = Object.entries(toolNames ?? {}).slice(0, limit);
|
|
846
|
-
return entries.length ? entries.map(([name, count]) => `${name}:${count}`).join(", ") : "none";
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
function workflowGapSummary(runs) {
|
|
850
|
-
const gaps = {};
|
|
851
|
-
for (const run of runs ?? []) {
|
|
852
|
-
for (const check of run.workflow?.checks ?? []) {
|
|
853
|
-
if (check.passed === true) continue;
|
|
854
|
-
gaps[check.id] = (gaps[check.id] ?? 0) + 1;
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
return topToolSummary(gaps);
|
|
858
|
-
}
|
|
859
|
-
|
|
860
|
-
export function renderBenchmarkText(report) {
|
|
861
|
-
const baselineSurface = report.comparison.baselineSurface ?? "raw-pi";
|
|
862
|
-
const candidateSurface = report.comparison.candidateSurface ?? "piagent";
|
|
863
|
-
const baselineKey = surfaceReportKey(baselineSurface);
|
|
864
|
-
const candidateKey = surfaceReportKey(candidateSurface);
|
|
865
|
-
const baseline = report.surfaces[baselineKey];
|
|
866
|
-
const candidate = report.surfaces[candidateKey];
|
|
867
|
-
const baselineLabel = benchmarkSurfaceLabel(baselineSurface);
|
|
868
|
-
const candidateLabel = benchmarkSurfaceLabel(candidateSurface);
|
|
869
|
-
const runtimeParts = [
|
|
870
|
-
`Platform: v${report.environment.platformVersion ?? "unknown"}`,
|
|
871
|
-
`Pi: ${report.environment.piVersion ?? "unknown"}`
|
|
872
|
-
];
|
|
873
|
-
if (report.environment.codexVersion) runtimeParts.push(`Codex: ${report.environment.codexVersion}`);
|
|
874
|
-
runtimeParts.push(`Node: ${report.environment.nodeVersion ?? "unknown"}`);
|
|
875
|
-
const scoreLine = (label, value) => `${label}`.padEnd(12)
|
|
876
|
-
+ `${value.resolved}/${value.runs}`.padEnd(11)
|
|
877
|
-
+ `${value.qualityCorrect}/${value.qualityRuns}`.padEnd(14)
|
|
878
|
-
+ `${value.scopePassed}/${value.runs}`.padEnd(10)
|
|
879
|
-
+ `${display(value.scores.quality)}`.padEnd(9)
|
|
880
|
-
+ `${display(value.scores.safety)}`.padEnd(8)
|
|
881
|
-
+ `${display(value.scores.reliability)}`.padEnd(13)
|
|
882
|
-
+ `${display(value.scores.workflow)}`.padEnd(10)
|
|
883
|
-
+ `${display(value.scores.efficiency)}`.padEnd(12)
|
|
884
|
-
+ display(value.scores.overall);
|
|
885
|
-
const usageLine = (label, value) => {
|
|
886
|
-
const usage = value.usage.allMeasuredRuns;
|
|
887
|
-
return `${label}`.padEnd(12)
|
|
888
|
-
+ `${display(usage.medianInputTokens, 0)}`.padEnd(11)
|
|
889
|
-
+ `${display(usage.medianOutputTokens, 0)}`.padEnd(11)
|
|
890
|
-
+ `${display(usage.medianCacheReadTokens, 0)}`.padEnd(12)
|
|
891
|
-
+ `${display(usage.medianReasoningTokens, 0)}`.padEnd(11)
|
|
892
|
-
+ `${display(usage.medianFreshTokens, 0)}`.padEnd(11)
|
|
893
|
-
+ `${display(usage.medianToolCalls, 0)}`.padEnd(7)
|
|
894
|
-
+ display(usage.medianCost, 6);
|
|
895
|
-
};
|
|
896
|
-
const categoryLines = Object.entries(candidate.bands?.categories ?? {}).map(([name, band]) => (
|
|
897
|
-
` ${name}`.padEnd(30) + `${band.resolved}/${band.runs}`.padEnd(11) + display(band.score)
|
|
898
|
-
));
|
|
899
|
-
const confidence = report.comparison.freshTokenRatioConfidence95;
|
|
900
|
-
const lines = [
|
|
901
|
-
`Piagent Benchmark — ${report.suite.title}`,
|
|
902
|
-
`Run: ${report.runId} | ${report.runCount} sessions | ${report.repeats} repeat(s)`,
|
|
903
|
-
runtimeParts.join(" | "),
|
|
904
|
-
`Treatment baseline: ${report.environment.treatmentBaseline ?? "unknown"}`,
|
|
905
|
-
`Comparison: ${candidateLabel} vs ${baselineLabel}`,
|
|
906
|
-
`Suite digest: ${report.environment.suiteDigest ?? "unknown"} | Source: ${report.environment.source?.kind ?? "unknown"}${report.environment.source?.dirty === true ? " (dirty)" : ""}`,
|
|
907
|
-
`Infrastructure: ${report.infrastructure?.attempts ?? report.runCount} attempts | ${report.infrastructure?.retries ?? 0} retries across ${report.infrastructure?.retriedRuns ?? 0} measured runs`,
|
|
908
|
-
"",
|
|
909
|
-
"Surface Resolved Task grade Scope Quality Safety Reliability Workflow Efficiency Overall",
|
|
910
|
-
scoreLine(baselineLabel, baseline),
|
|
911
|
-
scoreLine(candidateLabel, candidate),
|
|
912
|
-
"",
|
|
913
|
-
"Median usage across all measured runs",
|
|
914
|
-
"Surface Input Output Cache read Reasoning Fresh Tools Cost",
|
|
915
|
-
usageLine(baselineLabel, baseline),
|
|
916
|
-
usageLine(candidateLabel, candidate),
|
|
917
|
-
`${baselineLabel} tools: ${topToolSummary(baseline.usage.toolNames)}`,
|
|
918
|
-
`${candidateLabel} tools: ${topToolSummary(candidate.usage.toolNames)}`,
|
|
919
|
-
`Piagent workflow gaps: ${workflowGapSummary(report.runs.filter((run) => run.surface === "piagent"))}`,
|
|
920
|
-
"",
|
|
921
|
-
`Paired successful runs: ${report.comparison.pairedSuccessfulRuns}`,
|
|
922
|
-
`Paired runs with comparable usage: ${report.comparison.pairedUsageRuns}`,
|
|
923
|
-
`Independent paired scenario families: ${report.comparison.pairedUsageScenarios ?? 0}`,
|
|
924
|
-
`Complete paired scenario families: ${report.comparison.pairedCompleteScenarios ?? 0}`,
|
|
925
|
-
`Usage estimator: ${report.comparison.usageEstimator}`,
|
|
926
|
-
`Fresh-token pair wins: ${candidateLabel} ${report.comparison.pairedFreshTokenWins[candidateKey]} | ${baselineLabel} ${report.comparison.pairedFreshTokenWins[baselineKey]} | ties ${report.comparison.pairedFreshTokenWins.ties}`,
|
|
927
|
-
`Median paired fresh-token delta: ${display(report.comparison.medianPairedFreshTokenDelta, 0)} tok (negative favors ${candidateLabel})`,
|
|
928
|
-
`Fresh-token ratio 95% CI: ${confidence ? `${display(confidence.lower, 4)}..${display(confidence.upper, 4)}` : "n/a"}`,
|
|
929
|
-
`Efficiency evidence gate: ${report.comparison.efficiencyEvidenceGate ? "pass" : "fail"}`,
|
|
930
|
-
`Repeat-count gate: ${report.comparison.repeatGate === null ? "n/a" : report.comparison.repeatGate ? "pass" : "fail"}`,
|
|
931
|
-
`Efficiency confidence gate: ${report.comparison.efficiencyConfidenceGate === null ? "n/a" : report.comparison.efficiencyConfidenceGate ? "pass" : "fail"}`,
|
|
932
|
-
`Quality gate: ${report.comparison.qualityGate ? "pass" : "fail"}`,
|
|
933
|
-
`Reliability gate: ${report.comparison.reliabilityGate ? "pass" : "fail"}`,
|
|
934
|
-
`Fresh-token delta: ${displayPercent(report.comparison.freshTokenDeltaPercent)} (negative favors ${candidateLabel})`,
|
|
935
|
-
`Cost delta: ${displayPercent(report.comparison.costDeltaPercent)} (negative favors ${candidateLabel})`,
|
|
936
|
-
`Workflow gate: ${report.comparison.workflowGate === null ? "n/a" : report.comparison.workflowGate ? "pass" : "fail"}`,
|
|
937
|
-
`Category gate: ${report.comparison.categoryGate === null ? "n/a" : report.comparison.categoryGate ? "pass" : "fail"}`,
|
|
938
|
-
...(categoryLines.length ? ["", `${candidateLabel} category bands`, "Category Resolved Score", ...categoryLines] : []),
|
|
939
|
-
`Verdict: ${report.verdict.status}`,
|
|
940
|
-
`Token-saving claim allowed: ${report.comparison.tokenClaimAllowed ? "yes" : "no"}`
|
|
941
|
-
];
|
|
942
|
-
return `${lines.join("\n")}\n`;
|
|
943
|
-
}
|
|
944
|
-
|
|
945
|
-
function htmlEscape(value) {
|
|
946
|
-
return String(value ?? "").replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """);
|
|
947
|
-
}
|
|
948
|
-
|
|
949
|
-
export function renderBenchmarkHtml(report) {
|
|
950
|
-
const baselineSurface = report.comparison.baselineSurface ?? "raw-pi";
|
|
951
|
-
const candidateSurface = report.comparison.candidateSurface ?? "piagent";
|
|
952
|
-
const baselineKey = surfaceReportKey(baselineSurface);
|
|
953
|
-
const candidateKey = surfaceReportKey(candidateSurface);
|
|
954
|
-
const surfaceEntries = [
|
|
955
|
-
[baselineSurface, report.surfaces[baselineKey]],
|
|
956
|
-
[candidateSurface, report.surfaces[candidateKey]]
|
|
957
|
-
];
|
|
958
|
-
const baselineLabel = benchmarkSurfaceLabel(baselineSurface);
|
|
959
|
-
const candidateLabel = benchmarkSurfaceLabel(candidateSurface);
|
|
960
|
-
const rows = report.runs.map((run) => `<tr><td>${htmlEscape(run.scenarioId)}</td><td>${htmlEscape(run.category ?? "unspecified")}</td><td>${htmlEscape(run.difficulty ?? "unspecified")}</td><td>${htmlEscape(run.profile ?? "unspecified")}</td><td>${htmlEscape(run.lifecycle ?? "unspecified")}</td><td>${htmlEscape(run.surface)}</td><td>${run.repeat}</td><td>${run.infrastructureRetries ?? 0}</td><td>${run.resolved ? "PASS" : "FAIL"}</td><td>${run.grade?.passed ? "PASS" : "FAIL"}</td><td>${run.scope?.passed ? "PASS" : "FAIL"}</td><td>${display(run.workflow?.score)}</td><td>${htmlEscape((run.workflow?.checks ?? []).filter((check) => !check.passed).map((check) => check.id).join(", ") || "none")}</td><td>${htmlEscape(run.usage?.model ?? "unknown")}</td><td>${htmlEscape(run.usage?.thinkingLevel ?? "unknown")}</td><td>${display(run.usage?.input, 0)}</td><td>${display(run.usage?.output, 0)}</td><td>${display(run.usage?.cacheRead, 0)}</td><td>${display(run.usage?.reasoning, 0)}</td><td>${display(run.usage?.fresh, 0)}</td><td>${display(run.usage?.toolCalls, 0)}</td><td>${htmlEscape(topToolSummary(run.usage?.toolNames, 5))}</td><td>${display(run.usage?.cost, 6)}</td><td>${display(run.durationSeconds, 1)}</td><td>${htmlEscape(run.failure ?? "")}</td></tr>`).join("");
|
|
961
|
-
const scoreRows = surfaceEntries.map(([id, surface]) => `<tr><th>${htmlEscape(benchmarkSurfaceLabel(id))}</th><td>${surface.resolved}/${surface.runs}</td><td>${surface.qualityCorrect}/${surface.qualityRuns}</td><td>${surface.scopePassed}/${surface.runs}</td><td>${display(surface.scores.quality)}</td><td>${display(surface.scores.safety)}</td><td>${display(surface.scores.reliability)}</td><td>${display(surface.scores.workflow)}</td><td>${display(surface.scores.efficiency)}</td><td>${display(surface.scores.overall)}</td></tr>`).join("");
|
|
962
|
-
const usageRows = surfaceEntries.map(([id, surface]) => { const usage = surface.usage.allMeasuredRuns; return `<tr><th>${htmlEscape(benchmarkSurfaceLabel(id))}</th><td>${display(usage.medianInputTokens, 0)}</td><td>${display(usage.medianOutputTokens, 0)}</td><td>${display(usage.medianCacheReadTokens, 0)}</td><td>${display(usage.medianReasoningTokens, 0)}</td><td>${display(usage.medianFreshTokens, 0)}</td><td>${display(usage.medianToolCalls, 0)}</td><td>${display(usage.medianCost, 6)}</td><td>${display(usage.medianDurationSeconds, 1)}</td><td>${htmlEscape(topToolSummary(surface.usage.toolNames))}</td></tr>`; }).join("");
|
|
963
|
-
const categoryRows = Object.entries(report.surfaces[candidateKey].bands?.categories ?? {}).map(([name, band]) => `<tr><th>${htmlEscape(name)}</th><td>${band.resolved}/${band.runs}</td><td>${display(band.score)}</td><td>${display(band.correctness)}</td></tr>`).join("");
|
|
964
|
-
const confidence = report.comparison.freshTokenRatioConfidence95;
|
|
965
|
-
return `<!doctype html>
|
|
966
|
-
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Piagent Benchmark ${htmlEscape(report.runId)}</title>
|
|
967
|
-
<style>body{font:14px system-ui,sans-serif;color:#202124;max-width:1180px;margin:32px auto;padding:0 20px}h1{font-size:24px}h2{font-size:17px;margin-top:28px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th,td{border:1px solid #d8dadd;padding:8px;text-align:left}thead th{background:#f4f5f6}.metric{display:inline-block;margin:0 24px 8px 0}.note{color:#5f6368}</style></head><body>
|
|
968
|
-
<h1>Piagent Benchmark</h1><p>${htmlEscape(report.suite.title)} · ${htmlEscape(report.runId)}</p><p class="note">Platform v${htmlEscape(report.environment.platformVersion ?? "unknown")} · Pi ${htmlEscape(report.environment.piVersion ?? "unknown")}${report.environment.codexVersion ? ` · Codex ${htmlEscape(report.environment.codexVersion)}` : ""} · Node ${htmlEscape(report.environment.nodeVersion ?? "unknown")} · Baseline ${htmlEscape(report.environment.treatmentBaseline ?? "unknown")} · Suite ${htmlEscape(report.environment.suiteDigest ?? "unknown")}</p>
|
|
969
|
-
<p class="metric"><strong>Comparison:</strong> ${htmlEscape(candidateLabel)} vs ${htmlEscape(baselineLabel)}</p><p class="metric"><strong>Verdict:</strong> ${htmlEscape(report.verdict.status)}</p><p class="metric"><strong>Infrastructure retries:</strong> ${report.infrastructure?.retries ?? 0}</p><p class="metric"><strong>Paired token-ratio delta:</strong> ${displayPercent(report.comparison.freshTokenDeltaPercent)}</p><p class="metric"><strong>Token ratio 95% CI:</strong> ${confidence ? `${display(confidence.lower, 4)}–${display(confidence.upper, 4)}` : "n/a"}</p><p class="metric"><strong>Paired cost-ratio delta:</strong> ${displayPercent(report.comparison.costDeltaPercent)}</p><p class="metric"><strong>Comparable pairs:</strong> ${report.comparison.pairedUsageRuns}</p><p class="metric"><strong>Scenario families:</strong> ${report.comparison.pairedUsageScenarios ?? 0}</p><p class="metric"><strong>Complete families:</strong> ${report.comparison.pairedCompleteScenarios ?? 0}</p><p class="metric"><strong>Pair wins:</strong> ${htmlEscape(candidateLabel)} ${report.comparison.pairedFreshTokenWins[candidateKey]} · ${htmlEscape(baselineLabel)} ${report.comparison.pairedFreshTokenWins[baselineKey]} · ties ${report.comparison.pairedFreshTokenWins.ties}</p>
|
|
970
|
-
<h2>Score bands</h2><div class="table-wrap"><table><thead><tr><th>Surface</th><th>Resolved</th><th>Task grader</th><th>Scope</th><th>Quality</th><th>Safety</th><th>Reliability</th><th>Workflow</th><th>Efficiency</th><th>Overall</th></tr></thead><tbody>${scoreRows}</tbody></table></div>
|
|
971
|
-
${categoryRows ? `<h2>${htmlEscape(candidateLabel)} category bands</h2><div class="table-wrap"><table><thead><tr><th>Category</th><th>Resolved</th><th>Score</th><th>Correctness</th></tr></thead><tbody>${categoryRows}</tbody></table></div>` : ""}
|
|
972
|
-
<h2>Median usage across all measured runs</h2><div class="table-wrap"><table><thead><tr><th>Surface</th><th>Input</th><th>Output</th><th>Cache read</th><th>Reasoning</th><th>Fresh</th><th>Tools</th><th>Cost</th><th>Seconds</th><th>Top tools</th></tr></thead><tbody>${usageRows}</tbody></table></div>
|
|
973
|
-
<h2>Runs</h2><div class="table-wrap"><table><thead><tr><th>Scenario</th><th>Category</th><th>Difficulty</th><th>Profile</th><th>Lifecycle</th><th>Surface</th><th>Repeat</th><th>Infra retries</th><th>Resolved</th><th>Grader</th><th>Scope</th><th>Workflow</th><th>Workflow gaps</th><th>Model</th><th>Thinking</th><th>Input</th><th>Output</th><th>Cache read</th><th>Reasoning</th><th>Fresh</th><th>Tools</th><th>Top tools</th><th>Cost</th><th>Seconds</th><th>Failure</th></tr></thead><tbody>${rows}</tbody></table></div>
|
|
974
|
-
<p class="note">${htmlEscape(report.verdict.note)}</p></body></html>\n`;
|
|
975
|
-
}
|