@interf/compiler 0.22.2 → 0.50.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 +119 -282
- 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 -35
- package/dist/cli/commands/auth.d.ts +20 -0
- package/dist/cli/commands/auth.js +161 -0
- package/dist/cli/commands/benchmark.d.ts +9 -0
- package/dist/cli/commands/benchmark.js +58 -0
- package/dist/cli/commands/build-plan.js +107 -139
- package/dist/cli/commands/build.d.ts +3 -4
- package/dist/cli/commands/build.js +16 -45
- package/dist/cli/commands/doctor.js +3 -3
- package/dist/cli/commands/graphs.d.ts +2 -0
- package/dist/cli/commands/graphs.js +344 -0
- package/dist/cli/commands/login.js +4 -6
- package/dist/cli/commands/logout.js +1 -1
- package/dist/cli/commands/mcp.d.ts +4 -2
- package/dist/cli/commands/mcp.js +846 -232
- package/dist/cli/commands/project.d.ts +2 -0
- package/dist/cli/commands/project.js +176 -0
- package/dist/cli/commands/reset.d.ts +3 -4
- package/dist/cli/commands/reset.js +10 -31
- package/dist/cli/commands/runs.js +136 -57
- 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 +35 -45
- package/dist/cli/commands/traces.d.ts +2 -0
- package/dist/cli/commands/traces.js +97 -0
- package/dist/cli/commands/wizard.js +171 -178
- package/dist/cli/index.d.ts +7 -4
- package/dist/cli/index.js +13 -7
- package/dist/cli/lib/http-client.d.ts +39 -0
- package/dist/cli/lib/http-client.js +73 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/packages/build-plans/authoring/brief.d.ts +538 -0
- package/dist/packages/build-plans/authoring/brief.js +89 -0
- package/dist/packages/build-plans/authoring/build-plan-authoring.d.ts +52 -11
- package/dist/packages/build-plans/authoring/build-plan-authoring.js +493 -46
- package/dist/packages/build-plans/authoring/build-plan-edit-session.d.ts +10 -1
- package/dist/packages/build-plans/authoring/build-plan-edit-session.js +27 -4
- package/dist/packages/build-plans/authoring/build-plan-improvement.d.ts +9 -6
- package/dist/packages/build-plans/authoring/build-plan-improvement.js +97 -46
- package/dist/packages/build-plans/authoring/lib/build-plan-edit-utils.d.ts +1 -0
- 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 -13
- package/dist/packages/build-plans/package/build-plan-definitions.js +45 -42
- 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 +5 -4
- package/dist/packages/build-plans/package/build-plan-stage-runner.js +23 -11
- package/dist/packages/build-plans/package/builtin-build-plan.d.ts +7 -8
- package/dist/packages/build-plans/package/builtin-build-plan.js +10 -11
- package/dist/packages/build-plans/package/context-interface.d.ts +14 -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 +68 -64
- package/dist/packages/build-plans/package/local-build-plans.d.ts +21 -14
- package/dist/packages/build-plans/package/local-build-plans.js +105 -55
- package/dist/packages/build-plans/package/user-build-plans.js +1 -1
- package/dist/packages/contracts/index.d.ts +5 -2
- package/dist/packages/contracts/index.js +3 -1
- package/dist/packages/contracts/lib/context-graph-layer.d.ts +161 -0
- package/dist/packages/contracts/lib/context-graph-layer.js +216 -0
- package/dist/packages/contracts/lib/project-paths.d.ts +144 -0
- package/dist/packages/contracts/lib/project-paths.js +220 -0
- package/dist/packages/contracts/lib/project-schema.d.ts +423 -0
- package/dist/packages/contracts/lib/project-schema.js +138 -0
- package/dist/packages/contracts/lib/schema.d.ts +1273 -81
- package/dist/packages/contracts/lib/schema.js +675 -79
- package/dist/packages/contracts/utils/filesystem.d.ts +1 -0
- package/dist/packages/contracts/utils/filesystem.js +29 -1
- 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 +77 -0
- package/dist/packages/projects/lib/schema.js +91 -0
- package/dist/packages/projects/source-config.d.ts +53 -0
- package/dist/packages/projects/source-config.js +339 -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 +86 -0
- package/dist/packages/runtime/actions/form-builders.d.ts +14 -0
- package/dist/packages/runtime/actions/form-builders.js +667 -0
- package/dist/packages/runtime/actions/form-validators.d.ts +8 -0
- package/dist/packages/runtime/actions/form-validators.js +134 -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 +164 -0
- package/dist/packages/runtime/actions/schemas.d.ts +161 -0
- package/dist/packages/runtime/actions/schemas.js +37 -0
- package/dist/packages/runtime/agent-handoff.d.ts +11 -0
- package/dist/packages/runtime/agent-handoff.js +102 -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.d.ts +14 -0
- package/dist/packages/{engine → runtime}/agents/lib/execution-profile.js +31 -14
- package/dist/packages/{engine → runtime}/agents/lib/execution.js +22 -6
- package/dist/packages/{engine → runtime}/agents/lib/executors.d.ts +1 -0
- package/dist/packages/{engine → runtime}/agents/lib/executors.js +11 -2
- package/dist/packages/runtime/agents/lib/logs.d.ts +12 -0
- package/dist/packages/runtime/agents/lib/logs.js +41 -0
- package/dist/packages/{engine → runtime}/agents/lib/preflight.js +19 -14
- package/dist/packages/runtime/agents/lib/render.d.ts +26 -0
- package/dist/packages/{engine → runtime}/agents/lib/render.js +48 -22
- 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 +494 -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 +92 -0
- package/dist/packages/runtime/agents/lib/shells.js +509 -0
- package/dist/packages/runtime/agents/lib/source-context-scan.d.ts +10 -0
- package/dist/packages/runtime/agents/lib/source-context-scan.js +388 -0
- package/dist/packages/{engine → runtime}/agents/lib/status.js +1 -14
- package/dist/packages/runtime/agents/lib/string-utils.d.ts +16 -0
- package/dist/packages/runtime/agents/lib/string-utils.js +36 -0
- package/dist/packages/{engine → runtime}/agents/lib/types.d.ts +1 -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 +66 -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 +9 -7
- 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 +96 -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 +23 -0
- package/dist/packages/runtime/benchmark-question-draft.js +153 -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 +6 -6
- package/dist/packages/{engine → runtime}/build/artifact-status.js +26 -24
- 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 +16 -0
- package/dist/packages/runtime/build/build-evidence.js +179 -0
- package/dist/packages/{engine → runtime}/build/build-pipeline.d.ts +12 -8
- package/dist/packages/runtime/build/build-pipeline.js +388 -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/runtime/build/build-stage-plan.js +101 -0
- package/dist/packages/{engine → runtime}/build/build-stage-runner.d.ts +2 -1
- package/dist/packages/runtime/build/build-stage-runner.js +302 -0
- package/dist/packages/{engine → runtime}/build/build-target.d.ts +7 -4
- package/dist/packages/runtime/build/build-target.js +40 -0
- package/dist/packages/{engine → runtime}/build/check-evaluator.d.ts +14 -16
- package/dist/packages/runtime/build/check-evaluator.js +1226 -0
- package/dist/packages/runtime/build/context-graph-paths.d.ts +64 -0
- package/dist/packages/runtime/build/context-graph-paths.js +160 -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 +7 -5
- package/dist/packages/{engine → runtime}/build/index.js +7 -5
- package/dist/packages/runtime/build/inspect-map.d.ts +10 -0
- package/dist/packages/runtime/build/inspect-map.js +270 -0
- package/dist/packages/{engine → runtime}/build/lib/schema.d.ts +449 -123
- package/dist/packages/runtime/build/lib/schema.js +494 -0
- package/dist/packages/runtime/build/native-entrypoint.d.ts +2 -0
- package/dist/packages/runtime/build/native-entrypoint.js +286 -0
- 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 +13 -7
- 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/runtime/build/runtime-log-paths.d.ts +3 -0
- package/dist/packages/runtime/build/runtime-log-paths.js +16 -0
- package/dist/packages/{engine → runtime}/build/runtime-prompt.js +12 -9
- 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 +318 -0
- package/dist/packages/{engine → runtime}/build/runtime-types.d.ts +9 -6
- package/dist/packages/runtime/build/runtime-types.js +1 -0
- package/dist/packages/runtime/build/runtime.d.ts +8 -0
- package/dist/packages/runtime/build/runtime.js +7 -0
- package/dist/packages/runtime/build/source-files.d.ts +58 -0
- package/dist/packages/runtime/build/source-files.js +193 -0
- package/dist/packages/runtime/build/source-inventory.d.ts +28 -0
- package/dist/packages/runtime/build/source-inventory.js +512 -0
- package/dist/packages/runtime/build/source-manifest.d.ts +63 -0
- package/dist/packages/runtime/build/source-manifest.js +220 -0
- package/dist/packages/runtime/build/stage-evidence.d.ts +22 -0
- package/dist/packages/runtime/build/stage-evidence.js +386 -0
- package/dist/packages/runtime/build/stage-manifest.d.ts +45 -0
- package/dist/packages/runtime/build/stage-manifest.js +1125 -0
- package/dist/packages/runtime/build/stage-reuse.d.ts +11 -0
- package/dist/packages/runtime/build/stage-reuse.js +154 -0
- package/dist/packages/runtime/build/stage-session.d.ts +81 -0
- package/dist/packages/runtime/build/stage-session.js +308 -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 +118 -0
- package/dist/packages/runtime/build/state-view.d.ts +5 -0
- package/dist/packages/runtime/build/state-view.js +121 -0
- package/dist/packages/runtime/build/state.d.ts +7 -0
- package/dist/packages/runtime/build/state.js +12 -0
- package/dist/packages/runtime/build/summary-coverage-index.d.ts +21 -0
- package/dist/packages/runtime/build/summary-coverage-index.js +189 -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} +49 -36
- 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 +18 -18
- package/dist/packages/{engine → runtime}/client.js +48 -36
- 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 +127 -0
- package/dist/packages/runtime/context-graph-scaffold.d.ts +9 -0
- package/dist/packages/runtime/context-graph-scaffold.js +135 -0
- package/dist/packages/runtime/context-graph-semantic-graph.d.ts +9 -0
- package/dist/packages/runtime/context-graph-semantic-graph.js +416 -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 +272 -191
- 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/runtime/native-run-handlers.d.ts +63 -0
- package/dist/packages/{engine → runtime}/native-run-handlers.js +217 -166
- 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 +56 -0
- package/dist/packages/runtime/project-store.d.ts +90 -0
- package/dist/packages/runtime/project-store.js +195 -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 +174 -87
- 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 +175 -0
- package/dist/packages/runtime/runtime-build-runs.d.ts +47 -0
- package/dist/packages/runtime/runtime-build-runs.js +555 -0
- package/dist/packages/runtime/runtime-caches.d.ts +117 -0
- package/dist/packages/runtime/runtime-caches.js +266 -0
- 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 +65 -0
- package/dist/packages/runtime/runtime-project-reads.d.ts +18 -0
- package/dist/packages/runtime/runtime-project-reads.js +574 -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 +23 -16
- package/dist/packages/{engine → runtime}/runtime-resource-builders.js +58 -46
- package/dist/packages/runtime/runtime-status.d.ts +14 -0
- package/dist/packages/runtime/runtime-status.js +15 -0
- package/dist/packages/runtime/runtime-verify-runs.d.ts +84 -0
- package/dist/packages/runtime/runtime-verify-runs.js +296 -0
- package/dist/packages/runtime/runtime.d.ts +1582 -0
- package/dist/packages/runtime/runtime.js +431 -0
- package/dist/packages/runtime/schemas/actions.d.ts +1206 -0
- package/dist/packages/runtime/schemas/actions.js +117 -0
- package/dist/packages/runtime/schemas/agents.d.ts +104 -0
- package/dist/packages/runtime/schemas/agents.js +74 -0
- package/dist/packages/runtime/schemas/build-plans.d.ts +1132 -0
- package/dist/packages/runtime/schemas/build-plans.js +141 -0
- package/dist/packages/runtime/schemas/context-graphs.d.ts +1522 -0
- package/dist/packages/runtime/schemas/context-graphs.js +110 -0
- package/dist/packages/runtime/schemas/files.d.ts +227 -0
- package/dist/packages/runtime/schemas/files.js +28 -0
- package/dist/packages/runtime/schemas/index.d.ts +9 -0
- package/dist/packages/runtime/schemas/index.js +13 -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 +107 -0
- package/dist/packages/runtime/schemas/projects.d.ts +366 -0
- package/dist/packages/runtime/schemas/projects.js +160 -0
- package/dist/packages/runtime/schemas/runs.d.ts +3445 -0
- package/dist/packages/runtime/schemas/runs.js +115 -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 +118 -0
- package/dist/packages/runtime/service/operations.d.ts +3011 -0
- package/dist/packages/runtime/service/operations.js +375 -0
- package/dist/packages/runtime/service/routes.d.ts +114 -0
- package/dist/packages/runtime/service/routes.js +128 -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 +38 -0
- package/dist/packages/runtime/service/server-helpers.js +108 -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 +45 -0
- package/dist/packages/runtime/service/server-routes-agents.d.ts +4 -0
- package/dist/packages/runtime/service/server-routes-agents.js +132 -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 +86 -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 +287 -0
- package/dist/packages/runtime/service/server-routes-project-jobs.d.ts +9 -0
- package/dist/packages/runtime/service/server-routes-project-jobs.js +137 -0
- package/dist/packages/runtime/service/server-routes-project-runs.d.ts +14 -0
- package/dist/packages/runtime/service/server-routes-project-runs.js +88 -0
- package/dist/packages/runtime/service/server-routes-projects.d.ts +4 -0
- package/dist/packages/runtime/service/server-routes-projects.js +96 -0
- package/dist/packages/runtime/service/server-routes-runs.d.ts +3 -0
- package/dist/packages/runtime/service/server-routes-runs.js +119 -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 +38 -18
- package/dist/packages/runtime/verify/test-file-guard.d.ts +2 -0
- package/dist/packages/runtime/verify/test-file-guard.js +29 -0
- package/dist/packages/{engine → runtime}/verify/verify-execution.d.ts +7 -0
- package/dist/packages/{engine → runtime}/verify/verify-execution.js +119 -45
- package/dist/packages/{engine → runtime}/verify/verify-paths.d.ts +5 -4
- package/dist/packages/runtime/verify/verify-paths.js +65 -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/runtime/verify/verify-specs.js +126 -0
- 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 +32 -30
- package/public-repo/CONTRIBUTING.md +16 -18
- package/public-repo/README.md +119 -282
- package/public-repo/SECURITY.md +3 -4
- package/public-repo/build-plans/interf-default/README.md +24 -16
- package/public-repo/build-plans/interf-default/build/stages/entrypoint/SKILL.md +74 -0
- package/public-repo/build-plans/interf-default/build/stages/knowledge/SKILL.md +95 -0
- package/public-repo/build-plans/interf-default/build/stages/summarize/SKILL.md +49 -4
- package/public-repo/build-plans/interf-default/build-plan.json +49 -39
- package/public-repo/build-plans/interf-default/build-plan.schema.json +59 -33
- package/public-repo/build-plans/interf-default/improve/SKILL.md +3 -3
- package/public-repo/build-plans/interf-default/use/query/SKILL.md +18 -11
- package/public-repo/openapi/local-service.openapi.json +14227 -0
- package/public-repo/skills/interf/SKILL.md +508 -187
- 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/logs.d.ts +0 -2
- package/dist/packages/engine/agents/lib/logs.js +0 -17
- package/dist/packages/engine/agents/lib/render.d.ts +0 -8
- 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-plan.js +0 -100
- 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/lib/schema.js +0 -316
- 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-paths.d.ts +0 -8
- package/dist/packages/engine/build/runtime-paths.js +0 -26
- 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.d.ts +0 -5
- 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-view.js +0 -94
- 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/native-run-handlers.d.ts +0 -25
- 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-caches.js +0 -191
- 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-specs.js +0 -114
- 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/build-plans/interf-default/build/stages/shape/SKILL.md +0 -27
- package/public-repo/build-plans/interf-default/build/stages/structure/SKILL.md +0 -21
- 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.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/preflight.d.ts +0 -0
- /package/dist/packages/{engine → runtime}/agents/lib/status.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-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-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,667 @@
|
|
|
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
|
+
// Friendly default name (e.g. the dropped folder's name). Any text is fine;
|
|
11
|
+
// the durable Project id is slugged from it on submit.
|
|
12
|
+
const suggestedName = context.suggestedName?.trim() || "My project";
|
|
13
|
+
return {
|
|
14
|
+
id: INTERF_SERVICE_ACTIONS.createProject.id,
|
|
15
|
+
title: INTERF_SERVICE_ACTIONS.createProject.title,
|
|
16
|
+
description: "Create a Project from a folder of files. Pick or draft a Build Plan after it's created.",
|
|
17
|
+
submitLabel: "Create Project",
|
|
18
|
+
initialValues: {
|
|
19
|
+
name: suggestedName,
|
|
20
|
+
path: context.projectDataDir,
|
|
21
|
+
intent: context.suggestedIntent ?? "",
|
|
22
|
+
},
|
|
23
|
+
schema: createProjectSchema(existingNames),
|
|
24
|
+
validateRequest: (values) => packageSchemaFieldErrors(ProjectSetupActionValuesSchema.safeParse(createProjectActionValues(values)), {
|
|
25
|
+
name: "name",
|
|
26
|
+
path: "path",
|
|
27
|
+
intent: "intent",
|
|
28
|
+
build_plan: "build_plan",
|
|
29
|
+
}),
|
|
30
|
+
valuesPreview: createProjectActionValues,
|
|
31
|
+
buildDraft: (values) => {
|
|
32
|
+
const actionValues = createProjectActionValues(values);
|
|
33
|
+
return {
|
|
34
|
+
project: actionValues.name,
|
|
35
|
+
values: actionValues,
|
|
36
|
+
message: [
|
|
37
|
+
`Create Project ${actionValues.name}.`,
|
|
38
|
+
`Source: ${inputValue(values, "path")}`,
|
|
39
|
+
`Agent task: ${inputValue(values, "intent")}`,
|
|
40
|
+
"Draft or select the Build Plan after this Project exists. Do not build yet.",
|
|
41
|
+
"Use the attached typed action input as the source of truth.",
|
|
42
|
+
].filter((line) => Boolean(line)).join("\n"),
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
fields: [
|
|
46
|
+
{
|
|
47
|
+
name: "name",
|
|
48
|
+
label: "Project name",
|
|
49
|
+
type: "text",
|
|
50
|
+
help: "Use any name you like.",
|
|
51
|
+
context: "Saved as this Project's name.",
|
|
52
|
+
placeholder: suggestedName,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "path",
|
|
56
|
+
label: "Source",
|
|
57
|
+
type: "text",
|
|
58
|
+
help: "The folder your agent maps into a Source. Your files stay where they are.",
|
|
59
|
+
context: "Saved as the Project's Source binding.",
|
|
60
|
+
placeholder: context.projectDataDir || "/Users/you/Documents/your-folder",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: "intent",
|
|
64
|
+
label: "Agent task",
|
|
65
|
+
type: "textarea",
|
|
66
|
+
rows: 4,
|
|
67
|
+
help: "What you want your agent to prepare from these files.",
|
|
68
|
+
context: "Saved as the Project intent and used as the default Build Plan task.",
|
|
69
|
+
placeholder: "Example: Build a timeline of our team's calls and find recurring themes.",
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export function buildBuildRunActionDefinition(context) {
|
|
75
|
+
return {
|
|
76
|
+
id: INTERF_SERVICE_ACTIONS.buildRun.id,
|
|
77
|
+
title: INTERF_SERVICE_ACTIONS.buildRun.title,
|
|
78
|
+
description: "Build a Context Graph for this Project. Interf will run the saved Build Plan against the Source and record a Run.",
|
|
79
|
+
submitLabel: "Build Context Graph",
|
|
80
|
+
initialValues: {
|
|
81
|
+
project: context.name,
|
|
82
|
+
build_plan: context.buildPlanId,
|
|
83
|
+
source_folder_path: context.sourceFolderPath,
|
|
84
|
+
},
|
|
85
|
+
schema: prepareRunSchema(),
|
|
86
|
+
valuesPreview: (values) => ({
|
|
87
|
+
action_type: INTERF_SERVICE_ACTIONS.buildRun.serviceAction,
|
|
88
|
+
project: inputValue(values, "project"),
|
|
89
|
+
build_plan: inputValue(values, "build_plan"),
|
|
90
|
+
source_folder_path: inputValue(values, "source_folder_path"),
|
|
91
|
+
}),
|
|
92
|
+
buildDraft: (values) => ({
|
|
93
|
+
project: inputValue(values, "project"),
|
|
94
|
+
values: {
|
|
95
|
+
action_type: INTERF_SERVICE_ACTIONS.buildRun.serviceAction,
|
|
96
|
+
project: inputValue(values, "project"),
|
|
97
|
+
},
|
|
98
|
+
message: [
|
|
99
|
+
`Build Context Graph for Project ${inputValue(values, "project")}.`,
|
|
100
|
+
`Build Plan: ${inputValue(values, "build_plan") || "(saved selection)"}.`,
|
|
101
|
+
"Build a Context Graph from the saved Source and requested outputs.",
|
|
102
|
+
"Use the attached typed action input as the source of truth.",
|
|
103
|
+
].filter((line) => Boolean(line)).join("\n"),
|
|
104
|
+
}),
|
|
105
|
+
fields: [
|
|
106
|
+
{
|
|
107
|
+
name: "project",
|
|
108
|
+
label: "Project",
|
|
109
|
+
type: "text",
|
|
110
|
+
readOnly: true,
|
|
111
|
+
help: "The saved Project that will be built.",
|
|
112
|
+
context: "Sent as the build target.",
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: "build_plan",
|
|
116
|
+
label: "Build Plan",
|
|
117
|
+
type: "text",
|
|
118
|
+
readOnly: true,
|
|
119
|
+
help: "The Build Plan Interf will run to build the Context Graph.",
|
|
120
|
+
context: "Read from the Project's saved Build Plan selection.",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: "source_folder_path",
|
|
124
|
+
label: "Source",
|
|
125
|
+
type: "text",
|
|
126
|
+
readOnly: true,
|
|
127
|
+
advanced: true,
|
|
128
|
+
help: "The Source locator whose manifest is captured for this Project.",
|
|
129
|
+
context: "Resolved from the saved Project.",
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
export function buildBuildRunActionDraft(context) {
|
|
135
|
+
const definition = buildBuildRunActionDefinition(context);
|
|
136
|
+
return definition.buildDraft(definition.initialValues);
|
|
137
|
+
}
|
|
138
|
+
export function buildSelectBuildPlanActionDefinition(context) {
|
|
139
|
+
const actionValues = (values) => selectBuildPlanActionValues(values);
|
|
140
|
+
return {
|
|
141
|
+
id: INTERF_SERVICE_ACTIONS.selectBuildPlan.id,
|
|
142
|
+
title: INTERF_SERVICE_ACTIONS.selectBuildPlan.title,
|
|
143
|
+
description: "Choose the Build Plan that builds this Project's Context Graph. This saves the selection without running a Build.",
|
|
144
|
+
submitLabel: "Save Build Plan",
|
|
145
|
+
initialValues: {
|
|
146
|
+
name: context.name,
|
|
147
|
+
path: context.sourceFolderPath,
|
|
148
|
+
intent: context.intent,
|
|
149
|
+
current_build_plan: context.currentBuildPlanId ?? "",
|
|
150
|
+
build_plan: context.currentBuildPlanId ?? "",
|
|
151
|
+
},
|
|
152
|
+
schema: selectBuildPlanSchema(),
|
|
153
|
+
validateRequest: (values) => packageSchemaFieldErrors(ProjectSetupActionValuesSchema.safeParse(actionValues(values)), {
|
|
154
|
+
name: "name",
|
|
155
|
+
path: "path",
|
|
156
|
+
intent: "intent",
|
|
157
|
+
build_plan: "build_plan",
|
|
158
|
+
}),
|
|
159
|
+
valuesPreview: actionValues,
|
|
160
|
+
buildDraft: (values) => ({
|
|
161
|
+
project: inputValue(values, "name"),
|
|
162
|
+
values: actionValues(values),
|
|
163
|
+
message: [
|
|
164
|
+
`Select Build Plan ${inputValue(values, "build_plan")} for Project ${inputValue(values, "name")}.`,
|
|
165
|
+
"Save the selected Build Plan. Do not build yet.",
|
|
166
|
+
"Use the attached typed action input as the source of truth.",
|
|
167
|
+
].join("\n"),
|
|
168
|
+
}),
|
|
169
|
+
fields: [
|
|
170
|
+
{
|
|
171
|
+
name: "build_plan",
|
|
172
|
+
label: "Build Plan",
|
|
173
|
+
type: "select",
|
|
174
|
+
help: "The Build Plan future Build runs should use.",
|
|
175
|
+
context: "Saved on the existing Project.",
|
|
176
|
+
options: buildPlanChoiceOptions(context.buildPlans),
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
name: "current_build_plan",
|
|
180
|
+
label: "Current Build Plan",
|
|
181
|
+
type: "text",
|
|
182
|
+
readOnly: true,
|
|
183
|
+
help: "The Build Plan currently saved for this Project.",
|
|
184
|
+
context: "Shown so the change is explicit before approval.",
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: "name",
|
|
188
|
+
label: "Project",
|
|
189
|
+
type: "text",
|
|
190
|
+
readOnly: true,
|
|
191
|
+
advanced: true,
|
|
192
|
+
help: "The Project whose Build Plan selection will be updated.",
|
|
193
|
+
context: "Sent with the setup action.",
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
name: "path",
|
|
197
|
+
label: "Source",
|
|
198
|
+
type: "text",
|
|
199
|
+
readOnly: true,
|
|
200
|
+
advanced: true,
|
|
201
|
+
help: "The saved local folder for this Source.",
|
|
202
|
+
context: "Preserved while updating the selected Build Plan.",
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
name: "intent",
|
|
206
|
+
label: "Agent task",
|
|
207
|
+
type: "textarea",
|
|
208
|
+
rows: 4,
|
|
209
|
+
readOnly: true,
|
|
210
|
+
advanced: true,
|
|
211
|
+
help: "The Project intent that Build Plan drafting uses by default.",
|
|
212
|
+
context: "Preserved while updating the selected Build Plan.",
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
export function buildCreateBuildPlanActionDefinition(context) {
|
|
218
|
+
const existingBuildPlanIds = new Set(context.existingBuildPlanIds);
|
|
219
|
+
const defaultSeed = context.defaultProject ? `${context.defaultProject}-build-plan` : context.suggestedBuildPlanId;
|
|
220
|
+
const buildPlanId = uniqueActionId(defaultSeed, existingBuildPlanIds);
|
|
221
|
+
const label = titleFromActionId(buildPlanId);
|
|
222
|
+
const projectIntent = context.projectIntent?.trim() ?? "";
|
|
223
|
+
// In a Project the task is already set, so Intent is shown read-only under
|
|
224
|
+
// The one thing we actually ask is how the user wants their files prepared
|
|
225
|
+
// into the Context Graph. Outputs are an optional advanced refinement.
|
|
226
|
+
// Standalone (no Project) keeps Intent as the primary, editable field.
|
|
227
|
+
const inProject = Boolean(context.defaultProject);
|
|
228
|
+
return {
|
|
229
|
+
id: INTERF_SERVICE_ACTIONS.createBuildPlan.id,
|
|
230
|
+
title: INTERF_SERVICE_ACTIONS.createBuildPlan.title,
|
|
231
|
+
description: "Describe how you want Interf to prepare and structure your files into a Context Graph. Interf drafts a Build Plan from your task and this description, and shows it to you before building.",
|
|
232
|
+
submitLabel: "Draft Build Plan",
|
|
233
|
+
initialValues: {
|
|
234
|
+
build_plan_id: "",
|
|
235
|
+
label: "",
|
|
236
|
+
hint: "",
|
|
237
|
+
intent: projectIntent,
|
|
238
|
+
requested_artifacts_description: "",
|
|
239
|
+
user_prep_instructions: "",
|
|
240
|
+
},
|
|
241
|
+
normalizeValues: (values) => normalizedBuildPlanActionValues(values, existingBuildPlanIds, defaultSeed),
|
|
242
|
+
schema: buildPlanAuthoringSchema(existingBuildPlanIds),
|
|
243
|
+
validateRequest: (values) => packageSchemaFieldErrors(BuildPlanAuthoringActionValuesSchema.safeParse(buildPlanAuthoringActionValues(values)), {
|
|
244
|
+
build_plan_id: "build_plan_id",
|
|
245
|
+
label: "label",
|
|
246
|
+
hint: "hint",
|
|
247
|
+
intent: "intent",
|
|
248
|
+
requested_artifacts_description: "requested_artifacts_description",
|
|
249
|
+
user_prep_instructions: "user_prep_instructions",
|
|
250
|
+
}),
|
|
251
|
+
valuesPreview: (values) => ({
|
|
252
|
+
build_plan_id: inputValue(values, "build_plan_id"),
|
|
253
|
+
label: inputValue(values, "label"),
|
|
254
|
+
hint: inputValue(values, "hint"),
|
|
255
|
+
intent: buildPlanIntentFromInput(values),
|
|
256
|
+
}),
|
|
257
|
+
buildDraft: (values) => ({
|
|
258
|
+
project: context.defaultProject,
|
|
259
|
+
values: buildPlanAuthoringActionValues(values),
|
|
260
|
+
message: [
|
|
261
|
+
`Draft Build Plan ${inputValue(values, "build_plan_id")}${context.defaultProject ? ` for Project ${context.defaultProject}` : ""}.`,
|
|
262
|
+
`Label: ${inputValue(values, "label")}`,
|
|
263
|
+
`Summary: ${inputValue(values, "hint")}`,
|
|
264
|
+
buildPlanIntentFromInput(values),
|
|
265
|
+
"Use the attached typed action input as the Build Plan authoring request.",
|
|
266
|
+
].join("\n"),
|
|
267
|
+
}),
|
|
268
|
+
fields: [
|
|
269
|
+
{
|
|
270
|
+
name: "user_prep_instructions",
|
|
271
|
+
label: "How should Interf prepare your files?",
|
|
272
|
+
type: "textarea",
|
|
273
|
+
rows: 4,
|
|
274
|
+
help: "Describe how you want your files structured and prepared into the Context Graph — the way you'd tell a colleague. This is the main thing Interf turns into a Build Plan you review before anything runs.",
|
|
275
|
+
context: "Primary Build Plan authoring instruction — guides how stages prepare and structure the Context Graph.",
|
|
276
|
+
placeholder: "Example: read each contract and lay it out one page at a time, with the parties, dates, and renewal terms pulled out and linked back to the source file.",
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
name: "intent",
|
|
280
|
+
label: "Agent task",
|
|
281
|
+
type: "textarea",
|
|
282
|
+
rows: 4,
|
|
283
|
+
...(inProject ? { advanced: true, readOnly: true } : {}),
|
|
284
|
+
help: inProject
|
|
285
|
+
? "The Project task this draft builds from — set on the Project."
|
|
286
|
+
: "The agent task this plan should unlock.",
|
|
287
|
+
context: "Used as the main Build Plan authoring instruction.",
|
|
288
|
+
placeholder: "Example: Analyze every report chart, extract annual take-up by location, and produce a source data file plus markdown summary.",
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
name: "requested_artifacts_description",
|
|
292
|
+
label: "Specific outputs (optional)",
|
|
293
|
+
type: "textarea",
|
|
294
|
+
rows: 3,
|
|
295
|
+
advanced: true,
|
|
296
|
+
help: "Optional. Call out specific outputs you want, the way you'd tell a colleague. Otherwise Interf infers them from how you want your files prepared.",
|
|
297
|
+
context: "Guides the requested outputs, Build Plan stages, and coverage metrics.",
|
|
298
|
+
placeholder: "Example: a summary of each contract with the parties, dates, and renewal terms — each linked back to the original file.",
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
name: "build_plan_id",
|
|
302
|
+
label: "Build Plan id",
|
|
303
|
+
type: "text",
|
|
304
|
+
advanced: true,
|
|
305
|
+
help: "Optional. Leave blank and Interf generates a stable id from the job.",
|
|
306
|
+
context: "Saved as the Build Plan id and referenced by Projects.",
|
|
307
|
+
placeholder: buildPlanId,
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
name: "label",
|
|
311
|
+
label: "Label",
|
|
312
|
+
type: "text",
|
|
313
|
+
advanced: true,
|
|
314
|
+
help: "Optional readable name people can choose later.",
|
|
315
|
+
context: "Shown in the UI and sent to the local agent while drafting the Build Plan.",
|
|
316
|
+
placeholder: label,
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
name: "hint",
|
|
320
|
+
label: "Summary",
|
|
321
|
+
type: "textarea",
|
|
322
|
+
advanced: true,
|
|
323
|
+
rows: 2,
|
|
324
|
+
help: "Optional short description. Interf derives one from the job if left blank.",
|
|
325
|
+
context: "Gives the local agent quick context before it drafts stages and outputs.",
|
|
326
|
+
placeholder: "Build charts, tables, and cited findings for analyst agents.",
|
|
327
|
+
},
|
|
328
|
+
],
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
export function buildBuildPlanChangeActionDefinition(context) {
|
|
332
|
+
const existingBuildPlanIds = new Set(context.existingBuildPlanIds);
|
|
333
|
+
const actionLabel = titleFromActionId(context.action);
|
|
334
|
+
const newBuildPlanId = context.action === "duplicate"
|
|
335
|
+
? uniqueActionId(`${context.buildPlanId}-copy`, existingBuildPlanIds)
|
|
336
|
+
: "";
|
|
337
|
+
const initialValues = {
|
|
338
|
+
action: `build-plan-${context.action}`,
|
|
339
|
+
build_plan: context.buildPlanId,
|
|
340
|
+
project: context.project,
|
|
341
|
+
...(context.action === "modify" ? { change_request: "", label: context.label ?? "", hint: context.hint ?? "" } : {}),
|
|
342
|
+
...(context.action === "duplicate" ? { new_build_plan_id: newBuildPlanId } : {}),
|
|
343
|
+
...(context.action === "remove" ? { confirmation: "" } : {}),
|
|
344
|
+
};
|
|
345
|
+
const actionValues = (values) => buildPlanChangeActionValues(context.action, values);
|
|
346
|
+
const messageFor = (values) => {
|
|
347
|
+
if (context.action === "modify") {
|
|
348
|
+
return [
|
|
349
|
+
`Modify Build Plan ${inputValue(values, "build_plan")}.`,
|
|
350
|
+
`Requested change: ${inputValue(values, "change_request")}`,
|
|
351
|
+
"Use the attached typed Build Plan authoring input as the source of truth.",
|
|
352
|
+
].join("\n");
|
|
353
|
+
}
|
|
354
|
+
if (context.action === "duplicate") {
|
|
355
|
+
return [
|
|
356
|
+
`Duplicate Build Plan ${inputValue(values, "build_plan")} as ${inputValue(values, "new_build_plan_id")}.`,
|
|
357
|
+
"Use the attached typed Build Plan change input as the source of truth.",
|
|
358
|
+
].join("\n");
|
|
359
|
+
}
|
|
360
|
+
return [
|
|
361
|
+
`Remove Build Plan ${inputValue(values, "build_plan")}.`,
|
|
362
|
+
"The user typed the Build Plan id to confirm removal.",
|
|
363
|
+
"Use the attached typed Build Plan change input as the source of truth.",
|
|
364
|
+
].join("\n");
|
|
365
|
+
};
|
|
366
|
+
const fields = [
|
|
367
|
+
{
|
|
368
|
+
name: "build_plan",
|
|
369
|
+
label: "Build Plan",
|
|
370
|
+
type: "text",
|
|
371
|
+
readOnly: true,
|
|
372
|
+
help: "The Build Plan this request targets.",
|
|
373
|
+
context: "Sent as the Build Plan change target.",
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
name: "change_request",
|
|
377
|
+
label: context.action === "duplicate" ? "Requested difference" : "Requested change",
|
|
378
|
+
type: "textarea",
|
|
379
|
+
rows: 4,
|
|
380
|
+
advanced: context.action === "remove",
|
|
381
|
+
help: context.action === "duplicate"
|
|
382
|
+
? "What should be different in the duplicate Build Plan."
|
|
383
|
+
: "What should change in the existing Build Plan.",
|
|
384
|
+
context: "Sent as the human-authored Build Plan change request.",
|
|
385
|
+
placeholder: "Describe the concrete change Interf should make.",
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
name: "new_build_plan_id",
|
|
389
|
+
label: "New Build Plan id",
|
|
390
|
+
type: "text",
|
|
391
|
+
advanced: context.action !== "duplicate",
|
|
392
|
+
help: "Stable id for the duplicated Build Plan.",
|
|
393
|
+
context: "Used as the target Build Plan id for the duplicate request.",
|
|
394
|
+
placeholder: newBuildPlanId,
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
name: "confirmation",
|
|
398
|
+
label: "Confirm removal",
|
|
399
|
+
type: "text",
|
|
400
|
+
advanced: context.action !== "remove",
|
|
401
|
+
help: `Type ${context.buildPlanId} to confirm this removal request.`,
|
|
402
|
+
context: "Prevents accidental destructive Build Plan requests.",
|
|
403
|
+
placeholder: context.buildPlanId,
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
name: "label",
|
|
407
|
+
label: "Label",
|
|
408
|
+
type: "text",
|
|
409
|
+
advanced: true,
|
|
410
|
+
help: "Readable Build Plan name to keep while modifying this Build Plan.",
|
|
411
|
+
context: "Sent to the Build Plan authoring run.",
|
|
412
|
+
placeholder: context.label ?? context.buildPlanId,
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
name: "hint",
|
|
416
|
+
label: "Summary",
|
|
417
|
+
type: "textarea",
|
|
418
|
+
rows: 2,
|
|
419
|
+
advanced: true,
|
|
420
|
+
help: "Short Build Plan summary to keep while modifying this Build Plan.",
|
|
421
|
+
context: "Sent to the Build Plan authoring run.",
|
|
422
|
+
placeholder: context.hint ?? "Build Plan for source coverage and task knowledge.",
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
name: "project",
|
|
426
|
+
label: "Project",
|
|
427
|
+
type: "text",
|
|
428
|
+
readOnly: true,
|
|
429
|
+
advanced: true,
|
|
430
|
+
help: "A related Project used as context for this request.",
|
|
431
|
+
context: "Sent with the proposal request when available.",
|
|
432
|
+
placeholder: "No Project selected",
|
|
433
|
+
},
|
|
434
|
+
];
|
|
435
|
+
return {
|
|
436
|
+
id: `${INTERF_SERVICE_ACTIONS.buildPlanChange.id}-${context.action}`,
|
|
437
|
+
title: `${actionLabel} Build Plan`,
|
|
438
|
+
description: context.action === "remove"
|
|
439
|
+
? "Confirm the Build Plan removal request. Interf will reject removal while any saved Project still uses it."
|
|
440
|
+
: context.action === "duplicate"
|
|
441
|
+
? "Duplicate this Build Plan through the local Interf service."
|
|
442
|
+
: "Describe the change and Interf will run a visible Build Plan draft run.",
|
|
443
|
+
submitLabel: context.action === "modify" ? "Modify Build Plan" : "Confirm",
|
|
444
|
+
initialValues,
|
|
445
|
+
schema: buildPlanChangeSchema(context.action, context.buildPlanId, existingBuildPlanIds),
|
|
446
|
+
valuesPreview: actionValues,
|
|
447
|
+
buildDraft: (values) => ({
|
|
448
|
+
project: inputValue(values, "project"),
|
|
449
|
+
values: actionValues(values),
|
|
450
|
+
message: messageFor(values),
|
|
451
|
+
}),
|
|
452
|
+
fields: fields.filter((field) => {
|
|
453
|
+
if (field.name === "change_request")
|
|
454
|
+
return context.action === "modify";
|
|
455
|
+
if (field.name === "new_build_plan_id")
|
|
456
|
+
return context.action === "duplicate";
|
|
457
|
+
if (field.name === "confirmation")
|
|
458
|
+
return context.action === "remove";
|
|
459
|
+
if (field.name === "label" || field.name === "hint")
|
|
460
|
+
return context.action === "modify";
|
|
461
|
+
return true;
|
|
462
|
+
}),
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
export function buildProjectChangeActionDefinition(context) {
|
|
466
|
+
const existingNames = new Set(context.existingNames);
|
|
467
|
+
const actionLabel = titleFromActionId(context.action);
|
|
468
|
+
const duplicateName = context.action === "duplicate"
|
|
469
|
+
? uniqueActionId(`${context.project}-copy`, existingNames)
|
|
470
|
+
: "";
|
|
471
|
+
const initialValues = {
|
|
472
|
+
action: `project-${context.action}`,
|
|
473
|
+
project: context.project,
|
|
474
|
+
...(context.action === "modify" || context.action === "duplicate"
|
|
475
|
+
? {
|
|
476
|
+
name: context.action === "duplicate" ? duplicateName : context.project,
|
|
477
|
+
path: context.sourceFolderPath,
|
|
478
|
+
intent: context.intent,
|
|
479
|
+
build_plan: context.buildPlanId ?? "",
|
|
480
|
+
}
|
|
481
|
+
: {}),
|
|
482
|
+
...(context.action === "remove" ? { confirmation: "" } : {}),
|
|
483
|
+
};
|
|
484
|
+
const actionValues = (values) => projectChangeActionValues(context.action, values);
|
|
485
|
+
const messageFor = (values) => {
|
|
486
|
+
if (context.action === "modify") {
|
|
487
|
+
return [
|
|
488
|
+
`Modify Project ${inputValue(values, "project")}.`,
|
|
489
|
+
maybeActionValue(inputValue(values, "build_plan")) ? `Build Plan: ${inputValue(values, "build_plan")}` : null,
|
|
490
|
+
`Source: ${inputValue(values, "path")}`,
|
|
491
|
+
`Agent task: ${inputValue(values, "intent")}`,
|
|
492
|
+
"Use the attached typed Project setup input as the source of truth.",
|
|
493
|
+
].filter((line) => Boolean(line)).join("\n");
|
|
494
|
+
}
|
|
495
|
+
if (context.action === "duplicate") {
|
|
496
|
+
return [
|
|
497
|
+
`Duplicate Project ${inputValue(values, "project")} as ${inputValue(values, "name")}.`,
|
|
498
|
+
maybeActionValue(inputValue(values, "build_plan")) ? `Build Plan: ${inputValue(values, "build_plan")}` : null,
|
|
499
|
+
`Source: ${inputValue(values, "path")}`,
|
|
500
|
+
`Agent task: ${inputValue(values, "intent")}`,
|
|
501
|
+
"Use the attached typed Project setup input as the source of truth.",
|
|
502
|
+
].filter((line) => Boolean(line)).join("\n");
|
|
503
|
+
}
|
|
504
|
+
return [
|
|
505
|
+
`Remove Project ${inputValue(values, "project")}.`,
|
|
506
|
+
"The user typed the Project id to confirm removal.",
|
|
507
|
+
"Use the attached typed Project change input as the source of truth.",
|
|
508
|
+
].join("\n");
|
|
509
|
+
};
|
|
510
|
+
const fields = [
|
|
511
|
+
{
|
|
512
|
+
name: "project",
|
|
513
|
+
label: "Project",
|
|
514
|
+
type: "text",
|
|
515
|
+
readOnly: true,
|
|
516
|
+
help: "The saved Project this request targets.",
|
|
517
|
+
context: "Sent as the Project target.",
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
name: "name",
|
|
521
|
+
label: context.action === "duplicate" ? "New Project id" : "Project id",
|
|
522
|
+
type: "text",
|
|
523
|
+
readOnly: context.action === "modify",
|
|
524
|
+
help: context.action === "duplicate"
|
|
525
|
+
? "Stable id for the duplicated Project."
|
|
526
|
+
: "Stable id for this Project.",
|
|
527
|
+
context: "Saved as the Project name.",
|
|
528
|
+
placeholder: duplicateName || context.project,
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
name: "build_plan",
|
|
532
|
+
label: "Build Plan",
|
|
533
|
+
type: "text",
|
|
534
|
+
help: "The Build Plan future Build runs should use.",
|
|
535
|
+
context: "Saved on this Project.",
|
|
536
|
+
placeholder: "interf-default",
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
name: "path",
|
|
540
|
+
label: "Source",
|
|
541
|
+
type: "text",
|
|
542
|
+
readOnly: true,
|
|
543
|
+
advanced: context.action === "modify",
|
|
544
|
+
help: "The local folder for this Project's Source.",
|
|
545
|
+
context: "Saved on this Project.",
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
name: "intent",
|
|
549
|
+
label: "Agent task",
|
|
550
|
+
type: "textarea",
|
|
551
|
+
rows: 4,
|
|
552
|
+
help: "What this Project's Context Graph should prepare the Source for.",
|
|
553
|
+
context: "Saved as the durable Project intent.",
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
name: "confirmation",
|
|
557
|
+
label: "Confirm removal",
|
|
558
|
+
type: "text",
|
|
559
|
+
help: `Type ${context.project} to confirm this removal request.`,
|
|
560
|
+
context: "Prevents accidental destructive Project requests.",
|
|
561
|
+
placeholder: context.project,
|
|
562
|
+
},
|
|
563
|
+
];
|
|
564
|
+
return {
|
|
565
|
+
id: `${INTERF_SERVICE_ACTIONS.projectChange.id}-${context.action}`,
|
|
566
|
+
title: `${actionLabel} Project`,
|
|
567
|
+
description: context.action === "remove"
|
|
568
|
+
? "Confirm the Project removal request before Interf removes it from the saved config."
|
|
569
|
+
: context.action === "duplicate"
|
|
570
|
+
? "Describe the new Project created from this saved Source."
|
|
571
|
+
: "Update the saved Project fields through the local Interf service.",
|
|
572
|
+
submitLabel: "Confirm",
|
|
573
|
+
initialValues,
|
|
574
|
+
schema: projectChangeSchema(context.action, context.project, existingNames),
|
|
575
|
+
validateRequest: context.action === "modify" || context.action === "duplicate"
|
|
576
|
+
? (values) => packageSchemaFieldErrors(ProjectSetupActionValuesSchema.safeParse(duplicateProjectActionValues(values)), {
|
|
577
|
+
name: "name",
|
|
578
|
+
path: "path",
|
|
579
|
+
intent: "intent",
|
|
580
|
+
build_plan: "build_plan",
|
|
581
|
+
})
|
|
582
|
+
: undefined,
|
|
583
|
+
valuesPreview: actionValues,
|
|
584
|
+
buildDraft: (values) => ({
|
|
585
|
+
project: inputValue(values, "project"),
|
|
586
|
+
values: actionValues(values),
|
|
587
|
+
message: messageFor(values),
|
|
588
|
+
}),
|
|
589
|
+
fields: fields.filter((field) => {
|
|
590
|
+
if (field.name === "name" || field.name === "build_plan" || field.name === "path" || field.name === "intent")
|
|
591
|
+
return context.action === "modify" || context.action === "duplicate";
|
|
592
|
+
if (field.name === "confirmation")
|
|
593
|
+
return context.action === "remove";
|
|
594
|
+
return true;
|
|
595
|
+
}),
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
export function buildConfirmActionDefinition(draft) {
|
|
599
|
+
return {
|
|
600
|
+
id: INTERF_SERVICE_ACTIONS.confirmAction.id,
|
|
601
|
+
title: INTERF_SERVICE_ACTIONS.confirmAction.title,
|
|
602
|
+
description: "This request will be sent to the local Interf service to create an approval proposal.",
|
|
603
|
+
submitLabel: "Confirm Request",
|
|
604
|
+
initialValues: {
|
|
605
|
+
project: draft.project,
|
|
606
|
+
message: draft.message,
|
|
607
|
+
},
|
|
608
|
+
schema: z.object({
|
|
609
|
+
project: optionalActionText,
|
|
610
|
+
message: requiredActionText("Action"),
|
|
611
|
+
}).strict(),
|
|
612
|
+
valuesPreview: () => draft.values ?? { message: draft.message },
|
|
613
|
+
buildDraft: () => ({ ...draft, confirmed: true }),
|
|
614
|
+
fields: [
|
|
615
|
+
{
|
|
616
|
+
name: "project",
|
|
617
|
+
label: "Project",
|
|
618
|
+
type: "text",
|
|
619
|
+
readOnly: true,
|
|
620
|
+
help: "The Project this action targets.",
|
|
621
|
+
context: "Sent with the proposal request.",
|
|
622
|
+
placeholder: "No Project selected",
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
name: "message",
|
|
626
|
+
label: "Request to Interf service",
|
|
627
|
+
type: "textarea",
|
|
628
|
+
readOnly: true,
|
|
629
|
+
rows: 5,
|
|
630
|
+
help: "Interf sends this request with typed values so the local service can propose the concrete action.",
|
|
631
|
+
context: "Sent to the local Interf service together with typed action values when available.",
|
|
632
|
+
},
|
|
633
|
+
],
|
|
634
|
+
};
|
|
635
|
+
}
|
|
636
|
+
export function buildBenchmarkActionDraft(options) {
|
|
637
|
+
if (options.action === "check") {
|
|
638
|
+
return {
|
|
639
|
+
project: options.project,
|
|
640
|
+
message: `Run benchmark for ${options.project}.`,
|
|
641
|
+
values: {
|
|
642
|
+
action_type: INTERF_SERVICE_ACTIONS.runBenchmark.serviceAction,
|
|
643
|
+
project: options.project,
|
|
644
|
+
target: "both",
|
|
645
|
+
},
|
|
646
|
+
};
|
|
647
|
+
}
|
|
648
|
+
if (options.action === "draft-checks") {
|
|
649
|
+
return {
|
|
650
|
+
project: options.project,
|
|
651
|
+
message: `Draft benchmark questions for ${options.project}.`,
|
|
652
|
+
values: {
|
|
653
|
+
action_type: INTERF_SERVICE_ACTIONS.draftBenchmarkQuestions.serviceAction,
|
|
654
|
+
project: options.project,
|
|
655
|
+
},
|
|
656
|
+
};
|
|
657
|
+
}
|
|
658
|
+
return {
|
|
659
|
+
project: options.project,
|
|
660
|
+
message: `Improve ${options.project} using benchmark results, Graph Manifest metrics, Stage Manifests, and supplemental diagnostics.`,
|
|
661
|
+
values: {
|
|
662
|
+
action_type: INTERF_SERVICE_ACTIONS.improveProject.serviceAction,
|
|
663
|
+
...(options.buildPlanId ? { build_plan: options.buildPlanId } : {}),
|
|
664
|
+
project: options.project,
|
|
665
|
+
},
|
|
666
|
+
};
|
|
667
|
+
}
|
|
@@ -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>;
|