@angelmsger/fx 0.17.0 → 0.18.1

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 (74) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/adapters/error-tracker/sentry/client.js +7 -0
  3. package/dist/adapters/error-tracker/sentry/client.js.map +1 -1
  4. package/dist/adapters/error-tracker/sentry/provider.js +5 -1
  5. package/dist/adapters/error-tracker/sentry/provider.js.map +1 -1
  6. package/dist/adapters/error-tracker/sentry/service.js +8 -3
  7. package/dist/adapters/error-tracker/sentry/service.js.map +1 -1
  8. package/dist/adapters/error-tracker/sentry/tracker.js +8 -0
  9. package/dist/adapters/error-tracker/sentry/tracker.js.map +1 -1
  10. package/dist/application/doctor/index.js +40 -23
  11. package/dist/application/doctor/index.js.map +1 -1
  12. package/dist/application/doctor/tools.js +1 -0
  13. package/dist/application/doctor/tools.js.map +1 -1
  14. package/dist/application/login/check.js +11 -0
  15. package/dist/application/login/check.js.map +1 -1
  16. package/dist/application/login/stage.js +1 -1
  17. package/dist/application/login/stage.js.map +1 -1
  18. package/dist/application/member/list.js +2 -3
  19. package/dist/application/member/list.js.map +1 -1
  20. package/dist/application/member/selectors.js +13 -0
  21. package/dist/application/member/selectors.js.map +1 -0
  22. package/dist/application/member/show.js +2 -2
  23. package/dist/application/member/show.js.map +1 -1
  24. package/dist/application/member/view.js +40 -0
  25. package/dist/application/member/view.js.map +1 -0
  26. package/dist/application/readiness/can.js +12 -3
  27. package/dist/application/readiness/can.js.map +1 -1
  28. package/dist/application/readiness/index.js +32 -2
  29. package/dist/application/readiness/index.js.map +1 -1
  30. package/dist/application/readiness/where.js +49 -9
  31. package/dist/application/readiness/where.js.map +1 -1
  32. package/dist/application/release/errors.js +6 -0
  33. package/dist/application/release/errors.js.map +1 -1
  34. package/dist/application/release/facts.js +14 -4
  35. package/dist/application/release/facts.js.map +1 -1
  36. package/dist/application/services/operation.js +1 -0
  37. package/dist/application/services/operation.js.map +1 -1
  38. package/dist/application/tool/check.js +4 -4
  39. package/dist/application/tool/check.js.map +1 -1
  40. package/dist/application/tool/install.js +2 -1
  41. package/dist/application/tool/install.js.map +1 -1
  42. package/dist/application/tool/scope.js +4 -3
  43. package/dist/application/tool/scope.js.map +1 -1
  44. package/dist/application/tool/version.js +1 -0
  45. package/dist/application/tool/version.js.map +1 -1
  46. package/dist/cli/commands/can.js +1 -1
  47. package/dist/cli/commands/can.js.map +1 -1
  48. package/dist/cli/commands/doctor.js +1 -1
  49. package/dist/cli/commands/doctor.js.map +1 -1
  50. package/dist/cli/commands/index.js +2 -0
  51. package/dist/cli/commands/index.js.map +1 -1
  52. package/dist/cli/commands/member/selectors.js +21 -0
  53. package/dist/cli/commands/member/selectors.js.map +1 -0
  54. package/dist/cli/notices.js +5 -4
  55. package/dist/cli/notices.js.map +1 -1
  56. package/dist/cli/release-coverage.js +47 -0
  57. package/dist/cli/release-coverage.js.map +1 -0
  58. package/dist/cli/release-view.js +26 -38
  59. package/dist/cli/release-view.js.map +1 -1
  60. package/dist/domain/manifest/providers.js.map +1 -1
  61. package/dist/domain/manifest/rules/services.js +1 -1
  62. package/dist/domain/manifest/rules/services.js.map +1 -1
  63. package/dist/domain/members/selectors.js +26 -0
  64. package/dist/domain/members/selectors.js.map +1 -0
  65. package/dist/domain/report.js +1 -0
  66. package/dist/domain/report.js.map +1 -1
  67. package/dist/domain/setup/planner.js +20 -18
  68. package/dist/domain/setup/planner.js.map +1 -1
  69. package/dist/domain/toolchain/command.js +6 -0
  70. package/dist/domain/toolchain/command.js.map +1 -0
  71. package/package.json +1 -1
  72. package/skills/fx-workspace/SKILL.md +7 -1
  73. package/skills/fx-workspace/references/commands.md +19 -1
  74. package/skills/fx-workspace/references/workspace-tasks.md +19 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## 0.18.1 (2026-11-12)
