patchwork-os 0.2.0-alpha.2 → 0.2.0-alpha.22

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.
Files changed (281) hide show
  1. package/README.bridge.md +6 -0
  2. package/README.md +40 -15
  3. package/deploy/bootstrap-vps.sh +184 -0
  4. package/dist/approvalHttp.d.ts +11 -2
  5. package/dist/approvalHttp.js +98 -10
  6. package/dist/approvalHttp.js.map +1 -1
  7. package/dist/approvalQueue.d.ts +12 -1
  8. package/dist/approvalQueue.js +25 -3
  9. package/dist/approvalQueue.js.map +1 -1
  10. package/dist/automation.d.ts +20 -0
  11. package/dist/automation.js +35 -0
  12. package/dist/automation.js.map +1 -1
  13. package/dist/bridge.js +145 -23
  14. package/dist/bridge.js.map +1 -1
  15. package/dist/bridgeToken.js +57 -19
  16. package/dist/bridgeToken.js.map +1 -1
  17. package/dist/claudeDriver.d.ts +3 -1
  18. package/dist/claudeDriver.js +48 -0
  19. package/dist/claudeDriver.js.map +1 -1
  20. package/dist/claudeOrchestrator.d.ts +1 -1
  21. package/dist/claudeOrchestrator.js +14 -8
  22. package/dist/claudeOrchestrator.js.map +1 -1
  23. package/dist/commands/launchd.d.ts +2 -0
  24. package/dist/commands/launchd.js +94 -0
  25. package/dist/commands/launchd.js.map +1 -0
  26. package/dist/commands/recipe.d.ts +256 -0
  27. package/dist/commands/recipe.js +1313 -0
  28. package/dist/commands/recipe.js.map +1 -0
  29. package/dist/config.d.ts +15 -2
  30. package/dist/config.js +94 -8
  31. package/dist/config.js.map +1 -1
  32. package/dist/connectors/baseConnector.d.ts +117 -0
  33. package/dist/connectors/baseConnector.js +213 -0
  34. package/dist/connectors/baseConnector.js.map +1 -0
  35. package/dist/connectors/confluence.d.ts +111 -0
  36. package/dist/connectors/confluence.js +406 -0
  37. package/dist/connectors/confluence.js.map +1 -0
  38. package/dist/connectors/fixtureLibrary.d.ts +21 -0
  39. package/dist/connectors/fixtureLibrary.js +70 -0
  40. package/dist/connectors/fixtureLibrary.js.map +1 -0
  41. package/dist/connectors/fixtureRecorder.d.ts +1 -0
  42. package/dist/connectors/fixtureRecorder.js +35 -0
  43. package/dist/connectors/fixtureRecorder.js.map +1 -0
  44. package/dist/connectors/github.d.ts +58 -8
  45. package/dist/connectors/github.js +312 -84
  46. package/dist/connectors/github.js.map +1 -1
  47. package/dist/connectors/gmail.d.ts +4 -1
  48. package/dist/connectors/gmail.js +93 -16
  49. package/dist/connectors/gmail.js.map +1 -1
  50. package/dist/connectors/googleCalendar.d.ts +60 -0
  51. package/dist/connectors/googleCalendar.js +345 -0
  52. package/dist/connectors/googleCalendar.js.map +1 -0
  53. package/dist/connectors/jira.d.ts +98 -0
  54. package/dist/connectors/jira.js +379 -0
  55. package/dist/connectors/jira.js.map +1 -0
  56. package/dist/connectors/linear.d.ts +117 -0
  57. package/dist/connectors/linear.js +239 -0
  58. package/dist/connectors/linear.js.map +1 -0
  59. package/dist/connectors/mcpClient.d.ts +56 -0
  60. package/dist/connectors/mcpClient.js +189 -0
  61. package/dist/connectors/mcpClient.js.map +1 -0
  62. package/dist/connectors/mcpOAuth.d.ts +84 -0
  63. package/dist/connectors/mcpOAuth.js +389 -0
  64. package/dist/connectors/mcpOAuth.js.map +1 -0
  65. package/dist/connectors/mockConnector.d.ts +28 -0
  66. package/dist/connectors/mockConnector.js +81 -0
  67. package/dist/connectors/mockConnector.js.map +1 -0
  68. package/dist/connectors/notion.d.ts +143 -0
  69. package/dist/connectors/notion.js +424 -0
  70. package/dist/connectors/notion.js.map +1 -0
  71. package/dist/connectors/sentry.d.ts +43 -0
  72. package/dist/connectors/sentry.js +188 -0
  73. package/dist/connectors/sentry.js.map +1 -0
  74. package/dist/connectors/slack.d.ts +50 -0
  75. package/dist/connectors/slack.js +324 -0
  76. package/dist/connectors/slack.js.map +1 -0
  77. package/dist/connectors/tokenStorage.d.ts +35 -0
  78. package/dist/connectors/tokenStorage.js +394 -0
  79. package/dist/connectors/tokenStorage.js.map +1 -0
  80. package/dist/connectors/zendesk.d.ts +104 -0
  81. package/dist/connectors/zendesk.js +424 -0
  82. package/dist/connectors/zendesk.js.map +1 -0
  83. package/dist/drivers/claude/api.d.ts +11 -0
  84. package/dist/drivers/claude/api.js +54 -0
  85. package/dist/drivers/claude/api.js.map +1 -0
  86. package/dist/drivers/claude/envSanitizer.d.ts +7 -0
  87. package/dist/drivers/claude/envSanitizer.js +18 -0
  88. package/dist/drivers/claude/envSanitizer.js.map +1 -0
  89. package/dist/drivers/claude/streamParser.d.ts +38 -0
  90. package/dist/drivers/claude/streamParser.js +34 -0
  91. package/dist/drivers/claude/streamParser.js.map +1 -0
  92. package/dist/drivers/claude/subprocess.d.ts +19 -0
  93. package/dist/drivers/claude/subprocess.js +216 -0
  94. package/dist/drivers/claude/subprocess.js.map +1 -0
  95. package/dist/drivers/claude/subprocessSettings.d.ts +9 -0
  96. package/dist/drivers/claude/subprocessSettings.js +55 -0
  97. package/dist/drivers/claude/subprocessSettings.js.map +1 -0
  98. package/dist/drivers/gemini/index.d.ts +18 -0
  99. package/dist/drivers/gemini/index.js +210 -0
  100. package/dist/drivers/gemini/index.js.map +1 -0
  101. package/dist/drivers/grok/index.d.ts +11 -0
  102. package/dist/drivers/grok/index.js +22 -0
  103. package/dist/drivers/grok/index.js.map +1 -0
  104. package/dist/drivers/index.d.ts +23 -0
  105. package/dist/drivers/index.js +31 -0
  106. package/dist/drivers/index.js.map +1 -0
  107. package/dist/drivers/openai/index.d.ts +24 -0
  108. package/dist/drivers/openai/index.js +110 -0
  109. package/dist/drivers/openai/index.js.map +1 -0
  110. package/dist/drivers/types.d.ts +72 -0
  111. package/dist/drivers/types.js +30 -0
  112. package/dist/drivers/types.js.map +1 -0
  113. package/dist/featureFlags.d.ts +73 -0
  114. package/dist/featureFlags.js +203 -0
  115. package/dist/featureFlags.js.map +1 -0
  116. package/dist/fp/automationInterpreter.js +1 -0
  117. package/dist/fp/automationInterpreter.js.map +1 -1
  118. package/dist/fp/automationProgram.d.ts +1 -1
  119. package/dist/fp/automationProgram.js.map +1 -1
  120. package/dist/fp/policyParser.js +17 -0
  121. package/dist/fp/policyParser.js.map +1 -1
  122. package/dist/index.js +543 -37
  123. package/dist/index.js.map +1 -1
  124. package/dist/installGuard.d.ts +25 -0
  125. package/dist/installGuard.js +48 -0
  126. package/dist/installGuard.js.map +1 -0
  127. package/dist/oauth.d.ts +4 -1
  128. package/dist/oauth.js +50 -14
  129. package/dist/oauth.js.map +1 -1
  130. package/dist/patchworkConfig.d.ts +9 -0
  131. package/dist/patchworkConfig.js.map +1 -1
  132. package/dist/recipes/chainedRunner.d.ts +104 -0
  133. package/dist/recipes/chainedRunner.js +359 -0
  134. package/dist/recipes/chainedRunner.js.map +1 -0
  135. package/dist/recipes/dependencyGraph.d.ts +39 -0
  136. package/dist/recipes/dependencyGraph.js +199 -0
  137. package/dist/recipes/dependencyGraph.js.map +1 -0
  138. package/dist/recipes/legacyRecipeCompat.d.ts +1 -0
  139. package/dist/recipes/legacyRecipeCompat.js +97 -0
  140. package/dist/recipes/legacyRecipeCompat.js.map +1 -0
  141. package/dist/recipes/nestedRecipeStep.d.ts +58 -0
  142. package/dist/recipes/nestedRecipeStep.js +95 -0
  143. package/dist/recipes/nestedRecipeStep.js.map +1 -0
  144. package/dist/recipes/outputRegistry.d.ts +28 -0
  145. package/dist/recipes/outputRegistry.js +52 -0
  146. package/dist/recipes/outputRegistry.js.map +1 -0
  147. package/dist/recipes/scheduler.d.ts +23 -7
  148. package/dist/recipes/scheduler.js +135 -41
  149. package/dist/recipes/scheduler.js.map +1 -1
  150. package/dist/recipes/schemaGenerator.d.ts +28 -0
  151. package/dist/recipes/schemaGenerator.js +484 -0
  152. package/dist/recipes/schemaGenerator.js.map +1 -0
  153. package/dist/recipes/templateEngine.d.ts +62 -0
  154. package/dist/recipes/templateEngine.js +182 -0
  155. package/dist/recipes/templateEngine.js.map +1 -0
  156. package/dist/recipes/toolRegistry.d.ts +181 -0
  157. package/dist/recipes/toolRegistry.js +300 -0
  158. package/dist/recipes/toolRegistry.js.map +1 -0
  159. package/dist/recipes/tools/calendar.d.ts +6 -0
  160. package/dist/recipes/tools/calendar.js +61 -0
  161. package/dist/recipes/tools/calendar.js.map +1 -0
  162. package/dist/recipes/tools/confluence.d.ts +6 -0
  163. package/dist/recipes/tools/confluence.js +254 -0
  164. package/dist/recipes/tools/confluence.js.map +1 -0
  165. package/dist/recipes/tools/diagnostics.d.ts +6 -0
  166. package/dist/recipes/tools/diagnostics.js +36 -0
  167. package/dist/recipes/tools/diagnostics.js.map +1 -0
  168. package/dist/recipes/tools/file.d.ts +6 -0
  169. package/dist/recipes/tools/file.js +170 -0
  170. package/dist/recipes/tools/file.js.map +1 -0
  171. package/dist/recipes/tools/git.d.ts +6 -0
  172. package/dist/recipes/tools/git.js +63 -0
  173. package/dist/recipes/tools/git.js.map +1 -0
  174. package/dist/recipes/tools/github.d.ts +6 -0
  175. package/dist/recipes/tools/github.js +91 -0
  176. package/dist/recipes/tools/github.js.map +1 -0
  177. package/dist/recipes/tools/gmail.d.ts +6 -0
  178. package/dist/recipes/tools/gmail.js +210 -0
  179. package/dist/recipes/tools/gmail.js.map +1 -0
  180. package/dist/recipes/tools/index.d.ts +18 -0
  181. package/dist/recipes/tools/index.js +21 -0
  182. package/dist/recipes/tools/index.js.map +1 -0
  183. package/dist/recipes/tools/linear.d.ts +6 -0
  184. package/dist/recipes/tools/linear.js +83 -0
  185. package/dist/recipes/tools/linear.js.map +1 -0
  186. package/dist/recipes/tools/notion.d.ts +6 -0
  187. package/dist/recipes/tools/notion.js +278 -0
  188. package/dist/recipes/tools/notion.js.map +1 -0
  189. package/dist/recipes/tools/slack.d.ts +6 -0
  190. package/dist/recipes/tools/slack.js +72 -0
  191. package/dist/recipes/tools/slack.js.map +1 -0
  192. package/dist/recipes/tools/zendesk.d.ts +6 -0
  193. package/dist/recipes/tools/zendesk.js +245 -0
  194. package/dist/recipes/tools/zendesk.js.map +1 -0
  195. package/dist/recipes/yamlRunner.d.ts +79 -0
  196. package/dist/recipes/yamlRunner.js +612 -346
  197. package/dist/recipes/yamlRunner.js.map +1 -1
  198. package/dist/recipesHttp.d.ts +14 -1
  199. package/dist/recipesHttp.js +21 -4
  200. package/dist/recipesHttp.js.map +1 -1
  201. package/dist/riskTier.js +1 -0
  202. package/dist/riskTier.js.map +1 -1
  203. package/dist/runLog.d.ts +23 -0
  204. package/dist/runLog.js +56 -1
  205. package/dist/runLog.js.map +1 -1
  206. package/dist/server.d.ts +19 -1
  207. package/dist/server.js +682 -31
  208. package/dist/server.js.map +1 -1
  209. package/dist/streamableHttp.js +2 -0
  210. package/dist/streamableHttp.js.map +1 -1
  211. package/dist/tools/addLinearComment.d.ts +55 -0
  212. package/dist/tools/addLinearComment.js +72 -0
  213. package/dist/tools/addLinearComment.js.map +1 -0
  214. package/dist/tools/bridgeDoctor.js +2 -2
  215. package/dist/tools/bridgeDoctor.js.map +1 -1
  216. package/dist/tools/createLinearIssue.d.ts +84 -0
  217. package/dist/tools/createLinearIssue.js +146 -0
  218. package/dist/tools/createLinearIssue.js.map +1 -0
  219. package/dist/tools/ctxGetTaskContext.d.ts +4 -1
  220. package/dist/tools/ctxGetTaskContext.js +45 -2
  221. package/dist/tools/ctxGetTaskContext.js.map +1 -1
  222. package/dist/tools/fetchCalendarEvents.d.ts +94 -0
  223. package/dist/tools/fetchCalendarEvents.js +97 -0
  224. package/dist/tools/fetchCalendarEvents.js.map +1 -0
  225. package/dist/tools/fetchGithubIssue.d.ts +80 -0
  226. package/dist/tools/fetchGithubIssue.js +84 -0
  227. package/dist/tools/fetchGithubIssue.js.map +1 -0
  228. package/dist/tools/fetchGithubPR.d.ts +89 -0
  229. package/dist/tools/fetchGithubPR.js +96 -0
  230. package/dist/tools/fetchGithubPR.js.map +1 -0
  231. package/dist/tools/fetchLinearIssue.d.ts +112 -0
  232. package/dist/tools/fetchLinearIssue.js +129 -0
  233. package/dist/tools/fetchLinearIssue.js.map +1 -0
  234. package/dist/tools/fetchSentryIssue.d.ts +143 -0
  235. package/dist/tools/fetchSentryIssue.js +150 -0
  236. package/dist/tools/fetchSentryIssue.js.map +1 -0
  237. package/dist/tools/fetchSlackProfile.d.ts +43 -0
  238. package/dist/tools/fetchSlackProfile.js +46 -0
  239. package/dist/tools/fetchSlackProfile.js.map +1 -0
  240. package/dist/tools/getConnectorStatus.d.ts +58 -0
  241. package/dist/tools/getConnectorStatus.js +56 -0
  242. package/dist/tools/getConnectorStatus.js.map +1 -0
  243. package/dist/tools/github/actions.js +4 -2
  244. package/dist/tools/github/actions.js.map +1 -1
  245. package/dist/tools/github/composite.d.ts +339 -0
  246. package/dist/tools/github/composite.js +343 -0
  247. package/dist/tools/github/composite.js.map +1 -0
  248. package/dist/tools/github/index.d.ts +2 -1
  249. package/dist/tools/github/index.js +2 -1
  250. package/dist/tools/github/index.js.map +1 -1
  251. package/dist/tools/github/issues.js +8 -4
  252. package/dist/tools/github/issues.js.map +1 -1
  253. package/dist/tools/github/pr.d.ts +122 -0
  254. package/dist/tools/github/pr.js +195 -5
  255. package/dist/tools/github/pr.js.map +1 -1
  256. package/dist/tools/index.js +36 -1
  257. package/dist/tools/index.js.map +1 -1
  258. package/dist/tools/searchTools.js +1 -1
  259. package/dist/tools/searchTools.js.map +1 -1
  260. package/dist/tools/slackListChannels.d.ts +65 -0
  261. package/dist/tools/slackListChannels.js +70 -0
  262. package/dist/tools/slackListChannels.js.map +1 -0
  263. package/dist/tools/slackPostMessage.d.ts +57 -0
  264. package/dist/tools/slackPostMessage.js +77 -0
  265. package/dist/tools/slackPostMessage.js.map +1 -0
  266. package/dist/tools/updateLinearIssue.d.ts +89 -0
  267. package/dist/tools/updateLinearIssue.js +117 -0
  268. package/dist/tools/updateLinearIssue.js.map +1 -0
  269. package/dist/transport.d.ts +7 -1
  270. package/dist/transport.js +85 -11
  271. package/dist/transport.js.map +1 -1
  272. package/package.json +4 -2
  273. package/scripts/start-all.sh +56 -19
  274. package/templates/automation-policies/recipe-authoring.json +25 -0
  275. package/templates/automation-policy.example.json +6 -0
  276. package/templates/co.patchwork-os.bridge.plist +34 -0
  277. package/templates/recipes/ctx-loop-test.yaml +75 -0
  278. package/templates/recipes/lint-on-save.yaml +1 -2
  279. package/templates/recipes/morning-brief-slack.yaml +57 -0
  280. package/templates/recipes/morning-brief.yaml +21 -5
  281. package/templates/recipes/sentry-to-linear.yaml +77 -0
