@agentxm/client-core 0.19.3 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/src/unstable/commands/index.d.ts +1 -1
  2. package/dist/src/unstable/commands/index.d.ts.map +1 -1
  3. package/dist/src/unstable/commands/index.js.map +1 -1
  4. package/dist/src/unstable/commands/install-artifact.d.ts.map +1 -1
  5. package/dist/src/unstable/commands/install-artifact.js +6 -2
  6. package/dist/src/unstable/commands/install-artifact.js.map +1 -1
  7. package/dist/src/unstable/commands/manager.d.ts.map +1 -1
  8. package/dist/src/unstable/commands/manager.js +33 -5
  9. package/dist/src/unstable/commands/manager.js.map +1 -1
  10. package/dist/src/unstable/commands/operations/disable.js +1 -1
  11. package/dist/src/unstable/commands/operations/disable.js.map +1 -1
  12. package/dist/src/unstable/commands/operations/enable.js +1 -1
  13. package/dist/src/unstable/commands/operations/enable.js.map +1 -1
  14. package/dist/src/unstable/commands/operations/install.d.ts.map +1 -1
  15. package/dist/src/unstable/commands/operations/install.js +27 -1
  16. package/dist/src/unstable/commands/operations/install.js.map +1 -1
  17. package/dist/src/unstable/commands/reconciliation-adapter.d.ts.map +1 -1
  18. package/dist/src/unstable/commands/reconciliation-adapter.js +3 -1
  19. package/dist/src/unstable/commands/reconciliation-adapter.js.map +1 -1
  20. package/dist/src/unstable/commands/refs.d.ts +5 -3
  21. package/dist/src/unstable/commands/refs.d.ts.map +1 -1
  22. package/dist/src/unstable/extensions/canonical-path.d.ts +1 -1
  23. package/dist/src/unstable/extensions/canonical-path.d.ts.map +1 -1
  24. package/dist/src/unstable/extensions/canonical-path.js +1 -1
  25. package/dist/src/unstable/extensions/canonical-path.js.map +1 -1
  26. package/dist/src/unstable/extensions/extension-paths.d.ts +1 -1
  27. package/dist/src/unstable/extensions/extension-paths.d.ts.map +1 -1
  28. package/dist/src/unstable/extensions/extension-paths.js +1 -1
  29. package/dist/src/unstable/extensions/extension-paths.js.map +1 -1
  30. package/dist/src/unstable/extensions/index.d.ts +1 -1
  31. package/dist/src/unstable/extensions/index.d.ts.map +1 -1
  32. package/dist/src/unstable/extensions/index.js.map +1 -1
  33. package/dist/src/unstable/extensions/marker-fqn.d.ts +1 -1
  34. package/dist/src/unstable/extensions/marker-fqn.d.ts.map +1 -1
  35. package/dist/src/unstable/extensions/marker-fqn.js +1 -1
  36. package/dist/src/unstable/extensions/marker-fqn.js.map +1 -1
  37. package/dist/src/unstable/extensions/materializable-from-disk.d.ts +4 -2
  38. package/dist/src/unstable/extensions/materializable-from-disk.d.ts.map +1 -1
  39. package/dist/src/unstable/extensions/materializable-from-disk.js +33 -0
  40. package/dist/src/unstable/extensions/materializable-from-disk.js.map +1 -1
  41. package/dist/src/unstable/extensions/operations.d.ts +8 -5
  42. package/dist/src/unstable/extensions/operations.d.ts.map +1 -1
  43. package/dist/src/unstable/extensions/operations.js +53 -6
  44. package/dist/src/unstable/extensions/operations.js.map +1 -1
  45. package/dist/src/unstable/extensions/ref-base.d.ts +17 -0
  46. package/dist/src/unstable/extensions/ref-base.d.ts.map +1 -1
  47. package/dist/src/unstable/files/index.d.ts +1 -1
  48. package/dist/src/unstable/files/index.d.ts.map +1 -1
  49. package/dist/src/unstable/files/index.js.map +1 -1
  50. package/dist/src/unstable/files/manager.d.ts.map +1 -1
  51. package/dist/src/unstable/files/manager.js +38 -5
  52. package/dist/src/unstable/files/manager.js.map +1 -1
  53. package/dist/src/unstable/files/refs.d.ts +5 -3
  54. package/dist/src/unstable/files/refs.d.ts.map +1 -1
  55. package/dist/src/unstable/hooks/index.d.ts +1 -1
  56. package/dist/src/unstable/hooks/index.d.ts.map +1 -1
  57. package/dist/src/unstable/hooks/index.js.map +1 -1
  58. package/dist/src/unstable/hooks/manager.d.ts.map +1 -1
  59. package/dist/src/unstable/hooks/manager.js +32 -8
  60. package/dist/src/unstable/hooks/manager.js.map +1 -1
  61. package/dist/src/unstable/hooks/refs.d.ts +6 -4
  62. package/dist/src/unstable/hooks/refs.d.ts.map +1 -1
  63. package/dist/src/unstable/lint/catalog/workspace/configured-but-not-installed.d.ts.map +1 -1
  64. package/dist/src/unstable/lint/catalog/workspace/configured-but-not-installed.js +8 -3
  65. package/dist/src/unstable/lint/catalog/workspace/configured-but-not-installed.js.map +1 -1
  66. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.d.ts +1 -1
  67. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.d.ts.map +1 -1
  68. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.js +14 -0
  69. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.js.map +1 -1
  70. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.d.ts.map +1 -1
  71. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.js +12 -1
  72. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.js.map +1 -1
  73. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.d.ts.map +1 -1
  74. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.js +4 -2
  75. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.js.map +1 -1
  76. package/dist/src/unstable/lint/catalog/workspace/skills-managed.js +1 -1
  77. package/dist/src/unstable/lint/catalog/workspace/skills-managed.js.map +1 -1
  78. package/dist/src/unstable/lint/cli.js +2 -2
  79. package/dist/src/unstable/lint/cli.js.map +1 -1
  80. package/dist/src/unstable/lockfile/index.d.ts +2 -2
  81. package/dist/src/unstable/lockfile/index.d.ts.map +1 -1
  82. package/dist/src/unstable/lockfile/index.js +1 -1
  83. package/dist/src/unstable/lockfile/index.js.map +1 -1
  84. package/dist/src/unstable/lockfile/lockfile.d.ts +548 -254
  85. package/dist/src/unstable/lockfile/lockfile.d.ts.map +1 -1
  86. package/dist/src/unstable/lockfile/schema.d.ts +443 -32
  87. package/dist/src/unstable/lockfile/schema.d.ts.map +1 -1
  88. package/dist/src/unstable/lockfile/schema.js +58 -9
  89. package/dist/src/unstable/lockfile/schema.js.map +1 -1
  90. package/dist/src/unstable/mcps/index.d.ts +1 -1
  91. package/dist/src/unstable/mcps/index.d.ts.map +1 -1
  92. package/dist/src/unstable/mcps/index.js.map +1 -1
  93. package/dist/src/unstable/mcps/manager.d.ts.map +1 -1
  94. package/dist/src/unstable/mcps/manager.js +8 -2
  95. package/dist/src/unstable/mcps/manager.js.map +1 -1
  96. package/dist/src/unstable/mcps/metadata.d.ts +2 -2
  97. package/dist/src/unstable/mcps/metadata.d.ts.map +1 -1
  98. package/dist/src/unstable/mcps/metadata.js +4 -0
  99. package/dist/src/unstable/mcps/metadata.js.map +1 -1
  100. package/dist/src/unstable/mcps/operations/install.d.ts.map +1 -1
  101. package/dist/src/unstable/mcps/operations/install.js +40 -3
  102. package/dist/src/unstable/mcps/operations/install.js.map +1 -1
  103. package/dist/src/unstable/mcps/reconciliation-adapter.d.ts.map +1 -1
  104. package/dist/src/unstable/mcps/reconciliation-adapter.js +3 -1
  105. package/dist/src/unstable/mcps/reconciliation-adapter.js.map +1 -1
  106. package/dist/src/unstable/mcps/refs.d.ts +5 -3
  107. package/dist/src/unstable/mcps/refs.d.ts.map +1 -1
  108. package/dist/src/unstable/packs/index.d.ts +1 -1
  109. package/dist/src/unstable/packs/index.d.ts.map +1 -1
  110. package/dist/src/unstable/packs/manager.d.ts +13 -2
  111. package/dist/src/unstable/packs/manager.d.ts.map +1 -1
  112. package/dist/src/unstable/packs/manager.js +153 -7
  113. package/dist/src/unstable/packs/manager.js.map +1 -1
  114. package/dist/src/unstable/packs/operations/install.d.ts.map +1 -1
  115. package/dist/src/unstable/packs/operations/install.js +1 -0
  116. package/dist/src/unstable/packs/operations/install.js.map +1 -1
  117. package/dist/src/unstable/packs/operations/uninstall.js +1 -1
  118. package/dist/src/unstable/packs/operations/uninstall.js.map +1 -1
  119. package/dist/src/unstable/packs/reconciliation-adapter.d.ts.map +1 -1
  120. package/dist/src/unstable/packs/reconciliation-adapter.js +3 -1
  121. package/dist/src/unstable/packs/reconciliation-adapter.js.map +1 -1
  122. package/dist/src/unstable/packs/refs.d.ts +5 -3
  123. package/dist/src/unstable/packs/refs.d.ts.map +1 -1
  124. package/dist/src/unstable/plan/plan.d.ts +2 -2
  125. package/dist/src/unstable/plan/plan.d.ts.map +1 -1
  126. package/dist/src/unstable/plan/resolve-plan.d.ts +1 -1
  127. package/dist/src/unstable/plan/resolve-plan.d.ts.map +1 -1
  128. package/dist/src/unstable/publish/index.d.ts +1 -0
  129. package/dist/src/unstable/publish/index.d.ts.map +1 -1
  130. package/dist/src/unstable/publish/index.js +1 -0
  131. package/dist/src/unstable/publish/index.js.map +1 -1
  132. package/dist/src/unstable/registry/client.d.ts +8 -0
  133. package/dist/src/unstable/registry/client.d.ts.map +1 -1
  134. package/dist/src/unstable/registry/client.js.map +1 -1
  135. package/dist/src/unstable/registry/index.d.ts +1 -1
  136. package/dist/src/unstable/registry/index.d.ts.map +1 -1
  137. package/dist/src/unstable/registry/index.js.map +1 -1
  138. package/dist/src/unstable/registry/local-client.d.ts.map +1 -1
  139. package/dist/src/unstable/registry/local-client.js +17 -0
  140. package/dist/src/unstable/registry/local-client.js.map +1 -1
  141. package/dist/src/unstable/registry/remote-client.d.ts.map +1 -1
  142. package/dist/src/unstable/registry/remote-client.js +15 -0
  143. package/dist/src/unstable/registry/remote-client.js.map +1 -1
  144. package/dist/src/unstable/registry/schema.d.ts +1 -0
  145. package/dist/src/unstable/registry/schema.d.ts.map +1 -1
  146. package/dist/src/unstable/registry/schema.js +1 -0
  147. package/dist/src/unstable/registry/schema.js.map +1 -1
  148. package/dist/src/unstable/rules/index.d.ts +1 -1
  149. package/dist/src/unstable/rules/index.d.ts.map +1 -1
  150. package/dist/src/unstable/rules/index.js.map +1 -1
  151. package/dist/src/unstable/rules/manager.d.ts.map +1 -1
  152. package/dist/src/unstable/rules/manager.js +34 -4
  153. package/dist/src/unstable/rules/manager.js.map +1 -1
  154. package/dist/src/unstable/rules/refs.d.ts +6 -4
  155. package/dist/src/unstable/rules/refs.d.ts.map +1 -1
  156. package/dist/src/unstable/settings/schema.d.ts +20 -73
  157. package/dist/src/unstable/settings/schema.d.ts.map +1 -1
  158. package/dist/src/unstable/settings/schema.js +81 -98
  159. package/dist/src/unstable/settings/schema.js.map +1 -1
  160. package/dist/src/unstable/skills/index.d.ts +1 -1
  161. package/dist/src/unstable/skills/index.d.ts.map +1 -1
  162. package/dist/src/unstable/skills/index.js.map +1 -1
  163. package/dist/src/unstable/skills/manager.d.ts.map +1 -1
  164. package/dist/src/unstable/skills/manager.js +9 -3
  165. package/dist/src/unstable/skills/manager.js.map +1 -1
  166. package/dist/src/unstable/skills/materialization.d.ts.map +1 -1
  167. package/dist/src/unstable/skills/materialization.js +6 -0
  168. package/dist/src/unstable/skills/materialization.js.map +1 -1
  169. package/dist/src/unstable/skills/operations/copy.d.ts.map +1 -1
  170. package/dist/src/unstable/skills/operations/copy.js +5 -4
  171. package/dist/src/unstable/skills/operations/copy.js.map +1 -1
  172. package/dist/src/unstable/skills/operations/disable.d.ts.map +1 -1
  173. package/dist/src/unstable/skills/operations/disable.js +4 -2
  174. package/dist/src/unstable/skills/operations/disable.js.map +1 -1
  175. package/dist/src/unstable/skills/operations/install.d.ts.map +1 -1
  176. package/dist/src/unstable/skills/operations/install.js +34 -0
  177. package/dist/src/unstable/skills/operations/install.js.map +1 -1
  178. package/dist/src/unstable/skills/paths.d.ts +1 -1
  179. package/dist/src/unstable/skills/paths.d.ts.map +1 -1
  180. package/dist/src/unstable/skills/reconciliation-adapter.d.ts.map +1 -1
  181. package/dist/src/unstable/skills/reconciliation-adapter.js +3 -1
  182. package/dist/src/unstable/skills/reconciliation-adapter.js.map +1 -1
  183. package/dist/src/unstable/skills/refs.d.ts +5 -3
  184. package/dist/src/unstable/skills/refs.d.ts.map +1 -1
  185. package/dist/src/unstable/source-resolution/resolve-source.d.ts.map +1 -1
  186. package/dist/src/unstable/source-resolution/resolve-source.js +9 -0
  187. package/dist/src/unstable/source-resolution/resolve-source.js.map +1 -1
  188. package/dist/src/unstable/source-resolution/service.d.ts +1 -1
  189. package/dist/src/unstable/source-resolution/service.d.ts.map +1 -1
  190. package/dist/src/unstable/source-resolution/service.js +15 -0
  191. package/dist/src/unstable/source-resolution/service.js.map +1 -1
  192. package/dist/src/unstable/sources/index.d.ts +2 -1
  193. package/dist/src/unstable/sources/index.d.ts.map +1 -1
  194. package/dist/src/unstable/sources/index.js +1 -0
  195. package/dist/src/unstable/sources/index.js.map +1 -1
  196. package/dist/src/unstable/sources/lock-entry-to-ref.d.ts +3 -1
  197. package/dist/src/unstable/sources/lock-entry-to-ref.d.ts.map +1 -1
  198. package/dist/src/unstable/sources/lock-entry-to-ref.js +106 -14
  199. package/dist/src/unstable/sources/lock-entry-to-ref.js.map +1 -1
  200. package/dist/src/unstable/sources/parser.d.ts +9 -2
  201. package/dist/src/unstable/sources/parser.d.ts.map +1 -1
  202. package/dist/src/unstable/sources/parser.js +22 -7
  203. package/dist/src/unstable/sources/parser.js.map +1 -1
  204. package/dist/src/unstable/sources/printer.d.ts +2 -2
  205. package/dist/src/unstable/sources/printer.d.ts.map +1 -1
  206. package/dist/src/unstable/sources/printer.js +14 -0
  207. package/dist/src/unstable/sources/printer.js.map +1 -1
  208. package/dist/src/unstable/sources/source-to-lock-entry.d.ts.map +1 -1
  209. package/dist/src/unstable/sources/source-to-lock-entry.js +10 -0
  210. package/dist/src/unstable/sources/source-to-lock-entry.js.map +1 -1
  211. package/dist/src/unstable/sources/types.d.ts +21 -6
  212. package/dist/src/unstable/sources/types.d.ts.map +1 -1
  213. package/dist/src/unstable/sources/types.js +11 -3
  214. package/dist/src/unstable/sources/types.js.map +1 -1
  215. package/dist/src/unstable/sources/workspace.d.ts +13 -0
  216. package/dist/src/unstable/sources/workspace.d.ts.map +1 -0
  217. package/dist/src/unstable/sources/workspace.js +13 -0
  218. package/dist/src/unstable/sources/workspace.js.map +1 -0
  219. package/dist/src/unstable/subagents/index.d.ts +1 -1
  220. package/dist/src/unstable/subagents/index.d.ts.map +1 -1
  221. package/dist/src/unstable/subagents/index.js.map +1 -1
  222. package/dist/src/unstable/subagents/lock-entry-builder.d.ts.map +1 -1
  223. package/dist/src/unstable/subagents/lock-entry-builder.js +10 -0
  224. package/dist/src/unstable/subagents/lock-entry-builder.js.map +1 -1
  225. package/dist/src/unstable/subagents/manager.d.ts.map +1 -1
  226. package/dist/src/unstable/subagents/manager.js +32 -5
  227. package/dist/src/unstable/subagents/manager.js.map +1 -1
  228. package/dist/src/unstable/subagents/operations/disable.d.ts.map +1 -1
  229. package/dist/src/unstable/subagents/operations/disable.js +2 -1
  230. package/dist/src/unstable/subagents/operations/disable.js.map +1 -1
  231. package/dist/src/unstable/subagents/paths.d.ts +1 -1
  232. package/dist/src/unstable/subagents/paths.d.ts.map +1 -1
  233. package/dist/src/unstable/subagents/reconciliation-adapter.d.ts.map +1 -1
  234. package/dist/src/unstable/subagents/reconciliation-adapter.js +3 -1
  235. package/dist/src/unstable/subagents/reconciliation-adapter.js.map +1 -1
  236. package/dist/src/unstable/subagents/refs.d.ts +5 -3
  237. package/dist/src/unstable/subagents/refs.d.ts.map +1 -1
  238. package/dist/src/unstable/workflows/index.d.ts +1 -1
  239. package/dist/src/unstable/workflows/index.d.ts.map +1 -1
  240. package/dist/src/unstable/workflows/index.js.map +1 -1
  241. package/dist/src/unstable/workflows/uninstall-command/workflow.d.ts +9 -7
  242. package/dist/src/unstable/workflows/uninstall-command/workflow.d.ts.map +1 -1
  243. package/dist/src/unstable/workflows/uninstall-command/workflow.js +1 -1
  244. package/dist/src/unstable/workflows/uninstall-command/workflow.js.map +1 -1
  245. package/dist/src/unstable/workspace/configured-entry-resolution/index.d.ts +1 -0
  246. package/dist/src/unstable/workspace/configured-entry-resolution/index.d.ts.map +1 -1
  247. package/dist/src/unstable/workspace/configured-entry-resolution/index.js +1 -0
  248. package/dist/src/unstable/workspace/configured-entry-resolution/index.js.map +1 -1
  249. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts +2 -1
  250. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts.map +1 -1
  251. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js +138 -0
  252. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js.map +1 -1
  253. package/dist/src/unstable/workspace/configured-entry-resolution/workspace-ref.d.ts +24 -0
  254. package/dist/src/unstable/workspace/configured-entry-resolution/workspace-ref.d.ts.map +1 -0
  255. package/dist/src/unstable/workspace/configured-entry-resolution/workspace-ref.js +211 -0
  256. package/dist/src/unstable/workspace/configured-entry-resolution/workspace-ref.js.map +1 -0
  257. package/dist/src/unstable/workspace/index.d.ts +1 -1
  258. package/dist/src/unstable/workspace/index.d.ts.map +1 -1
  259. package/dist/src/unstable/workspace/index.js +1 -1
  260. package/dist/src/unstable/workspace/index.js.map +1 -1
  261. package/dist/src/unstable/workspace/initialization.d.ts +4 -40
  262. package/dist/src/unstable/workspace/initialization.d.ts.map +1 -1
  263. package/dist/src/unstable/workspace/initialization.js +1 -1
  264. package/dist/src/unstable/workspace/initialization.js.map +1 -1
  265. package/dist/src/unstable/workspace/read-model/state.d.ts.map +1 -1
  266. package/dist/src/unstable/workspace/read-model/state.js +21 -5
  267. package/dist/src/unstable/workspace/read-model/state.js.map +1 -1
  268. package/dist/src/unstable/workspace/reconciliation-types.d.ts +16 -2
  269. package/dist/src/unstable/workspace/reconciliation-types.d.ts.map +1 -1
  270. package/dist/src/unstable/workspace/reconciliation.d.ts.map +1 -1
  271. package/dist/src/unstable/workspace/reconciliation.js +185 -2
  272. package/dist/src/unstable/workspace/reconciliation.js.map +1 -1
  273. package/dist/src/unstable/workspace/service-interface.d.ts +10 -4
  274. package/dist/src/unstable/workspace/service-interface.d.ts.map +1 -1
  275. package/dist/src/unstable/workspace/service-interface.js.map +1 -1
  276. package/dist/src/unstable/workspace/service.d.ts +556 -264
  277. package/dist/src/unstable/workspace/service.d.ts.map +1 -1
  278. package/dist/src/unstable/workspace/service.js +41 -90
  279. package/dist/src/unstable/workspace/service.js.map +1 -1
  280. package/dist/src/unstable/workspace/skill-snapshot.d.ts.map +1 -1
  281. package/dist/src/unstable/workspace/skill-snapshot.js +2 -1
  282. package/dist/src/unstable/workspace/skill-snapshot.js.map +1 -1
  283. package/dist/src/unstable/workspace/test-stubs.d.ts.map +1 -1
  284. package/dist/src/unstable/workspace/test-stubs.js +1 -0
  285. package/dist/src/unstable/workspace/test-stubs.js.map +1 -1
  286. package/package.json +2 -2
  287. package/site-content/__generated__/schemas/axm-lock.schema.json +370 -2
  288. package/site-content/__generated__/schemas/settings.schema.json +27 -91
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/unstable/workspace/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/unstable/workspace/service.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ import * as Path from "effect/Path";
22
22
  import * as Option from "effect/Option";
