patchwork-os 0.2.0-beta.2 → 0.2.0-beta.4
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 +5 -5
- package/README.md +244 -30
- package/dist/activityLog.d.ts +6 -0
- package/dist/activityLog.js +10 -1
- package/dist/activityLog.js.map +1 -1
- package/dist/analyticsPrefs.d.ts +35 -2
- package/dist/analyticsPrefs.js +120 -21
- package/dist/analyticsPrefs.js.map +1 -1
- package/dist/analyticsSend.js +5 -1
- package/dist/analyticsSend.js.map +1 -1
- package/dist/approvalHttp.js +25 -8
- package/dist/approvalHttp.js.map +1 -1
- package/dist/approvalQueue.d.ts +44 -1
- package/dist/approvalQueue.js +117 -0
- package/dist/approvalQueue.js.map +1 -1
- package/dist/automation.d.ts +3 -3
- package/dist/automation.js +12 -5
- package/dist/automation.js.map +1 -1
- package/dist/bridge.d.ts +2 -0
- package/dist/bridge.js +140 -8
- package/dist/bridge.js.map +1 -1
- package/dist/bridgeLockDiscovery.d.ts +27 -1
- package/dist/bridgeLockDiscovery.js +38 -11
- package/dist/bridgeLockDiscovery.js.map +1 -1
- package/dist/claudeOrchestrator.js +27 -10
- package/dist/claudeOrchestrator.js.map +1 -1
- package/dist/commands/dashboard.js +8 -1
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/install.js +3 -0
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/patchworkInit.d.ts +5 -0
- package/dist/commands/patchworkInit.js +89 -7
- package/dist/commands/patchworkInit.js.map +1 -1
- package/dist/commands/recipe.d.ts +51 -0
- package/dist/commands/recipe.js +353 -2
- package/dist/commands/recipe.js.map +1 -1
- package/dist/commands/recipeInstall.js +6 -3
- package/dist/commands/recipeInstall.js.map +1 -1
- package/dist/commands/task.js +2 -2
- package/dist/commands/task.js.map +1 -1
- package/dist/commitIssueLinkLog.d.ts +16 -0
- package/dist/commitIssueLinkLog.js +87 -4
- package/dist/commitIssueLinkLog.js.map +1 -1
- package/dist/config.d.ts +29 -3
- package/dist/config.js +77 -21
- package/dist/config.js.map +1 -1
- package/dist/connectorRoutes.js +1 -1
- package/dist/connectorRoutes.js.map +1 -1
- package/dist/connectors/asana.js +4 -3
- package/dist/connectors/asana.js.map +1 -1
- package/dist/connectors/confluence.js +35 -0
- package/dist/connectors/confluence.js.map +1 -1
- package/dist/connectors/datadog.js +33 -4
- package/dist/connectors/datadog.js.map +1 -1
- package/dist/connectors/discord.js +5 -4
- package/dist/connectors/discord.js.map +1 -1
- package/dist/connectors/gitlab.js +7 -1
- package/dist/connectors/gitlab.js.map +1 -1
- package/dist/connectors/mcpOAuth.js +71 -6
- package/dist/connectors/mcpOAuth.js.map +1 -1
- package/dist/connectors/slack.d.ts +1 -1
- package/dist/connectors/slack.js +56 -4
- package/dist/connectors/slack.js.map +1 -1
- package/dist/connectors/tokenStorage.js +56 -14
- package/dist/connectors/tokenStorage.js.map +1 -1
- package/dist/decisionTraceLog.d.ts +28 -0
- package/dist/decisionTraceLog.js +115 -7
- package/dist/decisionTraceLog.js.map +1 -1
- package/dist/drivers/claude/subprocess.js +22 -3
- package/dist/drivers/claude/subprocess.js.map +1 -1
- package/dist/drivers/gemini/index.js +19 -3
- package/dist/drivers/gemini/index.js.map +1 -1
- package/dist/extensionClient.d.ts +29 -4
- package/dist/extensionClient.js +26 -11
- package/dist/extensionClient.js.map +1 -1
- package/dist/featureFlags.d.ts +76 -0
- package/dist/featureFlags.js +153 -3
- package/dist/featureFlags.js.map +1 -1
- package/dist/fileLockSync.d.ts +67 -0
- package/dist/fileLockSync.js +126 -0
- package/dist/fileLockSync.js.map +1 -0
- package/dist/fp/automationInterpreter.d.ts +6 -0
- package/dist/fp/automationInterpreter.js +15 -2
- package/dist/fp/automationInterpreter.js.map +1 -1
- package/dist/fp/automationState.d.ts +1 -1
- package/dist/fp/automationState.js +10 -0
- package/dist/fp/automationState.js.map +1 -1
- package/dist/fp/commandDescription.js +7 -1
- package/dist/fp/commandDescription.js.map +1 -1
- package/dist/fsWatchWithFallback.d.ts +36 -0
- package/dist/fsWatchWithFallback.js +127 -0
- package/dist/fsWatchWithFallback.js.map +1 -0
- package/dist/index.js +797 -75
- package/dist/index.js.map +1 -1
- package/dist/installGuard.js +6 -2
- package/dist/installGuard.js.map +1 -1
- package/dist/lockfile.js +31 -4
- package/dist/lockfile.js.map +1 -1
- package/dist/patchworkConfig.js +13 -3
- package/dist/patchworkConfig.js.map +1 -1
- package/dist/pluginLoader.js +10 -1
- package/dist/pluginLoader.js.map +1 -1
- package/dist/pluginWatcher.js +6 -13
- package/dist/pluginWatcher.js.map +1 -1
- package/dist/preToolUseHook.js +3 -2
- package/dist/preToolUseHook.js.map +1 -1
- package/dist/processTree.d.ts +34 -0
- package/dist/processTree.js +105 -0
- package/dist/processTree.js.map +1 -0
- package/dist/prompts.js +3 -3
- package/dist/prompts.js.map +1 -1
- package/dist/recipeOrchestration.js +35 -1
- package/dist/recipeOrchestration.js.map +1 -1
- package/dist/recipeRoutes.d.ts +37 -0
- package/dist/recipeRoutes.js +236 -33
- package/dist/recipeRoutes.js.map +1 -1
- package/dist/recipes/agentExecutor.d.ts +25 -5
- package/dist/recipes/agentExecutor.js.map +1 -1
- package/dist/recipes/chainedRunner.js +16 -2
- package/dist/recipes/chainedRunner.js.map +1 -1
- package/dist/recipes/connectorPreflight.d.ts +53 -0
- package/dist/recipes/connectorPreflight.js +143 -0
- package/dist/recipes/connectorPreflight.js.map +1 -0
- package/dist/recipes/githubInstallSource.d.ts +62 -0
- package/dist/recipes/githubInstallSource.js +125 -0
- package/dist/recipes/githubInstallSource.js.map +1 -0
- package/dist/recipes/haltCategory.d.ts +80 -0
- package/dist/recipes/haltCategory.js +125 -0
- package/dist/recipes/haltCategory.js.map +1 -0
- package/dist/recipes/idempotencyKey.d.ts +126 -0
- package/dist/recipes/idempotencyKey.js +297 -0
- package/dist/recipes/idempotencyKey.js.map +1 -0
- package/dist/recipes/installer.js +48 -2
- package/dist/recipes/installer.js.map +1 -1
- package/dist/recipes/judgeSummary.d.ts +50 -0
- package/dist/recipes/judgeSummary.js +47 -0
- package/dist/recipes/judgeSummary.js.map +1 -0
- package/dist/recipes/judgeVerdict.d.ts +48 -0
- package/dist/recipes/judgeVerdict.js +174 -0
- package/dist/recipes/judgeVerdict.js.map +1 -0
- package/dist/recipes/migrations/index.d.ts +9 -0
- package/dist/recipes/migrations/index.js +133 -0
- package/dist/recipes/migrations/index.js.map +1 -1
- package/dist/recipes/parser.js +82 -4
- package/dist/recipes/parser.js.map +1 -1
- package/dist/recipes/runBudget.d.ts +70 -0
- package/dist/recipes/runBudget.js +109 -0
- package/dist/recipes/runBudget.js.map +1 -0
- package/dist/recipes/scheduler.d.ts +17 -0
- package/dist/recipes/scheduler.js +34 -2
- package/dist/recipes/scheduler.js.map +1 -1
- package/dist/recipes/schema.d.ts +30 -0
- package/dist/recipes/toolRegistry.js +19 -0
- package/dist/recipes/toolRegistry.js.map +1 -1
- package/dist/recipes/tools/http.d.ts +10 -0
- package/dist/recipes/tools/http.js +176 -0
- package/dist/recipes/tools/http.js.map +1 -0
- package/dist/recipes/tools/index.d.ts +1 -0
- package/dist/recipes/tools/index.js +1 -0
- package/dist/recipes/tools/index.js.map +1 -1
- package/dist/recipes/validation.js +1 -1
- package/dist/recipes/validation.js.map +1 -1
- package/dist/recipes/yamlRunner.d.ts +75 -8
- package/dist/recipes/yamlRunner.js +174 -28
- package/dist/recipes/yamlRunner.js.map +1 -1
- package/dist/resources.js +21 -13
- package/dist/resources.js.map +1 -1
- package/dist/runLog.d.ts +28 -0
- package/dist/runLog.js +19 -3
- package/dist/runLog.js.map +1 -1
- package/dist/sanitizeParsedJson.d.ts +39 -0
- package/dist/sanitizeParsedJson.js +55 -0
- package/dist/sanitizeParsedJson.js.map +1 -0
- package/dist/server.d.ts +79 -0
- package/dist/server.js +356 -3
- package/dist/server.js.map +1 -1
- package/dist/sessionCheckpoint.d.ts +8 -0
- package/dist/sessionCheckpoint.js +18 -2
- package/dist/sessionCheckpoint.js.map +1 -1
- package/dist/streamableHttp.js +17 -6
- package/dist/streamableHttp.js.map +1 -1
- package/dist/tools/bridgeDoctor.js +6 -2
- package/dist/tools/bridgeDoctor.js.map +1 -1
- package/dist/tools/detectUnusedCode.js +9 -7
- package/dist/tools/detectUnusedCode.js.map +1 -1
- package/dist/tools/editText.js +2 -1
- package/dist/tools/editText.js.map +1 -1
- package/dist/tools/fileOperations.js +2 -1
- package/dist/tools/fileOperations.js.map +1 -1
- package/dist/tools/fileWatcher.js +8 -2
- package/dist/tools/fileWatcher.js.map +1 -1
- package/dist/tools/fixAllLintErrors.js +10 -5
- package/dist/tools/fixAllLintErrors.js.map +1 -1
- package/dist/tools/formatDocument.js +10 -5
- package/dist/tools/formatDocument.js.map +1 -1
- package/dist/tools/getCodeCoverage.js +7 -3
- package/dist/tools/getCodeCoverage.js.map +1 -1
- package/dist/tools/handoffNote.js +2 -1
- package/dist/tools/handoffNote.js.map +1 -1
- package/dist/tools/headless/lspClient.js +3 -0
- package/dist/tools/headless/lspClient.js.map +1 -1
- package/dist/tools/lsp.js +17 -0
- package/dist/tools/lsp.js.map +1 -1
- package/dist/tools/openDiff.js +4 -1
- package/dist/tools/openDiff.js.map +1 -1
- package/dist/tools/openFile.js +4 -1
- package/dist/tools/openFile.js.map +1 -1
- package/dist/tools/organizeImports.js +5 -3
- package/dist/tools/organizeImports.js.map +1 -1
- package/dist/tools/previewEdit.js +7 -2
- package/dist/tools/previewEdit.js.map +1 -1
- package/dist/tools/recentTracesDigest.js +56 -11
- package/dist/tools/recentTracesDigest.js.map +1 -1
- package/dist/tools/refactorExtractFunction.js +4 -1
- package/dist/tools/refactorExtractFunction.js.map +1 -1
- package/dist/tools/refactorPreview.js +10 -2
- package/dist/tools/refactorPreview.js.map +1 -1
- package/dist/tools/replaceBlock.js +2 -1
- package/dist/tools/replaceBlock.js.map +1 -1
- package/dist/tools/searchAndReplace.js +2 -1
- package/dist/tools/searchAndReplace.js.map +1 -1
- package/dist/tools/spawnWorkspace.js +15 -7
- package/dist/tools/spawnWorkspace.js.map +1 -1
- package/dist/tools/testRunners/vitestJest.js +3 -1
- package/dist/tools/testRunners/vitestJest.js.map +1 -1
- package/dist/tools/transaction.js +4 -1
- package/dist/tools/transaction.js.map +1 -1
- package/dist/tools/utils.js +68 -8
- package/dist/tools/utils.js.map +1 -1
- package/dist/transport.d.ts +1 -1
- package/dist/transport.js +18 -4
- package/dist/transport.js.map +1 -1
- package/dist/winShim.d.ts +34 -0
- package/dist/winShim.js +94 -0
- package/dist/winShim.js.map +1 -0
- package/dist/writeFileAtomic.d.ts +23 -0
- package/dist/writeFileAtomic.js +94 -0
- package/dist/writeFileAtomic.js.map +1 -0
- package/package.json +17 -6
- package/scripts/postinstall.mjs +42 -2
- package/scripts/smoke/run-all.mjs +213 -0
- package/scripts/start-all.mjs +572 -0
- package/scripts/start-all.ps1 +209 -0
- package/scripts/start-all.sh +73 -17
- package/scripts/start-orchestrator.ps1 +158 -0
- package/scripts/start-remote.mjs +122 -0
- package/templates/automation-policies/recipe-authoring.json +1 -1
- package/templates/automation-policies/security-first.json +1 -1
- package/templates/automation-policies/strict-lint.json +1 -1
- package/templates/automation-policies/test-driven.json +1 -1
- package/templates/automation-policy.example.json +1 -1
- package/templates/co.patchwork-os.bridge.plist +1 -1
- package/templates/recipes/approval-queue-ui-test.yaml +1 -1
- package/templates/recipes/ctx-loop-test.yaml +1 -1
- package/templates/recipes/webhook/apple-watch-health-log.yaml +145 -0
- package/dist/commands/marketplace.d.ts +0 -16
- package/dist/commands/marketplace.js +0 -32
- package/dist/commands/marketplace.js.map +0 -1
- package/dist/recipes/legacyRecipeCompat.d.ts +0 -10
- package/dist/recipes/legacyRecipeCompat.js +0 -131
- package/dist/recipes/legacyRecipeCompat.js.map +0 -1
package/dist/transport.js
CHANGED
|
@@ -892,7 +892,14 @@ export class McpTransport {
|
|
|
892
892
|
safeSend(this.activeWs, JSON.stringify(dynErrResponse), this.logger);
|
|
893
893
|
}
|
|
894
894
|
finally {
|
|
895
|
-
|
|
895
|
+
// Generation guard: detach() resets activeToolCalls to 0 on
|
|
896
|
+
// disconnect, so decrementing on the new generation would
|
|
897
|
+
// skew the admission counter negative and silently raise the
|
|
898
|
+
// effective MAX_CONCURRENT_TOOLS cap. Mirror the clamp used
|
|
899
|
+
// by the non-dynamic path at line 1478.
|
|
900
|
+
if (dynGen === this.generation) {
|
|
901
|
+
this.activeToolCalls = Math.max(0, this.activeToolCalls - 1);
|
|
902
|
+
}
|
|
896
903
|
}
|
|
897
904
|
});
|
|
898
905
|
break;
|
|
@@ -1056,8 +1063,13 @@ export class McpTransport {
|
|
|
1056
1063
|
params: toolArgs,
|
|
1057
1064
|
sessionId: this.sessionId,
|
|
1058
1065
|
});
|
|
1059
|
-
if (decision === "rejected" ||
|
|
1060
|
-
|
|
1066
|
+
if (decision === "rejected" ||
|
|
1067
|
+
decision === "expired" ||
|
|
1068
|
+
decision === "cancelled") {
|
|
1069
|
+
// Clamp: detach() may have reset activeToolCalls to 0 if
|
|
1070
|
+
// the WS dropped mid-approval. See line 1478 for the
|
|
1071
|
+
// matching pattern on the resolved-tool path.
|
|
1072
|
+
this.activeToolCalls = Math.max(0, this.activeToolCalls - 1);
|
|
1061
1073
|
this.inFlightToolNames.delete(msg.id);
|
|
1062
1074
|
this.inFlightControllers.delete(msg.id);
|
|
1063
1075
|
// Approval rejections/expiries are NOT tool failures — track
|
|
@@ -1078,7 +1090,9 @@ export class McpTransport {
|
|
|
1078
1090
|
type: "text",
|
|
1079
1091
|
text: decision === "rejected"
|
|
1080
1092
|
? `Tool call "${params.name}" rejected by human reviewer via Patchwork dashboard.`
|
|
1081
|
-
:
|
|
1093
|
+
: decision === "cancelled"
|
|
1094
|
+
? `Tool call "${params.name}" cancelled before a human decision was made (originating client abandoned the request).`
|
|
1095
|
+
: `Tool call "${params.name}" expired without human decision (no action taken).`,
|
|
1082
1096
|
},
|
|
1083
1097
|
],
|
|
1084
1098
|
isError: true,
|
package/dist/transport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a binary name to its `.cmd` shim on Windows when needed.
|
|
3
|
+
*
|
|
4
|
+
* npm-installed binaries on Windows are `.cmd` files in `node_modules/.bin/`
|
|
5
|
+
* (or under `%APPDATA%\npm` for `-g` installs). Node's `child_process.spawn`
|
|
6
|
+
* with `shell:false` does NOT auto-resolve `.cmd` shims — only `.exe` via
|
|
7
|
+
* `PATHEXT`. Calling `spawn("claude", …)` on Windows therefore ENOENTs even
|
|
8
|
+
* though `claude --version` works fine in any terminal.
|
|
9
|
+
*
|
|
10
|
+
* This helper appends `.cmd` to bare binary names on win32, leaving:
|
|
11
|
+
* - absolute / relative paths (anything with a separator) alone
|
|
12
|
+
* - names that already have an extension alone
|
|
13
|
+
* - non-Windows platforms untouched
|
|
14
|
+
*
|
|
15
|
+
* This was the fix pattern established in PR #525 for the Claude subprocess
|
|
16
|
+
* driver; centralising it here keeps the four other spawn sites consistent.
|
|
17
|
+
*
|
|
18
|
+
* Also used when *writing* an MCP stdio config that another process will
|
|
19
|
+
* spawn — that spawning process inherits the same shell:false limitation,
|
|
20
|
+
* so the config must record the `.cmd` form on Windows.
|
|
21
|
+
*/
|
|
22
|
+
export declare function ensureCmdShim(binary: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* Conservative variant of `ensureCmdShim`: only appends `.cmd` when the
|
|
25
|
+
* binary is in {@link KNOWN_CMD_SHIMS}. Use this from generic helpers like
|
|
26
|
+
* `execSafe` that receive arbitrary binary names from many call sites —
|
|
27
|
+
* blindly wrapping every bare name would turn working `spawn("git")` into
|
|
28
|
+
* broken `spawn("git.cmd")`.
|
|
29
|
+
*
|
|
30
|
+
* Same boilerplate as `ensureCmdShim` (no-op on non-Win, leaves explicit
|
|
31
|
+
* paths and pre-extended names alone). Differs only in the final wrap
|
|
32
|
+
* decision.
|
|
33
|
+
*/
|
|
34
|
+
export declare function ensureCmdShimIfKnown(binary: string): string;
|
package/dist/winShim.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
/**
|
|
3
|
+
* Resolve a binary name to its `.cmd` shim on Windows when needed.
|
|
4
|
+
*
|
|
5
|
+
* npm-installed binaries on Windows are `.cmd` files in `node_modules/.bin/`
|
|
6
|
+
* (or under `%APPDATA%\npm` for `-g` installs). Node's `child_process.spawn`
|
|
7
|
+
* with `shell:false` does NOT auto-resolve `.cmd` shims — only `.exe` via
|
|
8
|
+
* `PATHEXT`. Calling `spawn("claude", …)` on Windows therefore ENOENTs even
|
|
9
|
+
* though `claude --version` works fine in any terminal.
|
|
10
|
+
*
|
|
11
|
+
* This helper appends `.cmd` to bare binary names on win32, leaving:
|
|
12
|
+
* - absolute / relative paths (anything with a separator) alone
|
|
13
|
+
* - names that already have an extension alone
|
|
14
|
+
* - non-Windows platforms untouched
|
|
15
|
+
*
|
|
16
|
+
* This was the fix pattern established in PR #525 for the Claude subprocess
|
|
17
|
+
* driver; centralising it here keeps the four other spawn sites consistent.
|
|
18
|
+
*
|
|
19
|
+
* Also used when *writing* an MCP stdio config that another process will
|
|
20
|
+
* spawn — that spawning process inherits the same shell:false limitation,
|
|
21
|
+
* so the config must record the `.cmd` form on Windows.
|
|
22
|
+
*/
|
|
23
|
+
export function ensureCmdShim(binary) {
|
|
24
|
+
if (process.platform !== "win32")
|
|
25
|
+
return binary;
|
|
26
|
+
// Use path.win32 explicitly so the check behaves identically when tests
|
|
27
|
+
// mock process.platform on a POSIX host (where path.sep would still be '/').
|
|
28
|
+
if (path.win32.extname(binary))
|
|
29
|
+
return binary;
|
|
30
|
+
if (binary.includes("\\") || binary.includes("/"))
|
|
31
|
+
return binary;
|
|
32
|
+
return `${binary}.cmd`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Binaries that ship as `.cmd` shims on Windows when npm-installed (or via
|
|
36
|
+
* the standard VS Code / Cursor / Windsurf installers for the editor CLIs).
|
|
37
|
+
*
|
|
38
|
+
* Conservative by design — only names that are dependably `.cmd` on Windows
|
|
39
|
+
* across the common install paths. Anything ambiguous (`rg`, `fd`, `jq`,
|
|
40
|
+
* `python`, `node`) is omitted so we don't break `spawn("git")` style
|
|
41
|
+
* callers — Windows' PATHEXT auto-resolves `.exe` for those.
|
|
42
|
+
*
|
|
43
|
+
* Add to this set only after confirming the binary really is a `.cmd` shim
|
|
44
|
+
* in every realistic install path; a wrong inclusion turns working `.exe`
|
|
45
|
+
* spawns into ENOENT.
|
|
46
|
+
*/
|
|
47
|
+
const KNOWN_CMD_SHIMS = new Set([
|
|
48
|
+
// Package managers — always `.cmd` from any install path
|
|
49
|
+
"npm",
|
|
50
|
+
"npx",
|
|
51
|
+
"yarn",
|
|
52
|
+
"pnpm",
|
|
53
|
+
// npm-installed dev tools — bin entries land as `.cmd` shims
|
|
54
|
+
"tsc",
|
|
55
|
+
"eslint",
|
|
56
|
+
"biome",
|
|
57
|
+
"prettier",
|
|
58
|
+
"ruff",
|
|
59
|
+
"black",
|
|
60
|
+
"ts-prune",
|
|
61
|
+
// Patchwork OS / Claude orchestration — npm-installed
|
|
62
|
+
"claude",
|
|
63
|
+
"claude-ide-bridge",
|
|
64
|
+
"gemini",
|
|
65
|
+
"code-server",
|
|
66
|
+
// VS Code-family editor CLIs — `.cmd` shims from the official installers
|
|
67
|
+
"code",
|
|
68
|
+
"code-insiders",
|
|
69
|
+
"cursor",
|
|
70
|
+
"windsurf",
|
|
71
|
+
]);
|
|
72
|
+
/**
|
|
73
|
+
* Conservative variant of `ensureCmdShim`: only appends `.cmd` when the
|
|
74
|
+
* binary is in {@link KNOWN_CMD_SHIMS}. Use this from generic helpers like
|
|
75
|
+
* `execSafe` that receive arbitrary binary names from many call sites —
|
|
76
|
+
* blindly wrapping every bare name would turn working `spawn("git")` into
|
|
77
|
+
* broken `spawn("git.cmd")`.
|
|
78
|
+
*
|
|
79
|
+
* Same boilerplate as `ensureCmdShim` (no-op on non-Win, leaves explicit
|
|
80
|
+
* paths and pre-extended names alone). Differs only in the final wrap
|
|
81
|
+
* decision.
|
|
82
|
+
*/
|
|
83
|
+
export function ensureCmdShimIfKnown(binary) {
|
|
84
|
+
if (process.platform !== "win32")
|
|
85
|
+
return binary;
|
|
86
|
+
if (path.win32.extname(binary))
|
|
87
|
+
return binary;
|
|
88
|
+
if (binary.includes("\\") || binary.includes("/"))
|
|
89
|
+
return binary;
|
|
90
|
+
if (!KNOWN_CMD_SHIMS.has(binary))
|
|
91
|
+
return binary;
|
|
92
|
+
return `${binary}.cmd`;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=winShim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"winShim.js","sourceRoot":"","sources":["../src/winShim.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IAChD,wEAAwE;IACxE,6EAA6E;IAC7E,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACjE,OAAO,GAAG,MAAM,MAAM,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,yDAAyD;IACzD,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,6DAA6D;IAC7D,KAAK;IACL,QAAQ;IACR,OAAO;IACP,UAAU;IACV,MAAM;IACN,OAAO;IACP,UAAU;IACV,sDAAsD;IACtD,QAAQ;IACR,mBAAmB;IACnB,QAAQ;IACR,aAAa;IACb,yEAAyE;IACzE,MAAM;IACN,eAAe;IACf,QAAQ;IACR,UAAU;CACX,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IAChD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACjE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAChD,OAAO,GAAG,MAAM,MAAM,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type WriteFileAtomicData = string | NodeJS.ArrayBufferView;
|
|
2
|
+
export interface WriteFileAtomicOptions {
|
|
3
|
+
/** Mode for the final file. Default: 0o644. */
|
|
4
|
+
mode?: number;
|
|
5
|
+
/** Encoding when `data` is a string. Default: utf-8. */
|
|
6
|
+
encoding?: BufferEncoding;
|
|
7
|
+
/**
|
|
8
|
+
* Optional cancellation signal — async variant only. Aborts the
|
|
9
|
+
* underlying `fs.promises.writeFile`; if abort fires after the
|
|
10
|
+
* write completes but before the rename, the target is left
|
|
11
|
+
* unchanged and the temp file is cleaned up.
|
|
12
|
+
*/
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Synchronous atomic write. Throws on failure. Best-effort temp cleanup.
|
|
17
|
+
*/
|
|
18
|
+
export declare function writeFileAtomicSync(target: string, data: WriteFileAtomicData, opts?: WriteFileAtomicOptions): void;
|
|
19
|
+
/**
|
|
20
|
+
* Async atomic write. Returns a Promise; rejects on failure. Best-effort
|
|
21
|
+
* temp cleanup. Uses `fs.promises` end-to-end.
|
|
22
|
+
*/
|
|
23
|
+
export declare function writeFileAtomic(target: string, data: WriteFileAtomicData, opts?: WriteFileAtomicOptions): Promise<void>;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
/**
|
|
4
|
+
* Atomic file-write helpers — write to a sibling temp file, then `rename`
|
|
5
|
+
* into the target path. A crash mid-write leaves only the orphan temp
|
|
6
|
+
* file; the target is either the old content or the new content, never
|
|
7
|
+
* truncated.
|
|
8
|
+
*
|
|
9
|
+
* Why a shared helper?
|
|
10
|
+
* The recipe-runner / approval / token-storage paths already use this
|
|
11
|
+
* shape ad-hoc (see runLog.ts, decisionTraceLog.ts, activationMetrics.ts,
|
|
12
|
+
* connectors/tokenStorage.ts). The user-source-file edit tools
|
|
13
|
+
* (`editText`, `replaceBlock`, `searchAndReplace`, `transaction`,
|
|
14
|
+
* `refactorExtractFunction`, `fileOperations` overwrite) were doing
|
|
15
|
+
* direct `writeFile`/`writeFileSync` — a crash mid-write corrupts the
|
|
16
|
+
* user's code. Audit 2026-05-17.
|
|
17
|
+
*
|
|
18
|
+
* Temp-name shape: `${target}.tmp.${pid}.${rand}` — pid + 12 random hex
|
|
19
|
+
* chars so concurrent writes to the same target don't collide on their
|
|
20
|
+
* temp files (the rename is single-threaded at the kernel level; the
|
|
21
|
+
* collision risk is the temp file, not the final state).
|
|
22
|
+
*
|
|
23
|
+
* Cleanup on failure: if `writeFile` succeeds but `rename` fails, we
|
|
24
|
+
* best-effort `unlink` the temp file before re-throwing. If `writeFile`
|
|
25
|
+
* itself fails the temp file may not exist; we ignore unlink errors in
|
|
26
|
+
* both cases.
|
|
27
|
+
*
|
|
28
|
+
* NOT a `fsync` guarantee: Node's `writeFile`/`writeFileSync` does not
|
|
29
|
+
* fsync the file before close, and `rename`/`renameSync` does not fsync
|
|
30
|
+
* the parent dir. On `ext4` data=ordered and `apfs` this is fine in
|
|
31
|
+
* practice — the rename can't make the new contents visible until the
|
|
32
|
+
* data write hits the journal. On power-loss this guarantee weakens;
|
|
33
|
+
* accept that as a separate hardening pass.
|
|
34
|
+
*/
|
|
35
|
+
function tempPathFor(target) {
|
|
36
|
+
const rand = crypto.randomBytes(6).toString("hex");
|
|
37
|
+
return `${target}.tmp.${process.pid}.${rand}`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Synchronous atomic write. Throws on failure. Best-effort temp cleanup.
|
|
41
|
+
*/
|
|
42
|
+
export function writeFileAtomicSync(target, data, opts = {}) {
|
|
43
|
+
const tmp = tempPathFor(target);
|
|
44
|
+
const mode = opts.mode ?? 0o644;
|
|
45
|
+
try {
|
|
46
|
+
if (typeof data === "string") {
|
|
47
|
+
fs.writeFileSync(tmp, data, { mode, encoding: opts.encoding ?? "utf-8" });
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
fs.writeFileSync(tmp, data, { mode });
|
|
51
|
+
}
|
|
52
|
+
fs.renameSync(tmp, target);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
try {
|
|
56
|
+
fs.unlinkSync(tmp);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// already gone or never created
|
|
60
|
+
}
|
|
61
|
+
throw err;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Async atomic write. Returns a Promise; rejects on failure. Best-effort
|
|
66
|
+
* temp cleanup. Uses `fs.promises` end-to-end.
|
|
67
|
+
*/
|
|
68
|
+
export async function writeFileAtomic(target, data, opts = {}) {
|
|
69
|
+
const tmp = tempPathFor(target);
|
|
70
|
+
const mode = opts.mode ?? 0o644;
|
|
71
|
+
try {
|
|
72
|
+
if (typeof data === "string") {
|
|
73
|
+
await fs.promises.writeFile(tmp, data, {
|
|
74
|
+
mode,
|
|
75
|
+
encoding: opts.encoding ?? "utf-8",
|
|
76
|
+
signal: opts.signal,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
await fs.promises.writeFile(tmp, data, { mode, signal: opts.signal });
|
|
81
|
+
}
|
|
82
|
+
await fs.promises.rename(tmp, target);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
try {
|
|
86
|
+
await fs.promises.unlink(tmp);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// already gone or never created
|
|
90
|
+
}
|
|
91
|
+
throw err;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=writeFileAtomic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeFileAtomic.js","sourceRoot":"","sources":["../src/writeFileAtomic.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,GAAG,MAAM,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AAChD,CAAC;AAkBD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,IAAyB,EACzB,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;IAChC,IAAI,CAAC;QACH,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,IAAyB,EACzB,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;IAChC,IAAI,CAAC;QACH,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE;gBACrC,IAAI;gBACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO;gBAClC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "patchwork-os",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
4
|
-
"description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory
|
|
3
|
+
"version": "0.2.0-beta.4",
|
|
4
|
+
"description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory — all on your machine, all under your policy.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -62,14 +62,19 @@
|
|
|
62
62
|
"!dist/__tests__",
|
|
63
63
|
"!dist/**/__tests__",
|
|
64
64
|
"scripts/start-all.sh",
|
|
65
|
+
"scripts/start-all.mjs",
|
|
66
|
+
"scripts/start-all.ps1",
|
|
65
67
|
"scripts/start-orchestrator.sh",
|
|
68
|
+
"scripts/start-orchestrator.ps1",
|
|
66
69
|
"scripts/start-remote.sh",
|
|
70
|
+
"scripts/start-remote.mjs",
|
|
67
71
|
"scripts/install-extension.sh",
|
|
68
72
|
"scripts/gen-mcp-config.sh",
|
|
69
73
|
"scripts/mcp-stdio-shim.cjs",
|
|
70
74
|
"scripts/postinstall.mjs",
|
|
71
75
|
"scripts/start-vps.sh",
|
|
72
76
|
"scripts/gen-claude-desktop-config.sh",
|
|
77
|
+
"scripts/smoke/run-all.mjs",
|
|
73
78
|
"templates",
|
|
74
79
|
"deploy",
|
|
75
80
|
"LICENSE",
|
|
@@ -83,7 +88,8 @@
|
|
|
83
88
|
"dev": "tsx src/index.ts",
|
|
84
89
|
"start": "node dist/index.js",
|
|
85
90
|
"test": "vitest run",
|
|
86
|
-
"test:smoke": "
|
|
91
|
+
"test:smoke": "node scripts/smoke/run-all.mjs",
|
|
92
|
+
"test:smoke:bash": "bash scripts/smoke/run-all.sh",
|
|
87
93
|
"test:smoke:dashboard": "node scripts/smoke/dashboard-walk.mjs",
|
|
88
94
|
"schema:generate": "node scripts/generate-schemas.mjs",
|
|
89
95
|
"schema:check": "node scripts/audit-schema-changes.mjs",
|
|
@@ -97,20 +103,25 @@
|
|
|
97
103
|
"typecheck:tests": "tsc --noEmit -p tsconfig.tests.json",
|
|
98
104
|
"typecheck:tests:core": "tsc --noEmit -p tsconfig.tests.core.json",
|
|
99
105
|
"postinstall": "node scripts/postinstall.mjs || true",
|
|
100
|
-
"prepublishOnly": "npm run build && node dist/index.js
|
|
106
|
+
"prepublishOnly": "npm run build && node -e \"const h=require('child_process').execFileSync('node',['dist/index.js','--workspace','.','--help'],{encoding:'utf8'});if(!h.includes('issuer-url'))process.exit(1)\" && node scripts/publish-schemas.mjs",
|
|
101
107
|
"smoke": "node smoke-test-v2.mjs",
|
|
102
108
|
"remote": "bash scripts/start-remote.sh",
|
|
109
|
+
"remote:node": "node scripts/start-remote.mjs",
|
|
103
110
|
"vps": "bash scripts/start-vps.sh",
|
|
104
111
|
"vps:stop": "bash scripts/start-vps.sh --stop",
|
|
105
112
|
"start-all": "bash scripts/start-all.sh",
|
|
113
|
+
"start-all:node": "node scripts/start-all.mjs",
|
|
114
|
+
"start-all:win": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/start-all.ps1",
|
|
106
115
|
"start-orchestrator": "bash scripts/start-orchestrator.sh",
|
|
107
|
-
"start:
|
|
116
|
+
"start-orchestrator:win": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/start-orchestrator.ps1",
|
|
117
|
+
"start:bridge": "node dist/index.js --workspace .",
|
|
118
|
+
"start:automation": "claude-ide-bridge --workspace . --automation --automation-policy automation-policy.json --driver subprocess --full",
|
|
108
119
|
"prepare": "husky"
|
|
109
120
|
},
|
|
110
121
|
"dependencies": {
|
|
111
122
|
"@opentelemetry/api": "^1.9.0",
|
|
112
123
|
"@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
|
|
113
|
-
"@opentelemetry/sdk-node": "^0.
|
|
124
|
+
"@opentelemetry/sdk-node": "^0.218.0",
|
|
114
125
|
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
115
126
|
"ajv": "^8.18.0",
|
|
116
127
|
"ipaddr.js": "^2.3.0",
|
package/scripts/postinstall.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* postinstall.mjs — wire up optional local binaries into node_modules/.bin
|
|
4
5
|
* so that probeAll() can discover them via the standard local-bin lookup.
|
|
@@ -7,8 +8,10 @@
|
|
|
7
8
|
* @vscode/ripgrep → node_modules/.bin/rg
|
|
8
9
|
*/
|
|
9
10
|
|
|
11
|
+
import { execFileSync } from "node:child_process";
|
|
10
12
|
import {
|
|
11
13
|
chmodSync,
|
|
14
|
+
copyFileSync,
|
|
12
15
|
existsSync,
|
|
13
16
|
mkdirSync,
|
|
14
17
|
symlinkSync,
|
|
@@ -49,8 +52,19 @@ function linkBin(pkgName, binaryName, linkName = binaryName) {
|
|
|
49
52
|
if (existsSync(dest)) {
|
|
50
53
|
unlinkSync(dest);
|
|
51
54
|
}
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
try {
|
|
56
|
+
symlinkSync(src, dest);
|
|
57
|
+
console.log(` linked ${linkName} → ${path.relative(root, src)}`);
|
|
58
|
+
} catch (err) {
|
|
59
|
+
// Windows non-admin users can't create symlinks without Developer Mode.
|
|
60
|
+
// Fall back to a copy so the binary is still discoverable.
|
|
61
|
+
if (process.platform === "win32") {
|
|
62
|
+
copyFileSync(src, dest);
|
|
63
|
+
console.log(` copied ${linkName} → ${path.relative(root, src)}`);
|
|
64
|
+
} else {
|
|
65
|
+
throw err;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
54
68
|
} catch {
|
|
55
69
|
// Package not installed — silently skip
|
|
56
70
|
}
|
|
@@ -65,4 +79,30 @@ try {
|
|
|
65
79
|
|
|
66
80
|
console.log("[postinstall] Linking optional local binaries...");
|
|
67
81
|
linkBin("@vscode/ripgrep", "rg");
|
|
82
|
+
|
|
83
|
+
// Auto-install dashboard dependencies on first global install
|
|
84
|
+
const dashboardDir = fileURLToPath(new URL("../dashboard", import.meta.url));
|
|
85
|
+
if (
|
|
86
|
+
existsSync(dashboardDir) &&
|
|
87
|
+
!existsSync(path.join(dashboardDir, "node_modules"))
|
|
88
|
+
) {
|
|
89
|
+
console.log(
|
|
90
|
+
"[postinstall] Installing dashboard dependencies (first-time setup)...",
|
|
91
|
+
);
|
|
92
|
+
try {
|
|
93
|
+
// Use execFileSync instead of execSync to avoid shell invocation
|
|
94
|
+
const npmCmd = process.platform === "win32" ? "npm.cmd" : "npm";
|
|
95
|
+
execFileSync(npmCmd, ["install", "--prefer-offline"], {
|
|
96
|
+
cwd: dashboardDir,
|
|
97
|
+
stdio: "inherit",
|
|
98
|
+
});
|
|
99
|
+
console.log("[postinstall] Dashboard dependencies installed.");
|
|
100
|
+
} catch {
|
|
101
|
+
console.warn(
|
|
102
|
+
"[postinstall] Warning: could not install dashboard dependencies automatically.",
|
|
103
|
+
);
|
|
104
|
+
console.warn(` Run manually: cd ${dashboardDir} && npm install`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
68
108
|
console.log("[postinstall] Done.");
|