alchemylab-opencode 1.0.18 → 1.0.19

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 (68) hide show
  1. package/dist/{arktype-aI7TBD0R-HX4BR3RX.js → arktype-aI7TBD0R-LH6JTJZZ.js} +2 -2
  2. package/dist/{arktype-aI7TBD0R-HX4BR3RX.js.map → arktype-aI7TBD0R-LH6JTJZZ.js.map} +1 -1
  3. package/dist/chunk-2FM4SJ4F.js +506 -0
  4. package/dist/chunk-2FM4SJ4F.js.map +7 -0
  5. package/dist/{chunk-O5VWOPCL.js → chunk-4UCKACGO.js} +2 -2
  6. package/dist/{chunk-O5VWOPCL.js.map → chunk-4UCKACGO.js.map} +1 -1
  7. package/dist/{chunk-VL3RSEZ2.js → chunk-AHJSL352.js} +9 -9
  8. package/dist/{chunk-VL3RSEZ2.js.map → chunk-AHJSL352.js.map} +1 -1
  9. package/dist/{chunk-S3PMXQSO.js → chunk-ASJTXZ3G.js} +9 -7
  10. package/dist/{chunk-S3PMXQSO.js.map → chunk-ASJTXZ3G.js.map} +1 -1
  11. package/dist/{chunk-PWFRMDDF.js → chunk-BGADAZN4.js} +1 -1
  12. package/dist/{chunk-YX3AWX2A.js → chunk-E2D2QSW7.js} +67 -12
  13. package/dist/chunk-E2D2QSW7.js.map +7 -0
  14. package/dist/{chunk-3AF5MXLF.js → chunk-FXA7YNMN.js} +5 -5
  15. package/dist/{chunk-3AF5MXLF.js.map → chunk-FXA7YNMN.js.map} +1 -1
  16. package/dist/{chunk-FMP3YLWX.js → chunk-H5AN6PD4.js} +4 -4
  17. package/dist/{chunk-FMP3YLWX.js.map → chunk-H5AN6PD4.js.map} +1 -1
  18. package/dist/{chunk-6UDEKTJV.js → chunk-PV6JYN6T.js} +287 -24
  19. package/dist/chunk-PV6JYN6T.js.map +7 -0
  20. package/dist/{chunk-SNATISLF.js → chunk-RYVKLRJZ.js} +7 -5
  21. package/dist/{chunk-SNATISLF.js.map → chunk-RYVKLRJZ.js.map} +1 -1
  22. package/dist/{chunk-J4KUHHYM.js → chunk-SZM3G6UF.js} +151 -583
  23. package/dist/chunk-SZM3G6UF.js.map +7 -0
  24. package/dist/{chunk-Z6HKGDR4.js → chunk-WHJ5FGUS.js} +43 -15
  25. package/dist/chunk-WHJ5FGUS.js.map +7 -0
  26. package/dist/{default-u_dwuiYb-WOFHQQ3K.js → default-u_dwuiYb-644FBWJS.js} +5 -5
  27. package/dist/{effect-QlVUlMFu-UERLUUQW.js → effect-QlVUlMFu-GLKKNZAC.js} +3 -3
  28. package/dist/{effect-QlVUlMFu-UERLUUQW.js.map → effect-QlVUlMFu-GLKKNZAC.js.map} +1 -1
  29. package/dist/log-TOR3B2F5.js +19 -0
  30. package/dist/{mcp-4SNUY4OD.js → mcp-W2Z3DXFD.js} +4 -3
  31. package/dist/{registry-EQ7TBD6Z.js → registry-FWM7Q3YW.js} +5 -4
  32. package/dist/{run-XIMVXVMO.js → run-PMUMTYTZ.js} +13 -11
  33. package/dist/{run-XIMVXVMO.js.map → run-PMUMTYTZ.js.map} +1 -1
  34. package/dist/{run-service-RE7EK2UK.js → run-service-B4BDQWO3.js} +3 -2
  35. package/dist/run.js +1 -1
  36. package/dist/serve.js +5 -1
  37. package/dist/serve.js.map +2 -2
  38. package/dist/{server-P3JM3FFL.js → server-HETOVWO6.js} +11 -10
  39. package/dist/{session-FV32QIWG.js → session-37HDF4U2.js} +5 -4
  40. package/dist/{share-next-MK3GU4BJ.js → share-next-MP7REE74.js} +6 -5
  41. package/dist/share-next-MP7REE74.js.map +7 -0
  42. package/dist/{sury-CWZTCd75-XC3NCMTP.js → sury-CWZTCd75-SVV5EKIT.js} +3 -3
  43. package/dist/{sury-CWZTCd75-XC3NCMTP.js.map → sury-CWZTCd75-SVV5EKIT.js.map} +1 -1
  44. package/dist/{typebox-Dei93FPO-QOBKW4L7.js → typebox-Dei93FPO-LMTONO64.js} +2 -2
  45. package/dist/{typebox-Dei93FPO-QOBKW4L7.js.map → typebox-Dei93FPO-LMTONO64.js.map} +1 -1
  46. package/dist/{valibot--1zFm7rT-LHHLSLYY.js → valibot--1zFm7rT-HRT4VHTJ.js} +3 -3
  47. package/dist/{valibot--1zFm7rT-LHHLSLYY.js.map → valibot--1zFm7rT-HRT4VHTJ.js.map} +1 -1
  48. package/dist/{valibot-D_HTw1Gn-UR62BIDY.js → valibot-D_HTw1Gn-SZJR3J76.js} +5 -5
  49. package/dist/{valibot-D_HTw1Gn-UR62BIDY.js.map → valibot-D_HTw1Gn-SZJR3J76.js.map} +1 -1
  50. package/dist/{worktree-N3PSXGW4.js → worktree-ADWVQ6IR.js} +7 -6
  51. package/dist/{worktree-N3PSXGW4.js.map → worktree-ADWVQ6IR.js.map} +1 -1
  52. package/dist/{zod-Bwrt9trS-J2GOMA2R.js → zod-Bwrt9trS-5S7UQQDY.js} +3 -3
  53. package/dist/{zod-Bwrt9trS-J2GOMA2R.js.map → zod-Bwrt9trS-5S7UQQDY.js.map} +1 -1
  54. package/dist/{zod-DSgpEGAE-VTXQW6SB.js → zod-DSgpEGAE-X2KPFU7C.js} +7 -7
  55. package/dist/{zod-DSgpEGAE-VTXQW6SB.js.map → zod-DSgpEGAE-X2KPFU7C.js.map} +1 -1
  56. package/package.json +9 -4
  57. package/dist/chunk-6UDEKTJV.js.map +0 -7
  58. package/dist/chunk-J4KUHHYM.js.map +0 -7
  59. package/dist/chunk-YX3AWX2A.js.map +0 -7
  60. package/dist/chunk-Z6HKGDR4.js.map +0 -7
  61. /package/dist/{chunk-PWFRMDDF.js.map → chunk-BGADAZN4.js.map} +0 -0
  62. /package/dist/{default-u_dwuiYb-WOFHQQ3K.js.map → default-u_dwuiYb-644FBWJS.js.map} +0 -0
  63. /package/dist/{mcp-4SNUY4OD.js.map → log-TOR3B2F5.js.map} +0 -0
  64. /package/dist/{registry-EQ7TBD6Z.js.map → mcp-W2Z3DXFD.js.map} +0 -0
  65. /package/dist/{run-service-RE7EK2UK.js.map → registry-FWM7Q3YW.js.map} +0 -0
  66. /package/dist/{server-P3JM3FFL.js.map → run-service-B4BDQWO3.js.map} +0 -0
  67. /package/dist/{session-FV32QIWG.js.map → server-HETOVWO6.js.map} +0 -0
  68. /package/dist/{share-next-MK3GU4BJ.js.map → session-37HDF4U2.js.map} +0 -0
