@interf/compiler 0.22.0 → 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 +268 -0
- 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 +40 -30
- 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/_qJKnA0dammQ306MG_zMq/_buildManifest.js +0 -11
- package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_clientMiddlewareManifest.js +0 -1
- package/dist/interf-ui/_next/static/_qJKnA0dammQ306MG_zMq/_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,619 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BuildPlanAuthoringActionValuesSchema, ProjectSetupActionValuesSchema, optionalActionText, requiredActionText, } from "./schemas.js";
|
|
3
|
+
import { INTERF_SERVICE_ACTIONS } from "./registry.js";
|
|
4
|
+
import { packageSchemaFieldErrors } from "./errors.js";
|
|
5
|
+
import { buildPlanChoiceOptions, buildPlanIntentFromInput, inputValue, maybeActionValue, titleFromActionId, uniqueActionId, } from "./helpers.js";
|
|
6
|
+
import { buildPlanAuthoringSchema, buildPlanChangeSchema, createProjectSchema, prepareRunSchema, projectChangeSchema, selectBuildPlanSchema, } from "./form-validators.js";
|
|
7
|
+
import { buildPlanAuthoringActionValues, buildPlanChangeActionValues, createProjectActionValues, duplicateProjectActionValues, normalizedBuildPlanActionValues, projectChangeActionValues, selectBuildPlanActionValues, } from "./requests.js";
|
|
8
|
+
export function buildCreateProjectActionDefinition(context) {
|
|
9
|
+
const existingNames = new Set(context.existingNames);
|
|
10
|
+
const name = uniqueActionId(context.suggestedName, existingNames);
|
|
11
|
+
return {
|
|
12
|
+
id: INTERF_SERVICE_ACTIONS.createProject.id,
|
|
13
|
+
title: INTERF_SERVICE_ACTIONS.createProject.title,
|
|
14
|
+
description: "Create a Project by binding a Source. Draft or select a Build Plan after the Project exists.",
|
|
15
|
+
submitLabel: "Create Project",
|
|
16
|
+
initialValues: {
|
|
17
|
+
name,
|
|
18
|
+
path: context.projectDataDir,
|
|
19
|
+
},
|
|
20
|
+
schema: createProjectSchema(existingNames),
|
|
21
|
+
validateRequest: (values) => packageSchemaFieldErrors(ProjectSetupActionValuesSchema.safeParse(createProjectActionValues(values)), {
|
|
22
|
+
name: "name",
|
|
23
|
+
path: "path",
|
|
24
|
+
build_plan: "build_plan",
|
|
25
|
+
}),
|
|
26
|
+
valuesPreview: createProjectActionValues,
|
|
27
|
+
buildDraft: (values) => {
|
|
28
|
+
const actionValues = createProjectActionValues(values);
|
|
29
|
+
return {
|
|
30
|
+
project: inputValue(values, "name"),
|
|
31
|
+
values: actionValues,
|
|
32
|
+
message: [
|
|
33
|
+
`Create Project ${inputValue(values, "name")}.`,
|
|
34
|
+
`Source: ${inputValue(values, "path")}`,
|
|
35
|
+
"Draft or select the Build Plan after this Project exists. Do not build yet.",
|
|
36
|
+
"Use the attached typed action input as the source of truth.",
|
|
37
|
+
].filter((line) => Boolean(line)).join("\n"),
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
fields: [
|
|
41
|
+
{
|
|
42
|
+
name: "name",
|
|
43
|
+
label: "Project id",
|
|
44
|
+
type: "text",
|
|
45
|
+
help: "Lowercase id for this Project. Use letters, numbers, and dashes.",
|
|
46
|
+
context: "Saved as the durable Project id.",
|
|
47
|
+
placeholder: name,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "path",
|
|
51
|
+
label: "Source",
|
|
52
|
+
type: "text",
|
|
53
|
+
help: "Absolute path to the folder Interf reads from. Files stay where they are; Interf reads them by reference. You can link this later if you don't have a folder yet.",
|
|
54
|
+
context: "Saved as the Project's Source binding.",
|
|
55
|
+
placeholder: context.projectDataDir || "/Users/you/Documents/your-folder",
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function buildBuildRunActionDefinition(context) {
|
|
61
|
+
return {
|
|
62
|
+
id: INTERF_SERVICE_ACTIONS.buildRun.id,
|
|
63
|
+
title: INTERF_SERVICE_ACTIONS.buildRun.title,
|
|
64
|
+
description: "Build a Context Graph for this Project. Interf will run the saved Build Plan against the Source and record a Run.",
|
|
65
|
+
submitLabel: "Build Context Graph",
|
|
66
|
+
initialValues: {
|
|
67
|
+
project: context.name,
|
|
68
|
+
build_plan: context.buildPlanId,
|
|
69
|
+
source_folder_path: context.sourceFolderPath,
|
|
70
|
+
},
|
|
71
|
+
schema: prepareRunSchema(),
|
|
72
|
+
valuesPreview: (values) => ({
|
|
73
|
+
action_type: INTERF_SERVICE_ACTIONS.buildRun.serviceAction,
|
|
74
|
+
project: inputValue(values, "project"),
|
|
75
|
+
build_plan: inputValue(values, "build_plan"),
|
|
76
|
+
source_folder_path: inputValue(values, "source_folder_path"),
|
|
77
|
+
}),
|
|
78
|
+
buildDraft: (values) => ({
|
|
79
|
+
project: inputValue(values, "project"),
|
|
80
|
+
values: {
|
|
81
|
+
action_type: INTERF_SERVICE_ACTIONS.buildRun.serviceAction,
|
|
82
|
+
project: inputValue(values, "project"),
|
|
83
|
+
},
|
|
84
|
+
message: [
|
|
85
|
+
`Build Context Graph for Project ${inputValue(values, "project")}.`,
|
|
86
|
+
`Build Plan: ${inputValue(values, "build_plan") || "(saved selection)"}.`,
|
|
87
|
+
"Build a Context Graph from the saved Source and requested Artifacts.",
|
|
88
|
+
"Use the attached typed action input as the source of truth.",
|
|
89
|
+
].filter((line) => Boolean(line)).join("\n"),
|
|
90
|
+
}),
|
|
91
|
+
fields: [
|
|
92
|
+
{
|
|
93
|
+
name: "project",
|
|
94
|
+
label: "Project",
|
|
95
|
+
type: "text",
|
|
96
|
+
readOnly: true,
|
|
97
|
+
help: "The saved Project that will be built.",
|
|
98
|
+
context: "Sent as the build target.",
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: "build_plan",
|
|
102
|
+
label: "Build Plan",
|
|
103
|
+
type: "text",
|
|
104
|
+
readOnly: true,
|
|
105
|
+
help: "The Build Plan Interf will run to build the Context Graph.",
|
|
106
|
+
context: "Read from the Project's saved Build Plan selection.",
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "source_folder_path",
|
|
110
|
+
label: "Source",
|
|
111
|
+
type: "text",
|
|
112
|
+
readOnly: true,
|
|
113
|
+
advanced: true,
|
|
114
|
+
help: "The Source locator whose manifest is captured for this Project.",
|
|
115
|
+
context: "Resolved from the saved Project.",
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
export function buildBuildRunActionDraft(context) {
|
|
121
|
+
const definition = buildBuildRunActionDefinition(context);
|
|
122
|
+
return definition.buildDraft(definition.initialValues);
|
|
123
|
+
}
|
|
124
|
+
export function buildSelectBuildPlanActionDefinition(context) {
|
|
125
|
+
const actionValues = (values) => selectBuildPlanActionValues(values);
|
|
126
|
+
return {
|
|
127
|
+
id: INTERF_SERVICE_ACTIONS.selectBuildPlan.id,
|
|
128
|
+
title: INTERF_SERVICE_ACTIONS.selectBuildPlan.title,
|
|
129
|
+
description: "Choose the Build Plan that builds this Project's Context Graph. This saves the selection without running a Build.",
|
|
130
|
+
submitLabel: "Save Build Plan",
|
|
131
|
+
initialValues: {
|
|
132
|
+
name: context.name,
|
|
133
|
+
path: context.sourceFolderPath,
|
|
134
|
+
current_build_plan: context.currentBuildPlanId ?? "",
|
|
135
|
+
build_plan: context.currentBuildPlanId ?? "",
|
|
136
|
+
},
|
|
137
|
+
schema: selectBuildPlanSchema(),
|
|
138
|
+
validateRequest: (values) => packageSchemaFieldErrors(ProjectSetupActionValuesSchema.safeParse(actionValues(values)), {
|
|
139
|
+
name: "name",
|
|
140
|
+
path: "path",
|
|
141
|
+
build_plan: "build_plan",
|
|
142
|
+
}),
|
|
143
|
+
valuesPreview: actionValues,
|
|
144
|
+
buildDraft: (values) => ({
|
|
145
|
+
project: inputValue(values, "name"),
|
|
146
|
+
values: actionValues(values),
|
|
147
|
+
message: [
|
|
148
|
+
`Select Build Plan ${inputValue(values, "build_plan")} for Project ${inputValue(values, "name")}.`,
|
|
149
|
+
"Save the selected Build Plan. Do not build yet.",
|
|
150
|
+
"Use the attached typed action input as the source of truth.",
|
|
151
|
+
].join("\n"),
|
|
152
|
+
}),
|
|
153
|
+
fields: [
|
|
154
|
+
{
|
|
155
|
+
name: "build_plan",
|
|
156
|
+
label: "Build Plan",
|
|
157
|
+
type: "select",
|
|
158
|
+
help: "The Build Plan future Build runs should use.",
|
|
159
|
+
context: "Saved on the existing Project.",
|
|
160
|
+
options: buildPlanChoiceOptions(context.buildPlans),
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: "current_build_plan",
|
|
164
|
+
label: "Current Build Plan",
|
|
165
|
+
type: "text",
|
|
166
|
+
readOnly: true,
|
|
167
|
+
help: "The Build Plan currently saved for this Project.",
|
|
168
|
+
context: "Shown so the change is explicit before approval.",
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
name: "name",
|
|
172
|
+
label: "Project",
|
|
173
|
+
type: "text",
|
|
174
|
+
readOnly: true,
|
|
175
|
+
advanced: true,
|
|
176
|
+
help: "The Project whose Build Plan selection will be updated.",
|
|
177
|
+
context: "Sent with the setup action.",
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: "path",
|
|
181
|
+
label: "Source",
|
|
182
|
+
type: "text",
|
|
183
|
+
readOnly: true,
|
|
184
|
+
advanced: true,
|
|
185
|
+
help: "The saved local folder for this Source.",
|
|
186
|
+
context: "Preserved while updating the selected Build Plan.",
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
export function buildCreateBuildPlanActionDefinition(context) {
|
|
192
|
+
const existingBuildPlanIds = new Set(context.existingBuildPlanIds);
|
|
193
|
+
const defaultSeed = context.defaultProject ? `${context.defaultProject}-build-plan` : context.suggestedBuildPlanId;
|
|
194
|
+
const buildPlanId = uniqueActionId(defaultSeed, existingBuildPlanIds);
|
|
195
|
+
const label = titleFromActionId(buildPlanId);
|
|
196
|
+
return {
|
|
197
|
+
id: INTERF_SERVICE_ACTIONS.createBuildPlan.id,
|
|
198
|
+
title: INTERF_SERVICE_ACTIONS.createBuildPlan.title,
|
|
199
|
+
description: "Describe the Artifacts the agent needs. Interf drafts the Build Plan from this description; the Build later records what was covered.",
|
|
200
|
+
submitLabel: "Draft Build Plan",
|
|
201
|
+
initialValues: {
|
|
202
|
+
build_plan_id: "",
|
|
203
|
+
label: "",
|
|
204
|
+
hint: "",
|
|
205
|
+
intent: "",
|
|
206
|
+
requested_artifacts_description: "",
|
|
207
|
+
user_prep_instructions: "",
|
|
208
|
+
},
|
|
209
|
+
normalizeValues: (values) => normalizedBuildPlanActionValues(values, existingBuildPlanIds, defaultSeed),
|
|
210
|
+
schema: buildPlanAuthoringSchema(existingBuildPlanIds),
|
|
211
|
+
validateRequest: (values) => packageSchemaFieldErrors(BuildPlanAuthoringActionValuesSchema.safeParse(buildPlanAuthoringActionValues(values)), {
|
|
212
|
+
build_plan_id: "build_plan_id",
|
|
213
|
+
label: "label",
|
|
214
|
+
hint: "hint",
|
|
215
|
+
intent: "intent",
|
|
216
|
+
requested_artifacts_description: "requested_artifacts_description",
|
|
217
|
+
user_prep_instructions: "user_prep_instructions",
|
|
218
|
+
}),
|
|
219
|
+
valuesPreview: (values) => ({
|
|
220
|
+
build_plan_id: inputValue(values, "build_plan_id"),
|
|
221
|
+
label: inputValue(values, "label"),
|
|
222
|
+
hint: inputValue(values, "hint"),
|
|
223
|
+
intent: buildPlanIntentFromInput(values),
|
|
224
|
+
}),
|
|
225
|
+
buildDraft: (values) => ({
|
|
226
|
+
project: context.defaultProject,
|
|
227
|
+
values: buildPlanAuthoringActionValues(values),
|
|
228
|
+
message: [
|
|
229
|
+
`Draft Build Plan ${inputValue(values, "build_plan_id")}${context.defaultProject ? ` for Project ${context.defaultProject}` : ""}.`,
|
|
230
|
+
`Label: ${inputValue(values, "label")}`,
|
|
231
|
+
`Summary: ${inputValue(values, "hint")}`,
|
|
232
|
+
buildPlanIntentFromInput(values),
|
|
233
|
+
"Use the attached typed action input as the Build Plan authoring request.",
|
|
234
|
+
].join("\n"),
|
|
235
|
+
}),
|
|
236
|
+
fields: [
|
|
237
|
+
{
|
|
238
|
+
name: "intent",
|
|
239
|
+
label: "Intent",
|
|
240
|
+
type: "textarea",
|
|
241
|
+
rows: 4,
|
|
242
|
+
help: "The agent task this Project should unlock.",
|
|
243
|
+
context: "Used as the main Build Plan authoring instruction.",
|
|
244
|
+
placeholder: "Example: Analyze every report chart, extract annual take-up by location, and produce a source data file plus markdown summary.",
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
name: "requested_artifacts_description",
|
|
248
|
+
label: "Requested Artifacts",
|
|
249
|
+
type: "textarea",
|
|
250
|
+
rows: 3,
|
|
251
|
+
help: "Files, sections, or evidence agents should receive in the Context Graph.",
|
|
252
|
+
context: "Guides the requested Artifact shape and Build Plan stages before a Build records Source coverage.",
|
|
253
|
+
placeholder: "Describe the files or sections agents should receive.",
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
name: "user_prep_instructions",
|
|
257
|
+
label: "Build instructions",
|
|
258
|
+
type: "textarea",
|
|
259
|
+
rows: 3,
|
|
260
|
+
help: "Checks and evidence these Artifacts should satisfy.",
|
|
261
|
+
context: "Guides Build Plan checks and evidence expectations. Artifact contract checks stay separate.",
|
|
262
|
+
placeholder: "Describe the evidence that should make these Artifacts ready.",
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
name: "build_plan_id",
|
|
266
|
+
label: "Build Plan id",
|
|
267
|
+
type: "text",
|
|
268
|
+
advanced: true,
|
|
269
|
+
help: "Optional. Leave blank and Interf generates a stable id from the job.",
|
|
270
|
+
context: "Saved as the Build Plan id and referenced by Projects.",
|
|
271
|
+
placeholder: buildPlanId,
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
name: "label",
|
|
275
|
+
label: "Label",
|
|
276
|
+
type: "text",
|
|
277
|
+
advanced: true,
|
|
278
|
+
help: "Optional readable name people can choose later.",
|
|
279
|
+
context: "Shown in the UI and sent to the local agent while drafting the Build Plan.",
|
|
280
|
+
placeholder: label,
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
name: "hint",
|
|
284
|
+
label: "Summary",
|
|
285
|
+
type: "textarea",
|
|
286
|
+
advanced: true,
|
|
287
|
+
rows: 2,
|
|
288
|
+
help: "Optional short description. Interf derives one from the job if left blank.",
|
|
289
|
+
context: "Gives the local agent quick context before it drafts stages and outputs.",
|
|
290
|
+
placeholder: "Build charts, tables, and cited findings for analyst agents.",
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
export function buildBuildPlanChangeActionDefinition(context) {
|
|
296
|
+
const existingBuildPlanIds = new Set(context.existingBuildPlanIds);
|
|
297
|
+
const actionLabel = titleFromActionId(context.action);
|
|
298
|
+
const newBuildPlanId = context.action === "duplicate"
|
|
299
|
+
? uniqueActionId(`${context.buildPlanId}-copy`, existingBuildPlanIds)
|
|
300
|
+
: "";
|
|
301
|
+
const initialValues = {
|
|
302
|
+
action: `build-plan-${context.action}`,
|
|
303
|
+
build_plan: context.buildPlanId,
|
|
304
|
+
project: context.project,
|
|
305
|
+
...(context.action === "modify" ? { change_request: "", label: context.label ?? "", hint: context.hint ?? "" } : {}),
|
|
306
|
+
...(context.action === "duplicate" ? { new_build_plan_id: newBuildPlanId } : {}),
|
|
307
|
+
...(context.action === "remove" ? { confirmation: "" } : {}),
|
|
308
|
+
};
|
|
309
|
+
const actionValues = (values) => buildPlanChangeActionValues(context.action, values);
|
|
310
|
+
const messageFor = (values) => {
|
|
311
|
+
if (context.action === "modify") {
|
|
312
|
+
return [
|
|
313
|
+
`Modify Build Plan ${inputValue(values, "build_plan")}.`,
|
|
314
|
+
`Requested change: ${inputValue(values, "change_request")}`,
|
|
315
|
+
"Use the attached typed Build Plan authoring input as the source of truth.",
|
|
316
|
+
].join("\n");
|
|
317
|
+
}
|
|
318
|
+
if (context.action === "duplicate") {
|
|
319
|
+
return [
|
|
320
|
+
`Duplicate Build Plan ${inputValue(values, "build_plan")} as ${inputValue(values, "new_build_plan_id")}.`,
|
|
321
|
+
"Use the attached typed Build Plan change input as the source of truth.",
|
|
322
|
+
].join("\n");
|
|
323
|
+
}
|
|
324
|
+
return [
|
|
325
|
+
`Remove Build Plan ${inputValue(values, "build_plan")}.`,
|
|
326
|
+
"The user typed the Build Plan id to confirm removal.",
|
|
327
|
+
"Use the attached typed Build Plan change input as the source of truth.",
|
|
328
|
+
].join("\n");
|
|
329
|
+
};
|
|
330
|
+
const fields = [
|
|
331
|
+
{
|
|
332
|
+
name: "build_plan",
|
|
333
|
+
label: "Build Plan",
|
|
334
|
+
type: "text",
|
|
335
|
+
readOnly: true,
|
|
336
|
+
help: "The Build Plan this request targets.",
|
|
337
|
+
context: "Sent as the Build Plan change target.",
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
name: "change_request",
|
|
341
|
+
label: context.action === "duplicate" ? "Requested difference" : "Requested change",
|
|
342
|
+
type: "textarea",
|
|
343
|
+
rows: 4,
|
|
344
|
+
advanced: context.action === "remove",
|
|
345
|
+
help: context.action === "duplicate"
|
|
346
|
+
? "What should be different in the duplicate Build Plan."
|
|
347
|
+
: "What should change in the existing Build Plan.",
|
|
348
|
+
context: "Sent as the human-authored Build Plan change request.",
|
|
349
|
+
placeholder: "Describe the concrete change Interf should make.",
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
name: "new_build_plan_id",
|
|
353
|
+
label: "New Build Plan id",
|
|
354
|
+
type: "text",
|
|
355
|
+
advanced: context.action !== "duplicate",
|
|
356
|
+
help: "Stable id for the duplicated Build Plan.",
|
|
357
|
+
context: "Used as the target Build Plan id for the duplicate request.",
|
|
358
|
+
placeholder: newBuildPlanId,
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
name: "confirmation",
|
|
362
|
+
label: "Confirm removal",
|
|
363
|
+
type: "text",
|
|
364
|
+
advanced: context.action !== "remove",
|
|
365
|
+
help: `Type ${context.buildPlanId} to confirm this removal request.`,
|
|
366
|
+
context: "Prevents accidental destructive Build Plan requests.",
|
|
367
|
+
placeholder: context.buildPlanId,
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
name: "label",
|
|
371
|
+
label: "Label",
|
|
372
|
+
type: "text",
|
|
373
|
+
advanced: true,
|
|
374
|
+
help: "Readable Build Plan name to keep while modifying this Build Plan.",
|
|
375
|
+
context: "Sent to the Build Plan authoring run.",
|
|
376
|
+
placeholder: context.label ?? context.buildPlanId,
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
name: "hint",
|
|
380
|
+
label: "Summary",
|
|
381
|
+
type: "textarea",
|
|
382
|
+
rows: 2,
|
|
383
|
+
advanced: true,
|
|
384
|
+
help: "Short Build Plan summary to keep while modifying this Build Plan.",
|
|
385
|
+
context: "Sent to the Build Plan authoring run.",
|
|
386
|
+
placeholder: context.hint ?? "Build Plan for requested Artifacts and Context Checks.",
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
name: "project",
|
|
390
|
+
label: "Project",
|
|
391
|
+
type: "text",
|
|
392
|
+
readOnly: true,
|
|
393
|
+
advanced: true,
|
|
394
|
+
help: "A related Project used as context for this request.",
|
|
395
|
+
context: "Sent with the proposal request when available.",
|
|
396
|
+
placeholder: "No Project selected",
|
|
397
|
+
},
|
|
398
|
+
];
|
|
399
|
+
return {
|
|
400
|
+
id: `${INTERF_SERVICE_ACTIONS.buildPlanChange.id}-${context.action}`,
|
|
401
|
+
title: `${actionLabel} Build Plan`,
|
|
402
|
+
description: context.action === "remove"
|
|
403
|
+
? "Confirm the Build Plan removal request. Interf will reject removal while any saved Project still uses it."
|
|
404
|
+
: context.action === "duplicate"
|
|
405
|
+
? "Duplicate this Build Plan through the local Interf service."
|
|
406
|
+
: "Describe the change and Interf will run a visible Build Plan draft run.",
|
|
407
|
+
submitLabel: context.action === "modify" ? "Modify Build Plan" : "Confirm",
|
|
408
|
+
initialValues,
|
|
409
|
+
schema: buildPlanChangeSchema(context.action, context.buildPlanId, existingBuildPlanIds),
|
|
410
|
+
valuesPreview: actionValues,
|
|
411
|
+
buildDraft: (values) => ({
|
|
412
|
+
project: inputValue(values, "project"),
|
|
413
|
+
values: actionValues(values),
|
|
414
|
+
message: messageFor(values),
|
|
415
|
+
}),
|
|
416
|
+
fields: fields.filter((field) => {
|
|
417
|
+
if (field.name === "change_request")
|
|
418
|
+
return context.action === "modify";
|
|
419
|
+
if (field.name === "new_build_plan_id")
|
|
420
|
+
return context.action === "duplicate";
|
|
421
|
+
if (field.name === "confirmation")
|
|
422
|
+
return context.action === "remove";
|
|
423
|
+
if (field.name === "label" || field.name === "hint")
|
|
424
|
+
return context.action === "modify";
|
|
425
|
+
return true;
|
|
426
|
+
}),
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
export function buildProjectChangeActionDefinition(context) {
|
|
430
|
+
const existingNames = new Set(context.existingNames);
|
|
431
|
+
const actionLabel = titleFromActionId(context.action);
|
|
432
|
+
const duplicateName = context.action === "duplicate"
|
|
433
|
+
? uniqueActionId(`${context.project}-copy`, existingNames)
|
|
434
|
+
: "";
|
|
435
|
+
const initialValues = {
|
|
436
|
+
action: `project-${context.action}`,
|
|
437
|
+
project: context.project,
|
|
438
|
+
...(context.action === "modify" || context.action === "duplicate"
|
|
439
|
+
? {
|
|
440
|
+
name: context.action === "duplicate" ? duplicateName : context.project,
|
|
441
|
+
path: context.sourceFolderPath,
|
|
442
|
+
build_plan: context.buildPlanId ?? "",
|
|
443
|
+
}
|
|
444
|
+
: {}),
|
|
445
|
+
...(context.action === "remove" ? { confirmation: "" } : {}),
|
|
446
|
+
};
|
|
447
|
+
const actionValues = (values) => projectChangeActionValues(context.action, values);
|
|
448
|
+
const messageFor = (values) => {
|
|
449
|
+
if (context.action === "modify") {
|
|
450
|
+
return [
|
|
451
|
+
`Modify Project ${inputValue(values, "project")}.`,
|
|
452
|
+
maybeActionValue(inputValue(values, "build_plan")) ? `Build Plan: ${inputValue(values, "build_plan")}` : null,
|
|
453
|
+
`Source: ${inputValue(values, "path")}`,
|
|
454
|
+
"Use the attached typed Project setup input as the source of truth.",
|
|
455
|
+
].filter((line) => Boolean(line)).join("\n");
|
|
456
|
+
}
|
|
457
|
+
if (context.action === "duplicate") {
|
|
458
|
+
return [
|
|
459
|
+
`Duplicate Project ${inputValue(values, "project")} as ${inputValue(values, "name")}.`,
|
|
460
|
+
maybeActionValue(inputValue(values, "build_plan")) ? `Build Plan: ${inputValue(values, "build_plan")}` : null,
|
|
461
|
+
`Source: ${inputValue(values, "path")}`,
|
|
462
|
+
"Use the attached typed Project setup input as the source of truth.",
|
|
463
|
+
].filter((line) => Boolean(line)).join("\n");
|
|
464
|
+
}
|
|
465
|
+
return [
|
|
466
|
+
`Remove Project ${inputValue(values, "project")}.`,
|
|
467
|
+
"The user typed the Project id to confirm removal.",
|
|
468
|
+
"Use the attached typed Project change input as the source of truth.",
|
|
469
|
+
].join("\n");
|
|
470
|
+
};
|
|
471
|
+
const fields = [
|
|
472
|
+
{
|
|
473
|
+
name: "project",
|
|
474
|
+
label: "Project",
|
|
475
|
+
type: "text",
|
|
476
|
+
readOnly: true,
|
|
477
|
+
help: "The saved Project this request targets.",
|
|
478
|
+
context: "Sent as the Project target.",
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
name: "name",
|
|
482
|
+
label: context.action === "duplicate" ? "New Project id" : "Project id",
|
|
483
|
+
type: "text",
|
|
484
|
+
readOnly: context.action === "modify",
|
|
485
|
+
help: context.action === "duplicate"
|
|
486
|
+
? "Stable id for the duplicated Project."
|
|
487
|
+
: "Stable id for this Project.",
|
|
488
|
+
context: "Saved as the Project name.",
|
|
489
|
+
placeholder: duplicateName || context.project,
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
name: "build_plan",
|
|
493
|
+
label: "Build Plan",
|
|
494
|
+
type: "text",
|
|
495
|
+
help: "The Build Plan future Build runs should use.",
|
|
496
|
+
context: "Saved on this Project.",
|
|
497
|
+
placeholder: "interf-default",
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
name: "path",
|
|
501
|
+
label: "Source",
|
|
502
|
+
type: "text",
|
|
503
|
+
readOnly: true,
|
|
504
|
+
advanced: context.action === "modify",
|
|
505
|
+
help: "The local folder for this Project's Source.",
|
|
506
|
+
context: "Saved on this Project.",
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
name: "confirmation",
|
|
510
|
+
label: "Confirm removal",
|
|
511
|
+
type: "text",
|
|
512
|
+
help: `Type ${context.project} to confirm this removal request.`,
|
|
513
|
+
context: "Prevents accidental destructive Project requests.",
|
|
514
|
+
placeholder: context.project,
|
|
515
|
+
},
|
|
516
|
+
];
|
|
517
|
+
return {
|
|
518
|
+
id: `${INTERF_SERVICE_ACTIONS.projectChange.id}-${context.action}`,
|
|
519
|
+
title: `${actionLabel} Project`,
|
|
520
|
+
description: context.action === "remove"
|
|
521
|
+
? "Confirm the Project removal request before Interf removes it from the saved config."
|
|
522
|
+
: context.action === "duplicate"
|
|
523
|
+
? "Describe the new Project created from this saved Source."
|
|
524
|
+
: "Update the saved Project fields through the local Interf service.",
|
|
525
|
+
submitLabel: "Confirm",
|
|
526
|
+
initialValues,
|
|
527
|
+
schema: projectChangeSchema(context.action, context.project, existingNames),
|
|
528
|
+
validateRequest: context.action === "modify" || context.action === "duplicate"
|
|
529
|
+
? (values) => packageSchemaFieldErrors(ProjectSetupActionValuesSchema.safeParse(duplicateProjectActionValues(values)), {
|
|
530
|
+
name: "name",
|
|
531
|
+
path: "path",
|
|
532
|
+
build_plan: "build_plan",
|
|
533
|
+
})
|
|
534
|
+
: undefined,
|
|
535
|
+
valuesPreview: actionValues,
|
|
536
|
+
buildDraft: (values) => ({
|
|
537
|
+
project: inputValue(values, "project"),
|
|
538
|
+
values: actionValues(values),
|
|
539
|
+
message: messageFor(values),
|
|
540
|
+
}),
|
|
541
|
+
fields: fields.filter((field) => {
|
|
542
|
+
if (field.name === "name" || field.name === "build_plan" || field.name === "path")
|
|
543
|
+
return context.action === "modify" || context.action === "duplicate";
|
|
544
|
+
if (field.name === "confirmation")
|
|
545
|
+
return context.action === "remove";
|
|
546
|
+
return true;
|
|
547
|
+
}),
|
|
548
|
+
};
|
|
549
|
+
}
|
|
550
|
+
export function buildConfirmActionDefinition(draft) {
|
|
551
|
+
return {
|
|
552
|
+
id: INTERF_SERVICE_ACTIONS.confirmAction.id,
|
|
553
|
+
title: INTERF_SERVICE_ACTIONS.confirmAction.title,
|
|
554
|
+
description: "This request will be sent to the local Interf service to create an approval proposal.",
|
|
555
|
+
submitLabel: "Confirm Request",
|
|
556
|
+
initialValues: {
|
|
557
|
+
project: draft.project,
|
|
558
|
+
message: draft.message,
|
|
559
|
+
},
|
|
560
|
+
schema: z.object({
|
|
561
|
+
project: optionalActionText,
|
|
562
|
+
message: requiredActionText("Action"),
|
|
563
|
+
}).strict(),
|
|
564
|
+
valuesPreview: () => draft.values ?? { message: draft.message },
|
|
565
|
+
buildDraft: () => ({ ...draft, confirmed: true }),
|
|
566
|
+
fields: [
|
|
567
|
+
{
|
|
568
|
+
name: "project",
|
|
569
|
+
label: "Project",
|
|
570
|
+
type: "text",
|
|
571
|
+
readOnly: true,
|
|
572
|
+
help: "The Project this action targets.",
|
|
573
|
+
context: "Sent with the proposal request.",
|
|
574
|
+
placeholder: "No Project selected",
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
name: "message",
|
|
578
|
+
label: "Request to Interf service",
|
|
579
|
+
type: "textarea",
|
|
580
|
+
readOnly: true,
|
|
581
|
+
rows: 5,
|
|
582
|
+
help: "Interf sends this request with typed values so the local service can propose the concrete action.",
|
|
583
|
+
context: "Sent to the local Interf service together with typed action values when available.",
|
|
584
|
+
},
|
|
585
|
+
],
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
export function buildBenchmarkActionDraft(options) {
|
|
589
|
+
if (options.action === "check") {
|
|
590
|
+
return {
|
|
591
|
+
project: options.project,
|
|
592
|
+
message: `Run benchmark for ${options.project}.`,
|
|
593
|
+
values: {
|
|
594
|
+
action_type: INTERF_SERVICE_ACTIONS.runBenchmark.serviceAction,
|
|
595
|
+
project: options.project,
|
|
596
|
+
target: "both",
|
|
597
|
+
},
|
|
598
|
+
};
|
|
599
|
+
}
|
|
600
|
+
if (options.action === "draft-checks") {
|
|
601
|
+
return {
|
|
602
|
+
project: options.project,
|
|
603
|
+
message: `Draft benchmark questions for ${options.project}.`,
|
|
604
|
+
values: {
|
|
605
|
+
action_type: INTERF_SERVICE_ACTIONS.draftBenchmarkQuestions.serviceAction,
|
|
606
|
+
project: options.project,
|
|
607
|
+
},
|
|
608
|
+
};
|
|
609
|
+
}
|
|
610
|
+
return {
|
|
611
|
+
project: options.project,
|
|
612
|
+
message: `Improve ${options.project} using the latest benchmark results and Build evidence.`,
|
|
613
|
+
values: {
|
|
614
|
+
action_type: INTERF_SERVICE_ACTIONS.improveProject.serviceAction,
|
|
615
|
+
...(options.buildPlanId ? { build_plan: options.buildPlanId } : {}),
|
|
616
|
+
project: options.project,
|
|
617
|
+
},
|
|
618
|
+
};
|
|
619
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { ActionInputValues, BuildPlanChangeAction, ProjectChangeAction } from "./fields.js";
|
|
3
|
+
export declare function createProjectSchema(existingNames: Set<string>): z.ZodType<ActionInputValues>;
|
|
4
|
+
export declare function prepareRunSchema(): z.ZodType<ActionInputValues>;
|
|
5
|
+
export declare function selectBuildPlanSchema(): z.ZodType<ActionInputValues>;
|
|
6
|
+
export declare function buildPlanAuthoringSchema(existingBuildPlanIds: Set<string>): z.ZodType<ActionInputValues>;
|
|
7
|
+
export declare function buildPlanChangeSchema(action: BuildPlanChangeAction, buildPlanId: string, existingBuildPlanIds: Set<string>): z.ZodType<ActionInputValues>;
|
|
8
|
+
export declare function projectChangeSchema(action: ProjectChangeAction, project: string, existingNames: Set<string>): z.ZodType<ActionInputValues>;
|