@agentxm/client-core 0.1.6 → 0.2.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 (181) hide show
  1. package/dist/src/unstable/agents/coding-agent.d.ts +1 -1
  2. package/dist/src/unstable/agents/coding-agent.d.ts.map +1 -1
  3. package/dist/src/unstable/agents/coding-agent.js +1 -1
  4. package/dist/src/unstable/agents/coding-agent.js.map +1 -1
  5. package/dist/src/unstable/auth/auth-client.d.ts +1 -1
  6. package/dist/src/unstable/auth/auth-client.d.ts.map +1 -1
  7. package/dist/src/unstable/auth/auth-client.js +1 -1
  8. package/dist/src/unstable/auth/auth-client.js.map +1 -1
  9. package/dist/src/unstable/auth/credential-store.d.ts +1 -1
  10. package/dist/src/unstable/auth/credential-store.d.ts.map +1 -1
  11. package/dist/src/unstable/auth/credential-store.js +1 -1
  12. package/dist/src/unstable/auth/credential-store.js.map +1 -1
  13. package/dist/src/unstable/auth/device-login.d.ts +1 -1
  14. package/dist/src/unstable/auth/device-login.d.ts.map +1 -1
  15. package/dist/src/unstable/auth/device-login.js +1 -1
  16. package/dist/src/unstable/auth/device-login.js.map +1 -1
  17. package/dist/src/unstable/auth/guard-interaction.d.ts +1 -1
  18. package/dist/src/unstable/auth/guard-interaction.d.ts.map +1 -1
  19. package/dist/src/unstable/auth/guard-interaction.js +1 -1
  20. package/dist/src/unstable/auth/guard-interaction.js.map +1 -1
  21. package/dist/src/unstable/auth/login-interaction.d.ts +1 -1
  22. package/dist/src/unstable/auth/login-interaction.d.ts.map +1 -1
  23. package/dist/src/unstable/auth/login-interaction.js +1 -1
  24. package/dist/src/unstable/auth/login-interaction.js.map +1 -1
  25. package/dist/src/unstable/auth/registry-url.d.ts +1 -1
  26. package/dist/src/unstable/auth/registry-url.d.ts.map +1 -1
  27. package/dist/src/unstable/auth/registry-url.js +1 -1
  28. package/dist/src/unstable/auth/registry-url.js.map +1 -1
  29. package/dist/src/unstable/auth/schema.d.ts +3 -3
  30. package/dist/src/unstable/cli-flags/verbosity.d.ts +1 -1
  31. package/dist/src/unstable/cli-flags/verbosity.d.ts.map +1 -1
  32. package/dist/src/unstable/cli-flags/verbosity.js +1 -1
  33. package/dist/src/unstable/cli-flags/verbosity.js.map +1 -1
  34. package/dist/src/unstable/cli-renderer/cli-renderer.d.ts +1 -1
  35. package/dist/src/unstable/cli-renderer/cli-renderer.d.ts.map +1 -1
  36. package/dist/src/unstable/cli-renderer/cli-renderer.js +1 -1
  37. package/dist/src/unstable/cli-renderer/cli-renderer.js.map +1 -1
  38. package/dist/src/unstable/cli-runtime/command-argv.d.ts +1 -1
  39. package/dist/src/unstable/cli-runtime/command-argv.d.ts.map +1 -1
  40. package/dist/src/unstable/cli-runtime/command-argv.js +1 -1
  41. package/dist/src/unstable/cli-runtime/command-argv.js.map +1 -1
  42. package/dist/src/unstable/cli-runtime/graceful-shutdown.js +1 -1
  43. package/dist/src/unstable/cli-runtime/graceful-shutdown.js.map +1 -1
  44. package/dist/src/unstable/cli-runtime/telemetry.d.ts +1 -1
  45. package/dist/src/unstable/cli-runtime/telemetry.d.ts.map +1 -1
  46. package/dist/src/unstable/cli-runtime/telemetry.js +1 -1
  47. package/dist/src/unstable/cli-runtime/telemetry.js.map +1 -1
  48. package/dist/src/unstable/commands/manager.d.ts +1 -1
  49. package/dist/src/unstable/commands/manager.d.ts.map +1 -1
  50. package/dist/src/unstable/commands/manager.js +1 -1
  51. package/dist/src/unstable/commands/manager.js.map +1 -1
  52. package/dist/src/unstable/date-time.d.ts +2 -2
  53. package/dist/src/unstable/date-time.d.ts.map +1 -1
  54. package/dist/src/unstable/install-meta/install-meta.d.ts +1 -1
  55. package/dist/src/unstable/install-meta/install-meta.d.ts.map +1 -1
  56. package/dist/src/unstable/install-meta/install-meta.js +1 -1
  57. package/dist/src/unstable/install-meta/install-meta.js.map +1 -1
  58. package/dist/src/unstable/install-method/install-method.d.ts +1 -1
  59. package/dist/src/unstable/install-method/install-method.d.ts.map +1 -1
  60. package/dist/src/unstable/install-method/install-method.js +1 -1
  61. package/dist/src/unstable/install-method/install-method.js.map +1 -1
  62. package/dist/src/unstable/lockfile/schema.d.ts +404 -404
  63. package/dist/src/unstable/mcp-servers/manager.d.ts +1 -1
  64. package/dist/src/unstable/mcp-servers/manager.d.ts.map +1 -1
  65. package/dist/src/unstable/mcp-servers/manager.js +1 -1
  66. package/dist/src/unstable/mcp-servers/manager.js.map +1 -1
  67. package/dist/src/unstable/packs/manager.d.ts +1 -1
  68. package/dist/src/unstable/packs/manager.d.ts.map +1 -1
  69. package/dist/src/unstable/packs/manager.js +1 -1
  70. package/dist/src/unstable/packs/manager.js.map +1 -1
  71. package/dist/src/unstable/packs/operations/install.d.ts.map +1 -1
  72. package/dist/src/unstable/packs/operations/install.js +41 -0
  73. package/dist/src/unstable/packs/operations/install.js.map +1 -1
  74. package/dist/src/unstable/packs/operations/publish.d.ts.map +1 -1
  75. package/dist/src/unstable/packs/operations/publish.js +1 -0
  76. package/dist/src/unstable/packs/operations/publish.js.map +1 -1
  77. package/dist/src/unstable/registry/__generated__/registry-client.d.ts +675 -518
  78. package/dist/src/unstable/registry/__generated__/registry-client.d.ts.map +1 -1
  79. package/dist/src/unstable/registry/__generated__/registry-client.js +546 -396
  80. package/dist/src/unstable/registry/__generated__/registry-client.js.map +1 -1
  81. package/dist/src/unstable/registry/remote-client.d.ts.map +1 -1
  82. package/dist/src/unstable/registry/remote-client.js +123 -18
  83. package/dist/src/unstable/registry/remote-client.js.map +1 -1
  84. package/dist/src/unstable/registry/schema.d.ts +2 -2
  85. package/dist/src/unstable/skills/manager.d.ts +1 -1
  86. package/dist/src/unstable/skills/manager.d.ts.map +1 -1
  87. package/dist/src/unstable/skills/manager.js +2 -2
  88. package/dist/src/unstable/skills/manager.js.map +1 -1
  89. package/dist/src/unstable/skills/materialization.js +1 -1
  90. package/dist/src/unstable/skills/materialization.js.map +1 -1
  91. package/dist/src/unstable/skills/operations/install.js +1 -1
  92. package/dist/src/unstable/skills/operations/install.js.map +1 -1
  93. package/dist/src/unstable/skills/operations/uninstall.js +1 -1
  94. package/dist/src/unstable/skills/operations/uninstall.js.map +1 -1
  95. package/dist/src/unstable/source-resolution/service.d.ts +1 -1
  96. package/dist/src/unstable/source-resolution/service.d.ts.map +1 -1
  97. package/dist/src/unstable/source-resolution/service.js +1 -1
  98. package/dist/src/unstable/source-resolution/service.js.map +1 -1
  99. package/dist/src/unstable/sources/types.d.ts +29 -29
  100. package/dist/src/unstable/sources/types.d.ts.map +1 -1
  101. package/dist/src/unstable/subagents/manager.d.ts +1 -1
  102. package/dist/src/unstable/subagents/manager.d.ts.map +1 -1
  103. package/dist/src/unstable/subagents/manager.js +4 -4
  104. package/dist/src/unstable/subagents/manager.js.map +1 -1
  105. package/dist/src/unstable/subagents/manifest-schema.js +2 -2
  106. package/dist/src/unstable/subagents/manifest-schema.js.map +1 -1
  107. package/dist/src/unstable/telemetry/__generated__/telemetry-client.d.ts +20 -12
  108. package/dist/src/unstable/telemetry/__generated__/telemetry-client.d.ts.map +1 -1
  109. package/dist/src/unstable/telemetry/__generated__/telemetry-client.js +11 -3
  110. package/dist/src/unstable/telemetry/__generated__/telemetry-client.js.map +1 -1
  111. package/dist/src/unstable/telemetry/client.d.ts +1 -1
  112. package/dist/src/unstable/telemetry/client.d.ts.map +1 -1
  113. package/dist/src/unstable/telemetry/client.js +1 -1
  114. package/dist/src/unstable/telemetry/client.js.map +1 -1
  115. package/dist/src/unstable/update-check/update-check.d.ts +1 -1
  116. package/dist/src/unstable/update-check/update-check.d.ts.map +1 -1
  117. package/dist/src/unstable/update-check/update-check.js +1 -1
  118. package/dist/src/unstable/update-check/update-check.js.map +1 -1
  119. package/dist/src/unstable/utils/fs-helpers.d.ts +7 -6
  120. package/dist/src/unstable/utils/fs-helpers.d.ts.map +1 -1
  121. package/dist/src/unstable/utils/fs-helpers.js +9 -9
  122. package/dist/src/unstable/utils/fs-helpers.js.map +1 -1
  123. package/dist/src/unstable/workspace/display-plan.js +1 -1
  124. package/dist/src/unstable/workspace/display-plan.js.map +1 -1
  125. package/dist/src/unstable/workspace/doctor/checks/extensions-active.d.ts +4 -0
  126. package/dist/src/unstable/workspace/doctor/checks/extensions-active.d.ts.map +1 -0
  127. package/dist/src/unstable/workspace/doctor/checks/extensions-active.js +238 -0
  128. package/dist/src/unstable/workspace/doctor/checks/extensions-active.js.map +1 -0
  129. package/dist/src/unstable/workspace/doctor/checks/extensions-current.d.ts +18 -0
  130. package/dist/src/unstable/workspace/doctor/checks/extensions-current.d.ts.map +1 -0
  131. package/dist/src/unstable/workspace/doctor/checks/extensions-current.js +92 -0
  132. package/dist/src/unstable/workspace/doctor/checks/extensions-current.js.map +1 -0
  133. package/dist/src/unstable/workspace/doctor/diagnose.d.ts +1 -1
  134. package/dist/src/unstable/workspace/doctor/diagnose.d.ts.map +1 -1
  135. package/dist/src/unstable/workspace/doctor/diagnose.js +16 -3
  136. package/dist/src/unstable/workspace/doctor/diagnose.js.map +1 -1
  137. package/dist/src/unstable/workspace/doctor/types.d.ts +2 -0
  138. package/dist/src/unstable/workspace/doctor/types.d.ts.map +1 -1
  139. package/dist/src/unstable/workspace/doctor/types.js +2 -0
  140. package/dist/src/unstable/workspace/doctor/types.js.map +1 -1
  141. package/dist/src/unstable/workspace/index.d.ts +1 -0
  142. package/dist/src/unstable/workspace/index.d.ts.map +1 -1
  143. package/dist/src/unstable/workspace/index.js +2 -0
  144. package/dist/src/unstable/workspace/index.js.map +1 -1
  145. package/dist/src/unstable/workspace/initialization-interaction.d.ts +1 -1
  146. package/dist/src/unstable/workspace/initialization-interaction.d.ts.map +1 -1
  147. package/dist/src/unstable/workspace/initialization-interaction.js +1 -1
  148. package/dist/src/unstable/workspace/initialization-interaction.js.map +1 -1
  149. package/dist/src/unstable/workspace/initialization.js +2 -2
  150. package/dist/src/unstable/workspace/initialization.js.map +1 -1
  151. package/dist/src/unstable/workspace/paths.d.ts +4 -3
  152. package/dist/src/unstable/workspace/paths.d.ts.map +1 -1
  153. package/dist/src/unstable/workspace/paths.js +7 -6
  154. package/dist/src/unstable/workspace/paths.js.map +1 -1
  155. package/dist/src/unstable/workspace/resolve-plan-interaction.d.ts +1 -1
  156. package/dist/src/unstable/workspace/resolve-plan-interaction.d.ts.map +1 -1
  157. package/dist/src/unstable/workspace/resolve-plan-interaction.js +1 -1
  158. package/dist/src/unstable/workspace/resolve-plan-interaction.js.map +1 -1
  159. package/dist/src/unstable/workspace/service-interface.d.ts +3 -1
  160. package/dist/src/unstable/workspace/service-interface.d.ts.map +1 -1
  161. package/dist/src/unstable/workspace/service-interface.js +1 -1
  162. package/dist/src/unstable/workspace/service-interface.js.map +1 -1
  163. package/dist/src/unstable/workspace/service.js +1 -1
  164. package/dist/src/unstable/workspace/service.js.map +1 -1
  165. package/dist/src/unstable/workspace/version-currency/check-currency.d.ts +41 -0
  166. package/dist/src/unstable/workspace/version-currency/check-currency.d.ts.map +1 -0
  167. package/dist/src/unstable/workspace/version-currency/check-currency.js +50 -0
  168. package/dist/src/unstable/workspace/version-currency/check-currency.js.map +1 -0
  169. package/dist/src/unstable/workspace/version-currency/collectors.d.ts +55 -0
  170. package/dist/src/unstable/workspace/version-currency/collectors.d.ts.map +1 -0
  171. package/dist/src/unstable/workspace/version-currency/collectors.js +127 -0
  172. package/dist/src/unstable/workspace/version-currency/collectors.js.map +1 -0
  173. package/dist/src/unstable/workspace/version-currency/index.d.ts +11 -0
  174. package/dist/src/unstable/workspace/version-currency/index.d.ts.map +1 -0
  175. package/dist/src/unstable/workspace/version-currency/index.js +11 -0
  176. package/dist/src/unstable/workspace/version-currency/index.js.map +1 -0
  177. package/dist/src/unstable/workspace/version-currency/test-stubs.d.ts +5 -0
  178. package/dist/src/unstable/workspace/version-currency/test-stubs.d.ts.map +1 -0
  179. package/dist/src/unstable/workspace/version-currency/test-stubs.js +31 -0
  180. package/dist/src/unstable/workspace/version-currency/test-stubs.js.map +1 -0
  181. package/package.json +6 -6
