patchwork-os 0.2.0-alpha.9 → 0.2.0-beta.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/README.bridge.md +6 -0
- package/README.md +318 -35
- package/deploy/bootstrap-new-vps.sh +12 -12
- package/deploy/bootstrap-vps.sh +187 -0
- package/deploy/deploy-dashboard.sh +174 -0
- package/deploy/deploy-landing.sh +136 -0
- package/dist/activationMetrics.d.ts +67 -0
- package/dist/activationMetrics.js +255 -0
- package/dist/activationMetrics.js.map +1 -0
- package/dist/activityLog.d.ts +49 -0
- package/dist/activityLog.js +78 -0
- package/dist/activityLog.js.map +1 -1
- package/dist/analyticsAggregator.d.ts +5 -1
- package/dist/analyticsAggregator.js +15 -4
- package/dist/analyticsAggregator.js.map +1 -1
- package/dist/analyticsPrefs.d.ts +11 -0
- package/dist/analyticsPrefs.js +33 -0
- package/dist/analyticsPrefs.js.map +1 -1
- package/dist/approvalHttp.d.ts +49 -2
- package/dist/approvalHttp.js +217 -21
- package/dist/approvalHttp.js.map +1 -1
- package/dist/approvalInsights.d.ts +49 -0
- package/dist/approvalInsights.js +97 -0
- package/dist/approvalInsights.js.map +1 -0
- package/dist/approvalQueue.d.ts +27 -1
- package/dist/approvalQueue.js +123 -3
- package/dist/approvalQueue.js.map +1 -1
- package/dist/approvalSignals.d.ts +124 -0
- package/dist/approvalSignals.js +512 -0
- package/dist/approvalSignals.js.map +1 -0
- package/dist/automation.d.ts +57 -0
- package/dist/automation.js +156 -59
- package/dist/automation.js.map +1 -1
- package/dist/automationSuggestions.d.ts +79 -0
- package/dist/automationSuggestions.js +150 -0
- package/dist/automationSuggestions.js.map +1 -0
- package/dist/bridge.d.ts +3 -0
- package/dist/bridge.js +194 -153
- package/dist/bridge.js.map +1 -1
- package/dist/bridgeToken.js +57 -19
- package/dist/bridgeToken.js.map +1 -1
- package/dist/ccPermissions.d.ts +15 -0
- package/dist/ccPermissions.js +21 -4
- package/dist/ccPermissions.js.map +1 -1
- package/dist/claudeDriver.d.ts +0 -16
- package/dist/claudeDriver.js +93 -36
- package/dist/claudeDriver.js.map +1 -1
- package/dist/claudeMdPatch.d.ts +9 -3
- package/dist/claudeMdPatch.js +79 -13
- package/dist/claudeMdPatch.js.map +1 -1
- package/dist/claudeOrchestrator.d.ts +13 -1
- package/dist/claudeOrchestrator.js +16 -8
- package/dist/claudeOrchestrator.js.map +1 -1
- package/dist/commands/dashboard.js +1 -1
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/launchd.d.ts +2 -0
- package/dist/commands/launchd.js +94 -0
- package/dist/commands/launchd.js.map +1 -0
- package/dist/commands/marketplace.d.ts +15 -10
- package/dist/commands/marketplace.js +27 -115
- package/dist/commands/marketplace.js.map +1 -1
- package/dist/commands/patchworkInit.d.ts +8 -0
- package/dist/commands/patchworkInit.js +77 -11
- package/dist/commands/patchworkInit.js.map +1 -1
- package/dist/commands/recipe.d.ts +289 -0
- package/dist/commands/recipe.js +1359 -0
- package/dist/commands/recipe.js.map +1 -0
- package/dist/commands/recipeInstall.d.ts +150 -0
- package/dist/commands/recipeInstall.js +647 -0
- package/dist/commands/recipeInstall.js.map +1 -0
- package/dist/commands/tracesExport.d.ts +83 -0
- package/dist/commands/tracesExport.js +269 -0
- package/dist/commands/tracesExport.js.map +1 -0
- package/dist/commands/tracesImport.d.ts +56 -0
- package/dist/commands/tracesImport.js +161 -0
- package/dist/commands/tracesImport.js.map +1 -0
- package/dist/commitIssueLinkLog.d.ts +8 -0
- package/dist/commitIssueLinkLog.js +53 -1
- package/dist/commitIssueLinkLog.js.map +1 -1
- package/dist/config.d.ts +23 -2
- package/dist/config.js +119 -9
- package/dist/config.js.map +1 -1
- package/dist/connectorRoutes.d.ts +43 -0
- package/dist/connectorRoutes.js +1300 -0
- package/dist/connectorRoutes.js.map +1 -0
- package/dist/connectors/asana.d.ts +198 -0
- package/dist/connectors/asana.js +679 -0
- package/dist/connectors/asana.js.map +1 -0
- package/dist/connectors/baseConnector.d.ts +153 -0
- package/dist/connectors/baseConnector.js +336 -0
- package/dist/connectors/baseConnector.js.map +1 -0
- package/dist/connectors/confluence.d.ts +111 -0
- package/dist/connectors/confluence.js +406 -0
- package/dist/connectors/confluence.js.map +1 -0
- package/dist/connectors/datadog.d.ts +116 -0
- package/dist/connectors/datadog.js +385 -0
- package/dist/connectors/datadog.js.map +1 -0
- package/dist/connectors/discord.d.ts +150 -0
- package/dist/connectors/discord.js +543 -0
- package/dist/connectors/discord.js.map +1 -0
- package/dist/connectors/fixtureLibrary.d.ts +21 -0
- package/dist/connectors/fixtureLibrary.js +70 -0
- package/dist/connectors/fixtureLibrary.js.map +1 -0
- package/dist/connectors/fixtureRecorder.d.ts +1 -0
- package/dist/connectors/fixtureRecorder.js +35 -0
- package/dist/connectors/fixtureRecorder.js.map +1 -0
- package/dist/connectors/github.js +17 -18
- package/dist/connectors/github.js.map +1 -1
- package/dist/connectors/gitlab.d.ts +180 -0
- package/dist/connectors/gitlab.js +582 -0
- package/dist/connectors/gitlab.js.map +1 -0
- package/dist/connectors/gmail.d.ts +4 -1
- package/dist/connectors/gmail.js +149 -27
- package/dist/connectors/gmail.js.map +1 -1
- package/dist/connectors/googleCalendar.d.ts +4 -1
- package/dist/connectors/googleCalendar.js +88 -25
- package/dist/connectors/googleCalendar.js.map +1 -1
- package/dist/connectors/googleDrive.d.ts +34 -0
- package/dist/connectors/googleDrive.js +321 -0
- package/dist/connectors/googleDrive.js.map +1 -0
- package/dist/connectors/htmlEscape.d.ts +5 -0
- package/dist/connectors/htmlEscape.js +13 -0
- package/dist/connectors/htmlEscape.js.map +1 -0
- package/dist/connectors/hubspot.d.ts +112 -0
- package/dist/connectors/hubspot.js +408 -0
- package/dist/connectors/hubspot.js.map +1 -0
- package/dist/connectors/intercom.d.ts +102 -0
- package/dist/connectors/intercom.js +402 -0
- package/dist/connectors/intercom.js.map +1 -0
- package/dist/connectors/jira.d.ts +98 -0
- package/dist/connectors/jira.js +396 -0
- package/dist/connectors/jira.js.map +1 -0
- package/dist/connectors/linear.js +30 -19
- package/dist/connectors/linear.js.map +1 -1
- package/dist/connectors/mcpOAuth.d.ts +3 -0
- package/dist/connectors/mcpOAuth.js +64 -10
- package/dist/connectors/mcpOAuth.js.map +1 -1
- package/dist/connectors/mockConnector.d.ts +28 -0
- package/dist/connectors/mockConnector.js +81 -0
- package/dist/connectors/mockConnector.js.map +1 -0
- package/dist/connectors/notion.d.ts +143 -0
- package/dist/connectors/notion.js +424 -0
- package/dist/connectors/notion.js.map +1 -0
- package/dist/connectors/oauthStateStore.d.ts +31 -0
- package/dist/connectors/oauthStateStore.js +52 -0
- package/dist/connectors/oauthStateStore.js.map +1 -0
- package/dist/connectors/pagerduty.d.ts +160 -0
- package/dist/connectors/pagerduty.js +464 -0
- package/dist/connectors/pagerduty.js.map +1 -0
- package/dist/connectors/sentry.js +5 -13
- package/dist/connectors/sentry.js.map +1 -1
- package/dist/connectors/slack.d.ts +16 -1
- package/dist/connectors/slack.js +155 -32
- package/dist/connectors/slack.js.map +1 -1
- package/dist/connectors/stripe.d.ts +116 -0
- package/dist/connectors/stripe.js +379 -0
- package/dist/connectors/stripe.js.map +1 -0
- package/dist/connectors/tokenStorage.d.ts +35 -0
- package/dist/connectors/tokenStorage.js +484 -0
- package/dist/connectors/tokenStorage.js.map +1 -0
- package/dist/connectors/zendesk.d.ts +104 -0
- package/dist/connectors/zendesk.js +442 -0
- package/dist/connectors/zendesk.js.map +1 -0
- package/dist/cors.d.ts +10 -0
- package/dist/cors.js +29 -0
- package/dist/cors.js.map +1 -0
- package/dist/decisionReplay.d.ts +72 -0
- package/dist/decisionReplay.js +92 -0
- package/dist/decisionReplay.js.map +1 -0
- package/dist/decisionTraceLog.d.ts +6 -0
- package/dist/decisionTraceLog.js +54 -2
- package/dist/decisionTraceLog.js.map +1 -1
- package/dist/drivers/claude/subprocess.d.ts +12 -2
- package/dist/drivers/claude/subprocess.js +79 -6
- package/dist/drivers/claude/subprocess.js.map +1 -1
- package/dist/drivers/gemini/api.d.ts +18 -0
- package/dist/drivers/gemini/api.js +29 -0
- package/dist/drivers/gemini/api.js.map +1 -0
- package/dist/drivers/gemini/index.d.ts +5 -1
- package/dist/drivers/gemini/index.js +39 -5
- package/dist/drivers/gemini/index.js.map +1 -1
- package/dist/drivers/index.d.ts +8 -1
- package/dist/drivers/index.js +10 -2
- package/dist/drivers/index.js.map +1 -1
- package/dist/drivers/local/index.d.ts +26 -0
- package/dist/drivers/local/index.js +41 -0
- package/dist/drivers/local/index.js.map +1 -0
- package/dist/featureFlags.d.ts +79 -0
- package/dist/featureFlags.js +208 -0
- package/dist/featureFlags.js.map +1 -0
- package/dist/fp/automationInterpreter.js +26 -21
- package/dist/fp/automationInterpreter.js.map +1 -1
- package/dist/fp/automationProgram.d.ts +1 -1
- package/dist/fp/automationProgram.js.map +1 -1
- package/dist/fp/automationState.js +4 -1
- package/dist/fp/automationState.js.map +1 -1
- package/dist/fp/policyParser.js +21 -1
- package/dist/fp/policyParser.js.map +1 -1
- package/dist/httpErrorResponse.d.ts +36 -0
- package/dist/httpErrorResponse.js +46 -0
- package/dist/httpErrorResponse.js.map +1 -0
- package/dist/inboxRoutes.d.ts +22 -0
- package/dist/inboxRoutes.js +193 -0
- package/dist/inboxRoutes.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1403 -203
- package/dist/index.js.map +1 -1
- package/dist/installGuard.d.ts +25 -0
- package/dist/installGuard.js +48 -0
- package/dist/installGuard.js.map +1 -0
- package/dist/mcpRoutes.d.ts +37 -0
- package/dist/mcpRoutes.js +76 -0
- package/dist/mcpRoutes.js.map +1 -0
- package/dist/oauth.d.ts +20 -1
- package/dist/oauth.js +214 -39
- package/dist/oauth.js.map +1 -1
- package/dist/oauthRoutes.d.ts +32 -0
- package/dist/oauthRoutes.js +119 -0
- package/dist/oauthRoutes.js.map +1 -0
- package/dist/orchestrator/orchestratorBridge.js +2 -2
- package/dist/orchestrator/orchestratorBridge.js.map +1 -1
- package/dist/patchworkConfig.d.ts +29 -0
- package/dist/patchworkConfig.js +100 -5
- package/dist/patchworkConfig.js.map +1 -1
- package/dist/pluginLoader.d.ts +28 -0
- package/dist/pluginLoader.js +77 -11
- package/dist/pluginLoader.js.map +1 -1
- package/dist/pluginWatcher.js +8 -3
- package/dist/pluginWatcher.js.map +1 -1
- package/dist/preToolUseHook.d.ts +12 -0
- package/dist/preToolUseHook.js +30 -1
- package/dist/preToolUseHook.js.map +1 -1
- package/dist/prompts.js +4 -0
- package/dist/prompts.js.map +1 -1
- package/dist/recipeOrchestration.d.ts +121 -0
- package/dist/recipeOrchestration.js +965 -0
- package/dist/recipeOrchestration.js.map +1 -0
- package/dist/recipeRoutes.d.ts +185 -0
- package/dist/recipeRoutes.js +1369 -0
- package/dist/recipeRoutes.js.map +1 -0
- package/dist/recipes/RecipeOrchestrator.d.ts +40 -0
- package/dist/recipes/RecipeOrchestrator.js +51 -0
- package/dist/recipes/RecipeOrchestrator.js.map +1 -0
- package/dist/recipes/agentExecutor.d.ts +38 -0
- package/dist/recipes/agentExecutor.js +50 -0
- package/dist/recipes/agentExecutor.js.map +1 -0
- package/dist/recipes/chainedRunner.d.ts +191 -0
- package/dist/recipes/chainedRunner.js +759 -0
- package/dist/recipes/chainedRunner.js.map +1 -0
- package/dist/recipes/compiler.js +3 -3
- package/dist/recipes/compiler.js.map +1 -1
- package/dist/recipes/dependencyGraph.d.ts +39 -0
- package/dist/recipes/dependencyGraph.js +199 -0
- package/dist/recipes/dependencyGraph.js.map +1 -0
- package/dist/recipes/disabledMarkers.d.ts +48 -0
- package/dist/recipes/disabledMarkers.js +52 -0
- package/dist/recipes/disabledMarkers.js.map +1 -0
- package/dist/recipes/installer.js +3 -3
- package/dist/recipes/installer.js.map +1 -1
- package/dist/recipes/legacyRecipeCompat.d.ts +10 -0
- package/dist/recipes/legacyRecipeCompat.js +131 -0
- package/dist/recipes/legacyRecipeCompat.js.map +1 -0
- package/dist/recipes/manifest.d.ts +47 -0
- package/dist/recipes/manifest.js +156 -0
- package/dist/recipes/manifest.js.map +1 -0
- package/dist/recipes/migrationWarnings.d.ts +12 -0
- package/dist/recipes/migrationWarnings.js +44 -0
- package/dist/recipes/migrationWarnings.js.map +1 -0
- package/dist/recipes/migrations/index.d.ts +24 -0
- package/dist/recipes/migrations/index.js +55 -0
- package/dist/recipes/migrations/index.js.map +1 -0
- package/dist/recipes/migrations/types.d.ts +28 -0
- package/dist/recipes/migrations/types.js +2 -0
- package/dist/recipes/migrations/types.js.map +1 -0
- package/dist/recipes/migrations/v1.d.ts +11 -0
- package/dist/recipes/migrations/v1.js +18 -0
- package/dist/recipes/migrations/v1.js.map +1 -0
- package/dist/recipes/names.d.ts +40 -0
- package/dist/recipes/names.js +66 -0
- package/dist/recipes/names.js.map +1 -0
- package/dist/recipes/nestedRecipeStep.d.ts +58 -0
- package/dist/recipes/nestedRecipeStep.js +95 -0
- package/dist/recipes/nestedRecipeStep.js.map +1 -0
- package/dist/recipes/outputRegistry.d.ts +28 -0
- package/dist/recipes/outputRegistry.js +52 -0
- package/dist/recipes/outputRegistry.js.map +1 -0
- package/dist/recipes/parser.js +4 -1
- package/dist/recipes/parser.js.map +1 -1
- package/dist/recipes/replayRun.d.ts +62 -0
- package/dist/recipes/replayRun.js +97 -0
- package/dist/recipes/replayRun.js.map +1 -0
- package/dist/recipes/resolveRecipePath.d.ts +69 -0
- package/dist/recipes/resolveRecipePath.js +202 -0
- package/dist/recipes/resolveRecipePath.js.map +1 -0
- package/dist/recipes/scheduler.d.ts +23 -7
- package/dist/recipes/scheduler.js +225 -45
- package/dist/recipes/scheduler.js.map +1 -1
- package/dist/recipes/schema.d.ts +17 -2
- package/dist/recipes/schemaGenerator.d.ts +28 -0
- package/dist/recipes/schemaGenerator.js +565 -0
- package/dist/recipes/schemaGenerator.js.map +1 -0
- package/dist/recipes/stepObservation.d.ts +44 -0
- package/dist/recipes/stepObservation.js +232 -0
- package/dist/recipes/stepObservation.js.map +1 -0
- package/dist/recipes/templateEngine.d.ts +62 -0
- package/dist/recipes/templateEngine.js +201 -0
- package/dist/recipes/templateEngine.js.map +1 -0
- package/dist/recipes/toolRegistry.d.ts +186 -0
- package/dist/recipes/toolRegistry.js +309 -0
- package/dist/recipes/toolRegistry.js.map +1 -0
- package/dist/recipes/tools/asana.d.ts +16 -0
- package/dist/recipes/tools/asana.js +524 -0
- package/dist/recipes/tools/asana.js.map +1 -0
- package/dist/recipes/tools/calendar.d.ts +6 -0
- package/dist/recipes/tools/calendar.js +61 -0
- package/dist/recipes/tools/calendar.js.map +1 -0
- package/dist/recipes/tools/confluence.d.ts +6 -0
- package/dist/recipes/tools/confluence.js +254 -0
- package/dist/recipes/tools/confluence.js.map +1 -0
- package/dist/recipes/tools/datadog.d.ts +6 -0
- package/dist/recipes/tools/datadog.js +239 -0
- package/dist/recipes/tools/datadog.js.map +1 -0
- package/dist/recipes/tools/diagnostics.d.ts +6 -0
- package/dist/recipes/tools/diagnostics.js +36 -0
- package/dist/recipes/tools/diagnostics.js.map +1 -0
- package/dist/recipes/tools/discord.d.ts +18 -0
- package/dist/recipes/tools/discord.js +254 -0
- package/dist/recipes/tools/discord.js.map +1 -0
- package/dist/recipes/tools/file.d.ts +12 -0
- package/dist/recipes/tools/file.js +174 -0
- package/dist/recipes/tools/file.js.map +1 -0
- package/dist/recipes/tools/git.d.ts +6 -0
- package/dist/recipes/tools/git.js +63 -0
- package/dist/recipes/tools/git.js.map +1 -0
- package/dist/recipes/tools/github.d.ts +6 -0
- package/dist/recipes/tools/github.js +116 -0
- package/dist/recipes/tools/github.js.map +1 -0
- package/dist/recipes/tools/gitlab.d.ts +11 -0
- package/dist/recipes/tools/gitlab.js +285 -0
- package/dist/recipes/tools/gitlab.js.map +1 -0
- package/dist/recipes/tools/gmail.d.ts +6 -0
- package/dist/recipes/tools/gmail.js +451 -0
- package/dist/recipes/tools/gmail.js.map +1 -0
- package/dist/recipes/tools/googleDrive.d.ts +1 -0
- package/dist/recipes/tools/googleDrive.js +55 -0
- package/dist/recipes/tools/googleDrive.js.map +1 -0
- package/dist/recipes/tools/hubspot.d.ts +6 -0
- package/dist/recipes/tools/hubspot.js +232 -0
- package/dist/recipes/tools/hubspot.js.map +1 -0
- package/dist/recipes/tools/index.d.ts +30 -0
- package/dist/recipes/tools/index.js +33 -0
- package/dist/recipes/tools/index.js.map +1 -0
- package/dist/recipes/tools/intercom.d.ts +6 -0
- package/dist/recipes/tools/intercom.js +226 -0
- package/dist/recipes/tools/intercom.js.map +1 -0
- package/dist/recipes/tools/jira.d.ts +14 -0
- package/dist/recipes/tools/jira.js +369 -0
- package/dist/recipes/tools/jira.js.map +1 -0
- package/dist/recipes/tools/linear.d.ts +7 -0
- package/dist/recipes/tools/linear.js +307 -0
- package/dist/recipes/tools/linear.js.map +1 -0
- package/dist/recipes/tools/meetingNotes.d.ts +21 -0
- package/dist/recipes/tools/meetingNotes.js +701 -0
- package/dist/recipes/tools/meetingNotes.js.map +1 -0
- package/dist/recipes/tools/notion.d.ts +6 -0
- package/dist/recipes/tools/notion.js +278 -0
- package/dist/recipes/tools/notion.js.map +1 -0
- package/dist/recipes/tools/pagerduty.d.ts +15 -0
- package/dist/recipes/tools/pagerduty.js +451 -0
- package/dist/recipes/tools/pagerduty.js.map +1 -0
- package/dist/recipes/tools/sentry.d.ts +12 -0
- package/dist/recipes/tools/sentry.js +73 -0
- package/dist/recipes/tools/sentry.js.map +1 -0
- package/dist/recipes/tools/slack.d.ts +6 -0
- package/dist/recipes/tools/slack.js +82 -0
- package/dist/recipes/tools/slack.js.map +1 -0
- package/dist/recipes/tools/stripe.d.ts +6 -0
- package/dist/recipes/tools/stripe.js +265 -0
- package/dist/recipes/tools/stripe.js.map +1 -0
- package/dist/recipes/tools/zendesk.d.ts +6 -0
- package/dist/recipes/tools/zendesk.js +245 -0
- package/dist/recipes/tools/zendesk.js.map +1 -0
- package/dist/recipes/validation.d.ts +13 -0
- package/dist/recipes/validation.js +617 -0
- package/dist/recipes/validation.js.map +1 -0
- package/dist/recipes/yamlRunner.d.ts +130 -2
- package/dist/recipes/yamlRunner.js +1009 -402
- package/dist/recipes/yamlRunner.js.map +1 -1
- package/dist/recipesHttp.d.ts +151 -6
- package/dist/recipesHttp.js +999 -29
- package/dist/recipesHttp.js.map +1 -1
- package/dist/riskTier.js +7 -1
- package/dist/riskTier.js.map +1 -1
- package/dist/runLog.d.ts +100 -1
- package/dist/runLog.js +258 -5
- package/dist/runLog.js.map +1 -1
- package/dist/schemas/dry-run-plan.v1.json +139 -0
- package/dist/schemas/recipe.v1.json +684 -0
- package/dist/server.d.ts +127 -8
- package/dist/server.js +740 -933
- package/dist/server.js.map +1 -1
- package/dist/ssrfGuard.d.ts +54 -0
- package/dist/ssrfGuard.js +122 -0
- package/dist/ssrfGuard.js.map +1 -0
- package/dist/streamableHttp.d.ts +39 -1
- package/dist/streamableHttp.js +128 -17
- package/dist/streamableHttp.js.map +1 -1
- package/dist/tokenUsageTracker.d.ts +33 -0
- package/dist/tokenUsageTracker.js +146 -0
- package/dist/tokenUsageTracker.js.map +1 -0
- package/dist/tools/activityLog.d.ts +2 -0
- package/dist/tools/addLinearComment.d.ts +1 -0
- package/dist/tools/addLinearComment.js +4 -2
- package/dist/tools/addLinearComment.js.map +1 -1
- package/dist/tools/batchLsp.d.ts +3 -0
- package/dist/tools/bridgeDoctor.d.ts +1 -0
- package/dist/tools/bridgeDoctor.js +2 -2
- package/dist/tools/bridgeDoctor.js.map +1 -1
- package/dist/tools/bridgeStatus.d.ts +1 -0
- package/dist/tools/cancelClaudeTask.d.ts +2 -0
- package/dist/tools/cancelClaudeTask.js +1 -0
- package/dist/tools/cancelClaudeTask.js.map +1 -1
- package/dist/tools/checkDocumentDirty.d.ts +1 -0
- package/dist/tools/clipboard.d.ts +2 -0
- package/dist/tools/closeTabs.d.ts +2 -0
- package/dist/tools/codeLens.d.ts +1 -0
- package/dist/tools/contextBundle.d.ts +1 -0
- package/dist/tools/createIssueFromAIComment.d.ts +1 -0
- package/dist/tools/createLinearIssue.d.ts +1 -0
- package/dist/tools/ctxGetTaskContext.d.ts +1 -0
- package/dist/tools/ctxQueryTraces.d.ts +1 -0
- package/dist/tools/ctxSaveTrace.d.ts +1 -0
- package/dist/tools/debug.d.ts +4 -0
- package/dist/tools/decorations.d.ts +2 -0
- package/dist/tools/documentLinks.d.ts +1 -0
- package/dist/tools/editText.d.ts +1 -0
- package/dist/tools/enrichCommit.d.ts +1 -0
- package/dist/tools/enrichStackTrace.d.ts +1 -0
- package/dist/tools/explainDiagnostic.d.ts +1 -0
- package/dist/tools/explainSymbol.d.ts +1 -0
- package/dist/tools/fetchCalendarEvents.d.ts +1 -0
- package/dist/tools/fetchGithubIssue.d.ts +1 -0
- package/dist/tools/fetchGithubPR.d.ts +1 -0
- package/dist/tools/fetchLinearIssue.d.ts +1 -0
- package/dist/tools/fetchSentryIssue.d.ts +1 -0
- package/dist/tools/fetchSlackProfile.d.ts +1 -0
- package/dist/tools/fetchSlackProfile.js +4 -1
- package/dist/tools/fetchSlackProfile.js.map +1 -1
- package/dist/tools/fileOperations.d.ts +3 -0
- package/dist/tools/fileWatcher.d.ts +2 -0
- package/dist/tools/findFiles.d.ts +1 -0
- package/dist/tools/findRelatedTests.d.ts +1 -0
- package/dist/tools/fixAllLintErrors.d.ts +1 -0
- package/dist/tools/foldingRanges.d.ts +1 -0
- package/dist/tools/formatDocument.d.ts +1 -0
- package/dist/tools/generateTests.d.ts +1 -0
- package/dist/tools/getAIComments.d.ts +1 -0
- package/dist/tools/getAnalyticsReport.d.ts +1 -0
- package/dist/tools/getArchitectureContext.d.ts +1 -0
- package/dist/tools/getBufferContent.d.ts +1 -0
- package/dist/tools/getChangeImpact.d.ts +1 -0
- package/dist/tools/getClaudeTaskStatus.d.ts +2 -0
- package/dist/tools/getClaudeTaskStatus.js +1 -0
- package/dist/tools/getClaudeTaskStatus.js.map +1 -1
- package/dist/tools/getCodeCoverage.d.ts +1 -0
- package/dist/tools/getCommitsForIssue.d.ts +1 -0
- package/dist/tools/getConnectorStatus.d.ts +1 -0
- package/dist/tools/getCurrentSelection.d.ts +2 -0
- package/dist/tools/getDebugState.d.ts +1 -0
- package/dist/tools/getDependencyTree.d.ts +1 -0
- package/dist/tools/getDiagnostics.d.ts +1 -0
- package/dist/tools/getDiffFromHandoff.d.ts +1 -0
- package/dist/tools/getDocumentSymbols.d.ts +25 -0
- package/dist/tools/getDocumentSymbols.js +74 -8
- package/dist/tools/getDocumentSymbols.js.map +1 -1
- package/dist/tools/getFileTree.d.ts +1 -0
- package/dist/tools/getGitDiff.d.ts +1 -0
- package/dist/tools/getGitHotspots.d.ts +1 -0
- package/dist/tools/getGitLog.d.ts +1 -0
- package/dist/tools/getGitStatus.d.ts +1 -0
- package/dist/tools/getImportTree.d.ts +1 -0
- package/dist/tools/getImportedSignatures.d.ts +1 -0
- package/dist/tools/getOpenEditors.d.ts +1 -0
- package/dist/tools/getPRTemplate.d.ts +1 -0
- package/dist/tools/getProjectContext.d.ts +1 -0
- package/dist/tools/getProjectInfo.d.ts +1 -0
- package/dist/tools/getSecurityAdvisories.d.ts +1 -0
- package/dist/tools/getSecurityAdvisories.js +10 -1
- package/dist/tools/getSecurityAdvisories.js.map +1 -1
- package/dist/tools/getSessionUsage.d.ts +4 -0
- package/dist/tools/getSessionUsage.js +3 -0
- package/dist/tools/getSessionUsage.js.map +1 -1
- package/dist/tools/getSymbolHistory.d.ts +1 -0
- package/dist/tools/getToolCapabilities.d.ts +1 -0
- package/dist/tools/getTypeSignature.d.ts +1 -0
- package/dist/tools/getWorkspaceFolders.d.ts +1 -0
- package/dist/tools/getWorkspaceSettings.d.ts +1 -0
- package/dist/tools/gitHistory.d.ts +2 -0
- package/dist/tools/gitWrite.d.ts +11 -0
- package/dist/tools/github/actions.d.ts +2 -0
- package/dist/tools/github/actions.js +4 -2
- package/dist/tools/github/actions.js.map +1 -1
- package/dist/tools/github/composite.d.ts +342 -0
- package/dist/tools/github/composite.js +343 -0
- package/dist/tools/github/composite.js.map +1 -0
- package/dist/tools/github/index.d.ts +1 -0
- package/dist/tools/github/index.js +1 -0
- package/dist/tools/github/index.js.map +1 -1
- package/dist/tools/github/issues.d.ts +4 -0
- package/dist/tools/github/issues.js +8 -4
- package/dist/tools/github/issues.js.map +1 -1
- package/dist/tools/github/pr.d.ts +7 -0
- package/dist/tools/github/pr.js +50 -12
- package/dist/tools/github/pr.js.map +1 -1
- package/dist/tools/handoffNote.d.ts +4 -0
- package/dist/tools/handoffNote.js +2 -0
- package/dist/tools/handoffNote.js.map +1 -1
- package/dist/tools/hoverAtCursor.d.ts +1 -0
- package/dist/tools/httpClient.d.ts +2 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.js +47 -8
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inlayHints.d.ts +1 -0
- package/dist/tools/launchQuickTask.d.ts +2 -0
- package/dist/tools/launchQuickTask.js +1 -0
- package/dist/tools/launchQuickTask.js.map +1 -1
- package/dist/tools/listClaudeTasks.d.ts +2 -0
- package/dist/tools/listClaudeTasks.js +1 -0
- package/dist/tools/listClaudeTasks.js.map +1 -1
- package/dist/tools/listTerminals.d.ts +1 -0
- package/dist/tools/lsp.d.ts +14 -0
- package/dist/tools/navigateToSymbolByName.d.ts +1 -0
- package/dist/tools/openDiff.d.ts +1 -0
- package/dist/tools/openFile.d.ts +1 -0
- package/dist/tools/openInBrowser.d.ts +1 -0
- package/dist/tools/organizeImports.d.ts +1 -0
- package/dist/tools/performanceReport.d.ts +1 -0
- package/dist/tools/planPersistence.d.ts +5 -0
- package/dist/tools/previewEdit.d.ts +1 -0
- package/dist/tools/refactorAnalyze.d.ts +1 -0
- package/dist/tools/refactorPreview.d.ts +2 -0
- package/dist/tools/refactorPreview.js +1 -0
- package/dist/tools/refactorPreview.js.map +1 -1
- package/dist/tools/replaceBlock.d.ts +1 -0
- package/dist/tools/resumeClaudeTask.d.ts +2 -0
- package/dist/tools/resumeClaudeTask.js +1 -0
- package/dist/tools/resumeClaudeTask.js.map +1 -1
- package/dist/tools/runClaudeTask.d.ts +2 -0
- package/dist/tools/runClaudeTask.js +1 -0
- package/dist/tools/runClaudeTask.js.map +1 -1
- package/dist/tools/runCommand.d.ts +1 -0
- package/dist/tools/runCommand.js +5 -0
- package/dist/tools/runCommand.js.map +1 -1
- package/dist/tools/runTests.d.ts +1 -0
- package/dist/tools/saveDocument.d.ts +1 -0
- package/dist/tools/screenshotAndAnnotate.d.ts +1 -0
- package/dist/tools/searchAndReplace.d.ts +1 -0
- package/dist/tools/searchTools.d.ts +1 -0
- package/dist/tools/searchTools.js +1 -1
- package/dist/tools/searchTools.js.map +1 -1
- package/dist/tools/searchWorkspace.d.ts +1 -0
- package/dist/tools/selectionRanges.d.ts +1 -0
- package/dist/tools/semanticTokens.d.ts +1 -0
- package/dist/tools/setActiveWorkspaceFolder.d.ts +1 -0
- package/dist/tools/signatureHelp.d.ts +1 -0
- package/dist/tools/slackListChannels.d.ts +1 -0
- package/dist/tools/slackListChannels.js.map +1 -1
- package/dist/tools/slackPostMessage.d.ts +1 -0
- package/dist/tools/slackPostMessage.js +11 -6
- package/dist/tools/slackPostMessage.js.map +1 -1
- package/dist/tools/terminal.d.ts +6 -0
- package/dist/tools/terminal.js +4 -0
- package/dist/tools/terminal.js.map +1 -1
- package/dist/tools/testTraceToSource.d.ts +1 -0
- package/dist/tools/testTraceToSource.js +2 -2
- package/dist/tools/testTraceToSource.js.map +1 -1
- package/dist/tools/transaction.d.ts +23 -0
- package/dist/tools/transaction.js +29 -0
- package/dist/tools/transaction.js.map +1 -1
- package/dist/tools/typeHierarchy.d.ts +1 -0
- package/dist/tools/updateLinearIssue.d.ts +1 -0
- package/dist/tools/updateLinearIssue.js +20 -6
- package/dist/tools/updateLinearIssue.js.map +1 -1
- package/dist/tools/utils.d.ts +6 -0
- package/dist/tools/utils.js +59 -0
- package/dist/tools/utils.js.map +1 -1
- package/dist/tools/vscodeCommands.d.ts +2 -0
- package/dist/tools/vscodeTasks.d.ts +2 -0
- package/dist/tools/workspaceSettings.d.ts +1 -0
- package/dist/traceEncryption.d.ts +46 -0
- package/dist/traceEncryption.js +124 -0
- package/dist/traceEncryption.js.map +1 -0
- package/dist/transport.d.ts +46 -1
- package/dist/transport.js +173 -19
- package/dist/transport.js.map +1 -1
- package/package.json +30 -8
- package/scripts/mcp-stdio-shim.cjs +19 -3
- package/scripts/start-all.sh +34 -3
- package/templates/automation-policies/recipe-authoring.json +25 -0
- package/templates/automation-policy.example.json +6 -0
- package/templates/co.patchwork-os.bridge.plist +34 -0
- package/templates/policies/README.md +72 -0
- package/templates/policies/conservative.json +14 -0
- package/templates/policies/developer.json +14 -0
- package/templates/policies/headless-ci.json +24 -0
- package/templates/policies/personal-assistant.json +15 -0
- package/templates/policies/regulated-industry.json +18 -0
- package/templates/recipes/approval-queue-ui-test.yaml +205 -0
- package/templates/recipes/lint-on-save.yaml +1 -2
- package/templates/recipes/morning-brief-slack.yaml +57 -0
- package/templates/recipes/morning-brief.yaml +2 -2
- package/templates/recipes/project-health-check.yaml +50 -0
- package/templates/recipes/webhook/README.md +70 -0
- package/templates/recipes/webhook/capture-thought.yaml +26 -0
- package/templates/recipes/webhook/customer-escalation.yaml +49 -0
- package/templates/recipes/webhook/incident-intake.yaml +46 -0
- package/templates/recipes/webhook/meeting-prep.yaml +48 -0
- package/templates/recipes/webhook/morning-brief.yaml +57 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recipe CLI commands — new, lint, test, watch, record, fmt
|
|
3
|
+
*
|
|
4
|
+
* Implements the A2 CLI UX milestone for recipe authoring.
|
|
5
|
+
*/
|
|
6
|
+
import "../recipes/tools/index.js";
|
|
7
|
+
import { type LintIssue, type LintResult } from "../recipes/validation.js";
|
|
8
|
+
import { type RunnerDeps, type RunResult, type YamlRecipe } from "../recipes/yamlRunner.js";
|
|
9
|
+
export interface NewOptions {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
template?: string;
|
|
13
|
+
outputDir?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function runNew(options: NewOptions): {
|
|
16
|
+
path: string;
|
|
17
|
+
content: string;
|
|
18
|
+
};
|
|
19
|
+
export declare function listTemplates(): string[];
|
|
20
|
+
export interface SchemaWriteResult {
|
|
21
|
+
outputDir: string;
|
|
22
|
+
filesWritten: string[];
|
|
23
|
+
}
|
|
24
|
+
export declare function runSchema(outputDir: string): Promise<SchemaWriteResult>;
|
|
25
|
+
export type { LintIssue, LintResult };
|
|
26
|
+
/**
|
|
27
|
+
* Lint a recipe file against the schema.
|
|
28
|
+
* Falls back to basic YAML parsing if schema linting is disabled.
|
|
29
|
+
*/
|
|
30
|
+
export declare function runLint(recipePath: string): LintResult;
|
|
31
|
+
export interface FmtResult {
|
|
32
|
+
formatted: string;
|
|
33
|
+
changed: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Format/normalize a recipe file.
|
|
37
|
+
* - Normalizes YAML formatting
|
|
38
|
+
* - Sorts keys in consistent order
|
|
39
|
+
* - Validates and re-serializes
|
|
40
|
+
*/
|
|
41
|
+
export declare function runFmt(recipePath: string, options?: {
|
|
42
|
+
check?: boolean;
|
|
43
|
+
}): FmtResult;
|
|
44
|
+
export interface FmtWatchOptions {
|
|
45
|
+
recipePath: string;
|
|
46
|
+
check?: boolean;
|
|
47
|
+
onResult: (result: FmtResult) => void | Promise<void>;
|
|
48
|
+
onError?: (err: Error) => void;
|
|
49
|
+
debounceMs?: number;
|
|
50
|
+
watchFactory?: WatchFactory;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Watch a recipe file and re-run `runFmt` on every save (debounced).
|
|
54
|
+
* Mirrors runPreflightWatch / runTestWatch — composes runWatch + runFmt.
|
|
55
|
+
* Returns a stop function.
|
|
56
|
+
*/
|
|
57
|
+
export declare function runFmtWatch(options: FmtWatchOptions): () => void;
|
|
58
|
+
export interface RunRecipeOptions {
|
|
59
|
+
dryRun?: boolean;
|
|
60
|
+
step?: string;
|
|
61
|
+
vars?: Record<string, string>;
|
|
62
|
+
workdir?: string;
|
|
63
|
+
deps?: Partial<RunnerDeps>;
|
|
64
|
+
}
|
|
65
|
+
export interface RunRecipeStepSelection {
|
|
66
|
+
query: string;
|
|
67
|
+
matchedBy: "id" | "into" | "tool";
|
|
68
|
+
matchedValue: string;
|
|
69
|
+
}
|
|
70
|
+
export interface RunRecipeResult {
|
|
71
|
+
recipe: YamlRecipe;
|
|
72
|
+
recipePath: string;
|
|
73
|
+
result: RunResult | import("../recipes/chainedRunner.js").ChainedRunResult;
|
|
74
|
+
stepSelection?: RunRecipeStepSelection;
|
|
75
|
+
}
|
|
76
|
+
export interface RecipeExecutionSummary {
|
|
77
|
+
ok: boolean;
|
|
78
|
+
steps: number;
|
|
79
|
+
outputs: string[];
|
|
80
|
+
errorMessage?: string;
|
|
81
|
+
failed?: number;
|
|
82
|
+
skipped?: number;
|
|
83
|
+
}
|
|
84
|
+
export interface WatchedRecipeRunResult {
|
|
85
|
+
lint: LintResult;
|
|
86
|
+
run?: RunRecipeResult;
|
|
87
|
+
summary?: RecipeExecutionSummary;
|
|
88
|
+
}
|
|
89
|
+
export declare function runRecipe(recipeRef: string, options?: RunRecipeOptions): Promise<RunRecipeResult>;
|
|
90
|
+
export declare function summarizeRecipeExecution(result: RunRecipeResult["result"]): RecipeExecutionSummary;
|
|
91
|
+
/**
|
|
92
|
+
* Normalize either a yamlRunner RunResult or a chainedRunner ChainedRunResult
|
|
93
|
+
* into the RunStepResult[] shape expected by RecipeRunLog.appendDirect.
|
|
94
|
+
* Returns undefined when the result has no step-level detail.
|
|
95
|
+
*/
|
|
96
|
+
export declare function extractRunLogStepResults(result: RunRecipeResult["result"]): Array<{
|
|
97
|
+
id: string;
|
|
98
|
+
tool?: string;
|
|
99
|
+
status: "ok" | "skipped" | "error";
|
|
100
|
+
error?: string;
|
|
101
|
+
durationMs: number;
|
|
102
|
+
}> | undefined;
|
|
103
|
+
export declare function formatRunReport(result: RunRecipeResult["result"], recipeName: string): string;
|
|
104
|
+
export declare function runWatchedRecipe(recipePath: string, options?: Pick<RunRecipeOptions, "workdir" | "deps" | "vars">): Promise<WatchedRecipeRunResult>;
|
|
105
|
+
/**
|
|
106
|
+
* Stable JSON schema version for machine-readable dry-run plans.
|
|
107
|
+
* Bump on breaking shape changes; consumers (dashboard run timeline, external tools)
|
|
108
|
+
* should gate on this field.
|
|
109
|
+
*/
|
|
110
|
+
export declare const DRY_RUN_PLAN_SCHEMA_VERSION = 1;
|
|
111
|
+
export interface RecipeDryRunPlanStep {
|
|
112
|
+
id: string;
|
|
113
|
+
type: "tool" | "agent" | "recipe";
|
|
114
|
+
tool?: string;
|
|
115
|
+
/** Namespace derived from tool id (e.g. "gmail" from "gmail.fetch_unread"). */
|
|
116
|
+
namespace?: string;
|
|
117
|
+
into?: string;
|
|
118
|
+
optional?: boolean;
|
|
119
|
+
prompt?: string;
|
|
120
|
+
params?: Record<string, unknown>;
|
|
121
|
+
dependencies?: string[];
|
|
122
|
+
condition?: string;
|
|
123
|
+
/** Explicit risk on the step, or registry default when absent. */
|
|
124
|
+
risk?: "low" | "medium" | "high";
|
|
125
|
+
/** Registry metadata — true if the tool mutates external state. */
|
|
126
|
+
isWrite?: boolean;
|
|
127
|
+
/** Registry metadata — true if the tool calls an external SaaS connector. */
|
|
128
|
+
isConnector?: boolean;
|
|
129
|
+
/** True if the tool id is known to the registry (false → unresolved at plan time). */
|
|
130
|
+
resolved?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Nested-recipe reference for `step.type === "recipe"` (chained recipes
|
|
133
|
+
* with `recipe:` or `chain:` field). Bare name (e.g. `branch-health`) or
|
|
134
|
+
* relative/absolute path. F-07 fix: this is now part of the plan-step
|
|
135
|
+
* shape so write-detection can recurse into nested recipes.
|
|
136
|
+
*/
|
|
137
|
+
recipe?: string;
|
|
138
|
+
/**
|
|
139
|
+
* F-07 fix: when this step is a nested recipe and its writes were
|
|
140
|
+
* detected via recursion, this is the count of write-tagged tool steps
|
|
141
|
+
* inside the nested recipe (transitively). 0 if the recurse depth was
|
|
142
|
+
* hit before any writes were found, undefined for non-recipe steps.
|
|
143
|
+
*/
|
|
144
|
+
nestedWriteCount?: number;
|
|
145
|
+
}
|
|
146
|
+
export interface RecipeDryRunPlan {
|
|
147
|
+
/** Stable schema version for consumers. */
|
|
148
|
+
schemaVersion: typeof DRY_RUN_PLAN_SCHEMA_VERSION;
|
|
149
|
+
recipe: string;
|
|
150
|
+
mode: "dry-run";
|
|
151
|
+
triggerType: string;
|
|
152
|
+
/** ISO-8601 generation timestamp. */
|
|
153
|
+
generatedAt: string;
|
|
154
|
+
stepSelection?: RunRecipeStepSelection;
|
|
155
|
+
steps: RecipeDryRunPlanStep[];
|
|
156
|
+
parallelGroups?: string[][];
|
|
157
|
+
maxDepth?: number;
|
|
158
|
+
/** Distinct connector namespaces referenced by the plan. */
|
|
159
|
+
connectorNamespaces?: string[];
|
|
160
|
+
/** True if any step is registry-tagged as a write/mutation. */
|
|
161
|
+
hasWriteSteps?: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Static lint pass over the recipe definition (validateRecipeDefinition).
|
|
164
|
+
* Surfaces error- and warning-level issues — including dotted-ref / output
|
|
165
|
+
* schema warnings — so editors and dashboards consuming the plan see the
|
|
166
|
+
* same signal as the CLI lint and the dashboard editor. Always present;
|
|
167
|
+
* arrays may be empty when the recipe is clean.
|
|
168
|
+
*/
|
|
169
|
+
lint: {
|
|
170
|
+
errors: string[];
|
|
171
|
+
warnings: string[];
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
export declare function runRecipeDryPlan(recipeRef: string, options?: RunRecipeOptions): Promise<RecipeDryRunPlan>;
|
|
175
|
+
export type PreflightIssueCode = "unresolved-tool" | "unacknowledged-write" | "missing-fixture" | "lint-error" | "lint-warning" | "into-shadows-builtin" | "into-duplicate";
|
|
176
|
+
export interface PreflightIssue {
|
|
177
|
+
level: "error" | "warning";
|
|
178
|
+
code: PreflightIssueCode;
|
|
179
|
+
message: string;
|
|
180
|
+
stepId?: string;
|
|
181
|
+
tool?: string;
|
|
182
|
+
namespace?: string;
|
|
183
|
+
}
|
|
184
|
+
export interface PreflightResult {
|
|
185
|
+
ok: boolean;
|
|
186
|
+
recipe: string;
|
|
187
|
+
issues: PreflightIssue[];
|
|
188
|
+
plan: RecipeDryRunPlan;
|
|
189
|
+
}
|
|
190
|
+
export interface PreflightOptions extends RunRecipeOptions {
|
|
191
|
+
/**
|
|
192
|
+
* If true, steps tagged `isWrite: true` fail preflight unless the recipe opts in
|
|
193
|
+
* via a matching `allowWrites` entry (tool id or namespace). Default: true.
|
|
194
|
+
*/
|
|
195
|
+
requireWriteAck?: boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Explicit allowlist of tool ids or namespaces the caller acknowledges as writes.
|
|
198
|
+
* Example: `["slack.post_message", "github"]`.
|
|
199
|
+
*/
|
|
200
|
+
allowWrites?: string[];
|
|
201
|
+
/**
|
|
202
|
+
* If true, missing fixture libraries for connector namespaces become errors.
|
|
203
|
+
* Default: false — preflight is a policy check, not a mock-run.
|
|
204
|
+
*/
|
|
205
|
+
requireFixtures?: boolean;
|
|
206
|
+
/** Override fixtures dir (defaults to ~/.patchwork/fixtures). */
|
|
207
|
+
fixturesDir?: string;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Static policy check over a recipe: lint + dry-plan + unresolved/write/fixture checks.
|
|
211
|
+
* No connector calls, no agent calls — safe to run in CI.
|
|
212
|
+
*/
|
|
213
|
+
export declare function runPreflight(recipeRef: string, options?: PreflightOptions): Promise<PreflightResult>;
|
|
214
|
+
export interface PreflightWatchOptions extends PreflightOptions {
|
|
215
|
+
recipePath: string;
|
|
216
|
+
onResult: (result: PreflightResult) => void | Promise<void>;
|
|
217
|
+
onError?: (err: Error) => void;
|
|
218
|
+
debounceMs?: number;
|
|
219
|
+
watchFactory?: WatchFactory;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Watch a recipe file and run preflight on every save (debounced). Composes
|
|
223
|
+
* runWatch + runPreflight so editor integrations get live policy feedback
|
|
224
|
+
* without spawning the CLI per keystroke.
|
|
225
|
+
*
|
|
226
|
+
* Returns a stop function. If a preflight is in-flight when a new save lands,
|
|
227
|
+
* at most one rerun is queued (matches runWatch semantics).
|
|
228
|
+
*/
|
|
229
|
+
export declare function runPreflightWatch(options: PreflightWatchOptions): () => void;
|
|
230
|
+
/**
|
|
231
|
+
* Exported for the cli-warns-when-out-of-jail.test regression suite —
|
|
232
|
+
* the warn path is what we assert on, not the path-resolution behaviour.
|
|
233
|
+
* Internal callers should keep using the local symbol.
|
|
234
|
+
*/
|
|
235
|
+
export declare function resolveRecipeRefForCli(recipeRef: string): string;
|
|
236
|
+
export interface RecipeTestResult {
|
|
237
|
+
valid: boolean;
|
|
238
|
+
issues: LintIssue[];
|
|
239
|
+
warnings: number;
|
|
240
|
+
errors: number;
|
|
241
|
+
requiredFixtures: string[];
|
|
242
|
+
missingFixtures: string[];
|
|
243
|
+
stepsRun: number;
|
|
244
|
+
outputs: string[];
|
|
245
|
+
assertionFailures: import("../recipes/yamlRunner.js").AssertionFailure[];
|
|
246
|
+
}
|
|
247
|
+
export interface RecipeRecordResult {
|
|
248
|
+
valid: boolean;
|
|
249
|
+
issues: LintIssue[];
|
|
250
|
+
warnings: number;
|
|
251
|
+
errors: number;
|
|
252
|
+
recordedFixtures: string[];
|
|
253
|
+
stepsRun: number;
|
|
254
|
+
outputs: string[];
|
|
255
|
+
}
|
|
256
|
+
export declare function runRecord(recipePath: string, options?: {
|
|
257
|
+
fixturesDir?: string;
|
|
258
|
+
deps?: Partial<RunnerDeps>;
|
|
259
|
+
}): Promise<RecipeRecordResult>;
|
|
260
|
+
export declare function runTest(recipePath: string, options?: {
|
|
261
|
+
fixturesDir?: string;
|
|
262
|
+
}): Promise<RecipeTestResult>;
|
|
263
|
+
export interface TestWatchOptions {
|
|
264
|
+
recipePath: string;
|
|
265
|
+
fixturesDir?: string;
|
|
266
|
+
onResult: (result: RecipeTestResult) => void | Promise<void>;
|
|
267
|
+
onError?: (err: Error) => void;
|
|
268
|
+
debounceMs?: number;
|
|
269
|
+
watchFactory?: WatchFactory;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Watch a recipe file and re-run `patchwork recipe test` on every save (debounced).
|
|
273
|
+
* Mirrors runPreflightWatch — composes runWatch + runTest.
|
|
274
|
+
* Returns a stop function.
|
|
275
|
+
*/
|
|
276
|
+
export declare function runTestWatch(options: TestWatchOptions): () => void;
|
|
277
|
+
type WatchFactory = (path: string, options: {
|
|
278
|
+
recursive: boolean;
|
|
279
|
+
}, listener: (eventType: string, changedFile: string | Buffer | null) => void) => {
|
|
280
|
+
close(): void;
|
|
281
|
+
};
|
|
282
|
+
export interface WatchOptions {
|
|
283
|
+
recipePath: string;
|
|
284
|
+
onChange: () => void | Promise<void>;
|
|
285
|
+
onError?: (err: Error) => void;
|
|
286
|
+
debounceMs?: number;
|
|
287
|
+
watchFactory?: WatchFactory;
|
|
288
|
+
}
|
|
289
|
+
export declare function runWatch(options: WatchOptions): () => void;
|