23
23
  import * as Schema from "effect/Schema";
24
24
  import * as Semaphore from "effect/Semaphore";
25
- import { LOCKFILE_NAME, LOCKFILE_VERSION, commitLockfileSnapshotUpdate, makeRegistryLibraryLockEntry, makeRegistryPackLockEntry, } from "../lockfile/index.js";
25
+ import { LOCKFILE_NAME, LOCKFILE_VERSION, commitLockfileSnapshotUpdate, makeRegistryLibraryLockEntry, } from "../lockfile/index.js";
26
26
  import { computeSkillPaths } from "../skills/paths.js";
27
27
  import { computePackPaths } from "../packs/paths.js";
28
28
  import { sanitizeName } from "../extensions/utils.js";
@@ -78,6 +78,16 @@ const nextUpdatedAt = (current) => {
78
78
  const currentTime = current.updatedAt.getTime();
79
79
  return now.getTime() > currentTime ? now : new Date(currentTime + 1);
80
80
  };
81
+ const preserveLockTimestampsOnNoop = (current, next) => {
82
+ const candidate = {
83
+ ...next,
84
+ installedAt: current?.installedAt ?? next.installedAt,
85
+ updatedAt: nextUpdatedAt(current),
86
+ };
87
+ return lockEntrySemanticallyEqual(current, candidate) && current !== undefined
88
+ ? current
89
+ : candidate;
90
+ };
81
91
  const subagentLockEntrySemanticallyEqual = (current, next) => lockEntrySemanticallyEqual(current, next);
