praxis-agent 0.1.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/LICENSE +21 -0
- package/README.md +534 -0
- package/dist/application/background-agent-manager.d.ts +66 -0
- package/dist/application/background-agent-manager.d.ts.map +1 -0
- package/dist/application/background-agent-manager.js +362 -0
- package/dist/application/background-agent-manager.js.map +1 -0
- package/dist/application/background-bash-manager.d.ts +54 -0
- package/dist/application/background-bash-manager.d.ts.map +1 -0
- package/dist/application/background-bash-manager.js +354 -0
- package/dist/application/background-bash-manager.js.map +1 -0
- package/dist/application/background-task-id.d.ts +5 -0
- package/dist/application/background-task-id.d.ts.map +1 -0
- package/dist/application/background-task-id.js +25 -0
- package/dist/application/background-task-id.js.map +1 -0
- package/dist/application/claude-project-purge.d.ts +50 -0
- package/dist/application/claude-project-purge.d.ts.map +1 -0
- package/dist/application/claude-project-purge.js +459 -0
- package/dist/application/claude-project-purge.js.map +1 -0
- package/dist/application/managed-worktree.d.ts +15 -0
- package/dist/application/managed-worktree.d.ts.map +1 -0
- package/dist/application/managed-worktree.js +127 -0
- package/dist/application/managed-worktree.js.map +1 -0
- package/dist/application/model-compactor.d.ts +8 -0
- package/dist/application/model-compactor.d.ts.map +1 -0
- package/dist/application/model-compactor.js +70 -0
- package/dist/application/model-compactor.js.map +1 -0
- package/dist/application/scheduled-prompt-manager.d.ts +69 -0
- package/dist/application/scheduled-prompt-manager.d.ts.map +1 -0
- package/dist/application/scheduled-prompt-manager.js +387 -0
- package/dist/application/scheduled-prompt-manager.js.map +1 -0
- package/dist/application/session-service.d.ts +142 -0
- package/dist/application/session-service.d.ts.map +1 -0
- package/dist/application/session-service.js +1690 -0
- package/dist/application/session-service.js.map +1 -0
- package/dist/application/session-worktree.d.ts +55 -0
- package/dist/application/session-worktree.d.ts.map +1 -0
- package/dist/application/session-worktree.js +311 -0
- package/dist/application/session-worktree.js.map +1 -0
- package/dist/application/subagent-service.d.ts +98 -0
- package/dist/application/subagent-service.d.ts.map +1 -0
- package/dist/application/subagent-service.js +1305 -0
- package/dist/application/subagent-service.js.map +1 -0
- package/dist/application/tool-use-summary.d.ts +8 -0
- package/dist/application/tool-use-summary.d.ts.map +1 -0
- package/dist/application/tool-use-summary.js +53 -0
- package/dist/application/tool-use-summary.js.map +1 -0
- package/dist/application/top-level-agent-manager.d.ts +58 -0
- package/dist/application/top-level-agent-manager.d.ts.map +1 -0
- package/dist/application/top-level-agent-manager.js +907 -0
- package/dist/application/top-level-agent-manager.js.map +1 -0
- package/dist/application/workflow-manager.d.ts +61 -0
- package/dist/application/workflow-manager.d.ts.map +1 -0
- package/dist/application/workflow-manager.js +582 -0
- package/dist/application/workflow-manager.js.map +1 -0
- package/dist/application/workflow-meta.d.ts +18 -0
- package/dist/application/workflow-meta.d.ts.map +1 -0
- package/dist/application/workflow-meta.js +146 -0
- package/dist/application/workflow-meta.js.map +1 -0
- package/dist/application/workflow-runtime.d.ts +29 -0
- package/dist/application/workflow-runtime.d.ts.map +1 -0
- package/dist/application/workflow-runtime.js +176 -0
- package/dist/application/workflow-runtime.js.map +1 -0
- package/dist/application/workflow-worktree.d.ts +9 -0
- package/dist/application/workflow-worktree.d.ts.map +1 -0
- package/dist/application/workflow-worktree.js +11 -0
- package/dist/application/workflow-worktree.js.map +1 -0
- package/dist/cli/agents-dashboard.d.ts +37 -0
- package/dist/cli/agents-dashboard.d.ts.map +1 -0
- package/dist/cli/agents-dashboard.js +408 -0
- package/dist/cli/agents-dashboard.js.map +1 -0
- package/dist/cli/controls.d.ts +15 -0
- package/dist/cli/controls.d.ts.map +1 -0
- package/dist/cli/controls.js +219 -0
- package/dist/cli/controls.js.map +1 -0
- package/dist/cli/debug.d.ts +13 -0
- package/dist/cli/debug.d.ts.map +1 -0
- package/dist/cli/debug.js +37 -0
- package/dist/cli/debug.js.map +1 -0
- package/dist/cli/interactive.d.ts +63 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +600 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/cli/protocol.d.ts +251 -0
- package/dist/cli/protocol.d.ts.map +1 -0
- package/dist/cli/protocol.js +2146 -0
- package/dist/cli/protocol.js.map +1 -0
- package/dist/cli.d.ts +116 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3901 -0
- package/dist/cli.js.map +1 -0
- package/dist/compatibility/claude/compaction.d.ts +19 -0
- package/dist/compatibility/claude/compaction.d.ts.map +1 -0
- package/dist/compatibility/claude/compaction.js +82 -0
- package/dist/compatibility/claude/compaction.js.map +1 -0
- package/dist/compatibility/claude/context.d.ts +24 -0
- package/dist/compatibility/claude/context.d.ts.map +1 -0
- package/dist/compatibility/claude/context.js +92 -0
- package/dist/compatibility/claude/context.js.map +1 -0
- package/dist/compatibility/claude/dynamic-context.d.ts +20 -0
- package/dist/compatibility/claude/dynamic-context.d.ts.map +1 -0
- package/dist/compatibility/claude/dynamic-context.js +168 -0
- package/dist/compatibility/claude/dynamic-context.js.map +1 -0
- package/dist/compatibility/claude/file-history.d.ts +14 -0
- package/dist/compatibility/claude/file-history.d.ts.map +1 -0
- package/dist/compatibility/claude/file-history.js +340 -0
- package/dist/compatibility/claude/file-history.js.map +1 -0
- package/dist/compatibility/claude/file-resources.d.ts +28 -0
- package/dist/compatibility/claude/file-resources.d.ts.map +1 -0
- package/dist/compatibility/claude/file-resources.js +168 -0
- package/dist/compatibility/claude/file-resources.js.map +1 -0
- package/dist/compatibility/claude/fork.d.ts +9 -0
- package/dist/compatibility/claude/fork.d.ts.map +1 -0
- package/dist/compatibility/claude/fork.js +225 -0
- package/dist/compatibility/claude/fork.js.map +1 -0
- package/dist/compatibility/claude/history.d.ts +4 -0
- package/dist/compatibility/claude/history.d.ts.map +1 -0
- package/dist/compatibility/claude/history.js +86 -0
- package/dist/compatibility/claude/history.js.map +1 -0
- package/dist/compatibility/claude/ownership.d.ts +87 -0
- package/dist/compatibility/claude/ownership.d.ts.map +1 -0
- package/dist/compatibility/claude/ownership.js +100 -0
- package/dist/compatibility/claude/ownership.js.map +1 -0
- package/dist/compatibility/claude/paths.d.ts +17 -0
- package/dist/compatibility/claude/paths.d.ts.map +1 -0
- package/dist/compatibility/claude/paths.js +54 -0
- package/dist/compatibility/claude/paths.js.map +1 -0
- package/dist/compatibility/claude/pr-links.d.ts +25 -0
- package/dist/compatibility/claude/pr-links.d.ts.map +1 -0
- package/dist/compatibility/claude/pr-links.js +80 -0
- package/dist/compatibility/claude/pr-links.js.map +1 -0
- package/dist/compatibility/claude/projection.d.ts +11 -0
- package/dist/compatibility/claude/projection.d.ts.map +1 -0
- package/dist/compatibility/claude/projection.js +325 -0
- package/dist/compatibility/claude/projection.js.map +1 -0
- package/dist/compatibility/claude/schema.d.ts +18 -0
- package/dist/compatibility/claude/schema.d.ts.map +1 -0
- package/dist/compatibility/claude/schema.js +983 -0
- package/dist/compatibility/claude/schema.js.map +1 -0
- package/dist/compatibility/claude/shared-resources.d.ts +51 -0
- package/dist/compatibility/claude/shared-resources.d.ts.map +1 -0
- package/dist/compatibility/claude/shared-resources.js +382 -0
- package/dist/compatibility/claude/shared-resources.js.map +1 -0
- package/dist/compatibility/claude/sidechain.d.ts +50 -0
- package/dist/compatibility/claude/sidechain.d.ts.map +1 -0
- package/dist/compatibility/claude/sidechain.js +90 -0
- package/dist/compatibility/claude/sidechain.js.map +1 -0
- package/dist/compatibility/claude/tool-links.d.ts +13 -0
- package/dist/compatibility/claude/tool-links.d.ts.map +1 -0
- package/dist/compatibility/claude/tool-links.js +61 -0
- package/dist/compatibility/claude/tool-links.js.map +1 -0
- package/dist/compatibility/claude/translation.d.ts +71 -0
- package/dist/compatibility/claude/translation.d.ts.map +1 -0
- package/dist/compatibility/claude/translation.js +443 -0
- package/dist/compatibility/claude/translation.js.map +1 -0
- package/dist/compatibility/claude/workflow-replay.d.ts +10 -0
- package/dist/compatibility/claude/workflow-replay.d.ts.map +1 -0
- package/dist/compatibility/claude/workflow-replay.js +66 -0
- package/dist/compatibility/claude/workflow-replay.js.map +1 -0
- package/dist/compatibility/claude/workflow.d.ts +33 -0
- package/dist/compatibility/claude/workflow.d.ts.map +1 -0
- package/dist/compatibility/claude/workflow.js +76 -0
- package/dist/compatibility/claude/workflow.js.map +1 -0
- package/dist/core/compaction.d.ts +16 -0
- package/dist/core/compaction.d.ts.map +1 -0
- package/dist/core/compaction.js +2 -0
- package/dist/core/compaction.js.map +1 -0
- package/dist/core/context-budget.d.ts +28 -0
- package/dist/core/context-budget.d.ts.map +1 -0
- package/dist/core/context-budget.js +108 -0
- package/dist/core/context-budget.js.map +1 -0
- package/dist/core/context.d.ts +16 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +13 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/runtime.d.ts +394 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +507 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/usage.d.ts +26 -0
- package/dist/core/usage.d.ts.map +1 -0
- package/dist/core/usage.js +133 -0
- package/dist/core/usage.js.map +1 -0
- package/dist/extensions/claude-extension-tools.d.ts +16 -0
- package/dist/extensions/claude-extension-tools.d.ts.map +1 -0
- package/dist/extensions/claude-extension-tools.js +78 -0
- package/dist/extensions/claude-extension-tools.js.map +1 -0
- package/dist/extensions/claude-extensions.d.ts +41 -0
- package/dist/extensions/claude-extensions.d.ts.map +1 -0
- package/dist/extensions/claude-extensions.js +270 -0
- package/dist/extensions/claude-extensions.js.map +1 -0
- package/dist/hooks/claude-hook-tools.d.ts +26 -0
- package/dist/hooks/claude-hook-tools.d.ts.map +1 -0
- package/dist/hooks/claude-hook-tools.js +129 -0
- package/dist/hooks/claude-hook-tools.js.map +1 -0
- package/dist/hooks/claude-hooks.d.ts +87 -0
- package/dist/hooks/claude-hooks.d.ts.map +1 -0
- package/dist/hooks/claude-hooks.js +411 -0
- package/dist/hooks/claude-hooks.js.map +1 -0
- package/dist/maintenance/doctor.d.ts +33 -0
- package/dist/maintenance/doctor.d.ts.map +1 -0
- package/dist/maintenance/doctor.js +391 -0
- package/dist/maintenance/doctor.js.map +1 -0
- package/dist/maintenance/self-update.d.ts +31 -0
- package/dist/maintenance/self-update.d.ts.map +1 -0
- package/dist/maintenance/self-update.js +81 -0
- package/dist/maintenance/self-update.js.map +1 -0
- package/dist/mcp/claude-mcp-management.d.ts +28 -0
- package/dist/mcp/claude-mcp-management.d.ts.map +1 -0
- package/dist/mcp/claude-mcp-management.js +169 -0
- package/dist/mcp/claude-mcp-management.js.map +1 -0
- package/dist/mcp/claude-mcp-oauth.d.ts +113 -0
- package/dist/mcp/claude-mcp-oauth.d.ts.map +1 -0
- package/dist/mcp/claude-mcp-oauth.js +1053 -0
- package/dist/mcp/claude-mcp-oauth.js.map +1 -0
- package/dist/mcp/claude-mcp-tools.d.ts +98 -0
- package/dist/mcp/claude-mcp-tools.d.ts.map +1 -0
- package/dist/mcp/claude-mcp-tools.js +1246 -0
- package/dist/mcp/claude-mcp-tools.js.map +1 -0
- package/dist/mcp/praxis-mcp-server.d.ts +35 -0
- package/dist/mcp/praxis-mcp-server.d.ts.map +1 -0
- package/dist/mcp/praxis-mcp-server.js +520 -0
- package/dist/mcp/praxis-mcp-server.js.map +1 -0
- package/dist/permissions/claude-auto-classifier.d.ts +20 -0
- package/dist/permissions/claude-auto-classifier.d.ts.map +1 -0
- package/dist/permissions/claude-auto-classifier.js +140 -0
- package/dist/permissions/claude-auto-classifier.js.map +1 -0
- package/dist/permissions/claude-permission-resolver.d.ts +30 -0
- package/dist/permissions/claude-permission-resolver.d.ts.map +1 -0
- package/dist/permissions/claude-permission-resolver.js +334 -0
- package/dist/permissions/claude-permission-resolver.js.map +1 -0
- package/dist/persistence/claude-job-store.d.ts +68 -0
- package/dist/persistence/claude-job-store.d.ts.map +1 -0
- package/dist/persistence/claude-job-store.js +311 -0
- package/dist/persistence/claude-job-store.js.map +1 -0
- package/dist/persistence/claude-scheduled-task-store.d.ts +29 -0
- package/dist/persistence/claude-scheduled-task-store.d.ts.map +1 -0
- package/dist/persistence/claude-scheduled-task-store.js +163 -0
- package/dist/persistence/claude-scheduled-task-store.js.map +1 -0
- package/dist/persistence/claude-sidechain-store.d.ts +18 -0
- package/dist/persistence/claude-sidechain-store.d.ts.map +1 -0
- package/dist/persistence/claude-sidechain-store.js +107 -0
- package/dist/persistence/claude-sidechain-store.js.map +1 -0
- package/dist/persistence/claude-task-store.d.ts +72 -0
- package/dist/persistence/claude-task-store.d.ts.map +1 -0
- package/dist/persistence/claude-task-store.js +440 -0
- package/dist/persistence/claude-task-store.js.map +1 -0
- package/dist/persistence/claude-transcript-store.d.ts +85 -0
- package/dist/persistence/claude-transcript-store.d.ts.map +1 -0
- package/dist/persistence/claude-transcript-store.js +385 -0
- package/dist/persistence/claude-transcript-store.js.map +1 -0
- package/dist/persistence/claude-workflow-store.d.ts +41 -0
- package/dist/persistence/claude-workflow-store.d.ts.map +1 -0
- package/dist/persistence/claude-workflow-store.js +263 -0
- package/dist/persistence/claude-workflow-store.js.map +1 -0
- package/dist/persistence/in-memory-sidechain-store.d.ts +12 -0
- package/dist/persistence/in-memory-sidechain-store.d.ts.map +1 -0
- package/dist/persistence/in-memory-sidechain-store.js +30 -0
- package/dist/persistence/in-memory-sidechain-store.js.map +1 -0
- package/dist/persistence/in-memory-transcript-store.d.ts +15 -0
- package/dist/persistence/in-memory-transcript-store.d.ts.map +1 -0
- package/dist/persistence/in-memory-transcript-store.js +95 -0
- package/dist/persistence/in-memory-transcript-store.js.map +1 -0
- package/dist/platform/atomic-write.d.ts +5 -0
- package/dist/platform/atomic-write.d.ts.map +1 -0
- package/dist/platform/atomic-write.js +25 -0
- package/dist/platform/atomic-write.js.map +1 -0
- package/dist/platform/bounded-process-runner.d.ts +28 -0
- package/dist/platform/bounded-process-runner.d.ts.map +1 -0
- package/dist/platform/bounded-process-runner.js +209 -0
- package/dist/platform/bounded-process-runner.js.map +1 -0
- package/dist/platform/claude-version.d.ts +5 -0
- package/dist/platform/claude-version.d.ts.map +1 -0
- package/dist/platform/claude-version.js +17 -0
- package/dist/platform/claude-version.js.map +1 -0
- package/dist/platform/command-shell.d.ts +3 -0
- package/dist/platform/command-shell.d.ts.map +1 -0
- package/dist/platform/command-shell.js +15 -0
- package/dist/platform/command-shell.js.map +1 -0
- package/dist/platform/exclusive-file-lease.d.ts +15 -0
- package/dist/platform/exclusive-file-lease.d.ts.map +1 -0
- package/dist/platform/exclusive-file-lease.js +265 -0
- package/dist/platform/exclusive-file-lease.js.map +1 -0
- package/dist/platform/sensitive-data.d.ts +8 -0
- package/dist/platform/sensitive-data.d.ts.map +1 -0
- package/dist/platform/sensitive-data.js +138 -0
- package/dist/platform/sensitive-data.js.map +1 -0
- package/dist/platform/tmux-worktree.d.ts +30 -0
- package/dist/platform/tmux-worktree.d.ts.map +1 -0
- package/dist/platform/tmux-worktree.js +138 -0
- package/dist/platform/tmux-worktree.js.map +1 -0
- package/dist/plugins/claude-plugin-eval-discovery.d.ts +20 -0
- package/dist/plugins/claude-plugin-eval-discovery.d.ts.map +1 -0
- package/dist/plugins/claude-plugin-eval-discovery.js +128 -0
- package/dist/plugins/claude-plugin-eval-discovery.js.map +1 -0
- package/dist/plugins/claude-plugin-eval-graders.d.ts +49 -0
- package/dist/plugins/claude-plugin-eval-graders.d.ts.map +1 -0
- package/dist/plugins/claude-plugin-eval-graders.js +137 -0
- package/dist/plugins/claude-plugin-eval-graders.js.map +1 -0
- package/dist/plugins/claude-plugin-eval-runner.d.ts +50 -0
- package/dist/plugins/claude-plugin-eval-runner.d.ts.map +1 -0
- package/dist/plugins/claude-plugin-eval-runner.js +189 -0
- package/dist/plugins/claude-plugin-eval-runner.js.map +1 -0
- package/dist/plugins/claude-plugin-eval-schema.d.ts +80 -0
- package/dist/plugins/claude-plugin-eval-schema.d.ts.map +1 -0
- package/dist/plugins/claude-plugin-eval-schema.js +436 -0
- package/dist/plugins/claude-plugin-eval-schema.js.map +1 -0
- package/dist/plugins/claude-plugin-eval.d.ts +66 -0
- package/dist/plugins/claude-plugin-eval.d.ts.map +1 -0
- package/dist/plugins/claude-plugin-eval.js +438 -0
- package/dist/plugins/claude-plugin-eval.js.map +1 -0
- package/dist/plugins/claude-plugin-maintenance.d.ts +39 -0
- package/dist/plugins/claude-plugin-maintenance.d.ts.map +1 -0
- package/dist/plugins/claude-plugin-maintenance.js +336 -0
- package/dist/plugins/claude-plugin-maintenance.js.map +1 -0
- package/dist/plugins/claude-plugin-marketplace.d.ts +97 -0
- package/dist/plugins/claude-plugin-marketplace.d.ts.map +1 -0
- package/dist/plugins/claude-plugin-marketplace.js +1433 -0
- package/dist/plugins/claude-plugin-marketplace.js.map +1 -0
- package/dist/plugins/claude-plugin-mcpb.d.ts +71 -0
- package/dist/plugins/claude-plugin-mcpb.d.ts.map +1 -0
- package/dist/plugins/claude-plugin-mcpb.js +885 -0
- package/dist/plugins/claude-plugin-mcpb.js.map +1 -0
- package/dist/plugins/claude-plugin-runtime.d.ts +120 -0
- package/dist/plugins/claude-plugin-runtime.d.ts.map +1 -0
- package/dist/plugins/claude-plugin-runtime.js +1263 -0
- package/dist/plugins/claude-plugin-runtime.js.map +1 -0
- package/dist/providers/anthropic-compatible.d.ts +35 -0
- package/dist/providers/anthropic-compatible.d.ts.map +1 -0
- package/dist/providers/anthropic-compatible.js +733 -0
- package/dist/providers/anthropic-compatible.js.map +1 -0
- package/dist/providers/environment.d.ts +14 -0
- package/dist/providers/environment.d.ts.map +1 -0
- package/dist/providers/environment.js +67 -0
- package/dist/providers/environment.js.map +1 -0
- package/dist/providers/fallback-provider.d.ts +17 -0
- package/dist/providers/fallback-provider.d.ts.map +1 -0
- package/dist/providers/fallback-provider.js +70 -0
- package/dist/providers/fallback-provider.js.map +1 -0
- package/dist/providers/openai-compatible.d.ts +30 -0
- package/dist/providers/openai-compatible.d.ts.map +1 -0
- package/dist/providers/openai-compatible.js +409 -0
- package/dist/providers/openai-compatible.js.map +1 -0
- package/dist/tools/claude-interactive-tools.d.ts +58 -0
- package/dist/tools/claude-interactive-tools.d.ts.map +1 -0
- package/dist/tools/claude-interactive-tools.js +390 -0
- package/dist/tools/claude-interactive-tools.js.map +1 -0
- package/dist/tools/claude-lsp-formatters.d.ts +2 -0
- package/dist/tools/claude-lsp-formatters.d.ts.map +1 -0
- package/dist/tools/claude-lsp-formatters.js +291 -0
- package/dist/tools/claude-lsp-formatters.js.map +1 -0
- package/dist/tools/claude-lsp-tool.d.ts +22 -0
- package/dist/tools/claude-lsp-tool.d.ts.map +1 -0
- package/dist/tools/claude-lsp-tool.js +744 -0
- package/dist/tools/claude-lsp-tool.js.map +1 -0
- package/dist/tools/claude-scheduled-tools.d.ts +20 -0
- package/dist/tools/claude-scheduled-tools.d.ts.map +1 -0
- package/dist/tools/claude-scheduled-tools.js +344 -0
- package/dist/tools/claude-scheduled-tools.js.map +1 -0
- package/dist/tools/claude-task-tools.d.ts +30 -0
- package/dist/tools/claude-task-tools.d.ts.map +1 -0
- package/dist/tools/claude-task-tools.js +503 -0
- package/dist/tools/claude-task-tools.js.map +1 -0
- package/dist/tools/claude-user-message.d.ts +16 -0
- package/dist/tools/claude-user-message.d.ts.map +1 -0
- package/dist/tools/claude-user-message.js +98 -0
- package/dist/tools/claude-user-message.js.map +1 -0
- package/dist/tools/claude-workflow-tools.d.ts +27 -0
- package/dist/tools/claude-workflow-tools.d.ts.map +1 -0
- package/dist/tools/claude-workflow-tools.js +257 -0
- package/dist/tools/claude-workflow-tools.js.map +1 -0
- package/dist/tools/claude-worktree-tools.d.ts +17 -0
- package/dist/tools/claude-worktree-tools.d.ts.map +1 -0
- package/dist/tools/claude-worktree-tools.js +135 -0
- package/dist/tools/claude-worktree-tools.js.map +1 -0
- package/dist/tools/filtered-tool-registry.d.ts +16 -0
- package/dist/tools/filtered-tool-registry.d.ts.map +1 -0
- package/dist/tools/filtered-tool-registry.js +51 -0
- package/dist/tools/filtered-tool-registry.js.map +1 -0
- package/dist/tools/glob.d.ts +9 -0
- package/dist/tools/glob.d.ts.map +1 -0
- package/dist/tools/glob.js +88 -0
- package/dist/tools/glob.js.map +1 -0
- package/dist/tools/local-tools.d.ts +47 -0
- package/dist/tools/local-tools.d.ts.map +1 -0
- package/dist/tools/local-tools.js +1082 -0
- package/dist/tools/local-tools.js.map +1 -0
- package/dist/tools/notebook.d.ts +22 -0
- package/dist/tools/notebook.d.ts.map +1 -0
- package/dist/tools/notebook.js +154 -0
- package/dist/tools/notebook.js.map +1 -0
- package/dist/tools/web.d.ts +48 -0
- package/dist/tools/web.d.ts.map +1 -0
- package/dist/tools/web.js +726 -0
- package/dist/tools/web.js.map +1 -0
- package/package.json +145 -0
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
import { readFile, readdir, realpath, stat } from 'node:fs/promises';
|
|
2
|
+
import { basename, isAbsolute, join, resolve, sep } from 'node:path';
|
|
3
|
+
import { parse as parseYaml } from 'yaml';
|
|
4
|
+
export const EVAL_SCHEMA_VERSION = '1.0';
|
|
5
|
+
export const MAX_EVAL_FILE_BYTES = 1024 * 1024;
|
|
6
|
+
export const MAX_EVAL_GRADERS = 256;
|
|
7
|
+
export const MAX_EVAL_ARRAY_ITEMS = 256;
|
|
8
|
+
export const MAX_EVAL_STRING_LENGTH = 16 * 1024;
|
|
9
|
+
export const MAX_EVAL_OBJECT_DEPTH = 16;
|
|
10
|
+
export const MAX_EVAL_OBJECT_NODES = 4096;
|
|
11
|
+
const EVAL_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/u;
|
|
12
|
+
function record(value, label) {
|
|
13
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
14
|
+
throw new Error(`${label} must be an object`);
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
function strict(value, keys, label) {
|
|
19
|
+
const unknown = Object.keys(value).filter((key) => !keys.includes(key));
|
|
20
|
+
if (unknown.length)
|
|
21
|
+
throw new Error(`${label} has unknown field: ${unknown[0]}`);
|
|
22
|
+
}
|
|
23
|
+
function text(value, label, required = false) {
|
|
24
|
+
if (value === undefined && !required)
|
|
25
|
+
return undefined;
|
|
26
|
+
if (typeof value !== 'string' || value.trim().length === 0)
|
|
27
|
+
throw new Error(`${label} must be a non-empty string`);
|
|
28
|
+
if (value.length > MAX_EVAL_STRING_LENGTH)
|
|
29
|
+
throw new Error(`${label} exceeds ${MAX_EVAL_STRING_LENGTH} characters`);
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
function safeName(value, label) {
|
|
33
|
+
const selected = text(value, label, true);
|
|
34
|
+
if (!EVAL_NAME.test(selected) || selected === '.' || selected === '..')
|
|
35
|
+
throw new Error(`${label} must be a safe eval identifier`);
|
|
36
|
+
return selected;
|
|
37
|
+
}
|
|
38
|
+
function safeRelativePath(value, label) {
|
|
39
|
+
const selected = text(value, label, true);
|
|
40
|
+
const segments = selected.replaceAll('\\', '/').split('/');
|
|
41
|
+
if (isAbsolute(selected) ||
|
|
42
|
+
selected.includes('\0') ||
|
|
43
|
+
segments.includes('..') ||
|
|
44
|
+
segments.includes(''))
|
|
45
|
+
throw new Error(`${label} must be a contained relative path`);
|
|
46
|
+
return selected;
|
|
47
|
+
}
|
|
48
|
+
function boundedObject(value, label) {
|
|
49
|
+
const selected = record(value, label);
|
|
50
|
+
let nodes = 0;
|
|
51
|
+
const visit = (item, depth) => {
|
|
52
|
+
nodes += 1;
|
|
53
|
+
if (nodes > MAX_EVAL_OBJECT_NODES)
|
|
54
|
+
throw new Error(`${label} exceeds ${MAX_EVAL_OBJECT_NODES} nodes`);
|
|
55
|
+
if (depth > MAX_EVAL_OBJECT_DEPTH)
|
|
56
|
+
throw new Error(`${label} exceeds depth ${MAX_EVAL_OBJECT_DEPTH}`);
|
|
57
|
+
if (typeof item === 'string' && item.length > MAX_EVAL_STRING_LENGTH)
|
|
58
|
+
throw new Error(`${label} contains an oversized string`);
|
|
59
|
+
if (Array.isArray(item)) {
|
|
60
|
+
if (item.length > MAX_EVAL_ARRAY_ITEMS)
|
|
61
|
+
throw new Error(`${label} contains an oversized array`);
|
|
62
|
+
for (const child of item)
|
|
63
|
+
visit(child, depth + 1);
|
|
64
|
+
}
|
|
65
|
+
else if (item && typeof item === 'object') {
|
|
66
|
+
const entries = Object.entries(item);
|
|
67
|
+
if (entries.length > MAX_EVAL_ARRAY_ITEMS)
|
|
68
|
+
throw new Error(`${label} contains an oversized object`);
|
|
69
|
+
for (const [key, child] of entries) {
|
|
70
|
+
if (key.length > 256)
|
|
71
|
+
throw new Error(`${label} contains an oversized key`);
|
|
72
|
+
visit(child, depth + 1);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
visit(selected, 0);
|
|
77
|
+
return selected;
|
|
78
|
+
}
|
|
79
|
+
function integer(value, label, fallback, min, max) {
|
|
80
|
+
const selected = value ?? fallback;
|
|
81
|
+
if (!Number.isInteger(selected) ||
|
|
82
|
+
selected < min ||
|
|
83
|
+
selected > max)
|
|
84
|
+
throw new Error(`${label} must be an integer from ${min} to ${max}`);
|
|
85
|
+
return selected;
|
|
86
|
+
}
|
|
87
|
+
function strings(value, label) {
|
|
88
|
+
if (value === undefined)
|
|
89
|
+
return [];
|
|
90
|
+
if (!Array.isArray(value) || !value.every((item) => typeof item === 'string'))
|
|
91
|
+
throw new Error(`${label} must be a string array`);
|
|
92
|
+
if (value.length > MAX_EVAL_ARRAY_ITEMS)
|
|
93
|
+
throw new Error(`${label} exceeds ${MAX_EVAL_ARRAY_ITEMS} items`);
|
|
94
|
+
for (const item of value)
|
|
95
|
+
if (item.length === 0 || item.length > MAX_EVAL_STRING_LENGTH)
|
|
96
|
+
throw new Error(`${label} contains an invalid string`);
|
|
97
|
+
return [...value];
|
|
98
|
+
}
|
|
99
|
+
function focus(value, label, fallback) {
|
|
100
|
+
if (value === undefined)
|
|
101
|
+
return fallback;
|
|
102
|
+
if (['last_message', 'trace', 'files'].includes(String(value)))
|
|
103
|
+
return value;
|
|
104
|
+
const item = record(value, label);
|
|
105
|
+
strict(item, ['source', 'path'], label);
|
|
106
|
+
if (item.source !== 'file')
|
|
107
|
+
throw new Error(`${label}.source must be file`);
|
|
108
|
+
return {
|
|
109
|
+
source: 'file',
|
|
110
|
+
path: safeRelativePath(item.path, `${label}.path`),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function toolMatch(value, label) {
|
|
114
|
+
if (typeof value === 'string' && value.length)
|
|
115
|
+
return value;
|
|
116
|
+
const item = record(value, label);
|
|
117
|
+
strict(item, ['tool', 'input_match'], label);
|
|
118
|
+
return {
|
|
119
|
+
tool: text(item.tool, `${label}.tool`, true),
|
|
120
|
+
...(item.input_match === undefined
|
|
121
|
+
? {}
|
|
122
|
+
: {
|
|
123
|
+
input_match: boundedObject(item.input_match, `${label}.input_match`),
|
|
124
|
+
}),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function grader(value, index) {
|
|
128
|
+
const item = record(value, `graders[${index}]`);
|
|
129
|
+
const type = text(item.type, `graders[${index}].type`, true);
|
|
130
|
+
const name = safeName(item.name, `graders[${index}].name`);
|
|
131
|
+
const weight = item.weight === undefined ? 1 : Number(item.weight);
|
|
132
|
+
if (!(weight > 0) || !Number.isFinite(weight))
|
|
133
|
+
throw new Error(`${name}.weight must be positive`);
|
|
134
|
+
const arm = item.arm;
|
|
135
|
+
if (arm !== undefined && arm !== 'with-only' && arm !== 'both')
|
|
136
|
+
throw new Error(`${name}.arm must be with-only or both`);
|
|
137
|
+
const base = {
|
|
138
|
+
name,
|
|
139
|
+
weight,
|
|
140
|
+
...(arm === undefined ? {} : { arm }),
|
|
141
|
+
};
|
|
142
|
+
if (type === 'regex') {
|
|
143
|
+
strict(item, ['type', 'name', 'weight', 'arm', 'target', 'pattern', 'flags', 'match'], name);
|
|
144
|
+
const match = item.match === undefined ? 'contains' : String(item.match);
|
|
145
|
+
if (!['contains', 'not_contains'].includes(match) &&
|
|
146
|
+
!/^count:\d+$/u.test(match))
|
|
147
|
+
throw new Error(`${name}.match is invalid`);
|
|
148
|
+
const flags = item.flags === undefined ? '' : String(item.flags);
|
|
149
|
+
try {
|
|
150
|
+
new RegExp('', flags);
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
throw new Error(`${name}.flags is invalid`);
|
|
154
|
+
}
|
|
155
|
+
return {
|
|
156
|
+
...base,
|
|
157
|
+
type,
|
|
158
|
+
target: focus(item.target, `${name}.target`, 'last_message'),
|
|
159
|
+
pattern: text(item.pattern, `${name}.pattern`, true),
|
|
160
|
+
flags,
|
|
161
|
+
match: match,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
if (type === 'tool_order') {
|
|
165
|
+
strict(item, ['type', 'name', 'weight', 'arm', 'before', 'after'], name);
|
|
166
|
+
return {
|
|
167
|
+
...base,
|
|
168
|
+
type,
|
|
169
|
+
before: toolMatch(item.before, `${name}.before`),
|
|
170
|
+
after: toolMatch(item.after, `${name}.after`),
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
if (type === 'tool_used') {
|
|
174
|
+
strict(item, ['type', 'name', 'weight', 'arm', 'tool', 'input_match', 'min', 'max'], name);
|
|
175
|
+
const min = integer(item.min, `${name}.min`, 1, 0, Number.MAX_SAFE_INTEGER);
|
|
176
|
+
const max = item.max === undefined
|
|
177
|
+
? Number.POSITIVE_INFINITY
|
|
178
|
+
: integer(item.max, `${name}.max`, 0, 0, Number.MAX_SAFE_INTEGER);
|
|
179
|
+
if (max < min)
|
|
180
|
+
throw new Error(`${name}.max must be at least min`);
|
|
181
|
+
const tool = text(item.tool, `${name}.tool`, true);
|
|
182
|
+
return {
|
|
183
|
+
...base,
|
|
184
|
+
...(tool === 'Skill' && arm === undefined
|
|
185
|
+
? { arm: 'with-only' }
|
|
186
|
+
: {}),
|
|
187
|
+
type,
|
|
188
|
+
tool,
|
|
189
|
+
...(item.input_match === undefined
|
|
190
|
+
? {}
|
|
191
|
+
: {
|
|
192
|
+
input_match: boundedObject(item.input_match, `${name}.input_match`),
|
|
193
|
+
}),
|
|
194
|
+
min,
|
|
195
|
+
max,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
if (type === 'file_exists') {
|
|
199
|
+
strict(item, ['type', 'name', 'weight', 'arm', 'path', 'exists'], name);
|
|
200
|
+
if (item.exists !== undefined && typeof item.exists !== 'boolean')
|
|
201
|
+
throw new Error(`${name}.exists must be boolean`);
|
|
202
|
+
return {
|
|
203
|
+
...base,
|
|
204
|
+
type,
|
|
205
|
+
path: safeRelativePath(item.path, `${name}.path`),
|
|
206
|
+
exists: item.exists !== false,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
if (type === 'llm') {
|
|
210
|
+
strict(item, ['type', 'name', 'weight', 'arm', 'criteria', 'focus'], name);
|
|
211
|
+
return {
|
|
212
|
+
...base,
|
|
213
|
+
type,
|
|
214
|
+
criteria: text(item.criteria, `${name}.criteria`, true),
|
|
215
|
+
focus: focus(item.focus, `${name}.focus`, 'last_message'),
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
if (type === 'baseline') {
|
|
219
|
+
strict(item, ['type', 'name', 'weight', 'arm', 'baseline_file', 'criteria'], name);
|
|
220
|
+
return {
|
|
221
|
+
...base,
|
|
222
|
+
type,
|
|
223
|
+
baseline_file: safeRelativePath(item.baseline_file, `${name}.baseline_file`),
|
|
224
|
+
criteria: text(item.criteria, `${name}.criteria`, true),
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
throw new Error(`Unsupported grader type: ${type}`);
|
|
228
|
+
}
|
|
229
|
+
function frontmatter(content, label) {
|
|
230
|
+
if (!content.startsWith('---\n'))
|
|
231
|
+
throw new Error(`${label} must start with YAML frontmatter`);
|
|
232
|
+
const end = content.indexOf('\n---', 4);
|
|
233
|
+
if (end < 0)
|
|
234
|
+
throw new Error(`${label} has unterminated YAML frontmatter`);
|
|
235
|
+
return {
|
|
236
|
+
metadata: record(yaml(content.slice(4, end), `${label} frontmatter`) ?? {}, `${label} frontmatter`),
|
|
237
|
+
body: content
|
|
238
|
+
.slice(end + 4)
|
|
239
|
+
.replace(/^\r?\n/u, '')
|
|
240
|
+
.trim(),
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
async function boundedRead(path) {
|
|
244
|
+
if ((await stat(path)).size > MAX_EVAL_FILE_BYTES)
|
|
245
|
+
throw new Error(`${path} exceeds 1 MiB`);
|
|
246
|
+
return readFile(path, 'utf8');
|
|
247
|
+
}
|
|
248
|
+
function yaml(content, label) {
|
|
249
|
+
const parsed = parseYaml(content, { maxAliasCount: 20 });
|
|
250
|
+
if (parsed !== undefined)
|
|
251
|
+
boundedObject(parsed, label);
|
|
252
|
+
return parsed;
|
|
253
|
+
}
|
|
254
|
+
function normalize(raw, dir, source) {
|
|
255
|
+
strict(raw, [
|
|
256
|
+
'schema_version',
|
|
257
|
+
'name',
|
|
258
|
+
'description',
|
|
259
|
+
'tags',
|
|
260
|
+
'plugins',
|
|
261
|
+
'context',
|
|
262
|
+
'execution',
|
|
263
|
+
'runs',
|
|
264
|
+
'graders',
|
|
265
|
+
'expected_outcome',
|
|
266
|
+
], 'case');
|
|
267
|
+
const version = text(raw.schema_version, 'schema_version', true);
|
|
268
|
+
if (!/^1(?:\.|$)/u.test(version))
|
|
269
|
+
throw new Error(`Unsupported schema_version: ${version}`);
|
|
270
|
+
const context = raw.context === undefined ? {} : record(raw.context, 'context');
|
|
271
|
+
strict(context, ['scaffold_script', 'history_file', 'add_dirs'], 'context');
|
|
272
|
+
const execution = raw.execution === undefined ? {} : record(raw.execution, 'execution');
|
|
273
|
+
strict(execution, [
|
|
274
|
+
'prompt',
|
|
275
|
+
'max_turns',
|
|
276
|
+
'timeout_seconds',
|
|
277
|
+
'model',
|
|
278
|
+
'allowed_tools',
|
|
279
|
+
'append_system_prompt',
|
|
280
|
+
'env',
|
|
281
|
+
], 'execution');
|
|
282
|
+
const env = execution.env === undefined ? {} : record(execution.env, 'execution.env');
|
|
283
|
+
for (const [key, value] of Object.entries(env)) {
|
|
284
|
+
if (!/^EVAL_[A-Z0-9_]+$/u.test(key) || typeof value !== 'string')
|
|
285
|
+
throw new Error(`Invalid eval environment variable: ${key}`);
|
|
286
|
+
}
|
|
287
|
+
const prompt = text(execution.prompt, 'execution.prompt');
|
|
288
|
+
const historyFile = text(context.history_file, 'context.history_file');
|
|
289
|
+
if (!prompt && !historyFile)
|
|
290
|
+
throw new Error('Case requires execution.prompt or context.history_file');
|
|
291
|
+
const gradersRaw = raw.graders;
|
|
292
|
+
if (!Array.isArray(gradersRaw) || gradersRaw.length < 1)
|
|
293
|
+
throw new Error('Case requires at least one grader');
|
|
294
|
+
if (gradersRaw.length > MAX_EVAL_GRADERS)
|
|
295
|
+
throw new Error(`Case exceeds ${MAX_EVAL_GRADERS} graders`);
|
|
296
|
+
const graders = gradersRaw.map(grader);
|
|
297
|
+
if (new Set(graders.map((item) => item.name)).size !== graders.length)
|
|
298
|
+
throw new Error('Grader names must be unique');
|
|
299
|
+
return {
|
|
300
|
+
schemaVersion: version,
|
|
301
|
+
name: safeName(raw.name, 'name'),
|
|
302
|
+
...(raw.description === undefined
|
|
303
|
+
? {}
|
|
304
|
+
: { description: text(raw.description, 'description') }),
|
|
305
|
+
tags: strings(raw.tags, 'tags'),
|
|
306
|
+
...(raw.plugins === undefined
|
|
307
|
+
? {}
|
|
308
|
+
: { plugins: strings(raw.plugins, 'plugins') }),
|
|
309
|
+
context: {
|
|
310
|
+
...(context.scaffold_script === undefined
|
|
311
|
+
? {}
|
|
312
|
+
: {
|
|
313
|
+
scaffoldScript: safeRelativePath(context.scaffold_script, 'context.scaffold_script'),
|
|
314
|
+
}),
|
|
315
|
+
...(historyFile
|
|
316
|
+
? { historyFile: safeRelativePath(historyFile, 'context.history_file') }
|
|
317
|
+
: {}),
|
|
318
|
+
addDirs: strings(context.add_dirs, 'context.add_dirs').map((path) => safeRelativePath(path, 'context.add_dirs')),
|
|
319
|
+
},
|
|
320
|
+
execution: {
|
|
321
|
+
...(prompt ? { prompt } : {}),
|
|
322
|
+
maxTurns: integer(execution.max_turns, 'execution.max_turns', 10, 1, 200),
|
|
323
|
+
timeoutSeconds: integer(execution.timeout_seconds, 'execution.timeout_seconds', 300, 1, 3600),
|
|
324
|
+
...(execution.model === undefined
|
|
325
|
+
? {}
|
|
326
|
+
: { model: text(execution.model, 'execution.model') }),
|
|
327
|
+
allowedTools: strings(execution.allowed_tools, 'execution.allowed_tools'),
|
|
328
|
+
...(execution.append_system_prompt === undefined
|
|
329
|
+
? {}
|
|
330
|
+
: {
|
|
331
|
+
appendSystemPrompt: text(execution.append_system_prompt, 'execution.append_system_prompt'),
|
|
332
|
+
}),
|
|
333
|
+
env: Object.fromEntries(Object.entries(env).map(([key, value]) => [
|
|
334
|
+
key,
|
|
335
|
+
text(value, `execution.env.${key}`, true),
|
|
336
|
+
])),
|
|
337
|
+
},
|
|
338
|
+
runs: integer(raw.runs, 'runs', 3, 1, 50),
|
|
339
|
+
graders,
|
|
340
|
+
...(raw.expected_outcome === undefined
|
|
341
|
+
? {}
|
|
342
|
+
: {
|
|
343
|
+
expectedOutcome: text(raw.expected_outcome, 'expected_outcome'),
|
|
344
|
+
}),
|
|
345
|
+
dir,
|
|
346
|
+
source,
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
export async function loadClaudePluginEvalCase(caseDir) {
|
|
350
|
+
const dir = await realpath(resolve(caseDir));
|
|
351
|
+
let yamlRaw;
|
|
352
|
+
let proseRaw;
|
|
353
|
+
try {
|
|
354
|
+
yamlRaw = record(yaml(await boundedRead(join(dir, 'case.yaml')), 'case.yaml'), 'case.yaml');
|
|
355
|
+
}
|
|
356
|
+
catch (error) {
|
|
357
|
+
if (error.code !== 'ENOENT')
|
|
358
|
+
throw error;
|
|
359
|
+
}
|
|
360
|
+
try {
|
|
361
|
+
const parsed = frontmatter(await boundedRead(join(dir, 'prompt.md')), 'prompt.md');
|
|
362
|
+
const metadata = parsed.metadata;
|
|
363
|
+
const execution = {};
|
|
364
|
+
for (const key of [
|
|
365
|
+
'model',
|
|
366
|
+
'max_turns',
|
|
367
|
+
'timeout_seconds',
|
|
368
|
+
'allowed_tools',
|
|
369
|
+
'append_system_prompt',
|
|
370
|
+
'env',
|
|
371
|
+
])
|
|
372
|
+
if (metadata[key] !== undefined) {
|
|
373
|
+
execution[key] = metadata[key];
|
|
374
|
+
delete metadata[key];
|
|
375
|
+
}
|
|
376
|
+
execution.prompt = parsed.body;
|
|
377
|
+
proseRaw = { ...metadata, execution };
|
|
378
|
+
}
|
|
379
|
+
catch (error) {
|
|
380
|
+
if (error.code !== 'ENOENT')
|
|
381
|
+
throw error;
|
|
382
|
+
}
|
|
383
|
+
if (!yamlRaw && !proseRaw)
|
|
384
|
+
throw new Error(`No case.yaml or prompt.md in ${dir}`);
|
|
385
|
+
const graderDir = join(dir, 'graders');
|
|
386
|
+
const proseGraders = [];
|
|
387
|
+
try {
|
|
388
|
+
const names = (await readdir(graderDir))
|
|
389
|
+
.filter((name) => name.endsWith('.md'))
|
|
390
|
+
.sort();
|
|
391
|
+
if (names.length > MAX_EVAL_GRADERS)
|
|
392
|
+
throw new Error(`Too many graders in ${graderDir}`);
|
|
393
|
+
for (const name of names) {
|
|
394
|
+
const parsed = frontmatter(await boundedRead(join(graderDir, name)), name);
|
|
395
|
+
const data = {
|
|
396
|
+
name: basename(name, '.md'),
|
|
397
|
+
...parsed.metadata,
|
|
398
|
+
};
|
|
399
|
+
if (data.type === 'llm' || data.type === 'baseline')
|
|
400
|
+
data.criteria ??= parsed.body;
|
|
401
|
+
if (data.type === 'regex')
|
|
402
|
+
data.pattern ??= parsed.body;
|
|
403
|
+
proseGraders.push(data);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
catch (error) {
|
|
407
|
+
if (error.code !== 'ENOENT')
|
|
408
|
+
throw error;
|
|
409
|
+
}
|
|
410
|
+
const merged = { ...(yamlRaw ?? {}), ...(proseRaw ?? {}) };
|
|
411
|
+
merged.context = {
|
|
412
|
+
...record(yamlRaw?.context ?? {}, 'context'),
|
|
413
|
+
...record(proseRaw?.context ?? {}, 'context'),
|
|
414
|
+
};
|
|
415
|
+
merged.execution = {
|
|
416
|
+
...record(yamlRaw?.execution ?? {}, 'execution'),
|
|
417
|
+
...record(proseRaw?.execution ?? {}, 'execution'),
|
|
418
|
+
};
|
|
419
|
+
merged.graders = [
|
|
420
|
+
...(Array.isArray(yamlRaw?.graders) ? yamlRaw.graders : []),
|
|
421
|
+
...proseGraders,
|
|
422
|
+
];
|
|
423
|
+
if (proseRaw && !merged.schema_version)
|
|
424
|
+
merged.schema_version = EVAL_SCHEMA_VERSION;
|
|
425
|
+
if (proseRaw && !merged.name)
|
|
426
|
+
merged.name = basename(dir);
|
|
427
|
+
return normalize(merged, dir, yamlRaw && proseRaw ? 'mixed' : yamlRaw ? 'case_yaml' : 'prose');
|
|
428
|
+
}
|
|
429
|
+
export async function resolveContainedPath(root, candidate, label) {
|
|
430
|
+
const rootPath = await realpath(resolve(root));
|
|
431
|
+
const path = await realpath(resolve(rootPath, candidate));
|
|
432
|
+
if (path !== rootPath && !path.startsWith(`${rootPath}${sep}`))
|
|
433
|
+
throw new Error(`${label} escapes eval root: ${candidate}`);
|
|
434
|
+
return path;
|
|
435
|
+
}
|
|
436
|
+
//# sourceMappingURL=claude-plugin-eval-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-plugin-eval-schema.js","sourceRoot":"","sources":["../../src/plugins/claude-plugin-eval-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type EvalGraderResult, type EvalJudge } from './claude-plugin-eval-graders.js';
|
|
2
|
+
import { type PluginEvalRuntimeFactory } from './claude-plugin-eval-runner.js';
|
|
3
|
+
export declare const PLUGIN_EVAL_HELP = "Usage: praxis plugin eval [options] [command] [target]\n\nRun eval cases (evals/**/case.yaml or evals/**/prompt.md + graders/*.md) against\na plugin and report scored results. Target is a path, a plugin name, or a\n`plugin@marketplace` id \u2014 installed and skills-dir plugins both resolve (and add\na no-plugin baseline arm).\n\nOptions:\n --ablation <mode> Ablation mode: none or with-without (default depends on target)\n --allow-tools <tools...> Operator grant for gated case tools such as Bash or Write\n --case <glob> Filter safe case names with a glob\n --json Print aggregate JSON\n --judge-model <model> Judge model (default: haiku)\n --keep-temp Keep isolated run directories\n --max-cost-usd <usd> Stop before next run at ceiling; one active run may overrun\n --model <model> Override case model\n --no-scaffold Disable opt-in scaffold scripts (default)\n --output-dir <dir> Results directory (default: evals/results/<timestamp>)\n --runs <n> Override case run count\n --scaffold Enable contained, bounded scaffold scripts\n --tag <tag...> Include cases matching any tag\n --threshold <0..1> Passing score (default: 1.0)\n --verbose Print run progress\n -h, --help Display help for command\n\nCommands:\n init [options] [name] Create an eval case\n";
|
|
4
|
+
export declare const PLUGIN_EVAL_INIT_HELP = "Usage: praxis plugin eval init [options] [name]\n\nOptions:\n --bare Write starter files without an interview\n -h, --help Display help for command\n";
|
|
5
|
+
export interface PluginEvalIo {
|
|
6
|
+
stdout(message: string): void;
|
|
7
|
+
stderr(message: string): void;
|
|
8
|
+
isTTY?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface PluginEvalDependencies {
|
|
11
|
+
runtimeFactory: PluginEvalRuntimeFactory;
|
|
12
|
+
judge?: EvalJudge;
|
|
13
|
+
interactiveInit?(options: {
|
|
14
|
+
cwd: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
}): Promise<number>;
|
|
17
|
+
claudeVersion?: string;
|
|
18
|
+
}
|
|
19
|
+
interface EvalOptions {
|
|
20
|
+
target?: string;
|
|
21
|
+
ablation?: 'none' | 'with-without';
|
|
22
|
+
allowTools: string[];
|
|
23
|
+
caseGlob?: string;
|
|
24
|
+
json: boolean;
|
|
25
|
+
judgeModel: string;
|
|
26
|
+
keepTemp: boolean;
|
|
27
|
+
maxCostUsd?: number;
|
|
28
|
+
model?: string;
|
|
29
|
+
outputDir?: string;
|
|
30
|
+
runs?: number;
|
|
31
|
+
scaffold: boolean;
|
|
32
|
+
tags: string[];
|
|
33
|
+
threshold: number;
|
|
34
|
+
verbose: boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare function initClaudePluginEval(options: {
|
|
37
|
+
cwd: string;
|
|
38
|
+
name?: string;
|
|
39
|
+
bare: boolean;
|
|
40
|
+
interactive: boolean;
|
|
41
|
+
isTTY: boolean;
|
|
42
|
+
interactiveInit?: PluginEvalDependencies['interactiveInit'];
|
|
43
|
+
}): Promise<number>;
|
|
44
|
+
export interface EvalRunReport {
|
|
45
|
+
score: number;
|
|
46
|
+
turns: number;
|
|
47
|
+
cost_usd: number;
|
|
48
|
+
judge_cost_usd: number;
|
|
49
|
+
graders: EvalGraderResult[];
|
|
50
|
+
trace_path: string;
|
|
51
|
+
error: string | null;
|
|
52
|
+
skipped_paid_graders: boolean;
|
|
53
|
+
temp_root?: string;
|
|
54
|
+
}
|
|
55
|
+
export declare function runClaudePluginEval(options: EvalOptions & {
|
|
56
|
+
cwd: string;
|
|
57
|
+
configRoot: string;
|
|
58
|
+
dependencies: PluginEvalDependencies;
|
|
59
|
+
signal?: AbortSignal;
|
|
60
|
+
}): Promise<{
|
|
61
|
+
code: number;
|
|
62
|
+
aggregate: Record<string, unknown>;
|
|
63
|
+
}>;
|
|
64
|
+
export declare function executeClaudePluginEvalCommand(argv: readonly string[], io: PluginEvalIo, dependencies: PluginEvalDependencies, signal?: AbortSignal): Promise<number>;
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=claude-plugin-eval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-plugin-eval.d.ts","sourceRoot":"","sources":["../../src/plugins/claude-plugin-eval.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAA;AAEvC,eAAO,MAAM,gBAAgB,i6CA2B5B,CAAA;AAED,eAAO,MAAM,qBAAqB,kKAKjC,CAAA;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AACD,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,wBAAwB,CAAA;IACxC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,eAAe,CAAC,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAAA;IAClC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CACjB;AAmID,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;IACd,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;CAC5D,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBlB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAcD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,WAAW,GAAG;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,sBAAsB,CAAA;IACpC,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GACA,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAoN/D;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,EAAE,YAAY,EAChB,YAAY,EAAE,sBAAsB,EACpC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CA6CjB"}
|