6
+
7
+ - Separate confirmed release failures from incomplete checks, group repeated unavailable causes with recovery, and preserve structured query errors. Missing Sentry projects no longer trigger organization-wide queries or misleading release failures.
8
+
9
+ ## 0.18.0 (2026-11-12)
10
+
11
+ - Bind readiness evidence, provider commands, handoffs and probes to the same executable and workspace, including custom binary names.
12
+ - Scope tool diagnosis and repair before setup expansion; distinguish startup prerequisites from credential handoffs.
13
+ - Support manual personal-token acquisition for Sentry instances without device OAuth while preserving existing authentication.
14
+ - Add member selector discovery and workspace-preserving query corrections, with updated companion guidance and regression coverage.
15
+
5
16
  ## 0.17.0 (2026-11-10)
6
17
 
7
18
  - Declare personal mentors and leaders on `people`; member list/show expose explicit IDs or null, and validation rejects invalid references and cycles.
@@ -35,6 +35,13 @@ export function sentryFailed(call, what) {
35
35
  nextSteps: [`fx login ${BINARY}`, `${BINARY} auth status`],
36
36
  });
37
37
  }
38
+ // The CLI repeats the project and wrapping errors before the network cause.
39
+ // Keep the cause independent of the project so a shared outage reads once.
40
+ const network = detail.indexOf('Network error');
41
+ if (network >= 0)
42
+ return new DevkitError('network', 'PLATFORM_QUERY_FAILED', `${BINARY}: ${detail.slice(network)}`, {
43
+ nextSteps: ['Check connectivity and VPN, then retry.', `fx doctor --tool ${BINARY}`],
44
+ });
38
45
  return new DevkitError(categoryOf(call.code), 'PLATFORM_QUERY_FAILED', `${BINARY} could not ${what}: ${detail}`, { nextSteps: [`fx doctor --tool ${BINARY}`] });
39
46
  }
