@interf/compiler 0.22.2 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +175 -234
- package/dist/bin-mcp.d.ts +2 -0
- package/dist/bin-mcp.js +63 -0
- package/dist/bin-runtime.d.ts +2 -0
- package/dist/bin-runtime.js +111 -0
- package/dist/cli/commands/agents.js +4 -4
- package/dist/cli/commands/auth.d.ts +20 -0
- package/dist/cli/commands/auth.js +161 -0
- package/dist/cli/commands/benchmark.d.ts +10 -0
- package/dist/cli/commands/benchmark.js +88 -0
- package/dist/cli/commands/build-plan.js +95 -103
- package/dist/cli/commands/build.d.ts +1 -1
- package/dist/cli/commands/build.js +16 -15
- package/dist/cli/commands/doctor.js +3 -3
- package/dist/cli/commands/graphs.d.ts +2 -0
- package/dist/cli/commands/graphs.js +199 -0
- package/dist/cli/commands/login.js +4 -6
- package/dist/cli/commands/logout.js +1 -1
- package/dist/cli/commands/mcp.d.ts +3 -2
- package/dist/cli/commands/mcp.js +721 -204
- package/dist/cli/commands/project.d.ts +2 -0
- package/dist/cli/commands/project.js +202 -0
- package/dist/cli/commands/reset.d.ts +1 -1
- package/dist/cli/commands/reset.js +10 -10
- package/dist/cli/commands/runs.js +52 -26
- package/dist/cli/commands/runtime.d.ts +24 -0
- package/dist/cli/commands/runtime.js +373 -0
- package/dist/cli/commands/status.d.ts +1 -0
- package/dist/cli/commands/status.js +33 -22
- package/dist/cli/commands/traces.d.ts +2 -0
- package/dist/cli/commands/traces.js +125 -0
- package/dist/cli/commands/wizard.js +155 -150
- package/dist/cli/index.d.ts +7 -4
- package/dist/cli/index.js +13 -7
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/packages/build-plans/authoring/brief.d.ts +517 -0
- package/dist/packages/build-plans/authoring/brief.js +89 -0
- package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +10 -10
- package/dist/packages/build-plans/authoring/build-plan-authoring.js +66 -26
- package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +1 -1
- package/dist/packages/build-plans/authoring/build-plan-edit-session.js +8 -2
- package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
- package/dist/packages/build-plans/authoring/build-plan-improvement.js +39 -42
- package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.js +7 -7
- package/dist/packages/build-plans/build-plan-resolution.d.ts +1 -1
- package/dist/packages/build-plans/build-plan-resolution.js +3 -3
- package/dist/packages/build-plans/index.d.ts +1 -1
- package/dist/packages/build-plans/index.js +1 -1
- package/dist/packages/build-plans/package/build-plan-definitions.d.ts +14 -12
- package/dist/packages/build-plans/package/build-plan-definitions.js +40 -39
- package/dist/packages/build-plans/package/build-plan-helpers.d.ts +3 -2
- package/dist/packages/build-plans/package/build-plan-helpers.js +27 -13
- package/dist/packages/build-plans/package/build-plan-review-paths.d.ts +5 -5
- package/dist/packages/build-plans/package/build-plan-review-paths.js +15 -15
- package/dist/packages/build-plans/package/build-plan-stage-runner.d.ts +4 -4
- package/dist/packages/build-plans/package/build-plan-stage-runner.js +22 -11
- package/dist/packages/build-plans/package/builtin-build-plan.d.ts +5 -6
- package/dist/packages/build-plans/package/builtin-build-plan.js +7 -8
- package/dist/packages/build-plans/package/context-interface.d.ts +11 -9
- package/dist/packages/build-plans/package/context-interface.js +14 -33
- package/dist/packages/build-plans/package/interf-build-plan-package.d.ts +6 -17
- package/dist/packages/build-plans/package/interf-build-plan-package.js +56 -52
- package/dist/packages/build-plans/package/local-build-plans.d.ts +12 -10
- package/dist/packages/build-plans/package/local-build-plans.js +56 -31
- package/dist/packages/build-plans/package/user-build-plans.js +1 -1
- package/dist/packages/contracts/index.d.ts +4 -2
- package/dist/packages/contracts/index.js +2 -1
- package/dist/packages/contracts/lib/project-paths.d.ts +137 -0
- package/dist/packages/contracts/lib/project-paths.js +211 -0
- package/dist/packages/contracts/lib/project-schema.d.ts +160 -0
- package/dist/packages/contracts/lib/project-schema.js +113 -0
- package/dist/packages/contracts/lib/schema.d.ts +739 -80
- package/dist/packages/contracts/lib/schema.js +410 -75
- package/dist/packages/contracts/utils/parse.js +67 -0
- package/dist/packages/projects/index.d.ts +6 -0
- package/dist/packages/{project → projects}/index.js +0 -3
- package/dist/packages/{project → projects}/interf-detect.d.ts +12 -12
- package/dist/packages/{project → projects}/interf-detect.js +56 -50
- package/dist/packages/projects/interf.d.ts +2 -0
- package/dist/packages/projects/interf.js +1 -0
- package/dist/packages/projects/lib/schema.d.ts +79 -0
- package/dist/packages/projects/lib/schema.js +89 -0
- package/dist/packages/projects/source-config.d.ts +58 -0
- package/dist/packages/projects/source-config.js +352 -0
- package/dist/packages/projects/source-folders.d.ts +11 -0
- package/dist/packages/{project → projects}/source-folders.js +26 -26
- package/dist/packages/{engine → runtime}/action-planner.d.ts +1 -1
- package/dist/packages/{engine → runtime}/action-planner.js +20 -22
- package/dist/packages/runtime/action-values.d.ts +1 -0
- package/dist/packages/runtime/action-values.js +1 -0
- package/dist/packages/runtime/actions/errors.d.ts +2 -0
- package/dist/packages/runtime/actions/errors.js +12 -0
- package/dist/packages/runtime/actions/fields.d.ts +82 -0
- package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
- package/dist/packages/runtime/actions/form-builders.js +619 -0
- package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
- package/dist/packages/runtime/actions/form-validators.js +128 -0
- package/dist/packages/runtime/actions/helpers.d.ts +11 -0
- package/dist/packages/runtime/actions/helpers.js +80 -0
- package/dist/packages/runtime/actions/index.d.ts +8 -0
- package/dist/packages/runtime/actions/index.js +11 -0
- package/dist/packages/runtime/actions/registry.d.ts +64 -0
- package/dist/packages/runtime/actions/registry.js +62 -0
- package/dist/packages/runtime/actions/requests.d.ts +45 -0
- package/dist/packages/runtime/actions/requests.js +158 -0
- package/dist/packages/runtime/actions/schemas.d.ts +154 -0
- package/dist/packages/runtime/actions/schemas.js +36 -0
- package/dist/packages/runtime/agent-handoff.d.ts +11 -0
- package/dist/packages/runtime/agent-handoff.js +101 -0
- package/dist/packages/{engine → runtime}/agents/index.d.ts +1 -2
- package/dist/packages/{engine → runtime}/agents/index.js +1 -2
- package/dist/packages/runtime/agents/lib/args.d.ts +14 -0
- package/dist/packages/runtime/agents/lib/args.js +24 -0
- package/dist/packages/{engine → runtime}/agents/lib/constants.d.ts +4 -1
- package/dist/packages/runtime/agents/lib/constants.js +13 -0
- package/dist/packages/runtime/agents/lib/context-graph-bootstrap.d.ts +3 -0
- package/dist/packages/{engine/agents/lib/verifiable-context-bootstrap.js → runtime/agents/lib/context-graph-bootstrap.js} +5 -6
- package/dist/packages/{engine → runtime}/agents/lib/detection.d.ts +5 -0
- package/dist/packages/{engine → runtime}/agents/lib/detection.js +16 -7
- package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +8 -14
- package/dist/packages/{engine → runtime}/agents/lib/execution.js +14 -4
- package/dist/packages/{engine → runtime}/agents/lib/preflight.js +15 -13
- package/dist/packages/{engine → runtime}/agents/lib/render.js +4 -4
- package/dist/packages/runtime/agents/lib/shell-fs.d.ts +18 -0
- package/dist/packages/runtime/agents/lib/shell-fs.js +190 -0
- package/dist/packages/runtime/agents/lib/shell-paths.d.ts +16 -0
- package/dist/packages/runtime/agents/lib/shell-paths.js +63 -0
- package/dist/packages/runtime/agents/lib/shell-projection.d.ts +25 -0
- package/dist/packages/runtime/agents/lib/shell-projection.js +314 -0
- package/dist/packages/runtime/agents/lib/shell-templates.d.ts +30 -0
- package/dist/packages/runtime/agents/lib/shell-templates.js +452 -0
- package/dist/packages/runtime/agents/lib/shell-workspace.d.ts +17 -0
- package/dist/packages/runtime/agents/lib/shell-workspace.js +70 -0
- package/dist/packages/runtime/agents/lib/shells.d.ts +63 -0
- package/dist/packages/runtime/agents/lib/shells.js +383 -0
- package/dist/packages/{engine → runtime}/agents/lib/user-config.d.ts +8 -2
- package/dist/packages/{engine → runtime}/agents/lib/user-config.js +8 -2
- package/dist/packages/runtime/agents/providers/claude-code.d.ts +13 -0
- package/dist/packages/runtime/agents/providers/claude-code.js +45 -0
- package/dist/packages/runtime/agents/providers/codex.d.ts +17 -0
- package/dist/packages/runtime/agents/providers/codex.js +64 -0
- package/dist/packages/runtime/agents/providers/cursor.d.ts +9 -0
- package/dist/packages/runtime/agents/providers/cursor.js +24 -0
- package/dist/packages/runtime/agents/providers/index.d.ts +9 -0
- package/dist/packages/runtime/agents/providers/index.js +31 -0
- package/dist/packages/runtime/agents/providers/types.d.ts +50 -0
- package/dist/packages/{engine → runtime}/agents/registry.d.ts +13 -2
- package/dist/packages/{engine → runtime}/agents/registry.js +48 -10
- package/dist/packages/{engine → runtime}/agents/role-executors.d.ts +1 -1
- package/dist/packages/{engine → runtime}/agents/role-executors.js +7 -6
- package/dist/packages/{engine → runtime}/agents/role-router.js +7 -5
- package/dist/packages/runtime/auth/account-context.d.ts +52 -0
- package/dist/packages/runtime/auth/account-context.js +68 -0
- package/dist/packages/runtime/auth/auth-flow.d.ts +73 -0
- package/dist/packages/runtime/auth/auth-flow.js +189 -0
- package/dist/packages/runtime/auth/jwt-validator.d.ts +58 -0
- package/dist/packages/runtime/auth/jwt-validator.js +86 -0
- package/dist/packages/runtime/auth/keychain.d.ts +35 -0
- package/dist/packages/runtime/auth/keychain.js +85 -0
- package/dist/packages/runtime/auth/session-store.d.ts +38 -0
- package/dist/packages/runtime/auth/session-store.js +88 -0
- package/dist/packages/runtime/auth/workos-client.d.ts +58 -0
- package/dist/packages/runtime/auth/workos-client.js +87 -0
- package/dist/packages/runtime/benchmark-question-draft.d.ts +20 -0
- package/dist/packages/runtime/benchmark-question-draft.js +124 -0
- package/dist/packages/runtime/build/artifact-counts.d.ts +1 -0
- package/dist/packages/{engine → runtime}/build/artifact-counts.js +5 -9
- package/dist/packages/{engine → runtime}/build/artifact-status.d.ts +5 -5
- package/dist/packages/{engine → runtime}/build/artifact-status.js +25 -23
- package/dist/packages/runtime/build/atomic-fs.d.ts +3 -0
- package/dist/packages/runtime/build/atomic-fs.js +95 -0
- package/dist/packages/runtime/build/billing-events.d.ts +78 -0
- package/dist/packages/{engine → runtime}/build/billing-events.js +17 -19
- package/dist/packages/runtime/build/build-evidence.d.ts +15 -0
- package/dist/packages/runtime/build/build-evidence.js +173 -0
- package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
- package/dist/packages/runtime/build/build-pipeline.js +304 -0
- package/dist/packages/{engine → runtime}/build/build-plan-primitives.d.ts +1 -1
- package/dist/packages/{engine → runtime}/build/build-plan-primitives.js +0 -1
- package/dist/packages/runtime/build/build-plan-runs.d.ts +14 -0
- package/dist/packages/runtime/build/build-plan-runs.js +31 -0
- package/dist/packages/runtime/build/build-stage-plan.d.ts +16 -0
- package/dist/packages/{engine → runtime}/build/build-stage-plan.js +28 -29
- package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
- package/dist/packages/runtime/build/build-stage-runner.js +165 -0
- package/dist/packages/{engine → runtime}/build/build-target.d.ts +4 -4
- package/dist/packages/runtime/build/build-target.js +16 -0
- package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
- package/dist/packages/runtime/build/check-evaluator.js +575 -0
- package/dist/packages/runtime/build/context-graph-paths.d.ts +51 -0
- package/dist/packages/runtime/build/context-graph-paths.js +133 -0
- package/dist/packages/runtime/build/context-graph-schema.d.ts +19 -0
- package/dist/packages/runtime/build/context-graph-schema.js +39 -0
- package/dist/packages/{engine → runtime}/build/discovery.d.ts +2 -2
- package/dist/packages/{engine → runtime}/build/discovery.js +4 -4
- package/dist/packages/{engine → runtime}/build/index.d.ts +5 -3
- package/dist/packages/{engine → runtime}/build/index.js +5 -3
- package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +221 -88
- package/dist/packages/{engine → runtime}/build/lib/schema.js +61 -41
- package/dist/packages/runtime/build/reset.d.ts +2 -0
- package/dist/packages/runtime/build/reset.js +62 -0
- package/dist/packages/{engine → runtime}/build/runtime-contracts.js +5 -5
- package/dist/packages/runtime/build/runtime-inventory.d.ts +7 -0
- package/dist/packages/{engine → runtime}/build/runtime-inventory.js +3 -3
- package/dist/packages/{engine → runtime}/build/runtime-paths.js +6 -6
- package/dist/packages/{engine → runtime}/build/runtime-prompt.js +7 -6
- package/dist/packages/{engine → runtime}/build/runtime-reconcile.d.ts +1 -1
- package/dist/packages/{engine → runtime}/build/runtime-reconcile.js +25 -21
- package/dist/packages/runtime/build/runtime-runs.d.ts +10 -0
- package/dist/packages/runtime/build/runtime-runs.js +265 -0
- package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +6 -6
- package/dist/packages/runtime/build/runtime-types.js +1 -0
- package/dist/packages/runtime/build/runtime.d.ts +6 -0
- package/dist/packages/runtime/build/runtime.js +5 -0
- package/dist/packages/runtime/build/source-files.d.ts +58 -0
- package/dist/packages/runtime/build/source-files.js +184 -0
- package/dist/packages/runtime/build/source-inventory.d.ts +27 -0
- package/dist/packages/runtime/build/source-inventory.js +273 -0
- package/dist/packages/runtime/build/source-manifest.d.ts +52 -0
- package/dist/packages/runtime/build/source-manifest.js +192 -0
- package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
- package/dist/packages/runtime/build/stage-evidence.js +317 -0
- package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
- package/dist/packages/runtime/build/stage-reuse.js +142 -0
- package/dist/packages/runtime/build/state-artifacts.d.ts +9 -0
- package/dist/packages/runtime/build/state-artifacts.js +14 -0
- package/dist/packages/runtime/build/state-health.d.ts +4 -0
- package/dist/packages/{engine → runtime}/build/state-health.js +21 -26
- package/dist/packages/runtime/build/state-io.d.ts +12 -0
- package/dist/packages/runtime/build/state-io.js +119 -0
- package/dist/packages/{engine → runtime}/build/state-paths.d.ts +3 -1
- package/dist/packages/runtime/build/state-paths.js +22 -0
- package/dist/packages/runtime/build/state-view.d.ts +5 -0
- package/dist/packages/{engine → runtime}/build/state-view.js +60 -33
- package/dist/packages/runtime/build/state.d.ts +7 -0
- package/dist/packages/runtime/build/state.js +12 -0
- package/dist/packages/runtime/build/traces.d.ts +30 -0
- package/dist/packages/runtime/build/traces.js +133 -0
- package/dist/packages/{engine/build/validate-verifiable-context.d.ts → runtime/build/validate-context-graph.d.ts} +6 -6
- package/dist/packages/{engine/build/validate-verifiable-context.js → runtime/build/validate-context-graph.js} +48 -35
- package/dist/packages/{engine → runtime}/build/validate.d.ts +5 -5
- package/dist/packages/{engine → runtime}/build/validate.js +26 -26
- package/dist/packages/{engine → runtime}/client.d.ts +15 -15
- package/dist/packages/{engine → runtime}/client.js +41 -24
- package/dist/packages/{engine → runtime}/connection-config.d.ts +3 -2
- package/dist/packages/{engine → runtime}/connection-config.js +9 -8
- package/dist/packages/runtime/context-checks.d.ts +10 -0
- package/dist/packages/runtime/context-checks.js +114 -0
- package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
- package/dist/packages/runtime/context-graph-scaffold.js +134 -0
- package/dist/packages/runtime/entitlement-guard.d.ts +43 -0
- package/dist/packages/runtime/entitlement-guard.js +70 -0
- package/dist/packages/{engine → runtime}/execution/index.d.ts +2 -2
- package/dist/packages/{engine → runtime}/execution/index.js +1 -1
- package/dist/packages/{engine → runtime}/execution/lib/schema.d.ts +270 -192
- package/dist/packages/{engine → runtime}/execution/lib/schema.js +35 -32
- package/dist/packages/runtime/index.d.ts +29 -0
- package/dist/packages/runtime/index.js +21 -0
- package/dist/packages/runtime/instance-paths.d.ts +30 -0
- package/dist/packages/runtime/instance-paths.js +29 -0
- package/dist/packages/{engine → runtime}/native-run-handlers.d.ts +4 -4
- package/dist/packages/{engine → runtime}/native-run-handlers.js +184 -152
- package/dist/packages/runtime/plan-artifact-contract.d.ts +17 -0
- package/dist/packages/runtime/plan-artifact-contract.js +42 -0
- package/dist/packages/runtime/project-entries.d.ts +11 -0
- package/dist/packages/runtime/project-entries.js +49 -0
- package/dist/packages/runtime/project-source-state.d.ts +26 -0
- package/dist/packages/runtime/project-source-state.js +53 -0
- package/dist/packages/runtime/project-store.d.ts +85 -0
- package/dist/packages/runtime/project-store.js +168 -0
- package/dist/packages/runtime/requested-artifacts.d.ts +7 -0
- package/dist/packages/{engine → runtime}/requested-artifacts.js +23 -1
- package/dist/packages/{engine → runtime}/run-observability.d.ts +2 -1
- package/dist/packages/{engine → runtime}/run-observability.js +166 -84
- package/dist/packages/runtime/runtime-action-proposals.d.ts +7 -0
- package/dist/packages/runtime/runtime-action-proposals.js +542 -0
- package/dist/packages/runtime/runtime-build-plans.d.ts +5 -0
- package/dist/packages/runtime/runtime-build-plans.js +131 -0
- package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
- package/dist/packages/runtime/runtime-build-runs.js +562 -0
- package/dist/packages/runtime/runtime-caches.d.ts +91 -0
- package/dist/packages/{engine → runtime}/runtime-caches.js +77 -49
- package/dist/packages/{engine → runtime}/runtime-event-applier.d.ts +3 -1
- package/dist/packages/{engine → runtime}/runtime-event-applier.js +53 -17
- package/dist/packages/runtime/runtime-executor.d.ts +22 -0
- package/dist/packages/runtime/runtime-executor.js +131 -0
- package/dist/packages/runtime/runtime-jobs.d.ts +13 -0
- package/dist/packages/runtime/runtime-jobs.js +463 -0
- package/dist/packages/runtime/runtime-observability.d.ts +11 -0
- package/dist/packages/runtime/runtime-observability.js +39 -0
- package/dist/packages/{engine → runtime}/runtime-persistence.d.ts +9 -18
- package/dist/packages/{engine → runtime}/runtime-persistence.js +25 -25
- package/dist/packages/runtime/runtime-project-mutations.d.ts +7 -0
- package/dist/packages/runtime/runtime-project-mutations.js +64 -0
- package/dist/packages/runtime/runtime-project-reads.d.ts +15 -0
- package/dist/packages/runtime/runtime-project-reads.js +381 -0
- package/dist/packages/runtime/runtime-proposal-helpers.d.ts +22 -0
- package/dist/packages/runtime/runtime-proposal-helpers.js +223 -0
- package/dist/packages/{engine → runtime}/runtime-resource-builders.d.ts +21 -16
- package/dist/packages/{engine → runtime}/runtime-resource-builders.js +48 -38
- package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
- package/dist/packages/runtime/runtime-verify-runs.js +295 -0
- package/dist/packages/runtime/runtime.d.ts +1165 -0
- package/dist/packages/runtime/runtime.js +417 -0
- package/dist/packages/runtime/schemas/actions.d.ts +1182 -0
- package/dist/packages/runtime/schemas/actions.js +117 -0
- package/dist/packages/runtime/schemas/agents.d.ts +76 -0
- package/dist/packages/runtime/schemas/agents.js +41 -0
- package/dist/packages/runtime/schemas/build-plans.d.ts +959 -0
- package/dist/packages/runtime/schemas/build-plans.js +107 -0
- package/dist/packages/runtime/schemas/files.d.ts +567 -0
- package/dist/packages/runtime/schemas/files.js +51 -0
- package/dist/packages/runtime/schemas/index.d.ts +8 -0
- package/dist/packages/runtime/schemas/index.js +12 -0
- package/dist/packages/runtime/schemas/instance.d.ts +141 -0
- package/dist/packages/runtime/schemas/instance.js +143 -0
- package/dist/packages/runtime/schemas/jobs.d.ts +339 -0
- package/dist/packages/runtime/schemas/jobs.js +103 -0
- package/dist/packages/runtime/schemas/projects.d.ts +339 -0
- package/dist/packages/runtime/schemas/projects.js +136 -0
- package/dist/packages/runtime/schemas/runs.d.ts +2676 -0
- package/dist/packages/runtime/schemas/runs.js +98 -0
- package/dist/packages/runtime/service/index.d.ts +3 -0
- package/dist/packages/runtime/service/index.js +3 -0
- package/dist/packages/runtime/service/openapi.d.ts +7 -0
- package/dist/packages/runtime/service/openapi.js +117 -0
- package/dist/packages/runtime/service/operations.d.ts +1490 -0
- package/dist/packages/runtime/service/operations.js +245 -0
- package/dist/packages/runtime/service/routes.d.ts +106 -0
- package/dist/packages/runtime/service/routes.js +120 -0
- package/dist/packages/runtime/service/server-api-files.d.ts +10 -0
- package/dist/packages/runtime/service/server-api-files.js +85 -0
- package/dist/packages/runtime/service/server-app-boot.d.ts +4 -0
- package/dist/packages/runtime/service/server-app-boot.js +46 -0
- package/dist/packages/runtime/service/server-guards.d.ts +63 -0
- package/dist/packages/runtime/service/server-guards.js +181 -0
- package/dist/packages/runtime/service/server-helpers.d.ts +27 -0
- package/dist/packages/runtime/service/server-helpers.js +89 -0
- package/dist/packages/runtime/service/server-instance-helpers.d.ts +30 -0
- package/dist/packages/runtime/service/server-instance-helpers.js +114 -0
- package/dist/packages/runtime/service/server-routes-action-proposals.d.ts +3 -0
- package/dist/packages/runtime/service/server-routes-action-proposals.js +43 -0
- package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
- package/dist/packages/runtime/service/server-routes-agents.js +198 -0
- package/dist/packages/runtime/service/server-routes-auth.d.ts +33 -0
- package/dist/packages/runtime/service/server-routes-auth.js +138 -0
- package/dist/packages/runtime/service/server-routes-build-plans.d.ts +3 -0
- package/dist/packages/runtime/service/server-routes-build-plans.js +83 -0
- package/dist/packages/runtime/service/server-routes-discovery.d.ts +4 -0
- package/dist/packages/runtime/service/server-routes-discovery.js +196 -0
- package/dist/packages/runtime/service/server-routes-events.d.ts +5 -0
- package/dist/packages/runtime/service/server-routes-events.js +99 -0
- package/dist/packages/runtime/service/server-routes-project-context.d.ts +9 -0
- package/dist/packages/runtime/service/server-routes-project-context.js +192 -0
- package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
- package/dist/packages/runtime/service/server-routes-project-jobs.js +130 -0
- package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
- package/dist/packages/runtime/service/server-routes-project-runs.js +85 -0
- package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
- package/dist/packages/runtime/service/server-routes-projects.js +92 -0
- package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
- package/dist/packages/runtime/service/server-routes-runs.js +112 -0
- package/dist/packages/runtime/service/server.d.ts +37 -0
- package/dist/packages/runtime/service/server.js +300 -0
- package/dist/packages/{engine → runtime/service}/service-registry.d.ts +5 -5
- package/dist/packages/{engine → runtime/service}/service-registry.js +7 -7
- package/dist/packages/runtime/verify/benchmark-run.d.ts +81 -0
- package/dist/packages/runtime/verify/benchmark-run.js +303 -0
- package/dist/packages/{engine → runtime}/verify/index.d.ts +2 -2
- package/dist/packages/{engine → runtime}/verify/index.js +1 -1
- package/dist/packages/{engine → runtime}/verify/lib/schema.d.ts +83 -16
- package/dist/packages/{engine → runtime}/verify/lib/schema.js +26 -18
- package/dist/packages/{engine → runtime}/verify/verify-execution.js +11 -11
- package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +4 -4
- package/dist/packages/runtime/verify/verify-paths.js +61 -0
- package/dist/packages/{engine → runtime}/verify/verify-sandbox.d.ts +1 -1
- package/dist/packages/runtime/verify/verify-sandbox.js +88 -0
- package/dist/packages/{engine → runtime}/verify/verify-specs.d.ts +2 -0
- package/dist/packages/{engine → runtime}/verify/verify-specs.js +5 -3
- package/dist/packages/runtime/verify/verify-targets.d.ts +5 -0
- package/dist/packages/{engine → runtime}/verify/verify-targets.js +12 -12
- package/dist/packages/runtime/verify/verify-types.js +1 -0
- package/dist/packages/{engine → runtime}/verify/verify.d.ts +1 -1
- package/dist/packages/{engine → runtime}/verify/verify.js +1 -1
- package/dist/packages/runtime/wire-schemas.d.ts +18 -0
- package/dist/packages/runtime/wire-schemas.js +27 -0
- package/package.json +39 -31
- package/public-repo/CONTRIBUTING.md +7 -16
- package/public-repo/README.md +175 -234
- package/public-repo/SECURITY.md +3 -4
- package/public-repo/build-plans/interf-default/README.md +19 -14
- package/public-repo/build-plans/interf-default/build/stages/shape/SKILL.md +18 -11
- package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +12 -5
- package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +16 -4
- package/public-repo/build-plans/interf-default/build-plan.json +34 -28
- package/public-repo/build-plans/interf-default/build-plan.schema.json +54 -32
- package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
- package/public-repo/build-plans/interf-default/use/query/SKILL.md +17 -11
- package/public-repo/openapi/local-service.openapi.json +6803 -0
- package/public-repo/skills/interf/SKILL.md +460 -179
- package/dist/cli/commands/prep.d.ts +0 -2
- package/dist/cli/commands/prep.js +0 -240
- package/dist/cli/commands/test.d.ts +0 -10
- package/dist/cli/commands/test.js +0 -85
- package/dist/cli/commands/web.d.ts +0 -2
- package/dist/cli/commands/web.js +0 -286
- package/dist/interf-ui/404.html +0 -1
- package/dist/interf-ui/__next.__PAGE__.txt +0 -10
- package/dist/interf-ui/__next._full.txt +0 -20
- package/dist/interf-ui/__next._head.txt +0 -5
- package/dist/interf-ui/__next._index.txt +0 -5
- package/dist/interf-ui/__next._tree.txt +0 -5
- package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_buildManifest.js +0 -11
- package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_clientMiddlewareManifest.js +0 -1
- package/dist/interf-ui/_next/static/--reS3xBzM5zc6QxNjZd6/_ssgManifest.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0.tjb6f4golw..css +0 -3
- package/dist/interf-ui/_next/static/chunks/03~yq9q893hmn.js +0 -1
- package/dist/interf-ui/_next/static/chunks/085-n_jv2ng_q.css +0 -1
- package/dist/interf-ui/_next/static/chunks/0dn41fa_zvgsl.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0g-ea0zj5d-0k.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0gwqglc4iz583.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0haldgm65ve6l.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0nv3am99vjzn4.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0s77gt_o4jwtx.js +0 -1
- package/dist/interf-ui/_next/static/chunks/0y5z3t-z1c8ks.js.map +0 -5
- package/dist/interf-ui/_next/static/chunks/0~a36ujuzpaz..js +0 -116
- package/dist/interf-ui/_next/static/chunks/10jeodxe4nkgj.js +0 -31
- package/dist/interf-ui/_next/static/chunks/119h2rouych2t.js +0 -1
- package/dist/interf-ui/_next/static/chunks/13c8b~m8knjsf.js +0 -1
- package/dist/interf-ui/_next/static/chunks/14dznb2qpt-ho.js +0 -91
- package/dist/interf-ui/_next/static/chunks/15z_en80lrq-3.js +0 -5
- package/dist/interf-ui/_next/static/chunks/turbopack-0p.pvcjrtq-jh.js +0 -1
- package/dist/interf-ui/_next/static/chunks/turbopack-0usj_75.8frlw.js +0 -1
- package/dist/interf-ui/_next/static/chunks/turbopack-worker-0sjn--fhq~1cg.js +0 -1
- package/dist/interf-ui/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2 +0 -0
- package/dist/interf-ui/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2 +0 -0
- package/dist/interf-ui/_next/static/media/worker.102zas1s52_pf.js +0 -109
- package/dist/interf-ui/_not-found/__next._full.txt +0 -15
- package/dist/interf-ui/_not-found/__next._head.txt +0 -5
- package/dist/interf-ui/_not-found/__next._index.txt +0 -5
- package/dist/interf-ui/_not-found/__next._not-found.__PAGE__.txt +0 -5
- package/dist/interf-ui/_not-found/__next._not-found.txt +0 -5
- package/dist/interf-ui/_not-found/__next._tree.txt +0 -2
- package/dist/interf-ui/_not-found.html +0 -1
- package/dist/interf-ui/_not-found.txt +0 -15
- package/dist/interf-ui/index.html +0 -1
- package/dist/interf-ui/index.txt +0 -20
- package/dist/packages/contracts/lib/preparation-paths.d.ts +0 -117
- package/dist/packages/contracts/lib/preparation-paths.js +0 -177
- package/dist/packages/engine/action-definitions.d.ts +0 -407
- package/dist/packages/engine/action-definitions.js +0 -1158
- package/dist/packages/engine/action-values.d.ts +0 -1
- package/dist/packages/engine/action-values.js +0 -1
- package/dist/packages/engine/agents/lib/args.d.ts +0 -4
- package/dist/packages/engine/agents/lib/args.js +0 -52
- package/dist/packages/engine/agents/lib/chart-guidance.d.ts +0 -1
- package/dist/packages/engine/agents/lib/chart-guidance.js +0 -8
- package/dist/packages/engine/agents/lib/constants.js +0 -28
- package/dist/packages/engine/agents/lib/schema.d.ts +0 -8
- package/dist/packages/engine/agents/lib/schema.js +0 -7
- package/dist/packages/engine/agents/lib/shells.d.ts +0 -74
- package/dist/packages/engine/agents/lib/shells.js +0 -1052
- package/dist/packages/engine/agents/lib/verifiable-context-bootstrap.d.ts +0 -3
- package/dist/packages/engine/build/artifact-counts.d.ts +0 -1
- package/dist/packages/engine/build/billing-events.d.ts +0 -89
- package/dist/packages/engine/build/build-pipeline.js +0 -175
- package/dist/packages/engine/build/build-plan-runs.d.ts +0 -14
- package/dist/packages/engine/build/build-plan-runs.js +0 -31
- package/dist/packages/engine/build/build-stage-plan.d.ts +0 -16
- package/dist/packages/engine/build/build-stage-runner.js +0 -94
- package/dist/packages/engine/build/build-target.js +0 -16
- package/dist/packages/engine/build/check-evaluator.js +0 -298
- package/dist/packages/engine/build/reset.d.ts +0 -2
- package/dist/packages/engine/build/reset.js +0 -74
- package/dist/packages/engine/build/runtime-inventory.d.ts +0 -7
- package/dist/packages/engine/build/runtime-runs.d.ts +0 -10
- package/dist/packages/engine/build/runtime-runs.js +0 -224
- package/dist/packages/engine/build/runtime.d.ts +0 -5
- package/dist/packages/engine/build/runtime.js +0 -4
- package/dist/packages/engine/build/source-files.d.ts +0 -46
- package/dist/packages/engine/build/source-files.js +0 -149
- package/dist/packages/engine/build/state-artifacts.d.ts +0 -9
- package/dist/packages/engine/build/state-artifacts.js +0 -14
- package/dist/packages/engine/build/state-health.d.ts +0 -4
- package/dist/packages/engine/build/state-io.d.ts +0 -11
- package/dist/packages/engine/build/state-io.js +0 -82
- package/dist/packages/engine/build/state-paths.js +0 -16
- package/dist/packages/engine/build/state-view.d.ts +0 -5
- package/dist/packages/engine/build/state.d.ts +0 -7
- package/dist/packages/engine/build/state.js +0 -12
- package/dist/packages/engine/build/validate-helpers.d.ts +0 -12
- package/dist/packages/engine/build/validate-helpers.js +0 -41
- package/dist/packages/engine/build/verifiable-context-paths.d.ts +0 -47
- package/dist/packages/engine/build/verifiable-context-paths.js +0 -121
- package/dist/packages/engine/build/verifiable-context-schema.d.ts +0 -21
- package/dist/packages/engine/build/verifiable-context-schema.js +0 -126
- package/dist/packages/engine/cloud-seams.d.ts +0 -115
- package/dist/packages/engine/cloud-seams.js +0 -84
- package/dist/packages/engine/index.d.ts +0 -22
- package/dist/packages/engine/index.js +0 -15
- package/dist/packages/engine/instance-paths.d.ts +0 -106
- package/dist/packages/engine/instance-paths.js +0 -171
- package/dist/packages/engine/lib/schema.d.ts +0 -6304
- package/dist/packages/engine/lib/schema.js +0 -730
- package/dist/packages/engine/preparation-store.d.ts +0 -105
- package/dist/packages/engine/preparation-store.js +0 -213
- package/dist/packages/engine/readiness-check-draft.d.ts +0 -20
- package/dist/packages/engine/readiness-check-draft.js +0 -111
- package/dist/packages/engine/requested-artifacts.d.ts +0 -5
- package/dist/packages/engine/routes.d.ts +0 -85
- package/dist/packages/engine/routes.js +0 -99
- package/dist/packages/engine/runtime-caches.d.ts +0 -76
- package/dist/packages/engine/runtime-proposal-helpers.d.ts +0 -35
- package/dist/packages/engine/runtime-proposal-helpers.js +0 -247
- package/dist/packages/engine/runtime.d.ts +0 -371
- package/dist/packages/engine/runtime.js +0 -2463
- package/dist/packages/engine/server.d.ts +0 -58
- package/dist/packages/engine/server.js +0 -1399
- package/dist/packages/engine/verify/readiness-check-run.d.ts +0 -82
- package/dist/packages/engine/verify/readiness-check-run.js +0 -265
- package/dist/packages/engine/verify/verify-paths.js +0 -61
- package/dist/packages/engine/verify/verify-sandbox.js +0 -88
- package/dist/packages/engine/verify/verify-targets.d.ts +0 -5
- package/dist/packages/engine/wire-schemas.d.ts +0 -547
- package/dist/packages/engine/wire-schemas.js +0 -59
- package/dist/packages/project/index.d.ts +0 -9
- package/dist/packages/project/interf-bootstrap.d.ts +0 -1
- package/dist/packages/project/interf-bootstrap.js +0 -1
- package/dist/packages/project/interf-scaffold.d.ts +0 -3
- package/dist/packages/project/interf-scaffold.js +0 -136
- package/dist/packages/project/interf.d.ts +0 -4
- package/dist/packages/project/interf.js +0 -3
- package/dist/packages/project/lib/schema.d.ts +0 -328
- package/dist/packages/project/lib/schema.js +0 -136
- package/dist/packages/project/preparation-entries.d.ts +0 -11
- package/dist/packages/project/preparation-entries.js +0 -49
- package/dist/packages/project/source-config.d.ts +0 -46
- package/dist/packages/project/source-config.js +0 -394
- package/dist/packages/project/source-folders.d.ts +0 -11
- package/public-repo/plugins/README.md +0 -9
- package/public-repo/plugins/interf/.claude-plugin/plugin.json +0 -21
- package/public-repo/plugins/interf/.mcp.json +0 -12
- package/public-repo/plugins/interf/README.md +0 -32
- package/public-repo/plugins/interf/skills/interf/SKILL.md +0 -376
- /package/dist/packages/{engine/agents/lib/types.js → runtime/actions/fields.js} +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/agents.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/agents.js +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/execution-profile.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/execution.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/executors.js +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/logs.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/logs.js +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/render.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/status.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/status.js +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +0 -0
- /package/dist/packages/{engine/build/runtime-types.js → runtime/agents/lib/types.js} +0 -0
- /package/dist/packages/{engine/verify/verify-types.js → runtime/agents/providers/types.js} +0 -0
- /package/dist/packages/{engine → runtime}/agents/role-router.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/build/build-execution.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/build/build-execution.js +0 -0
- /package/dist/packages/{engine → runtime}/build/runtime-contracts.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/build/runtime-paths.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/build/runtime-prompt.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/execution/adapters.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/execution/adapters.js +0 -0
- /package/dist/packages/{engine → runtime}/execution/events.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/execution/events.js +0 -0
- /package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/verify/verify-profile-presets.js +0 -0
- /package/dist/packages/{engine → runtime}/verify/verify-types.d.ts +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent provider contract.
|
|
3
|
+
*
|
|
4
|
+
* Every built-in agent (Claude Code, Codex, …) and every user-registered
|
|
5
|
+
* custom agent is exposed as an `AgentProvider`. The engine talks to
|
|
6
|
+
* providers through this interface — no `if (name === "codex")` branches
|
|
7
|
+
* anywhere outside `providers/<name>.ts`.
|
|
8
|
+
*
|
|
9
|
+
* The `Agent` interface in `../types.ts` remains a structural subset of
|
|
10
|
+
* `AgentProvider` so existing callers keep working while we migrate.
|
|
11
|
+
*/
|
|
12
|
+
import type { AgentExecutionProfile } from "../lib/executors.js";
|
|
13
|
+
export interface AgentProvider {
|
|
14
|
+
/** Stable agent identifier. Engine code never branches on this value. */
|
|
15
|
+
name: string;
|
|
16
|
+
/** User-facing label. */
|
|
17
|
+
displayName: string;
|
|
18
|
+
/** Default command (first whitespace-separated token must resolve on PATH). */
|
|
19
|
+
command: string;
|
|
20
|
+
/** Where this agent stores its skills (used by detection + scaffolds). */
|
|
21
|
+
skillsDir: string;
|
|
22
|
+
/** Marker dir whose existence indicates the agent is installed locally. */
|
|
23
|
+
homeDir: string;
|
|
24
|
+
/**
|
|
25
|
+
* Whether Interf can drive this agent for automated Build runs today.
|
|
26
|
+
* Detection + the role-router consult this flag.
|
|
27
|
+
*/
|
|
28
|
+
supportsAutomatedRuns: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Internal-acceptance defaults — the model + effort this provider uses
|
|
31
|
+
* when no explicit override is supplied during maintainer test runs.
|
|
32
|
+
* Normal user runs do not consume these unless they opt in.
|
|
33
|
+
*/
|
|
34
|
+
defaultModel?: string;
|
|
35
|
+
defaultEffort?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Stderr lines matching any of these regexps are treated as expected
|
|
38
|
+
* noise and suppressed from preflight failures + run logs.
|
|
39
|
+
*/
|
|
40
|
+
noiseFilters: ReadonlyArray<RegExp>;
|
|
41
|
+
/** Build the spawn args for a `prompt` + execution profile. */
|
|
42
|
+
buildArgs(prompt: string, profile: AgentExecutionProfile): string[];
|
|
43
|
+
/** Build the spawn env from a base env (defaults to identity). */
|
|
44
|
+
buildEnv(baseEnv: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
45
|
+
/**
|
|
46
|
+
* Optional. Return true when a preflight failure is transient and the
|
|
47
|
+
* caller should retry. Defaults to false when the method is absent.
|
|
48
|
+
*/
|
|
49
|
+
isTransientPreflightFailure?(stderr: string, errorMessage: string): boolean;
|
|
50
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AgentRecord, type AgentsRegistry, type RoleMap } from "../../contracts/lib/schema.js";
|
|
1
|
+
import { type AgentPrefs, type AgentPrefsMap, type AgentRecord, type AgentsRegistry, type RoleMap } from "../../contracts/lib/schema.js";
|
|
2
2
|
export declare const AGENTS_REGISTRY_FILENAME = "agents.json";
|
|
3
3
|
/** `~/.interf/agents.json` — persisted custom agents + role-map. */
|
|
4
4
|
export declare function agentsRegistryPath(): string;
|
|
@@ -10,8 +10,19 @@ export declare function agentsRegistryPath(): string;
|
|
|
10
10
|
* unreadable; persisted custom agents always have `source: "user"`.
|
|
11
11
|
*/
|
|
12
12
|
export declare function loadPersistedRegistry(): AgentsRegistry;
|
|
13
|
-
/** Persist the on-disk part of the registry (custom agents + role-map). */
|
|
13
|
+
/** Persist the on-disk part of the registry (custom agents + role-map + prefs). */
|
|
14
14
|
export declare function savePersistedRegistry(registry: AgentsRegistry): void;
|
|
15
|
+
/**
|
|
16
|
+
* Read the prefs map without merging anything else. Used by callers that
|
|
17
|
+
* only need the per-agent overrides (e.g. the run-time spawn merger).
|
|
18
|
+
*/
|
|
19
|
+
export declare function loadAgentPrefs(): AgentPrefsMap;
|
|
20
|
+
/**
|
|
21
|
+
* Update one agent's prefs. Pass an empty object (or nullable fields set
|
|
22
|
+
* to null) to clear a specific value; pass a fully empty record to remove
|
|
23
|
+
* that agent's entry entirely. Built-in or custom agent — same code path.
|
|
24
|
+
*/
|
|
25
|
+
export declare function setAgentPrefs(name: string, prefs: AgentPrefs): void;
|
|
15
26
|
/**
|
|
16
27
|
* Detect built-in agents present on this machine. Filtered to agents
|
|
17
28
|
* whose marker home directory exists; we do NOT require the command
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* are detected dynamically at read time and merged with the persisted
|
|
7
7
|
* custom agents. The role-map IS persisted.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* contract:
|
|
10
10
|
* {
|
|
11
11
|
* "agents": [
|
|
12
12
|
* { "name": "opencode", "display_name": "OpenCode", "command": "opencode --prompt", "source": "user" }
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
24
24
|
import { join } from "node:path";
|
|
25
|
-
import { AgentRecordSchema, AgentsRegistrySchema, CANONICAL_ROLES, } from "../../contracts/lib/schema.js";
|
|
25
|
+
import { AgentPrefsSchema, AgentRecordSchema, AgentsRegistrySchema, CANONICAL_ROLES, } from "../../contracts/lib/schema.js";
|
|
26
|
+
import { interfHomeRoot } from "../../contracts/lib/project-paths.js";
|
|
26
27
|
import { readJsonFileWithSchema } from "../../contracts/utils/parse.js";
|
|
27
|
-
import { interfHomeRoot } from "../instance-paths.js";
|
|
28
28
|
import { agentCommandAvailable, detectAgents, supportsAutomatedRuns } from "./lib/detection.js";
|
|
29
29
|
import { AGENTS } from "./lib/constants.js";
|
|
30
30
|
export const AGENTS_REGISTRY_FILENAME = "agents.json";
|
|
@@ -47,16 +47,44 @@ export function loadPersistedRegistry() {
|
|
|
47
47
|
const value = readJsonFileWithSchema(path, "agents registry", AgentsRegistrySchema);
|
|
48
48
|
return value ?? AgentsRegistrySchema.parse({});
|
|
49
49
|
}
|
|
50
|
-
/** Persist the on-disk part of the registry (custom agents + role-map). */
|
|
50
|
+
/** Persist the on-disk part of the registry (custom agents + role-map + prefs). */
|
|
51
51
|
export function savePersistedRegistry(registry) {
|
|
52
52
|
const home = interfHomeRoot();
|
|
53
53
|
mkdirSync(home, { recursive: true });
|
|
54
54
|
const sanitized = {
|
|
55
|
-
agents: registry.agents.map(({ available: _available, ...agent }) => AgentRecordSchema.parse({ ...agent, source: "user" })),
|
|
55
|
+
agents: registry.agents.map(({ available: _available, prefs: _prefs, ...agent }) => AgentRecordSchema.parse({ ...agent, source: "user" })),
|
|
56
56
|
role_map: { ...registry.role_map },
|
|
57
|
+
agent_prefs: { ...(registry.agent_prefs ?? {}) },
|
|
57
58
|
};
|
|
58
59
|
writeFileSync(agentsRegistryPath(), `${JSON.stringify(sanitized, null, 2)}\n`);
|
|
59
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Read the prefs map without merging anything else. Used by callers that
|
|
63
|
+
* only need the per-agent overrides (e.g. the run-time spawn merger).
|
|
64
|
+
*/
|
|
65
|
+
export function loadAgentPrefs() {
|
|
66
|
+
return loadPersistedRegistry().agent_prefs ?? {};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Update one agent's prefs. Pass an empty object (or nullable fields set
|
|
70
|
+
* to null) to clear a specific value; pass a fully empty record to remove
|
|
71
|
+
* that agent's entry entirely. Built-in or custom agent — same code path.
|
|
72
|
+
*/
|
|
73
|
+
export function setAgentPrefs(name, prefs) {
|
|
74
|
+
const persisted = loadPersistedRegistry();
|
|
75
|
+
const next = { ...(persisted.agent_prefs ?? {}) };
|
|
76
|
+
const sanitized = AgentPrefsSchema.parse(prefs);
|
|
77
|
+
const empty = !sanitized.env_vars
|
|
78
|
+
&& (sanitized.model === undefined || sanitized.model === null)
|
|
79
|
+
&& (sanitized.effort === undefined || sanitized.effort === null);
|
|
80
|
+
if (empty) {
|
|
81
|
+
delete next[name];
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
next[name] = sanitized;
|
|
85
|
+
}
|
|
86
|
+
savePersistedRegistry({ ...persisted, agent_prefs: next });
|
|
87
|
+
}
|
|
60
88
|
/**
|
|
61
89
|
* Detect built-in agents present on this machine. Filtered to agents
|
|
62
90
|
* whose marker home directory exists; we do NOT require the command
|
|
@@ -112,9 +140,13 @@ export function listKnownBuiltinAgents() {
|
|
|
112
140
|
* against `which` so a stale `~/.interf/agents.json` entry does not
|
|
113
141
|
* appear as a usable choice.
|
|
114
142
|
*/
|
|
115
|
-
function mergeAgents(builtin, persisted) {
|
|
143
|
+
function mergeAgents(builtin, persisted, prefsMap) {
|
|
116
144
|
const seen = new Set(builtin.map((agent) => agent.name));
|
|
117
|
-
const merged = builtin.map((agent) => ({
|
|
145
|
+
const merged = builtin.map((agent) => ({
|
|
146
|
+
...agent,
|
|
147
|
+
available: true,
|
|
148
|
+
...(prefsMap[agent.name] ? { prefs: prefsMap[agent.name] } : {}),
|
|
149
|
+
}));
|
|
118
150
|
for (const agent of persisted) {
|
|
119
151
|
if (seen.has(agent.name))
|
|
120
152
|
continue;
|
|
@@ -123,6 +155,7 @@ function mergeAgents(builtin, persisted) {
|
|
|
123
155
|
...agent,
|
|
124
156
|
source: "user",
|
|
125
157
|
available: agentCommandAvailable(agent.command),
|
|
158
|
+
...(prefsMap[agent.name] ? { prefs: prefsMap[agent.name] } : {}),
|
|
126
159
|
});
|
|
127
160
|
}
|
|
128
161
|
return merged;
|
|
@@ -161,7 +194,7 @@ function buildDefaultRoleMap(agents) {
|
|
|
161
194
|
export function loadAgentsRegistry() {
|
|
162
195
|
const persisted = loadPersistedRegistry();
|
|
163
196
|
const builtinDetected = detectAutomatableBuiltinAgentRecords();
|
|
164
|
-
const agents = mergeAgents(builtinDetected, persisted.agents);
|
|
197
|
+
const agents = mergeAgents(builtinDetected, persisted.agents, persisted.agent_prefs ?? {});
|
|
165
198
|
// Seed the default role-map on first read when the persisted file
|
|
166
199
|
// has no role-map entries AND we have at least one detectable agent.
|
|
167
200
|
// (We do not write to disk yet; the seeded map is computed on the
|
|
@@ -180,7 +213,7 @@ export function loadAgentsRegistry() {
|
|
|
180
213
|
}
|
|
181
214
|
/** Pure helper — like `loadAgentsRegistry()` but works off in-memory data. */
|
|
182
215
|
export function resolveRegistry(persisted, builtinDetected) {
|
|
183
|
-
const agents = mergeAgents(builtinDetected, persisted.agents);
|
|
216
|
+
const agents = mergeAgents(builtinDetected, persisted.agents, persisted.agent_prefs ?? {});
|
|
184
217
|
const hasPersistedEntries = Object.keys(persisted.role_map).length > 0;
|
|
185
218
|
const roleMap = hasPersistedEntries
|
|
186
219
|
? { ...persisted.role_map }
|
|
@@ -197,6 +230,7 @@ export function updateRoleMap(nextRoleMap) {
|
|
|
197
230
|
const next = {
|
|
198
231
|
agents: current.agents,
|
|
199
232
|
role_map: { ...nextRoleMap },
|
|
233
|
+
agent_prefs: { ...(current.agent_prefs ?? {}) },
|
|
200
234
|
};
|
|
201
235
|
savePersistedRegistry(next);
|
|
202
236
|
return next;
|
|
@@ -218,6 +252,7 @@ export function patchRoleMap(patch) {
|
|
|
218
252
|
const updated = {
|
|
219
253
|
agents: current.agents,
|
|
220
254
|
role_map: next,
|
|
255
|
+
agent_prefs: { ...(current.agent_prefs ?? {}) },
|
|
221
256
|
};
|
|
222
257
|
savePersistedRegistry(updated);
|
|
223
258
|
return updated;
|
|
@@ -252,6 +287,7 @@ export function registerCustomAgent(input) {
|
|
|
252
287
|
const next = {
|
|
253
288
|
agents: [...current.agents, record],
|
|
254
289
|
role_map: { ...current.role_map },
|
|
290
|
+
agent_prefs: { ...(current.agent_prefs ?? {}) },
|
|
255
291
|
};
|
|
256
292
|
savePersistedRegistry(next);
|
|
257
293
|
return next;
|
|
@@ -280,6 +316,7 @@ export function unregisterCustomAgent(name) {
|
|
|
280
316
|
const next = {
|
|
281
317
|
agents: remaining,
|
|
282
318
|
role_map: trimmedRoleMap,
|
|
319
|
+
agent_prefs: { ...(current.agent_prefs ?? {}) },
|
|
283
320
|
};
|
|
284
321
|
savePersistedRegistry(next);
|
|
285
322
|
return next;
|
|
@@ -298,7 +335,7 @@ export function setActiveAgent(name) {
|
|
|
298
335
|
throw new Error("Agent name is required.");
|
|
299
336
|
const persisted = loadPersistedRegistry();
|
|
300
337
|
const builtinDetected = detectAutomatableBuiltinAgentRecords();
|
|
301
|
-
const agents = mergeAgents(builtinDetected, persisted.agents);
|
|
338
|
+
const agents = mergeAgents(builtinDetected, persisted.agents, persisted.agent_prefs ?? {});
|
|
302
339
|
if (!agents.some((agent) => agent.name === trimmedName)) {
|
|
303
340
|
throw new Error(`Agent "${trimmedName}" is not detected or registered. Install or register it before making it active.`);
|
|
304
341
|
}
|
|
@@ -315,6 +352,7 @@ export function setActiveAgent(name) {
|
|
|
315
352
|
const next = {
|
|
316
353
|
agents: persisted.agents,
|
|
317
354
|
role_map: nextRoleMap,
|
|
355
|
+
agent_prefs: { ...(persisted.agent_prefs ?? {}) },
|
|
318
356
|
};
|
|
319
357
|
savePersistedRegistry(next);
|
|
320
358
|
return next;
|
|
@@ -27,7 +27,7 @@ export interface BuildRoleExecutorBundleInput {
|
|
|
27
27
|
executionProfile?: AgentExecutionProfile;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
* Build a per-role executor bundle from
|
|
30
|
+
* Build a per-role executor bundle from registry state. The
|
|
31
31
|
* `defaultExecutor` is what the pipeline already passes for the
|
|
32
32
|
* single-active-agent case (so role lookups that fall through to
|
|
33
33
|
* `fallback-active` resolve to the same executor).
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Role-aware executor factory.
|
|
3
3
|
*
|
|
4
4
|
* Bridges the registry layer (`AgentRecord` / `RoleMap`) to the runtime
|
|
5
|
-
* layer (`AgentExecutor`).
|
|
5
|
+
* layer (`AgentExecutor`). Creates a per-agent-name `AgentExecutor`
|
|
6
6
|
* map up front and exposes a `resolveExecutorForRole(role)` helper that
|
|
7
|
-
* the build /
|
|
7
|
+
* the build / benchmark pipelines can call per-stage.
|
|
8
8
|
*
|
|
9
9
|
* Falls back gracefully: when a role isn't mapped, or the mapped agent
|
|
10
10
|
* is missing, we fall through to `general` and ultimately to the
|
|
@@ -33,7 +33,7 @@ function agentRecordToAgent(record) {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
* Build a per-role executor bundle from
|
|
36
|
+
* Build a per-role executor bundle from registry state. The
|
|
37
37
|
* `defaultExecutor` is what the pipeline already passes for the
|
|
38
38
|
* single-active-agent case (so role lookups that fall through to
|
|
39
39
|
* `fallback-active` resolve to the same executor).
|
|
@@ -46,7 +46,7 @@ export function buildRoleExecutorBundle(input) {
|
|
|
46
46
|
}
|
|
47
47
|
// Make sure the active / default executor is reachable by name
|
|
48
48
|
// even when the active agent isn't formally in the registry yet
|
|
49
|
-
// (e.g.
|
|
49
|
+
// (e.g. previous single-active setups inherited from older configs).
|
|
50
50
|
if (input.activeAgent && !executors.has(input.activeAgent.name)) {
|
|
51
51
|
executors.set(input.activeAgent.name, input.defaultExecutor);
|
|
52
52
|
}
|
|
@@ -63,8 +63,9 @@ export function buildRoleExecutorBundle(input) {
|
|
|
63
63
|
const result = resolveAgentForRole(role, context);
|
|
64
64
|
if ("error" in result) {
|
|
65
65
|
// Role-router refused — fall back to the default executor and
|
|
66
|
-
// synthesize a `fallback-active` resolution. This
|
|
67
|
-
//
|
|
66
|
+
// synthesize a `fallback-active` resolution. This is the explicit
|
|
67
|
+
// single-active-agent compatibility path; callers surface the
|
|
68
|
+
// fallback source in run logs.
|
|
68
69
|
const synthetic = {
|
|
69
70
|
agent: input.activeAgent
|
|
70
71
|
?? {
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
* failure.
|
|
5
5
|
*/
|
|
6
6
|
export function resolveAgentForRole(role, context) {
|
|
7
|
-
|
|
7
|
+
const availableAgents = context.agents.filter((agent) => agent.available !== false);
|
|
8
|
+
const activeAgent = context.activeAgent?.available === false ? null : context.activeAgent;
|
|
9
|
+
if (availableAgents.length === 0) {
|
|
8
10
|
return {
|
|
9
11
|
error: "no-agents",
|
|
10
12
|
detail: "No agents are available. Install Claude Code, Codex, or another agent CLI, " +
|
|
@@ -15,7 +17,7 @@ export function resolveAgentForRole(role, context) {
|
|
|
15
17
|
// 1. Explicit role-map entry for the requested role.
|
|
16
18
|
const explicitName = context.roleMap[trimmedRole];
|
|
17
19
|
if (explicitName) {
|
|
18
|
-
const found =
|
|
20
|
+
const found = availableAgents.find((agent) => agent.name === explicitName);
|
|
19
21
|
if (found) {
|
|
20
22
|
return { agent: found, role: trimmedRole, source: "explicit" };
|
|
21
23
|
}
|
|
@@ -29,16 +31,16 @@ export function resolveAgentForRole(role, context) {
|
|
|
29
31
|
if (trimmedRole !== "general") {
|
|
30
32
|
const generalName = context.roleMap["general"];
|
|
31
33
|
if (generalName) {
|
|
32
|
-
const found =
|
|
34
|
+
const found = availableAgents.find((agent) => agent.name === generalName);
|
|
33
35
|
if (found) {
|
|
34
36
|
return { agent: found, role: trimmedRole, source: "fallback-general" };
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
// 3. Active agent.
|
|
39
|
-
if (
|
|
41
|
+
if (activeAgent) {
|
|
40
42
|
return {
|
|
41
|
-
agent:
|
|
43
|
+
agent: activeAgent,
|
|
42
44
|
role: trimmedRole,
|
|
43
45
|
source: "fallback-active",
|
|
44
46
|
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account context types.
|
|
3
|
+
*
|
|
4
|
+
* The current account is a small projection of the WorkOS user identity +
|
|
5
|
+
* Stripe subscription state that the engine and CLI carry around for the
|
|
6
|
+
* lifetime of a session. It is populated at engine boot from
|
|
7
|
+
* `~/.interf/auth/session.json`, when present, and is null for unauthenticated
|
|
8
|
+
* (loopback-only, free-tier) sessions.
|
|
9
|
+
*
|
|
10
|
+
* No vendor types are imported here — the engine treats this as a stable
|
|
11
|
+
* shape and providers (WorkOS today, future swaps) map their domain into it.
|
|
12
|
+
*/
|
|
13
|
+
export type AccountPlan = "free" | "pro" | "enterprise" | "anonymous";
|
|
14
|
+
export interface AccountEntitlements {
|
|
15
|
+
/** Maximum number of active Projects this account may create. */
|
|
16
|
+
max_active_projects: number;
|
|
17
|
+
/** Pro features unlocked by the current plan. */
|
|
18
|
+
pro_features: ReadonlyArray<string>;
|
|
19
|
+
}
|
|
20
|
+
export interface CurrentAccount {
|
|
21
|
+
/** Stable account / user identifier (WorkOS user id, e.g. `user_01H...`). */
|
|
22
|
+
user_id: string;
|
|
23
|
+
/** Display email captured at last login. */
|
|
24
|
+
email: string;
|
|
25
|
+
/** Display name (optional; falls back to the email local-part in the UI). */
|
|
26
|
+
display_name: string | null;
|
|
27
|
+
/** Subscription tier. */
|
|
28
|
+
plan: AccountPlan;
|
|
29
|
+
/** Computed entitlements for the current plan. */
|
|
30
|
+
entitlements: AccountEntitlements;
|
|
31
|
+
/** ISO timestamp the session was last refreshed (used for TTL checks). */
|
|
32
|
+
refreshed_at: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Tier defaults — feature-based, not usage-based.
|
|
36
|
+
*
|
|
37
|
+
* Three tiers ship; Teams is a "coming soon" marketing surface, not a real
|
|
38
|
+
* plan, so it has no entry here. The Free cap is the conversion lever;
|
|
39
|
+
* Pro removes it. Enterprise is structurally different from Pro — not a
|
|
40
|
+
* bigger Pro bundle but a separate self-hosted deployment with SSO + audit
|
|
41
|
+
* log + governance + custom support.
|
|
42
|
+
*
|
|
43
|
+
* Pro features carry through the locked strategy:
|
|
44
|
+
* - benchmarks (Pro: unlimited; Free: one run)
|
|
45
|
+
* - self-improving Build Plans
|
|
46
|
+
* - multi-source per Project
|
|
47
|
+
* - scheduled resyncs
|
|
48
|
+
* - export bundles
|
|
49
|
+
* - API access
|
|
50
|
+
*/
|
|
51
|
+
export declare const TIER_ENTITLEMENTS: Record<AccountPlan, AccountEntitlements>;
|
|
52
|
+
export declare function entitlementsForPlan(plan: AccountPlan): AccountEntitlements;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account context types.
|
|
3
|
+
*
|
|
4
|
+
* The current account is a small projection of the WorkOS user identity +
|
|
5
|
+
* Stripe subscription state that the engine and CLI carry around for the
|
|
6
|
+
* lifetime of a session. It is populated at engine boot from
|
|
7
|
+
* `~/.interf/auth/session.json`, when present, and is null for unauthenticated
|
|
8
|
+
* (loopback-only, free-tier) sessions.
|
|
9
|
+
*
|
|
10
|
+
* No vendor types are imported here — the engine treats this as a stable
|
|
11
|
+
* shape and providers (WorkOS today, future swaps) map their domain into it.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Tier defaults — feature-based, not usage-based.
|
|
15
|
+
*
|
|
16
|
+
* Three tiers ship; Teams is a "coming soon" marketing surface, not a real
|
|
17
|
+
* plan, so it has no entry here. The Free cap is the conversion lever;
|
|
18
|
+
* Pro removes it. Enterprise is structurally different from Pro — not a
|
|
19
|
+
* bigger Pro bundle but a separate self-hosted deployment with SSO + audit
|
|
20
|
+
* log + governance + custom support.
|
|
21
|
+
*
|
|
22
|
+
* Pro features carry through the locked strategy:
|
|
23
|
+
* - benchmarks (Pro: unlimited; Free: one run)
|
|
24
|
+
* - self-improving Build Plans
|
|
25
|
+
* - multi-source per Project
|
|
26
|
+
* - scheduled resyncs
|
|
27
|
+
* - export bundles
|
|
28
|
+
* - API access
|
|
29
|
+
*/
|
|
30
|
+
export const TIER_ENTITLEMENTS = {
|
|
31
|
+
anonymous: {
|
|
32
|
+
max_active_projects: 10,
|
|
33
|
+
pro_features: [],
|
|
34
|
+
},
|
|
35
|
+
free: {
|
|
36
|
+
max_active_projects: 10,
|
|
37
|
+
pro_features: [],
|
|
38
|
+
},
|
|
39
|
+
pro: {
|
|
40
|
+
max_active_projects: Number.POSITIVE_INFINITY,
|
|
41
|
+
pro_features: [
|
|
42
|
+
"benchmarking-unlimited",
|
|
43
|
+
"self-improving-build-plans",
|
|
44
|
+
"multi-source-per-project",
|
|
45
|
+
"scheduled-resyncs",
|
|
46
|
+
"flow-export",
|
|
47
|
+
"api-access",
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
enterprise: {
|
|
51
|
+
max_active_projects: Number.POSITIVE_INFINITY,
|
|
52
|
+
pro_features: [
|
|
53
|
+
"benchmarking-unlimited",
|
|
54
|
+
"self-improving-build-plans",
|
|
55
|
+
"multi-source-per-project",
|
|
56
|
+
"scheduled-resyncs",
|
|
57
|
+
"flow-export",
|
|
58
|
+
"api-access",
|
|
59
|
+
"sso",
|
|
60
|
+
"audit-log",
|
|
61
|
+
"governance",
|
|
62
|
+
"self-hosted",
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
export function entitlementsForPlan(plan) {
|
|
67
|
+
return TIER_ENTITLEMENTS[plan] ?? TIER_ENTITLEMENTS.anonymous;
|
|
68
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PKCE auth flow orchestration.
|
|
3
|
+
*
|
|
4
|
+
* Drives the public-client OAuth dance: spawns a loopback HTTP server on
|
|
5
|
+
* 127.0.0.1, asks WorkOS for an authorize URL bound to that server's
|
|
6
|
+
* dynamic port, opens the user's browser at AuthKit, and waits for the
|
|
7
|
+
* callback. On callback, the returned `state` is checked against the SDK-
|
|
8
|
+
* generated value and the `code` is exchanged for `{ user, accessToken,
|
|
9
|
+
* refreshToken }` via `authenticateWithCode` with the stored `codeVerifier`.
|
|
10
|
+
*
|
|
11
|
+
* No part of this module touches `~/.interf/auth/*`. Callers (CLI today,
|
|
12
|
+
* desktop shell later) take the returned tokens and decide what to persist.
|
|
13
|
+
*
|
|
14
|
+
* The `transport` seam lets tests stand in for the WorkOS SDK without env
|
|
15
|
+
* config or live HTTP. Production callers use `defaultPkceTransport()`.
|
|
16
|
+
*/
|
|
17
|
+
/** Shape we need from the WorkOS SDK. Narrowed so the seam is small. */
|
|
18
|
+
export interface PkceTransport {
|
|
19
|
+
getAuthorizationUrlWithPKCE(input: {
|
|
20
|
+
provider: "authkit";
|
|
21
|
+
redirectUri: string;
|
|
22
|
+
clientId: string;
|
|
23
|
+
loginHint?: string;
|
|
24
|
+
}): Promise<{
|
|
25
|
+
url: string;
|
|
26
|
+
state: string;
|
|
27
|
+
codeVerifier: string;
|
|
28
|
+
}>;
|
|
29
|
+
authenticateWithCode(input: {
|
|
30
|
+
code: string;
|
|
31
|
+
codeVerifier: string;
|
|
32
|
+
clientId: string;
|
|
33
|
+
}): Promise<AuthenticationResult>;
|
|
34
|
+
}
|
|
35
|
+
/** Minimum AuthenticationResponse fields we care about. */
|
|
36
|
+
export interface AuthenticationResult {
|
|
37
|
+
user: {
|
|
38
|
+
id: string;
|
|
39
|
+
email: string;
|
|
40
|
+
firstName?: string | null;
|
|
41
|
+
lastName?: string | null;
|
|
42
|
+
};
|
|
43
|
+
accessToken: string;
|
|
44
|
+
refreshToken: string;
|
|
45
|
+
}
|
|
46
|
+
export interface PkceFlowOptions {
|
|
47
|
+
/** Loopback host to bind. Default 127.0.0.1. */
|
|
48
|
+
callbackHost?: string;
|
|
49
|
+
/** Loopback port to bind. Default 0 (OS-assigned). */
|
|
50
|
+
callbackPort?: number;
|
|
51
|
+
/** Open the user's browser automatically. Default true. */
|
|
52
|
+
autoOpenBrowser?: boolean;
|
|
53
|
+
/** Prefill the AuthKit email field. */
|
|
54
|
+
loginHint?: string;
|
|
55
|
+
/** Hard timeout waiting for callback. Default 5 min. */
|
|
56
|
+
timeoutMs?: number;
|
|
57
|
+
/** Test hook fired after authorize URL is built. Receives `(url, redirectUri)`. */
|
|
58
|
+
onAuthorizeUrl?: (url: string, redirectUri: string) => Promise<void> | void;
|
|
59
|
+
}
|
|
60
|
+
export declare class AuthFlowError extends Error {
|
|
61
|
+
constructor(message: string);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Default transport — proxies to the real WorkOS SDK. Lazy-loads the
|
|
65
|
+
* singleton client on first call so importing this module does not require
|
|
66
|
+
* env config.
|
|
67
|
+
*/
|
|
68
|
+
export declare function defaultPkceTransport(): PkceTransport;
|
|
69
|
+
/**
|
|
70
|
+
* Run the full PKCE flow end-to-end. Returns the WorkOS tokens + user.
|
|
71
|
+
* Always closes the loopback server before returning, even on error.
|
|
72
|
+
*/
|
|
73
|
+
export declare function runPkceFlow(transport: PkceTransport, options?: PkceFlowOptions): Promise<AuthenticationResult>;
|