82
92
  const contextReadErrorToAppError = (source, error) => makeAppError({
83
93
  code: error._tag === "LockfileParseError" || error._tag === "LockfileDecodeError"
@@ -328,13 +338,12 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
328
338
  const currentSettings = yield* readSettingsSafe(workspaceDir);
329
339
  const currentContext = currentSettings.files ?? {};
330
340
  const currentEntry = currentContext[name];
331
- const authored = currentEntry?.authored ?? false;
332
341
  const inputs = currentEntry?.inputs ?? {};
333
342
  const updatedSettings = {
334
343
  ...currentSettings,
335
344
  files: {
336
345
  ...currentContext,
337
- [name]: { source, enabled: true, authored, inputs },
346
+ [name]: { source, enabled: true, inputs },
338
347
  },
339
348
  };
340
349
  yield* writeSettings(workspaceDir, updatedSettings).pipe(Effect.provide(fsLayer));
@@ -345,11 +354,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
345
354
  ...currentLockfile,
346
355
  files: {
347
356
  ...currentLockedContext,
348
- [name]: {
349
- ...lockEntry,
350
- installedAt: previous?.installedAt ?? lockEntry.installedAt,
351
- updatedAt: new Date(),
352
- },
357
+ [name]: preserveLockTimestampsOnNoop(previous, lockEntry),
353
358
  },
354
359
  };
355
360
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -362,11 +367,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
362
367
  ...currentLockfile,
363
368
  files: {
364
369
  ...currentLockedContext,
365
- [name]: {
366
- ...lockEntry,
367
- installedAt: previous?.installedAt ?? lockEntry.installedAt,
368
- updatedAt: new Date(),
369
- },
370
+ [name]: preserveLockTimestampsOnNoop(previous, lockEntry),
370
371
  },
371
372
  };