40
47
  function categoryOf(code) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/client.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,11 @@ export const sentryProvider = {
8
8
  id: BINARY,
9
9
  capability: 'error-tracker',
10
10
  impliedByPlatform: [BINARY],
11
- settings: { fields: ['base_url', 'org'] },
11
+ settings: {
12
+ fields: ['base_url', 'org', 'auth_scheme', 'credential_url'],
13
+ authSchemes: ['token'],
14
+ optionalFields: ['auth_scheme'],
15
+ },
12
16
  tools: [BINARY],
13
17
  recipes: SENTRY_RECIPES,
14
18
  service: sentryService,
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/provider.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qEAAqE;AAKrE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,cAAc,GAAqC;IAC9D,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,eAAe;IAC3B,iBAAiB,EAAE,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;IACzC,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,aAAa;IACtB,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE;QACnF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC3D;IACD,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,KAAK,EAAE;QACxE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/E;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;CACvD,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/provider.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qEAAqE;AAKrE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,cAAc,GAAqC;IAC9D,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,eAAe;IAC3B,iBAAiB,EAAE,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,CAAC;QAC5D,WAAW,EAAE,CAAC,OAAO,CAAC;QACtB,cAAc,EAAE,CAAC,aAAa,CAAC;KAChC;IACD,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,aAAa;IACtB,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE;QACnF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC3D;IACD,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,KAAK,EAAE;QACxE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/E;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;CACvD,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export function sentryService(settings) {
2
2
  const url = settings.base_url ?? '';
3
+ const token = settings.auth_scheme === 'token';
4
+ const credentialUrl = settings.credential_url ?? `${url.replace(/\/+$/, '')}/settings/account/api/auth-tokens/`;
3
5
  return {
4
6
  preparation: {
5
7
  kind: 'file',
@@ -13,11 +15,14 @@ export function sentryService(settings) {
13
15
  id: 'credential',
14
16
  tool: 'sentry',
15
17
  perEnv: false,
16
- kind: 'run',
18
+ kind: token ? 'manual' : 'run',
17
19
  phase: 'authenticate',
18
20
  title: 'Sign in to the shared Sentry instance with your own account',
19
- instructions: 'Complete the personal device/browser authorization. The manifest supplies only the service URL and organization, never a personal token.',
20
- run: ['auth', 'login', '--url', url],
21
+ instructions: token
22
+ ? 'Create a personal token with the scopes needed for the requested operation, then save it through the Sentry CLI in your own terminal. Do not put the token in chat or the manifest. Browser sign-in alone does not authenticate the CLI.'
23
+ : 'Complete personal device/browser authorization. If the server rejects the OAuth client (invalid_client), use a personal token from the linked page and configure service.auth_scheme: token for this instance; do not repeat the same device flow. The manifest never contains a personal token.',
24
+ open: credentialUrl,
25
+ ...(token ? {} : { run: ['auth', 'login', '--url', url] }),
21
26
  verify: { command: ['auth', 'status'] },
22
27
  },
23
28
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/service.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,aAAa,CAAC,QAAyB;IACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpC,OAAO;QACL,WAAW,EAAE;YACX,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,cAAc;YACxB,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE;YAChD,IAAI,EAAE,qGAAqG,GAAG,WAAW,QAAQ,CAAC,GAAG,IAAI,EAAE,IAAI;SAChJ;QACD,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE;QAC1E,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,6DAA6D;gBACpE,YAAY,EACV,0IAA0I;gBAC5I,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC;gBACpC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;aACxC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/service.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,aAAa,CAAC,QAAyB;IACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,KAAK,OAAO,CAAC;IAC/C,MAAM,aAAa,GACjB,QAAQ,CAAC,cAAc,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,oCAAoC,CAAC;IAC5F,OAAO;QACL,WAAW,EAAE;YACX,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,cAAc;YACxB,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE;YAChD,IAAI,EAAE,qGAAqG,GAAG,WAAW,QAAQ,CAAC,GAAG,IAAI,EAAE,IAAI;SAChJ;QACD,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE;QAC1E,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;gBAC9B,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,6DAA6D;gBACpE,YAAY,EAAE,KAAK;oBACjB,CAAC,CAAC,0OAA0O;oBAC5O,CAAC,CAAC,kSAAkS;gBACtS,IAAI,EAAE,aAAa;gBACnB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;aACxC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -2,6 +2,8 @@
2
2
  // the recipe is not per environment; coordinates differ per environment.
3
3
  // The one query lists a project's unresolved issues first seen inside a
4
4
  // window; the domain judges first-seen again from the dates it gets back.
5
+ import { DevkitError } from '../../../domain/errors.js';
6
+ import { placeholders } from '../../../domain/template.js';
5
7
  import { objectOf, stringAt, unreadableError } from '../../family/cli.js';
6
8
  import { TemplatePlatform } from '../../platform/template-platform.js';
7
9
  import { BINARY, SentryCli, sentryFailed } from './client.js';
@@ -39,6 +41,12 @@ export class SentryErrorTracker {
39
41
  return this.platform.probe(vars);
40
42
  }
41
43
  async issues(vars, query) {
44
+ const missing = ['org', 'slug'].filter((key) => !vars[key]?.trim() || placeholders(vars[key] ?? '').length > 0);
45
+ if (missing.length > 0)
46
+ throw new DevkitError('config', 'SENTRY_PROJECT_REQUIRED', `Sentry project coordinate is incomplete: missing ${missing.join(', ')}`, {
47
+ hint: 'A repository check requires an organization and project; it must not query all projects.',
48
+ nextSteps: ['fx manifest lint', 'fx where <repo> --env <env>'],
49
+ });
42
50
  const project = `${vars['org'] ?? ''}/${vars['slug'] ?? ''}`;
43
51
  const call = await this.cli.call([
44
52
  'issue',
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../../src/adapters/error-tracker/sentry/tracker.ts"],"names":[],"mappings":"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"}
@@ -42,25 +42,35 @@ export class Doctor {
42
42
  async execute(input) {
43
43
  validateSetupSelection(this.deps.ctx, input, this.deps.commandShell);
44
44
  const toolScope = workspaceToolScope(this.deps.ctx, input, this.deps.commandShell);
45
- const repairs = input.fix ? await this.fix({ ...input, tools: toolScope.configuredNames }) : [];
45
+ const repairs = input.fix ? await this.fix(input, toolScope.configuredNames) : [];
46
46
  const groups = await Tally.during(this.deps.activity, 'checks', (checks) => this.check(input, toolScope, checks));
47
47
  return this.summarize(input, toolScope, groups.flat(), repairs);
48
48
  }
49
49
  // One unit per group, except the two that run a companion per tool and per step.
50
50
  check(input, toolScope, checks) {
51
51
  const group = (name, check) => checks.plan(1).unit(name, check);
52
+ const tools = checkTools(this.deps, toolScope, checks);
53
+ const login = tools.then((findings) => checkLogin(this.deps, this.doctor.login, {
54
+ tools: toolScope.configuredNames,
55
+ requiredTools: toolScope.required,
56
+ envs: input.envs,
57
+ dryRun: input.dryRun,
58
+ blockedTools: new Set(findings.filter((f) => f.evidence?.['state'] !== 'ok').map((f) => f.id)),
59
+ }, checks));
60
+ if (input.tools !== undefined)
61
+ return Promise.all([
62
+ toolScope.problems,
63
+ group('installations', () => checkInstallations(this.doctor.inventory, toolScope.configuredNames)),
64
+ tools,
65
+ login,
66
+ ]);
52
67
  return Promise.all([
53
68
  toolScope.problems,
54
69
  group('repos', () => checkRepos(this.deps)),
55
70
  group('root', () => checkRoot(this.deps, { hosts: this.doctor.skills.hosts, login: this.doctor.login })),
56
71
  group('installations', () => checkInstallations(this.doctor.inventory, input.tools)),
57
- checkTools(this.deps, toolScope, checks),
58
- checkLogin(this.deps, this.doctor.login, {
59
- tools: toolScope.configuredNames,
60
- requiredTools: toolScope.required,
61
- envs: input.envs,
62
- dryRun: input.dryRun,
63
- }, checks),
72
+ tools,
73
+ login,
64
74
  group('agents', () => checkAgents(this.deps, this.doctor.skills)),
65
75
  group('manifest', () => checkManifest(this.deps, this.doctor.login, this.doctor.bundledTools, this.doctor.updates)),
66
76
  group('self', () => checkSelf(this.doctor.updates)),
@@ -68,7 +78,9 @@ export class Doctor {
68
78
  ]);
69
79
  }
70
80
  async summarize(input, toolScope, findings, repairs) {
71
- const groupOrder = [...GROUPS, ...this.extensions.map((extension) => extension.group)];
81
+ const groupOrder = input.tools === undefined
82
+ ? [...GROUPS, ...this.extensions.map((extension) => extension.group)]
83
+ : ['installations', 'tools', 'login', 'manifest'];
72
84
  const diagnostic = report(groupOrder, findings);
73
85
  const plan = await new Login(this.deps, this.doctor.login).plan({
74
86
  tools: toolScope.configuredNames,
@@ -111,6 +123,9 @@ export class Doctor {
111
123
  preparationCheck(item, plan, toolScope) {
112
124
  const step = item.group === 'login' ? plan.steps.find((step) => step.id === item.id) : undefined;
113
125
  const check = findingCheck(item, step ? toolScope.required.has(step.tool) : item.required);
126
+ const waitsOn = item.evidence?.['waits_on'];
127
+ if (typeof waitsOn === 'string')
128
+ return { ...check, waits_on: waitsOn, actions: [], owner: 'agent' };
114
129
  if (step === undefined || item.level === 'ok' || item.actions)
115
130
  return check;
116
131
  const handoff = handoffOf(item, step);
@@ -119,7 +134,7 @@ export class Doctor {
119
134
  actions: setupActions(this.deps, step, this.doctor.login.home, { handoff }),
120
135
  };
121
136
  }
122
- async fix(input) {
137
+ async fix(input, tools) {
123
138
  if (!input.dryRun)
124
139
  assertWritable(input.posture, 'doctor --fix');
125
140
  const repairs = [];
@@ -135,22 +150,24 @@ export class Doctor {
135
150
  repairs.push({ group, status: 'failed', failure: toEnvelope(failure).error });
136
151
  }
137
152
  };
138
- for (const extension of this.extensions) {
139
- if (extension.fix)
140
- await attempt(extension.group, () => extension.fix(input));
153
+ if (input.tools === undefined) {
154
+ for (const extension of this.extensions) {
155
+ if (extension.fix)
156
+ await attempt(extension.group, () => extension.fix(input));
157
+ }
158
+ await attempt('agents', () => new SkillStage(this.deps, this.doctor.skills).execute({
159
+ dryRun: input.dryRun,
160
+ posture: input.posture,
161
+ }));
162
+ await attempt('manifest', () => new DeriveDocs(this.deps, this.doctor.login).execute({
163
+ check: false,
164
+ dryRun: input.dryRun,
165
+ posture: input.posture,
166
+ }));
141
167
  }
142
- await attempt('agents', () => new SkillStage(this.deps, this.doctor.skills).execute({
143
- dryRun: input.dryRun,
144
- posture: input.posture,
145
- }));
146
- await attempt('manifest', () => new DeriveDocs(this.deps, this.doctor.login).execute({
147
- check: false,
148
- dryRun: input.dryRun,
149
- posture: input.posture,
150
- }));
151
168
  await attempt('login', () => new Login(this.deps, this.doctor.login).execute({
152
169
  mode: 'prepare',
153
- tools: input.tools,
170
+ tools,
154
171
  envs: input.envs,
155
172
  skipManual: true,
156
173
  dryRun: input.dryRun,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/doctor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/doctor/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export async function checkTools(deps, options, checks) {
14
14
  for (const tool of tools) {
15
15
  try {
16
16
  const [status] = await checks.unit(tool.name, () => check.execute({
17
+ cwd: deps.ctx.root,
17
18
  tools: [{ ...tool, required: options.required.has(tool.name) }],
18
19
  trust: deps.trust,
19
20
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/application/doctor/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/application/doctor/tools.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,8CAA8C;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAmB,MAAM,kBAAkB,CAAC;AAGnF,OAAO,EAAE,gBAAgB,EAA0B,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAAE,OAAO,EAAgB,MAAM,YAAY,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAmB,EACnB,OAA2B,EAC3B,MAAa;IAEb,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CACjD,KAAK,CAAC,OAAO,CAAC;gBACZ,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;gBAClB,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CACH,CAAC;YACF,IAAI,MAAM,KAAK,SAAS;gBACtB,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;oBAChE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;oBACzC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE;wBAC1B,GAAG,MAAM;wBACT,oBAAoB,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;qBACtD,CAAC;oBACF,QAAQ,EAAE;wBACR,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;wBACvC,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,iBAAiB,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;wBACtD,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;qBAChC;iBACF,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,WAAW,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAmB,EACnB,OAA2B,EAC3B,IAAY,EACZ,KAAkB;IAElB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE;YACnD,QAAQ,EAAE,YAAY;YACtB,QAAQ;YACR,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;SAClD,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE;QACnD,QAAQ,EAAE,YAAY;QACtB,QAAQ;QACR,GAAG,EAAE,OAAO,CAAC,OAAO;QACpB,OAAO;QACP,OAAO,EAAE;YACP,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC7B,EAAE,EAAE,WAAW,IAAI,EAAE;gBACrB,WAAW,EAAE,UAAU,IAAI,kDAAkD;aAC9E,CAAC;SACH;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CACjB,MAAkB,EAClB,gBAAyB,EACzB,IAAuB;IAEvB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC/B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,YAAY,CAAC,CAAC;IACzF,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,UAAU;YACb,OAAO,MAAM,CAAC,QAAQ,IAAI,gBAAgB;gBACxC,CAAC,CAAC,OAAO,CACL,OAAO,EACP,IAAI,EACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACjC,MAAM,CAAC,QAAQ;oBACb,CAAC,CAAC,wDAAwD;oBAC1D,CAAC,CAAC,yDAAyD,EAC7D,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,CAChC;gBACH,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,uCAAuC,EAAE;oBACpE,QAAQ,EAAE,gBAAgB;iBAC3B,CAAC,CAAC;QACT,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7F,KAAK,UAAU;YACb,OAAO,OAAO,CACZ,OAAO,EACP,IAAI,EACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACjC,GAAG,MAAM,CAAC,SAAS,eAAe,MAAM,CAAC,WAAW,WAAW,EAC/D,EAAE,GAAG,EAAE,CACR,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,6CAA6C,EAAE;gBACnF,QAAQ,EAAE,YAAY;gBACtB,GAAG;aACJ,CAAC,CAAC;IACP,CAAC;AACH,CAAC"}
@@ -19,6 +19,10 @@ export async function checkLogin(deps, login, options, checks) {
19
19
  }));
20
20
  const progress = new SetupProgress();
21
21
  const check = async (step) => {
22
+ if (options.blockedTools?.has(step.tool) && 'command' in step.verify && !step.preparation) {
23
+ progress.record(step, 'unanswered');
24
+ return waitingForTool(step);
25
+ }
22
26
  const fix = loginCommand([step], deps);
23
27
  const standing = progress.admit(step);
24
28
  if (standing.kind !== 'clear')
@@ -56,6 +60,13 @@ export async function checkLogin(deps, login, options, checks) {
56
60
  findings.push(await checks.unit(step.id, () => check(step)));
57
61
  return findings;
58
62
  }
63
+ function waitingForTool(step) {
64
+ return finding('login', step.id, 'warn', `Waiting for ${step.tool} to pass its executable/version check`, {
65
+ coverage: 'incomplete',
66
+ actions: [],
67
+ evidence: { waits_on: `tools:${step.tool}` },
68
+ });
69
+ }
59
70
  function trustFinding(step, error, deps) {
60
71
  const handoff = commandTrustHandoff(deps.trust, step.tool);
61
72
  return finding('login', step.id, 'warn', error.message, {
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/application/login/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/application/login/check.ts"],"names":[],"mappings":"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"}
@@ -117,7 +117,7 @@ export function setupActions(deps, step, home, options = {}) {
117
117
  id: `approve:${step.id}`,
118
118
  description: initializing
119
119
  ? 'Review the remaining initialization effects and continue this workspace'
120
- : `Repair ${step.tool}'s local preparation and the workspace's managed guides and Skills`,
120
+ : `Repair ${step.tool}'s local preparation`,
121
121
  argv: initializing
122
122
  ? [...resume.argv, '--yes']
123
123
  : ['fx', 'doctor', '--fix', '--tool', step.tool, '--workspace', deps.ctx.name, '--yes'],
@@ -1 +1 @@
1
- {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../../src/application/login/stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../../src/application/login/stage.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- // List people through the same in-memory classification view used by member show.
2
- import { memberView } from '../../domain/members/classify.js';
3
1
  import { membersOf } from './source.js';
2
+ import { scopedMemberView } from './view.js';
4
3
  export const MEMBER_COLUMNS = ['id', 'display', 'status', 'mentor', 'leader', 'areas'];
5
4
  export class MemberList {
6
5
  deps;
@@ -9,7 +8,7 @@ export class MemberList {
9
8
  }
10
9
  execute(input) {
11
10
  const members = membersOf(this.deps.ctx);
12
- const view = memberView(members, input, new Date().toISOString().slice(0, 10));
11
+ const view = scopedMemberView(this.deps, members, input);
13
12
  return members.people.flatMap((person) => view.list(person) ?? []);
14
13
  }
15
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/application/member/list.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,UAAU,EAAqC,MAAM,kCAAkC,CAAC;AAGjG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEhG,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,OAAO,CAAC,KAAmB;QACzB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;CACF"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/application/member/list.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEhG,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,OAAO,CAAC,KAAmB;QACzB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ // Read selectors from the same sensitive source as member queries, without persisting results.
2
+ import { memberSelectors, } from '../../domain/members/selectors.js';
3
+ import { membersOf } from './source.js';
4
+ export class MemberSelectors {
5
+ deps;
6
+ constructor(deps) {
7
+ this.deps = deps;
8
+ }
9
+ execute(input = {}) {
10
+ return memberSelectors(membersOf(this.deps.ctx)).filter((row) => !input.kind || row.kind === input.kind);
11
+ }
12
+ }
13
+ //# sourceMappingURL=selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../src/application/member/selectors.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,OAAO,EACL,eAAe,GAGhB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,OAAO,CAAC,QAAsD,EAAE;QAC9D,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CACrD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAChD,CAAC;IACJ,CAAC;CACF"}
@@ -3,9 +3,9 @@
3
3
  // match one query, and all of them come back.
4
4
  import { DevkitError } from '../../domain/errors.js';
5
5
  import { suggestionHint } from '../../domain/fuzzy.js';
6
- import { memberView, } from '../../domain/members/classify.js';
7
6
  import { findPeople, suggestPerson } from '../../domain/members/resolve.js';
8
7
  import { membersOf } from './source.js';
8
+ import { scopedMemberView } from './view.js';
9
9
  export const PERSON_COLUMNS = [
10
10
  'id',
11
11
  'display',
@@ -36,7 +36,7 @@ export class MemberShow {
36
36
  nextSteps: ['fx member list'],
37
37
  });
38
38
  }
39
- const view = memberView(members, input, new Date().toISOString().slice(0, 10));
39
+ const view = scopedMemberView(this.deps, members, input);
40
40
  return matches.map(({ person, matchedBy, via }) => ({
41
41
  id: person.id,
42
42
  display: person.display ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/application/member/show.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gFAAgF;AAChF,8CAA8C;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EACL,UAAU,GAGX,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAkB,MAAM,iCAAiC,CAAC;AAG5F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAcxC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI;IACJ,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,KAAK;IACL,UAAU;IACV,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,mBAAmB;CACX,CAAC;AAEX,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,OAAO,CAAC,KAAa,EAAE,QAAuD,EAAE;QAC9E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,IAAI,WAAW,CACnB,WAAW,EACX,kBAAkB,EAClB,sCAAsC,KAAK,GAAG,EAC9C;gBACE,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,gCAAgC,CAAC;gBAClE,SAAS,EAAE,CAAC,gBAAgB,CAAC;aAC9B,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,QAAQ;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;YAC7B,UAAU,EAAE,SAAS;YACrB,GAAG,EAAE,GAAG,IAAI,IAAI;YAChB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SAChD,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/application/member/show.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gFAAgF;AAChF,8CAA8C;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAkB,MAAM,iCAAiC,CAAC;AAG5F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAc7C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI;IACJ,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,KAAK;IACL,UAAU;IACV,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,mBAAmB;CACX,CAAC;AAEX,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,OAAO,CAAC,KAAa,EAAE,QAAuD,EAAE;QAC9E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,IAAI,WAAW,CACnB,WAAW,EACX,kBAAkB,EAClB,sCAAsC,KAAK,GAAG,EAC9C;gBACE,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,gCAAgC,CAAC;gBAClE,SAAS,EAAE,CAAC,gBAAgB,CAAC;aAC9B,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,QAAQ;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;YAC7B,UAAU,EAAE,SAAS;YACrB,GAAG,EAAE,GAAG,IAAI,IAAI;YAChB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SAChD,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
@@ -0,0 +1,40 @@
1
+ // Keep member recovery on the selected workspace; classification only reads member facts.
2
+ import { DevkitError } from '../../domain/errors.js';
3
+ import { memberView } from '../../domain/members/classify.js';
4
+ import { memberSelectors, } from '../../domain/members/selectors.js';
5
+ import { workspaceCommand } from '../workspace/guidance.js';
6
+ const SELECTORS = {
7
+ AREA_NOT_FOUND: 'area',
8
+ SCENARIO_NOT_FOUND: 'scenario',
9
+ TEAM_NOT_FOUND: 'team',
10
+ FUNCTION_NOT_FOUND: 'function',
11
+ SCENARIO_REQUIRES_AREA: 'scenario',
12
+ };
13
+ export function scopedMemberView(deps, members, input) {
14
+ try {
15
+ return memberView(members, input, new Date().toISOString().slice(0, 10));
16
+ }
17
+ catch (error) {
18
+ if (!(error instanceof DevkitError))
19
+ throw error;
20
+ const kind = SELECTORS[error.code];
21
+ if (kind === undefined)
22
+ throw error;
23
+ const alternatives = error.code === 'AREA_NOT_FOUND' && input.area !== undefined
24
+ ? memberSelectors(members).filter((row) => row.kind !== 'area' && (row.id === input.area || row.name === input.area))
25
+ : [];
26
+ throw new DevkitError(error.category, error.code, error.message, {
27
+ cause: error,
28
+ hint: alternatives.length === 0
29
+ ? error.hint
30
+ : `This name identifies ${[...new Set(alternatives.map((row) => row.kind))].join(', ')}, not an area. Use an exact selector from member selectors.`,
31
+ nextSteps: alternatives.length === 0
32
+ ? [workspaceCommand(deps, 'member', 'selectors', '--kind', kind)]
33
+ : alternatives.map((row) => queryFor(deps, row)),
34
+ });
35
+ }
36
+ }
37
+ function queryFor(deps, row) {
38
+ return workspaceCommand(deps, 'member', 'list', ...(row.area === null ? [] : ['--area', row.area]), `--${row.kind}`, row.id);
39
+ }
40
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/application/member/view.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAqB,MAAM,kCAAkC,CAAC;AACjF,OAAO,EACL,eAAe,GAGhB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,SAAS,GAA2C;IACxD,cAAc,EAAE,MAAM;IACtB,kBAAkB,EAAE,UAAU;IAC9B,cAAc,EAAE,MAAM;IACtB,kBAAkB,EAAE,UAAU;IAC9B,sBAAsB,EAAE,UAAU;CACnC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,IAAmB,EACnB,OAAgB,EAChB,KAAmB;IAEnB,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;YAAE,MAAM,KAAK,CAAC;QACjD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC;QACpC,MAAM,YAAY,GAChB,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YACzD,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CACnF;YACH,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;YAC/D,KAAK,EAAE,KAAK;YACZ,IAAI,EACF,YAAY,CAAC,MAAM,KAAK,CAAC;gBACvB,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,wBAAwB,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,6DAA6D;YACvJ,SAAS,EACP,YAAY,CAAC,MAAM,KAAK,CAAC;gBACvB,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACjE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAmB,EAAE,GAAmB;IACxD,OAAO,gBAAgB,CACrB,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAClD,KAAK,GAAG,CAAC,IAAI,EAAE,EACf,GAAG,CAAC,EAAE,CACP,CAAC;AACJ,CAAC"}
@@ -5,6 +5,7 @@ import { CAPABILITY_INFO, bindableCapabilities, } from '../../domain/capability.
5
5
  import { DevkitError } from '../../domain/errors.js';
6
6
  import { bindingOf, platformOf, servesCapability, } from '../../domain/manifest/providers.js';
7
7
  import { shellLine } from '../../domain/shell.js';
8
+ import { bindToolCommand } from '../../domain/toolchain/command.js';
8
9
  import { canMcp } from '../harness/session.js';
9
10
  import { workspaceCommand } from '../workspace/guidance.js';
10
11
  import { Readiness } from './index.js';
@@ -31,14 +32,22 @@ export class Can {
31
32
  const readiness = new Readiness(this.deps, this.login);
32
33
  const target = readiness.resolve(input.target, input.env);
33
34
  const env = input.env ?? null;
34
- const entry = this.entry(target);
35
+ const template = this.entry(target);
36
+ const verdict = await readiness.judge(target, env);
37
+ const execution = verdict.execution;
38
+ const entry = template === undefined
39
+ ? undefined
40
+ : {
41
+ ...template,
42
+ command: shellLine(bindToolCommand(template.command, execution), this.deps.commandShell),
43
+ };
35
44
  return {
36
45
  capability: target.capability,
37
46
  tool: target.tool?.name ?? null,
38
47
  provider: target.binding?.provider ?? null,
39
48
  env,
40
49
  ...(entry === undefined ? {} : { entry }),
41
- ...(await readiness.judge(target, env)),
50
+ ...verdict,
42
51
  };
43
52
  }
44
53
  // Every capability a manifest binds and what serves it here. Bindings only: a row
@@ -87,7 +96,7 @@ export class Can {
87
96
  const coordinate = this.deps.reference(binding);
88
97
  return {
89
98
  label: coordinate.label,
90
- command: shellLine(coordinate.command, this.deps.commandShell),
99
+ command: coordinate.command,
91
100
  url: coordinate.url ?? null,
92
101
  };
93
102
  }