@@ -10,7 +10,7 @@ if (typeof globalThis.__name === 'undefined') { globalThis.__name = (t, n) => {
10
10
  if (typeof globalThis.__export === 'undefined') { globalThis.__export = (t, a) => { for (const k in a) Object.defineProperty(t, k, { get: a[k], enumerable: true }); }; }
11
11
 
12
12
 
13
- // node_modules/quansync/dist/src-C2Pm6gXo.js
13
+ // ../../../../../../../../Users/robin/Documents/alchemy_dev_new/opencode-server/node_modules/quansync/dist/src-C2Pm6gXo.js
14
14
  var GET_IS_ASYNC = /* @__PURE__ */ Symbol.for("quansync.getIsAsync");
15
15
  var QuansyncError = class extends Error {
16
16
  constructor(message = "Unexpected promise in sync context") {
@@ -94,7 +94,7 @@ var getIsAsync = quansync({
94
94
  sync: () => false
95
95
  });
96
96
 
97
- // node_modules/@standard-community/standard-json/dist/index-CLddUTqr.js
97
+ // ../../../../../../../../Users/robin/Documents/alchemy_dev_new/opencode-server/node_modules/@standard-community/standard-json/dist/index-CLddUTqr.js
98
98
  var validationMapper = /* @__PURE__ */ new Map();
99
99
  var UnsupportedVendorError = class extends Error {
100
100
  constructor(vendor) {
@@ -114,22 +114,22 @@ var getToJsonSchemaFn = async (vendor) => {
114
114
  let vendorFnPromise;
115
115
  switch (vendor) {
116
116
  case "arktype":
117
- vendorFnPromise = (await import("./arktype-aI7TBD0R-HX4BR3RX.js")).default();
117
+ vendorFnPromise = (await import("./arktype-aI7TBD0R-LH6JTJZZ.js")).default();
118
118
  break;
119
119
  case "effect":
120
- vendorFnPromise = (await import("./effect-QlVUlMFu-UERLUUQW.js")).default();
120
+ vendorFnPromise = (await import("./effect-QlVUlMFu-GLKKNZAC.js")).default();
121
121
  break;
122
122
  case "sury":
123
- vendorFnPromise = (await import("./sury-CWZTCd75-XC3NCMTP.js")).default();
123
+ vendorFnPromise = (await import("./sury-CWZTCd75-SVV5EKIT.js")).default();
124
124
  break;
125
125
  case "typebox":
126
- vendorFnPromise = (await import("./typebox-Dei93FPO-QOBKW4L7.js")).default();
126
+ vendorFnPromise = (await import("./typebox-Dei93FPO-LMTONO64.js")).default();
127
127
  break;
128
128
  case "valibot":
129
- vendorFnPromise = (await import("./valibot--1zFm7rT-LHHLSLYY.js")).default();
129
+ vendorFnPromise = (await import("./valibot--1zFm7rT-HRT4VHTJ.js")).default();
130
130
  break;
131
131
  case "zod":
132
- vendorFnPromise = (await import("./zod-Bwrt9trS-J2GOMA2R.js")).default();
132
+ vendorFnPromise = (await import("./zod-Bwrt9trS-5S7UQQDY.js")).default();
133
133
  break;
134
134
  default:
135
135
  throw new UnsupportedVendorError(vendor);
@@ -157,4 +157,4 @@ export {
157
157
  MissingDependencyError,
158
158
  toJsonSchema
159
159
  };
160
- //# sourceMappingURL=chunk-VL3RSEZ2.js.map
160
+ //# sourceMappingURL=chunk-AHJSL352.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../node_modules/quansync/dist/src-C2Pm6gXo.js", "../node_modules/@standard-community/standard-json/dist/index-CLddUTqr.js"],
3
+ "sources": ["../../../../../../../../../Users/robin/Documents/alchemy_dev_new/opencode-server/node_modules/quansync/dist/src-C2Pm6gXo.js", "../../../../../../../../../Users/robin/Documents/alchemy_dev_new/opencode-server/node_modules/@standard-community/standard-json/dist/index-CLddUTqr.js"],
4
4
  "sourcesContent": ["//#region src/index.ts\nconst GET_IS_ASYNC = Symbol.for(\"quansync.getIsAsync\");\nvar QuansyncError = class extends Error {\n\tconstructor(message = \"Unexpected promise in sync context\") {\n\t\tsuper(message);\n\t\tthis.name = \"QuansyncError\";\n\t}\n};\nfunction isThenable(value) {\n\treturn value && typeof value === \"object\" && typeof value.then === \"function\";\n}\nfunction isQuansyncGenerator(value) {\n\treturn value && typeof value === \"object\" && typeof value[Symbol.iterator] === \"function\" && \"__quansync\" in value;\n}\nfunction fromObject(options) {\n\tconst generator = function* (...args) {\n\t\tif (yield GET_IS_ASYNC) return yield options.async.apply(this, args);\n\t\treturn options.sync.apply(this, args);\n\t};\n\tfunction fn(...args) {\n\t\tconst iter = generator.apply(this, args);\n\t\titer.then = (...thenArgs) => options.async.apply(this, args).then(...thenArgs);\n\t\titer.__quansync = true;\n\t\treturn iter;\n\t}\n\tfn.sync = options.sync;\n\tfn.async = options.async;\n\treturn fn;\n}\nfunction fromPromise(promise) {\n\treturn fromObject({\n\t\tasync: () => Promise.resolve(promise),\n\t\tsync: () => {\n\t\t\tif (isThenable(promise)) throw new QuansyncError();\n\t\t\treturn promise;\n\t\t}\n\t});\n}\nfunction unwrapYield(value, isAsync) {\n\tif (value === GET_IS_ASYNC) return isAsync;\n\tif (isQuansyncGenerator(value)) return isAsync ? iterateAsync(value) : iterateSync(value);\n\tif (!isAsync && isThenable(value)) throw new QuansyncError();\n\treturn value;\n}\nconst DEFAULT_ON_YIELD = (value) => value;\nfunction iterateSync(generator, onYield = DEFAULT_ON_YIELD) {\n\tlet current = generator.next();\n\twhile (!current.done) try {\n\t\tcurrent = generator.next(unwrapYield(onYield(current.value, false)));\n\t} catch (err) {\n\t\tcurrent = generator.throw(err);\n\t}\n\treturn unwrapYield(current.value);\n}\nasync function iterateAsync(generator, onYield = DEFAULT_ON_YIELD) {\n\tlet current = generator.next();\n\twhile (!current.done) try {\n\t\tcurrent = generator.next(await unwrapYield(onYield(current.value, true), true));\n\t} catch (err) {\n\t\tcurrent = generator.throw(err);\n\t}\n\treturn current.value;\n}\nfunction fromGeneratorFn(generatorFn, options) {\n\treturn fromObject({\n\t\tname: generatorFn.name,\n\t\tasync(...args) {\n\t\t\treturn iterateAsync(generatorFn.apply(this, args), options?.onYield);\n\t\t},\n\t\tsync(...args) {\n\t\t\treturn iterateSync(generatorFn.apply(this, args), options?.onYield);\n\t\t}\n\t});\n}\nfunction quansync(input, options) {\n\tif (isThenable(input)) return fromPromise(input);\n\tif (typeof input === \"function\") return fromGeneratorFn(input, options);\n\telse return fromObject(input);\n}\n/**\n* Converts a promise to a Quansync generator.\n*/\nfunction toGenerator(promise) {\n\tif (isQuansyncGenerator(promise)) return promise;\n\treturn fromPromise(promise)();\n}\n/**\n* @returns `true` if the current context is async, `false` otherwise.\n*/\nconst getIsAsync = quansync({\n\tasync: () => Promise.resolve(true),\n\tsync: () => false\n});\n\n//#endregion\nexport { toGenerator as a, quansync as i, QuansyncError as n, getIsAsync as r, GET_IS_ASYNC as t };", "import { quansync } from 'quansync';\n\nconst validationMapper = /* @__PURE__ */ new Map();\nclass UnsupportedVendorError extends Error {\n constructor(vendor) {\n super(`standard-json: Unsupported schema vendor \"${vendor}\".`);\n }\n}\nclass MissingDependencyError extends Error {\n constructor(packageName) {\n super(`standard-json: Missing dependencies \"${packageName}\".`);\n }\n}\n\nconst getToJsonSchemaFn = async (vendor) => {\n const cached = validationMapper.get(vendor);\n if (cached) {\n return cached;\n }\n let vendorFnPromise;\n switch (vendor) {\n case \"arktype\":\n vendorFnPromise = (await import('./arktype-aI7TBD0R.js')).default();\n break;\n case \"effect\":\n vendorFnPromise = (await import('./effect-QlVUlMFu.js')).default();\n break;\n case \"sury\":\n vendorFnPromise = (await import('./sury-CWZTCd75.js')).default();\n break;\n case \"typebox\":\n vendorFnPromise = (await import('./typebox-Dei93FPO.js')).default();\n break;\n case \"valibot\":\n vendorFnPromise = (await import('./valibot--1zFm7rT.js')).default();\n break;\n case \"zod\":\n vendorFnPromise = (await import('./zod-Bwrt9trS.js')).default();\n break;\n default:\n throw new UnsupportedVendorError(vendor);\n }\n const vendorFn = await vendorFnPromise;\n validationMapper.set(vendor, vendorFn);\n return vendorFn;\n};\n\nconst toJsonSchema = quansync({\n sync: (schema, options) => {\n const vendor = schema[\"~standard\"].vendor;\n const fn = validationMapper.get(vendor);\n if (!fn) {\n throw new UnsupportedVendorError(vendor);\n }\n return fn(schema, options);\n },\n async: async (schema, options) => {\n const fn = await getToJsonSchemaFn(schema[\"~standard\"].vendor);\n return fn(schema, options);\n }\n});\nfunction loadVendor(vendor, fn) {\n validationMapper.set(vendor, fn);\n}\n\nexport { MissingDependencyError as M, loadVendor as l, toJsonSchema as t };\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -11,7 +11,7 @@ if (typeof globalThis.__export === 'undefined') { globalThis.__export = (t, a) =
11
11
 
12
12
  import {
13
13
  ShareNext
14
- } from "./chunk-SNATISLF.js";
14
+ } from "./chunk-RYVKLRJZ.js";
15
15
  import {
16
16
  Command,
17
17
  File,
@@ -23,20 +23,18 @@ import {
23
23
  Slug,
24
24
  Snapshot,
25
25
  WorkspaceID
26
- } from "./chunk-6UDEKTJV.js";
26
+ } from "./chunk-PV6JYN6T.js";
27
27
  import {
28
28
  Bus,
29
29
  errorMessage
30
- } from "./chunk-YX3AWX2A.js";
30
+ } from "./chunk-E2D2QSW7.js";
31
31
  import {
32
32
  AppFileSystem,
33
33
  BusEvent,
34
34
  Database,
35
- Global,
36
35
  GlobalBus,
37
36
  Instance,
38
37
  InstanceState,
39
- Log,
40
38
  NamedError,
41
39
  Project,
42
40
  ProjectID,
@@ -44,7 +42,11 @@ import {
44
42
  db_exports,
45
43
  defaultLayer,
46
44
  makeRuntime
47
- } from "./chunk-J4KUHHYM.js";
45
+ } from "./chunk-SZM3G6UF.js";
46
+ import {
47
+ Global,
48
+ Log
49
+ } from "./chunk-2FM4SJ4F.js";
48
50
 
49
51
  // packages/opencode/src/worktree/index.ts
50
52
  import z2 from "zod";
@@ -725,4 +727,4 @@ export {
725
727
  Worktree,
726
728
  WorkspaceInfo
727
729
  };
728
- //# sourceMappingURL=chunk-S3PMXQSO.js.map
730
+ //# sourceMappingURL=chunk-ASJTXZ3G.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../packages/opencode/src/worktree/index.ts", "../packages/opencode/src/project/vcs.ts", "../packages/opencode/src/project/bootstrap.ts", "../packages/opencode/src/control-plane/types.ts"],
4
4
  "sourcesContent": ["import z from \"zod\"\nimport { NamedError } from \"@opencode-ai/util/error\"\nimport { Global } from \"../global\"\nimport { Instance } from \"../project/instance\"\nimport { InstanceBootstrap } from \"../project/bootstrap\"\nimport { Project } from \"../project/project\"\nimport { Database, eq } from \"../storage/db\"\nimport { ProjectTable } from \"../project/project.sql\"\nimport type { ProjectID } from \"../project/schema\"\nimport { Log } from \"../util/log\"\nimport { Slug } from \"@opencode-ai/util/slug\"\nimport { errorMessage } from \"../util/error\"\nimport { BusEvent } from \"@/bus/bus-event\"\nimport { GlobalBus } from \"@/bus/global\"\nimport { Git } from \"@/git\"\nimport { Effect, Layer, Path, Scope, ServiceMap, Stream } from \"effect\"\nimport { ChildProcess, ChildProcessSpawner } from \"effect/unstable/process\"\nimport { NodePath } from \"@effect/platform-node\"\nimport { AppFileSystem } from \"@/filesystem\"\nimport { makeRuntime } from \"@/effect/run-service\"\nimport * as CrossSpawnSpawner from \"@/effect/cross-spawn-spawner\"\nimport { InstanceState } from \"@/effect/instance-state\"\n\nexport namespace Worktree {\n const log = Log.create({ service: \"worktree\" })\n\n export const Event = {\n Ready: BusEvent.define(\n \"worktree.ready\",\n z.object({\n name: z.string(),\n branch: z.string(),\n }),\n ),\n Failed: BusEvent.define(\n \"worktree.failed\",\n z.object({\n message: z.string(),\n }),\n ),\n }\n\n export const Info = z\n .object({\n name: z.string(),\n branch: z.string(),\n directory: z.string(),\n })\n .meta({\n ref: \"Worktree\",\n })\n\n export type Info = z.infer<typeof Info>\n\n export const CreateInput = z\n .object({\n name: z.string().optional(),\n startCommand: z\n .string()\n .optional()\n .describe(\"Additional startup script to run after the project's start command\"),\n })\n .meta({\n ref: \"WorktreeCreateInput\",\n })\n\n export type CreateInput = z.infer<typeof CreateInput>\n\n export const RemoveInput = z\n .object({\n directory: z.string(),\n })\n .meta({\n ref: \"WorktreeRemoveInput\",\n })\n\n export type RemoveInput = z.infer<typeof RemoveInput>\n\n export const ResetInput = z\n .object({\n directory: z.string(),\n })\n .meta({\n ref: \"WorktreeResetInput\",\n })\n\n export type ResetInput = z.infer<typeof ResetInput>\n\n export const NotGitError = NamedError.create(\n \"WorktreeNotGitError\",\n z.object({\n message: z.string(),\n }),\n )\n\n export const NameGenerationFailedError = NamedError.create(\n \"WorktreeNameGenerationFailedError\",\n z.object({\n message: z.string(),\n }),\n )\n\n export const CreateFailedError = NamedError.create(\n \"WorktreeCreateFailedError\",\n z.object({\n message: z.string(),\n }),\n )\n\n export const StartCommandFailedError = NamedError.create(\n \"WorktreeStartCommandFailedError\",\n z.object({\n message: z.string(),\n }),\n )\n\n export const RemoveFailedError = NamedError.create(\n \"WorktreeRemoveFailedError\",\n z.object({\n message: z.string(),\n }),\n )\n\n export const ResetFailedError = NamedError.create(\n \"WorktreeResetFailedError\",\n z.object({\n message: z.string(),\n }),\n )\n\n function slugify(input: string) {\n return input\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-+/, \"\")\n .replace(/-+$/, \"\")\n }\n\n function failedRemoves(...chunks: string[]) {\n return chunks.filter(Boolean).flatMap((chunk) =>\n chunk\n .split(\"\\n\")\n .map((line) => line.trim())\n .flatMap((line) => {\n const match = line.match(/^warning:\\s+failed to remove\\s+(.+):\\s+/i)\n if (!match) return []\n const value = match[1]?.trim().replace(/^['\"]|['\"]$/g, \"\")\n if (!value) return []\n return [value]\n }),\n )\n }\n\n // ---------------------------------------------------------------------------\n // Effect service\n // ---------------------------------------------------------------------------\n\n export interface Interface {\n readonly makeWorktreeInfo: (name?: string) => Effect.Effect<Info>\n readonly createFromInfo: (info: Info, startCommand?: string) => Effect.Effect<void>\n readonly create: (input?: CreateInput) => Effect.Effect<Info>\n readonly remove: (input: RemoveInput) => Effect.Effect<boolean>\n readonly reset: (input: ResetInput) => Effect.Effect<boolean>\n }\n\n export class Service extends ServiceMap.Service<Service, Interface>()(\"@opencode/Worktree\") {}\n\n type GitResult = { code: number; text: string; stderr: string }\n\n export const layer: Layer.Layer<\n Service,\n never,\n AppFileSystem.Service | Path.Path | ChildProcessSpawner.ChildProcessSpawner | Project.Service\n > = Layer.effect(\n Service,\n Effect.gen(function* () {\n const scope = yield* Scope.Scope\n const fs = yield* AppFileSystem.Service\n const pathSvc = yield* Path.Path\n const spawner = yield* ChildProcessSpawner.ChildProcessSpawner\n const project = yield* Project.Service\n\n const git = Effect.fnUntraced(\n function* (args: string[], opts?: { cwd?: string }) {\n const handle = yield* spawner.spawn(\n ChildProcess.make(\"git\", args, { cwd: opts?.cwd, extendEnv: true, stdin: \"ignore\" }),\n )\n const [text, stderr] = yield* Effect.all(\n [Stream.mkString(Stream.decodeText(handle.stdout)), Stream.mkString(Stream.decodeText(handle.stderr))],\n { concurrency: 2 },\n )\n const code = yield* handle.exitCode\n return { code, text, stderr } satisfies GitResult\n },\n Effect.scoped,\n Effect.catch((e) =>\n Effect.succeed({ code: 1, text: \"\", stderr: e instanceof Error ? e.message : String(e) } satisfies GitResult),\n ),\n )\n\n const MAX_NAME_ATTEMPTS = 26\n const candidate = Effect.fn(\"Worktree.candidate\")(function* (root: string, base?: string) {\n const ctx = yield* InstanceState.context\n for (const attempt of Array.from({ length: MAX_NAME_ATTEMPTS }, (_, i) => i)) {\n const name = base ? (attempt === 0 ? base : `${base}-${Slug.create()}`) : Slug.create()\n const branch = `opencode/${name}`\n const directory = pathSvc.join(root, name)\n\n if (yield* fs.exists(directory).pipe(Effect.orDie)) continue\n\n const ref = `refs/heads/${branch}`\n const branchCheck = yield* git([\"show-ref\", \"--verify\", \"--quiet\", ref], { cwd: ctx.worktree })\n if (branchCheck.code === 0) continue\n\n return Info.parse({ name, branch, directory })\n }\n throw new NameGenerationFailedError({ message: \"Failed to generate a unique worktree name\" })\n })\n\n const makeWorktreeInfo = Effect.fn(\"Worktree.makeWorktreeInfo\")(function* (name?: string) {\n const ctx = yield* InstanceState.context\n if (ctx.project.vcs !== \"git\") {\n throw new NotGitError({ message: \"Worktrees are only supported for git projects\" })\n }\n\n const root = pathSvc.join(Global.Path.data, \"worktree\", ctx.project.id)\n yield* fs.makeDirectory(root, { recursive: true }).pipe(Effect.orDie)\n\n const base = name ? slugify(name) : \"\"\n return yield* candidate(root, base || undefined)\n })\n\n const setup = Effect.fnUntraced(function* (info: Info) {\n const ctx = yield* InstanceState.context\n const created = yield* git([\"worktree\", \"add\", \"--no-checkout\", \"-b\", info.branch, info.directory], {\n cwd: ctx.worktree,\n })\n if (created.code !== 0) {\n throw new CreateFailedError({ message: created.stderr || created.text || \"Failed to create git worktree\" })\n }\n\n yield* project.addSandbox(ctx.project.id, info.directory).pipe(Effect.catch(() => Effect.void))\n })\n\n const boot = Effect.fnUntraced(function* (info: Info, startCommand?: string) {\n const ctx = yield* InstanceState.context\n const projectID = ctx.project.id\n const extra = startCommand?.trim()\n\n const populated = yield* git([\"reset\", \"--hard\"], { cwd: info.directory })\n if (populated.code !== 0) {\n const message = populated.stderr || populated.text || \"Failed to populate worktree\"\n log.error(\"worktree checkout failed\", { directory: info.directory, message })\n GlobalBus.emit(\"event\", {\n directory: info.directory,\n payload: { type: Event.Failed.type, properties: { message } },\n })\n return\n }\n\n const booted = yield* Effect.promise(() =>\n Instance.provide({\n directory: info.directory,\n init: InstanceBootstrap,\n fn: () => undefined,\n })\n .then(() => true)\n .catch((error) => {\n const message = errorMessage(error)\n log.error(\"worktree bootstrap failed\", { directory: info.directory, message })\n GlobalBus.emit(\"event\", {\n directory: info.directory,\n payload: { type: Event.Failed.type, properties: { message } },\n })\n return false\n }),\n )\n if (!booted) return\n\n GlobalBus.emit(\"event\", {\n directory: info.directory,\n payload: {\n type: Event.Ready.type,\n properties: { name: info.name, branch: info.branch },\n },\n })\n\n yield* runStartScripts(info.directory, { projectID, extra })\n })\n\n const createFromInfo = Effect.fn(\"Worktree.createFromInfo\")(function* (info: Info, startCommand?: string) {\n yield* setup(info)\n yield* boot(info, startCommand)\n })\n\n const create = Effect.fn(\"Worktree.create\")(function* (input?: CreateInput) {\n const info = yield* makeWorktreeInfo(input?.name)\n yield* setup(info)\n yield* boot(info, input?.startCommand).pipe(\n Effect.catchCause((cause) => Effect.sync(() => log.error(\"worktree bootstrap failed\", { cause }))),\n Effect.forkIn(scope),\n )\n return info\n })\n\n const canonical = Effect.fnUntraced(function* (input: string) {\n const abs = pathSvc.resolve(input)\n const real = yield* fs.realPath(abs).pipe(Effect.catch(() => Effect.succeed(abs)))\n const normalized = pathSvc.normalize(real)\n return process.platform === \"win32\" ? normalized.toLowerCase() : normalized\n })\n\n function parseWorktreeList(text: string) {\n return text\n .split(\"\\n\")\n .map((line) => line.trim())\n .reduce<{ path?: string; branch?: string }[]>((acc, line) => {\n if (!line) return acc\n if (line.startsWith(\"worktree \")) {\n acc.push({ path: line.slice(\"worktree \".length).trim() })\n return acc\n }\n const current = acc[acc.length - 1]\n if (!current) return acc\n if (line.startsWith(\"branch \")) {\n current.branch = line.slice(\"branch \".length).trim()\n }\n return acc\n }, [])\n }\n\n const locateWorktree = Effect.fnUntraced(function* (\n entries: { path?: string; branch?: string }[],\n directory: string,\n ) {\n for (const item of entries) {\n if (!item.path) continue\n const key = yield* canonical(item.path)\n if (key === directory) return item\n }\n return undefined\n })\n\n function stopFsmonitor(target: string) {\n return fs.exists(target).pipe(\n Effect.orDie,\n Effect.flatMap((exists) => (exists ? git([\"fsmonitor--daemon\", \"stop\"], { cwd: target }) : Effect.void)),\n )\n }\n\n function cleanDirectory(target: string) {\n return Effect.promise(() =>\n import(\"fs/promises\")\n .then((fsp) => fsp.rm(target, { recursive: true, force: true, maxRetries: 5, retryDelay: 100 }))\n .catch((error) => {\n const message = errorMessage(error)\n throw new RemoveFailedError({ message: message || \"Failed to remove git worktree directory\" })\n }),\n )\n }\n\n const remove = Effect.fn(\"Worktree.remove\")(function* (input: RemoveInput) {\n if (Instance.project.vcs !== \"git\") {\n throw new NotGitError({ message: \"Worktrees are only supported for git projects\" })\n }\n\n const directory = yield* canonical(input.directory)\n\n const list = yield* git([\"worktree\", \"list\", \"--porcelain\"], { cwd: Instance.worktree })\n if (list.code !== 0) {\n throw new RemoveFailedError({ message: list.stderr || list.text || \"Failed to read git worktrees\" })\n }\n\n const entries = parseWorktreeList(list.text)\n const entry = yield* locateWorktree(entries, directory)\n\n if (!entry?.path) {\n const directoryExists = yield* fs.exists(directory).pipe(Effect.orDie)\n if (directoryExists) {\n yield* stopFsmonitor(directory)\n yield* cleanDirectory(directory)\n }\n return true\n }\n\n yield* stopFsmonitor(entry.path)\n const removed = yield* git([\"worktree\", \"remove\", \"--force\", entry.path], { cwd: Instance.worktree })\n if (removed.code !== 0) {\n const next = yield* git([\"worktree\", \"list\", \"--porcelain\"], { cwd: Instance.worktree })\n if (next.code !== 0) {\n throw new RemoveFailedError({\n message: removed.stderr || removed.text || next.stderr || next.text || \"Failed to remove git worktree\",\n })\n }\n\n const stale = yield* locateWorktree(parseWorktreeList(next.text), directory)\n if (stale?.path) {\n throw new RemoveFailedError({ message: removed.stderr || removed.text || \"Failed to remove git worktree\" })\n }\n }\n\n yield* cleanDirectory(entry.path)\n\n const branch = entry.branch?.replace(/^refs\\/heads\\//, \"\")\n if (branch) {\n const deleted = yield* git([\"branch\", \"-D\", branch], { cwd: Instance.worktree })\n if (deleted.code !== 0) {\n throw new RemoveFailedError({\n message: deleted.stderr || deleted.text || \"Failed to delete worktree branch\",\n })\n }\n }\n\n return true\n })\n\n const gitExpect = Effect.fnUntraced(function* (\n args: string[],\n opts: { cwd: string },\n error: (r: GitResult) => Error,\n ) {\n const result = yield* git(args, opts)\n if (result.code !== 0) throw error(result)\n return result\n })\n\n const runStartCommand = Effect.fnUntraced(\n function* (directory: string, cmd: string) {\n const [shell, args] = process.platform === \"win32\" ? [\"cmd\", [\"/c\", cmd]] : [\"bash\", [\"-lc\", cmd]]\n const handle = yield* spawner.spawn(\n ChildProcess.make(shell, args, { cwd: directory, extendEnv: true, stdin: \"ignore\" }),\n )\n // Drain stdout, capture stderr for error reporting\n const [, stderr] = yield* Effect.all(\n [Stream.runDrain(handle.stdout), Stream.mkString(Stream.decodeText(handle.stderr))],\n { concurrency: 2 },\n ).pipe(Effect.orDie)\n const code = yield* handle.exitCode\n return { code, stderr }\n },\n Effect.scoped,\n Effect.catch(() => Effect.succeed({ code: 1, stderr: \"\" })),\n )\n\n const runStartScript = Effect.fnUntraced(function* (directory: string, cmd: string, kind: string) {\n const text = cmd.trim()\n if (!text) return true\n const result = yield* runStartCommand(directory, text)\n if (result.code === 0) return true\n log.error(\"worktree start command failed\", { kind, directory, message: result.stderr })\n return false\n })\n\n const runStartScripts = Effect.fnUntraced(function* (\n directory: string,\n input: { projectID: ProjectID; extra?: string },\n ) {\n const row = yield* Effect.sync(() =>\n Database.use((db) => db.select().from(ProjectTable).where(eq(ProjectTable.id, input.projectID)).get()),\n )\n const project = row ? Project.fromRow(row) : undefined\n const startup = project?.commands?.start?.trim() ?? \"\"\n const ok = yield* runStartScript(directory, startup, \"project\")\n if (!ok) return false\n yield* runStartScript(directory, input.extra ?? \"\", \"worktree\")\n return true\n })\n\n const prune = Effect.fnUntraced(function* (root: string, entries: string[]) {\n const base = yield* canonical(root)\n yield* Effect.forEach(\n entries,\n (entry) =>\n Effect.gen(function* () {\n const target = yield* canonical(pathSvc.resolve(root, entry))\n if (target === base) return\n if (!target.startsWith(`${base}${pathSvc.sep}`)) return\n yield* fs.remove(target, { recursive: true }).pipe(Effect.ignore)\n }),\n { concurrency: \"unbounded\" },\n )\n })\n\n const sweep = Effect.fnUntraced(function* (root: string) {\n const first = yield* git([\"clean\", \"-ffdx\"], { cwd: root })\n if (first.code === 0) return first\n\n const entries = failedRemoves(first.stderr, first.text)\n if (!entries.length) return first\n\n yield* prune(root, entries)\n return yield* git([\"clean\", \"-ffdx\"], { cwd: root })\n })\n\n const reset = Effect.fn(\"Worktree.reset\")(function* (input: ResetInput) {\n if (Instance.project.vcs !== \"git\") {\n throw new NotGitError({ message: \"Worktrees are only supported for git projects\" })\n }\n\n const directory = yield* canonical(input.directory)\n const primary = yield* canonical(Instance.worktree)\n if (directory === primary) {\n throw new ResetFailedError({ message: \"Cannot reset the primary workspace\" })\n }\n\n const list = yield* git([\"worktree\", \"list\", \"--porcelain\"], { cwd: Instance.worktree })\n if (list.code !== 0) {\n throw new ResetFailedError({ message: list.stderr || list.text || \"Failed to read git worktrees\" })\n }\n\n const entry = yield* locateWorktree(parseWorktreeList(list.text), directory)\n if (!entry?.path) {\n throw new ResetFailedError({ message: \"Worktree not found\" })\n }\n\n const worktreePath = entry.path\n\n const base = yield* Effect.promise(() => Git.defaultBranch(Instance.worktree))\n if (!base) {\n throw new ResetFailedError({ message: \"Default branch not found\" })\n }\n\n const sep = base.ref.indexOf(\"/\")\n if (base.ref !== base.name && sep > 0) {\n const remote = base.ref.slice(0, sep)\n const branch = base.ref.slice(sep + 1)\n yield* gitExpect(\n [\"fetch\", remote, branch],\n { cwd: Instance.worktree },\n (r) => new ResetFailedError({ message: r.stderr || r.text || `Failed to fetch ${base.ref}` }),\n )\n }\n\n yield* gitExpect(\n [\"reset\", \"--hard\", base.ref],\n { cwd: worktreePath },\n (r) => new ResetFailedError({ message: r.stderr || r.text || \"Failed to reset worktree to target\" }),\n )\n\n const cleanResult = yield* sweep(worktreePath)\n if (cleanResult.code !== 0) {\n throw new ResetFailedError({ message: cleanResult.stderr || cleanResult.text || \"Failed to clean worktree\" })\n }\n\n yield* gitExpect(\n [\"submodule\", \"update\", \"--init\", \"--recursive\", \"--force\"],\n { cwd: worktreePath },\n (r) => new ResetFailedError({ message: r.stderr || r.text || \"Failed to update submodules\" }),\n )\n\n yield* gitExpect(\n [\"submodule\", \"foreach\", \"--recursive\", \"git\", \"reset\", \"--hard\"],\n { cwd: worktreePath },\n (r) => new ResetFailedError({ message: r.stderr || r.text || \"Failed to reset submodules\" }),\n )\n\n yield* gitExpect(\n [\"submodule\", \"foreach\", \"--recursive\", \"git\", \"clean\", \"-fdx\"],\n { cwd: worktreePath },\n (r) => new ResetFailedError({ message: r.stderr || r.text || \"Failed to clean submodules\" }),\n )\n\n const status = yield* git([\"-c\", \"core.fsmonitor=false\", \"status\", \"--porcelain=v1\"], { cwd: worktreePath })\n if (status.code !== 0) {\n throw new ResetFailedError({ message: status.stderr || status.text || \"Failed to read git status\" })\n }\n\n if (status.text.trim()) {\n throw new ResetFailedError({ message: `Worktree reset left local changes:\\n${status.text.trim()}` })\n }\n\n yield* runStartScripts(worktreePath, { projectID: Instance.project.id }).pipe(\n Effect.catchCause((cause) => Effect.sync(() => log.error(\"worktree start task failed\", { cause }))),\n Effect.forkIn(scope),\n )\n\n return true\n })\n\n return Service.of({ makeWorktreeInfo, createFromInfo, create, remove, reset })\n }),\n )\n\n const defaultLayer = layer.pipe(\n Layer.provide(CrossSpawnSpawner.defaultLayer),\n Layer.provide(Project.defaultLayer),\n Layer.provide(AppFileSystem.defaultLayer),\n Layer.provide(NodePath.layer),\n )\n const { runPromise } = makeRuntime(Service, defaultLayer)\n\n export async function makeWorktreeInfo(name?: string) {\n return runPromise((svc) => svc.makeWorktreeInfo(name))\n }\n\n export async function createFromInfo(info: Info, startCommand?: string) {\n return runPromise((svc) => svc.createFromInfo(info, startCommand))\n }\n\n export async function create(input?: CreateInput) {\n return runPromise((svc) => svc.create(input))\n }\n\n export async function remove(input: RemoveInput) {\n return runPromise((svc) => svc.remove(input))\n }\n\n export async function reset(input: ResetInput) {\n return runPromise((svc) => svc.reset(input))\n }\n}\n", "import { Effect, Layer, ServiceMap, Stream } from \"effect\"\nimport path from \"path\"\nimport { Bus } from \"@/bus\"\nimport { BusEvent } from \"@/bus/bus-event\"\nimport { InstanceState } from \"@/effect/instance-state\"\nimport { makeRuntime } from \"@/effect/run-service\"\nimport { AppFileSystem } from \"@/filesystem\"\nimport { FileWatcher } from \"@/file/watcher\"\nimport { Git } from \"@/git\"\nimport { Snapshot } from \"@/snapshot\"\nimport { Log } from \"@/util/log\"\nimport { Instance } from \"./instance\"\nimport z from \"zod\"\n\nexport namespace Vcs {\n const log = Log.create({ service: \"vcs\" })\n\n const count = (text: string) => {\n if (!text) return 0\n if (!text.endsWith(\"\\n\")) return text.split(\"\\n\").length\n return text.slice(0, -1).split(\"\\n\").length\n }\n\n const work = Effect.fnUntraced(function* (fs: AppFileSystem.Interface, cwd: string, file: string) {\n const full = path.join(cwd, file)\n if (!(yield* fs.exists(full).pipe(Effect.orDie))) return \"\"\n const buf = yield* fs.readFile(full).pipe(Effect.catch(() => Effect.succeed(new Uint8Array())))\n if (Buffer.from(buf).includes(0)) return \"\"\n return Buffer.from(buf).toString(\"utf8\")\n })\n\n const nums = (list: Git.Stat[]) =>\n new Map(list.map((item) => [item.file, { additions: item.additions, deletions: item.deletions }] as const))\n\n const merge = (...lists: Git.Item[][]) => {\n const out = new Map<string, Git.Item>()\n lists.flat().forEach((item) => {\n if (!out.has(item.file)) out.set(item.file, item)\n })\n return [...out.values()]\n }\n\n const files = Effect.fnUntraced(function* (\n fs: AppFileSystem.Interface,\n git: Git.Interface,\n cwd: string,\n ref: string | undefined,\n list: Git.Item[],\n map: Map<string, { additions: number; deletions: number }>,\n ) {\n const base = ref ? yield* git.prefix(cwd) : \"\"\n const next = yield* Effect.forEach(\n list,\n (item) =>\n Effect.gen(function* () {\n const before = item.status === \"added\" || !ref ? \"\" : yield* git.show(cwd, ref, item.file, base)\n const after = item.status === \"deleted\" ? \"\" : yield* work(fs, cwd, item.file)\n const stat = map.get(item.file)\n return {\n file: item.file,\n before,\n after,\n additions: stat?.additions ?? (item.status === \"added\" ? count(after) : 0),\n deletions: stat?.deletions ?? (item.status === \"deleted\" ? count(before) : 0),\n status: item.status,\n } satisfies Snapshot.FileDiff\n }),\n { concurrency: 8 },\n )\n return next.toSorted((a, b) => a.file.localeCompare(b.file))\n })\n\n const track = Effect.fnUntraced(function* (\n fs: AppFileSystem.Interface,\n git: Git.Interface,\n cwd: string,\n ref: string | undefined,\n ) {\n if (!ref) return yield* files(fs, git, cwd, ref, yield* git.status(cwd), new Map())\n const [list, stats] = yield* Effect.all([git.status(cwd), git.stats(cwd, ref)], { concurrency: 2 })\n return yield* files(fs, git, cwd, ref, list, nums(stats))\n })\n\n const compare = Effect.fnUntraced(function* (\n fs: AppFileSystem.Interface,\n git: Git.Interface,\n cwd: string,\n ref: string,\n ) {\n const [list, stats, extra] = yield* Effect.all([git.diff(cwd, ref), git.stats(cwd, ref), git.status(cwd)], {\n concurrency: 3,\n })\n return yield* files(\n fs,\n git,\n cwd,\n ref,\n merge(\n list,\n extra.filter((item) => item.code === \"??\"),\n ),\n nums(stats),\n )\n })\n\n export const Mode = z.enum([\"git\", \"branch\"])\n export type Mode = z.infer<typeof Mode>\n\n export const Event = {\n BranchUpdated: BusEvent.define(\n \"vcs.branch.updated\",\n z.object({\n branch: z.string().optional(),\n }),\n ),\n }\n\n export const Info = z\n .object({\n branch: z.string().optional(),\n default_branch: z.string().optional(),\n })\n .meta({\n ref: \"VcsInfo\",\n })\n export type Info = z.infer<typeof Info>\n\n export interface Interface {\n readonly init: () => Effect.Effect<void>\n readonly branch: () => Effect.Effect<string | undefined>\n readonly defaultBranch: () => Effect.Effect<string | undefined>\n readonly diff: (mode: Mode) => Effect.Effect<Snapshot.FileDiff[]>\n }\n\n interface State {\n current: string | undefined\n root: Git.Base | undefined\n }\n\n export class Service extends ServiceMap.Service<Service, Interface>()(\"@opencode/Vcs\") {}\n\n export const layer: Layer.Layer<Service, never, AppFileSystem.Service | Git.Service | Bus.Service> = Layer.effect(\n Service,\n Effect.gen(function* () {\n const fs = yield* AppFileSystem.Service\n const git = yield* Git.Service\n const bus = yield* Bus.Service\n\n const state = yield* InstanceState.make<State>(\n Effect.fn(\"Vcs.state\")((ctx) =>\n Effect.gen(function* () {\n if (ctx.project.vcs !== \"git\") {\n return { current: undefined, root: undefined }\n }\n\n const get = Effect.fnUntraced(function* () {\n return yield* git.branch(ctx.directory)\n })\n const [current, root] = yield* Effect.all([git.branch(ctx.directory), git.defaultBranch(ctx.directory)], {\n concurrency: 2,\n })\n const value = { current, root }\n log.info(\"initialized\", { branch: value.current, default_branch: value.root?.name })\n\n yield* bus.subscribe(FileWatcher.Event.Updated).pipe(\n Stream.filter((evt) => evt.properties.file.endsWith(\"HEAD\")),\n Stream.runForEach((_evt) =>\n Effect.gen(function* () {\n const next = yield* get()\n if (next !== value.current) {\n log.info(\"branch changed\", { from: value.current, to: next })\n value.current = next\n yield* bus.publish(Event.BranchUpdated, { branch: next })\n }\n }),\n ),\n Effect.forkScoped,\n )\n\n return value\n }),\n ),\n )\n\n return Service.of({\n init: Effect.fn(\"Vcs.init\")(function* () {\n yield* InstanceState.get(state)\n }),\n branch: Effect.fn(\"Vcs.branch\")(function* () {\n return yield* InstanceState.use(state, (x) => x.current)\n }),\n defaultBranch: Effect.fn(\"Vcs.defaultBranch\")(function* () {\n return yield* InstanceState.use(state, (x) => x.root?.name)\n }),\n diff: Effect.fn(\"Vcs.diff\")(function* (mode: Mode) {\n const value = yield* InstanceState.get(state)\n if (Instance.project.vcs !== \"git\") return []\n if (mode === \"git\") {\n return yield* track(\n fs,\n git,\n Instance.directory,\n (yield* git.hasHead(Instance.directory)) ? \"HEAD\" : undefined,\n )\n }\n\n if (!value.root) return []\n if (value.current && value.current === value.root.name) return []\n const ref = yield* git.mergeBase(Instance.directory, value.root.ref)\n if (!ref) return []\n return yield* compare(fs, git, Instance.directory, ref)\n }),\n })\n }),\n )\n\n const defaultLayer = layer.pipe(\n Layer.provide(Git.defaultLayer),\n Layer.provide(AppFileSystem.defaultLayer),\n Layer.provide(Bus.layer),\n )\n\n const { runPromise } = makeRuntime(Service, defaultLayer)\n\n export async function init() {\n return runPromise((svc) => svc.init())\n }\n\n export async function branch() {\n return runPromise((svc) => svc.branch())\n }\n\n export async function defaultBranch() {\n return runPromise((svc) => svc.defaultBranch())\n }\n\n export async function diff(mode: Mode) {\n return runPromise((svc) => svc.diff(mode))\n }\n}\n", "import { Plugin } from \"../plugin\"\nimport { Format } from \"../format\"\nimport { LSP } from \"../lsp\"\nimport { File } from \"../file\"\nimport { FileWatcher } from \"../file/watcher\"\nimport { Snapshot } from \"../snapshot\"\nimport { Project } from \"./project\"\nimport { Vcs } from \"./vcs\"\nimport { Bus } from \"../bus\"\nimport { Command } from \"../command\"\nimport { Instance } from \"./instance\"\nimport { Log } from \"@/util/log\"\nimport { ShareNext } from \"@/share/share-next\"\n\nexport async function InstanceBootstrap() {\n Log.Default.info(\"bootstrapping\", { directory: Instance.directory })\n await Plugin.init()\n ShareNext.init()\n Format.init()\n await LSP.init()\n File.init()\n FileWatcher.init()\n Vcs.init()\n Snapshot.init()\n\n Bus.subscribe(Command.Event.Executed, async (payload) => {\n if (payload.properties.name === Command.Default.INIT) {\n Project.setInitialized(Instance.project.id)\n }\n })\n}\n", "import z from \"zod\"\nimport { ProjectID } from \"@/project/schema\"\nimport { WorkspaceID } from \"./schema\"\n\nexport const WorkspaceInfo = z.object({\n id: WorkspaceID.zod,\n type: z.string(),\n branch: z.string().nullable(),\n name: z.string().nullable(),\n directory: z.string().nullable(),\n extra: z.unknown().nullable(),\n projectID: ProjectID.zod,\n})\nexport type WorkspaceInfo = z.infer<typeof WorkspaceInfo>\n\nexport type Target =\n | {\n type: \"local\"\n directory: string\n }\n | {\n type: \"remote\"\n url: string | URL\n headers?: HeadersInit\n }\n\nexport type Adaptor = {\n configure(input: WorkspaceInfo): WorkspaceInfo | Promise<WorkspaceInfo>\n create(config: WorkspaceInfo, from?: WorkspaceInfo): Promise<void>\n remove(config: WorkspaceInfo): Promise<void>\n target(config: WorkspaceInfo): Target | Promise<Target>\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["z", "Vcs", "defaultLayer", "Effect", "Layer", "ServiceMap", "Stream", "Worktree", "z", "ServiceMap", "Layer", "Effect", "Stream", "makeWorktreeInfo", "createFromInfo", "create", "remove", "project", "reset", "defaultLayer", "z", "z"]
7
7
  }
@@ -9,4 +9,4 @@ if (typeof globalThis.Bun === 'undefined') {
9
9
  if (typeof globalThis.__name === 'undefined') { globalThis.__name = (t, n) => { Object.defineProperty(t, 'name', { value: n, configurable: true }); return t; }; }
10
10
  if (typeof globalThis.__export === 'undefined') { globalThis.__export = (t, a) => { for (const k in a) Object.defineProperty(t, k, { get: a[k], enumerable: true }); }; }
11
11
 
12
- //# sourceMappingURL=chunk-PWFRMDDF.js.map
12
+ //# sourceMappingURL=chunk-BGADAZN4.js.map
@@ -14,14 +14,10 @@ import {
14
14
  BusEvent,
15
15
  CHANNEL,
16
16
  Database,
17
- Filesystem,
18
17
  Flag,
19
- Glob,
20
- Global,
21
18
  GlobalBus,
22
19
  Instance,
23
20
  InstanceState,
24
- Log,
25
21
  NamedError,
26
22
  Timestamps,
27
23
  VERSION,
@@ -31,13 +27,20 @@ import {
31
27
  lazy,
32
28
  makeRuntime,
33
29
  which
34
- } from "./chunk-J4KUHHYM.js";
30
+ } from "./chunk-SZM3G6UF.js";
35
31
  import {
36
32
  SessionID
37
33
  } from "./chunk-COCF34ZS.js";
38
34
  import {
39
35
  withStatics
40
36
  } from "./chunk-BI5OUHTQ.js";
37
+ import {
38
+ Filesystem,
39
+ Glob,
40
+ Global,
41
+ Log,
42
+ ProtectedRoot
43
+ } from "./chunk-2FM4SJ4F.js";
41
44
  import {
42
45
  __callDispose,
43
46
  __using
@@ -4333,7 +4336,7 @@ var Config;
4333
4336
  })) {
4334
4337
  const md = await ConfigMarkdown.parse(item).catch(async (err) => {
4335
4338
  const message = ConfigMarkdown.FrontmatterError.isInstance(err) ? err.data.message : `Failed to parse command ${item}`;
4336
- const { Session } = await import("./session-FV32QIWG.js");
4339
+ const { Session } = await import("./session-37HDF4U2.js");
4337
4340
  Bus.publish(Session.Event.Error, { error: new NamedError.Unknown({ message }).toObject() });
4338
4341
  log3.error("failed to load command", { command: item, err });
4339
4342
  return void 0;
@@ -4366,7 +4369,7 @@ var Config;
4366
4369
  })) {
4367
4370
  const md = await ConfigMarkdown.parse(item).catch(async (err) => {
4368
4371
  const message = ConfigMarkdown.FrontmatterError.isInstance(err) ? err.data.message : `Failed to parse agent ${item}`;
4369
- const { Session } = await import("./session-FV32QIWG.js");
4372
+ const { Session } = await import("./session-37HDF4U2.js");
4370
4373
  Bus.publish(Session.Event.Error, { error: new NamedError.Unknown({ message }).toObject() });
4371
4374
  log3.error("failed to load agent", { agent: item, err });
4372
4375
  return void 0;
@@ -4442,7 +4445,7 @@ var Config;
4442
4445
  })) {
4443
4446
  const md = await ConfigMarkdown.parse(item).catch(async (err) => {
4444
4447
  const message = ConfigMarkdown.FrontmatterError.isInstance(err) ? err.data.message : `Failed to parse mode ${item}`;
4445
- const { Session } = await import("./session-FV32QIWG.js");
4448
+ const { Session } = await import("./session-37HDF4U2.js");
4446
4449
  Bus.publish(Session.Event.Error, { error: new NamedError.Unknown({ message }).toObject() });
4447
4450
  log3.error("failed to load mode", { mode: item, err });
4448
4451
  return void 0;
@@ -5304,6 +5307,7 @@ ${errorDetails}
5304
5307
  const update2 = Effect6.fn("Config.update")(function* (config) {
5305
5308
  const dir = yield* InstanceState.directory;
5306
5309
  const file2 = path11.join(dir, "config.json");
5310
+ ProtectedRoot.assert(file2, "config update");
5307
5311
  const existing = yield* loadFile(file2);
5308
5312
  yield* fs2.writeFileString(file2, JSON.stringify(mergeDeep(writable(existing), writable(config)), null, 2)).pipe(Effect6.orDie);
5309
5313
  yield* Effect6.promise(() => Instance.dispose());
@@ -5912,6 +5916,11 @@ var MCP;
5912
5916
  mimeType: z12.string().optional(),
5913
5917
  client: z12.string()
5914
5918
  }).meta({ ref: "McpResource" });
5919
+ MCP2.ToolManifestEntry = z12.object({
5920
+ name: z12.string(),
5921
+ description: z12.string().optional(),
5922
+ readOnly: z12.boolean().optional()
5923
+ }).meta({ ref: "MCPToolManifestEntry" });
5915
5924
  MCP2.ToolsChanged = BusEvent.define(
5916
5925
  "mcp.tools.changed",
5917
5926
  z12.object({
@@ -6227,6 +6236,17 @@ var MCP;
6227
6236
  Effect8.scoped,
6228
6237
  Effect8.catch(() => Effect8.succeed([]))
6229
6238
  );
6239
+ function watchClose(s, name, client) {
6240
+ const previous = client.onclose;
6241
+ client.onclose = () => {
6242
+ previous?.();
6243
+ if (s.clients[name] !== client) return;
6244
+ log3.warn("mcp server closed its connection", { name });
6245
+ delete s.clients[name];
6246
+ delete s.defs[name];
6247
+ s.status[name] = { status: "failed", error: "The server closed the connection" };
6248
+ };
6249
+ }
6230
6250
  function watch(s, name, client, timeout) {
6231
6251
  client.setNotificationHandler(ToolListChangedNotificationSchema, async () => {
6232
6252
  log3.info("tools list changed notification received", { server: name });
@@ -6238,10 +6258,19 @@ var MCP;
6238
6258
  await Effect8.runPromise(bus.publish(MCP2.ToolsChanged, { server: name }).pipe(Effect8.ignore));
6239
6259
  });
6240
6260
  }
6261
+ const runtimeServers = /* @__PURE__ */ new Map();
6262
+ const runtimeFor = (directory) => {
6263
+ let entry = runtimeServers.get(directory);
6264
+ if (!entry) {
6265
+ entry = /* @__PURE__ */ new Map();
6266
+ runtimeServers.set(directory, entry);
6267
+ }
6268
+ return entry;
6269
+ };
6241
6270
  const state = yield* InstanceState.make(
6242
- Effect8.fn("MCP.state")(function* () {
6271
+ Effect8.fn("MCP.state")(function* (ctx) {
6243
6272
  const cfg = yield* cfgSvc.get();
6244
- const config = cfg.mcp ?? {};
6273
+ const config = { ...Object.fromEntries(runtimeFor(ctx.directory)), ...cfg.mcp ?? {} };
6245
6274
  const s = {
6246
6275
  status: {},
6247
6276
  clients: {},
@@ -6265,6 +6294,7 @@ var MCP;
6265
6294
  s.clients[key] = result.mcpClient;
6266
6295
  s.defs[key] = result.defs;
6267
6296
  watch(s, key, result.mcpClient, mcp.timeout);
6297
+ watchClose(s, key, result.mcpClient);
6268
6298
  }
6269
6299
  }),
6270
6300
  { concurrency: "unbounded" }
@@ -6298,12 +6328,14 @@ var MCP;
6298
6328
  const client = s.clients[name];
6299
6329
  delete s.defs[name];
6300
6330
  if (!client) return Effect8.void;
6331
+ client.onclose = void 0;
6301
6332
  return Effect8.tryPromise(() => client.close()).pipe(Effect8.ignore);
6302
6333
  }
6303
6334
  const status2 = Effect8.fn("MCP.status")(function* () {
6304
6335
  const s = yield* InstanceState.get(state);
6305
6336
  const cfg = yield* cfgSvc.get();
6306
- const config = cfg.mcp ?? {};
6337
+ const directory = yield* InstanceState.directory;
6338
+ const config = { ...Object.fromEntries(runtimeFor(directory)), ...cfg.mcp ?? {} };
6307
6339
  const result = {};
6308
6340
  for (const [key, mcp] of Object.entries(config)) {
6309
6341
  if (!isMcpConfigured(mcp)) continue;
@@ -6328,10 +6360,13 @@ var MCP;
6328
6360
  s.clients[name] = result.mcpClient;
6329
6361
  s.defs[name] = result.defs;
6330
6362
  watch(s, name, result.mcpClient, mcp.timeout);
6363
+ watchClose(s, name, result.mcpClient);
6331
6364
  return result.status;
6332
6365
  });
6333
6366
  const add2 = Effect8.fn("MCP.add")(function* (name, mcp) {
6334
6367
  yield* createAndStore(name, mcp);
6368
+ const directory = yield* InstanceState.directory;
6369
+ runtimeFor(directory).set(name, mcp);
6335
6370
  const s = yield* InstanceState.get(state);
6336
6371
  return { status: s.status };
6337
6372
  });
@@ -6348,6 +6383,8 @@ var MCP;
6348
6383
  yield* closeClient(s, name);
6349
6384
  delete s.clients[name];
6350
6385
  s.status[name] = { status: "disabled" };
6386
+ const directory = yield* InstanceState.directory;
6387
+ runtimeFor(directory).delete(name);
6351
6388
  });
6352
6389
  const tools2 = Effect8.fn("MCP.tools")(function* () {
6353
6390
  const result = {};
@@ -6377,6 +6414,22 @@ var MCP;
6377
6414
  );
6378
6415
  return result;
6379
6416
  });
6417
+ const toolManifest2 = Effect8.fn("MCP.toolManifest")(function* () {
6418
+ const s = yield* InstanceState.get(state);
6419
+ const result = {};
6420
+ for (const [clientName] of Object.entries(s.clients).filter(
6421
+ ([name]) => s.status[name]?.status === "connected"
6422
+ )) {
6423
+ const listed = s.defs[clientName];
6424
+ if (!listed) continue;
6425
+ result[clientName] = listed.map((t) => ({
6426
+ name: t.name,
6427
+ ...t.description ? { description: t.description } : {},
6428
+ ...typeof t.annotations?.readOnlyHint === "boolean" ? { readOnly: t.annotations.readOnlyHint } : {}
6429
+ }));
6430
+ }
6431
+ return result;
6432
+ });
6380
6433
  function collectFromConnected(s, listFn, label) {
6381
6434
  return Effect8.forEach(
6382
6435
  Object.entries(s.clients).filter(([name]) => s.status[name]?.status === "connected"),
@@ -6543,6 +6596,7 @@ var MCP;
6543
6596
  status: status2,
6544
6597
  clients,
6545
6598
  tools: tools2,
6599
+ defs: toolManifest2,
6546
6600
  prompts: prompts2,
6547
6601
  resources: resources2,
6548
6602
  add: add2,
@@ -6570,6 +6624,7 @@ var MCP;
6570
6624
  const { runPromise } = makeRuntime(Service, MCP2.defaultLayer);
6571
6625
  MCP2.status = async () => runPromise((svc) => svc.status());
6572
6626
  MCP2.tools = async () => runPromise((svc) => svc.tools());
6627
+ MCP2.toolManifest = async () => runPromise((svc) => svc.defs());
6573
6628
  MCP2.prompts = async () => runPromise((svc) => svc.prompts());
6574
6629
  MCP2.resources = async () => runPromise((svc) => svc.resources());
6575
6630
  MCP2.add = async (name, mcp) => runPromise((svc) => svc.add(name, mcp));
@@ -6617,4 +6672,4 @@ export {
6617
6672
  MCP,
6618
6673
  Config
6619
6674
  };
6620
- //# sourceMappingURL=chunk-YX3AWX2A.js.map
6675
+ //# sourceMappingURL=chunk-E2D2QSW7.js.map