package/dist/transport.js CHANGED
@@ -72,8 +72,12 @@ export class McpTransport {
72
72
  ajv = new Ajv({ strict: false, allErrors: true });
73
73
  schemaValidators = new Map();
74
74
  outputValidators = new Map();
75
- /** Cached wire-schema array for tools/list. Invalidated on any tool registration change. */
75
+ /** Cached wire-schema array for tools/list (full mode). Invalidated on any tool registration change. */
76
76
  wireSchemaCache = null;
77
+ /** Cached wire-schema array for tools/list in lazy mode (inputSchema stripped). */
78
+ wireSchemaCacheLazy = null;
79
+ /** When true, tools/list omits inputSchema. Clients must call tools/schema before tools/call. */
80
+ lazyTools = false;
77
81
  /** Per-session tool-call rate limit (calls/minute). 0 = disabled. */
78
82
  toolRateLimit = 60;
79
83
  /**
@@ -113,6 +117,10 @@ export class McpTransport {
113
117
  setDenyTools(tools) {
114
118
  this.denyTools = tools;
115
119
  }
120
+ /** Enable lazy-tools mode: tools/list omits inputSchema; clients use tools/schema to fetch it. */
121
+ setLazyTools(enabled) {
122
+ this.lazyTools = enabled;
123
+ }
116
124
  /** Configure per-session tool call rate limiting (calls/minute, 0 = disabled). */
117
125
  setToolRateLimit(limit) {
118
126
  this.toolRateLimit = limit;
@@ -281,6 +289,7 @@ export class McpTransport {
281
289
  this.schemaValidators.delete(schema.name);
282
290
  this.outputValidators.delete(schema.name);
283
291
  this.wireSchemaCache = null;
292
+ this.wireSchemaCacheLazy = null;
284
293
  this.tools.set(schema.name, {
285
294
  schema,
286
295
  handler,
@@ -292,6 +301,7 @@ export class McpTransport {
292
301
  this.schemaValidators.delete(name);
293
302
  this.outputValidators.delete(name);
294
303
  this.wireSchemaCache = null;
304
+ this.wireSchemaCacheLazy = null;
295
305
  return this.tools.delete(name);
296
306
  }
297
307
  deregisterToolsByPrefix(prefix) {
@@ -306,8 +316,10 @@ export class McpTransport {
306
316
  count++;
307
317
  }
308
318
  }
309
- if (count > 0)
319
+ if (count > 0) {
310
320
  this.wireSchemaCache = null;
321
+ this.wireSchemaCacheLazy = null;
322
+ }
311
323
  return count;
312
324
  }
313
325
  detach() {
@@ -363,6 +375,7 @@ export class McpTransport {
363
375
  }
364
376
  // Invalidate wire cache — categories are stripped but getToolSchemas reads them
365
377
  this.wireSchemaCache = null;
378
+ this.wireSchemaCacheLazy = null;
366
379
  }
367
380
  /** Returns all registered tool schemas — used by searchTools for keyword/category discovery. */
368
381
  getToolSchemas() {
@@ -608,15 +621,33 @@ export class McpTransport {
608
621
  };
609
622
  break;
610
623
  }
611
- if (!this.wireSchemaCache) {
612
- this.wireSchemaCache = Array.from(this.tools.values()).map((t) => {
613
- // Strip internal-only fields before sending on the wire.
614
- // cache_control is intentionally NOT stripped — it passes through to clients.
615
- const { extensionRequired: _ext, timeoutMs: _timeout, categories: _cat, outputSchema: _outputSchema, ...wireSchema } = t.schema;
616
- return wireSchema;
617
- });
624
+ if (this.lazyTools) {
625
+ // Lazy mode: strip inputSchema from wire response.
626
+ // Clients must call tools/schema to fetch the full schema before tools/call.
627
+ if (!this.wireSchemaCacheLazy) {
628
+ this.wireSchemaCacheLazy = Array.from(this.tools.values()).map((t) => {
629
+ // Strip internal-only fields AND inputSchema in lazy mode.
630
+ // cache_control is intentionally NOT stripped — it passes through to clients.
631
+ const { extensionRequired: _ext, timeoutMs: _timeout, categories: _cat, outputSchema: _outputSchema, inputSchema: _inputSchema, ...wireSchema } = t.schema;
632
+ return wireSchema;
633
+ });
634
+ }
618
635
  }
619
- const allTools = this.wireSchemaCache;
636
+ else {
637
+ if (!this.wireSchemaCache) {
638
+ this.wireSchemaCache = Array.from(this.tools.values()).map((t) => {
639
+ // Strip internal-only fields before sending on the wire.
640
+ // cache_control is intentionally NOT stripped — it passes through to clients.
641
+ const { extensionRequired: _ext, timeoutMs: _timeout, categories: _cat, outputSchema: _outputSchema, ...wireSchema } = t.schema;
642
+ return wireSchema;
643
+ });
644
+ }
645
+ }
646
+ const allTools = this.lazyTools
647
+ ? // biome-ignore lint/style/noNonNullAssertion: built above
648
+ this.wireSchemaCacheLazy
649
+ : // biome-ignore lint/style/noNonNullAssertion: built above
650
+ this.wireSchemaCache;
620
651
  // Parse cursor (opaque base64-encoded decimal offset)
621
652
  const listParams = msg.params;
622
653
  let offset = 0;
@@ -649,6 +680,48 @@ export class McpTransport {
649
680
  };
650
681
  break;
651
682
  }
683
+ case "tools/schema": {
684
+ // Fetch full schema for a single tool by name.
685
+ // Always available regardless of lazyTools mode.
686
+ // Schema validation uses in-memory schema regardless of lazyTools mode.
687
+ const schemaParams = msg.params;
688
+ if (typeof schemaParams?.name !== "string" || !schemaParams.name) {
689
+ response = {
690
+ jsonrpc: "2.0",
691
+ id: msg.id,
692
+ error: {
693
+ code: ErrorCodes.INVALID_PARAMS,
694
+ message: 'Missing required param: "name"',
695
+ },
696
+ };
697
+ break;
698
+ }
699
+ const toolEntry = this.tools.get(schemaParams.name);
700
+ if (!toolEntry) {
701
+ response = {
702
+ jsonrpc: "2.0",
703
+ id: msg.id,
704
+ error: {
705
+ code: ErrorCodes.METHOD_NOT_FOUND,
706
+ message: `Tool not found: ${schemaParams.name}`,
707
+ },
708
+ };
709
+ break;
710
+ }
711
+ response = {
712
+ jsonrpc: "2.0",
713
+ id: msg.id,
714
+ result: {
715
+ name: toolEntry.schema.name,
716
+ description: toolEntry.schema.description,
717
+ inputSchema: toolEntry.schema.inputSchema,
718
+ ...(toolEntry.schema.outputSchema !== undefined && {
719
+ outputSchema: toolEntry.schema.outputSchema,
720
+ }),
721
+ },
722
+ };
723
+ break;
724
+ }
652
725
  case "tools/call": {
653
726
  if (!this.initialized) {
654
727
  response = {
@@ -874,7 +947,8 @@ export class McpTransport {
874
947
  // schemas use additionalProperties:false, so leaving it in causes
875
948
  // AJV to reject the call with -32602.
876
949
  const { _meta: _stripped, ...toolArgs } = rawArgs;
877
- // AJV structural validation
950
+ // Schema validation uses in-memory schema regardless of lazyTools mode.
951
+ // AJV compiles from tool.schema.inputSchema, not from the wire response.
878
952
  const validate = this.getValidator(params.name);
879
953
  if (validate && !validate(toolArgs)) {
880
954
  this.callCount++;
@@ -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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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "patchwork-os",
3
- "version": "0.2.0-alpha.2",
4
- "description": "Patchwork OS \u2014 proactive, multi-model AI teammate built on the Claude IDE Bridge. One agent, any model, works while you're away.",
3
+ "version": "0.2.0-alpha.22",
4
+ "description": "Patchwork OS proactive, multi-model AI teammate built on the Claude IDE Bridge. One agent, any model, works while you're away.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -95,12 +95,14 @@
95
95
  "@opentelemetry/semantic-conventions": "^1.40.0",
96
96
  "ajv": "^8.18.0",
97
97
  "minimatch": "^10.0.0",
98
+ "node-cron": "^3.0.3",
98
99
  "ws": "^8.18.0",
99
100
  "yaml": "^2.8.3"
100
101
  },
101
102
  "devDependencies": {
102
103
  "@biomejs/biome": "^2.4.10",
103
104
  "@types/node": "^22.0.0",
105
+ "@types/node-cron": "^3.0.11",
104
106
  "@types/ws": "^8.5.0",
105
107
  "@vitest/coverage-v8": "^3.0.0",
106
108
  "@vscode/ripgrep": "^1.17.1",
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- # Full orchestrator for bridge + claude + remote-control.
3
- # Manages all three in tmux panes with health monitoring.
2
+ # Full orchestrator for bridge + claude + remote-control + dashboard.
3
+ # Manages all processes in tmux panes with health monitoring.
4
4
  #
5
5
  # Pane layout:
6
6
  # 0 — health monitor (orchestrator)
@@ -8,7 +8,8 @@
8
8
  # 2 — claude --ide (Claude Code CLI, connects to bridge for IDE tools)
9
9
  # 3 — claude remote-control --spawn=session (exposes the workspace to claude.ai;
10
10
  # spawned sessions auto-discover the bridge via ~/.claude/ide/*.lock)
11
- # 4 — SSH reverse tunnel to VPS (optional, enabled with --vps <user@host:port>)
11
+ # 4 — Patchwork dashboard (Next.js, http://localhost:3200)
12
+ # 5 — SSH reverse tunnel to VPS (optional, enabled with --vps <user@host:port>)
12
13
  # Forwards VPS_PORT on the remote host back to the local bridge port.
13
14
  # Allows claude.ai integrations to use a static VPS URL instead of a
14
15
  # rotating remote-control session URL.
@@ -20,6 +21,8 @@
20
21
  # Options:
21
22
  # --workspace <path> Directory to open in Claude (default: current directory)
22
23
  # --full Register all ~95 bridge tools (git, terminal, file ops, HTTP, GitHub).
24
+ # --no-dashboard Skip starting the Patchwork dashboard (pane 4).
25
+ # --dashboard-port <N> Dashboard port (default: 3200).
23
26
  # Default is slim mode (27 IDE-exclusive tools). Add --full if your
24
27
  # workflow requires git/terminal/file tools.
25
28
  # --notify <topic> Push notifications via ntfy.sh when remote-control connects or
@@ -48,6 +51,8 @@ NTFY_TOPIC=""
48
51
  IDE_NAME=""
49
52
  VPS=""
50
53
  FULL_MODE=""
54
+ NO_DASHBOARD=""
55
+ DASHBOARD_PORT="3200"
51
56
  AUTOMATION_POLICY=""
52
57
  CLAUDE_DRIVER="subprocess"
53
58
  BRIDGE_READY_TIMEOUT="${BRIDGE_READY_TIMEOUT:-30}"
@@ -64,6 +69,8 @@ while [[ $# -gt 0 ]]; do
64
69
  --ide) IDE_NAME="$2"; shift 2 ;;
65
70
  --vps) VPS="$2"; shift 2 ;;
66
71
  --full) FULL_MODE="--full"; shift ;;
72
+ --no-dashboard) NO_DASHBOARD=1; shift ;;
73
+ --dashboard-port) DASHBOARD_PORT="$2"; shift 2 ;;
67
74
  --automation-policy) AUTOMATION_POLICY="$2"; shift 2 ;;
68
75
  --claude-driver) CLAUDE_DRIVER="$2"; shift 2 ;;
69
76
  *) echo "Unknown option: $1" >&2; exit 1 ;;
@@ -90,23 +97,31 @@ fi
90
97
 
91
98
  # --- Bridge conflict check ---
92
99
  # Detect an already-running bridge instance and abort early with a clear message.
93
- # Iterates lock files safely (no xargs injection); filters to isBridge:true + live PID.
100
+ # Validates: isBridge:true + live PID + process is actually a bridge (not Windsurf reusing PID)
101
+ # by checking whether the lock file's port has an active listener.
94
102
  while IFS= read -r lock; do
95
103
  [[ -f "$lock" ]] || continue
96
- bridge_pid=$(python3 -c "
104
+ lock_info=$(python3 -c "
97
105
  import json, sys
98
106
  try:
99
107
  d = json.load(open(sys.argv[1]))
100
108
  if d.get('isBridge') is True:
101
- print(d.get('pid', ''))
109
+ print(d.get('pid', ''), d.get('port', ''))
102
110
  except Exception:
103
111
  pass
104
112
  " "$lock" 2>/dev/null || true)
113
+ bridge_pid="${lock_info%% *}"
114
+ bridge_port="${lock_info##* }"
105
115
  if [[ -n "$bridge_pid" ]] && kill -0 "$bridge_pid" 2>/dev/null; then
106
- echo "Error: bridge already running (PID $bridge_pid, lock: $(basename "$lock"))." >&2
107
- echo " Stop it first: kill $bridge_pid" >&2
108
- echo " Or kill the tmux session: tmux kill-session -t claude-all" >&2
109
- exit 1
116
+ # Cross-check: verify a process is actually listening on the lock's port.
117
+ # Windsurf may reuse PIDs from stale locks — if nothing listens on that port,
118
+ # the bridge is not actually running.
119
+ if [[ -n "$bridge_port" ]] && lsof -i ":${bridge_port}" 2>/dev/null | grep -q LISTEN; then
120
+ echo "Error: bridge already running (PID $bridge_pid, port $bridge_port, lock: $(basename "$lock"))." >&2
121
+ echo " Stop it first: kill $bridge_pid" >&2
122
+ echo " Or kill the tmux session: tmux kill-session -t claude-all" >&2
123
+ exit 1
124
+ fi
110
125
  fi
111
126
  done < <(ls ~/.claude/ide/*.lock 2>/dev/null)
112
127
 
@@ -141,6 +156,7 @@ echo "=== Claude IDE Bridge Full Orchestrator ==="
141
156
  echo " Ctrl+C in any pane — stops that process"
142
157
  echo " Ctrl+B then D (press Ctrl+B, release, then press D) — detach (keeps running)"
143
158
  echo " tmux kill-session -t $SESSION — stop everything"
159
+ [[ -z "$NO_DASHBOARD" ]] && echo " Dashboard: http://localhost:${DASHBOARD_PORT}"
144
160
  [[ -n "$NTFY_TOPIC" ]] && echo " Push notifications: ntfy.sh/$NTFY_TOPIC"
145
161
  if [[ -z "$FULL_MODE" ]]; then
146
162
  echo ""
@@ -276,11 +292,12 @@ while true; do
276
292
  sleep \$delay
277
293
  done'"
278
294
 
279
- # --- Create additional panes (pane 0 = orchestrator, 1 = bridge, 2 = claude, 3 = remote-control, 4 = ssh tunnel) ---
295
+ # --- Create additional panes (pane 0 = orchestrator, 1 = bridge, 2 = claude, 3 = remote-control, 4 = dashboard, 5 = ssh tunnel) ---
280
296
  tmux split-window -v -t "$SESSION" # pane 1 for bridge
281
297
  tmux split-window -v -t "$SESSION" # pane 2 for claude --ide
282
298
  tmux split-window -v -t "$SESSION" # pane 3 for claude remote-control
283
- [[ -n "$TUNNEL_CMD" ]] && tmux split-window -v -t "$SESSION" # pane 4 for ssh tunnel (optional)
299
+ [[ -z "$NO_DASHBOARD" ]] && tmux split-window -v -t "$SESSION" # pane 4 for dashboard (optional)
300
+ [[ -n "$TUNNEL_CMD" ]] && tmux split-window -v -t "$SESSION" # pane 5 for ssh tunnel (optional)
284
301
  tmux select-layout -t "$SESSION" even-vertical
285
302
 
286
303
  # --- Helper: wait for a NEW lock file (ignores pre-existing ones) ---
@@ -359,10 +376,20 @@ sleep 3
359
376
  # Pane 3: Remote control with auto-restart loop
360
377
  tmux send-keys -t "${SESSION}:0.3" "$REMOTE_CMD" Enter
361
378
 
362
- # Pane 4: SSH reverse tunnel (only if --vps was set)
379
+ # Pane 4: Dashboard (only if not --no-dashboard and dashboard dir exists)
380
+ DASHBOARD_DIR="$BRIDGE_DIR/dashboard"
381
+ if [[ -z "$NO_DASHBOARD" ]] && [[ -d "$DASHBOARD_DIR" ]]; then
382
+ BRIDGE_PORT=$(basename "$LOCK_FILE" .lock)
383
+ DASHBOARD_CMD="cd $(printf '%q' "$DASHBOARD_DIR") && PATCHWORK_BRIDGE_PORT=${BRIDGE_PORT} npm run dev"
384
+ notify "Starting dashboard on http://localhost:${DASHBOARD_PORT}"
385
+ tmux send-keys -t "${SESSION}:0.4" "$DASHBOARD_CMD" Enter
386
+ fi
387
+
388
+ # Pane 5: SSH reverse tunnel (only if --vps was set)
363
389
  if [[ -n "$TUNNEL_CMD" ]]; then
364
390
  notify "Starting SSH tunnel to ${VPS}..."
365
- tmux send-keys -t "${SESSION}:0.4" "$TUNNEL_CMD" Enter
391
+ TUNNEL_PANE=$([[ -z "$NO_DASHBOARD" ]] && echo 5 || echo 4)
392
+ tmux send-keys -t "${SESSION}:0.${TUNNEL_PANE}" "$TUNNEL_CMD" Enter
366
393
  fi
367
394
 
368
395
  # --- Health monitor (runs in pane 0 — the orchestrator pane) ---
@@ -377,10 +404,12 @@ cleanup() {
377
404
  tmux send-keys -t "${SESSION}:0.1" C-c 2>/dev/null
378
405
  tmux send-keys -t "${SESSION}:0.2" C-c 2>/dev/null
379
406
  tmux send-keys -t "${SESSION}:0.3" C-c 2>/dev/null
380
- [[ -n "$TUNNEL_CMD" ]] && tmux send-keys -t "${SESSION}:0.4" C-c 2>/dev/null
407
+ [[ -z "$NO_DASHBOARD" ]] && tmux send-keys -t "${SESSION}:0.4" C-c 2>/dev/null
408
+ [[ -n "$TUNNEL_CMD" ]] && tmux send-keys -t "${SESSION}:0.${TUNNEL_PANE:-4}" C-c 2>/dev/null
381
409
  # Wait up to 5s for panes to exit gracefully, then force-kill
382
410
  local panes=(1 2 3)
383
- [[ -n "$TUNNEL_CMD" ]] && panes=(1 2 3 4)
411
+ [[ -z "$NO_DASHBOARD" ]] && panes=(1 2 3 4)
412
+ [[ -n "$TUNNEL_CMD" ]] && panes=("${panes[@]}" "${TUNNEL_PANE:-4}")
384
413
  for _ in $(seq 1 5); do
385
414
  sleep 1
386
415
  all_idle=true
@@ -396,7 +425,8 @@ cleanup() {
396
425
  done
397
426
  sleep 1
398
427
  local rpanes=(3 2 1)
399
- [[ -n "$TUNNEL_CMD" ]] && rpanes=(4 3 2 1)
428
+ [[ -z "$NO_DASHBOARD" ]] && rpanes=(4 3 2 1)
429
+ [[ -n "$TUNNEL_CMD" ]] && rpanes=("${TUNNEL_PANE:-4}" "${rpanes[@]}")
400
430
  for pane in "${rpanes[@]}"; do
401
431
  tmux kill-pane -t "${SESSION}:0.${pane}" 2>/dev/null || true
402
432
  done
@@ -413,7 +443,8 @@ while true; do
413
443
  tmux send-keys -t "${SESSION}:0.1" C-c
414
444
  tmux send-keys -t "${SESSION}:0.2" C-c
415
445
  tmux send-keys -t "${SESSION}:0.3" C-c
416
- [[ -n "$TUNNEL_CMD" ]] && tmux send-keys -t "${SESSION}:0.4" C-c
446
+ [[ -z "$NO_DASHBOARD" ]] && tmux send-keys -t "${SESSION}:0.4" C-c
447
+ [[ -n "$TUNNEL_CMD" ]] && tmux send-keys -t "${SESSION}:0.${TUNNEL_PANE:-4}" C-c
417
448
  # Wait for bridge (pane 1) and claude (pane 2) to actually stop
418
449
  for _ in $(seq 1 10); do
419
450
  pane1_cmd=$(tmux display-message -t "${SESSION}:0.1" -p '#{pane_current_command}' 2>/dev/null || echo "")
@@ -476,9 +507,15 @@ while true; do
476
507
  sleep 3
477
508
  # Restart remote-control
478
509
  tmux send-keys -t "${SESSION}:0.3" "$REMOTE_CMD" Enter
510
+ # Restart dashboard with updated bridge port
511
+ if [[ -z "$NO_DASHBOARD" ]] && [[ -d "$DASHBOARD_DIR" ]]; then
512
+ NEW_BRIDGE_PORT=$(basename "$LOCK_FILE" .lock)
513
+ DASHBOARD_CMD="cd $(printf '%q' "$DASHBOARD_DIR") && PATCHWORK_BRIDGE_PORT=${NEW_BRIDGE_PORT} npm run dev"
514
+ tmux send-keys -t "${SESSION}:0.4" "$DASHBOARD_CMD" Enter
515
+ fi
479
516
  # Restart SSH tunnel (port may have changed — tunnel cmd reads lock file dynamically)
480
517
  if [[ -n "$TUNNEL_CMD" ]]; then
481
- tmux send-keys -t "${SESSION}:0.4" "$TUNNEL_CMD" Enter
518
+ tmux send-keys -t "${SESSION}:0.${TUNNEL_PANE:-4}" "$TUNNEL_CMD" Enter
482
519
  fi
483
520
  notify "All processes restarted"
484
521
  else
@@ -0,0 +1,25 @@
1
+ {
2
+ "_comment": "recipe-authoring — runs preflight automatically when a .yaml recipe file is saved. Closes the authoring inner loop: edit → save → instant validation feedback via Claude task.",
3
+ "_usage": "Copy to automation-policy.json. Requires --automation --automation-policy <path> --claude-driver subprocess",
4
+
5
+ "automationSystemPrompt": "Recipe lint bot. ≤10 lines. No preamble. List issues with file:line if available. End with 'Recipe OK' when clean.",
6
+
7
+ "onRecipeSave": {
8
+ "enabled": true,
9
+ "cooldownMs": 10000
10
+ },
11
+
12
+ "onFileSave": {
13
+ "enabled": false,
14
+ "_comment": "Disabled — onRecipeSave handles .yaml files. Enable this for non-recipe YAML if needed.",
15
+ "patterns": ["**/*.yaml", "**/*.yml"],
16
+ "cooldownMs": 10000,
17
+ "prompt": "{{file}} saved. getDiagnostics → report issues ≤5 lines."
18
+ },
19
+
20
+ "onGitCommit": {
21
+ "enabled": true,
22
+ "cooldownMs": 15000,
23
+ "prompt": "Committed recipes on {{branch}}: {{files}}\nFor each modified .yaml file: run preflight and report any issues. If all pass, reply 'All recipes OK'."
24
+ }
25
+ }
@@ -20,6 +20,12 @@
20
20
  "cooldownMs": 10000
21
21
  },
22
22
 
23
+ "onRecipeSave": {
24
+ "enabled": false,
25
+ "_comment": "Fires when any .yaml/.yml file is saved. No prompt needed — default runs patchwork recipe preflight and reports issues. Enable when authoring recipes.",
26
+ "cooldownMs": 10000
27
+ },
28
+
23
29
  "onDiagnosticsError": {
24
30
  "enabled": true,
25
31
  "minSeverity": "error",
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
3
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
4
+ <plist version="1.0">
5
+ <dict>
6
+ <key>Label</key>
7
+ <string>co.patchwork-os.bridge</string>
8
+ <key>ProgramArguments</key>
9
+ <array>
10
+ <string>__BINARY_PATH__</string>
11
+ <string>--claude-driver</string>
12
+ <string>subprocess</string>
13
+ </array>
14
+ <key>RunAtLoad</key>
15
+ <true/>
16
+ <key>KeepAlive</key>
17
+ <true/>
18
+ <key>StandardOutPath</key>
19
+ <string>__HOME__/Library/Logs/patchwork-os/bridge.log</string>
20
+ <key>StandardErrorPath</key>
21
+ <string>__HOME__/Library/Logs/patchwork-os/bridge.err</string>
22
+ <key>EnvironmentVariables</key>
23
+ <dict>
24
+ <key>HOME</key>
25
+ <string>__HOME__</string>
26
+ <key>PATH</key>
27
+ <string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin</string>
28
+ </dict>
29
+ <key>WorkingDirectory</key>
30
+ <string>__HOME__</string>
31
+ <key>ThrottleInterval</key>
32
+ <integer>30</integer>
33
+ </dict>
34
+ </plist>