@@ -0,0 +1,238 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as FileSystem from "effect/FileSystem";
3
+ import * as Option from "effect/Option";
4
+ import * as Path from "effect/Path";
5
+ import { sanitizeName } from "../../../extensions/utils.js";
6
+ import { buildWorkspaceSkillSnapshot, isResolvedWorkspaceSkill, } from "../../skill-snapshot.js";
7
+ import { defineCheck } from "../check-def.js";
8
+ import { CHECK_IDS } from "../types.js";
9
+ // ---------------------------------------------------------------------------
10
+ // Constants
11
+ // ---------------------------------------------------------------------------
12
+ const SYNC_ACTION = {
13
+ label: "Run axm sync",
14
+ description: "Reconcile installed extensions with the workspace state",
15
+ command: "axm sync",
16
+ };
17
+ // ---------------------------------------------------------------------------
18
+ // Utilities
19
+ // ---------------------------------------------------------------------------
20
+ const makeFinding = (args) => ({
21
+ id: `${CHECK_IDS.extensionsActive}.${args.suffix}`,
22
+ severity: args.severity,
23
+ message: args.message,
24
+ ...(args.subject === undefined ? {} : { subject: args.subject }),
25
+ ...(args.details === undefined ? {} : { details: args.details }),
26
+ ...(args.action === undefined ? {} : { action: args.action }),
27
+ });
28
+ // ---------------------------------------------------------------------------
29
+ // Context preparation
30
+ // ---------------------------------------------------------------------------
31
+ const prepareContext = () => Effect.gen(function* () {
32
+ const fs = yield* FileSystem.FileSystem;
33
+ const path = yield* Path.Path;
34
+ const snapshot = yield* buildWorkspaceSkillSnapshot();
35
+ // Precompute artifact basenames so diagnostics stay pure (no Path service).
36
+ const artifactNames = new Map();
37
+ for (const skill of snapshot.skills) {
38
+ if (isResolvedWorkspaceSkill(skill)) {
39
+ artifactNames.set(skill.name, path.basename(skill.canonicalPath));
40
+ }
41
+ }
42
+ const agentDirScans = yield* Effect.forEach(snapshot.agents.supportedDirs, ({ agentId, dir }) => Effect.gen(function* () {
43
+ const dirExists = yield* fs.exists(dir).pipe(Effect.orElseSucceed(() => false));
44
+ if (!dirExists) {
45
+ return { agentId, dir, artifacts: [] };
46
+ }
47
+ const entries = yield* fs
48
+ .readDirectory(dir)
49
+ .pipe(Effect.orElseSucceed(() => []));
50
+ const artifacts = yield* Effect.forEach(entries, (name) => Effect.gen(function* () {
51
+ const fullPath = path.join(dir, name);
52
+ // readLink succeeds only for symlinks (no lstat in Effect FileSystem)
53
+ const linkTarget = yield* fs.readLink(fullPath).pipe(Effect.option);
54
+ const isSymlink = Option.isSome(linkTarget);
55
+ // For symlinks, check whether the target still exists (stat follows links)
56
+ const targetExists = isSymlink
57
+ ? yield* fs.exists(fullPath).pipe(Effect.orElseSucceed(() => false))
58
+ : true;
59
+ return {
60
+ name,
61
+ path: fullPath,
62
+ isSymlink,
63
+ targetExists,
64
+ };
65
+ }), { concurrency: "unbounded" });
66
+ return { agentId, dir, artifacts };
67
+ }), { concurrency: "unbounded" });
68
+ return {
69
+ snapshot,
70
+ agentDirScans: [...agentDirScans].sort((left, right) => left.agentId.localeCompare(right.agentId)),
71
+ artifactNames,
72
+ };
73
+ });
74
+ const enabledNotLinkedDiagnostic = {
75
+ id: `${CHECK_IDS.extensionsActive}.enabled-not-linked`,
76
+ run: (ctx) => Effect.succeed(ctx.snapshot.skills
77
+ .filter(isResolvedWorkspaceSkill)
78
+ .filter((skill) => skill.enabled)
79
+ .flatMap((skill) => {
80
+ const expectedName = ctx.artifactNames.get(skill.name);
81
+ if (expectedName === undefined)
82
+ return [];
83
+ return ctx.agentDirScans.flatMap((scan) => {
84
+ const found = scan.artifacts.some((artifact) => artifact.name === expectedName);
85
+ if (found)
86
+ return [];
87
+ return [
88
+ makeFinding({
89
+ suffix: "enabled-not-linked",
90
+ severity: "error",
91
+ message: `The skill "${skill.name}" is enabled but not linked in agent "${scan.agentId}" skill directory`,
92
+ subject: { kind: "extension", ref: `skill:${skill.name}` },
93
+ action: SYNC_ACTION,
94
+ }),
95
+ ];
96
+ });
97
+ })
98
+ .sort((left, right) => left.message.localeCompare(right.message))),
99
+ };
100
+ const disabledStillPresentDiagnostic = {
101
+ id: `${CHECK_IDS.extensionsActive}.disabled-still-present`,
102
+ run: (ctx) => Effect.succeed(ctx.snapshot.skills
103
+ .filter(isResolvedWorkspaceSkill)
104
+ .filter((skill) => !skill.enabled)
105
+ .flatMap((skill) => {
106
+ const expectedName = ctx.artifactNames.get(skill.name);
107
+ if (expectedName === undefined)
108
+ return [];
109
+ return ctx.agentDirScans.flatMap((scan) => {
110
+ const found = scan.artifacts.some((artifact) => artifact.name === expectedName);
111
+ if (!found)
112
+ return [];
113
+ return [
114
+ makeFinding({
115
+ suffix: "disabled-still-present",
116
+ severity: "error",
117
+ message: `The skill "${skill.name}" is disabled but still present in agent "${scan.agentId}" skill directory`,
118
+ subject: { kind: "extension", ref: `skill:${skill.name}` },
119
+ action: SYNC_ACTION,
120
+ }),
121
+ ];
122
+ });
123
+ })
124
+ .sort((left, right) => left.message.localeCompare(right.message))),
125
+ };
126
+ const brokenSymlinkDiagnostic = {
127
+ id: `${CHECK_IDS.extensionsActive}.broken-symlink`,
128
+ run: (ctx) => Effect.succeed(ctx.agentDirScans
129
+ .flatMap((scan) => scan.artifacts
130
+ .filter((artifact) => artifact.isSymlink && !artifact.targetExists)
131
+ .map((artifact) => makeFinding({
132
+ suffix: "broken-symlink",
133
+ severity: "error",
134
+ message: `Broken symlink in agent "${scan.agentId}" skill directory: ${artifact.name}`,
135
+ subject: { kind: "file", ref: artifact.path },
136
+ action: SYNC_ACTION,
137
+ })))
138
+ .sort((left, right) => left.message.localeCompare(right.message))),
139
+ };
140
+ const staleArtifactDiagnostic = {
141
+ id: `${CHECK_IDS.extensionsActive}.stale-artifact`,
142
+ run: (ctx) => {
143
+ const expectedNames = new Set(ctx.artifactNames.values());
144
+ return Effect.succeed(ctx.agentDirScans
145
+ .flatMap((scan) => scan.artifacts
146
+ .filter((artifact) => !expectedNames.has(artifact.name))
147
+ .map((artifact) => makeFinding({
148
+ suffix: "stale-artifact",
149
+ severity: "warn",
150
+ message: `Stale artifact in agent "${scan.agentId}" skill directory: ${artifact.name}`,
151
+ subject: { kind: "file", ref: artifact.path },
152
+ action: SYNC_ACTION,
153
+ })))
154
+ .sort((left, right) => left.message.localeCompare(right.message)));
155
+ },
156
+ };
157
+ const nameMismatchDiagnostic = {
158
+ id: `${CHECK_IDS.extensionsActive}.name-mismatch`,
159
+ run: (ctx) => Effect.succeed(ctx.snapshot.skills
160
+ .filter(isResolvedWorkspaceSkill)
161
+ .filter((skill) => skill.enabled)
162
+ .flatMap((skill) => {
163
+ const expectedName = ctx.artifactNames.get(skill.name);
164
+ if (expectedName === undefined)
165
+ return [];
166
+ const sanitized = sanitizeName(skill.name);
167
+ if (sanitized === expectedName)
168
+ return [];
169
+ return [
170
+ makeFinding({
171
+ suffix: "name-mismatch",
172
+ severity: "warn",
173
+ message: `The skill "${skill.name}" artifact name does not match the sanitized name convention`,
174
+ subject: { kind: "extension", ref: `skill:${skill.name}` },
175
+ action: SYNC_ACTION,
176
+ }),
177
+ ];
178
+ })
179
+ .sort((left, right) => left.message.localeCompare(right.message))),
180
+ };
181
+ const crossAgentInconsistentDiagnostic = {
182
+ id: `${CHECK_IDS.extensionsActive}.cross-agent-inconsistent`,
183
+ run: (ctx) => {
184
+ if (ctx.agentDirScans.length < 2)
185
+ return Effect.succeed([]);
186
+ return Effect.succeed(ctx.snapshot.skills
187
+ .filter(isResolvedWorkspaceSkill)
188
+ .filter((skill) => skill.enabled)
189
+ .flatMap((skill) => {
190
+ const expectedName = ctx.artifactNames.get(skill.name);
191
+ if (expectedName === undefined)
192
+ return [];
193
+ const present = [];
194
+ const absent = [];
195
+ for (const scan of ctx.agentDirScans) {
196
+ const found = scan.artifacts.some((artifact) => artifact.name === expectedName);
197
+ if (found) {
198
+ present.push(scan.agentId);
199
+ }
200
+ else {
201
+ absent.push(scan.agentId);
202
+ }
203
+ }
204
+ if (present.length === 0 || absent.length === 0)
205
+ return [];
206
+ return [
207
+ makeFinding({
208
+ suffix: "cross-agent-inconsistent",
209
+ severity: "warn",
210
+ message: `The skill "${skill.name}" is linked for some agents but not all`,
211
+ subject: { kind: "extension", ref: `skill:${skill.name}` },
212
+ details: `Present: ${present.join(", ")}; Absent: ${absent.join(", ")}`,
213
+ action: SYNC_ACTION,
214
+ }),
215
+ ];
216
+ })
217
+ .sort((left, right) => left.message.localeCompare(right.message)));
218
+ },
219
+ };
220
+ // ---------------------------------------------------------------------------
221
+ // Check definition
222
+ // ---------------------------------------------------------------------------
223
+ export const extensionsActiveCheck = defineCheck({
224
+ id: CHECK_IDS.extensionsActive,
225
+ title: "Extensions are active",
226
+ description: "Verifies that enabled extensions are linked into agent skill directories and disabled ones are removed.",
227
+ dependsOn: [CHECK_IDS.extensionsInstalled, CHECK_IDS.agentsConfigured],
228
+ prepareContext: prepareContext(),
229
+ diagnostics: [
230
+ enabledNotLinkedDiagnostic,
231
+ disabledStillPresentDiagnostic,
232
+ brokenSymlinkDiagnostic,
233
+ staleArtifactDiagnostic,
234
+ nameMismatchDiagnostic,
235
+ crossAgentInconsistentDiagnostic,
236
+ ],
237
+ });
238
+ //# sourceMappingURL=extensions-active.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions-active.js","sourceRoot":"","sources":["../../../../../../src/unstable/workspace/doctor/checks/extensions-active.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Doctor check: extensions-current
3
+ *
4
+ * Compares installed extension versions against registry availability and emits
5
+ * info-severity findings for non-current extensions.
6
+ *
7
+ * Depends on `extensions-installed` — if that check fails, this one is skipped
8
+ * by the runner's dependency cascade.
9
+ */
10
+ import type { RegistryClient } from "../../../registry/client.js";
11
+ /**
12
+ * Create the extensions-current check.
13
+ *
14
+ * Accepts a `RegistryClient` so callers (diagnose, tests) can inject the client
15
+ * appropriate for their context.
16
+ */
17
+ export declare const makeExtensionsCurrentCheck: (client: RegistryClient) => import("../check-def.js").CheckDef<import("../../service-interface.ts").Workspace>;
18
+ //# sourceMappingURL=extensions-current.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions-current.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/workspace/doctor/checks/extensions-current.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAkGlE;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,cAAc,uFAc7D,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Doctor check: extensions-current
3
+ *
4
+ * Compares installed extension versions against registry availability and emits
5
+ * info-severity findings for non-current extensions.
6
+ *
7
+ * Depends on `extensions-installed` — if that check fails, this one is skipped
8
+ * by the runner's dependency cascade.
9
+ */
10
+ import * as Effect from "effect/Effect";
11
+ import * as Option from "effect/Option";
12
+ import { extensionTypeSentenceLabels } from "../../../extensions/index.js";
13
+ import { collectAllCurrencyEntries } from "../../version-currency/index.js";
14
+ import { defineCheck } from "../check-def.js";
15
+ import { CHECK_IDS } from "../types.js";
16
+ // ---------------------------------------------------------------------------
17
+ // Finding builders
18
+ // ---------------------------------------------------------------------------
19
+ const makeFinding = (args) => ({
20
+ id: `${CHECK_IDS.extensionsCurrent}.${args.suffix}`,
21
+ severity: args.severity,
22
+ message: args.message,
23
+ subject: args.subject,
24
+ ...(args.details === undefined ? {} : { details: args.details }),
25
+ action: args.action,
26
+ });
27
+ const updateAction = (ref) => ({
28
+ label: "Update",
29
+ description: `Update ${ref} to the latest available version`,
30
+ command: `axm update ${ref}`,
31
+ });
32
+ const buildCurrencyFindings = (entries) => entries.flatMap((entry) => {
33
+ const { currency } = entry;
34
+ if (currency.status === "current")
35
+ return [];
36
+ const subject = { kind: "extension", ref: entry.ref };
37
+ if (currency.status === "major-update-available") {
38
+ return [
39
+ makeFinding({
40
+ suffix: "major-update-available",
41
+ severity: "info",
42
+ message: `A major update is available for the ${extensionTypeSentenceLabels[entry.type]} "${entry.ref}".`,
43
+ subject,
44
+ details: `Installed ${entry.installedVersion}, latest ${currency.latestAvailable}`,
45
+ action: updateAction(entry.ref),
46
+ }),
47
+ ];
48
+ }
49
+ // update-available
50
+ const latestStr = Option.match(currency.latestMatching, {
51
+ onNone: () => currency.latestAvailable,
52
+ onSome: (ver) => ver,
53
+ });
54
+ return [
55
+ makeFinding({
56
+ suffix: "update-available",
57
+ severity: "info",
58
+ message: `An update is available for the ${extensionTypeSentenceLabels[entry.type]} "${entry.ref}".`,
59
+ subject,
60
+ details: `Installed ${entry.installedVersion}, latest matching ${latestStr}`,
61
+ action: updateAction(entry.ref),
62
+ }),
63
+ ];
64
+ });
65
+ // ---------------------------------------------------------------------------
66
+ // Diagnostic
67
+ // ---------------------------------------------------------------------------
68
+ const extensionsCurrentDiagnostic = {
69
+ id: "extensions-current.currency",
70
+ run: (ctx) => Effect.succeed(buildCurrencyFindings(ctx.entries)),
71
+ };
72
+ // ---------------------------------------------------------------------------
73
+ // Check factory
74
+ // ---------------------------------------------------------------------------
75
+ /**
76
+ * Create the extensions-current check.
77
+ *
78
+ * Accepts a `RegistryClient` so callers (diagnose, tests) can inject the client
79
+ * appropriate for their context.
80
+ */
81
+ export const makeExtensionsCurrentCheck = (client) => defineCheck({
82
+ id: CHECK_IDS.extensionsCurrent,
83
+ title: "Extensions are current",
84
+ description: "Checks whether installed extension versions are the latest available from the registry.",
85
+ dependsOn: [CHECK_IDS.extensionsInstalled],
86
+ prepareContext: Effect.gen(function* () {
87
+ const entries = yield* collectAllCurrencyEntries(client).pipe(Effect.orElseSucceed(() => []));
88
+ return { entries };
89
+ }),
90
+ diagnostics: [extensionsCurrentDiagnostic],
91
+ });
92
+ //# sourceMappingURL=extensions-current.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions-current.js","sourceRoot":"","sources":["../../../../../../src/unstable/workspace/doctor/checks/extensions-current.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type * as FileSystem from "effect/FileSystem";
3
3
  import type * as Path from "effect/Path";
