@bjoernrochel/sevro 1.0.0 → 1.1.1
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/CONTRIBUTING.md +34 -4
- package/README.md +7 -6
- package/dist/examples/basic/graded.json +13 -0
- package/dist/examples/basic/host.js +9 -0
- package/dist/examples/basic/host.js.map +1 -0
- package/dist/examples/basic/prompt-only.json +7 -0
- package/dist/examples/recipes/candidate.js +23 -0
- package/dist/examples/recipes/candidate.js.map +1 -0
- package/dist/examples/recipes/cases/coding-change.json +21 -0
- package/dist/examples/recipes/cases/host-tools.json +21 -0
- package/dist/examples/recipes/cases/mise.json +21 -0
- package/dist/examples/recipes/cases/node.json +21 -0
- package/dist/examples/recipes/cases/python-uv.json +21 -0
- package/dist/examples/recipes/cases/semantic.json +17 -0
- package/dist/examples/recipes/coding-change/check.js +16 -0
- package/dist/examples/recipes/coding-change/check.js.map +1 -0
- package/dist/examples/recipes/executable.js +20 -0
- package/dist/examples/recipes/executable.js.map +1 -0
- package/dist/examples/recipes/extension-artifacts.js +56 -0
- package/dist/examples/recipes/extension-artifacts.js.map +1 -0
- package/dist/examples/recipes/extension-methods.js +167 -0
- package/dist/examples/recipes/extension-methods.js.map +1 -0
- package/dist/examples/recipes/extension.js +28 -0
- package/dist/examples/recipes/extension.js.map +1 -0
- package/dist/examples/recipes/modules.js +9 -0
- package/dist/examples/recipes/modules.js.map +1 -0
- package/dist/examples/recipes/repository-skill/.agents/skills/startup-guide/SKILL.md +7 -0
- package/dist/examples/recipes/repository-skill/.claude/skills/startup-guide/SKILL.md +7 -0
- package/dist/examples/recipes/repository-skill/README.md +3 -0
- package/dist/examples/recipes/run-inputs.js +144 -0
- package/dist/examples/recipes/run-inputs.js.map +1 -0
- package/dist/examples/recipes/run-options.js +103 -0
- package/dist/examples/recipes/run-options.js.map +1 -0
- package/dist/examples/recipes/run.js +62 -0
- package/dist/examples/recipes/run.js.map +1 -0
- package/dist/examples/recipes/runtime/empty.json +1 -0
- package/dist/examples/recipes/runtime/goals.json +1 -0
- package/dist/examples/recipes/runtime/mise.json +6 -0
- package/dist/examples/recipes/runtime/path.json +1 -0
- package/dist/examples/recipes/runtime/plugins.json +4 -0
- package/dist/examples/recipes/runtime/python-uv.json +10 -0
- package/dist/examples/recipes/semantic-judge.js +27 -0
- package/dist/examples/recipes/semantic-judge.js.map +1 -0
- package/dist/examples/templates/coding/adapter.js +14 -0
- package/dist/examples/templates/coding/adapter.js.map +1 -0
- package/dist/examples/templates/coding/case.json +15 -0
- package/dist/examples/templates/repository-skill/.agents/skills/startup-guide/SKILL.md +6 -0
- package/dist/examples/templates/repository-skill/extension-data.js +61 -0
- package/dist/examples/templates/repository-skill/extension-data.js.map +1 -0
- package/dist/examples/templates/repository-skill/extension.js +29 -0
- package/dist/examples/templates/repository-skill/extension.js.map +1 -0
- package/dist/examples/templates/response/adapter.js +13 -0
- package/dist/examples/templates/response/adapter.js.map +1 -0
- package/dist/examples/templates/response/case.json +13 -0
- package/dist/src/advisory.js +86 -0
- package/dist/src/advisory.js.map +1 -0
- package/dist/src/candidate-artifacts.js +139 -0
- package/dist/src/candidate-artifacts.js.map +1 -0
- package/dist/src/candidate-codex-state.js +110 -0
- package/dist/src/candidate-codex-state.js.map +1 -0
- package/dist/src/case-validation.js +92 -0
- package/dist/src/case-validation.js.map +1 -0
- package/dist/src/cli/cancellation.js +21 -0
- package/dist/src/cli/cancellation.js.map +1 -0
- package/dist/src/cli/command.js +60 -0
- package/dist/src/cli/command.js.map +1 -0
- package/dist/src/cli/completion.js +14 -0
- package/dist/src/cli/completion.js.map +1 -0
- package/dist/src/cli/demo.js +45 -0
- package/dist/src/cli/demo.js.map +1 -0
- package/dist/src/cli/evaluation.js +40 -0
- package/dist/src/cli/evaluation.js.map +1 -0
- package/dist/src/cli/extension.js +54 -0
- package/dist/src/cli/extension.js.map +1 -0
- package/dist/src/cli/help.js +190 -0
- package/dist/src/cli/help.js.map +1 -0
- package/dist/src/cli/hosts.js +33 -0
- package/dist/src/cli/hosts.js.map +1 -0
- package/dist/src/cli/init-settings.js +29 -0
- package/dist/src/cli/init-settings.js.map +1 -0
- package/dist/src/cli/init.js +82 -0
- package/dist/src/cli/init.js.map +1 -0
- package/dist/src/cli/invocation.js +431 -0
- package/dist/src/cli/invocation.js.map +1 -0
- package/dist/src/cli/loading.js +110 -0
- package/dist/src/cli/loading.js.map +1 -0
- package/dist/src/cli/preparation.js +88 -0
- package/dist/src/cli/preparation.js.map +1 -0
- package/dist/src/cli/presentation.js +61 -0
- package/dist/src/cli/presentation.js.map +1 -0
- package/dist/src/cli/progress.js +5 -0
- package/dist/src/cli/progress.js.map +1 -0
- package/dist/src/cli/run-manifest.js +108 -0
- package/dist/src/cli/run-manifest.js.map +1 -0
- package/dist/src/cli/run-options.js +367 -0
- package/dist/src/cli/run-options.js.map +1 -0
- package/dist/src/cli/run-overrides.js +51 -0
- package/dist/src/cli/run-overrides.js.map +1 -0
- package/dist/src/cli/settings.js +127 -0
- package/dist/src/cli/settings.js.map +1 -0
- package/dist/src/cli/summary.js +28 -0
- package/dist/src/cli/summary.js.map +1 -0
- package/dist/src/cli.js +20 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/contract-types.js +2 -0
- package/dist/src/contract-types.js.map +1 -0
- package/dist/src/engine.js +4 -0
- package/dist/src/engine.js.map +1 -0
- package/dist/src/evaluation/advisory.js +85 -0
- package/dist/src/evaluation/advisory.js.map +1 -0
- package/dist/src/evaluation/check-plan.js +292 -0
- package/dist/src/evaluation/check-plan.js.map +1 -0
- package/dist/src/evaluation/collection.js +61 -0
- package/dist/src/evaluation/collection.js.map +1 -0
- package/dist/src/evaluation/context.js +2 -0
- package/dist/src/evaluation/context.js.map +1 -0
- package/dist/src/evaluation/grading-host.js +28 -0
- package/dist/src/evaluation/grading-host.js.map +1 -0
- package/dist/src/evaluation/grading.js +154 -0
- package/dist/src/evaluation/grading.js.map +1 -0
- package/dist/src/evaluation/invocation-plan.js +312 -0
- package/dist/src/evaluation/invocation-plan.js.map +1 -0
- package/dist/src/evaluation/plan.js +376 -0
- package/dist/src/evaluation/plan.js.map +1 -0
- package/dist/src/evaluation/progress.js +14 -0
- package/dist/src/evaluation/progress.js.map +1 -0
- package/dist/src/evaluation/resources.js +159 -0
- package/dist/src/evaluation/resources.js.map +1 -0
- package/dist/src/evaluation/run.js +148 -0
- package/dist/src/evaluation/run.js.map +1 -0
- package/dist/src/evaluation/scheduler.js +27 -0
- package/dist/src/evaluation/scheduler.js.map +1 -0
- package/dist/src/evaluation/semantic.js +183 -0
- package/dist/src/evaluation/semantic.js.map +1 -0
- package/dist/src/evaluation/trial.js +593 -0
- package/dist/src/evaluation/trial.js.map +1 -0
- package/dist/src/evaluation/types.js +20 -0
- package/dist/src/evaluation/types.js.map +1 -0
- package/dist/src/evidence/host-results.js +67 -0
- package/dist/src/evidence/host-results.js.map +1 -0
- package/dist/src/evidence/retained-artifacts.js +17 -0
- package/dist/src/evidence/retained-artifacts.js.map +1 -0
- package/dist/src/evidence/trial-writer.js +131 -0
- package/dist/src/evidence/trial-writer.js.map +1 -0
- package/dist/src/evidence/usage.js +14 -0
- package/dist/src/evidence/usage.js.map +1 -0
- package/dist/src/executable.js +20 -0
- package/dist/src/executable.js.map +1 -0
- package/dist/src/extension-client.js +212 -0
- package/dist/src/extension-client.js.map +1 -0
- package/dist/src/extension-session.js +236 -0
- package/dist/src/extension-session.js.map +1 -0
- package/dist/src/fixtures/advisory.js +206 -0
- package/dist/src/fixtures/advisory.js.map +1 -0
- package/dist/src/fixtures/bin.js +41 -0
- package/dist/src/fixtures/bin.js.map +1 -0
- package/dist/src/fixtures/cleanup.js +43 -0
- package/dist/src/fixtures/cleanup.js.map +1 -0
- package/dist/src/fixtures/create.js +94 -0
- package/dist/src/fixtures/create.js.map +1 -0
- package/dist/src/fixtures/generated.js +181 -0
- package/dist/src/fixtures/generated.js.map +1 -0
- package/dist/src/fixtures/git-hooks.js +16 -0
- package/dist/src/fixtures/git-hooks.js.map +1 -0
- package/dist/src/fixtures/preparation.js +201 -0
- package/dist/src/fixtures/preparation.js.map +1 -0
- package/dist/src/fixtures/repository.js +255 -0
- package/dist/src/fixtures/repository.js.map +1 -0
- package/dist/src/fixtures/setup.js +175 -0
- package/dist/src/fixtures/setup.js.map +1 -0
- package/dist/src/fixtures/tools.js +57 -0
- package/dist/src/fixtures/tools.js.map +1 -0
- package/dist/src/fixtures/workspace-state.js +155 -0
- package/dist/src/fixtures/workspace-state.js.map +1 -0
- package/dist/src/generated/cli-result.cjs +2 -0
- package/dist/src/generated/extension.cjs +2 -0
- package/dist/src/generated/report.cjs +2 -0
- package/dist/src/generated/run-evidence.cjs +2 -0
- package/dist/src/generated/runtime.cjs +2 -0
- package/dist/src/git.js +72 -0
- package/dist/src/git.js.map +1 -0
- package/dist/src/graders/artifact.js +68 -0
- package/dist/src/graders/artifact.js.map +1 -0
- package/dist/src/graders/git-head.js +112 -0
- package/dist/src/graders/git-head.js.map +1 -0
- package/dist/src/graders/output.js +345 -0
- package/dist/src/graders/output.js.map +1 -0
- package/dist/src/graders/semantic.js +132 -0
- package/dist/src/graders/semantic.js.map +1 -0
- package/dist/src/graders/shell.js +321 -0
- package/dist/src/graders/shell.js.map +1 -0
- package/dist/src/host-diagnostic-redaction.js +52 -0
- package/dist/src/host-diagnostic-redaction.js.map +1 -0
- package/dist/src/host-diagnostics.js +248 -0
- package/dist/src/host-diagnostics.js.map +1 -0
- package/dist/src/hosts/claude-continuation.js +89 -0
- package/dist/src/hosts/claude-continuation.js.map +1 -0
- package/dist/src/hosts/claude-credential.js +121 -0
- package/dist/src/hosts/claude-credential.js.map +1 -0
- package/dist/src/hosts/claude-events.js +136 -0
- package/dist/src/hosts/claude-events.js.map +1 -0
- package/dist/src/hosts/claude-keychain.js +100 -0
- package/dist/src/hosts/claude-keychain.js.map +1 -0
- package/dist/src/hosts/claude-login-recovery.js +67 -0
- package/dist/src/hosts/claude-login-recovery.js.map +1 -0
- package/dist/src/hosts/claude-login-refresh.js +146 -0
- package/dist/src/hosts/claude-login-refresh.js.map +1 -0
- package/dist/src/hosts/claude-login-store.js +124 -0
- package/dist/src/hosts/claude-login-store.js.map +1 -0
- package/dist/src/hosts/claude-login.js +74 -0
- package/dist/src/hosts/claude-login.js.map +1 -0
- package/dist/src/hosts/claude-native-goal.js +138 -0
- package/dist/src/hosts/claude-native-goal.js.map +1 -0
- package/dist/src/hosts/claude-process.js +10 -0
- package/dist/src/hosts/claude-process.js.map +1 -0
- package/dist/src/hosts/claude-refresh-lock.js +76 -0
- package/dist/src/hosts/claude-refresh-lock.js.map +1 -0
- package/dist/src/hosts/claude-repository-invocation.js +229 -0
- package/dist/src/hosts/claude-repository-invocation.js.map +1 -0
- package/dist/src/hosts/claude-settings.js +158 -0
- package/dist/src/hosts/claude-settings.js.map +1 -0
- package/dist/src/hosts/claude-skill-activations.js +131 -0
- package/dist/src/hosts/claude-skill-activations.js.map +1 -0
- package/dist/src/hosts/claude-state.js +237 -0
- package/dist/src/hosts/claude-state.js.map +1 -0
- package/dist/src/hosts/claude-tool-calls.js +150 -0
- package/dist/src/hosts/claude-tool-calls.js.map +1 -0
- package/dist/src/hosts/claude.js +373 -0
- package/dist/src/hosts/claude.js.map +1 -0
- package/dist/src/hosts/codex-app-server.js +764 -0
- package/dist/src/hosts/codex-app-server.js.map +1 -0
- package/dist/src/hosts/codex-configuration.js +91 -0
- package/dist/src/hosts/codex-configuration.js.map +1 -0
- package/dist/src/hosts/codex-events.js +104 -0
- package/dist/src/hosts/codex-events.js.map +1 -0
- package/dist/src/hosts/codex-exec-controls.js +434 -0
- package/dist/src/hosts/codex-exec-controls.js.map +1 -0
- package/dist/src/hosts/codex-invocation.js +54 -0
- package/dist/src/hosts/codex-invocation.js.map +1 -0
- package/dist/src/hosts/codex-marketplace.js +185 -0
- package/dist/src/hosts/codex-marketplace.js.map +1 -0
- package/dist/src/hosts/codex-native-calls.js +516 -0
- package/dist/src/hosts/codex-native-calls.js.map +1 -0
- package/dist/src/hosts/codex-process.js +10 -0
- package/dist/src/hosts/codex-process.js.map +1 -0
- package/dist/src/hosts/codex-profile.js +206 -0
- package/dist/src/hosts/codex-profile.js.map +1 -0
- package/dist/src/hosts/codex-session-files.js +89 -0
- package/dist/src/hosts/codex-session-files.js.map +1 -0
- package/dist/src/hosts/codex-state.js +310 -0
- package/dist/src/hosts/codex-state.js.map +1 -0
- package/dist/src/hosts/codex.js +527 -0
- package/dist/src/hosts/codex.js.map +1 -0
- package/dist/src/hosts/isolation-common.js +43 -0
- package/dist/src/hosts/isolation-common.js.map +1 -0
- package/dist/src/hosts/isolation-roots.js +64 -0
- package/dist/src/hosts/isolation-roots.js.map +1 -0
- package/dist/src/hosts/isolation.js +12 -0
- package/dist/src/hosts/isolation.js.map +1 -0
- package/dist/src/hosts/linux-sandbox.js +127 -0
- package/dist/src/hosts/linux-sandbox.js.map +1 -0
- package/dist/src/hosts/mac-sandbox.js +137 -0
- package/dist/src/hosts/mac-sandbox.js.map +1 -0
- package/dist/src/hosts/native-controls.js +151 -0
- package/dist/src/hosts/native-controls.js.map +1 -0
- package/dist/src/hosts/native-request.js +33 -0
- package/dist/src/hosts/native-request.js.map +1 -0
- package/dist/src/hosts/process-lifecycle.js +167 -0
- package/dist/src/hosts/process-lifecycle.js.map +1 -0
- package/dist/src/hosts/protected-worktrees.js +81 -0
- package/dist/src/hosts/protected-worktrees.js.map +1 -0
- package/dist/src/hosts/skill-hook-catalog.js +100 -0
- package/dist/src/hosts/skill-hook-catalog.js.map +1 -0
- package/dist/src/hosts/skill-hook-handler.js +228 -0
- package/dist/src/hosts/skill-hook-handler.js.map +1 -0
- package/dist/src/hosts/skill-hooks.js +423 -0
- package/dist/src/hosts/skill-hooks.js.map +1 -0
- package/dist/src/hosts/workspace-fingerprint.js +72 -0
- package/dist/src/hosts/workspace-fingerprint.js.map +1 -0
- package/dist/src/identity.js +167 -0
- package/dist/src/identity.js.map +1 -0
- package/dist/src/instrumentation.js +83 -0
- package/dist/src/instrumentation.js.map +1 -0
- package/dist/src/native-transcript-state.js +85 -0
- package/dist/src/native-transcript-state.js.map +1 -0
- package/dist/src/native-transcript-view.js +65 -0
- package/dist/src/native-transcript-view.js.map +1 -0
- package/dist/src/native-transcripts.js +208 -0
- package/dist/src/native-transcripts.js.map +1 -0
- package/dist/src/paths.js +13 -0
- package/dist/src/paths.js.map +1 -0
- package/dist/src/process-lifecycle.js +101 -0
- package/dist/src/process-lifecycle.js.map +1 -0
- package/dist/src/provenance.js +263 -0
- package/dist/src/provenance.js.map +1 -0
- package/dist/src/prune.js +228 -0
- package/dist/src/prune.js.map +1 -0
- package/dist/src/report.js +276 -0
- package/dist/src/report.js.map +1 -0
- package/dist/src/resolved-case.js +29 -0
- package/dist/src/resolved-case.js.map +1 -0
- package/dist/src/results-lock.js +40 -0
- package/dist/src/results-lock.js.map +1 -0
- package/dist/src/results.js +127 -0
- package/dist/src/results.js.map +1 -0
- package/dist/src/run-owner.js +283 -0
- package/dist/src/run-owner.js.map +1 -0
- package/dist/src/runner-paths.js +11 -0
- package/dist/src/runner-paths.js.map +1 -0
- package/dist/src/runtime/config.js +323 -0
- package/dist/src/runtime/config.js.map +1 -0
- package/dist/src/runtime/discovery-apple.js +65 -0
- package/dist/src/runtime/discovery-apple.js.map +1 -0
- package/dist/src/runtime/discovery-providers.js +37 -0
- package/dist/src/runtime/discovery-providers.js.map +1 -0
- package/dist/src/runtime/discovery.js +40 -0
- package/dist/src/runtime/discovery.js.map +1 -0
- package/dist/src/runtime/hook-processes.js +81 -0
- package/dist/src/runtime/hook-processes.js.map +1 -0
- package/dist/src/runtime/hooks.js +304 -0
- package/dist/src/runtime/hooks.js.map +1 -0
- package/dist/src/runtime/paths.js +244 -0
- package/dist/src/runtime/paths.js.map +1 -0
- package/dist/src/runtime/query.js +76 -0
- package/dist/src/runtime/query.js.map +1 -0
- package/dist/src/runtime/seeds.js +98 -0
- package/dist/src/runtime/seeds.js.map +1 -0
- package/dist/src/runtime/shared-cache.js +81 -0
- package/dist/src/runtime/shared-cache.js.map +1 -0
- package/dist/src/runtime/state.js +106 -0
- package/dist/src/runtime/state.js.map +1 -0
- package/dist/src/runtime-process.js +148 -0
- package/dist/src/runtime-process.js.map +1 -0
- package/dist/src/schema-types.js +2 -0
- package/dist/src/schema-types.js.map +1 -0
- package/dist/src/schema.js +16 -0
- package/dist/src/schema.js.map +1 -0
- package/dist/src/shell.js +5 -0
- package/dist/src/shell.js.map +1 -0
- package/dist/src/sqlite-lock.js +18 -0
- package/dist/src/sqlite-lock.js.map +1 -0
- package/dist/src/storage.js +21 -0
- package/dist/src/storage.js.map +1 -0
- package/dist/src/transcript-retention.js +109 -0
- package/dist/src/transcript-retention.js.map +1 -0
- package/dist/src/value-guards.js +26 -0
- package/dist/src/value-guards.js.map +1 -0
- package/docs/architecture.md +5 -2
- package/docs/creating-cases.md +2 -3
- package/docs/development-cli.md +12 -7
- package/docs/documentation-quality.md +4 -3
- package/docs/evaluation-workflow.md +8 -8
- package/docs/getting-started.md +7 -6
- package/docs/guide-evaluation.md +1 -1
- package/docs/identity-v1.md +4 -1
- package/docs/installing.md +31 -13
- package/docs/licensing.md +2 -2
- package/docs/native-hosts.md +1 -1
- package/docs/recipes.md +41 -40
- package/docs/releases.md +20 -4
- package/docs/run-settings-v1.md +3 -3
- package/docs/specs/repository-guide.md +1 -1
- package/docs/troubleshooting.md +1 -1
- package/docs/typescript-quality.md +18 -1
- package/examples/recipes/executable.ts +19 -0
- package/examples/recipes/extension-artifacts.ts +1 -1
- package/examples/recipes/extension.ts +2 -1
- package/examples/recipes/modules.ts +9 -0
- package/examples/recipes/run-inputs.ts +14 -19
- package/examples/recipes/run-options.ts +9 -8
- package/examples/recipes/run.ts +21 -7
- package/examples/templates/repository-skill/extension-data.ts +1 -1
- package/examples/templates/repository-skill/extension.ts +2 -1
- package/package.json +14 -6
- package/src/cli/demo.ts +3 -2
- package/src/cli/help.ts +4 -3
- package/src/cli/init-settings.ts +5 -4
- package/src/cli/init.ts +9 -8
- package/src/cli/invocation.ts +2 -1
- package/src/cli/preparation.ts +2 -2
- package/src/cli.ts +1 -1
- package/src/executable.ts +19 -0
- package/src/extension-client.ts +6 -12
- package/src/fixtures/setup.ts +3 -2
- package/src/git.ts +2 -1
- package/src/graders/git-head.ts +3 -2
- package/src/graders/shell.ts +4 -3
- package/src/hosts/claude-keychain.ts +3 -2
- package/src/hosts/claude-login-refresh.ts +3 -2
- package/src/hosts/claude-refresh-lock.ts +2 -1
- package/src/hosts/claude-settings.ts +3 -1
- package/src/hosts/claude.ts +1 -1
- package/src/hosts/isolation-roots.ts +3 -2
- package/src/hosts/process-lifecycle.ts +4 -6
- package/src/hosts/protected-worktrees.ts +2 -1
- package/src/hosts/skill-hook-handler.ts +1 -1
- package/src/hosts/skill-hooks.ts +10 -2
- package/src/provenance.ts +7 -6
- package/src/results-lock.ts +4 -4
- package/src/run-owner.ts +15 -9
- package/src/runner-paths.ts +21 -0
- package/src/runtime/hook-processes.ts +2 -1
- package/src/runtime/hooks.ts +9 -7
- package/src/runtime-process.ts +194 -0
- package/src/sqlite-lock.ts +25 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["claude.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync } from \"node:fs\";\nimport { readFile, realpath, rm, stat } from \"node:fs/promises\";\nimport { dirname, isAbsolute, join } from \"node:path\";\nimport type { HostAdapter, HostResult } from \"../engine\";\nimport { allocateNativeState } from \"../native-transcript-state\";\nimport {\n failedNativeTranscripts,\n retainEnabledNativeTranscripts,\n} from \"../native-transcripts\";\nimport { fixtureParts } from \"../fixtures/preparation\";\nimport {\n prepareHookMounts,\n releaseRuntimeHooks,\n runtimeHookObservation,\n runtimeHooksEnabled,\n type HookMounts,\n} from \"../runtime/hooks\";\nimport { insideRuntimeRoot as inside } from \"../runtime/paths\";\nimport { runtimeObservations } from \"../runtime/state\";\nimport { isRecord } from \"../value-guards\";\nimport { runClaudeTurns, type ClaudeSession } from \"./claude-continuation\";\nimport { validateNativeHostRequest, validHostTimeout } from \"./native-request\";\nimport { summarizeClaudeEvents } from \"./claude-events\";\nimport { observeClaudeNativeGoal } from \"./claude-native-goal\";\nimport { runClaudeProcess } from \"./claude-process\";\nimport {\n claudeRepositoryInvocationObservation,\n verifyClaudeRepositoryInvocation,\n} from \"./claude-repository-invocation\";\nimport { prepareClaudeState, type ClaudeHostOptions } from \"./claude-state\";\nimport {\n cleanupNativeState,\n createHostDiagnostics,\n diagnoseHostRequest,\n diagnosticConfiguration,\n type HostDiagnostics,\n} from \"../host-diagnostics\";\nimport {\n CLAUDE_AUTH_VARIABLES,\n CLAUDE_LOGIN_MARGIN_MS,\n} from \"./claude-credential\";\nimport { claudeToolCallsObservation } from \"./claude-tool-calls\";\nimport { claudeSkillActivationsObservation } from \"./claude-skill-activations\";\nimport { claudeNativeControls } from \"./native-controls\";\nexport type { ClaudeHostOptions } from \"./claude-state\";\n\nconst DEFAULT_TIMEOUT_MS = 10 * 60_000;\n\ntype Request = Parameters<HostAdapter[\"run\"]>[0];\ntype PluginDeclaration = NonNullable<Request[\"claudePluginDirs\"]>;\ntype PluginInvocation = NonNullable<Request[\"explicitSkillInvocation\"]> & {\n scope?: \"plugin\";\n};\ntype RepositoryInvocation = Awaited<\n ReturnType<typeof verifyClaudeRepositoryInvocation>\n>;\ntype Execution = Awaited<ReturnType<typeof runClaudeTurns>>;\n\nasync function pluginDirectories(\n workspace: string,\n declaration: PluginDeclaration,\n): Promise<string[]> {\n const root = await realpath(workspace);\n requireUniquePluginDeclaration(declaration);\n const paths = new Set(declaration.artifactPaths);\n const directories: string[] = [];\n for (const relativeRoot of declaration.artifactRoots)\n directories.push(await declaredPluginDirectory(root, relativeRoot, paths));\n requireDisjointPluginDirectories(directories);\n for (const artifactPath of paths)\n await verifyPluginArtifact(root, artifactPath, declaration, directories);\n return directories;\n}\n\nfunction requireUniquePluginDeclaration(declaration: PluginDeclaration): void {\n if (\n new Set(declaration.artifactRoots).size !==\n declaration.artifactRoots.length ||\n new Set(declaration.artifactPaths).size !== declaration.artifactPaths.length\n )\n throw new Error(\"Claude plugin declaration contains duplicates\");\n}\n\nasync function declaredPluginDirectory(\n root: string,\n relativeRoot: string,\n paths: Set<string>,\n): Promise<string> {\n fixtureParts(relativeRoot);\n if (!paths.has(`${relativeRoot}/.claude-plugin/plugin.json`))\n throw new Error(\"Claude plugin manifest is undeclared\");\n const actual = await realpath(join(root, relativeRoot));\n if (!inside(root, actual))\n throw new Error(\"Claude plugin directory escapes workspace\");\n if (!(await stat(join(actual, \".claude-plugin\", \"plugin.json\"))).isFile())\n throw new Error(\"Claude plugin manifest is missing\");\n return actual;\n}\n\nfunction requireDisjointPluginDirectories(directories: string[]): void {\n if (new Set(directories).size !== directories.length)\n throw new Error(\"Claude plugin directories overlap\");\n if (\n directories.some((item) =>\n directories.some((other) => item !== other && inside(other, item)),\n )\n )\n throw new Error(\"Claude plugin directories overlap\");\n}\n\nasync function verifyPluginArtifact(\n root: string,\n artifactPath: string,\n declaration: PluginDeclaration,\n directories: string[],\n): Promise<void> {\n fixtureParts(artifactPath);\n const index = declaration.artifactRoots.findIndex((item) =>\n artifactPath.startsWith(`${item}/`),\n );\n const directory = directories.at(index);\n if (index < 0 || directory === undefined)\n throw new Error(\"Claude plugin artifact is outside a declared directory\");\n if (!inside(directory, await realpath(join(root, artifactPath))))\n throw new Error(\"Claude plugin artifact escapes workspace\");\n}\n\nfunction pluginSelection(request: Request): PluginInvocation | null {\n const selected = request.explicitSkillInvocation;\n if (!selected || selected.scope === \"repository\") return null;\n return selected;\n}\n\nfunction requirePluginInvocation(\n selected: PluginInvocation,\n prompt: string,\n): void {\n const { token, pluginName, skillName } = selected;\n if (\n token !== `/${pluginName}:${skillName}` ||\n prompt.split(token).length - 1 !== 1 ||\n !/^[a-z][a-z0-9-]*$/.test(pluginName) ||\n !/^[A-Za-z0-9._-]+$/.test(skillName)\n )\n throw new Error(\"invalid Claude explicit skill invocation\");\n}\n\nfunction skillPathDeclared(\n request: Request,\n index: number,\n skillName: string,\n): boolean {\n const relativeRoot = request.claudePluginDirs?.artifactRoots[index];\n return !!request.claudePluginDirs?.artifactPaths.includes(\n `${relativeRoot}/skills/${skillName}/SKILL.md`,\n );\n}\n\nasync function verifyInvocation(\n request: Request,\n directories: string[],\n): Promise<void> {\n const selected = pluginSelection(request);\n if (!selected) return;\n requirePluginInvocation(selected, request.prompt);\n for (const [index, root] of directories.entries()) {\n if (!skillPathDeclared(request, index, selected.skillName)) continue;\n if (await mountedPluginSkill(root, selected)) return;\n }\n throw new Error(\"invoked Claude skill is absent from the package\");\n}\n\nasync function mountedPluginSkill(\n root: string,\n selected: PluginInvocation,\n): Promise<boolean> {\n let manifest: unknown;\n try {\n manifest = JSON.parse(\n await readFile(join(root, \".claude-plugin\", \"plugin.json\"), \"utf8\"),\n );\n } catch (error) {\n throw new Error(\"invalid Claude plugin manifest\", { cause: error });\n }\n if (!isRecord(manifest) || manifest.name !== selected.pluginName)\n return false;\n const skill = await stat(\n join(root, \"skills\", selected.skillName, \"SKILL.md\"),\n ).catch(() => null);\n return !!skill?.isFile();\n}\n\nfunction validClaudeOptions(\n options: ClaudeHostOptions,\n timeoutMs: number,\n): boolean {\n return (\n availableClaudeSandbox() &&\n requiredClaudePaths(options) &&\n optionalClaudePaths(options) &&\n !!options.model &&\n validClaudeEffortTimeout(options.effort, timeoutMs)\n );\n}\nfunction availableClaudeSandbox(): boolean {\n if (process.platform === \"darwin\") return existsSync(\"/usr/bin/sandbox-exec\");\n return (\n process.platform === \"linux\" &&\n existsSync(\"/usr/bin/bwrap\") &&\n existsSync(\"/usr/bin/socat\")\n );\n}\nfunction requiredClaudePaths(options: ClaudeHostOptions): boolean {\n return [\n options.binary,\n options.projectRoot,\n options.resultsRoot,\n ...options.additionalProtectedRoots,\n ].every(isAbsolute);\n}\nfunction optionalClaudePaths(options: ClaudeHostOptions): boolean {\n return [\n options.credentialFile,\n options.uvCacheDir,\n options.toolchainBinDir,\n ].every((path) => path === undefined || isAbsolute(path));\n}\nfunction validClaudeEffortTimeout(effort: string, timeoutMs: number): boolean {\n return !!effort && validHostTimeout(timeoutMs);\n}\n\n/** Run Claude with explicit plugins and its native tool sandbox. */\nexport function createClaudeHost(options: ClaudeHostOptions): HostAdapter {\n const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n if (!validClaudeOptions(options, timeoutMs))\n throw new Error(\"invalid Claude host configuration\");\n return {\n id: \"sevro.host.claude\",\n model: options.model,\n effort: options.effort,\n ...(options.retainHostDiagnostics\n ? {\n configuration: diagnosticConfiguration(options.retainHostDiagnostics),\n }\n : {}),\n hostCapabilities: [\n \"sevro.host.native-goal\",\n \"sevro.host.runtime\",\n \"sevro.host.native-transcripts\",\n \"sevro.host.hooks\",\n \"sevro.host.skill-activations\",\n \"sevro.claude.plugin-dirs\",\n \"sevro.claude.explicit-invocation\",\n ...(options.projectSettings\n ? [\"sevro.claude.repository-invocation\"]\n : []),\n \"sevro.claude.tool-calls\",\n \"sevro.host.native-controls\",\n \"sevro.host.continuation\",\n \"sevro.claude.continuation\",\n ],\n run(request) {\n return runClaudeRequest(options, timeoutMs, request);\n },\n };\n}\n\nasync function repositoryMount(\n request: Request,\n options: ClaudeHostOptions,\n): Promise<RepositoryInvocation | null> {\n if (request.explicitSkillInvocation?.scope !== \"repository\") return null;\n if (!options.projectSettings)\n throw new Error(\n \"Claude repository invocation requires project setting sources\",\n );\n return verifyClaudeRepositoryInvocation(request);\n}\n\nasync function runClaudeRequest(\n options: ClaudeHostOptions,\n timeoutMs: number,\n request: Request,\n): Promise<HostResult> {\n const diagnostics = createHostDiagnostics(\n \"claude\",\n options.retainHostDiagnostics,\n request,\n );\n return diagnoseHostRequest(diagnostics, async () => {\n diagnostics.stage = \"request-validation\";\n await diagnostics.readCredentials(options.credentialFile);\n return executeClaudeRequest(options, timeoutMs, request, diagnostics);\n });\n}\n\n/** Every turn shares one access token, so it must outlive all of them. */\nfunction claudeLoginLifetime(timeoutMs: number, request: Request): number {\n const turns = request.followUpPrompt === undefined ? 1 : 2;\n return timeoutMs * turns + CLAUDE_LOGIN_MARGIN_MS;\n}\n\nasync function executeClaudeRequest(\n options: ClaudeHostOptions,\n timeoutMs: number,\n request: Request,\n diagnostics: HostDiagnostics,\n): Promise<HostResult> {\n const { pluginDirs, repositoryInvocation } = await validateClaudeRequest(\n options,\n request,\n );\n diagnostics.stage = \"state-allocation\";\n const stateRoot = await allocateNativeState(\n \"claude-\",\n request.runtimePolicy ? request.workspace : undefined,\n );\n let hooks: HookMounts | undefined;\n try {\n diagnostics.stage = \"state-preparation\";\n const state = await prepareClaudeState(\n stateRoot,\n options,\n request,\n pluginDirs,\n claudeLoginLifetime(timeoutMs, request),\n );\n diagnostics.registerCredentials(state.env, CLAUDE_AUTH_VARIABLES);\n hooks = state.hooks;\n const run = claudeProcessRunner(\n options,\n timeoutMs,\n request,\n state,\n diagnostics,\n );\n const execution = await runClaudeTurns({\n prompt: request.prompt,\n followUpPrompt: request.followUpPrompt,\n workspace: request.workspace,\n run,\n });\n const result = await claudeResult(\n execution,\n claudeObservationRoot(stateRoot, state.credential, request),\n request,\n repositoryInvocation,\n );\n await diagnostics.retainFailure(\n result,\n \"Claude host execution did not complete\",\n );\n await addHookObservation(result, state.hooks);\n await retainEnabledNativeTranscripts(\n result,\n request.runtimePolicy,\n join(stateRoot, \"native-home\", \"projects\"),\n \"claude\",\n request.runtimeRole,\n );\n return result;\n } catch (cause) {\n return await failedNativeTranscripts(\n cause,\n request.runtimePolicy,\n join(stateRoot, \"native-home\", \"projects\"),\n \"claude\",\n request.runtimeRole,\n diagnostics,\n );\n } finally {\n await cleanupNativeState(diagnostics, async () => {\n await releaseRuntimeHooks(hooks);\n await rm(stateRoot, { recursive: true, force: true });\n });\n }\n}\n\nfunction claudeProcessRunner(\n options: ClaudeHostOptions,\n timeoutMs: number,\n request: Request,\n state: Awaited<ReturnType<typeof prepareClaudeState>>,\n diagnostics: HostDiagnostics,\n) {\n return (prompt: string, session?: ClaudeSession) => {\n diagnostics.stage = \"claude-execution\";\n return runClaudeProcess({\n diagnostics,\n argv: claudeTurnArgs(\n options,\n prompt,\n session,\n state.settingsPath,\n state.pluginDirs,\n ),\n cwd: request.workspace,\n env: state.env,\n timeoutMs,\n signal: request.signal,\n });\n };\n}\n\nasync function validateClaudeRequest(\n options: ClaudeHostOptions,\n request: Request,\n) {\n await validateNativeHostRequest(request, \"Claude\");\n const pluginDirs = request.claudePluginDirs\n ? await pluginDirectories(request.workspace, request.claudePluginDirs)\n : [];\n await verifyInvocation(request, pluginDirs);\n requireIsolatedHookSources(request, options);\n const repositoryInvocation = await repositoryMount(request, options);\n return { pluginDirs, repositoryInvocation };\n}\n\nfunction requireIsolatedHookSources(\n request: Request,\n options: ClaudeHostOptions,\n): void {\n if (runtimeHooksEnabled(request.runtimePolicy) && options.projectSettings)\n throw new Error(\"native goals require isolated hook sources\");\n}\n\nasync function addHookObservation(\n result: HostResult,\n hooks: Awaited<ReturnType<typeof prepareHookMounts>> | undefined,\n): Promise<void> {\n if (!hooks) return;\n result.observations?.push(await runtimeHookObservation(hooks));\n}\n\nfunction claudeTurnArgs(\n options: ClaudeHostOptions,\n prompt: string,\n session: ClaudeSession | undefined,\n settingsPath: string,\n pluginDirs: string[],\n): string[] {\n return [\n options.binary,\n \"-p\",\n prompt,\n \"--output-format\",\n \"stream-json\",\n \"--verbose\",\n \"--model\",\n options.model,\n \"--effort\",\n options.effort,\n \"--permission-mode\",\n \"dontAsk\",\n \"--tools\",\n \"Bash,Read,Edit,Skill,Agent,SendMessage\",\n \"--setting-sources\",\n options.projectSettings ? \"project\" : \"\",\n \"--settings\",\n settingsPath,\n \"--strict-mcp-config\",\n \"--mcp-config\",\n '{\"mcpServers\":{}}',\n \"--no-chrome\",\n ...(session ? [session.option, session.id] : []),\n ...pluginDirs.flatMap((path) => [\"--plugin-dir\", path]),\n ];\n}\n\nfunction claudeObservationRoot(\n stateRoot: string,\n credential: string,\n request: Request,\n): string {\n return request.runtimePolicy?.nativeTranscripts === true\n ? join(stateRoot, \"native-home\")\n : dirname(credential);\n}\n\nasync function repositoryObservation(\n execution: Execution,\n configRoot: string,\n request: Request,\n invocation: RepositoryInvocation | null,\n tools: ReturnType<typeof claudeToolCallsObservation>,\n) {\n if (!invocation) return null;\n return claudeRepositoryInvocationObservation({\n invocation,\n stream: execution.initialEvents ?? execution.events,\n configRoot: configRoot,\n workspace: request.workspace,\n tools: execution.initialEvents\n ? claudeToolCallsObservation(execution.initialEvents, 0)\n : tools,\n });\n}\n\nasync function claudeObservations(\n execution: Execution,\n configRoot: string,\n request: Request,\n invocation: RepositoryInvocation | null,\n) {\n const tools = claudeToolCallsObservation(execution.events, execution.code);\n const repository = await repositoryObservation(\n execution,\n configRoot,\n request,\n invocation,\n tools,\n );\n return [\n tools,\n ...runtimeObservations(request.runtimePolicy, request.runtimeRole),\n await observeClaudeNativeGoal(\n configRoot,\n execution.followUpEvents ?? execution.events,\n ),\n claudeNativeControls(execution.events, execution.code),\n ...(repository ? [repository] : []),\n ...(execution.continuation ? [execution.continuation] : []),\n claudeSkillActivationsObservation(execution.events, execution.code),\n ];\n}\n\nfunction claudeArtifacts(execution: Execution) {\n return [\n { id: \"sevro.claude.events\", bytes: Buffer.from(execution.out, \"utf8\") },\n ...(execution.initialOut !== undefined\n ? [\n {\n id: \"sevro.claude.initial-events\",\n bytes: Buffer.from(execution.initialOut, \"utf8\"),\n },\n ]\n : []),\n ...(execution.followUpOut !== undefined\n ? [\n {\n id: \"sevro.claude.follow-up-events\",\n bytes: Buffer.from(execution.followUpOut, \"utf8\"),\n },\n ]\n : []),\n ...(execution.err\n ? [\n {\n id: \"sevro.claude.stderr\",\n bytes: Buffer.from(execution.err, \"utf8\"),\n },\n ]\n : []),\n ];\n}\n\nfunction measuredClaudeUsage(\n summary: ReturnType<typeof summarizeClaudeEvents>,\n execution: Execution,\n) {\n return {\n inputTokens:\n execution.sessionResultsBound === false ? null : summary.inputTokens,\n outputTokens:\n execution.sessionResultsBound === false ? null : summary.outputTokens,\n costUsd: execution.sessionResultsBound === false ? null : summary.costUsd,\n usageComplete:\n execution.sessionResultsBound !== false && summary.usageComplete,\n };\n}\n\nasync function claudeResult(\n execution: Execution,\n configRoot: string,\n request: Request,\n invocation: RepositoryInvocation | null,\n): Promise<HostResult> {\n const summary = summarizeClaudeEvents(execution.events, execution.code);\n const observations = await claudeObservations(\n execution,\n configRoot,\n request,\n invocation,\n );\n return {\n finalMessage: summary.finalMessage,\n complete: summary.complete,\n executionFailed: !summary.complete,\n observations,\n artifacts: claudeArtifacts(execution),\n actualCondition: \"passive\",\n ...measuredClaudeUsage(summary, execution),\n };\n}\n"]}
|