372
373
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -453,13 +454,11 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
453
454
  : printSourceParams(lockEntryToSourceParams(lockEntry));
454
455
  const currentSettings = yield* readSettingsSafe(workspaceDir);
455
456
  const currentRules = currentSettings.rules ?? {};
456
- const currentEntry = currentRules[name];
457
- const authored = currentEntry?.authored ?? false;
458
457
  yield* writeSettings(workspaceDir, {
459
458
  ...currentSettings,
460
459
  rules: {
461
460
  ...currentRules,
462
- [name]: { source, enabled: true, authored },
461
+ [name]: { source, enabled: true },
463
462
  },
464
463
  }).pipe(Effect.provide(fsLayer));
465
464
  const currentLockfile = yield* readLockfileSafe(workspaceDir);
@@ -469,11 +468,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
469
468
  ...currentLockfile,
470
469
  rules: {
471
470
  ...currentLockedRules,
472
- [name]: {
473
- ...lockEntry,
474
- installedAt: previous?.installedAt ?? lockEntry.installedAt,
475
- updatedAt: new Date(),
476
- },
471
+ [name]: preserveLockTimestampsOnNoop(previous, lockEntry),
477
472
  },
478
473
  };
479
474
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -486,11 +481,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
486
481
  ...currentLockfile,