4
4
  import type * as Scope from "effect/Scope";
5
5
  import type { WorkspaceContextOptions } from "../service-interface.js";
6
- export declare const diagnoseWorkspaceDoctor: (options: Pick<WorkspaceContextOptions, "scope" | "builtInSources">) => Effect.Effect<{
6
+ export declare const diagnoseWorkspaceDoctor: (options: Pick<WorkspaceContextOptions, "scope" | "projectRoot" | "builtInSources">) => Effect.Effect<{
7
7
  readonly scope: "project" | "user";
8
8
  readonly checks: readonly {
9
9
  readonly title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/workspace/doctor/diagnose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAK3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAiCvE,eAAO,MAAM,uBAAuB,GAClC,SAAS,IAAI,CAAC,uBAAuB,EAAE,OAAO,GAAG,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGA+ChE,CAAC"}
1
+ {"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/workspace/doctor/diagnose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAO3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAoCvE,eAAO,MAAM,uBAAuB,GAClC,SAAS,IAAI,CAAC,uBAAuB,EAAE,OAAO,GAAG,aAAa,GAAG,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGA2DhF,CAAC"}
@@ -2,18 +2,22 @@ import * as Effect from "effect/Effect";
2
2
  import * as Layer from "effect/Layer";
3
3
  import * as Option from "effect/Option";
4
4
  import { CodingAgentRepository, CodingAgentRepositoryLive } from "../../agents/index.js";
5
+ import { createRegistryClient } from "../../registry/index.js";
5
6
  import { SourceHostProviders, SourceHostProvidersLive } from "../../source-resolution/index.js";
6
7
  import { locateWorkspace } from "../paths.js";
7
8
  import { Workspace } from "../service-interface.js";
8
9
  import { loadWorkspace } from "../service.js";
9
10
  import { agentsConfiguredCheck } from "./checks/agents-configured.js";
11
+ import { extensionsActiveCheck } from "./checks/extensions-active.js";
12
+ import { makeExtensionsCurrentCheck } from "./checks/extensions-current.js";
10
13
  import { extensionsInstalledCheck } from "./checks/extensions-installed.js";
11
14
  import { makeWorkspaceReadyCheck } from "./checks/workspace-ready.js";
12
15
  import { summarize } from "./rollup.js";
13
16
  import { runCheckGraph } from "./runner.js";
14
- const dependentChecks = [
17
+ const staticDependentChecks = [
15
18
  agentsConfiguredCheck,
16
19
  extensionsInstalledCheck,
20
+ extensionsActiveCheck,
17
21
  ];
18
22
  const skipCheck = (check, failedTitle) => ({
19
23
  id: check.id,
@@ -25,14 +29,14 @@ const skipCheck = (check, failedTitle) => ({
25
29
  findings: [],
26
30
  });
27
31
  export const diagnoseWorkspaceDoctor = (options) => Effect.gen(function* () {
28
- const workspace = yield* locateWorkspace(options.scope);
32
+ const workspace = yield* locateWorkspace(options.scope, options.projectRoot);
29
33
  const workspaceReadyCheck = makeWorkspaceReadyCheck(workspace);
30
34
  const rootReport = yield* runCheckGraph([workspaceReadyCheck], workspace);
31
35
  const rootCheck = rootReport.checks[0];
32
36
  if (rootCheck !== undefined && rootCheck.status === "fail") {
33
37
  const checks = [
34
38
  rootCheck,
35
- ...dependentChecks.map((check) => skipCheck(check, rootCheck.title)),
39
+ ...staticDependentChecks.map((check) => skipCheck(check, rootCheck.title)),
36
40
  ];
37
41
  const summary = summarize(checks);
38
42
  return {
@@ -55,10 +59,19 @@ export const diagnoseWorkspaceDoctor = (options) => Effect.gen(function* () {
55
59
  onNone: () => CodingAgentRepositoryLive,
56
60
  onSome: (service) => Layer.succeed(CodingAgentRepository, service),
57
61
  });
62
+ const registrySources = yield* workspaceService
63
+ .getRegistrySourceHosts()
64
+ .pipe(Effect.orElseSucceed(() => []));
65
+ const firstSource = registrySources[0];
66
+ const dynamicChecks = firstSource === undefined
67
+ ? []
68
+ : [makeExtensionsCurrentCheck(yield* createRegistryClient(firstSource.location.href))];
58
69
  const checks = [
59
70
  workspaceReadyCheck,
60
71
  agentsConfiguredCheck,
61
72
  extensionsInstalledCheck,
73
+ extensionsActiveCheck,
74
+ ...dynamicChecks,
62
75
  ];
63
76
  return yield* runCheckGraph(checks, workspace).pipe(Effect.provide(Layer.mergeAll(workspaceLayer, sourceProvidersLayer, codingAgentRepositoryLayer)));
64
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../../../../src/unstable/workspace/doctor/diagnose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../../../../src/unstable/workspace/doctor/diagnose.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,8 @@ export declare const CHECK_IDS: {
120
120
  readonly workspaceReady: "workspace-ready";
121
121
  readonly agentsConfigured: "agents-configured";
122
122
  readonly extensionsInstalled: "extensions-installed";
123
+ readonly extensionsCurrent: "extensions-current";
124
+ readonly extensionsActive: "extensions-active";
123
125
  };
124
126
  export type CheckId = (typeof CHECK_IDS)[keyof typeof CHECK_IDS];
125
127
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/workspace/doctor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,eAAO,MAAM,qBAAqB,qDAAsD,CAAC;AACzF,MAAM,MAAM,eAAe,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEhE,eAAO,MAAM,iBAAiB,4DAA6D,CAAC;AAC5F,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAExD,eAAO,MAAM,oBAAoB;;;EAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAC;AAE9D,eAAO,MAAM,YAAY;;;;;EAKvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAE9C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAOxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEhD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAE5C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;EAa9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAE5D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAC;AAE5E,eAAO,MAAM,SAAS;;;;CAI4E,CAAC;AAEnG,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/workspace/doctor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,eAAO,MAAM,qBAAqB,qDAAsD,CAAC;AACzF,MAAM,MAAM,eAAe,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEhE,eAAO,MAAM,iBAAiB,4DAA6D,CAAC;AAC5F,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAExD,eAAO,MAAM,oBAAoB;;;EAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAC;AAE9D,eAAO,MAAM,YAAY;;;;;EAKvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAE9C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAOxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEhD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAE5C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;EAa9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAE5D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAC;AAE5E,eAAO,MAAM,SAAS;;;;;;CAarB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
@@ -54,5 +54,7 @@ export const CHECK_IDS = {
54
54
  workspaceReady: "workspace-ready",
55
55
  agentsConfigured: "agents-configured",
56
56
  extensionsInstalled: "extensions-installed",
57
+ extensionsCurrent: "extensions-current",
58
+ extensionsActive: "extensions-active",
57
59
  };
58
60
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/unstable/workspace/doctor/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/unstable/workspace/doctor/types.ts"],"names":[],"mappings":"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"}
@@ -30,4 +30,5 @@ export type { ResolvePlanInteractionService, ResolvePlanInteractionTestState, }
30
30
  export { ResolvePlanInteraction, ResolvePlanInteractionLive, ResolvePlanInteractionTest, } from "./resolve-plan-interaction.js";
31
31
  export { previewOrApplyPlan } from "./resolve-plan.js";
32
32
  export { displayPlan } from "./display-plan.js";
33
+ export { checkCurrency, collectAllCurrencyEntries, collectCommandCurrency, collectMcpServerCurrency, collectPackCurrency, collectSkillCurrency, collectSubagentCurrency, type CurrencyResult, type CurrencyStatus, type ExtensionCurrencyEntry, } from "./version-currency/index.js";
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/unstable/workspace/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/unstable/workspace/index.ts"],"names":[],"mappings":"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"}
@@ -43,4 +43,6 @@ export { ResolvePlanInteraction, ResolvePlanInteractionLive, ResolvePlanInteract
43
43
  export { previewOrApplyPlan } from "./resolve-plan.js";
44
44
  // Plan display
45
45
  export { displayPlan } from "./display-plan.js";
46
+ // Version currency
47
+ export { checkCurrency, collectAllCurrencyEntries, collectCommandCurrency, collectMcpServerCurrency, collectPackCurrency, collectSkillCurrency, collectSubagentCurrency, } from "./version-currency/index.js";
46
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/unstable/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,aAAa;AACb,OAAO,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAC;AAEnE,iBAAiB;AACjB,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,GAEhB,MAAM,YAAY,CAAC;AAEpB,kBAAkB;AAClB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAuB,MAAM,YAAY,CAAC;AAE5F,aAAa;AACb,OAAO,EACL,kBAAkB,EAClB,aAAa,GAId,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,EACzB,iCAAiC,EACjC,sCAAsC,EACtC,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,EACxB,gCAAgC,EAChC,qCAAqC,EACrC,8BAA8B,EAC9B,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAyBjC,iBAAiB;AACjB,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,GAEjC,MAAM,qBAAqB,CAAC;AAE7B,SAAS;AACT,OAAO,EACL,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,GAS5B,MAAM,mBAAmB,CAAC;AAE3B,sBAAsB;AACtB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAK5B,MAAM,gCAAgC,CAAC;AAExC,8BAA8B;AAC9B,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAQ1B,MAAM,wCAAwC,CAAC;AAEhD,OAAO;AACP,OAAO,EACL,mCAAmC,EACnC,yBAAyB,EACzB,aAAa,GAEd,MAAM,WAAW,CAAC;AAenB,kBAAkB;AAClB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,GAElB,MAAM,sBAAsB,CAAC;AAE9B,uCAAuC;AACvC,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,sBAAsB;AACtB,OAAO,EAAE,iBAAiB,EAA4B,MAAM,0BAA0B,CAAC;AAEvF,eAAe;AACf,OAAO,EACL,6BAA6B,GAI9B,MAAM,mBAAmB,CAAC;AAE3B,sCAAsC;AACtC,OAAO,EACL,SAAS,GAoBV,MAAM,wBAAwB,CAAC;AAEhC,2CAA2C;AAC3C,OAAO,EAAE,KAAK,EAAE,aAAa,EAA8B,MAAM,cAAc,CAAC;AAEhF,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,kCAAkC,EAClC,sCAAsC,EACtC,sCAAsC,GACvC,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/unstable/workspace/index.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import * as FileSystem from "effect/FileSystem";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  import * as Path from "effect/Path";
5
- import * as ServiceMap from "effect/ServiceMap";
5
+ import * as ServiceMap from "effect/Context";
6
6
  import * as Terminal from "effect/Terminal";
7
7
  import type { AgentDescriptor } from "../agents/index.js";
8
8
  import type { AppError } from "../app-error/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"initialization-interaction.d.ts","sourceRoot":"","sources":["../../../../src/unstable/workspace/initialization-interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIzE,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE;QAC/B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC7C,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC,CAAC;CACxE;;AAED,qBAAa,kCAAmC,SAAQ,uCAGI;CAAG;AAE/D,eAAO,MAAM,sCAAsC,+GA4BlD,CAAC;AAEF,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAChC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC7C,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,sCAAsC,GAAI,YAAY;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QAChC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC7C,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC,CAAC;CACxE;;;CAcA,CAAC"}
1
+ {"version":3,"file":"initialization-interaction.d.ts","sourceRoot":"","sources":["../../../../src/unstable/workspace/initialization-interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIzE,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE;QAC/B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC7C,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC,CAAC;CACxE;;AAED,qBAAa,kCAAmC,SAAQ,uCAGI;CAAG;AAE/D,eAAO,MAAM,sCAAsC,+GA4BlD,CAAC;AAEF,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAChC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC7C,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,sCAAsC,GAAI,YAAY;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QAChC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC7C,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC,CAAC;CACxE;;;CAcA,CAAC"}
@@ -2,7 +2,7 @@ import * as FileSystem from "effect/FileSystem";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  import * as Path from "effect/Path";
5
- import * as ServiceMap from "effect/ServiceMap";
5
+ import * as ServiceMap from "effect/Context";
6
6
  import * as Terminal from "effect/Terminal";
7
7
  import { Prompt } from "effect/unstable/cli";
8
8
  import { requireInteractive } from "../cli/prompt/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"initialization-interaction.js","sourceRoot":"","sources":["../../../../src/unstable/workspace/initialization-interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AASzD,MAAM,OAAO,kCAAmC,SAAQ,UAAU,CAAC,OAAO,EAGvE,CAAC,uDAAuD,CAAC;CAAG;AAE/D,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAK,CAAC,MAAM,CAChE,kCAAkC,EAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1C,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EAChD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAC9B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC3C,CAAC;IAEF,OAAO;QACL,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAC3C,kBAAkB,CAChB,MAAM,CAAC,WAAW,CAAC;YACjB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACjC,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,KAAK,EAAE,KAAK,CAAC,EAAE;gBACf,WAAW,EAAE,WAAW,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC1C,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;aACzC,CAAC,CAAC;SACJ,CAAC,EACF,EAAE,OAAO,EAAE,mBAAmB,EAAE,CACjC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACQ,CAAC;AACxD,CAAC,CAAC,CACH,CAAC;AASF,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,SAKtD,EAAE,EAAE;IACH,MAAM,KAAK,GAAgD;QACzD,iBAAiB,EAAE,EAAE;KACtB,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,kCAAkC,EAAE;QAC9D,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC;KAC+C,CAAC,CAAC;IAEvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"initialization-interaction.js","sourceRoot":"","sources":["../../../../src/unstable/workspace/initialization-interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AASzD,MAAM,OAAO,kCAAmC,SAAQ,UAAU,CAAC,OAAO,EAGvE,CAAC,uDAAuD,CAAC;CAAG;AAE/D,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAK,CAAC,MAAM,CAChE,kCAAkC,EAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1C,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EAChD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAC9B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC3C,CAAC;IAEF,OAAO;QACL,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAC3C,kBAAkB,CAChB,MAAM,CAAC,WAAW,CAAC;YACjB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACjC,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,KAAK,EAAE,KAAK,CAAC,EAAE;gBACf,WAAW,EAAE,WAAW,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC1C,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;aACzC,CAAC,CAAC;SACJ,CAAC,EACF,EAAE,OAAO,EAAE,mBAAmB,EAAE,CACjC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACQ,CAAC;AACxD,CAAC,CAAC,CACH,CAAC;AASF,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,SAKtD,EAAE,EAAE;IACH,MAAM,KAAK,GAAgD;QACzD,iBAAiB,EAAE,EAAE;KACtB,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,kCAAkC,EAAE;QAC9D,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC;KAC+C,CAAC,CAAC;IAEvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC,CAAC"}
@@ -51,7 +51,7 @@ export const initializeProjectWorkspace = (localDir, options) => Effect.gen(func
51
51
  }
52
52
  else {
53
53
  // Detect installed agents
54
- const detectedAgents = yield* detectAgents(process.cwd()).pipe(Effect.mapError((error) => makeAppError({
54
+ const detectedAgents = yield* detectAgents(options.projectRoot ?? process.cwd()).pipe(Effect.mapError((error) => makeAppError({
55
55
  code: "WORKSPACE_INITIALIZATION_FAILED",
56
56
  what: `Failed to detect agents: ${error.message}`,
57
57
  cause: error,
@@ -139,7 +139,7 @@ export const ensureProjectWorkspaceInitialized = (localDir, options) => Effect.g
139
139
  });
140
140
  export const bootstrapWorkspace = (options) => Effect.gen(function* () {
141
141
  const path = yield* Path.Path;
142
- const workspaceDir = yield* getAxmDir(options.scope);
142
+ const workspaceDir = yield* getAxmDir(options.scope, options.projectRoot);
143
143
  const location = {
144
144
  scope: options.scope,
145
145
  path: workspaceDir,