okengine 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +24 -23
- package/README.md +52 -346
- package/docs/spec/console.md +165 -142
- package/docs/spec/example.md +490 -312
- package/docs/spec/four-applications.md +495 -314
- package/docs/spec/unified-theory.md +184 -175
- package/package.json +45 -37
- package/spec/manifest.v1.schema.json +40 -9
- package/src/auth/api-keys.ts +2 -5
- package/src/auth/attenuation.ts +2 -6
- package/src/auth/auth.test.ts +53 -31
- package/src/auth/invoke-as.ts +1 -3
- package/src/auth/operator.ts +8 -26
- package/src/auth/planes.ts +2 -7
- package/src/auth/plugin.ts +4 -7
- package/src/auth/roles.ts +1 -5
- package/src/auth/sessions.ts +10 -39
- package/src/cli/args.ts +1 -5
- package/src/cli/ask-dev-mode.ts +40 -0
- package/src/cli/build.ts +1 -2
- package/src/cli/client-add.test.ts +8 -15
- package/src/cli/client-add.ts +5 -14
- package/src/cli/completion.test.ts +1 -5
- package/src/cli/completion.ts +4 -17
- package/src/cli/db-auto-push.test.ts +64 -0
- package/src/cli/db-auto-push.ts +72 -0
- package/src/cli/db.test.ts +189 -0
- package/src/cli/db.ts +386 -0
- package/src/cli/dev-app-runner.ts +2 -8
- package/src/cli/dev-db-push.test.ts +163 -0
- package/src/cli/dev-mode.test.ts +45 -0
- package/src/cli/dev-mode.ts +78 -0
- package/src/cli/dev.test.ts +148 -21
- package/src/cli/dev.ts +208 -134
- package/src/cli/doc-drift.test.ts +3 -2
- package/src/cli/doc-drift.ts +21 -50
- package/src/cli/doc-staleness.test.ts +69 -0
- package/src/cli/docker-cli.test.ts +7 -8
- package/src/cli/docker.ts +1 -3
- package/src/cli/doctor-diff-examples.ts +1 -3
- package/src/cli/doctor-diff.test.ts +1 -5
- package/src/cli/doctor-diff.ts +17 -46
- package/src/cli/doctor-pii.ts +2 -7
- package/src/cli/doctor.test.ts +26 -4
- package/src/cli/doctor.ts +35 -11
- package/src/cli/eval.ts +4 -14
- package/src/cli/gates-list.ts +1 -4
- package/src/cli/hero-meta.test.ts +17 -19
- package/src/cli/hero-meta.ts +20 -30
- package/src/cli/images.ts +3 -8
- package/src/cli/index.ts +11 -2
- package/src/cli/load-config.images.test.ts +14 -14
- package/src/cli/load-config.ts +41 -47
- package/src/cli/mcp-from-console.ts +1 -4
- package/src/cli/mode.ts +45 -0
- package/src/cli/ports.test.ts +4 -13
- package/src/cli/ports.ts +1 -3
- package/src/cli/privacy-erase.ts +1 -3
- package/src/cli/registry.ts +75 -25
- package/src/cli/schema.ts +3 -10
- package/src/cli/stack.ts +2 -7
- package/src/cli/start.ts +4 -15
- package/src/cli/upgrade.ts +1 -4
- package/src/client/budget-entry.ts +1 -6
- package/src/client/create.test.ts +6 -12
- package/src/client/create.ts +2 -8
- package/src/client/errors.ts +1 -4
- package/src/client/index.ts +1 -6
- package/src/client/notes-contract.test.ts +4 -13
- package/src/client/transport.ts +9 -30
- package/src/client/types.ts +8 -29
- package/src/compiler/aot.test.ts +2 -9
- package/src/compiler/aot.ts +1 -4
- package/src/compiler/differential.test.ts +3 -11
- package/src/compiler/dynamic.ts +1 -4
- package/src/compiler/effects-infer.ts +8 -34
- package/src/compiler/emit.ts +1 -3
- package/src/compiler/extract.test.ts +96 -30
- package/src/compiler/extract.ts +362 -156
- package/src/compiler/fixtures/skyport/oke.config.ts +1 -1
- package/src/compiler/fixtures/skyport/src/flows/bookings/index.ts +7 -3
- package/src/compiler/fixtures/skyport/src/flows/payments/index.ts +1 -3
- package/src/compiler/fixtures/skyport/src/flows/support/index.ts +4 -1
- package/src/compiler/fixtures/skyport.expected.json +24 -83
- package/src/compiler/fixtures/triggers/five-triggers.ts +1 -2
- package/src/compiler/http-parse.ts +2 -9
- package/src/compiler/index.ts +1 -5
- package/src/compiler/response.ts +4 -7
- package/src/compiler/sucrose.ts +11 -31
- package/src/config/define-config.test.ts +57 -34
- package/src/config/index.ts +181 -37
- package/src/config/resolve-driver.test.ts +28 -17
- package/src/console/budget.test.ts +1 -4
- package/src/console/index.ts +1 -4
- package/src/console/server/access.test.ts +15 -43
- package/src/console/server/access.ts +19 -49
- package/src/console/server/ai.test.ts +3 -11
- package/src/console/server/ai.ts +23 -46
- package/src/console/server/app.ts +14 -45
- package/src/console/server/auth-rate.test.ts +4 -12
- package/src/console/server/bind.ts +1 -5
- package/src/console/server/channels.test.ts +2 -6
- package/src/console/server/channels.ts +10 -35
- package/src/console/server/claim.ts +2 -8
- package/src/console/server/clock.test.ts +2 -6
- package/src/console/server/clock.ts +8 -26
- package/src/console/server/console.test.ts +1 -3
- package/src/console/server/diff.test.ts +5 -17
- package/src/console/server/diff.ts +10 -31
- package/src/console/server/dry-run.audit.test.ts +2 -8
- package/src/console/server/flows.ts +64 -233
- package/src/console/server/gates.test.ts +14 -50
- package/src/console/server/gates.ts +13 -48
- package/src/console/server/index.ts +2 -9
- package/src/console/server/live.ts +3 -12
- package/src/console/server/operator-db.test.ts +4 -15
- package/src/console/server/operator-db.ts +13 -32
- package/src/console/server/plugin.ts +50 -53
- package/src/console/server/plugins.test.ts +2 -6
- package/src/console/server/plugins.ts +17 -56
- package/src/console/server/runs-pii.ts +2 -7
- package/src/console/server/security.gate.test.ts +18 -40
- package/src/console/server/serve.ts +10 -25
- package/src/console/server/signals.test.ts +1 -3
- package/src/console/server/signals.ts +17 -40
- package/src/console/server/state.ts +21 -59
- package/src/console/server/store.test.ts +20 -22
- package/src/console/server/store.ts +31 -76
- package/src/console/server/vault.test.ts +12 -29
- package/src/console/server/vault.ts +23 -60
- package/src/console/ui/access/AccessA11yView.tsx +6 -21
- package/src/console/ui/access/a11y.test.tsx +3 -12
- package/src/console/ui/access/acknowledgement.test.ts +1 -4
- package/src/console/ui/access/acknowledgement.ts +1 -3
- package/src/console/ui/access/blast-radius.ts +1 -3
- package/src/console/ui/access/confirmation.test.ts +1 -5
- package/src/console/ui/access/confirmation.ts +1 -4
- package/src/console/ui/access/fixture.ts +1 -5
- package/src/console/ui/access/grantable.test.ts +1 -3
- package/src/console/ui/access/grantable.ts +2 -7
- package/src/console/ui/access/index.ts +2 -9
- package/src/console/ui/access/provenance.test.ts +1 -3
- package/src/console/ui/access/provenance.ts +2 -6
- package/src/console/ui/access/search.test.ts +1 -5
- package/src/console/ui/access/search.ts +2 -6
- package/src/console/ui/ai/AiA11yView.tsx +6 -17
- package/src/console/ui/ai/a11y.test.tsx +2 -5
- package/src/console/ui/ai/fixture.ts +2 -7
- package/src/console/ui/ai/format.ts +1 -3
- package/src/console/ui/ai/group.test.ts +1 -3
- package/src/console/ui/ai/group.ts +4 -12
- package/src/console/ui/ai/index.ts +2 -9
- package/src/console/ui/ai/promotion.test.ts +2 -7
- package/src/console/ui/ai/promotion.ts +4 -13
- package/src/console/ui/ai/search.test.ts +2 -11
- package/src/console/ui/ai/search.ts +3 -13
- package/src/console/ui/ai/types.ts +1 -8
- package/src/console/ui/architecture/ArchitectureA11yView.tsx +8 -29
- package/src/console/ui/architecture/a11y.test.tsx +1 -2
- package/src/console/ui/architecture/declared.ts +1 -5
- package/src/console/ui/architecture/index.ts +7 -35
- package/src/console/ui/architecture/layout.ts +1 -3
- package/src/console/ui/architecture/pathologies.ts +10 -19
- package/src/console/ui/architecture/search.ts +6 -15
- package/src/console/ui/architecture/traffic.ts +4 -14
- package/src/console/ui/architecture/types.ts +2 -10
- package/src/console/ui/architecture/view.test.ts +7 -19
- package/src/console/ui/architecture/view.ts +9 -36
- package/src/console/ui/channels/ChannelsA11yView.tsx +4 -13
- package/src/console/ui/channels/a11y.test.tsx +1 -2
- package/src/console/ui/channels/confirmation.test.ts +1 -4
- package/src/console/ui/channels/confirmation.ts +1 -4
- package/src/console/ui/channels/findings.ts +1 -5
- package/src/console/ui/channels/index.ts +2 -8
- package/src/console/ui/channels/locale.test.ts +1 -3
- package/src/console/ui/channels/locale.ts +2 -8
- package/src/console/ui/channels/search.ts +4 -13
- package/src/console/ui/channels/taxonomy.ts +1 -3
- package/src/console/ui/clock/ClockA11yView.tsx +9 -26
- package/src/console/ui/clock/a11y.test.tsx +2 -5
- package/src/console/ui/clock/confirmation.test.ts +1 -3
- package/src/console/ui/clock/confirmation.ts +1 -4
- package/src/console/ui/clock/findings.ts +1 -4
- package/src/console/ui/clock/health.ts +2 -7
- package/src/console/ui/clock/index.ts +2 -10
- package/src/console/ui/clock/search.test.ts +1 -3
- package/src/console/ui/clock/search.ts +2 -6
- package/src/console/ui/clock/timeline.test.ts +1 -3
- package/src/console/ui/clock/waiting-on.test.ts +1 -5
- package/src/console/ui/clock/waiting-on.ts +2 -7
- package/src/console/ui/diff/DiffA11yView.tsx +8 -17
- package/src/console/ui/diff/a11y.test.tsx +2 -5
- package/src/console/ui/diff/group.test.ts +3 -13
- package/src/console/ui/diff/group.ts +2 -8
- package/src/console/ui/diff/index.ts +2 -8
- package/src/console/ui/diff/search.test.ts +1 -5
- package/src/console/ui/diff/search.ts +4 -16
- package/src/console/ui/diff/summary.ts +1 -2
- package/src/console/ui/dist/assets/{index-Dy4jht9P.js → index-BWo8R7NR.js} +2 -2
- package/src/console/ui/dist/assets/{panel-access-Dd37LU2c.js → panel-access-C0J2D-a2.js} +1 -1
- package/src/console/ui/dist/assets/{panel-ai-CC7LR6-J.js → panel-ai-D_m6WQI8.js} +1 -1
- package/src/console/ui/dist/assets/{panel-architecture-B5b3iKCz.js → panel-architecture-CKnXFyUx.js} +1 -1
- package/src/console/ui/dist/assets/{panel-channels-CeNjTKXp.js → panel-channels-BOmQ-onL.js} +1 -1
- package/src/console/ui/dist/assets/{panel-clock-DgFTLoHV.js → panel-clock-giAq0Ccv.js} +1 -1
- package/src/console/ui/dist/assets/{panel-diff-DxehccqB.js → panel-diff-cdonmH8c.js} +1 -1
- package/src/console/ui/dist/assets/{panel-flows-BtrVn-Eg.js → panel-flows-DlCU5zjA.js} +2 -2
- package/src/console/ui/dist/assets/{panel-gates-Z9MKRGdH.js → panel-gates-XclZxWD5.js} +1 -1
- package/src/console/ui/dist/assets/{panel-overview-Dt_AeXgd.js → panel-overview-BznEOTnb.js} +1 -1
- package/src/console/ui/dist/assets/{panel-plugins-DWd0TowH.js → panel-plugins-CcGM1g64.js} +1 -1
- package/src/console/ui/dist/assets/{panel-runs-DGstFHeq.js → panel-runs-CGWNHLR4.js} +1 -1
- package/src/console/ui/dist/assets/{panel-signals-DzEa2Fnt.js → panel-signals-CNywkdak.js} +1 -1
- package/src/console/ui/dist/assets/{panel-store-BJkbNgxx.js → panel-store-KmTbFHMH.js} +1 -1
- package/src/console/ui/dist/assets/{panel-traces-BaRVO3gM.js → panel-traces-DBLx2ilD.js} +1 -1
- package/src/console/ui/dist/assets/panel-vault-CEnFc0dk.js +1 -0
- package/src/console/ui/dist/index.html +1 -1
- package/src/console/ui/flows/FlowsA11yView.tsx +7 -22
- package/src/console/ui/flows/a11y.test.tsx +2 -8
- package/src/console/ui/flows/buffer.test.ts +3 -11
- package/src/console/ui/flows/buffer.ts +4 -11
- package/src/console/ui/flows/confirmation.ts +1 -3
- package/src/console/ui/flows/contract.test.ts +3 -7
- package/src/console/ui/flows/contract.ts +12 -36
- package/src/console/ui/flows/graph.test.ts +3 -11
- package/src/console/ui/flows/graph.ts +5 -15
- package/src/console/ui/flows/index.ts +1 -6
- package/src/console/ui/flows/save-as-test.ts +1 -3
- package/src/console/ui/flows/search.ts +8 -25
- package/src/console/ui/flows/tiers.ts +2 -9
- package/src/console/ui/gates/GatesA11yView.tsx +4 -13
- package/src/console/ui/gates/a11y.test.tsx +2 -5
- package/src/console/ui/gates/audit.ts +1 -3
- package/src/console/ui/gates/denial.test.ts +1 -3
- package/src/console/ui/gates/denial.ts +4 -12
- package/src/console/ui/gates/findings.ts +1 -3
- package/src/console/ui/gates/group.test.ts +3 -3
- package/src/console/ui/gates/group.ts +3 -11
- package/src/console/ui/gates/index.ts +2 -10
- package/src/console/ui/gates/search.ts +3 -10
- package/src/console/ui/overview/OverviewA11yView.tsx +9 -27
- package/src/console/ui/overview/a11y.test.tsx +1 -2
- package/src/console/ui/overview/busiest.ts +1 -3
- package/src/console/ui/overview/compose.ts +1 -13
- package/src/console/ui/overview/cost.ts +34 -38
- package/src/console/ui/overview/fixture.ts +21 -26
- package/src/console/ui/overview/golden.ts +4 -14
- package/src/console/ui/overview/index.ts +2 -9
- package/src/console/ui/overview/rank.test.ts +3 -10
- package/src/console/ui/overview/rank.ts +2 -7
- package/src/console/ui/overview/slo.test.ts +5 -9
- package/src/console/ui/overview/slo.ts +6 -23
- package/src/console/ui/overview/verdict.ts +3 -10
- package/src/console/ui/plugins/PluginsA11yView.tsx +8 -18
- package/src/console/ui/plugins/a11y.test.tsx +1 -2
- package/src/console/ui/plugins/fixture.ts +2 -4
- package/src/console/ui/plugins/group.test.ts +1 -3
- package/src/console/ui/plugins/group.ts +1 -6
- package/src/console/ui/plugins/index.ts +3 -13
- package/src/console/ui/plugins/search.ts +7 -19
- package/src/console/ui/runs/RunsA11yView.tsx +5 -20
- package/src/console/ui/runs/a11y.test.tsx +2 -5
- package/src/console/ui/runs/explain.ts +2 -6
- package/src/console/ui/runs/group.ts +3 -12
- package/src/console/ui/runs/histogram.test.ts +2 -11
- package/src/console/ui/runs/histogram.ts +1 -4
- package/src/console/ui/runs/index.ts +4 -18
- package/src/console/ui/runs/project.ts +2 -6
- package/src/console/ui/runs/query.test.ts +1 -3
- package/src/console/ui/runs/query.ts +12 -35
- package/src/console/ui/runs/search.ts +5 -19
- package/src/console/ui/runs/trace-link.test.ts +2 -6
- package/src/console/ui/runs/trace-link.ts +4 -16
- package/src/console/ui/runs/types.ts +1 -3
- package/src/console/ui/shell/App.tsx +2 -10
- package/src/console/ui/shell/client.ts +22 -115
- package/src/console/ui/shell/components/ui.tsx +1 -4
- package/src/console/ui/shell/layout/Shell.tsx +2 -4
- package/src/console/ui/shell/main.tsx +31 -96
- package/src/console/ui/shell/panels/access/AccessPanel.tsx +34 -98
- package/src/console/ui/shell/panels/ai/AiPanel.tsx +35 -106
- package/src/console/ui/shell/panels/architecture/ArchitecturePanel.tsx +18 -66
- package/src/console/ui/shell/panels/channels/ChannelsPanel.tsx +20 -57
- package/src/console/ui/shell/panels/clock/ClockPanel.tsx +22 -54
- package/src/console/ui/shell/panels/diff/DiffPanel.tsx +20 -61
- package/src/console/ui/shell/panels/flows/ContractEditor.tsx +6 -23
- package/src/console/ui/shell/panels/flows/FlowDrawer.tsx +13 -28
- package/src/console/ui/shell/panels/flows/FlowsPanel.tsx +9 -29
- package/src/console/ui/shell/panels/gates/GatesPanel.tsx +24 -80
- package/src/console/ui/shell/panels/overview/OverviewPanel.tsx +20 -58
- package/src/console/ui/shell/panels/plugins/PluginsPanel.tsx +16 -41
- package/src/console/ui/shell/panels/runs/RunsPanel.tsx +31 -99
- package/src/console/ui/shell/panels/signals/SignalsPanel.tsx +38 -101
- package/src/console/ui/shell/panels/store/StorePanel.tsx +27 -66
- package/src/console/ui/shell/panels/traces/TracesPanel.tsx +28 -89
- package/src/console/ui/shell/panels/vault/VaultPanel.tsx +22 -53
- package/src/console/ui/shell/setup/Wizard.tsx +3 -5
- package/src/console/ui/shell/styles.css +1 -2
- package/src/console/ui/signals/SignalsA11yView.tsx +9 -33
- package/src/console/ui/signals/a11y.test.tsx +2 -5
- package/src/console/ui/signals/confirmation.test.ts +1 -5
- package/src/console/ui/signals/confirmation.ts +2 -6
- package/src/console/ui/signals/dry-run.ts +1 -3
- package/src/console/ui/signals/durable.ts +1 -3
- package/src/console/ui/signals/findings.ts +1 -3
- package/src/console/ui/signals/group.test.ts +2 -8
- package/src/console/ui/signals/group.ts +2 -10
- package/src/console/ui/signals/index.ts +1 -4
- package/src/console/ui/signals/monitor.ts +2 -7
- package/src/console/ui/signals/schema-form.test.ts +3 -14
- package/src/console/ui/signals/schema-form.ts +1 -4
- package/src/console/ui/signals/search.ts +4 -13
- package/src/console/ui/store/StoreA11yView.tsx +3 -9
- package/src/console/ui/store/a11y.test.tsx +2 -5
- package/src/console/ui/store/confirmation.test.ts +1 -3
- package/src/console/ui/store/confirmation.ts +1 -4
- package/src/console/ui/store/dry-run.ts +2 -5
- package/src/console/ui/store/fixture.ts +1 -2
- package/src/console/ui/store/group.test.ts +1 -6
- package/src/console/ui/store/group.ts +1 -4
- package/src/console/ui/store/index.ts +1 -5
- package/src/console/ui/store/search.ts +2 -6
- package/src/console/ui/store/will-not-fire.ts +1 -2
- package/src/console/ui/traces/TracesA11yView.tsx +10 -29
- package/src/console/ui/traces/a11y.test.tsx +1 -2
- package/src/console/ui/traces/chain.test.ts +5 -19
- package/src/console/ui/traces/chain.ts +1 -3
- package/src/console/ui/traces/critical-path.test.ts +1 -3
- package/src/console/ui/traces/critical-path.ts +2 -6
- package/src/console/ui/traces/filter.test.ts +2 -6
- package/src/console/ui/traces/filter.ts +5 -13
- package/src/console/ui/traces/fold.test.ts +4 -12
- package/src/console/ui/traces/fold.ts +1 -3
- package/src/console/ui/traces/mini.ts +1 -3
- package/src/console/ui/traces/replay.test.ts +1 -3
- package/src/console/ui/traces/replay.ts +1 -3
- package/src/console/ui/traces/sampling.ts +1 -4
- package/src/console/ui/traces/search.ts +4 -17
- package/src/console/ui/traces/tier.ts +1 -3
- package/src/console/ui/vault/VaultA11yView.tsx +5 -17
- package/src/console/ui/vault/a11y.test.tsx +1 -2
- package/src/console/ui/vault/blast-radius.ts +1 -3
- package/src/console/ui/vault/confirmation.test.ts +1 -5
- package/src/console/ui/vault/confirmation.ts +1 -4
- package/src/console/ui/vault/dormant.test.ts +1 -4
- package/src/console/ui/vault/export-safe.test.ts +1 -5
- package/src/console/ui/vault/export-safe.ts +1 -4
- package/src/console/ui/vault/fixture.ts +3 -3
- package/src/console/ui/vault/group.ts +1 -2
- package/src/console/ui/vault/index.ts +2 -10
- package/src/console/ui/vault/search.ts +2 -6
- package/src/console/ui/vault/types.ts +1 -1
- package/src/console/xss.gate.test.ts +1 -3
- package/src/docker/compose.ts +112 -20
- package/src/docker/derive.ts +5 -19
- package/src/docker/docker.test.ts +15 -15
- package/src/docker/dockerfile.integration.test.ts +12 -21
- package/src/docker/helpers.ts +5 -4
- package/src/docker/index.ts +4 -11
- package/src/docker/pin.ts +1 -9
- package/src/docker/recipes/index.ts +5 -6
- package/src/docker/recipes/mailpit.ts +22 -0
- package/src/docker/recipes/postgres.ts +17 -6
- package/src/docker/recipes/redis.ts +6 -1
- package/src/docker/recipes/rustfs.ts +33 -0
- package/src/docker/stack-id.test.ts +33 -0
- package/src/docker/stack-id.ts +25 -13
- package/src/docker/stack.integration.test.ts +6 -21
- package/src/docker/types.ts +13 -4
- package/src/drivers/ai-anthropic.ts +5 -14
- package/src/drivers/ai-mock.ts +2 -5
- package/src/drivers/ai-openai-compatible.ts +4 -10
- package/src/drivers/ai-providers.test.ts +6 -13
- package/src/drivers/bun-native-completeness.test.ts +6 -15
- package/src/drivers/channel-console.ts +6 -7
- package/src/drivers/channel-fcm.ts +20 -30
- package/src/drivers/channel-resend.ts +1 -3
- package/src/drivers/channel-smtp.ts +2 -6
- package/src/drivers/channel-types.ts +2 -12
- package/src/drivers/channel-unifonic.ts +2 -6
- package/src/drivers/channel-wa-cloud.ts +2 -6
- package/src/drivers/channel-webpush.ts +21 -60
- package/src/drivers/conformance.test.ts +2 -10
- package/src/drivers/conformance.ts +8 -21
- package/src/drivers/fs.ts +2 -8
- package/src/drivers/index.ts +12 -56
- package/src/drivers/memory.ts +14 -41
- package/src/drivers/pgvector.ts +7 -11
- package/src/drivers/postgres.ts +7 -13
- package/src/drivers/redis.ts +13 -37
- package/src/drivers/s3.ts +5 -17
- package/src/drivers/signal-engine.ts +12 -49
- package/src/drivers/signal-memory.ts +2 -8
- package/src/drivers/signal-nats.ts +4 -9
- package/src/drivers/signal-postgres.ts +62 -129
- package/src/drivers/signal-redis.ts +7 -21
- package/src/drivers/signal-types.ts +1 -4
- package/src/drivers/sqlite.ts +3 -12
- package/src/drivers/types.ts +4 -23
- package/src/drivers/vault-env.ts +2 -6
- package/src/drivers/vault-infisical.ts +1 -5
- package/src/drivers/vault-managed.ts +1 -5
- package/src/drivers/vault-memory.ts +1 -5
- package/src/drivers/vault-openbao.ts +1 -5
- package/src/drivers/vault-sops.ts +10 -35
- package/src/drivers/vault-types.ts +1 -7
- package/src/elements/ai/declare.ts +4 -14
- package/src/elements/ai/eval.ts +2 -6
- package/src/elements/ai/pii.ts +1 -3
- package/src/elements/ai/runtime.ts +12 -50
- package/src/elements/ai/schema.ts +4 -15
- package/src/elements/ai.test.ts +13 -24
- package/src/elements/ai.ts +1 -5
- package/src/elements/channel/consent.ts +3 -12
- package/src/elements/channel/costs.ts +4 -15
- package/src/elements/channel/declare.ts +1 -4
- package/src/elements/channel/email-auth.ts +1 -4
- package/src/elements/channel/locale.ts +2 -10
- package/src/elements/channel/mask.ts +1 -3
- package/src/elements/channel/mime.ts +2 -12
- package/src/elements/channel/outcomes.test.ts +1 -5
- package/src/elements/channel/outcomes.ts +5 -15
- package/src/elements/channel/receipts.ts +2 -7
- package/src/elements/channel/runtime.ts +28 -74
- package/src/elements/channel/suppression.ts +8 -14
- package/src/elements/channel.test.ts +8 -31
- package/src/elements/channel.ts +3 -14
- package/src/elements/clock/actions.ts +6 -18
- package/src/elements/clock/declare.ts +1 -3
- package/src/elements/clock/dst.ts +1 -5
- package/src/elements/clock/durable.ts +4 -16
- package/src/elements/clock/health.ts +2 -7
- package/src/elements/clock/leader.ts +2 -9
- package/src/elements/clock/reconcile.ts +4 -15
- package/src/elements/clock/runtime.ts +2 -5
- package/src/elements/clock/schedule.ts +4 -20
- package/src/elements/clock.test.ts +2 -7
- package/src/elements/clock.ts +5 -23
- package/src/elements/gate/permissions.ts +1 -4
- package/src/elements/gate/runtime.ts +7 -28
- package/src/elements/gate.ts +1 -5
- package/src/elements/index.ts +9 -7
- package/src/elements/signal/declare.ts +2 -7
- package/src/elements/signal/reconcile.test.ts +1 -4
- package/src/elements/signal/runtime.ts +1 -3
- package/src/elements/signal.test.ts +3 -15
- package/src/elements/signal.ts +2 -8
- package/src/elements/store/cache.test.ts +46 -0
- package/src/elements/store/cache.ts +3 -11
- package/src/elements/store/classify.ts +5 -22
- package/src/elements/store/declare.ts +8 -17
- package/src/elements/store/domain-ddl.test.ts +86 -0
- package/src/elements/store/emit-drizzle.ts +363 -0
- package/src/elements/store/files-policy.test.ts +1 -5
- package/src/elements/store/files-policy.ts +4 -12
- package/src/elements/store/load-plugin-tables.ts +103 -0
- package/src/elements/store/missing-relation.test.ts +83 -0
- package/src/elements/store/missing-relation.ts +38 -0
- package/src/elements/store/replica.ts +1 -4
- package/src/elements/store/runtime.ts +25 -28
- package/src/elements/store/schema-decl.test.ts +227 -0
- package/src/elements/store/schema-decl.ts +516 -0
- package/src/elements/store/sql-condition.ts +11 -21
- package/src/elements/store/sql-session.test.ts +50 -0
- package/src/elements/store/sql-session.ts +60 -63
- package/src/elements/store/table.ts +35 -19
- package/src/elements/store.test.ts +17 -39
- package/src/elements/store.ts +37 -31
- package/src/elements/vault/chain.ts +34 -0
- package/src/elements/vault/declare.ts +22 -32
- package/src/elements/vault/fingerprint.ts +2 -7
- package/src/elements/vault/redact.ts +2 -6
- package/src/elements/vault/runtime.ts +18 -32
- package/src/elements/vault.test.ts +12 -28
- package/src/elements/vault.ts +8 -12
- package/src/index.ts +5 -2
- package/src/kernel/adopt-routes.ts +15 -29
- package/src/kernel/app.ts +34 -94
- package/src/kernel/auth-resolve.ts +2 -9
- package/src/kernel/boot-bind/ai.ts +1 -4
- package/src/kernel/boot-bind/channel.ts +2 -8
- package/src/kernel/boot-bind/clock.ts +2 -6
- package/src/kernel/boot-bind/gate.ts +2 -8
- package/src/kernel/boot-bind/runs.ts +1 -3
- package/src/kernel/boot-bind/signal.ts +3 -10
- package/src/kernel/boot-bind/store.test.ts +17 -17
- package/src/kernel/boot-bind/store.ts +44 -50
- package/src/kernel/boot-bind/vault.ts +2 -8
- package/src/kernel/boot.test.ts +4 -9
- package/src/kernel/boot.ts +29 -76
- package/src/kernel/budget.test.ts +1 -3
- package/src/kernel/capability.ts +3 -10
- package/src/kernel/dry-run.test.ts +1 -4
- package/src/kernel/dry-run.ts +3 -11
- package/src/kernel/effects.test.ts +1 -5
- package/src/kernel/effects.ts +4 -11
- package/src/kernel/errors.registry.test.ts +2 -8
- package/src/kernel/errors.ts +23 -32
- package/src/kernel/flow.test.ts +12 -25
- package/src/kernel/flow.ts +5 -25
- package/src/kernel/fx.test.ts +15 -44
- package/src/kernel/fx.ts +27 -79
- package/src/kernel/hook-timing.test.ts +3 -6
- package/src/kernel/hook-timing.ts +5 -14
- package/src/kernel/hooks.test.ts +10 -10
- package/src/kernel/hooks.ts +3 -12
- package/src/kernel/index.ts +4 -17
- package/src/kernel/journal.ts +7 -31
- package/src/kernel/on.ts +1 -6
- package/src/kernel/pipeline.test.ts +10 -19
- package/src/kernel/pipeline.ts +5 -17
- package/src/kernel/plug.ts +4 -11
- package/src/kernel/plugin/conflicts.test.ts +13 -25
- package/src/kernel/plugin/decorate.test.ts +8 -13
- package/src/kernel/plugin/scoping.test.ts +4 -11
- package/src/kernel/plugin.ts +48 -24
- package/src/kernel/registry.ts +80 -29
- package/src/kernel/router.test.ts +15 -13
- package/src/kernel/router.ts +9 -29
- package/src/kernel/routing-budget.test.ts +1 -3
- package/src/kernel/run-telemetry.ts +1 -3
- package/src/kernel/triggers.ts +4 -21
- package/src/manifest/diff.test.ts +26 -91
- package/src/manifest/diff.ts +95 -225
- package/src/manifest/index.ts +2 -9
- package/src/manifest/types.ts +29 -5
- package/src/manifest/undeclared.test.ts +4 -12
- package/src/manifest/undeclared.ts +1 -2
- package/src/manifest/validate.test.ts +2 -6
- package/src/manifest/validate.ts +4 -14
- package/src/mcp/authorization.ts +8 -27
- package/src/mcp/confirmation.ts +3 -10
- package/src/mcp/data.ts +2 -6
- package/src/mcp/docs-index.ts +4 -7
- package/src/mcp/docs-mcp.test.ts +3 -12
- package/src/mcp/docs-server.ts +7 -27
- package/src/mcp/docs-tools.ts +2 -6
- package/src/mcp/index.ts +1 -6
- package/src/mcp/injection.gate.test.ts +4 -18
- package/src/mcp/mcp.test.ts +18 -49
- package/src/mcp/protocol.ts +3 -10
- package/src/mcp/server.ts +11 -52
- package/src/mcp/session.ts +4 -14
- package/src/mcp/tools.ts +14 -50
- package/src/plugins/catalogue.test.ts +3 -7
- package/src/plugins/catalogue.ts +1 -3
- package/src/plugins/node-import-scan.ts +2 -5
- package/src/plugins/supply-chain.ts +5 -17
- package/src/release/exports.ts +3 -8
- package/src/release/measure.exports.test.ts +1 -3
- package/src/release/measure.ts +15 -43
- package/src/runs/bench.test.ts +1 -3
- package/src/runs/collect.ts +8 -25
- package/src/runs/drivers/clickhouse.ts +2 -9
- package/src/runs/drivers/files.ts +9 -31
- package/src/runs/drivers/memory.ts +5 -22
- package/src/runs/drivers/postgres.ts +8 -20
- package/src/runs/duckdb.ts +2 -8
- package/src/runs/index.ts +3 -14
- package/src/runs/outlier.ts +3 -10
- package/src/runs/parquet.ts +8 -26
- package/src/runs/privacy.ts +2 -8
- package/src/runs/runs.test.ts +3 -9
- package/src/runs/runtime.ts +7 -32
- package/src/runs/shred.ts +10 -29
- package/src/runs/types.ts +1 -4
- package/src/runtime/bun.ts +4 -15
- package/src/runtime/cold-start.bench.ts +1 -3
- package/src/runtime/dev-request-log.test.ts +1 -4
- package/src/runtime/dev-request-log.ts +1 -4
- package/src/runtime/index.ts +1 -6
- package/src/runtime/primitives.ts +5 -4
- package/src/runtime/security.ts +3 -13
- package/src/runtime/serve.test.ts +4 -7
- package/src/runtime/types.ts +1 -4
- package/src/runtime/web-standard.ts +3 -15
- package/src/term.test.ts +4 -6
- package/src/term.ts +49 -98
- package/src/test/create-test-app.test.ts +4 -14
- package/src/test/create-test-app.ts +13 -31
- package/src/test/provisions.integration.test.ts +3 -11
- package/src/upgrade/codemods.test.ts +25 -6
- package/src/upgrade/codemods.ts +116 -3
- package/src/validation/standard-schema.test.ts +2 -5
- package/src/validation/standard-schema.ts +13 -33
- package/src/console/ui/dist/assets/panel-vault-BbfWdox0.js +0 -1
|
@@ -5,10 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { z } from "zod";
|
|
8
|
-
import {
|
|
9
|
-
parseDimensionQuery,
|
|
10
|
-
serializeDimensionQuery,
|
|
11
|
-
} from "./query.ts";
|
|
8
|
+
import { parseDimensionQuery, serializeDimensionQuery } from "./query.ts";
|
|
12
9
|
import type { DimensionQuery, DurationRange } from "./types.ts";
|
|
13
10
|
|
|
14
11
|
/** Zod schema for Runs URL search params. */
|
|
@@ -44,9 +41,7 @@ export function parseRunsSearch(raw: unknown): RunsSearch {
|
|
|
44
41
|
*
|
|
45
42
|
* @param search - Typed search
|
|
46
43
|
*/
|
|
47
|
-
export function serializeRunsSearch(
|
|
48
|
-
search: RunsSearch,
|
|
49
|
-
): Record<string, string | number> {
|
|
44
|
+
export function serializeRunsSearch(search: RunsSearch): Record<string, string | number> {
|
|
50
45
|
const out: Record<string, string | number> = {};
|
|
51
46
|
if (search.where) out.where = search.where;
|
|
52
47
|
if (search.group) out.group = search.group;
|
|
@@ -84,10 +79,7 @@ export function durationRangeOf(search: RunsSearch): DurationRange | null {
|
|
|
84
79
|
* @param prev - Current search
|
|
85
80
|
* @param query - Dimension query
|
|
86
81
|
*/
|
|
87
|
-
export function setWhere(
|
|
88
|
-
prev: RunsSearch,
|
|
89
|
-
query: DimensionQuery,
|
|
90
|
-
): RunsSearch {
|
|
82
|
+
export function setWhere(prev: RunsSearch, query: DimensionQuery): RunsSearch {
|
|
91
83
|
const where = serializeDimensionQuery(query);
|
|
92
84
|
return { ...prev, where: where || undefined };
|
|
93
85
|
}
|
|
@@ -98,10 +90,7 @@ export function setWhere(
|
|
|
98
90
|
* @param prev - Current search
|
|
99
91
|
* @param dimension - Dimension or null to clear
|
|
100
92
|
*/
|
|
101
|
-
export function setGroup(
|
|
102
|
-
prev: RunsSearch,
|
|
103
|
-
dimension: string | null,
|
|
104
|
-
): RunsSearch {
|
|
93
|
+
export function setGroup(prev: RunsSearch, dimension: string | null): RunsSearch {
|
|
105
94
|
return { ...prev, group: dimension ?? undefined };
|
|
106
95
|
}
|
|
107
96
|
|
|
@@ -130,10 +119,7 @@ export function closeRun(prev: RunsSearch): RunsSearch {
|
|
|
130
119
|
* @param prev - Current search
|
|
131
120
|
* @param range - Selected range
|
|
132
121
|
*/
|
|
133
|
-
export function setDurationRange(
|
|
134
|
-
prev: RunsSearch,
|
|
135
|
-
range: DurationRange | null,
|
|
136
|
-
): RunsSearch {
|
|
122
|
+
export function setDurationRange(prev: RunsSearch, range: DurationRange | null): RunsSearch {
|
|
137
123
|
if (!range) {
|
|
138
124
|
return { ...prev, durMin: undefined, durMax: undefined };
|
|
139
125
|
}
|
|
@@ -16,12 +16,8 @@ describe("trace cross-link", () => {
|
|
|
16
16
|
test("multi-span chain offers Traces link", () => {
|
|
17
17
|
expect(rootIdOf(RUNS_CHAIN_FIXTURE, "run-fulfill")).toBe("run-create-ok");
|
|
18
18
|
expect(spanCountInTrace(RUNS_CHAIN_FIXTURE, "run-create-ok")).toBe(2);
|
|
19
|
-
expect(shouldOfferTracesLink(RUNS_CHAIN_FIXTURE, "run-fulfill")).toBe(
|
|
20
|
-
|
|
21
|
-
);
|
|
22
|
-
expect(shouldOfferTracesLink(RUNS_CHAIN_FIXTURE, "run-create-fail")).toBe(
|
|
23
|
-
false,
|
|
24
|
-
);
|
|
19
|
+
expect(shouldOfferTracesLink(RUNS_CHAIN_FIXTURE, "run-fulfill")).toBe(true);
|
|
20
|
+
expect(shouldOfferTracesLink(RUNS_CHAIN_FIXTURE, "run-create-fail")).toBe(false);
|
|
25
21
|
expect(tracesHrefForRun(RUNS_CHAIN_FIXTURE, "run-fulfill")).toBe(
|
|
26
22
|
"/traces?trace=run-create-ok&span=run-fulfill",
|
|
27
23
|
);
|
|
@@ -10,10 +10,7 @@ import type { RunRecord } from "./types.ts";
|
|
|
10
10
|
* @param runs - Population (must include ancestors)
|
|
11
11
|
* @param runId - Starting run id
|
|
12
12
|
*/
|
|
13
|
-
export function rootIdOf(
|
|
14
|
-
runs: readonly RunRecord[],
|
|
15
|
-
runId: string,
|
|
16
|
-
): string {
|
|
13
|
+
export function rootIdOf(runs: readonly RunRecord[], runId: string): string {
|
|
17
14
|
const byId = new Map(runs.map((r) => [r.id, r]));
|
|
18
15
|
let cursor = byId.get(runId);
|
|
19
16
|
if (!cursor) return runId;
|
|
@@ -32,10 +29,7 @@ export function rootIdOf(
|
|
|
32
29
|
* @param runs - Population
|
|
33
30
|
* @param rootId - Trace root id
|
|
34
31
|
*/
|
|
35
|
-
export function spanCountInTrace(
|
|
36
|
-
runs: readonly RunRecord[],
|
|
37
|
-
rootId: string,
|
|
38
|
-
): number {
|
|
32
|
+
export function spanCountInTrace(runs: readonly RunRecord[], rootId: string): number {
|
|
39
33
|
const byId = new Map(runs.map((r) => [r.id, r]));
|
|
40
34
|
if (!byId.has(rootId)) return 0;
|
|
41
35
|
const childrenOf = new Map<string, string[]>();
|
|
@@ -65,10 +59,7 @@ export function spanCountInTrace(
|
|
|
65
59
|
* @param runs - Population
|
|
66
60
|
* @param runId - Selected run
|
|
67
61
|
*/
|
|
68
|
-
export function shouldOfferTracesLink(
|
|
69
|
-
runs: readonly RunRecord[],
|
|
70
|
-
runId: string,
|
|
71
|
-
): boolean {
|
|
62
|
+
export function shouldOfferTracesLink(runs: readonly RunRecord[], runId: string): boolean {
|
|
72
63
|
const root = rootIdOf(runs, runId);
|
|
73
64
|
return spanCountInTrace(runs, root) > 1;
|
|
74
65
|
}
|
|
@@ -79,10 +70,7 @@ export function shouldOfferTracesLink(
|
|
|
79
70
|
* @param runs - Population
|
|
80
71
|
* @param runId - Selected run (becomes focus span)
|
|
81
72
|
*/
|
|
82
|
-
export function tracesHrefForRun(
|
|
83
|
-
runs: readonly RunRecord[],
|
|
84
|
-
runId: string,
|
|
85
|
-
): string {
|
|
73
|
+
export function tracesHrefForRun(runs: readonly RunRecord[], runId: string): string {
|
|
86
74
|
const root = rootIdOf(runs, runId);
|
|
87
75
|
const params = new URLSearchParams({ trace: root, span: runId });
|
|
88
76
|
return `/traces?${params.toString()}`;
|
|
@@ -78,9 +78,7 @@ export interface RunRecord {
|
|
|
78
78
|
/** `fx.log` lines. */
|
|
79
79
|
readonly logs: readonly RunLogLine[];
|
|
80
80
|
/** All queryable dimensions. */
|
|
81
|
-
readonly dimensions: Readonly<
|
|
82
|
-
Record<string, string | number | boolean | null>
|
|
83
|
-
>;
|
|
81
|
+
readonly dimensions: Readonly<Record<string, string | number | boolean | null>>;
|
|
84
82
|
}
|
|
85
83
|
|
|
86
84
|
/** Comparison operators for dimension clauses. */
|
|
@@ -50,11 +50,7 @@ export function App() {
|
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
if (status.isLoading) {
|
|
53
|
-
return (
|
|
54
|
-
<main className="grid h-full place-items-center text-[var(--oke-muted)]">
|
|
55
|
-
Loading…
|
|
56
|
-
</main>
|
|
57
|
-
);
|
|
53
|
+
return <main className="grid h-full place-items-center text-[var(--oke-muted)]">Loading…</main>;
|
|
58
54
|
}
|
|
59
55
|
|
|
60
56
|
if (status.isError) {
|
|
@@ -73,11 +69,7 @@ export function App() {
|
|
|
73
69
|
}
|
|
74
70
|
|
|
75
71
|
if (status.data?.setupClosed && me.isLoading) {
|
|
76
|
-
return (
|
|
77
|
-
<main className="grid h-full place-items-center text-[var(--oke-muted)]">
|
|
78
|
-
Loading…
|
|
79
|
-
</main>
|
|
80
|
-
);
|
|
72
|
+
return <main className="grid h-full place-items-center text-[var(--oke-muted)]">Loading…</main>;
|
|
81
73
|
}
|
|
82
74
|
|
|
83
75
|
if (!status.data?.setupClosed || me.isError || !me.data) {
|
|
@@ -115,10 +115,7 @@ interface ConsoleClient {
|
|
|
115
115
|
email: string;
|
|
116
116
|
name: string;
|
|
117
117
|
}>;
|
|
118
|
-
sessionLogin: (input: {
|
|
119
|
-
email: string;
|
|
120
|
-
password: string;
|
|
121
|
-
}) => CallResult<{
|
|
118
|
+
sessionLogin: (input: { email: string; password: string }) => CallResult<{
|
|
122
119
|
accessToken: string;
|
|
123
120
|
refreshToken: string;
|
|
124
121
|
operatorId: string;
|
|
@@ -158,14 +155,7 @@ interface ConsoleClient {
|
|
|
158
155
|
error: string | null;
|
|
159
156
|
sampled: "full" | "error" | "sample" | "boost";
|
|
160
157
|
effects: Array<{
|
|
161
|
-
kind:
|
|
162
|
-
| "read"
|
|
163
|
-
| "write"
|
|
164
|
-
| "emit"
|
|
165
|
-
| "send"
|
|
166
|
-
| "ask"
|
|
167
|
-
| "secret"
|
|
168
|
-
| "call";
|
|
158
|
+
kind: "read" | "write" | "emit" | "send" | "ask" | "secret" | "call";
|
|
169
159
|
resource: string;
|
|
170
160
|
timestamp: number;
|
|
171
161
|
duration: number;
|
|
@@ -215,10 +205,7 @@ interface ConsoleClient {
|
|
|
215
205
|
peakTier: string;
|
|
216
206
|
auditedAt: number;
|
|
217
207
|
}>;
|
|
218
|
-
tracesReplay: (input: {
|
|
219
|
-
rootId: string;
|
|
220
|
-
dryRun: boolean;
|
|
221
|
-
}) => CallResult<{
|
|
208
|
+
tracesReplay: (input: { rootId: string; dryRun: boolean }) => CallResult<{
|
|
222
209
|
ok: true;
|
|
223
210
|
rootId: string;
|
|
224
211
|
dryRun: boolean;
|
|
@@ -478,20 +465,9 @@ interface ConsoleClient {
|
|
|
478
465
|
fingerprints: Record<string, string>;
|
|
479
466
|
fingerprint: string | null;
|
|
480
467
|
cleartext: string | null;
|
|
481
|
-
winner:
|
|
482
|
-
| "process.env"
|
|
483
|
-
| ".env.local"
|
|
484
|
-
| ".env.stack"
|
|
485
|
-
| "driver"
|
|
486
|
-
| "dev-fallback"
|
|
487
|
-
| null;
|
|
468
|
+
winner: "process.env" | ".env.local" | ".env.docker" | "driver" | "dev-fallback" | null;
|
|
488
469
|
resolution: Array<{
|
|
489
|
-
source:
|
|
490
|
-
| "process.env"
|
|
491
|
-
| ".env.local"
|
|
492
|
-
| ".env.stack"
|
|
493
|
-
| "driver"
|
|
494
|
-
| "dev-fallback";
|
|
470
|
+
source: "process.env" | ".env.local" | ".env.docker" | "driver" | "dev-fallback";
|
|
495
471
|
present: boolean;
|
|
496
472
|
won: boolean;
|
|
497
473
|
}>;
|
|
@@ -616,14 +592,7 @@ interface ConsoleClient {
|
|
|
616
592
|
tool: string;
|
|
617
593
|
status: "ok" | "denied";
|
|
618
594
|
effects: Array<{
|
|
619
|
-
kind:
|
|
620
|
-
| "read"
|
|
621
|
-
| "write"
|
|
622
|
-
| "emit"
|
|
623
|
-
| "send"
|
|
624
|
-
| "ask"
|
|
625
|
-
| "secret"
|
|
626
|
-
| "call";
|
|
595
|
+
kind: "read" | "write" | "emit" | "send" | "ask" | "secret" | "call";
|
|
627
596
|
resource: string;
|
|
628
597
|
}>;
|
|
629
598
|
denial: {
|
|
@@ -697,11 +666,7 @@ interface ConsoleClient {
|
|
|
697
666
|
meta?: string;
|
|
698
667
|
}>;
|
|
699
668
|
}>;
|
|
700
|
-
clockRunNow: (input: {
|
|
701
|
-
name: string;
|
|
702
|
-
confirmation?: string;
|
|
703
|
-
reason?: string;
|
|
704
|
-
}) => CallResult<{
|
|
669
|
+
clockRunNow: (input: { name: string; confirmation?: string; reason?: string }) => CallResult<{
|
|
705
670
|
ok: true;
|
|
706
671
|
name: string;
|
|
707
672
|
ran: boolean;
|
|
@@ -713,11 +678,7 @@ interface ConsoleClient {
|
|
|
713
678
|
status: string;
|
|
714
679
|
at: number;
|
|
715
680
|
}>;
|
|
716
|
-
clockEditSchedule: (input: {
|
|
717
|
-
name: string;
|
|
718
|
-
cron?: string;
|
|
719
|
-
every?: string;
|
|
720
|
-
}) => CallResult<{
|
|
681
|
+
clockEditSchedule: (input: { name: string; cron?: string; every?: string }) => CallResult<{
|
|
721
682
|
ok: true;
|
|
722
683
|
name: string;
|
|
723
684
|
effectiveCron?: string;
|
|
@@ -912,10 +873,7 @@ interface ConsoleClient {
|
|
|
912
873
|
} | null;
|
|
913
874
|
allowed: boolean;
|
|
914
875
|
}>;
|
|
915
|
-
gatesPowers: (input: {
|
|
916
|
-
kind: "role" | "key" | "user";
|
|
917
|
-
id: string;
|
|
918
|
-
}) => CallResult<{
|
|
876
|
+
gatesPowers: (input: { kind: "role" | "key" | "user"; id: string }) => CallResult<{
|
|
919
877
|
scopes: string[];
|
|
920
878
|
allowedFlowIds: string[];
|
|
921
879
|
deniedFlowIds: string[];
|
|
@@ -1006,11 +964,7 @@ interface ConsoleClient {
|
|
|
1006
964
|
acknowledgedCount: number;
|
|
1007
965
|
changes: Array<{
|
|
1008
966
|
path: string;
|
|
1009
|
-
category:
|
|
1010
|
-
| "contract-breaking"
|
|
1011
|
-
| "permission-widening"
|
|
1012
|
-
| "effect-widening"
|
|
1013
|
-
| "no-impact";
|
|
967
|
+
category: "contract-breaking" | "permission-widening" | "effect-widening" | "no-impact";
|
|
1014
968
|
kind: "added" | "removed" | "changed";
|
|
1015
969
|
summary: string;
|
|
1016
970
|
before?: unknown;
|
|
@@ -1089,14 +1043,10 @@ interface ConsoleClient {
|
|
|
1089
1043
|
|
|
1090
1044
|
/** Typed Console API (REST from `/_oke/client.json` at runtime). */
|
|
1091
1045
|
export const consoleApi = createClient(
|
|
1092
|
-
typeof globalThis.location !== "undefined"
|
|
1093
|
-
? globalThis.location.origin
|
|
1094
|
-
: "http://127.0.0.1:6533",
|
|
1046
|
+
typeof globalThis.location !== "undefined" ? globalThis.location.origin : "http://127.0.0.1:6533",
|
|
1095
1047
|
{
|
|
1096
1048
|
headers: () =>
|
|
1097
|
-
(accessToken
|
|
1098
|
-
? { Authorization: `Bearer ${accessToken}` }
|
|
1099
|
-
: {}) as Record<string, string>,
|
|
1049
|
+
(accessToken ? { Authorization: `Bearer ${accessToken}` } : {}) as Record<string, string>,
|
|
1100
1050
|
routes: {
|
|
1101
1051
|
"console.setupStatus": { method: "GET", path: "/console/setup/status" },
|
|
1102
1052
|
"console.setupClaim": { method: "POST", path: "/console/setup/claim" },
|
|
@@ -1237,12 +1187,7 @@ export const consoleCalls = {
|
|
|
1237
1187
|
*
|
|
1238
1188
|
* @param body - Claim payload
|
|
1239
1189
|
*/
|
|
1240
|
-
async setupClaim(body: {
|
|
1241
|
-
claimCode: string;
|
|
1242
|
-
email: string;
|
|
1243
|
-
name: string;
|
|
1244
|
-
password: string;
|
|
1245
|
-
}) {
|
|
1190
|
+
async setupClaim(body: { claimCode: string; email: string; name: string; password: string }) {
|
|
1246
1191
|
return consoleApi.console.setupClaim(body);
|
|
1247
1192
|
},
|
|
1248
1193
|
/**
|
|
@@ -1432,11 +1377,7 @@ export const consoleCalls = {
|
|
|
1432
1377
|
*
|
|
1433
1378
|
* @param body - Purge payload
|
|
1434
1379
|
*/
|
|
1435
|
-
async storePurgeCache(body: {
|
|
1436
|
-
resource: string;
|
|
1437
|
-
confirmation?: string;
|
|
1438
|
-
reason?: string;
|
|
1439
|
-
}) {
|
|
1380
|
+
async storePurgeCache(body: { resource: string; confirmation?: string; reason?: string }) {
|
|
1440
1381
|
return consoleApi.console.storePurgeCache(body);
|
|
1441
1382
|
},
|
|
1442
1383
|
/**
|
|
@@ -1444,12 +1385,7 @@ export const consoleCalls = {
|
|
|
1444
1385
|
*
|
|
1445
1386
|
* @param body - SQL payload
|
|
1446
1387
|
*/
|
|
1447
|
-
async storeSql(body: {
|
|
1448
|
-
ref: string;
|
|
1449
|
-
sql: string;
|
|
1450
|
-
tenant?: string;
|
|
1451
|
-
allowWrite?: boolean;
|
|
1452
|
-
}) {
|
|
1388
|
+
async storeSql(body: { ref: string; sql: string; tenant?: string; allowWrite?: boolean }) {
|
|
1453
1389
|
return consoleApi.console.storeSql(body);
|
|
1454
1390
|
},
|
|
1455
1391
|
/**
|
|
@@ -1478,12 +1414,7 @@ export const consoleCalls = {
|
|
|
1478
1414
|
*
|
|
1479
1415
|
* @param body - Set payload
|
|
1480
1416
|
*/
|
|
1481
|
-
async vaultSet(body: {
|
|
1482
|
-
name: string;
|
|
1483
|
-
value: string;
|
|
1484
|
-
confirmation?: string;
|
|
1485
|
-
reason?: string;
|
|
1486
|
-
}) {
|
|
1417
|
+
async vaultSet(body: { name: string; value: string; confirmation?: string; reason?: string }) {
|
|
1487
1418
|
return consoleApi.console.vaultSet(body);
|
|
1488
1419
|
},
|
|
1489
1420
|
/**
|
|
@@ -1491,12 +1422,7 @@ export const consoleCalls = {
|
|
|
1491
1422
|
*
|
|
1492
1423
|
* @param body - Rotate payload
|
|
1493
1424
|
*/
|
|
1494
|
-
async vaultRotate(body: {
|
|
1495
|
-
name: string;
|
|
1496
|
-
value: string;
|
|
1497
|
-
confirmation?: string;
|
|
1498
|
-
reason?: string;
|
|
1499
|
-
}) {
|
|
1425
|
+
async vaultRotate(body: { name: string; value: string; confirmation?: string; reason?: string }) {
|
|
1500
1426
|
return consoleApi.console.vaultRotate(body);
|
|
1501
1427
|
},
|
|
1502
1428
|
/**
|
|
@@ -1516,11 +1442,7 @@ export const consoleCalls = {
|
|
|
1516
1442
|
*
|
|
1517
1443
|
* @param body - Run-now payload
|
|
1518
1444
|
*/
|
|
1519
|
-
async clockRunNow(body: {
|
|
1520
|
-
name: string;
|
|
1521
|
-
confirmation?: string;
|
|
1522
|
-
reason?: string;
|
|
1523
|
-
}) {
|
|
1445
|
+
async clockRunNow(body: { name: string; confirmation?: string; reason?: string }) {
|
|
1524
1446
|
return consoleApi.console.clockRunNow(body);
|
|
1525
1447
|
},
|
|
1526
1448
|
/**
|
|
@@ -1536,11 +1458,7 @@ export const consoleCalls = {
|
|
|
1536
1458
|
*
|
|
1537
1459
|
* @param body - Edit payload
|
|
1538
1460
|
*/
|
|
1539
|
-
async clockEditSchedule(body: {
|
|
1540
|
-
name: string;
|
|
1541
|
-
cron?: string;
|
|
1542
|
-
every?: string;
|
|
1543
|
-
}) {
|
|
1461
|
+
async clockEditSchedule(body: { name: string; cron?: string; every?: string }) {
|
|
1544
1462
|
return consoleApi.console.clockEditSchedule(body);
|
|
1545
1463
|
},
|
|
1546
1464
|
/**
|
|
@@ -1639,10 +1557,7 @@ export const consoleCalls = {
|
|
|
1639
1557
|
*
|
|
1640
1558
|
* @param body - Principal
|
|
1641
1559
|
*/
|
|
1642
|
-
async accessEffective(body: {
|
|
1643
|
-
kind: "operator" | "user" | "role" | "key";
|
|
1644
|
-
id: string;
|
|
1645
|
-
}) {
|
|
1560
|
+
async accessEffective(body: { kind: "operator" | "user" | "role" | "key"; id: string }) {
|
|
1646
1561
|
return consoleApi.console.accessEffective(body);
|
|
1647
1562
|
},
|
|
1648
1563
|
/**
|
|
@@ -1673,11 +1588,7 @@ export const consoleCalls = {
|
|
|
1673
1588
|
*
|
|
1674
1589
|
* @param body - Key id + confirmation
|
|
1675
1590
|
*/
|
|
1676
|
-
async accessRevokeKey(body: {
|
|
1677
|
-
keyId: string;
|
|
1678
|
-
confirmation?: string;
|
|
1679
|
-
reason?: string;
|
|
1680
|
-
}) {
|
|
1591
|
+
async accessRevokeKey(body: { keyId: string; confirmation?: string; reason?: string }) {
|
|
1681
1592
|
return consoleApi.console.accessRevokeKey(body);
|
|
1682
1593
|
},
|
|
1683
1594
|
/**
|
|
@@ -1685,11 +1596,7 @@ export const consoleCalls = {
|
|
|
1685
1596
|
*
|
|
1686
1597
|
* @param body - Key id + confirmation
|
|
1687
1598
|
*/
|
|
1688
|
-
async accessRotateKey(body: {
|
|
1689
|
-
keyId: string;
|
|
1690
|
-
confirmation?: string;
|
|
1691
|
-
reason?: string;
|
|
1692
|
-
}) {
|
|
1599
|
+
async accessRotateKey(body: { keyId: string; confirmation?: string; reason?: string }) {
|
|
1693
1600
|
return consoleApi.console.accessRotateKey(body);
|
|
1694
1601
|
},
|
|
1695
1602
|
/**
|
|
@@ -42,10 +42,7 @@ export function Button({
|
|
|
42
42
|
*
|
|
43
43
|
* @param props - Input props
|
|
44
44
|
*/
|
|
45
|
-
export function Input({
|
|
46
|
-
className,
|
|
47
|
-
...props
|
|
48
|
-
}: ComponentProps<typeof BaseInput>) {
|
|
45
|
+
export function Input({ className, ...props }: ComponentProps<typeof BaseInput>) {
|
|
49
46
|
return (
|
|
50
47
|
<BaseInput
|
|
51
48
|
className={clsx(
|
|
@@ -61,14 +61,12 @@ export function Shell({ children }: { readonly children?: ReactNode }) {
|
|
|
61
61
|
to={item.to}
|
|
62
62
|
className={clsx(
|
|
63
63
|
"inline-flex min-h-8 items-center px-2 text-sm",
|
|
64
|
-
pathname === item.to ||
|
|
65
|
-
(item.to === "/manifest-diff" && pathname === "/diff")
|
|
64
|
+
pathname === item.to || (item.to === "/manifest-diff" && pathname === "/diff")
|
|
66
65
|
? "text-[var(--oke-fg)]"
|
|
67
66
|
: "text-[var(--oke-muted)]",
|
|
68
67
|
)}
|
|
69
68
|
aria-current={
|
|
70
|
-
pathname === item.to ||
|
|
71
|
-
(item.to === "/manifest-diff" && pathname === "/diff")
|
|
69
|
+
pathname === item.to || (item.to === "/manifest-diff" && pathname === "/diff")
|
|
72
70
|
? "page"
|
|
73
71
|
: undefined
|
|
74
72
|
}
|