487
482
  rules: {
488
483
  ...currentLockedRules,
489
- [name]: {
490
- ...lockEntry,
491
- installedAt: previous?.installedAt ?? lockEntry.installedAt,
492
- updatedAt: new Date(),
493
- },
484
+ [name]: preserveLockTimestampsOnNoop(previous, lockEntry),
494
485
  },
495
486
  };
496
487
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -577,13 +568,11 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
577
568
  : printSourceParams(lockEntryToSourceParams(lockEntry));
578
569
  const currentSettings = yield* readSettingsSafe(workspaceDir);
579
570
  const currentHooks = currentSettings.hooks ?? {};
580
- const currentEntry = currentHooks[name];
581
- const authored = currentEntry?.authored ?? false;
582
571
  yield* writeSettings(workspaceDir, {
583
572
  ...currentSettings,
584
573
  hooks: {
585
574
  ...currentHooks,
586
- [name]: { source, enabled: true, authored },
575
+ [name]: { source, enabled: true },
587
576
  },
588
577
  }).pipe(Effect.provide(fsLayer));
589
578
  const currentLockfile = yield* readLockfileSafe(workspaceDir);
@@ -593,11 +582,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
593
582
  ...currentLockfile,
594
583
  hooks: {
595
584
  ...currentLockedHooks,
596
- [name]: {
597
- ...lockEntry,
598
- installedAt: previous?.installedAt ?? lockEntry.installedAt,
599
- updatedAt: new Date(),
600
- },
585
+ [name]: preserveLockTimestampsOnNoop(previous, lockEntry),
601
586
  },
