@interf/compiler 0.7.2 → 0.9.1
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/README.md +141 -99
- package/TRADEMARKS.md +1 -1
- package/agent-skills/interf-actions/SKILL.md +71 -0
- package/agent-skills/interf-actions/references/cli.md +190 -0
- package/apps/compiler-ui/.next/server/app/index.html +1 -0
- package/apps/compiler-ui/.next/static/XWKL548yXD_UOG4ID9G3J/_buildManifest.js +11 -0
- package/apps/compiler-ui/.next/static/XWKL548yXD_UOG4ID9G3J/_clientMiddlewareManifest.js +1 -0
- package/apps/compiler-ui/.next/static/XWKL548yXD_UOG4ID9G3J/_ssgManifest.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/03~yq9q893hmn.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/06z~l3kwb891e.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/08g7lvje.te.u.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/08m7vf5asqlsm.js +91 -0
- package/apps/compiler-ui/.next/static/chunks/0_i-3_5l9t2qe.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/0b-ywny_j0g~0.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/0b52v41o1gixx.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/0fgt_8knmicoz.js +124 -0
- package/apps/compiler-ui/.next/static/chunks/0gpzgsv0w.q~m.js +31 -0
- package/apps/compiler-ui/.next/static/chunks/0ilwfezfvu6~-.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/0n51hrfoufc7g.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/0ti_66mx7~w2-.js +5 -0
- package/apps/compiler-ui/.next/static/chunks/0xxmf45eskdt~.css +1 -0
- package/apps/compiler-ui/.next/static/chunks/0y5z3t-z1c8ks.js.map +5 -0
- package/apps/compiler-ui/.next/static/chunks/13g~4mamjft.c.css +3 -0
- package/apps/compiler-ui/.next/static/chunks/14wtz~vq25~qq.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/turbopack-109rtik40vwh5.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/turbopack-10e~t1yzi4svj.js +1 -0
- package/apps/compiler-ui/.next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +1 -0
- package/apps/compiler-ui/.next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
- package/apps/compiler-ui/.next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
- package/apps/compiler-ui/.next/static/media/worker.102zas1s52_pf.js +109 -0
- package/builtin-workflows/interf/README.md +8 -8
- package/builtin-workflows/interf/compile/stages/shape/SKILL.md +6 -6
- package/builtin-workflows/interf/compile/stages/structure/SKILL.md +1 -1
- package/builtin-workflows/interf/improve/SKILL.md +2 -2
- package/builtin-workflows/interf/use/query/SKILL.md +2 -2
- package/builtin-workflows/interf/workflow.json +9 -9
- package/builtin-workflows/interf/workflow.schema.json +2 -2
- package/dist/cli/commands/check-draft.d.ts +5 -4
- package/dist/cli/commands/check-draft.js +18 -17
- package/dist/cli/commands/compile-controller.d.ts +3 -0
- package/dist/cli/commands/compile-controller.js +53 -45
- package/dist/cli/commands/compile.js +83 -27
- package/dist/cli/commands/compiled-flow.d.ts +3 -0
- package/dist/cli/commands/compiled-flow.js +9 -7
- package/dist/cli/commands/control-path.d.ts +11 -0
- package/dist/cli/commands/control-path.js +72 -0
- package/dist/cli/commands/create-workflow-wizard.d.ts +12 -0
- package/dist/cli/commands/create-workflow-wizard.js +232 -66
- package/dist/cli/commands/create.js +70 -46
- package/dist/cli/commands/default.js +5 -3
- package/dist/cli/commands/doctor.js +5 -5
- package/dist/cli/commands/executor-flow.js +1 -1
- package/dist/cli/commands/init.js +362 -101
- package/dist/cli/commands/list.js +8 -7
- package/dist/cli/commands/preparation-selection.d.ts +6 -0
- package/dist/cli/commands/preparation-selection.js +11 -0
- package/dist/cli/commands/reset.js +3 -3
- package/dist/cli/commands/source-config-wizard.d.ts +4 -4
- package/dist/cli/commands/source-config-wizard.js +175 -200
- package/dist/cli/commands/status.js +116 -8
- package/dist/cli/commands/test-flow.d.ts +1 -1
- package/dist/cli/commands/test-flow.js +35 -33
- package/dist/cli/commands/test.d.ts +4 -0
- package/dist/cli/commands/test.js +95 -58
- package/dist/cli/commands/verify.js +7 -7
- package/dist/cli/commands/web.d.ts +11 -0
- package/dist/cli/commands/web.js +373 -0
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.js +3 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3 -1
- package/dist/packages/agents/lib/execution.js +4 -2
- package/dist/packages/agents/lib/executors.d.ts +1 -0
- package/dist/packages/agents/lib/executors.js +1 -0
- package/dist/packages/agents/lib/render.d.ts +2 -2
- package/dist/packages/agents/lib/render.js +10 -9
- package/dist/packages/agents/lib/shells.d.ts +3 -11
- package/dist/packages/agents/lib/shells.js +58 -106
- package/dist/packages/agents/lib/types.d.ts +1 -0
- package/dist/packages/compiler/compiled-paths.d.ts +4 -1
- package/dist/packages/compiler/compiled-paths.js +8 -2
- package/dist/packages/compiler/compiled-pipeline.d.ts +7 -0
- package/dist/packages/compiler/compiled-pipeline.js +15 -4
- package/dist/packages/compiler/compiled-schema.js +1 -1
- package/dist/packages/compiler/compiled-stage-plan.d.ts +2 -2
- package/dist/packages/compiler/compiled-stage-plan.js +4 -4
- package/dist/packages/compiler/compiled-stage-runner.d.ts +5 -0
- package/dist/packages/compiler/compiled-stage-runner.js +50 -2
- package/dist/packages/compiler/compiled-target.d.ts +1 -1
- package/dist/packages/compiler/compiled-target.js +2 -2
- package/dist/packages/compiler/lib/schema.d.ts +161 -1
- package/dist/packages/compiler/lib/schema.js +87 -1
- package/dist/packages/compiler/raw-snapshot.d.ts +9 -2
- package/dist/packages/compiler/runtime-acceptance.js +1 -1
- package/dist/packages/compiler/runtime-contracts.js +2 -2
- package/dist/packages/compiler/runtime-prompt.js +7 -7
- package/dist/packages/compiler/runtime-reconcile.js +3 -3
- package/dist/packages/compiler/runtime-runs.js +3 -0
- package/dist/packages/compiler/runtime-types.d.ts +1 -0
- package/dist/packages/compiler/state-health.js +1 -1
- package/dist/packages/compiler/state-view.js +2 -2
- package/dist/packages/compiler/validate-compiled.js +11 -9
- package/dist/packages/execution/adapters.d.ts +15 -0
- package/dist/packages/execution/adapters.js +1 -0
- package/dist/packages/execution/events.d.ts +8 -0
- package/dist/packages/execution/events.js +16 -0
- package/dist/packages/execution/index.d.ts +9 -0
- package/dist/packages/execution/index.js +6 -0
- package/dist/packages/execution/lib/schema.d.ts +1554 -0
- package/dist/packages/execution/lib/schema.js +319 -0
- package/dist/packages/local-service/action-values.d.ts +23 -0
- package/dist/packages/local-service/action-values.js +31 -0
- package/dist/packages/local-service/client.d.ts +119 -0
- package/dist/packages/local-service/client.js +356 -0
- package/dist/packages/local-service/index.d.ts +15 -0
- package/dist/packages/local-service/index.js +11 -0
- package/dist/packages/local-service/lib/schema.d.ts +7355 -0
- package/dist/packages/local-service/lib/schema.js +636 -0
- package/dist/packages/local-service/routes.d.ts +27 -0
- package/dist/packages/local-service/routes.js +32 -0
- package/dist/packages/local-service/runtime.d.ts +134 -0
- package/dist/packages/local-service/runtime.js +2841 -0
- package/dist/packages/local-service/server.d.ts +17 -0
- package/dist/packages/local-service/server.js +572 -0
- package/dist/packages/project-model/index.d.ts +2 -1
- package/dist/packages/project-model/index.js +1 -0
- package/dist/packages/project-model/interf-detect.d.ts +6 -2
- package/dist/packages/project-model/interf-detect.js +48 -19
- package/dist/packages/project-model/interf-scaffold.d.ts +1 -0
- package/dist/packages/project-model/interf-scaffold.js +39 -17
- package/dist/packages/project-model/interf.d.ts +2 -2
- package/dist/packages/project-model/interf.js +2 -2
- package/dist/packages/project-model/lib/schema.d.ts +80 -6
- package/dist/packages/project-model/lib/schema.js +29 -19
- package/dist/packages/project-model/project-paths.d.ts +3 -1
- package/dist/packages/project-model/project-paths.js +6 -2
- package/dist/packages/project-model/source-config.d.ts +25 -11
- package/dist/packages/project-model/source-config.js +152 -82
- package/dist/packages/project-model/source-folders.d.ts +11 -0
- package/dist/packages/project-model/source-folders.js +110 -0
- package/dist/packages/testing/test-execution.js +5 -5
- package/dist/packages/testing/test-paths.js +4 -3
- package/dist/packages/workflow-authoring/workflow-authoring.d.ts +4 -6
- package/dist/packages/workflow-authoring/workflow-authoring.js +46 -85
- package/dist/packages/workflow-authoring/workflow-edit-session.d.ts +2 -0
- package/dist/packages/workflow-authoring/workflow-edit-session.js +83 -49
- package/dist/packages/workflow-authoring/workflow-improvement.js +2 -1
- package/dist/packages/workflow-package/context-interface.js +2 -2
- package/dist/packages/workflow-package/interf-workflow-package.d.ts +6 -0
- package/dist/packages/workflow-package/interf-workflow-package.js +115 -8
- package/dist/packages/workflow-package/local-workflows.js +33 -17
- package/dist/packages/workflow-package/workflow-definitions.d.ts +5 -5
- package/dist/packages/workflow-package/workflow-definitions.js +23 -22
- package/dist/packages/workflow-package/workflow-helpers.js +10 -6
- package/dist/packages/workflow-package/workflow-review-paths.js +5 -1
- package/dist/packages/workflow-package/workflow-stage-runner.d.ts +1 -0
- package/dist/packages/workflow-package/workflow-stage-runner.js +2 -0
- package/package.json +18 -4
- package/dist/cli/commands/dataset-selection.d.ts +0 -6
- package/dist/cli/commands/dataset-selection.js +0 -11
- package/dist/lib/agent-args.d.ts +0 -1
- package/dist/lib/agent-args.js +0 -1
- package/dist/lib/agent-constants.d.ts +0 -1
- package/dist/lib/agent-constants.js +0 -1
- package/dist/lib/agent-detection.d.ts +0 -1
- package/dist/lib/agent-detection.js +0 -1
- package/dist/lib/agent-execution.d.ts +0 -1
- package/dist/lib/agent-execution.js +0 -1
- package/dist/lib/agent-logs.d.ts +0 -1
- package/dist/lib/agent-logs.js +0 -1
- package/dist/lib/agent-preflight.d.ts +0 -1
- package/dist/lib/agent-preflight.js +0 -1
- package/dist/lib/agent-render.d.ts +0 -1
- package/dist/lib/agent-render.js +0 -1
- package/dist/lib/agent-shells.d.ts +0 -1
- package/dist/lib/agent-shells.js +0 -1
- package/dist/lib/agent-status.d.ts +0 -1
- package/dist/lib/agent-status.js +0 -1
- package/dist/lib/agent-types.d.ts +0 -1
- package/dist/lib/agent-types.js +0 -1
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/builtin-compiled-workflow.d.ts +0 -1
- package/dist/lib/builtin-compiled-workflow.js +0 -1
- package/dist/lib/chart-guidance.d.ts +0 -1
- package/dist/lib/chart-guidance.js +0 -1
- package/dist/lib/compiled-compile.d.ts +0 -1
- package/dist/lib/compiled-compile.js +0 -1
- package/dist/lib/compiled-paths.d.ts +0 -1
- package/dist/lib/compiled-paths.js +0 -3
- package/dist/lib/compiled-raw.d.ts +0 -1
- package/dist/lib/compiled-raw.js +0 -3
- package/dist/lib/compiled-reset.d.ts +0 -1
- package/dist/lib/compiled-reset.js +0 -3
- package/dist/lib/compiled-schema.d.ts +0 -1
- package/dist/lib/compiled-schema.js +0 -1
- package/dist/lib/discovery.d.ts +0 -1
- package/dist/lib/discovery.js +0 -1
- package/dist/lib/execution-profile.d.ts +0 -1
- package/dist/lib/execution-profile.js +0 -1
- package/dist/lib/executors.d.ts +0 -1
- package/dist/lib/executors.js +0 -1
- package/dist/lib/filesystem.d.ts +0 -1
- package/dist/lib/filesystem.js +0 -1
- package/dist/lib/interf-bootstrap.d.ts +0 -1
- package/dist/lib/interf-bootstrap.js +0 -3
- package/dist/lib/interf-detect.d.ts +0 -1
- package/dist/lib/interf-detect.js +0 -3
- package/dist/lib/interf-scaffold.d.ts +0 -1
- package/dist/lib/interf-scaffold.js +0 -3
- package/dist/lib/interf-workflow-package.d.ts +0 -1
- package/dist/lib/interf-workflow-package.js +0 -1
- package/dist/lib/interf.d.ts +0 -1
- package/dist/lib/interf.js +0 -3
- package/dist/lib/local-workflows.d.ts +0 -1
- package/dist/lib/local-workflows.js +0 -1
- package/dist/lib/logger.d.ts +0 -1
- package/dist/lib/logger.js +0 -1
- package/dist/lib/package-root.d.ts +0 -1
- package/dist/lib/package-root.js +0 -1
- package/dist/lib/parse.d.ts +0 -1
- package/dist/lib/parse.js +0 -1
- package/dist/lib/project-paths.d.ts +0 -1
- package/dist/lib/project-paths.js +0 -3
- package/dist/lib/runtime-acceptance.d.ts +0 -1
- package/dist/lib/runtime-acceptance.js +0 -1
- package/dist/lib/runtime-contracts.d.ts +0 -1
- package/dist/lib/runtime-contracts.js +0 -1
- package/dist/lib/runtime-inventory.d.ts +0 -1
- package/dist/lib/runtime-inventory.js +0 -1
- package/dist/lib/runtime-paths.d.ts +0 -1
- package/dist/lib/runtime-paths.js +0 -1
- package/dist/lib/runtime-prompt.d.ts +0 -1
- package/dist/lib/runtime-prompt.js +0 -1
- package/dist/lib/runtime-reconcile.d.ts +0 -1
- package/dist/lib/runtime-reconcile.js +0 -1
- package/dist/lib/runtime-runs.d.ts +0 -1
- package/dist/lib/runtime-runs.js +0 -1
- package/dist/lib/runtime-types.d.ts +0 -1
- package/dist/lib/runtime-types.js +0 -1
- package/dist/lib/runtime.d.ts +0 -1
- package/dist/lib/runtime.js +0 -1
- package/dist/lib/schema.d.ts +0 -4
- package/dist/lib/schema.js +0 -6
- package/dist/lib/source-config.d.ts +0 -1
- package/dist/lib/source-config.js +0 -3
- package/dist/lib/state-artifacts.d.ts +0 -1
- package/dist/lib/state-artifacts.js +0 -1
- package/dist/lib/state-health.d.ts +0 -1
- package/dist/lib/state-health.js +0 -1
- package/dist/lib/state-io.d.ts +0 -1
- package/dist/lib/state-io.js +0 -1
- package/dist/lib/state-paths.d.ts +0 -1
- package/dist/lib/state-paths.js +0 -1
- package/dist/lib/state-view.d.ts +0 -1
- package/dist/lib/state-view.js +0 -1
- package/dist/lib/state.d.ts +0 -1
- package/dist/lib/state.js +0 -1
- package/dist/lib/test-execution.d.ts +0 -1
- package/dist/lib/test-execution.js +0 -3
- package/dist/lib/test-matrices.d.ts +0 -1
- package/dist/lib/test-matrices.js +0 -3
- package/dist/lib/test-paths.d.ts +0 -1
- package/dist/lib/test-paths.js +0 -3
- package/dist/lib/test-profile-presets.d.ts +0 -1
- package/dist/lib/test-profile-presets.js +0 -3
- package/dist/lib/test-sandbox.d.ts +0 -1
- package/dist/lib/test-sandbox.js +0 -3
- package/dist/lib/test-specs.d.ts +0 -1
- package/dist/lib/test-specs.js +0 -3
- package/dist/lib/test-targets.d.ts +0 -1
- package/dist/lib/test-targets.js +0 -3
- package/dist/lib/test-types.d.ts +0 -1
- package/dist/lib/test-types.js +0 -3
- package/dist/lib/test.d.ts +0 -1
- package/dist/lib/test.js +0 -3
- package/dist/lib/util.d.ts +0 -1
- package/dist/lib/util.js +0 -1
- package/dist/lib/validate-compiled.d.ts +0 -1
- package/dist/lib/validate-compiled.js +0 -1
- package/dist/lib/validate-helpers.d.ts +0 -1
- package/dist/lib/validate-helpers.js +0 -1
- package/dist/lib/validate.d.ts +0 -1
- package/dist/lib/validate.js +0 -1
- package/dist/lib/workflow-authoring.d.ts +0 -1
- package/dist/lib/workflow-authoring.js +0 -1
- package/dist/lib/workflow-definitions.d.ts +0 -1
- package/dist/lib/workflow-definitions.js +0 -1
- package/dist/lib/workflow-edit-session.d.ts +0 -1
- package/dist/lib/workflow-edit-session.js +0 -1
- package/dist/lib/workflow-edit-utils.d.ts +0 -1
- package/dist/lib/workflow-edit-utils.js +0 -1
- package/dist/lib/workflow-helpers.d.ts +0 -1
- package/dist/lib/workflow-helpers.js +0 -1
- package/dist/lib/workflow-improvement.d.ts +0 -1
- package/dist/lib/workflow-improvement.js +0 -1
- package/dist/lib/workflow-primitives.d.ts +0 -1
- package/dist/lib/workflow-primitives.js +0 -1
- package/dist/lib/workflow-review-paths.d.ts +0 -1
- package/dist/lib/workflow-review-paths.js +0 -1
- package/dist/lib/workflow-stage-policy.d.ts +0 -1
- package/dist/lib/workflow-stage-policy.js +0 -1
- package/dist/lib/workflow-stage-runner.d.ts +0 -1
- package/dist/lib/workflow-stage-runner.js +0 -1
- package/dist/lib/workflows.d.ts +0 -1
- package/dist/lib/workflows.js +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.17jn9btb_52pq.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__uNhmwG__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__uNhmwG__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
|
|
2
|
+
@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__iZqIaq__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__iZqIaq__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
|
|
3
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:#ff6568;--color-red-700:#bf000f;--color-red-900:#82181a;--color-blue-400:#54a2ff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-red-900:lab(28.5139% 44.5539 29.0463);--color-blue-400:lab(65.0361% -1.42065 -56.9802)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.\!absolute{position:absolute!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.\!top-2{top:calc(var(--spacing) * 2)!important}.-top-3{top:calc(var(--spacing) * -3)}.top-0{top:calc(var(--spacing) * 0)}.top-3{top:calc(var(--spacing) * 3)}.top-9{top:calc(var(--spacing) * 9)}.\!right-2{right:calc(var(--spacing) * 2)!important}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2{bottom:calc(var(--spacing) * 2)}.left-0{left:calc(var(--spacing) * 0)}.left-3{left:calc(var(--spacing) * 3)}.left-6{left:calc(var(--spacing) * 6)}.z-10{z-index:10}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.m-4{margin:calc(var(--spacing) * 4)}.mx-2\.5{margin-inline:calc(var(--spacing) * 2.5)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3\.5{margin-block:calc(var(--spacing) * 3.5)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-12{margin-left:calc(var(--spacing) * 12)}.ml-16{margin-left:calc(var(--spacing) * 16)}.\!flex{display:flex!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.\!h-6{height:calc(var(--spacing) * 6)!important}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[20px\]{height:20px}.h-\[56px\]{height:56px}.h-full{height:100%}.h-px{height:1px}.max-h-\[200px\]{max-height:200px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[32px\]{min-height:32px}.\!w-6{width:calc(var(--spacing) * 6)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-\[10\%\]{width:10%}.w-\[20\%\]{width:20%}.w-\[35\%\]{width:35%}.w-\[55\%\]{width:55%}.w-\[75\%\]{width:75%}.w-\[90\%\]{width:90%}.w-full{width:100%}.w-px{width:1px}.max-w-\[70\%\]{max-width:70%}.max-w-\[800px\]{max-width:800px}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-px{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.\!items-center{align-items:center!important}.items-center{align-items:center}.items-start{align-items:flex-start}.\!justify-center{justify-content:center!important}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.\!rounded-md{border-radius:var(--radius-md)!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-bl-lg{border-bottom-left-radius:var(--radius-lg)}.\!border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-red-400{border-color:var(--color-red-400)}.\!bg-\[var\(--ds-background-100\)\]{background-color:var(--ds-background-100)!important}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-9{padding-top:calc(var(--spacing) * 9)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[var\(--ds-gray-800\)\]{color:var(--ds-gray-800)!important}.text-red-900{color:var(--color-red-900)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-transparent{text-decoration-color:#0000}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-none{-webkit-user-select:none;user-select:none}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\/copy\:opacity-100:is(:where(.group\/copy):hover *),.group-hover\/payload\:opacity-100:is(:where(.group\/payload):hover *){opacity:1}}.first-letter\:uppercase:first-letter{text-transform:uppercase}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}@media (hover:hover){.hover\:\!bg-\[var\(--ds-gray-alpha-200\)\]:hover{background-color:var(--ds-gray-alpha-200)!important}.hover\:\!bg-\[var\(--ds-red-200\)\]:hover{background-color:var(--ds-red-200)!important}.hover\:bg-\[var\(--ds-gray-alpha-100\)\]:hover{background-color:var(--ds-gray-alpha-100)}.hover\:bg-\[var\(--ds-gray-alpha-200\)\]:hover{background-color:var(--ds-gray-alpha-200)}.hover\:bg-blue-400\/50:hover{background-color:#54a2ff80}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-400\/50:hover{background-color:color-mix(in oklab, var(--color-blue-400) 50%, transparent)}}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.active\:\!scale-95:active{--tw-scale-x:95%!important;--tw-scale-y:95%!important;--tw-scale-z:95%!important;scale:var(--tw-scale-x) var(--tw-scale-y)!important}.active\:\!bg-\[var\(--ds-gray-alpha-300\)\]:active{background-color:var(--ds-gray-alpha-300)!important}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (prefers-color-scheme:dark){.dark\:border-red-700{border-color:var(--color-red-700)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\>\*\:first-child\]\:mt-0>:first-child{margin-top:calc(var(--spacing) * 0)}.\[\&\>\*\:last-child\]\:mb-0>:last-child{margin-bottom:calc(var(--spacing) * 0)}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\]\:text-red-900>svg{color:var(--color-red-900)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing) * 7)}}:root{--ds-background-100:#fff;--ds-background-200:#fafafa;--ds-gray-100:#f2f2f2;--ds-gray-200:#ebebeb;--ds-gray-300:#e6e6e6;--ds-gray-400:#ebebeb;--ds-gray-500:#c9c9c9;--ds-gray-600:#a8a8a8;--ds-gray-700:#8f8f8f;--ds-gray-800:#7d7d7d;--ds-gray-900:#666;--ds-gray-1000:#171717;--ds-gray-alpha-100:#0000000d;--ds-gray-alpha-200:#00000015;--ds-gray-alpha-400:#00000014;--ds-gray-alpha-700:#00000070;--ds-gray-alpha-1000:#000000e8;--ds-blue-100:#f0f7ff;--ds-blue-200:#ebf5ff;--ds-blue-300:#e0f0ff;--ds-blue-400:#cce6ff;--ds-blue-500:#99ceff;--ds-blue-600:#52aeff;--ds-blue-700:#0072f5;--ds-blue-900:#0068d6;--ds-red-100:#fff0f0;--ds-red-200:#ffebeb;--ds-red-300:#ffe6e6;--ds-red-400:#fdd8d8;--ds-red-500:#f8b9b9;--ds-red-600:#f87275;--ds-red-700:#e5484d;--ds-red-900:#cb2a2f;--ds-amber-100:#fff6e6;--ds-amber-200:#fff4d6;--ds-amber-300:#fef0cd;--ds-amber-400:#ffdd8f;--ds-amber-500:#ffc96b;--ds-amber-600:#f5b047;--ds-amber-700:#ffb224;--ds-amber-900:#a35200;--ds-green-100:#effbef;--ds-green-200:#ebfaeb;--ds-green-300:#daf6da;--ds-green-400:#c6f1c7;--ds-green-500:#99e69e;--ds-green-600:#6cda75;--ds-green-700:#45a557;--ds-green-900:#297a3a;--ds-teal-200:#e5faf6;--ds-teal-400:#bef4eb;--ds-teal-500:#86ead9;--ds-teal-900:#067a6e;--ds-purple-100:#f9f0ff;--ds-purple-200:#f9f1fe;--ds-purple-300:#f4e8fc;--ds-purple-400:#eddcf9;--ds-purple-500:#d5b1f1;--ds-purple-600:#bf89ec;--ds-purple-700:#8e4ec6;--ds-purple-900:#7820bc;--ds-pink-200:#feecf2;--ds-pink-400:#f9d7e2;--ds-pink-500:#f5b8cc;--ds-pink-900:#bd2864;--ds-shadow-small:0px 1px 2px #0000000a}.dark-theme,.dark,[data-theme=dark]{--ds-background-100:#121212;--ds-background-200:#1a1a1a;--ds-gray-100:#1c1c1c;--ds-gray-200:#242424;--ds-gray-300:#2b2b2b;--ds-gray-400:#242424;--ds-gray-500:#3b3b3b;--ds-gray-600:#575757;--ds-gray-700:#707070;--ds-gray-800:#828282;--ds-gray-900:#a1a1a1;--ds-gray-1000:#ededed;--ds-gray-alpha-100:#ffffff0f;--ds-gray-alpha-200:#ffffff17;--ds-gray-alpha-400:#ffffff24;--ds-gray-alpha-700:#ffffff73;--ds-gray-alpha-1000:#ffffffeb;--ds-blue-100:#0f1c2e;--ds-blue-200:#10233d;--ds-blue-300:#0f2f57;--ds-blue-400:#0d3868;--ds-blue-500:#0a4380;--ds-blue-600:#075cb0;--ds-blue-700:#0073e6;--ds-blue-900:#70b8ff;--ds-red-100:#2a1314;--ds-red-200:#3c1618;--ds-red-300:#561a1e;--ds-red-400:#671e21;--ds-red-500:#832126;--ds-red-600:#c41c22;--ds-red-700:#e5484d;--ds-red-900:#ff8589;--ds-amber-100:#291800;--ds-amber-200:#381f00;--ds-amber-300:#4d2a00;--ds-amber-400:#573300;--ds-amber-500:#704100;--ds-amber-600:#995c00;--ds-amber-700:#ffb224;--ds-amber-900:#ffd68a;--ds-green-100:#0b2212;--ds-green-200:#0f2e18;--ds-green-300:#12361b;--ds-green-400:#0c451b;--ds-green-500:#126426;--ds-green-600:#1a9338;--ds-green-700:#45a557;--ds-green-900:#97d897;--ds-teal-200:#062d26;--ds-teal-400:#0d4a40;--ds-teal-500:#115f52;--ds-teal-900:#47ebca;--ds-purple-100:#231528;--ds-purple-200:#2e1938;--ds-purple-300:#422154;--ds-purple-400:#4f2768;--ds-purple-500:#5f2e85;--ds-purple-600:#8e4ec6;--ds-purple-700:#8e4ec6;--ds-purple-900:#bf7af0;--ds-pink-200:#2f1822;--ds-pink-400:#5c243a;--ds-pink-500:#7a2949;--ds-pink-900:#f075a6;--ds-shadow-small:0px 1px 2px #0000004d}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-gutter:clamp(24px, 7.4vw, 152px);--font-sans:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--background:#080808;--foreground:#f2f2f2;--card:#0d0d0d;--card-foreground:var(--foreground);--popover:#111;--popover-foreground:var(--foreground);--primary:#f2f2f2;--primary-foreground:#080808;--secondary:#171717;--secondary-foreground:var(--foreground);--muted:#171717;--muted-foreground:#9b9b9b;--accent:#181818;--accent-foreground:var(--foreground);--control:#242424;--control-hover:#181818;--control-active:#070707;--control-border:#3a3a3a;--field:#090909;--canvas:#050505;--destructive:#ff5f57;--destructive-foreground:#fff;--border:#262626;--input:#383838;--ring:#60a5fa;--radius:8px;--bg:var(--background);--panel:var(--card);--panel-raised:var(--popover);--panel-soft:var(--secondary);--line:var(--border);--line-strong:var(--input);--ink:var(--foreground);--muted-2:#6f6f6f;--green:#43d08a;--green-soft:#43d08a2e;--blue:#60a5fa;--blue-soft:#60a5fa33;--red:#ff5f57;--red-soft:#ff5f572e;--amber:#f7c948;--amber-soft:#f7c94829;--text-shadow:0 1px 0 #00000059}html.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fff;--foreground:#171717;--card:#fff;--card-foreground:var(--foreground);--popover:#fafafa;--popover-foreground:var(--foreground);--primary:#171717;--primary-foreground:#fff;--secondary:#f5f5f5;--secondary-foreground:var(--foreground);--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:var(--foreground);--control:#f5f5f5;--control-hover:#eee;--control-active:#fff;--control-border:#d4d4d4;--field:#fff;--canvas:#fff;--border:#e5e5e5;--input:#d4d4d4;--bg:var(--background);--panel:var(--card);--panel-raised:var(--popover);--panel-soft:var(--secondary);--line:var(--border);--line-strong:var(--input);--ink:var(--foreground);--muted-2:#8a8a8a;--text-shadow:none}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font-sans);-webkit-tap-highlight-color:#f2f2f21a;margin:0}body{overflow-x:hidden}button,input,select,textarea{font:inherit}button{color:inherit;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,tr[role=button]:focus-visible{box-shadow:0 0 0 2px var(--blue);outline:0}h1,h2,h3,p{margin-top:0}code,time{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.compiler-shell{width:100%;min-height:100vh;padding-bottom:42px}.compiler-shell.run-canvas-mode,.compiler-shell.source-canvas-mode{height:100dvh;min-height:100dvh;padding-bottom:0;overflow:hidden}.run-canvas-mode .top-nav{position:relative}.content-shell{width:100%;padding:34px var(--page-gutter) 0;margin:0 auto}.run-canvas-shell,.workflow-canvas-shell{height:calc(100dvh - 77px);padding:18px 28px 0;overflow:hidden}.source-canvas-shell{height:calc(100dvh - 77px);padding:34px var(--page-gutter) 0;overflow:hidden}.detail-wide-shell{padding:18px 28px 0}.top-nav{z-index:40;border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:16px 24px;display:flex;position:sticky;top:0}.brand-row,.nav-actions,.run-action-row,.filter-controls{align-items:center;display:flex}.brand-row{gap:18px;min-width:0}.brand-link{color:var(--ink);letter-spacing:0;text-shadow:var(--text-shadow);flex:none;align-items:center;font-size:clamp(1.18rem,1.7vw,1.55rem);font-weight:780;line-height:1;text-decoration:none;display:inline-flex}.brand-link:hover{color:#fff}.brand-mark{border:1px solid var(--line-strong);object-fit:cover;border-radius:12px;width:48px;height:48px}.nav-divider{background:var(--line);width:1px;height:32px}.path-open-control{min-width:0;color:var(--muted-foreground);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 14px;display:grid}.path-open-control:hover code,.path-open-control:focus-within code{color:var(--ink)}.path-open-copy{gap:2px;min-width:0;display:grid;overflow:hidden}.path-open-control.disabled code{color:var(--muted-foreground)}.path-open-control span{color:var(--muted-2);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:850;line-height:1}.path-open-control code{min-width:0;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;line-height:1.2;overflow:hidden}.path-open-action{opacity:0;pointer-events:none;transition:opacity .12s}.path-open-control:hover .path-open-action,.path-open-control:focus-within .path-open-action{opacity:1;pointer-events:auto}.local-path{max-width:min(680px,48vw)}.local-path .path-open-copy{align-items:baseline;gap:8px;display:flex}.local-path span{color:var(--muted-foreground);letter-spacing:0;text-transform:none;flex:none;font-size:.9rem;font-weight:520;line-height:1.1}.local-path span:after{content:":"}.local-path code{color:var(--muted-foreground);font-family:var(--font-sans);font-size:.9rem;font-weight:520}.nav-actions{flex:none;gap:10px}.theme-switcher{border:1px solid var(--control-border);background:var(--control);border-radius:8px;gap:2px;min-height:36px;padding:3px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.theme-switcher button{width:30px;min-height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.theme-switcher button.active{background:var(--control-active);color:var(--ink)}.theme-switcher button:hover{color:var(--ink)}.health-link,.icon-button,.docs-link,.toolbar-button,.segmented-tabs,.detail-tabs,.status-badge{border:1px solid var(--line-strong);background:var(--panel-raised);box-shadow:inset 0 1px #ffffff0a}.health-link{min-height:36px;color:var(--ink);background:0 0;border-color:#0000;align-items:center;gap:9px;padding:0 12px;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.icon-button,.docs-link,.toolbar-button,.dataset-action-button,.local-open-button{min-height:36px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-flex}.icon-button:hover,.docs-link:hover,.toolbar-button:hover,.dataset-action-button:hover,.local-open-button:hover,.segmented-tabs button:hover,.detail-tabs button:hover,.runs-table tr[role=button]:hover{background:var(--control-hover)}html.light .brand-link:hover{color:#000}html.light .theme-switcher button.active,html.light .segmented-tabs button.active,html.light .detail-tabs button.active{background:#fff;box-shadow:0 1px 2px #0000001a}html.light .icon-button:hover,html.light .docs-link:hover,html.light .toolbar-button:hover,html.light .dataset-action-button:hover,html.light .local-open-button:hover,html.light .segmented-tabs button:hover,html.light .detail-tabs button:hover,html.light .runs-table tr[role=button]:hover{background:#f5f5f5}.offline-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-top:34px;padding:18px}.offline-panel p{margin-bottom:10px}.offline-panel code{color:var(--red);overflow-wrap:anywhere;display:block}.segmented-tabs,.detail-tabs{border-color:var(--control-border);background:var(--control);border-radius:8px;gap:4px;padding:4px;display:inline-flex}.segmented-tabs{justify-self:start;margin:0 0 24px}.segmented-tabs button,.detail-tabs button{min-height:34px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:.88rem;font-weight:750}.segmented-tabs button{min-width:86px;padding:0 16px}.detail-tabs button{min-width:88px;padding:0 13px}.segmented-tabs button.active,.detail-tabs button.active{background:var(--control-active);color:var(--ink)}.run-workspace,.run-detail-page{gap:12px;display:grid}.run-list-head{align-items:end}.run-detail-page{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}.compiler-workspace-grid,.compiler-workspace-grid.agent-panel-collapsed{display:block}.compiler-main-stack{min-width:0}.run-canvas-shell .compiler-main-stack,.workflow-canvas-shell .compiler-main-stack{height:100%;min-height:0}.source-canvas-shell .compiler-main-stack{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.workflow-canvas-shell .source-layout{height:100%;min-height:0;overflow:hidden}.agent-chat-panel{z-index:90;border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;width:min(420px,100vw - 24px);height:min(640px,100dvh - 96px);min-height:0;padding:16px;display:grid;position:fixed;bottom:88px;right:20px;overflow:hidden;box-shadow:0 24px 80px #00000085}.agent-panel-head,.proposal-title-row,.agent-head-actions,.proposal-actions{align-items:center;display:flex}.agent-panel-head,.proposal-title-row,.agent-head-actions{justify-content:space-between;gap:12px}.agent-head-actions{gap:8px}.agent-review-pill{border:1px solid var(--line-strong);background:var(--panel-raised);min-height:30px;color:var(--muted-foreground);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.agent-field span,.proposal-meta,.agent-empty{color:var(--muted-foreground);font-size:.78rem}.agent-title{align-items:center;gap:10px;min-width:0;display:flex}.agent-title svg{color:var(--green);flex:none}.agent-title-copy{gap:4px;min-width:0;display:grid}.agent-panel-head h2{color:var(--ink);letter-spacing:0;margin:0;font-size:.94rem;font-weight:800;line-height:1.1}.agent-status-label{min-width:0;color:var(--muted-foreground);letter-spacing:0;text-transform:uppercase;align-items:center;gap:6px;font-size:.74rem;font-weight:800;line-height:1;display:flex}.agent-executor-switcher{min-width:0;color:var(--muted-foreground);align-items:center;gap:6px;display:inline-flex}.agent-executor-switcher select{appearance:none;min-width:0;max-width:180px;height:30px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:800;line-height:1.1}.agent-executor-switcher select:disabled{opacity:1}.agent-executor-switcher svg{color:var(--muted-foreground);flex:none}.agent-executor-switcher svg:last-child{pointer-events:none;transform:rotate(90deg)}.agent-status-dot{background:var(--muted-2);border-radius:999px;width:8px;height:8px}.agent-status-dot.status-ok{background:var(--green)}.agent-status-dot.status-fail{background:var(--red)}.agent-collapse-button{border:1px solid var(--line);color:var(--muted-foreground);cursor:pointer;background:#0a0a0a;border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.agent-launcher{z-index:91;border:1px solid var(--line-strong);background:var(--panel-raised);width:48px;height:48px;color:var(--green);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 18px 48px #0000006b}.agent-collapse-button:hover,.agent-launcher:hover{color:var(--green);background:#171717}.agent-launcher.open{background:var(--panel-raised);color:var(--green)}.rail-status-dot{background:currentColor;border-radius:999px;width:7px;height:7px;position:absolute;bottom:6px;right:6px}.agent-settings{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;min-width:0;padding:8px 10px}.agent-settings summary{color:var(--muted-foreground);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;line-height:1.35;display:flex}.agent-settings summary::-webkit-details-marker{display:none}.agent-settings[open] summary svg{transform:rotate(90deg)}.agent-control-grid{grid-template-columns:1fr;gap:8px;padding-top:10px;display:grid}.agent-field{gap:6px;display:grid}.agent-field select,.agent-compose textarea{border:1px solid var(--line-strong);background:var(--field);width:100%;color:var(--ink);border-radius:8px}.agent-field select{height:38px;padding:0 12px}.chat-transcript{scrollbar-gutter:stable;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;align-content:start;gap:12px;min-height:0;padding:2px 2px 8px;display:grid;overflow-y:auto}.chat-transcript::-webkit-scrollbar{width:8px}.chat-transcript::-webkit-scrollbar-track{background:0 0}.chat-transcript::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.chat-turn{gap:8px;display:grid}.chat-turn.pending{opacity:1}.chat-message{gap:9px;min-width:0;display:grid}.chat-message p{border:1px solid var(--line);width:fit-content;max-width:100%;color:var(--ink);overflow-wrap:anywhere;border-radius:8px;margin:0;padding:8px 10px;font-size:.82rem;line-height:1.42}.chat-message.user{justify-items:end}.chat-message.user p{border-color:var(--line-strong);color:#dedede;background:0 0}.chat-message.assistant p{background:var(--field)}.chat-message.assistant .planning-copy{color:var(--muted-foreground);align-items:center;gap:8px;display:inline-flex}.command-preview{border:1px solid var(--line);background:var(--canvas);border-radius:8px;gap:5px;width:100%;padding:9px 10px;display:grid}.command-preview span{color:var(--muted-2);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.command-preview code{color:#dedede;font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.78rem;line-height:1.4}.proposal-actions button{border:1px solid var(--line-strong);background:var(--panel-raised);min-height:32px;color:var(--ink);cursor:pointer;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:.78rem;font-weight:750;display:inline-flex}.proposal-actions button:hover{background:#181818}.agent-suggestions{border-top:1px solid var(--line);scrollbar-width:none;gap:8px;min-width:0;padding:12px 1px 2px;display:flex;overflow-x:auto}.agent-suggestions::-webkit-scrollbar{display:none}.agent-suggestions button{border:1px solid var(--line-strong);min-height:32px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:0 11px;font-size:.78rem;font-weight:800}.agent-suggestions button:hover{background:var(--control-hover)}.agent-compose{align-items:stretch;gap:8px;display:grid}.agent-input-shell{border:1px solid var(--line-strong);background:var(--field);border-radius:8px;grid-template-rows:minmax(64px,auto) auto;align-items:stretch;gap:10px;min-width:0;padding:12px;display:grid}.agent-input-shell:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue)}.agent-compose textarea{resize:none;background:0 0;border:0;min-height:64px;max-height:130px;padding:0;line-height:1.4}.agent-compose textarea:focus-visible{box-shadow:none}.agent-compose-footer{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.agent-attached-values{border:1px solid var(--line);background:var(--panel-soft);min-width:0;color:var(--muted-foreground);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:.76rem;font-weight:850;display:flex}.agent-attached-values button{border:1px solid var(--line);min-height:24px;color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;padding:0 8px;font-size:.72rem;font-weight:800}.send-button{border:1px solid var(--line-strong);background:var(--panel-raised);min-height:36px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:850;display:inline-flex}.send-button:disabled{cursor:not-allowed;opacity:.48}.agent-error{color:var(--red);margin:0;font-size:.78rem;line-height:1.4}.proposal-card{border:1px solid var(--line);background:#0a0a0a;border-radius:8px;gap:10px;padding:12px;display:grid}.proposal-card.compact{background:#080808}.chat-turn.historical{opacity:.78}.proposal-card.historical{background:#070707;gap:8px}.proposal-card.actionable{border-color:var(--line-strong);box-shadow:inset 0 1px #ffffff0a}.proposal-skeleton{overflow:hidden}.skeleton-line{background:linear-gradient(90deg,#ffffff0f,#ffffff21,#ffffff0f) 0 0/180% 100%;border-radius:999px;width:68%;height:10px;animation:1.2s ease-in-out infinite skeleton-pulse}.skeleton-line.wide{width:92%}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.proposal-title-row strong{overflow-wrap:anywhere;min-width:0;font-size:.9rem;line-height:1.32}.proposal-card p{color:var(--muted-foreground);margin:0;font-size:.82rem;line-height:1.45}.proposal-meta{flex-wrap:wrap;gap:8px;display:flex}.proposal-meta span{border:1px solid var(--line);background:var(--panel-raised);border-radius:999px;padding:2px 7px}.proposal-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.proposal-detail-grid div{gap:3px;min-width:0;display:grid}.proposal-detail-grid dt{color:var(--muted-2);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.proposal-detail-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.78rem;line-height:1.35}.proposal-detail-grid dd.mono{font-family:var(--font-mono);font-size:.72rem}.proposal-actions{gap:8px}.proposal-run-link{border:1px solid var(--line-strong);background:var(--panel-raised);min-height:32px;color:var(--ink);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.proposal-run-link:hover{background:var(--control-hover)}.payload-details{border-top:1px solid var(--line);padding-top:8px}.payload-details summary{color:var(--muted-foreground);cursor:pointer;font-size:.76rem;font-weight:800}.breadcrumb-row{color:var(--muted-foreground);align-items:center;gap:10px;font-size:.86rem;display:flex}.breadcrumb-row button{color:var(--ink);cursor:pointer;background:0 0;border:0;font-weight:800}.breadcrumb-row code{color:var(--muted-foreground);overflow-wrap:anywhere}.filter-controls{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px;min-width:0}.filter-controls label{gap:5px;display:grid}.filter-controls label span{color:var(--muted-2);text-transform:uppercase;font-size:.7rem;font-weight:750}.filter-controls select{border:1px solid var(--line-strong);background:var(--panel-raised);min-width:178px;height:38px;color:var(--ink);border-radius:8px;padding:0 34px 0 12px}.filter-controls .toolbar-button{min-width:98px;min-height:38px}.runs-view{gap:14px;display:grid}.runs-head-controls{flex:0 0 min(760px,56vw);grid-template-columns:minmax(240px,340px) 190px auto;justify-content:flex-end;align-items:end;gap:8px;min-width:0;display:grid}.runs-head-controls label,.runs-search-field{gap:5px;min-width:0;display:grid}.runs-search-field,.runs-head-controls label:not(.runs-search-field){width:100%}.runs-head-controls label span,.runs-search-field span{color:var(--muted-2);text-transform:uppercase;font-size:.7rem;font-weight:800}.runs-head-controls select,.runs-search-field input{border:1px solid var(--line-strong);background-color:var(--panel-raised);min-height:34px;color:var(--ink);border-radius:8px;font-size:.84rem;font-weight:700}.runs-head-controls select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%), linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;width:100%;padding:0 34px 0 12px}.runs-head-controls .toolbar-button{align-self:end;min-width:84px;min-height:34px}.runs-search-field input{width:100%;padding:0 14px}.run-status-filter-row{grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;min-width:0;display:grid}.run-status-filter{border:1px solid var(--line);background:var(--panel-soft);min-height:34px;color:var(--ink);cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:7px;padding:0 9px;display:flex}.run-status-filter:hover,.run-status-filter.active{border-color:var(--line-strong);background:var(--control-hover)}.run-status-filter strong{font-size:.78rem}.run-status-filter em{color:var(--muted-foreground);margin-left:auto;font-style:normal;font-weight:800}.table-frame{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:auto}.runs-table{border-collapse:collapse;width:100%;min-width:1120px}.runs-table th,.runs-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 18px}.runs-table th{z-index:1;background:var(--panel);color:var(--muted-foreground);font-size:.8rem;font-weight:800;position:sticky;top:0}.runs-table td{color:var(--ink);font-size:.9rem}.runs-table tr:last-child td{border-bottom:0}.runs-table code{color:#d6d6d6;overflow-wrap:anywhere;font-size:.78rem}.runs-table time,.runs-table td span{color:var(--muted-foreground)}.run-name-cell{gap:5px;min-width:0;display:grid}.run-name-cell strong,.run-name-cell span{overflow-wrap:anywhere}.run-name-cell strong{font-size:.95rem}.run-name-cell span{color:var(--muted-foreground);font-size:.8rem}.empty-table{min-height:112px;color:var(--muted-foreground);text-align:center;place-items:center;gap:8px;padding:22px;display:grid}.empty-table strong{color:var(--ink);font-size:1rem}.detail-panel,.run-header-card,.empty-detail{border:1px solid var(--line);background:var(--panel);border-radius:8px}.run-detail{grid-template-rows:auto auto minmax(0,1fr);gap:14px;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.run-header-card{gap:22px;min-width:0;padding:18px;display:grid}.run-detail>.detail-panel{min-height:0;overflow:auto}.workflow-trace-frame,.workflow-events-frame,.run-readiness-frame{border:1px solid var(--line);background:var(--canvas);border-radius:8px;min-width:0;min-height:0}.workflow-trace-frame,.workflow-events-frame{height:100%;overflow:hidden}.eyebrow{color:var(--muted-foreground);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:850}.empty-state{min-height:116px;color:var(--muted-foreground);text-align:center;place-items:center;gap:8px;padding:18px;display:grid}.empty-state strong{color:var(--ink)}.empty-detail{color:var(--muted-foreground);align-content:center;justify-items:center}.empty-detail strong{color:var(--ink)}.run-overview,.run-metadata,.panel-title{justify-content:space-between;align-items:start;gap:18px;display:flex}.run-overview h1{margin:0;font-size:1.25rem;line-height:1.25}.run-overview p,.metric-box p,.compact-list p,.failure-text,.muted{color:var(--muted-foreground);font-size:.86rem;line-height:1.45}.run-overview p,.compact-list p{margin-bottom:0}.run-action-row{gap:10px}.run-metadata{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:8px 0 4px;display:grid}.run-context-panel{border-top:1px solid var(--line);grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);gap:16px;min-width:0;padding-top:16px;display:grid}.run-context-copy{align-content:start;gap:8px;min-width:0;display:grid}.run-context-copy span{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:850}.run-context-copy p{color:var(--ink);margin:0;font-size:.86rem;line-height:1.45}.run-context-metrics{grid-template-columns:repeat(5,minmax(112px,1fr))}.run-readiness-frame{align-content:start;height:100%;overflow:auto}.run-readiness-metrics{grid-template-columns:repeat(5,minmax(120px,1fr))}.readiness-check-section{gap:10px;min-width:0;display:grid}.meta-item{gap:6px;min-width:0;display:grid}.meta-item span{color:var(--muted-foreground);font-size:.75rem;font-weight:700}.meta-item strong,.meta-item code{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:.8rem}.failure-text{color:var(--red);margin:0}.metric-box{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;min-width:0;min-height:76px;padding:10px 12px}.metric-box span{color:var(--muted-foreground);text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800;display:block}.check-stack{gap:8px;display:grid}.check-stack article,.compact-list article{border-top:1px solid var(--line);grid-template-columns:72px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:10px 0;display:grid}.check-stack article span{text-transform:uppercase;font-size:.72rem;font-weight:850}.check-stack article p{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.84rem;line-height:1.45}.workflow-canvas{border:1px solid var(--line);background-color:#050505;background-image:radial-gradient(circle,#fff3 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:8px;min-height:560px;position:relative;overflow:auto}.canvas-legend{z-index:2;border:1px solid var(--line);width:230px;color:var(--muted-foreground);background:#0a0a0aeb;border-radius:8px;gap:9px;margin:16px;padding:12px;font-size:.78rem;display:grid;position:sticky;top:16px;left:16px}.canvas-legend span{align-items:center;gap:8px;display:flex}.legend-dot{border-radius:99px;width:10px;height:10px;display:inline-block}.legend-dot.start{background:var(--blue)}.legend-dot.stage{background:var(--green)}.legend-line{background:var(--line-strong);width:22px;height:2px;display:inline-block}.graph-stack{justify-items:center;min-width:820px;padding:4px 24px 44px;display:grid}.graph-step{justify-items:center;display:grid}.graph-connector{background:var(--line-strong);width:2px;height:84px;display:block}.graph-node{background:var(--panel-raised);width:min(440px,76vw);min-height:86px;color:var(--green);text-align:center;border:1px solid;border-radius:8px;justify-items:center;gap:7px;padding:14px 18px;display:grid;box-shadow:0 18px 40px #00000047}.graph-node.start,.graph-node.end{color:var(--blue);background:#102033}.graph-node strong{color:var(--ink);overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.graph-node p{color:var(--muted-foreground);margin:0;font-size:.78rem;line-height:1.35}.node-icon{border:2px solid;border-radius:99px;width:18px;height:18px;display:block}.node-icon.stage{border-radius:5px}.detail-panel{gap:16px;padding:18px;display:grid}.evidence-stack{border:1px solid var(--line);background:var(--panel-raised);border-radius:8px;gap:12px;min-width:0;padding:12px;display:grid}.panel-title h2{margin:0;font-size:1.03rem}.panel-title span{color:var(--muted-foreground);font-size:.82rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;display:grid}.metric-box strong{color:var(--ink);overflow-wrap:anywhere;font-size:1rem;line-height:1.22;display:block}.metric-box p{margin:5px 0 0}.run-context-metrics .metric-box p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.local-open-button{border:1px solid var(--control-border);background:var(--panel-raised);min-height:36px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:.84rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.local-open-button:hover{border-color:var(--line-strong);background:var(--control-hover)}.local-open-button.primary{background:var(--green-soft);min-height:40px;color:var(--green);border-color:#43d08a70;padding:0 14px;box-shadow:inset 0 1px #ffffff0d}.local-open-button.primary:hover{background:#43d08a3d}.local-open-button.compact{border-radius:7px;min-height:26px;padding-inline:8px;font-size:.68rem;line-height:1}.local-open-button.failed{color:var(--red)}.tab-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);align-items:start;gap:18px;display:grid}.compact-list{gap:2px;display:grid}.compact-list article{grid-template-columns:auto minmax(0,1fr)}.compact-list strong,.compact-list p{overflow-wrap:anywhere}.workflow-layout{grid-template-columns:minmax(330px,.42fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.workflow-list-layout{gap:18px;display:grid}.page-head{justify-content:space-between;align-items:end;gap:18px;min-width:0;display:flex}.page-head>div:not(.filter-controls){gap:10px;min-width:0;display:grid}.page-head>.filter-controls{flex:none;display:flex}.page-head h1{overflow-wrap:anywhere;margin:0;font-size:1.4rem;line-height:1.15}.page-head p{color:var(--muted-foreground);font-family:var(--font-mono);overflow-wrap:anywhere;margin:0;font-size:.84rem}.page-path-control,.section-path-control{background:0 0;border:1px solid #0000;border-radius:8px;width:min(760px,100%);padding:7px 9px}.page-path-control:hover,.page-path-control:focus-within,.section-path-control:hover,.section-path-control:focus-within{border-color:var(--line);background:var(--field)}.page-path-control code,.section-path-control code{font-family:var(--font-mono);font-size:.84rem}.page-head>.toolbar-button,.page-head>.dataset-action-button{flex:none}.workflow-table-frame{max-height:calc(100vh - 220px)}.workflow-table-frame .runs-table{min-width:560px}.workflow-table-wide .runs-table{min-width:1100px}.row-action-menu{display:inline-flex;position:relative}.row-action-trigger{width:34px;height:30px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.row-action-trigger.active,.row-action-trigger:hover{border-color:var(--control-border);background:var(--control-hover);color:var(--ink)}.row-action-menu-content{z-index:80;border:1px solid var(--line-strong);background:var(--panel-raised);border-radius:8px;min-width:150px;max-height:min(260px,100dvh - 24px);padding:5px;display:grid;position:fixed;overflow:auto;box-shadow:0 16px 42px #00000061}.row-action-menu-content button{min-height:32px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:.78rem;font-weight:760}.row-action-menu-content button:hover{background:var(--control-hover)}.row-action-menu-content button.destructive{color:var(--red)}.action-dialog-backdrop{z-index:120;background:#00000094;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.action-dialog{border:1px solid var(--line-strong);background:var(--panel-raised);width:min(680px,100vw - 32px);max-height:min(820px,100dvh - 32px);font-family:var(--font-sans);border-radius:8px;gap:18px;padding:20px;display:grid;overflow:auto;box-shadow:0 24px 80px #0000007a}.action-dialog-head,.action-dialog-actions{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.action-dialog-head h2{margin:0 0 7px;font-size:1.08rem;line-height:1.2}.action-dialog-head p{color:var(--muted-foreground);overflow-wrap:anywhere;margin:0;font-size:.86rem;line-height:1.45}.action-form{gap:16px;display:grid}.action-form-field{gap:7px;min-width:0;display:grid}.action-form-field>span{color:var(--ink);font-size:.88rem;font-weight:800}.action-form-field p{color:var(--muted-foreground);margin:-2px 0 0;font-size:.82rem;line-height:1.4}.action-form-field input,.action-form-field select,.action-form-field textarea{border:1px solid var(--line-strong);background:var(--field);width:100%;min-width:0;color:var(--ink);font-family:var(--font-sans);border-radius:8px;font-size:.9rem}.action-form-field input,.action-form-field select{height:38px;padding:0 11px}.action-form-field select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%), linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 12px);background-repeat:no-repeat;background-size:6px 6px;padding-right:38px}.action-form-field select::-ms-expand{display:none}.action-form-field textarea{resize:vertical;min-height:82px;padding:10px 11px;line-height:1.4}.action-form-readonly{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;min-width:0;padding:10px 11px}.action-form-readonly code{color:var(--muted-foreground);font-family:var(--font-sans);overflow-wrap:anywhere;font-size:.86rem;font-weight:560;line-height:1.35;display:block}.action-form-field [aria-invalid=true]{border-color:var(--red)}.action-form-field strong{color:var(--red);font-size:.75rem;line-height:1.35}.action-values-preview{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;min-width:0;padding:10px 11px}.action-values-preview summary{color:var(--muted-foreground);cursor:pointer;font-size:.8rem;font-weight:850}.action-values-preview>div{max-height:220px;margin-top:8px;overflow:auto}.action-dialog-actions{justify-content:flex-end;align-items:center}.workflow-detail{gap:18px;min-width:0;display:grid}.workflow-detail-canvas-mode{flex-direction:column;height:calc(100dvh - 112px);min-height:0;display:flex;overflow:hidden}.workflow-canvas-shell .workflow-detail-canvas-mode{height:100%}.workflow-canvas-shell .context-workspace-canvas-mode{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.workflow-detail-canvas-mode>.source-tab-panel,.context-workspace-canvas-mode>.source-tab-panel{height:100%;min-height:0;overflow:hidden}.workflow-detail-head{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:28px;min-width:0;padding:22px;display:flex}.workflow-detail-head>div:first-child{gap:9px;min-width:0;display:grid}.workflow-detail-head h1{overflow-wrap:anywhere;margin:0;font-size:1.35rem;line-height:1.16}.workflow-detail-head p{max-width:820px;color:var(--muted-foreground);overflow-wrap:anywhere;margin:0;font-size:.86rem;line-height:1.42}.workflow-detail-head code{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:.82rem}.workflow-detail-graph{border:1px solid var(--line);background:#050505;border-radius:8px;grid-template-rows:minmax(0,1fr);min-width:0;height:calc(100vh - 380px);min-height:520px;display:grid;position:relative;overflow:hidden}.workflow-detail-canvas-mode .workflow-detail-graph,.context-workspace-canvas-mode>.workflow-detail-graph{flex:auto;height:auto;min-height:0}.workflow-detail-graph>.workflow-graph-layout{height:100%;min-height:0}.close-button{width:34px;height:34px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.close-button:hover{border-color:var(--control-border);background:var(--control-hover);color:var(--ink)}.workflow-graph-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;height:100%;min-height:0;max-height:100%;display:grid;overflow:hidden}.workflow-graph-layout.has-inspector{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,2fr) minmax(340px,.72fr);align-items:stretch}.workflow-graph-layout.has-inspector>.workflow-flow-canvas,.workflow-graph-layout.has-inspector>.workflow-stage-inspector{height:100%;min-height:0;max-height:100%}.workflow-flow-canvas{background:#050505;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.workflow-flow-canvas .react-flow{background:#050505}.workflow-flow-canvas .react-flow__node{font-family:inherit}.workflow-flow-canvas .react-flow__handle{background:#050505;border:2px solid #d4d4d4;width:10px;height:10px}.workflow-flow-canvas .react-flow__edge-path{stroke-linecap:round}.workflow-flow-canvas .react-flow__controls,.workflow-flow-canvas .react-flow__minimap{border:1px solid var(--line);background:#0a0a0ae0;border-radius:8px;overflow:hidden;box-shadow:0 14px 34px #00000059}.workflow-flow-canvas .react-flow__controls-button{border-bottom:1px solid var(--line);color:var(--ink);background:#0b0b0b}.workflow-flow-canvas .react-flow__controls-button:hover{background:#181818}.workflow-flow-canvas .react-flow__minimap{background:#090909}.workflow-flow-legend{border:1px solid var(--line);min-width:210px;color:var(--muted-foreground);background:#0a0a0aeb;border-radius:8px;gap:9px;padding:12px;font-size:.78rem;display:grid}.workflow-flow-legend span{align-items:center;gap:8px;display:flex}.workflow-stage-inspector{overscroll-behavior:contain;border-left:1px solid var(--line);background:var(--panel);scrollbar-gutter:stable;scrollbar-color:#5c5c5c #111;scrollbar-width:auto;align-content:start;align-self:stretch;gap:12px;height:100%;min-height:0;max-height:100%;padding:18px 18px 76px;display:grid;overflow:hidden scroll}.workflow-stage-inspector::-webkit-scrollbar{width:12px}.workflow-stage-inspector::-webkit-scrollbar-track{border-left:1px solid var(--line);background:#111}.workflow-stage-inspector::-webkit-scrollbar-thumb{background:#5c5c5c;border:3px solid #111;border-radius:999px}.workflow-package-inspector{gap:14px}.workflow-stage-inspector .close-button{justify-self:end;width:auto;padding:0 10px;font-size:.74rem;font-weight:800}.workflow-stage-inspector h2,.workflow-stage-inspector h3,.workflow-stage-inspector p{margin:0}.workflow-stage-inspector h2{color:var(--ink);font-size:1.02rem;line-height:1.25}.workflow-stage-inspector h3{color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:850}.workflow-stage-inspector p{color:var(--muted-foreground);font-size:.8rem;line-height:1.45}.stage-drawer-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stage-drawer-section{border-top:1px solid var(--line);gap:6px;min-width:0;padding-top:10px;display:grid}.workflow-file-tree{gap:7px;min-width:0;display:grid}.workflow-file-row{border:1px solid var(--line);background:var(--panel-raised);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.workflow-file-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex}button.workflow-file-main{cursor:pointer}button.workflow-file-main:hover strong{color:var(--ink)}.workflow-file-main svg{color:var(--muted-foreground);flex:none}.workflow-file-main>div{gap:2px;min-width:0;display:grid}.workflow-file-main strong,.workflow-file-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workflow-file-main strong{color:var(--ink);font-size:.8rem;line-height:1.2}.workflow-file-main span{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.68rem;line-height:1.25}.workflow-file-row .local-open-button{min-height:30px}.flow-node-label{text-align:center;place-items:center;gap:6px;min-width:0;padding:8px 10px;display:grid}.flow-node-label strong{color:var(--ink);overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.flow-node-label span,.flow-node-label em{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:.78rem;font-style:normal;line-height:1.35}.source-home-layout{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:start;gap:16px;min-width:0;display:grid}.portable-context-layout{grid-template-columns:minmax(0,1fr)}.source-home-side{gap:16px;min-width:0;display:grid}.source-home-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.source-home-panel .file-explorer{background:0 0;border:0;padding:0}.source-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.portable-workspace-panel .source-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.source-action-group{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:max-content;max-width:100%;display:inline-flex}.source-action-group .dataset-action-button{text-align:center;min-height:38px}.source-action-group .dataset-action-button:hover{border-color:var(--control-border)}.source-folder-view{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.source-folder-view .workspace-home-grid{height:100%;min-height:0;overflow:hidden}.source-folder-view .workspace-source-root{grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.source-folder-view .workspace-source-root.empty-source-root{height:auto}.source-folder-view .workspace-source-root .file-explorer{height:100%;max-height:none}.source-folder-view .source-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.file-explorer{border:1px solid var(--line);background:var(--panel-raised);min-width:0;max-height:min(58vh,640px);font-family:var(--font-mono);scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;border-radius:8px;overflow:auto}.file-explorer-head,.file-explorer-root,.file-explorer-row{min-width:0}.file-explorer-head{z-index:1;border-bottom:1px solid var(--line);background:var(--panel-raised);justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:8px 10px;display:flex;position:sticky;top:0}.file-explorer-head span{color:var(--ink);font-family:var(--font-sans);font-size:.78rem;font-weight:850}.file-explorer-head em{color:var(--muted-foreground);white-space:nowrap;font-size:.68rem;font-style:normal}.file-explorer-root,.file-explorer-row{align-items:center;gap:7px;display:grid}.file-explorer-root{border-bottom:1px solid var(--line);background:0 0;grid-template-columns:16px minmax(0,1fr) auto;min-height:38px;padding:7px 10px}.file-explorer-items{gap:1px;padding:5px 6px 7px;display:grid}.file-explorer-row{min-height:30px;color:var(--muted-foreground);padding-block:4px;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:16px 16px minmax(0,1fr) auto;padding-right:7px}.file-explorer-row:hover,.file-explorer-row:focus-within{border-color:var(--line);background:var(--field)}.file-explorer-row.folder{color:var(--ink)}.file-explorer-root svg,.file-explorer-row svg{color:var(--muted-foreground);flex:none}.file-explorer-disclosure,.file-explorer-label{color:inherit;cursor:pointer;background:0 0;border:0}.file-explorer-disclosure{border-radius:4px;place-items:center;width:16px;height:16px;padding:0;display:grid}.file-explorer-disclosure:hover{background:var(--control-hover)}.file-explorer-disclosure svg{transition:transform .12s}.file-explorer-disclosure.expanded svg{transform:rotate(90deg)}.file-explorer-spacer{width:16px;height:16px}.file-explorer-root>div,.file-explorer-label,.file-explorer-row>div:not(.file-explorer-actions){text-align:left;gap:1px;min-width:0;display:grid}.file-explorer-label{padding:0}.file-explorer-root strong,.file-explorer-label strong,.file-explorer-row strong{min-width:0;color:var(--ink);font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:800;line-height:1.2;display:block;overflow:hidden}.file-explorer-root span,.file-explorer-label span,.file-explorer-row span{min-width:0;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;line-height:1.2;display:block;overflow:hidden}.file-explorer-actions{opacity:0;pointer-events:none;justify-content:flex-end;align-items:center;min-width:46px;transition:opacity .12s;display:flex}.file-explorer-root:hover .file-explorer-actions,.file-explorer-root:focus-within .file-explorer-actions,.file-explorer-row:hover .file-explorer-actions,.file-explorer-row:focus-within .file-explorer-actions{opacity:1;pointer-events:auto}.file-explorer-actions .local-open-button{min-height:26px}.portable-empty{border:1px solid var(--line);background:var(--panel);border-radius:8px}.source-file-details{border-top:1px solid var(--line);padding-top:12px}.source-file-details summary{color:var(--ink);cursor:pointer;font-size:.86rem;font-weight:800}.source-file-list{gap:10px;max-height:320px;margin-top:12px;display:grid;overflow:auto}.source-file-list div{border-top:1px solid var(--line);gap:4px;padding:10px 0;display:grid}.source-file-list strong,.source-file-list span{overflow-wrap:anywhere;min-width:0}.source-file-list strong{color:var(--ink);font-size:.84rem}.source-file-list span{color:var(--muted-foreground);font-size:.78rem}.source-layout{gap:18px;display:grid}.workspace-home{gap:18px;min-width:0;display:grid}.workspace-home-head{justify-content:space-between;align-items:end;gap:18px;min-width:0;display:flex}.workspace-home-head>div{gap:10px;min-width:0;display:grid}.workspace-home-head h1{overflow-wrap:anywhere;margin:0;font-size:1.4rem;line-height:1.15}.workspace-home-head p{color:var(--muted-foreground);font-family:var(--font-mono);overflow-wrap:anywhere;margin:0;font-size:.84rem}.workspace-home-grid{grid-template-columns:minmax(0,.95fr) minmax(390px,.7fr);align-items:start;gap:16px;min-width:0;display:grid}.workspace-home-grid.source-only{grid-template-columns:minmax(0,1fr)}.workspace-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.workspace-source-root .file-tree-outline{max-height:min(64vh,720px)}.workspace-table-frame .workspace-table{min-width:980px}.workspace-row-actions{justify-content:flex-start}.dataset-workflow-tab{height:100%;min-height:0;overflow:hidden}.readiness-evidence-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.proof-disclosure{border:1px solid var(--line);background:var(--panel-raised);border-radius:8px;min-width:0;overflow:hidden}.proof-disclosure summary{min-width:0;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px;list-style:none;display:flex}.proof-disclosure summary::-webkit-details-marker{display:none}.proof-disclosure summary span{color:var(--ink);font-size:.88rem;font-weight:800}.proof-disclosure summary strong{color:var(--muted-foreground);font-size:.78rem}.proof-disclosure>.workflow-stage-evidence-list,.proof-disclosure>.check-stack,.proof-disclosure>.muted{margin:0 12px 12px}.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-stage-evidence-list{border:1px solid var(--line);background:var(--panel-raised);border-radius:8px;gap:0;min-width:0;display:grid;overflow:hidden}.workflow-stage-evidence-list article{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:11px;display:grid}.workflow-stage-evidence-list article:last-child{border-bottom:0}.workflow-stage-evidence-list strong,.workflow-stage-evidence-list p,.workflow-stage-evidence-list span{overflow-wrap:anywhere}.workflow-stage-evidence-list strong{color:var(--ink);font-size:.84rem;line-height:1.25;display:block}.workflow-stage-evidence-list p,.workflow-stage-evidence-list span{color:var(--muted-foreground);margin:4px 0 0;font-size:.76rem;line-height:1.35}.compact-evidence{padding:10px}.folder-identity,.dataset-action-group,.source-section-head{align-items:flex-start;display:flex}.workspace-detail-controls{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.workspace-detail-controls .source-detail-tabs{flex:0 auto;min-width:0}.context-workspace-head-actions{flex:none;justify-items:end;gap:10px;min-width:0;display:grid}.context-workspace-head-actions .local-open-button{width:auto;min-width:220px}.context-workspace-action-panel{border:1px solid var(--line);background:var(--panel-raised);border-radius:8px;justify-content:flex-end;width:max-content;min-width:0;max-width:100%;padding:10px;display:flex}.context-workspace-action-panel .dataset-action-group{flex-wrap:wrap;justify-content:flex-end;width:auto}.context-workspace-action-panel .dataset-action-button{min-height:34px;padding-inline:11px}.folder-identity{min-width:0;color:var(--muted-foreground);gap:10px}.folder-identity svg{flex:none;margin-top:3px}.folder-identity>div{gap:3px;min-width:0;display:grid}.folder-identity span{text-transform:uppercase;font-size:.72rem;font-weight:800}.folder-identity code{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:.82rem}.dataset-action-group{flex-wrap:wrap;gap:8px;padding:0}.dataset-action-button{border:1px solid var(--control-border);background:var(--panel-raised);min-height:36px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:.84rem;font-weight:800;line-height:1;display:inline-flex}.dataset-action-button:hover{border-color:var(--line-strong);background:var(--control-hover);color:var(--ink)}.dataset-action-button.failed{color:var(--red)}.source-detail-tabs{margin:0}.source-tab-panel{gap:16px;min-width:0;display:grid}.source-section-head{justify-content:space-between;gap:16px;padding-bottom:2px}.source-section-head h2{margin:0 0 4px;font-size:1.05rem}.source-section-head p{color:var(--muted-foreground);overflow-wrap:anywhere;margin:0;font-size:.82rem}.error-box{border:1px solid var(--red);background:var(--red-soft);border-radius:8px;gap:8px;padding:12px;display:grid}.error-box strong{color:var(--red)}.error-box code{color:var(--ink);overflow-wrap:anywhere}.key-value-list{gap:14px;display:grid}.status-badge{width:max-content;min-height:26px;color:var(--muted-foreground);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 9px;font-size:.78rem;font-weight:800;display:inline-flex}.status-badge em{color:var(--muted-foreground);font-style:normal;font-weight:650}.status-dot{background:currentColor;border-radius:99px;width:8px;height:8px;display:inline-block}.status-ok,.status-ok .status-dot{color:var(--green)}.status-run,.status-run .status-dot{color:var(--blue)}.status-wait,.status-wait .status-dot{color:var(--amber)}.status-fail,.status-fail .status-dot{color:var(--red)}.status-skip,.status-skip .status-dot,.status-idle,.status-idle .status-dot{color:var(--muted-foreground)}@media (max-width:1100px){:root{--page-gutter:24px}.content-shell{padding-inline:var(--page-gutter)}.top-nav,.run-overview,.workflow-detail-head,.page-head,.workspace-home-head,.workspace-detail-controls{flex-direction:column;align-items:stretch}.nav-actions,.filter-controls,.source-action-group{justify-content:flex-start}.runs-head-controls{justify-content:flex-start;width:100%}.run-status-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.context-workspace-head-actions{width:100%}.run-metadata,.run-context-panel,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-grid,.workflow-layout,.workflow-graph-layout.has-inspector,.workspace-home-grid,.source-home-layout{grid-template-columns:1fr}.workflow-stage-inspector{border-top:1px solid var(--line);border-left:0}.source-metrics,.portable-workspace-panel .source-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-chat-panel{width:calc(100vw - 24px);height:min(560px,100dvh - 92px);bottom:80px;right:12px}.agent-launcher{bottom:12px;right:12px}.action-dialog-backdrop{align-items:end;padding:12px}.action-dialog{width:100%;max-height:calc(100dvh - 24px)}}@media (max-width:680px){:root{--page-gutter:12px}.content-shell{padding-inline:var(--page-gutter)}.top-nav{padding:14px 16px}.brand-row{flex-wrap:wrap}.local-path{flex-basis:100%}.segmented-tabs,.detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.segmented-tabs button,.detail-tabs button{min-width:0}.runs-head-controls,.run-status-filter-row{grid-template-columns:1fr;display:grid}.runs-head-controls label,.runs-head-controls label:not(.runs-search-field),.runs-search-field{flex:auto}.run-detail,.detail-panel{padding:14px}.run-metadata,.run-context-panel,.metric-grid,.agent-control-grid,.source-metrics{grid-template-columns:1fr}.context-workspace-action-panel .dataset-action-group,.source-action-group{justify-content:stretch;width:100%}.context-workspace-action-panel{width:100%}.source-action-group .dataset-action-button,.context-workspace-action-panel .dataset-action-button,.context-workspace-head-actions .local-open-button{flex:100%}.source-home-layout{grid-template-columns:1fr;gap:5px;display:grid}.action-dialog-head,.action-dialog-actions{flex-direction:column;align-items:stretch}.action-dialog-actions .toolbar-button,.action-dialog-actions .dataset-action-button{width:100%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,68405,e=>{"use strict";var i=e.i(20982);e.s([],49974),e.i(49974),e.s(["Mermaid",()=>i.e],68405)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/0gpzgsv0w.q~m.js","static/chunks/0ti_66mx7~w2-.js","static/chunks/0ilwfezfvu6~-.js"],runtimeModuleIds:[54940]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,i,s;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let u=(r=o,n=i,(s=l.get(r))||(l.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function w(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function O(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function j(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=w,u.A=function(e){return this.r(e)(w.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=O(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=O(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let k=Symbol("turbopack queues"),v=Symbol("turbopack exports"),U=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=j(),u=Object.assign(s,{[v]:r.exports,[k]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[v]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(k in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[v]:{},[k]:e=>e(t)};return e.then(e=>{r[v]=e,C(t)},e=>{r[U]=e,C(t)}),r}}return{[v]:e,[k]:()=>{}}}),r=()=>t.map(e=>{if(e[U])throw e[U];return e[v]}),{promise:i,resolve:l}=j(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[k](u)),s.queueCount?i:r()},function(e){e?l(u[U]=e):i(u[v]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,u.U=P,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,N(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,N(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,N(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function N(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>N(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(N(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let q=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),s=!0),t.set(r,l))}r=o+1}}(t,$)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?N(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(N("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(q.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(q.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(N(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(N(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/0b52v41o1gixx.js","static/chunks/0_i-3_5l9t2qe.js"],runtimeModuleIds:[12331]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function u(e,t){this.m=e,this.e=t}let s=u.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}s.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},s.j=function(e,t){var r,n;let o,i,u;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let s=(r=o,n=i,(u=l.get(r))||(l.set(r,u=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of u){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of u)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),u);"object"==typeof e&&null!==e&&s.push(e)},s.v=m,s.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function O(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function w(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function j(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}s.i=O,s.A=function(e){return this.r(e)(O.bind(this))},s.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},s.r=function(e){return B(e,this.m).exports},s.f=function(e){function t(t){if(t=w(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=w(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let k=Symbol("turbopack queues"),U=Symbol("turbopack exports"),v=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}s.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:u}=j(),s=Object.assign(u,{[U]:r.exports,[k]:e=>{n&&e(n),o.forEach(e),s.catch(()=>{})}}),a={get:()=>s,set(e){e!==s&&(s[U]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(k in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[U]:{},[k]:e=>e(t)};return e.then(e=>{r[U]=e,C(t)},e=>{r[v]=e,C(t)}),r}}return{[U]:e,[k]:()=>{}}}),r=()=>t.map(e=>{if(e[v])throw e[v];return e[U]}),{promise:i,resolve:l}=j(),u=Object.assign(()=>l(r),{queueCount:0});function s(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(u.queueCount++,e.push(u)))}return t.map(e=>e[k](s)),u.queueCount?i:r()},function(e){e?l(s[v]=e):i(s[U]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,s.U=P,s.z=function(e){throw Error("dynamic usage of require is not supported")},s.g=globalThis;let S=u.prototype,$=new Map;s.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,N(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],u=l.map(e=>E.get(e)).filter(e=>e);if(u.length>0){if(u.length===l.length)return void await Promise.all(u);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,N(n));E.set(n,r),u.push(r)}n=Promise.all(u)}else{for(let o of(n=M(e,t,N(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function N(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,u=[o.map(e=>N(e)).reverse(),r];for(let e of n)u.push(globalThis[e]);let s=new URL(N(t),location.origin),a=JSON.stringify(u);return l?s.searchParams.set("params",a):s.hash="#params="+encodeURIComponent(a),new e(s,i?{...i,type:void 0}:void 0)};let q=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}s.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},s.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};s.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new u(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,u=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(u||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),u=!0),t.set(r,l))}r=o+1}}(t,$)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?N(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(N("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(q.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(q.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(N(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(N(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(){function r(r){throw console.error(r),Error(r)}void 0!==self.WorkerGlobalScope&&self instanceof self.WorkerGlobalScope||r("Worker entrypoint must be loaded in a worker context");var o=new URL(location.href),e=o.searchParams.get("params");!e&&o.hash.startsWith("#params=")&&(e=decodeURIComponent(o.hash.slice(8))),e||r("Missing worker bootstrap config");var i=JSON.parse(e),n=r=>"string"==typeof i[r]?i[r]:"",s=Array.isArray(i[0])?i[0]:[];if(Object.assign(self,{TURBOPACK_NEXT_CHUNK_URLS:s,TURBOPACK_ASSET_SUFFIX:n(1),NEXT_DEPLOYMENT_ID:n(2),NEXT_CLIENT_ASSET_SUFFIX:n(3)}),s.length>0){for(var t=[],a=0;a<s.length;a++){var l=new URL(s[a],location.origin);l.origin!==location.origin&&r("Refusing to load script from foreign origin: "+l.origin),t.push(l.toString())}s.reverse(),importScripts.apply(self,t)}}();
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { addToRow } from './util/tree';
|
|
2
|
+
// The most recent requestId
|
|
3
|
+
let requestId = 0;
|
|
4
|
+
self.addEventListener('message', (event) => {
|
|
5
|
+
const data = event.data;
|
|
6
|
+
requestId = Math.max(requestId, data?.requestId || 0);
|
|
7
|
+
switch (data.type) {
|
|
8
|
+
case 'calculateSpanPositions':
|
|
9
|
+
calculateSpanPositions(data.root);
|
|
10
|
+
break;
|
|
11
|
+
case 'filterSpans':
|
|
12
|
+
filterSpans(data.root, data.filter);
|
|
13
|
+
break;
|
|
14
|
+
default:
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
const positionHelper = (node, pending) => {
|
|
19
|
+
if ('parent' in node) {
|
|
20
|
+
const n = node;
|
|
21
|
+
n.row = -1;
|
|
22
|
+
n.isVisible = true;
|
|
23
|
+
pending.push(n);
|
|
24
|
+
}
|
|
25
|
+
const sortedChildren = node.children
|
|
26
|
+
.slice()
|
|
27
|
+
.sort((a, b) => a.startTime - b.startTime || b.duration - a.duration);
|
|
28
|
+
for (const child of sortedChildren) {
|
|
29
|
+
positionHelper(child, pending);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const calculateSpanPositions = (root) => {
|
|
33
|
+
const responseId = requestId;
|
|
34
|
+
const placed = [];
|
|
35
|
+
const pending = [];
|
|
36
|
+
positionHelper(root, pending);
|
|
37
|
+
let lastFlushT = Date.now() - 10;
|
|
38
|
+
let lastFlushC = -64;
|
|
39
|
+
let count = 0;
|
|
40
|
+
const flush = () => {
|
|
41
|
+
for (const row of placed) {
|
|
42
|
+
row.sort((a, b) => a.startTime - b.startTime);
|
|
43
|
+
}
|
|
44
|
+
const message = {
|
|
45
|
+
requestId: responseId,
|
|
46
|
+
type: 'setRowsResult',
|
|
47
|
+
rows: placed,
|
|
48
|
+
isEnd: !pending.length,
|
|
49
|
+
};
|
|
50
|
+
postMessage(message);
|
|
51
|
+
lastFlushT = Date.now();
|
|
52
|
+
lastFlushC = count;
|
|
53
|
+
};
|
|
54
|
+
while (true) {
|
|
55
|
+
const node = pending.shift();
|
|
56
|
+
if (!node) {
|
|
57
|
+
flush();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
addToRow(placed, node, 0.001);
|
|
61
|
+
++count;
|
|
62
|
+
if (Date.now() - lastFlushT >= 15 || count - lastFlushC >= 256) {
|
|
63
|
+
flush();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const ATTR_FILTER_REGEX = /(?<=^|\s)(?<pair>(?<key>[\w.]+):(?<value>\S*))/g;
|
|
68
|
+
const filterSpans = (root, filter) => {
|
|
69
|
+
const responseId = requestId;
|
|
70
|
+
const matches = new Set();
|
|
71
|
+
const name = filter
|
|
72
|
+
.replace(ATTR_FILTER_REGEX, '')
|
|
73
|
+
.replace(/\s{2,}/g, ' ')
|
|
74
|
+
.trim();
|
|
75
|
+
const attrs = [];
|
|
76
|
+
for (const m of filter.matchAll(ATTR_FILTER_REGEX)) {
|
|
77
|
+
const { key = '', value = '' } = m.groups || {};
|
|
78
|
+
attrs.push([key, value.toLocaleLowerCase()]);
|
|
79
|
+
}
|
|
80
|
+
const match = (span) => {
|
|
81
|
+
const nameMatch = span.name.toLocaleLowerCase().includes(name) ||
|
|
82
|
+
span.spanId.toLocaleLowerCase().includes(name);
|
|
83
|
+
if (!nameMatch)
|
|
84
|
+
return false;
|
|
85
|
+
// TODO: support resource attribute filtering
|
|
86
|
+
return attrs.every(([key, value]) => {
|
|
87
|
+
const v = span.attributes[key];
|
|
88
|
+
if (!v)
|
|
89
|
+
return false;
|
|
90
|
+
return String(v).toLocaleLowerCase().includes(value);
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
const helper = (node) => {
|
|
94
|
+
for (const child of node.children) {
|
|
95
|
+
if (match(child.span)) {
|
|
96
|
+
matches.add(child.span.spanId);
|
|
97
|
+
}
|
|
98
|
+
helper(child);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
helper(root);
|
|
102
|
+
const message = {
|
|
103
|
+
requestId: responseId,
|
|
104
|
+
type: 'updateHighlight',
|
|
105
|
+
matches,
|
|
106
|
+
};
|
|
107
|
+
postMessage(message);
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Built-in Interf Method
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Built-in file-processing Method: summarize source-grounded evidence, structure cross-file connections, and shape portable context around the saved readiness checks.
|
|
4
4
|
|
|
5
5
|
## Purpose
|
|
6
6
|
|
|
7
|
-
- General
|
|
8
|
-
- Compile mixed raw files into evidence-backed summaries, cross-file structure, and a usable entrypoint for agents
|
|
7
|
+
- General portable-context Method for agent use
|
|
8
|
+
- Compile mixed raw files into evidence-backed summaries, cross-file structure, and a usable entrypoint for agents running the readiness checks this task depends on.
|
|
9
9
|
|
|
10
10
|
## Zones
|
|
11
11
|
|
|
@@ -14,18 +14,18 @@ Interf's built-in workflow: summarize source-grounded evidence, structure the cr
|
|
|
14
14
|
- `knowledge-entities` — output directory at `knowledge/entities`
|
|
15
15
|
- `knowledge-claims` — output directory at `knowledge/claims`
|
|
16
16
|
- `knowledge-indexes` — output directory at `knowledge/indexes`
|
|
17
|
-
- `home` — output file at `home.md` used as the primary entrypoint for this
|
|
17
|
+
- `home` — output file at `home.md` used as the primary entrypoint for this Method
|
|
18
18
|
- `runtime` — runtime zone at `.interf/runtime`
|
|
19
19
|
|
|
20
20
|
## Stages
|
|
21
21
|
|
|
22
22
|
- `summarize` — Turn source files into per-file summaries. (compiled-file-evidence; reads: raw, runtime; writes: summaries)
|
|
23
23
|
- `structure` — Build the cross-file knowledge structure from the summaries. (compiled-knowledge-structure; reads: summaries, runtime; writes: knowledge-entities, knowledge-claims, knowledge-indexes)
|
|
24
|
-
- `shape` — Shape the final context
|
|
24
|
+
- `shape` — Shape the final portable context around the saved task focus and readiness checks. (compiled-query-shape; reads: raw, summaries, knowledge-entities, knowledge-claims, knowledge-indexes, runtime; writes: knowledge-indexes, home)
|
|
25
25
|
|
|
26
26
|
## Why `home.md` exists here
|
|
27
27
|
|
|
28
|
-
This built-in
|
|
29
|
-
That is behavior of the `interf`
|
|
28
|
+
This built-in Method creates `home.md` as the main agent entrypoint for the portable context.
|
|
29
|
+
That is behavior of the `interf` Method, not a compiler-wide rule.
|
|
30
30
|
|
|
31
31
|
This package is the built-in seed for `interf`.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Shape
|
|
2
2
|
|
|
3
|
-
Shape the final context
|
|
3
|
+
Shape the final portable context around the saved task focus and readiness checks.
|
|
4
4
|
|
|
5
5
|
Contract type: `compiled-query-shape`
|
|
6
6
|
|
|
7
7
|
## Requirements
|
|
8
8
|
|
|
9
|
-
- Use the compiled task focus plus saved
|
|
9
|
+
- Use the compiled task focus plus saved readiness-check text to shape `home.md` and retrieval routes.
|
|
10
10
|
- Rewrite `home.md` into a real entrypoint note. Do not leave the scaffold `Not yet compiled.` placeholder in place.
|
|
11
11
|
- When you add wikilinks, target real compiled notes by exact basename or explicit relative path.
|
|
12
12
|
- If you introduce a new note name in `home.md` or another shaped output, the same stage must also create that note file.
|
|
@@ -18,14 +18,14 @@ Contract type: `compiled-query-shape`
|
|
|
18
18
|
- If a mark touches or nearly touches a labeled gridline, anchor the answer at that gridline or the immediately adjacent half-band.
|
|
19
19
|
- Do not widen a chart-derived range across multiple visible bands unless the chart genuinely supports that uncertainty.
|
|
20
20
|
- When you settle on a bounded chart read, keep that same band consistent across `home.md`, focused indexes, and claim/entity notes for that metric and year.
|
|
21
|
-
- Do not copy expected answers into the context
|
|
21
|
+
- Do not copy expected answers into the portable context.
|
|
22
22
|
|
|
23
23
|
## Notes
|
|
24
24
|
|
|
25
|
-
- Use the saved task focus and checks to bias the final context
|
|
26
|
-
- Do not copy expected answers into the final context
|
|
25
|
+
- Use the saved task focus and readiness checks to bias the final portable context toward the job it should be especially good at.
|
|
26
|
+
- Do not copy expected answers into the final portable context just because the checks imply them.
|
|
27
27
|
- Prefer the saved summary evidence and structured notes when they already preserve the bounded chart/table reads plus provenance you need.
|
|
28
28
|
- Reopen `raw/` during shaping only when the compiled layer is missing the needed value, the metric family is ambiguous, or the earlier bounded read is clearly inconsistent.
|
|
29
|
-
- If a saved
|
|
29
|
+
- If a saved readiness check depends on chart-derived or table-derived values, carry the final bounded reads forward into focused notes with provenance instead of repeatedly recomputing them from raw.
|
|
30
30
|
- Prefer better routing, prioritization, and focused navigation over speculative synthesis.
|
|
31
31
|
- Any wikilinks you add to `home.md` or indexes must resolve to real compiled note basenames or explicit relative paths.
|
|
@@ -15,7 +15,7 @@ Contract type: `compiled-knowledge-structure`
|
|
|
15
15
|
|
|
16
16
|
- Bias structure toward canonical entities, claims, timelines, and stable indexes.
|
|
17
17
|
- Use taxonomy and ontology only as means to improve retrieval, navigation, and evidence tracking.
|
|
18
|
-
- For small
|
|
18
|
+
- For small source folders, prefer a minimal stable substrate over exhaustive graph sprawl.
|
|
19
19
|
- When you add wikilinks, target real compiled notes by exact basename or explicit relative path. Do not invent title-style links unless that exact title is also a declared note label or alias.
|
|
20
20
|
- Do not add wikilinks in structure outputs to files that the shape stage creates later. If a route belongs in `home.md` or a later shaped note, leave plain text now and let the later stage add the link.
|
|
21
21
|
- For summary references, prefer explicit links like `[[summaries/<file-stem>]]` or plain code paths. For knowledge notes, prefer the final filename stem under `knowledge/`.
|
|
@@ -8,11 +8,11 @@ The improver edits this local package directly.
|
|
|
8
8
|
Default loop:
|
|
9
9
|
1. Read the loop context first.
|
|
10
10
|
2. Review preserved stage shells, runtime logs, and saved test runs from failed attempts.
|
|
11
|
-
3. Edit only the local workflow package for this context
|
|
11
|
+
3. Edit only the local workflow package for this compiled context to create a better workflow variation for this task.
|
|
12
12
|
4. Keep `workflow.json`, `workflow.schema.json`, and any changed stage docs aligned.
|
|
13
13
|
|
|
14
14
|
Guardrails:
|
|
15
15
|
- do not edit checks, test specs, or raw source files
|
|
16
16
|
- do not hardcode expected answers into workflow docs
|
|
17
|
-
- keep this package standalone; do not add or rely on runtime `extends`
|
|
17
|
+
- keep this package standalone; do not add or rely on runtime `extends`
|
|
18
18
|
- prefer small, defensible workflow changes over random churn
|
|
@@ -12,7 +12,7 @@ Answering rule:
|
|
|
12
12
|
- do not modify files under `raw/`
|
|
13
13
|
- when a number is chart-derived, say that explicitly
|
|
14
14
|
- if the compiled layer already contains a bounded chart-derived read for the exact metric and year the user asked about, answer from that compiled read first
|
|
15
|
-
- use `raw/` to confirm the source page, metric family, or provenance, not to replace a good compiled bounded read with a
|
|
15
|
+
- use `raw/` to confirm the source page, metric family, or provenance, not to replace a good compiled bounded read with a mismatched range
|
|
16
16
|
- when the compiled layer preserves a bounded chart-derived range, keep that bounded range in the answer instead of collapsing it to a midpoint or pseudo-exact single value
|
|
17
17
|
- match the granularity of the visible axis labels or bands and do not invent finer precision than the chart supports
|
|
18
18
|
- when reading charts, verify you are on the correct metric family and year before answering
|
|
@@ -25,4 +25,4 @@ Answering rule:
|
|
|
25
25
|
- if multiple compiled notes mention the same chart read, keep the answer consistent with the most focused compiled note rather than synthesizing a new midpoint or shifted band
|
|
26
26
|
- when the compiled layer is insufficient, verify in `raw/` and then answer
|
|
27
27
|
|
|
28
|
-
You can edit this file to bias manual question-answering behavior for this context
|
|
28
|
+
You can edit this file to bias manual question-answering behavior for this portable context.
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
"version": 1
|
|
7
7
|
},
|
|
8
8
|
"purpose": {
|
|
9
|
-
"label": "
|
|
10
|
-
"task_hint": "Compile mixed raw files into evidence-backed summaries, cross-file structure, and a usable entrypoint for agents
|
|
9
|
+
"label": "Built-in portable-context workflow for agent use",
|
|
10
|
+
"task_hint": "Compile mixed raw files into evidence-backed summaries, cross-file structure, and a usable entrypoint for agents running the readiness checks this task depends on."
|
|
11
11
|
},
|
|
12
|
-
"label": "
|
|
13
|
-
"hint": "
|
|
12
|
+
"label": "Built-in Interf Workflow",
|
|
13
|
+
"hint": "Built-in file-processing workflow: summarize source-grounded evidence, structure cross-file connections, and shape portable context around the saved readiness checks.",
|
|
14
14
|
"stages": [
|
|
15
15
|
{
|
|
16
16
|
"id": "summarize",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
{
|
|
83
83
|
"id": "shape",
|
|
84
84
|
"label": "Shape",
|
|
85
|
-
"description": "Shape the final context
|
|
85
|
+
"description": "Shape the final portable context around the saved task focus and readiness checks.",
|
|
86
86
|
"contract_type": "compiled-query-shape",
|
|
87
87
|
"skill_dir": "shape",
|
|
88
88
|
"reads": [
|
|
@@ -129,15 +129,15 @@
|
|
|
129
129
|
"structure": [
|
|
130
130
|
"Bias structure toward canonical entities, claims, timelines, and stable indexes.",
|
|
131
131
|
"Use taxonomy and ontology only as means to improve retrieval, navigation, and evidence tracking.",
|
|
132
|
-
"For small
|
|
132
|
+
"For small Source Folders, prefer a minimal stable substrate over exhaustive graph sprawl.",
|
|
133
133
|
"When you add wikilinks, target real compiled notes by exact basename or explicit relative path. Do not invent title-style links unless that exact title is also a declared note label or alias.",
|
|
134
134
|
"Do not add wikilinks in structure outputs to files that the shape stage creates later. If a route belongs in `home.md` or a later shaped note, leave plain text now and let the later stage add the link.",
|
|
135
135
|
"For summary references, prefer explicit links like `[[summaries/<file-stem>]]` or plain code paths. For knowledge notes, prefer the final filename stem under `knowledge/`."
|
|
136
136
|
],
|
|
137
137
|
"shape": [
|
|
138
|
-
"Use the saved task focus and checks to bias the final context
|
|
139
|
-
"Do not copy expected answers into the final context
|
|
140
|
-
"If a saved
|
|
138
|
+
"Use the saved task focus and readiness checks to bias the final portable context toward the job it should be especially good at.",
|
|
139
|
+
"Do not copy expected answers into the final portable context just because the checks imply them.",
|
|
140
|
+
"If a saved readiness check depends on chart-derived or table-derived values, verify the needed evidence in `raw/` while shaping and write focused notes that preserve bounded values plus provenance.",
|
|
141
141
|
"Prefer better routing, prioritization, and focused navigation over speculative synthesis.",
|
|
142
142
|
"Any wikilinks you add to `home.md` or indexes must resolve to real compiled note basenames or explicit relative paths."
|
|
143
143
|
]
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"kind": "directory",
|
|
12
12
|
"required": true,
|
|
13
13
|
"owned_by": [],
|
|
14
|
-
"description": "
|
|
14
|
+
"description": "Preparation-local raw snapshot copied from the source folder for direct evidence and verification."
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"id": "summaries",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"owned_by": [
|
|
68
68
|
"shape"
|
|
69
69
|
],
|
|
70
|
-
"description": "Primary entrypoint note for agents using the context
|
|
70
|
+
"description": "Primary entrypoint note for agents using the portable context."
|
|
71
71
|
},
|
|
72
72
|
{
|
|
73
73
|
"id": "runtime",
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import type { WorkflowExecutor } from "../../packages/agents/lib/executors.js";
|
|
2
|
-
import type {
|
|
3
|
-
export declare function
|
|
2
|
+
import type { SourceReadinessCheck } from "../../packages/project-model/lib/schema.js";
|
|
3
|
+
export declare function buildReadinessCheckDraftPrompt(options: {
|
|
4
4
|
datasetName: string;
|
|
5
5
|
datasetPath: string;
|
|
6
6
|
about?: string;
|
|
7
7
|
outputPath: string;
|
|
8
8
|
targetCount: number;
|
|
9
9
|
}): string;
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function draftReadinessChecks(options: {
|
|
11
11
|
datasetName: string;
|
|
12
12
|
datasetPath: string;
|
|
13
13
|
about?: string;
|
|
14
14
|
executor: WorkflowExecutor;
|
|
15
15
|
targetCount?: number;
|
|
16
|
+
onStatus?: (line: string) => void;
|
|
16
17
|
}): Promise<{
|
|
17
|
-
checks:
|
|
18
|
+
checks: SourceReadinessCheck[] | null;
|
|
18
19
|
error?: string;
|
|
19
20
|
}>;
|