@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,154 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const ActionValueIdPattern: RegExp;
|
|
3
|
+
export declare const ActionValueIdSchema: z.ZodString;
|
|
4
|
+
export declare const OptionalActionValueIdSchema: z.ZodString;
|
|
5
|
+
export declare const BenchmarkCheckActionValueSchema: z.ZodObject<{
|
|
6
|
+
question: z.ZodString;
|
|
7
|
+
answer: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, z.core.$strict>;
|
|
9
|
+
export declare const RequestedArtifactActionValueSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
10
|
+
id: z.ZodOptional<z.ZodString>;
|
|
11
|
+
title: z.ZodString;
|
|
12
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
13
|
+
description: z.ZodOptional<z.ZodString>;
|
|
14
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
15
|
+
label: z.ZodString;
|
|
16
|
+
}, z.core.$strict>]>>>;
|
|
17
|
+
output: z.ZodOptional<z.ZodObject<{
|
|
18
|
+
path: z.ZodOptional<z.ZodString>;
|
|
19
|
+
shape: z.ZodOptional<z.ZodObject<{
|
|
20
|
+
kind: z.ZodLiteral<"path">;
|
|
21
|
+
path: z.ZodString;
|
|
22
|
+
artifact_kind: z.ZodEnum<{
|
|
23
|
+
file: "file";
|
|
24
|
+
directory: "directory";
|
|
25
|
+
}>;
|
|
26
|
+
}, z.core.$strict>>;
|
|
27
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
28
|
+
id: z.ZodString;
|
|
29
|
+
kind: z.ZodEnum<{
|
|
30
|
+
file_exists: "file_exists";
|
|
31
|
+
source_manifest_valid: "source_manifest_valid";
|
|
32
|
+
min_file_count: "min_file_count";
|
|
33
|
+
min_file_count_matches_source: "min_file_count_matches_source";
|
|
34
|
+
source_summary_folders: "source_summary_folders";
|
|
35
|
+
source_page_coverage: "source_page_coverage";
|
|
36
|
+
frontmatter_valid: "frontmatter_valid";
|
|
37
|
+
frontmatter_required_keys: "frontmatter_required_keys";
|
|
38
|
+
frontmatter_nonempty_keys: "frontmatter_nonempty_keys";
|
|
39
|
+
source_refs_required: "source_refs_required";
|
|
40
|
+
wikilinks_valid: "wikilinks_valid";
|
|
41
|
+
must_not_contain: "must_not_contain";
|
|
42
|
+
must_contain: "must_contain";
|
|
43
|
+
qa_match: "qa_match";
|
|
44
|
+
}>;
|
|
45
|
+
description: z.ZodOptional<z.ZodString>;
|
|
46
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
47
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
48
|
+
}, z.core.$strict>>>;
|
|
49
|
+
stage_hint: z.ZodOptional<z.ZodString>;
|
|
50
|
+
}, z.core.$strict>>;
|
|
51
|
+
}, z.core.$strict>>;
|
|
52
|
+
export declare const SourceContextActionValueSchema: z.ZodObject<{
|
|
53
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
54
|
+
items: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
55
|
+
name: z.ZodOptional<z.ZodString>;
|
|
56
|
+
path: z.ZodOptional<z.ZodString>;
|
|
57
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
58
|
+
page_count: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
note: z.ZodOptional<z.ZodString>;
|
|
60
|
+
}, z.core.$strict>>>;
|
|
61
|
+
observations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
62
|
+
limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
63
|
+
}, z.core.$strict>;
|
|
64
|
+
export declare const ProjectSetupActionValuesSchema: z.ZodObject<{
|
|
65
|
+
name: z.ZodString;
|
|
66
|
+
path: z.ZodString;
|
|
67
|
+
build_plan: z.ZodOptional<z.ZodString>;
|
|
68
|
+
build_after_setup: z.ZodOptional<z.ZodBoolean>;
|
|
69
|
+
setup_mode: z.ZodOptional<z.ZodEnum<{
|
|
70
|
+
create: "create";
|
|
71
|
+
"select-build-plan": "select-build-plan";
|
|
72
|
+
}>>;
|
|
73
|
+
}, z.core.$strict>;
|
|
74
|
+
export declare const BuildPlanAuthoringActionValuesSchema: z.ZodObject<{
|
|
75
|
+
build_plan_id: z.ZodOptional<z.ZodString>;
|
|
76
|
+
base_build_plan_id: z.ZodOptional<z.ZodString>;
|
|
77
|
+
reference_build_plan_id: z.ZodOptional<z.ZodString>;
|
|
78
|
+
label: z.ZodOptional<z.ZodString>;
|
|
79
|
+
hint: z.ZodOptional<z.ZodString>;
|
|
80
|
+
intent: z.ZodString;
|
|
81
|
+
requested_artifacts_description: z.ZodOptional<z.ZodString>;
|
|
82
|
+
requested_artifacts: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
83
|
+
id: z.ZodOptional<z.ZodString>;
|
|
84
|
+
title: z.ZodString;
|
|
85
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
86
|
+
description: z.ZodOptional<z.ZodString>;
|
|
87
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
88
|
+
label: z.ZodString;
|
|
89
|
+
}, z.core.$strict>]>>>;
|
|
90
|
+
output: z.ZodOptional<z.ZodObject<{
|
|
91
|
+
path: z.ZodOptional<z.ZodString>;
|
|
92
|
+
shape: z.ZodOptional<z.ZodObject<{
|
|
93
|
+
kind: z.ZodLiteral<"path">;
|
|
94
|
+
path: z.ZodString;
|
|
95
|
+
artifact_kind: z.ZodEnum<{
|
|
96
|
+
file: "file";
|
|
97
|
+
directory: "directory";
|
|
98
|
+
}>;
|
|
99
|
+
}, z.core.$strict>>;
|
|
100
|
+
checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
101
|
+
id: z.ZodString;
|
|
102
|
+
kind: z.ZodEnum<{
|
|
103
|
+
file_exists: "file_exists";
|
|
104
|
+
source_manifest_valid: "source_manifest_valid";
|
|
105
|
+
min_file_count: "min_file_count";
|
|
106
|
+
min_file_count_matches_source: "min_file_count_matches_source";
|
|
107
|
+
source_summary_folders: "source_summary_folders";
|
|
108
|
+
source_page_coverage: "source_page_coverage";
|
|
109
|
+
frontmatter_valid: "frontmatter_valid";
|
|
110
|
+
frontmatter_required_keys: "frontmatter_required_keys";
|
|
111
|
+
frontmatter_nonempty_keys: "frontmatter_nonempty_keys";
|
|
112
|
+
source_refs_required: "source_refs_required";
|
|
113
|
+
wikilinks_valid: "wikilinks_valid";
|
|
114
|
+
must_not_contain: "must_not_contain";
|
|
115
|
+
must_contain: "must_contain";
|
|
116
|
+
qa_match: "qa_match";
|
|
117
|
+
}>;
|
|
118
|
+
description: z.ZodOptional<z.ZodString>;
|
|
119
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
120
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
121
|
+
}, z.core.$strict>>>;
|
|
122
|
+
stage_hint: z.ZodOptional<z.ZodString>;
|
|
123
|
+
}, z.core.$strict>>;
|
|
124
|
+
}, z.core.$strict>>>>;
|
|
125
|
+
checks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
126
|
+
id: z.ZodOptional<z.ZodString>;
|
|
127
|
+
label: z.ZodString;
|
|
128
|
+
description: z.ZodOptional<z.ZodString>;
|
|
129
|
+
evidence: z.ZodOptional<z.ZodString>;
|
|
130
|
+
evidence_expectation: z.ZodOptional<z.ZodString>;
|
|
131
|
+
backed_by_artifact_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
132
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
133
|
+
}, z.core.$strict>>>;
|
|
134
|
+
user_prep_instructions: z.ZodOptional<z.ZodString>;
|
|
135
|
+
source_context: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
136
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
137
|
+
items: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
138
|
+
name: z.ZodOptional<z.ZodString>;
|
|
139
|
+
path: z.ZodOptional<z.ZodString>;
|
|
140
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
141
|
+
page_count: z.ZodOptional<z.ZodNumber>;
|
|
142
|
+
note: z.ZodOptional<z.ZodString>;
|
|
143
|
+
}, z.core.$strict>>>;
|
|
144
|
+
observations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
145
|
+
limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
146
|
+
}, z.core.$strict>>>;
|
|
147
|
+
}, z.core.$strict>;
|
|
148
|
+
export type ProjectSetupActionValues = z.infer<typeof ProjectSetupActionValuesSchema>;
|
|
149
|
+
export type BuildPlanAuthoringActionValues = z.infer<typeof BuildPlanAuthoringActionValuesSchema>;
|
|
150
|
+
export type BenchmarkCheckActionValue = z.infer<typeof BenchmarkCheckActionValueSchema>;
|
|
151
|
+
export declare const requiredActionText: (field: string) => z.ZodString;
|
|
152
|
+
export declare const optionalActionText: z.ZodString;
|
|
153
|
+
export declare const actionIdField: (field: string) => z.ZodString;
|
|
154
|
+
export declare const optionalActionIdField: (field: string) => z.ZodString;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BuildPlanContextCheckDraftSchema, RequestedArtifactSchema, SourceContextSchema, } from "../../build-plans/authoring/brief.js";
|
|
3
|
+
export const ActionValueIdPattern = /^[a-z0-9][a-z0-9-]{0,79}$/;
|
|
4
|
+
export const ActionValueIdSchema = z.string().trim().regex(ActionValueIdPattern, "Use lowercase letters, numbers, and dashes.");
|
|
5
|
+
export const OptionalActionValueIdSchema = z.string().trim().refine((value) => value === "" || ActionValueIdPattern.test(value), "Use lowercase letters, numbers, and dashes.");
|
|
6
|
+
export const BenchmarkCheckActionValueSchema = z.object({
|
|
7
|
+
question: z.string().trim().min(1),
|
|
8
|
+
answer: z.string().trim().optional(),
|
|
9
|
+
}).strict();
|
|
10
|
+
export const RequestedArtifactActionValueSchema = RequestedArtifactSchema;
|
|
11
|
+
export const SourceContextActionValueSchema = SourceContextSchema;
|
|
12
|
+
export const ProjectSetupActionValuesSchema = z.object({
|
|
13
|
+
name: ActionValueIdSchema,
|
|
14
|
+
path: z.string().trim().min(1, "Source is required."),
|
|
15
|
+
build_plan: OptionalActionValueIdSchema.optional(),
|
|
16
|
+
build_after_setup: z.boolean().optional(),
|
|
17
|
+
setup_mode: z.enum(["create", "select-build-plan"]).optional(),
|
|
18
|
+
}).strict();
|
|
19
|
+
export const BuildPlanAuthoringActionValuesSchema = z.object({
|
|
20
|
+
build_plan_id: ActionValueIdSchema.optional(),
|
|
21
|
+
base_build_plan_id: ActionValueIdSchema.optional(),
|
|
22
|
+
reference_build_plan_id: ActionValueIdSchema.optional(),
|
|
23
|
+
label: z.string().trim().optional(),
|
|
24
|
+
hint: z.string().trim().optional(),
|
|
25
|
+
intent: z.string().trim().min(1, "Intent is required."),
|
|
26
|
+
requested_artifacts_description: z.string().trim().optional(),
|
|
27
|
+
requested_artifacts: z.array(RequestedArtifactActionValueSchema).optional(),
|
|
28
|
+
checks: z.array(BuildPlanContextCheckDraftSchema).optional(),
|
|
29
|
+
user_prep_instructions: z.string().trim().optional(),
|
|
30
|
+
source_context: SourceContextActionValueSchema.nullable().optional(),
|
|
31
|
+
}).strict();
|
|
32
|
+
// ── Internal zod helpers used to compose form input validation schemas ──
|
|
33
|
+
export const requiredActionText = (field) => z.string().trim().min(1, `${field} is required.`);
|
|
34
|
+
export const optionalActionText = z.string().trim();
|
|
35
|
+
export const actionIdField = (field) => requiredActionText(field).regex(ActionValueIdPattern, `${field} must use lowercase letters, numbers, and dashes.`);
|
|
36
|
+
export const optionalActionIdField = (field) => optionalActionText.refine((value) => value === "" || ActionValueIdPattern.test(value), `${field} must use lowercase letters, numbers, and dashes.`);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { InterfMcpHandoff, InterfMcpServer } from "./schemas/index.js";
|
|
2
|
+
export interface InterfMcpHandoffInput {
|
|
3
|
+
serviceUrl: string;
|
|
4
|
+
authToken: string | null;
|
|
5
|
+
skillPath: string;
|
|
6
|
+
mcpCommand?: string;
|
|
7
|
+
mcpArgs?: string[];
|
|
8
|
+
}
|
|
9
|
+
export declare function buildInterfMcpServers(input: InterfMcpHandoffInput): InterfMcpServer[];
|
|
10
|
+
export declare function buildInterfMcpInstructions(input: InterfMcpHandoffInput): string;
|
|
11
|
+
export declare function buildInterfMcpHandoff(input: InterfMcpHandoffInput): InterfMcpHandoff;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export function buildInterfMcpServers(input) {
|
|
2
|
+
const httpConfig = {
|
|
3
|
+
url: input.serviceUrl,
|
|
4
|
+
auth_token: input.authToken,
|
|
5
|
+
};
|
|
6
|
+
const mcpServers = [];
|
|
7
|
+
if (input.mcpCommand) {
|
|
8
|
+
mcpServers.push({
|
|
9
|
+
kind: "mcp-stdio",
|
|
10
|
+
label: "Interf MCP",
|
|
11
|
+
command: input.mcpCommand,
|
|
12
|
+
args: input.mcpArgs ?? [],
|
|
13
|
+
instructions: "Use this with Claude Desktop, Cursor, or another local MCP host while Interf.app is open.",
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
mcpServers.push({
|
|
17
|
+
kind: "skill",
|
|
18
|
+
label: "Interf Skill",
|
|
19
|
+
path: input.skillPath,
|
|
20
|
+
instructions: "Fallback only when the agent host cannot use local MCP.",
|
|
21
|
+
}, {
|
|
22
|
+
kind: "http",
|
|
23
|
+
label: "Developer HTTP fallback",
|
|
24
|
+
config: httpConfig,
|
|
25
|
+
instructions: "Developer fallback for local tools that can call the app-owned service with a bearer token.",
|
|
26
|
+
});
|
|
27
|
+
return mcpServers;
|
|
28
|
+
}
|
|
29
|
+
export function buildInterfMcpInstructions(input) {
|
|
30
|
+
const connection = {
|
|
31
|
+
url: input.serviceUrl,
|
|
32
|
+
auth_token: input.authToken,
|
|
33
|
+
};
|
|
34
|
+
const mcpConfig = input.mcpCommand
|
|
35
|
+
? {
|
|
36
|
+
mcpServers: {
|
|
37
|
+
interf: {
|
|
38
|
+
command: input.mcpCommand,
|
|
39
|
+
args: input.mcpArgs ?? [],
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
}
|
|
43
|
+
: null;
|
|
44
|
+
return [
|
|
45
|
+
"Use Interf when this user's agent needs to prepare local files before answering. Source files stay local and read-only.",
|
|
46
|
+
"Interf is not a search engine and not a general RAG index. MCP is for creating or inspecting task-specific Context Graphs for the user's current Source.",
|
|
47
|
+
"Interf MCP lets a host such as Claude Desktop or Cursor talk to Interf. Agents listed inside Interf are executors that run Build Plan stages. Do not mix these concepts.",
|
|
48
|
+
"",
|
|
49
|
+
"MCP setup:",
|
|
50
|
+
"Interf MCP. Keep Interf.app open; the MCP process talks to the app-owned local service and must not start a separate Interf runtime.",
|
|
51
|
+
...(mcpConfig
|
|
52
|
+
? [
|
|
53
|
+
"",
|
|
54
|
+
"Claude Desktop / local MCP config:",
|
|
55
|
+
"```json",
|
|
56
|
+
JSON.stringify(mcpConfig, null, 2),
|
|
57
|
+
"```",
|
|
58
|
+
]
|
|
59
|
+
: []),
|
|
60
|
+
"",
|
|
61
|
+
"Fallbacks:",
|
|
62
|
+
`- Skill fallback, only when local MCP is unavailable: ${input.skillPath}`,
|
|
63
|
+
"- Developer HTTP fallback, only for local tools that can call the app-owned service:",
|
|
64
|
+
"```json",
|
|
65
|
+
JSON.stringify(connection, null, 2),
|
|
66
|
+
"```",
|
|
67
|
+
"",
|
|
68
|
+
"Rules:",
|
|
69
|
+
"- Default flow: identify the current Source, create a fresh Project for this session unless the user explicitly names an existing Project id, propose Context Checks and requested Artifacts, draft a Build Plan after the user approves those checks and Artifacts, stop for Build Plan approval, build only after that approval, then answer from the prepared Context Graph and traces.",
|
|
70
|
+
"- Source scope default: when Interf Desktop, MCP, or the user context provides a Source locator or file set, use the whole Source. Do not ask the user to choose individual files or a subset unless they explicitly ask to narrow scope.",
|
|
71
|
+
"- Do not browse existing Projects as a corpus. Reuse an existing Context Graph only when it clearly matches the same Source and task.",
|
|
72
|
+
"- If no Project matches the current Source, create a new Project for this session.",
|
|
73
|
+
"- If no usable Source locator is available, ask for one Source locator instead of answering from unrelated Projects. In the local Desktop path this may be a folder path. Do not present a file-selection menu.",
|
|
74
|
+
`- Probe only discovery resources before authorization: ${input.serviceUrl}/health, ${input.serviceUrl}/v1, ${input.serviceUrl}/v1/instance, or ${input.serviceUrl}/v1/openapi.json`,
|
|
75
|
+
"- Do not scan ports.",
|
|
76
|
+
"- Send `Authorization: Bearer <auth_token>` on every protected `/v1` request. `/health`, `/v1`, `/v1/instance`, and `/v1/openapi.json` are discovery routes.",
|
|
77
|
+
"- Do not install npm or npx packages for the Desktop flow.",
|
|
78
|
+
"- Do not use a global `interf` CLI for the Desktop MCP flow when the app-backed MCP launcher is available.",
|
|
79
|
+
"- Project creation is allowed when the user asks Interf to use a Source. Project ids are generated internally. Do not ask for existing Project ids.",
|
|
80
|
+
"- Ask before drafting Build Plans or starting Build runs unless the user grants autonomy.",
|
|
81
|
+
"- No automatic retries: if a Build Plan draft, Build Plan improvement, Build run, or status poll reaches failed/cancelled, report what failed and ask the user before starting another run.",
|
|
82
|
+
].join("\n");
|
|
83
|
+
}
|
|
84
|
+
export function buildInterfMcpHandoff(input) {
|
|
85
|
+
const connection = {
|
|
86
|
+
url: input.serviceUrl,
|
|
87
|
+
auth_token: input.authToken,
|
|
88
|
+
};
|
|
89
|
+
return {
|
|
90
|
+
kind: "interf-mcp-handoff",
|
|
91
|
+
version: 1,
|
|
92
|
+
service_url: input.serviceUrl,
|
|
93
|
+
discovery_url: `${input.serviceUrl}/health`,
|
|
94
|
+
auth_required: Boolean(input.authToken),
|
|
95
|
+
auth_token: input.authToken,
|
|
96
|
+
skill_path: input.skillPath,
|
|
97
|
+
connection_json: connection,
|
|
98
|
+
mcp_servers: buildInterfMcpServers(input),
|
|
99
|
+
instructions: buildInterfMcpInstructions(input),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
@@ -11,9 +11,8 @@ export * as types from "./lib/types.js";
|
|
|
11
11
|
export * as agents from "./lib/agents.js";
|
|
12
12
|
export * as executionProfile from "./lib/execution-profile.js";
|
|
13
13
|
export * as executors from "./lib/executors.js";
|
|
14
|
-
export * as schema from "./lib/schema.js";
|
|
15
14
|
export * as userConfig from "./lib/user-config.js";
|
|
16
|
-
export * as
|
|
15
|
+
export * as contextGraphBootstrap from "./lib/context-graph-bootstrap.js";
|
|
17
16
|
export * as registry from "./registry.js";
|
|
18
17
|
export * as roleRouter from "./role-router.js";
|
|
19
18
|
export * as roleExecutors from "./role-executors.js";
|
|
@@ -11,9 +11,8 @@ export * as types from "./lib/types.js";
|
|
|
11
11
|
export * as agents from "./lib/agents.js";
|
|
12
12
|
export * as executionProfile from "./lib/execution-profile.js";
|
|
13
13
|
export * as executors from "./lib/executors.js";
|
|
14
|
-
export * as schema from "./lib/schema.js";
|
|
15
14
|
export * as userConfig from "./lib/user-config.js";
|
|
16
|
-
export * as
|
|
15
|
+
export * as contextGraphBootstrap from "./lib/context-graph-bootstrap.js";
|
|
17
16
|
export * as registry from "./registry.js";
|
|
18
17
|
export * as roleRouter from "./role-router.js";
|
|
19
18
|
export * as roleExecutors from "./role-executors.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentExecutionProfile } from "./executors.js";
|
|
2
|
+
import type { Agent } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Build the spawn env for an agent. Delegates to the provider's
|
|
5
|
+
* `buildEnv` so per-agent quirks (e.g. Codex stripping `SHELL`) live
|
|
6
|
+
* with the provider, not here.
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildAgentEnv(agent: Agent, baseEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
9
|
+
/**
|
|
10
|
+
* Build the spawn args for an agent. Delegates to the provider's
|
|
11
|
+
* `buildArgs`. Throws when the agent is not driveable for automated
|
|
12
|
+
* Build runs (e.g. Cursor today, or any unknown user-registered name).
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildAgentArgs(agent: Agent, prompt: string, executionProfile?: AgentExecutionProfile): string[];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getBuiltInProvider } from "../providers/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Build the spawn env for an agent. Delegates to the provider's
|
|
4
|
+
* `buildEnv` so per-agent quirks (e.g. Codex stripping `SHELL`) live
|
|
5
|
+
* with the provider, not here.
|
|
6
|
+
*/
|
|
7
|
+
export function buildAgentEnv(agent, baseEnv = process.env) {
|
|
8
|
+
const provider = getBuiltInProvider(agent.name);
|
|
9
|
+
if (provider)
|
|
10
|
+
return provider.buildEnv(baseEnv);
|
|
11
|
+
return { ...baseEnv };
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Build the spawn args for an agent. Delegates to the provider's
|
|
15
|
+
* `buildArgs`. Throws when the agent is not driveable for automated
|
|
16
|
+
* Build runs (e.g. Cursor today, or any unknown user-registered name).
|
|
17
|
+
*/
|
|
18
|
+
export function buildAgentArgs(agent, prompt, executionProfile = {}) {
|
|
19
|
+
const provider = getBuiltInProvider(agent.name);
|
|
20
|
+
if (!provider) {
|
|
21
|
+
throw new Error(`Agent "${agent.displayName}" is not yet supported for automated Build runs.`);
|
|
22
|
+
}
|
|
23
|
+
return provider.buildArgs(prompt, executionProfile);
|
|
24
|
+
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { Agent } from "./types.js";
|
|
2
2
|
export declare const SHOW_AGENT_TOOL_EVENTS: boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Built-in agents Interf knows about. Derived from the provider registry —
|
|
5
|
+
* keep new entries in `../providers/index.ts`, not here.
|
|
6
|
+
*/
|
|
3
7
|
export declare const AGENTS: Agent[];
|
|
4
|
-
export declare const CODEX_NOISE_PATTERNS: RegExp[];
|
|
5
8
|
export declare const VISIBLE_STATUS_PREFIXES: string[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BUILT_IN_PROVIDERS } from "../providers/index.js";
|
|
2
|
+
export const SHOW_AGENT_TOOL_EVENTS = process.env.INTERF_DEBUG_AGENT_TOOLS === "1";
|
|
3
|
+
/**
|
|
4
|
+
* Built-in agents Interf knows about. Derived from the provider registry —
|
|
5
|
+
* keep new entries in `../providers/index.ts`, not here.
|
|
6
|
+
*/
|
|
7
|
+
export const AGENTS = BUILT_IN_PROVIDERS.map((provider) => ({
|
|
8
|
+
name: provider.name,
|
|
9
|
+
displayName: provider.displayName,
|
|
10
|
+
skillsDir: provider.skillsDir,
|
|
11
|
+
command: provider.command,
|
|
12
|
+
}));
|
|
13
|
+
export const VISIBLE_STATUS_PREFIXES = ["STATUS:", "DONE:", "BLOCKED:", "ERROR:"];
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { basename } from "node:path";
|
|
2
|
-
import { readInterfConfig } from "../../../
|
|
2
|
+
import { readInterfConfig } from "../../../projects/interf-detect.js";
|
|
3
3
|
import { resolveBuildPlanId } from "../../../build-plans/build-plan-resolution.js";
|
|
4
|
-
import {
|
|
4
|
+
import { projectContextGraphQueryShell, renderClaudeBootstrap } from "./shells.js";
|
|
5
5
|
export { renderClaudeBootstrap };
|
|
6
|
-
export function
|
|
6
|
+
export function refreshContextGraphBootstrapGuidance(dirPath) {
|
|
7
7
|
const config = readInterfConfig(dirPath);
|
|
8
8
|
if (!config)
|
|
9
9
|
return false;
|
|
10
|
-
const
|
|
10
|
+
const contextGraphName = config.name ?? basename(dirPath);
|
|
11
11
|
const buildPlanId = resolveBuildPlanId(config);
|
|
12
12
|
const buildPlanOriginSelected = config.build_plan_origin?.selected ?? buildPlanId;
|
|
13
13
|
const buildPlanLocalDraft = config.build_plan_origin?.local_draft === true;
|
|
14
|
-
|
|
15
|
-
return projectVerifiableContextQueryShell(dirPath, verifiableContextName, buildPlanId, about, {
|
|
14
|
+
return projectContextGraphQueryShell(dirPath, contextGraphName, buildPlanId, {
|
|
16
15
|
buildPlanOriginSelected,
|
|
17
16
|
buildPlanLocalDraft,
|
|
18
17
|
});
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { Agent } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Detect built-in agents present on this machine. An agent is "detected"
|
|
4
|
+
* when its provider's home dir exists. Command-on-PATH is a runtime
|
|
5
|
+
* concern checked separately.
|
|
6
|
+
*/
|
|
2
7
|
export declare function detectAgents(): Agent[];
|
|
3
8
|
/**
|
|
4
9
|
* Whether the executable named in an agent's `command` field resolves on
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import { execFileSync } from "node:child_process";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import { join } from "node:path";
|
|
5
3
|
import { loadUserConfig } from "./user-config.js";
|
|
6
4
|
import { AGENTS } from "./constants.js";
|
|
5
|
+
import { BUILT_IN_PROVIDERS, getBuiltInProvider } from "../providers/index.js";
|
|
6
|
+
/**
|
|
7
|
+
* Detect built-in agents present on this machine. An agent is "detected"
|
|
8
|
+
* when its provider's home dir exists. Command-on-PATH is a runtime
|
|
9
|
+
* concern checked separately.
|
|
10
|
+
*/
|
|
7
11
|
export function detectAgents() {
|
|
8
|
-
return
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
return BUILT_IN_PROVIDERS
|
|
13
|
+
.filter((provider) => existsSync(provider.homeDir))
|
|
14
|
+
.map((provider) => ({
|
|
15
|
+
name: provider.name,
|
|
16
|
+
displayName: provider.displayName,
|
|
17
|
+
skillsDir: provider.skillsDir,
|
|
18
|
+
command: provider.command,
|
|
19
|
+
}));
|
|
12
20
|
}
|
|
13
21
|
function commandExists(command) {
|
|
14
22
|
try {
|
|
@@ -31,7 +39,8 @@ export function agentCommandAvailable(command) {
|
|
|
31
39
|
return commandExists(firstToken);
|
|
32
40
|
}
|
|
33
41
|
export function supportsAutomatedRuns(agent) {
|
|
34
|
-
|
|
42
|
+
const provider = getBuiltInProvider(agent.name);
|
|
43
|
+
return Boolean(provider?.supportsAutomatedRuns);
|
|
35
44
|
}
|
|
36
45
|
export function resolveAgent() {
|
|
37
46
|
const config = loadUserConfig();
|
|
@@ -1,14 +1,5 @@
|
|
|
1
|
+
import { getBuiltInProvider } from "../providers/index.js";
|
|
1
2
|
const INTERNAL_ACCEPTANCE_TIMEOUT_MS = 480000;
|
|
2
|
-
const INTERNAL_ACCEPTANCE_DEFAULTS = {
|
|
3
|
-
"claude-code": {
|
|
4
|
-
model: "claude-sonnet-4-6",
|
|
5
|
-
effort: "low",
|
|
6
|
-
},
|
|
7
|
-
codex: {
|
|
8
|
-
model: "gpt-5.3-codex",
|
|
9
|
-
effort: "high",
|
|
10
|
-
},
|
|
11
|
-
};
|
|
12
3
|
function readAgentName(agent) {
|
|
13
4
|
if (!agent)
|
|
14
5
|
return null;
|
|
@@ -57,14 +48,17 @@ export function executionProfileFromArgv(argv) {
|
|
|
57
48
|
};
|
|
58
49
|
}
|
|
59
50
|
export function applyInternalAcceptanceExecutionProfileDefaults(agent, overrides = {}) {
|
|
60
|
-
const
|
|
51
|
+
const provider = getBuiltInProvider(readAgentName(agent) ?? "");
|
|
52
|
+
const defaultModel = provider?.defaultModel ?? null;
|
|
53
|
+
const defaultEffort = provider?.defaultEffort ?? null;
|
|
61
54
|
const profile = overrides.profile ?? null;
|
|
62
55
|
const explicitEffort = overrides.effort ?? null;
|
|
56
|
+
const hasDefaults = Boolean(provider && (defaultModel || defaultEffort));
|
|
63
57
|
return {
|
|
64
|
-
model: overrides.model ??
|
|
58
|
+
model: overrides.model ?? defaultModel ?? null,
|
|
65
59
|
profile,
|
|
66
|
-
effort: explicitEffort ?? (profile ? null :
|
|
67
|
-
timeoutMs: overrides.timeoutMs ?? (
|
|
60
|
+
effort: explicitEffort ?? (profile ? null : defaultEffort ?? null),
|
|
61
|
+
timeoutMs: overrides.timeoutMs ?? (hasDefaults ? INTERNAL_ACCEPTANCE_TIMEOUT_MS : null),
|
|
68
62
|
};
|
|
69
63
|
}
|
|
70
64
|
export function hasAgentExecutionProfile(profile) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import chalk from "chalk";
|
|
3
|
-
import {
|
|
3
|
+
import { getBuiltInProvider } from "../providers/index.js";
|
|
4
|
+
import { loadAgentPrefs } from "../registry.js";
|
|
4
5
|
import { buildAgentArgs, buildAgentEnv } from "./args.js";
|
|
5
6
|
import { appendAgentEventLog, appendAgentStatusLog } from "./logs.js";
|
|
6
7
|
import { displayAgentEvent, emitVisibleAgentText, summarizeAgentToolActivity, } from "./render.js";
|
|
@@ -8,7 +9,14 @@ import { classifyTerminalVisibleStatus, extractAgentFailureStatus, hasAgentStall
|
|
|
8
9
|
const STOP_SIGNAL_GRACE_MS = 1500;
|
|
9
10
|
export function spawnAgent(agent, dirPath, prompt, options = {}) {
|
|
10
11
|
return new Promise((resolve) => {
|
|
11
|
-
const
|
|
12
|
+
const noiseFilters = getBuiltInProvider(agent.name)?.noiseFilters ?? [];
|
|
13
|
+
const prefs = loadAgentPrefs()[agent.name];
|
|
14
|
+
const mergedProfile = {
|
|
15
|
+
...options.executionProfile,
|
|
16
|
+
model: options.executionProfile?.model ?? prefs?.model ?? null,
|
|
17
|
+
effort: options.executionProfile?.effort ?? prefs?.effort ?? null,
|
|
18
|
+
};
|
|
19
|
+
const args = buildAgentArgs(agent, prompt, mergedProfile);
|
|
12
20
|
appendAgentEventLog(options.eventLogPath, {
|
|
13
21
|
type: "spawn",
|
|
14
22
|
command: agent.command,
|
|
@@ -19,9 +27,11 @@ export function spawnAgent(agent, dirPath, prompt, options = {}) {
|
|
|
19
27
|
console.log(chalk.dim(` ${launchLine}`));
|
|
20
28
|
appendAgentStatusLog(options.statusLogPath, launchLine);
|
|
21
29
|
options.onStatus?.(launchLine);
|
|
30
|
+
const baseEnv = buildAgentEnv(agent);
|
|
31
|
+
const env = prefs?.env_vars ? { ...baseEnv, ...prefs.env_vars } : baseEnv;
|
|
22
32
|
const proc = spawn(agent.command, args, {
|
|
23
33
|
cwd: dirPath,
|
|
24
|
-
env
|
|
34
|
+
env,
|
|
25
35
|
stdio: ["ignore", "pipe", "pipe"],
|
|
26
36
|
});
|
|
27
37
|
const timeoutMs = options.executionProfile?.timeoutMs ?? null;
|
|
@@ -202,7 +212,7 @@ export function spawnAgent(agent, dirPath, prompt, options = {}) {
|
|
|
202
212
|
type: "stderr",
|
|
203
213
|
line,
|
|
204
214
|
});
|
|
205
|
-
if (
|
|
215
|
+
if (noiseFilters.some((pattern) => pattern.test(line)))
|
|
206
216
|
continue;
|
|
207
217
|
sawRawOutput = true;
|
|
208
218
|
lastVisibleOutputAt = Date.now();
|
|
@@ -2,7 +2,8 @@ import { mkdtempSync, rmSync } from "node:fs";
|
|
|
2
2
|
import { spawnSync } from "node:child_process";
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
|
-
import {
|
|
5
|
+
import { getBuiltInProvider } from "../providers/index.js";
|
|
6
|
+
import { loadAgentPrefs } from "../registry.js";
|
|
6
7
|
import { buildAgentArgs, buildAgentEnv } from "./args.js";
|
|
7
8
|
const successfulPreflightAgents = new Set();
|
|
8
9
|
export function buildAgentPreflightPrompt() {
|
|
@@ -19,15 +20,18 @@ export function runAgentPreflight(agent, options = {}) {
|
|
|
19
20
|
const spawnSyncImpl = options.spawnSyncImpl ?? spawnSync;
|
|
20
21
|
const dirPath = mkdtempSync(join(tmpdir(), "interf-doctor-"));
|
|
21
22
|
try {
|
|
23
|
+
const prefs = loadAgentPrefs()[agent.name];
|
|
24
|
+
const baseEnv = buildAgentEnv(agent);
|
|
25
|
+
const env = prefs?.env_vars ? { ...baseEnv, ...prefs.env_vars } : baseEnv;
|
|
22
26
|
const result = spawnSyncImpl(agent.command, buildAgentArgs(agent, buildAgentPreflightPrompt()), {
|
|
23
27
|
cwd: dirPath,
|
|
24
28
|
encoding: "utf8",
|
|
25
|
-
env
|
|
29
|
+
env,
|
|
26
30
|
input: "",
|
|
27
31
|
timeout: timeoutMs,
|
|
28
32
|
});
|
|
29
33
|
const stdout = typeof result.stdout === "string" ? result.stdout.trim() : "";
|
|
30
|
-
const stderr = sanitizeAgentStderr(typeof result.stderr === "string" ? result.stderr : "");
|
|
34
|
+
const stderr = sanitizeAgentStderr(agent, typeof result.stderr === "string" ? result.stderr : "");
|
|
31
35
|
const timedOut = result.error?.name === "Error" && result.error.message.includes("timed out");
|
|
32
36
|
if (result.error) {
|
|
33
37
|
return {
|
|
@@ -65,7 +69,7 @@ export function ensureAgentAutomatedRunReady(agent, options = {}) {
|
|
|
65
69
|
successfulPreflightAgents.add(agent.name);
|
|
66
70
|
return { ok: true };
|
|
67
71
|
}
|
|
68
|
-
if (!
|
|
72
|
+
if (!isTransientPreflightFailure(agent, result) || attempt === 3) {
|
|
69
73
|
break;
|
|
70
74
|
}
|
|
71
75
|
sleepSync(retryDelayMs * attempt);
|
|
@@ -76,22 +80,20 @@ export function ensureAgentAutomatedRunReady(agent, options = {}) {
|
|
|
76
80
|
error: `${agent.displayName} failed Interf executor preflight. Run \`interf doctor --live\` for details.${details ? ` ${details}` : ""}`,
|
|
77
81
|
};
|
|
78
82
|
}
|
|
79
|
-
function sanitizeAgentStderr(stderr) {
|
|
83
|
+
function sanitizeAgentStderr(agent, stderr) {
|
|
84
|
+
const filters = getBuiltInProvider(agent.name)?.noiseFilters ?? [];
|
|
80
85
|
return stderr
|
|
81
86
|
.split("\n")
|
|
82
87
|
.filter((line) => line.trim().length > 0)
|
|
83
|
-
.filter((line) => !
|
|
88
|
+
.filter((line) => !filters.some((pattern) => pattern.test(line)))
|
|
84
89
|
.join("\n")
|
|
85
90
|
.trim();
|
|
86
91
|
}
|
|
87
|
-
function
|
|
88
|
-
|
|
92
|
+
function isTransientPreflightFailure(agent, result) {
|
|
93
|
+
const provider = getBuiltInProvider(agent.name);
|
|
94
|
+
if (!provider?.isTransientPreflightFailure)
|
|
89
95
|
return false;
|
|
90
|
-
|
|
91
|
-
if (/usage limit/i.test(text))
|
|
92
|
-
return false;
|
|
93
|
-
return /failed to record rollout items/i.test(text) ||
|
|
94
|
-
/thread\s+[0-9a-f-]+\s+not found/i.test(text);
|
|
96
|
+
return provider.isTransientPreflightFailure(result.stderr ?? "", result.error ?? "");
|
|
95
97
|
}
|
|
96
98
|
function sleepSync(ms) {
|
|
97
99
|
if (ms <= 0)
|