602
587
  };
603
588
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -610,11 +595,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
610
595
  ...currentLockfile,
611
596
  hooks: {
612
597
  ...currentLockedHooks,
613
- [name]: {
614
- ...lockEntry,
615
- installedAt: previous?.installedAt ?? lockEntry.installedAt,
616
- updatedAt: new Date(),
617
- },
598
+ [name]: preserveLockTimestampsOnNoop(previous, lockEntry),
618
599
  },
619
600
  };
620
601
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -729,8 +710,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
729
710
  : printSourceParams(sourceInput);
730
711
  const currentSettings = yield* readSettingsSafe(workspaceDir);
731
712
  const currentSkills = currentSettings.skills ?? {};
732
- const authored = currentSkills[name]?.authored ?? false;
733
- const nextSkillEntry = { source, enabled: true, authored };
713
+ const nextSkillEntry = { source, enabled: true };
734
714
  const updatedSettings = {
735
715
  ...currentSettings,
736
716
  skills: { ...currentSkills, [name]: nextSkillEntry },
@@ -874,24 +854,24 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
874
854
  getLockedPacks: () => readLockfileSafe(workspaceDir).pipe(Effect.map((lf) => lf.packs ?? {})),
875
855
  getLockedPack: (name) => readLockfileSafe(workspaceDir).pipe(Effect.map((lf) => Option.fromUndefinedOr((lf.packs ?? {})[name]))),
876
856
  setPack: (args) => withMutex(Effect.gen(function* () {
877
- const { name, versionRange, ...lockFields } = args;
878
- const lockEntry = makeRegistryPackLockEntry({
879
- ...lockFields,
880
- name,
881
- });
857
+ const { versionRange, ...lockEntry } = args;
858
+ const name = lockEntry.name;
882
859
  // Update settings — thread versionRange through so it's preserved
883
860
  const fqn = formatFqn({
884
861
  owner: args.owner,
885
862
  type: "pack",
886
863
  name: decodeExtensionNameSync(name),
887
864
  });
888
- const source = Option.isSome(versionRange) ? `${fqn}@${versionRange.value}` : fqn;
865
+ const source = lockEntry.type === "workspace"
866
+ ? `workspace:${fqn}`
867
+ : Option.isSome(versionRange)
868
+ ? `${fqn}@${versionRange.value}`
869
+ : fqn;
889
870
  const currentSettings = yield* readSettingsSafe(workspaceDir);
890
871
  const currentPacks = currentSettings.packs ?? {};
891
- const authored = currentPacks[name]?.authored ?? false;
892
872
  const updatedSettings = {
893
873
  ...currentSettings,
894
- packs: { ...currentPacks, [name]: { source, authored } },
874
+ packs: { ...currentPacks, [name]: { source } },
895
875
  };
896
876
  yield* writeSettings(workspaceDir, updatedSettings).pipe(Effect.provide(fsLayer));
897
877
  // Update lockfile
@@ -901,10 +881,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
901
881
  ...currentLockfile,
902
882
  packs: {
903
883
  ...currentLockedPacks,
904
- [name]: {
905
- ...lockEntry,
906
- updatedAt: new Date(),
907
- },
884
+ [name]: preserveLockTimestampsOnNoop(currentLockedPacks[name], lockEntry),
908
885
  },
909
886
  };
910
887
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -951,10 +928,9 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
951
928
  const currentLibraries = currentSettings.libraries ?? {};
952
929
  const existing = currentLibraries[name];
953
930
  const enabled = existing?.enabled ?? true;
954
- const authored = existing?.authored ?? false;
955
931
  const updatedSettings = {
956
932
  ...currentSettings,
957
- libraries: { ...currentLibraries, [name]: { source, enabled, authored } },
933
+ libraries: { ...currentLibraries, [name]: { source, enabled } },
958
934
  };
959
935
  yield* writeSettings(workspaceDir, updatedSettings).pipe(Effect.provide(fsLayer));
960
936
  const currentLockfile = yield* readLockfileSafe(workspaceDir);
@@ -963,10 +939,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
963
939
  ...currentLockfile,
964
940
  libraries: {
965
941
  ...currentLockedLibraries,
966
- [name]: {
967
- ...lockEntry,
968
- updatedAt: new Date(),
969
- },
942
+ [name]: preserveLockTimestampsOnNoop(currentLockedLibraries[name], lockEntry),
970
943
  },
971
944
  };
972
945
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -1011,10 +984,9 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1011
984
  : printSourceParams(lockEntryToSourceParams(lockEntry));
1012
985
  const currentSettings = yield* readSettingsSafe(workspaceDir);
1013
986
  const currentCommands = currentSettings.commands ?? {};
1014
- const authored = currentCommands[name]?.authored ?? false;
1015
987
  const updatedSettings = {
1016
988
  ...currentSettings,
1017
- commands: { ...currentCommands, [name]: { source, enabled: true, authored } },
989
+ commands: { ...currentCommands, [name]: { source, enabled: true } },
1018
990
  };
1019
991
  yield* writeSettings(workspaceDir, updatedSettings).pipe(Effect.provide(fsLayer));
1020
992
  // Update lockfile
@@ -1024,10 +996,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1024
996
  ...currentLockfile,
1025
997
  commands: {
1026
998
  ...currentLockedCommands,
1027
- [name]: {
1028
- ...lockEntry,
1029
- updatedAt: new Date(),
1030
- },
999
+ [name]: preserveLockTimestampsOnNoop(currentLockedCommands[name], lockEntry),
1031
1000
  },
1032
1001
  };
1033
1002
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -1040,10 +1009,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1040
1009
  ...currentLockfile,
1041
1010
  commands: {
1042
1011
  ...currentLockedCommands,
1043
- [name]: {
1044
- ...lockEntry,
1045
- updatedAt: new Date(),
1046
- },
1012
+ [name]: preserveLockTimestampsOnNoop(currentLockedCommands[name], lockEntry),
1047
1013
  },
1048
1014
  };
1049
1015
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -1100,6 +1066,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1100
1066
  getLockedSubagents: () => readLockfileSafe(workspaceDir).pipe(Effect.map((lf) => lf.subagents ?? {})),
1101
1067
  getLockedSubagent: (name) => readLockfileSafe(workspaceDir).pipe(Effect.map((lf) => Option.fromUndefinedOr((lf.subagents ?? {})[name]))),
1102
1068
  getConfiguredSubagentEntries: () => readSettingsSafe(workspaceDir).pipe(Effect.map((s) => s.subagents ?? {}), Effect.withSpan("WorkspaceMutations.getConfiguredSubagentEntries")),
1069
+ getConfiguredCommandEntries: () => readSettingsSafe(workspaceDir).pipe(Effect.map((s) => s.commands ?? {}), Effect.withSpan("WorkspaceMutations.getConfiguredCommandEntries")),
1103
1070
  setSubagent: ({ name, lockEntry }) => withMutex(Effect.gen(function* () {
1104
1071
  // Update settings
1105
1072
  const source = lockEntry.type === "registry"
@@ -1111,8 +1078,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1111
1078
  : printSourceParams(lockEntryToSourceParams(lockEntry));
1112
1079
  const currentSettings = yield* readSettingsSafe(workspaceDir);
1113
1080
  const currentSubagents = currentSettings.subagents ?? {};
1114
- const authored = currentSubagents[name]?.authored ?? false;
1115
- const nextSubagentEntry = { source, enabled: true, authored };
1081
+ const nextSubagentEntry = { source, enabled: true };
1116
1082
  const updatedSettings = {
1117
1083
  ...currentSettings,
1118
1084
  subagents: { ...currentSubagents, [name]: nextSubagentEntry },
@@ -1131,10 +1097,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1131
1097
  ...currentLockfile,
1132
1098
  subagents: {
1133
1099
  ...currentLockedSubagents,
1134
- [name]: {
1135
- ...lockEntry,
1136
- updatedAt: new Date(),
1137
- },
1100
+ [name]: preserveLockTimestampsOnNoop(currentLockEntry, lockEntry),
1138
1101
  },
1139
1102
  };
1140
1103
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -1150,10 +1113,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1150
1113
  ...currentLockfile,
1151
1114
  subagents: {
1152
1115
  ...currentLockedSubagents,
1153
- [name]: {
1154
- ...lockEntry,
1155
- updatedAt: new Date(),
1156
- },
1116
+ [name]: preserveLockTimestampsOnNoop(currentLockedSubagents[name], lockEntry),
1157
1117
  },
1158
1118
  };
1159
1119
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -1233,7 +1193,6 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1233
1193
  // Update settings (uses "mcpServers" key)
1234
1194
  const currentSettings = yield* readSettingsSafe(workspaceDir);
1235
1195
  const currentMcpServers = currentSettings.mcpServers ?? {};
1236
- const authored = currentMcpServers[name]?.authored ?? false;
1237
1196
  const currentEnabled = currentMcpServers[name]?.enabled ?? true;
1238
1197
  const currentEnv = currentMcpServers[name]?.env ?? {};
1239
1198
  const settingsEntry = lockEntry.type === "inline"
@@ -1244,7 +1203,6 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1244
1203
  ...(lockEntry.url === undefined ? {} : { url: lockEntry.url }),
1245
1204
  ...(lockEntry.headers === undefined ? {} : { headers: lockEntry.headers }),
1246
1205
  enabled: enabled ?? currentEnabled,
1247
- authored,
1248
1206
  env: env ?? currentEnv,
1249
1207
  }
1250
1208
  : {
@@ -1256,7 +1214,6 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1256
1214
  })
1257
1215
  : printSourceParams(lockEntryToSourceParams(lockEntry)),
1258
1216
  enabled: enabled ?? currentEnabled,
1259
- authored,
1260
1217
  env: env ?? currentEnv,
1261
1218
  };
1262
1219
  const updatedSettings = {
@@ -1274,10 +1231,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1274
1231
  ...currentLockfile,
1275
1232
  mcpServers: {
1276
1233
  ...currentLockedMcpServers,
1277
- [name]: {
1278
- ...lockEntry,
1279
- updatedAt: new Date(),
1280
- },
1234
+ [name]: preserveLockTimestampsOnNoop(currentLockedMcpServers[name], lockEntry),
1281
1235
  },
1282
1236
  };
1283
1237
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));
@@ -1290,10 +1244,7 @@ export const loadWorkspace = (options) => Effect.gen(function* () {
1290
1244
  ...currentLockfile,
1291
1245
  mcpServers: {
1292
1246
  ...currentLockedMcpServers,
1293
- [name]: {
1294
- ...lockEntry,
1295
- updatedAt: new Date(),
1296
- },
1247
+ [name]: preserveLockTimestampsOnNoop(currentLockedMcpServers[name], lockEntry),
1297
1248
  },
1298
1249
  };
1299
1250
  yield* commitLockfileSnapshotUpdate(workspaceDir, currentLockfile, updatedLockfile).pipe(Effect.provide(fsLayer));