@abgov/nx-adsp 13.9.0 → 13.9.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 (50) hide show
  1. package/README.md +42 -42
  2. package/package.json +1 -1
  3. package/src/build-assets.spec.ts +3 -3
  4. package/src/generators/angular-app/angular-app.js +22 -7
  5. package/src/generators/angular-app/angular-app.js.map +1 -1
  6. package/src/generators/angular-app/angular-app.spec.ts +8 -5
  7. package/src/generators/dotnet-service/dotnet-service.spec.ts +1 -1
  8. package/src/generators/express-service/express-service.js +16 -5
  9. package/src/generators/express-service/express-service.js.map +1 -1
  10. package/src/generators/express-service/express-service.spec.ts +39 -16
  11. package/src/generators/mean/mean.js +3 -2
  12. package/src/generators/mean/mean.js.map +1 -1
  13. package/src/generators/mean/mean.spec.ts +5 -2
  14. package/src/generators/mern/mern.js +3 -2
  15. package/src/generators/mern/mern.js.map +1 -1
  16. package/src/generators/mern/mern.spec.ts +5 -2
  17. package/src/generators/mevn/mevn.js +3 -2
  18. package/src/generators/mevn/mevn.js.map +1 -1
  19. package/src/generators/mevn/mevn.spec.ts +5 -2
  20. package/src/generators/pean/pean.js +3 -2
  21. package/src/generators/pean/pean.js.map +1 -1
  22. package/src/generators/pean/pean.spec.ts +5 -2
  23. package/src/generators/pern/pern.js +3 -2
  24. package/src/generators/pern/pern.js.map +1 -1
  25. package/src/generators/pern/pern.spec.ts +5 -2
  26. package/src/generators/pevn/pevn.js +3 -2
  27. package/src/generators/pevn/pevn.js.map +1 -1
  28. package/src/generators/pevn/pevn.spec.ts +5 -2
  29. package/src/generators/react-app/react-app.js +12 -5
  30. package/src/generators/react-app/react-app.js.map +1 -1
  31. package/src/generators/react-app/react-app.spec.ts +4 -4
  32. package/src/generators/react-dotnet/react-dotnet.spec.ts +1 -1
  33. package/src/generators/react-form/react-form.js.map +1 -1
  34. package/src/generators/react-form/react-forms.spec.ts +3 -3
  35. package/src/generators/react-task-list/react-task-list.js.map +1 -1
  36. package/src/generators/react-task-list/react-task-list.spec.ts +2 -2
  37. package/src/generators/vue-app/vue-app.js +13 -5
  38. package/src/generators/vue-app/vue-app.js.map +1 -1
  39. package/src/generators/vue-app/vue-app.spec.ts +24 -9
  40. package/src/generators/vue-components/vue-components.js +7 -2
  41. package/src/generators/vue-components/vue-components.js.map +1 -1
  42. package/src/generators/vue-components/vue-components.spec.ts +41 -13
  43. package/src/types/nx-angular-generators.d.ts +1 -1
  44. package/src/utils/agent.js +23 -9
  45. package/src/utils/agent.js.map +1 -1
  46. package/src/utils/agent.spec.ts +74 -17
  47. package/src/utils/keycloak-admin.js +16 -5
  48. package/src/utils/keycloak-admin.js.map +1 -1
  49. package/src/utils/quality.js.map +1 -1
  50. package/src/utils/quality.spec.ts +5 -3
@@ -26,7 +26,7 @@ utilsMock.getAdspConfiguration.mockResolvedValue({
26
26
  // jest.mock('@abgov/nx-oc') automocks adspProjectTags too — restore the real
27
27
  // (pure, no I/O) implementation so tag-writing behavior is actually exercised.
28
28
  utilsMock.adspProjectTags.mockImplementation(
29
- jest.requireActual('@abgov/nx-oc').adspProjectTags
29
+ jest.requireActual('@abgov/nx-oc').adspProjectTags,
30
30
  );
31
31
 
32
32
  describe('Vue App Generator', () => {
@@ -46,7 +46,9 @@ describe('Vue App Generator', () => {
46
46
  expect(host.exists('apps/test/src/main.ts')).toBeTruthy();
47
47
  expect(host.exists('apps/test/src/App.vue')).toBeTruthy();
48
48
  expect(host.exists('apps/test/src/router/index.ts')).toBeTruthy();
49
- expect(host.exists('apps/test/src/environments/environment.ts')).toBeTruthy();
49
+ expect(
50
+ host.exists('apps/test/src/environments/environment.ts'),
51
+ ).toBeTruthy();
50
52
  expect(host.exists('apps/test/vite.config.ts')).toBeTruthy();
51
53
  // The duplicate @nx/vue-generated config is removed.
52
54
  expect(host.exists('apps/test/vite.config.mts')).toBeFalsy();
@@ -66,7 +68,7 @@ describe('Vue App Generator', () => {
66
68
  expect(host.exists('apps/test-e2e/project.json')).toBeTruthy();
67
69
  expect(
68
70
  host.exists('apps/test-e2e/playwright.config.ts') ||
69
- host.exists('apps/test-e2e/playwright.config.mts')
71
+ host.exists('apps/test-e2e/playwright.config.mts'),
70
72
  ).toBe(true);
71
73
  expect(host.exists('apps/test-e2e/cypress.config.ts')).toBeFalsy();
72
74
  // webServer guarded so CI can target a deployed URL (BASE_URL) instead of a local server
@@ -89,7 +91,9 @@ describe('Vue App Generator', () => {
89
91
 
90
92
  // Shared layout component provides the content gutter for every view.
91
93
  expect(host.exists('apps/test/src/components/AppLayout.vue')).toBeTruthy();
92
- const layout = host.read('apps/test/src/components/AppLayout.vue').toString();
94
+ const layout = host
95
+ .read('apps/test/src/components/AppLayout.vue')
96
+ .toString();
93
97
  // Three named width variants, token-driven padding.
94
98
  expect(layout).toContain('form-content');
95
99
  expect(layout).toContain('wide-content');
@@ -108,8 +112,13 @@ describe('Vue App Generator', () => {
108
112
  // Wrappers live in a shared workspace lib, not copied into the app.
109
113
  const base = 'libs/vue-components/src/lib';
110
114
  for (const name of [
111
- 'GoabInput', 'GoabTextarea', 'GoabDropdown', 'GoabCheckbox',
112
- 'GoabRadioGroup', 'GoabButton', 'GoabModal',
115
+ 'GoabInput',
116
+ 'GoabTextarea',
117
+ 'GoabDropdown',
118
+ 'GoabCheckbox',
119
+ 'GoabRadioGroup',
120
+ 'GoabButton',
121
+ 'GoabModal',
113
122
  ]) {
114
123
  expect(host.exists(`${base}/${name}.vue`)).toBeTruthy();
115
124
  }
@@ -199,7 +208,9 @@ describe('Vue App Generator', () => {
199
208
  it('vite.config.ts marks goa-* elements as custom elements', async () => {
200
209
  await generator(host, options);
201
210
  const viteConfig = host.read('apps/test/vite.config.ts').toString();
202
- expect(viteConfig).toContain("isCustomElement: (tag) => tag.startsWith('goa-')");
211
+ expect(viteConfig).toContain(
212
+ "isCustomElement: (tag) => tag.startsWith('goa-')",
213
+ );
203
214
  }, 30000);
204
215
 
205
216
  it('shows the Sign in button without gating on Keycloak readiness', async () => {
@@ -225,7 +236,9 @@ describe('Vue App Generator', () => {
225
236
 
226
237
  it('environment.ts is pre-populated with tenant config', async () => {
227
238
  await generator(host, options);
228
- const env = host.read('apps/test/src/environments/environment.ts').toString();
239
+ const env = host
240
+ .read('apps/test/src/environments/environment.ts')
241
+ .toString();
229
242
  expect(env).toContain(environments.test.accessServiceUrl);
230
243
  expect(env).toContain(environments.test.directoryServiceUrl);
231
244
  expect(env).toContain('urn:ads:test:test');
@@ -259,7 +272,9 @@ describe('Vue App Generator', () => {
259
272
  proxy: { location: '/test/', proxyPass: 'http://test-service:3333/api/' },
260
273
  });
261
274
  expect(host.exists('apps/test/vite.proxy.json')).toBeTruthy();
262
- const proxyConf = JSON.parse(host.read('apps/test/vite.proxy.json').toString());
275
+ const proxyConf = JSON.parse(
276
+ host.read('apps/test/vite.proxy.json').toString(),
277
+ );
263
278
  expect(proxyConf['/test/'].target).toBe('http://localhost:3333');
264
279
  expect(proxyConf['/test/'].pathRewrite['^/test/']).toBe('/api/');
265
280
  });
@@ -56,7 +56,11 @@ function disableSlotAttributeRule(host, libRoot) {
56
56
  }
57
57
  // `files` is `string | string[]` per the Linter type — normalize before checking.
58
58
  const isVueOverride = (o) => (Array.isArray(o.files) ? o.files : o.files ? [o.files] : []).some((f) => f.includes('vue'));
59
- const alreadyDisabled = (0, internal_1.lintConfigHasOverride)(host, libRoot, (o) => { var _a; return isVueOverride(o) && ((_a = o.rules) === null || _a === void 0 ? void 0 : _a['vue/no-deprecated-slot-attribute']) === 'off'; });
59
+ const alreadyDisabled = (0, internal_1.lintConfigHasOverride)(host, libRoot, (o) => {
60
+ var _a;
61
+ return isVueOverride(o) &&
62
+ ((_a = o.rules) === null || _a === void 0 ? void 0 : _a['vue/no-deprecated-slot-attribute']) === 'off';
63
+ });
60
64
  if (alreadyDisabled) {
61
65
  return;
62
66
  }
@@ -74,7 +78,8 @@ function vueComponentsImportPath(host) {
74
78
  var _a, _b;
75
79
  let name = 'workspace';
76
80
  try {
77
- name = JSON.parse((_b = (_a = host.read('package.json')) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '{}').name || name;
81
+ name =
82
+ JSON.parse((_b = (_a = host.read('package.json')) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '{}').name || name;
78
83
  }
79
84
  catch (_c) {
80
85
  /* keep fallback */
@@ -1 +1 @@
1
- {"version":3,"file":"vue-components.js","sourceRoot":"","sources":["../../../../../../packages/nx-adsp/src/generators/vue-components/vue-components.ts"],"names":[],"mappings":";;;AAkBA,oDAcC;AAoDD,0DASC;AAMD,4BAkCC;;AArID,uCAMoB;AACpB,kDAA8G;AAE9G,6BAA6B;AAE7B,oFAAoF;AACpF,2EAA2E;AAC3E,oFAAoF;AACpF,kFAAkF;AAClF,6EAA6E;AAC7E,kFAAkF;AAClF,4DAA4D;AAC5D,SAAgB,oBAAoB,CAAC,IAAU,EAAE,OAAe;IAC9D,MAAM,OAAO,GAAG,GAAG,OAAO,eAAe,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,OAAO;IAClC,MAAM,GAAG,GAAG,gBAAgB,CAAC;IAC7B,IAAA,mBAAU,EAAmD,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;;QAClF,MAAA,GAAG,CAAC,IAAI,oCAAR,GAAG,CAAC,IAAI,GAAK,GAAG,EAAC;QACjB,MAAA,GAAG,CAAC,MAAM,oCAAV,GAAG,CAAC,MAAM,GAAK,GAAG,EAAC;QACnB,MAAA,GAAG,CAAC,KAAK,oCAAT,GAAG,CAAC,KAAK,GAAK,GAAG,EAAC;QAClB,MAAA,GAAG,CAAC,OAAO,oCAAX,GAAG,CAAC,OAAO,GAAK;YACd,gBAAgB,EAAE,gBAAgB;YAClC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;SAC/C,EAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,oDAAoD;AACpD,EAAE;AACF,6EAA6E;AAC7E,oEAAoE;AACpE,8EAA8E;AAC9E,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,sEAAsE;AACtE,8EAA8E;AAC9E,uEAAuE;AACvE,SAAS,wBAAwB,CAAC,IAAU,EAAE,OAAe;IAC3D,IAAI,CAAC,IAAA,kCAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CACV,mCAAmC,OAAO,0DAA0D;YACpG,mFAAmF;YACnF,sCAAsC,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IAED,kFAAkF;IAClF,MAAM,aAAa,GAAG,CAAC,CAA4C,EAAE,EAAE,CACrE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/F,MAAM,eAAe,GAAG,IAAA,gCAAqB,EAC3C,IAAI,EACJ,OAAO,EACP,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,aAAa,CAAC,CAAC,CAAC,IAAI,CAAA,MAAA,CAAC,CAAC,KAAK,0CAAG,kCAAkC,CAAC,MAAK,KAAK,CAAA,EAAA,CACnF,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,IAAA,kCAAuB,EAAC,IAAI,EAAE,OAAO,EAAE;QACrC,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,KAAK,EAAE,EAAE,kCAAkC,EAAE,KAAK,EAAE;KACrD,CAAC,CAAC;AACL,CAAC;AAEY,QAAA,QAAQ,GAAG,gBAAgB,CAAC;AAEzC,8EAA8E;AAC9E,iFAAiF;AACjF,+EAA+E;AAC/E,gDAAgD;AAChD,SAAgB,uBAAuB,CAAC,IAAU;;IAChD,IAAI,IAAI,GAAG,WAAW,CAAC;IACvB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,0CAAE,QAAQ,EAAE,mCAAI,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;IAChF,CAAC;IAAC,WAAM,CAAC;QACP,mBAAmB;IACrB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACrE,OAAO,GAAG,KAAK,IAAI,gBAAQ,EAAE,CAAC;AAChC,CAAC;AAED,kFAAkF;AAClF,kFAAkF;AAClF,4EAA4E;AAC5E,oFAAoF;AACpF,mBAA+B,IAAU;;QACvC,MAAM,OAAO,GAAG,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,IAAI,gBAAQ,EAAE,CAAC;QAElE,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC;YACH,IAAA,iCAAwB,EAAC,IAAI,EAAE,gBAAQ,CAAC,CAAC;QAC3C,CAAC;QAAC,WAAM,CAAC;YACP,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,qCAAO,SAAS,GAAE,KAAK,CAAC,GAAG,EAAE;gBAC9D,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,IAAI,EAAE;gBAC3B,SAAS,EAAE,OAAO;gBAClB,IAAI,EAAE,gBAAQ;gBACd,MAAM,EAAE,QAAQ;gBAChB,cAAc,EAAE,QAAQ;gBACxB,0EAA0E;gBAC1E,2EAA2E;gBAC3E,8DAA8D;gBAC9D,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACzC,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;CAAA"}
1
+ {"version":3,"file":"vue-components.js","sourceRoot":"","sources":["../../../../../../packages/nx-adsp/src/generators/vue-components/vue-components.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { readProjectConfiguration, Tree } from '@nx/devkit';
2
2
  import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing';
3
- import generator, { ensurePackageExports, vueComponentsImportPath } from './vue-components';
3
+ import generator, {
4
+ ensurePackageExports,
5
+ vueComponentsImportPath,
6
+ } from './vue-components';
4
7
 
5
8
  jest.mock('@nx/devkit', () => ({
6
9
  ...jest.requireActual('@nx/devkit'),
@@ -22,18 +25,25 @@ describe('Vue Components Generator', () => {
22
25
 
23
26
  const base = 'libs/vue-components/src/lib';
24
27
  for (const name of [
25
- 'GoabInput', 'GoabTextarea', 'GoabDropdown', 'GoabCheckbox',
26
- 'GoabRadioGroup', 'GoabButton', 'GoabModal',
28
+ 'GoabInput',
29
+ 'GoabTextarea',
30
+ 'GoabDropdown',
31
+ 'GoabCheckbox',
32
+ 'GoabRadioGroup',
33
+ 'GoabButton',
34
+ 'GoabModal',
27
35
  ]) {
28
36
  expect(host.exists(`${base}/${name}.vue`)).toBeTruthy();
29
37
  }
30
38
  const index = host.read('libs/vue-components/src/index.ts').toString();
31
- expect(index).toContain("export { default as GoabInput }");
39
+ expect(index).toContain('export { default as GoabInput }');
32
40
  expect(index).toContain('@abgov/vue-components'); // interim marker
33
41
 
34
42
  // Ships a spec so the vitest test target isn't empty (vitest exits non-zero
35
43
  // on "no test files found").
36
- expect(host.exists('libs/vue-components/src/vue-components.spec.ts')).toBeTruthy();
44
+ expect(
45
+ host.exists('libs/vue-components/src/vue-components.spec.ts'),
46
+ ).toBeTruthy();
37
47
 
38
48
  // GoabModal uses goa-modal's native `slot` attribute (web component, not the
39
49
  // deprecated Vue 2 slot syntax) — the rule is turned off for this lib.
@@ -59,14 +69,18 @@ describe('Vue Components Generator', () => {
59
69
 
60
70
  expect(host.exists('libs/vue-components/eslint.config.mjs')).toBeTruthy();
61
71
  expect(host.exists('libs/vue-components/.eslintrc.json')).toBeFalsy();
62
- const flatConfig = host.read('libs/vue-components/eslint.config.mjs').toString();
72
+ const flatConfig = host
73
+ .read('libs/vue-components/eslint.config.mjs')
74
+ .toString();
63
75
  expect(flatConfig).toContain('"vue/no-deprecated-slot-attribute": "off"');
64
76
  }, 30000);
65
77
 
66
78
  it('is idempotent — a second run does not throw and keeps the wrappers', async () => {
67
79
  await generator(host);
68
80
  await expect(generator(host)).resolves.not.toThrow();
69
- expect(host.exists('libs/vue-components/src/lib/GoabInput.vue')).toBeTruthy();
81
+ expect(
82
+ host.exists('libs/vue-components/src/lib/GoabInput.vue'),
83
+ ).toBeTruthy();
70
84
  }, 30000);
71
85
 
72
86
  it('does not duplicate the ESLint override on a second run (legacy or flat)', async () => {
@@ -74,8 +88,12 @@ describe('Vue Components Generator', () => {
74
88
  await generator(host);
75
89
  await generator(host);
76
90
 
77
- const flatConfig = host.read('libs/vue-components/eslint.config.mjs').toString();
78
- expect(flatConfig.split('vue/no-deprecated-slot-attribute').length - 1).toBe(1);
91
+ const flatConfig = host
92
+ .read('libs/vue-components/eslint.config.mjs')
93
+ .toString();
94
+ expect(
95
+ flatConfig.split('vue/no-deprecated-slot-attribute').length - 1,
96
+ ).toBe(1);
79
97
  }, 30000);
80
98
 
81
99
  it('derives the import path from the workspace scope', () => {
@@ -84,10 +102,15 @@ describe('Vue Components Generator', () => {
84
102
 
85
103
  describe('ensurePackageExports (TS-solution resolution fix)', () => {
86
104
  it('backfills exports/main/types when a lib package.json exists', () => {
87
- host.write('libs/vue-components/package.json', JSON.stringify({ name: '@proj/vue-components' }));
105
+ host.write(
106
+ 'libs/vue-components/package.json',
107
+ JSON.stringify({ name: '@proj/vue-components' }),
108
+ );
88
109
  ensurePackageExports(host, 'libs/vue-components');
89
110
 
90
- const pkg = JSON.parse(host.read('libs/vue-components/package.json').toString());
111
+ const pkg = JSON.parse(
112
+ host.read('libs/vue-components/package.json').toString(),
113
+ );
91
114
  expect(pkg.main).toBe('./src/index.ts');
92
115
  expect(pkg.types).toBe('./src/index.ts');
93
116
  expect(pkg.exports['.'].import).toBe('./src/index.ts');
@@ -96,11 +119,16 @@ describe('Vue Components Generator', () => {
96
119
  it('does not clobber exports @nx/vue already wrote', () => {
97
120
  host.write(
98
121
  'libs/vue-components/package.json',
99
- JSON.stringify({ name: '@proj/vue-components', exports: { '.': './dist/index.js' } })
122
+ JSON.stringify({
123
+ name: '@proj/vue-components',
124
+ exports: { '.': './dist/index.js' },
125
+ }),
100
126
  );
101
127
  ensurePackageExports(host, 'libs/vue-components');
102
128
 
103
- const pkg = JSON.parse(host.read('libs/vue-components/package.json').toString());
129
+ const pkg = JSON.parse(
130
+ host.read('libs/vue-components/package.json').toString(),
131
+ );
104
132
  expect(pkg.exports['.']).toBe('./dist/index.js');
105
133
  });
106
134
 
@@ -9,6 +9,6 @@ declare module '@nx/angular/generators' {
9
9
 
10
10
  export function applicationGenerator(
11
11
  tree: Tree,
12
- options: Record<string, unknown>
12
+ options: Record<string, unknown>,
13
13
  ): Promise<void>;
14
14
  }
@@ -151,7 +151,9 @@ function consultAgent(directoryServiceUrl, accessToken, projectContext, host, pr
151
151
  };
152
152
  const buildInitialMessage = () => {
153
153
  const { projectType, projectName, tenant, pluginVersion } = projectContext;
154
- const descriptionLine = description ? `It is described as: "${description}". ` : '';
154
+ const descriptionLine = description
155
+ ? `It is described as: "${description}". `
156
+ : '';
155
157
  if (isContinuation) {
156
158
  const stackDetail = projectType === 'react-app'
157
159
  ? 'It uses Redux Toolkit slices for state (store.ts, config.slice.ts, intake.slice.ts) and keycloak-js for authentication. '
@@ -164,7 +166,12 @@ function consultAgent(directoryServiceUrl, accessToken, projectContext, host, pr
164
166
  `The files (${fileNames}) have been uploaded to your workspace — please read them to understand the current structure before suggesting capabilities. ` +
165
167
  `Based on our service discussion, what ADSP frontend integrations would be most useful?`);
166
168
  }
167
- if (projectType === 'mern' || projectType === 'mean' || projectType === 'pern' || projectType === 'pean' || projectType === 'pevn' || projectType === 'mevn') {
169
+ if (projectType === 'mern' ||
170
+ projectType === 'mean' ||
171
+ projectType === 'pern' ||
172
+ projectType === 'pean' ||
173
+ projectType === 'pevn' ||
174
+ projectType === 'mevn') {
168
175
  const frontendStack = projectType === 'mern' || projectType === 'pern'
169
176
  ? 'React frontend using Redux Toolkit slices and keycloak-js'
170
177
  : projectType === 'mean' || projectType === 'pean'
@@ -294,14 +301,21 @@ function consultAgent(directoryServiceUrl, accessToken, projectContext, host, pr
294
301
  const describeToolCall = (toolName, args) => {
295
302
  switch (toolName) {
296
303
  // Workspace tools (Mastra built-in names)
297
- case 'mastra_workspace_write_file': return `Writing: ${args['path']}`;
298
- case 'mastra_workspace_edit_file': return `Editing: ${args['path']}`;
299
- case 'mastra_workspace_read_file': return `Reading: ${args['path']}`;
300
- case 'mastra_workspace_list_files': return `Listing workspace files`;
304
+ case 'mastra_workspace_write_file':
305
+ return `Writing: ${args['path']}`;
306
+ case 'mastra_workspace_edit_file':
307
+ return `Editing: ${args['path']}`;
308
+ case 'mastra_workspace_read_file':
309
+ return `Reading: ${args['path']}`;
310
+ case 'mastra_workspace_list_files':
311
+ return `Listing workspace files`;
301
312
  // nx-adsp template tools (Mastra uses the agent registration key, not the tool id)
302
- case 'listNxAdspTemplatesTool': return `Listing available ADSP templates`;
303
- case 'getNxAdspTemplateTool': return `Getting template: ${args['templateId']}`;
304
- default: return `Tool: ${toolName}`;
313
+ case 'listNxAdspTemplatesTool':
314
+ return `Listing available ADSP templates`;
315
+ case 'getNxAdspTemplateTool':
316
+ return `Getting template: ${args['templateId']}`;
317
+ default:
318
+ return `Tool: ${toolName}`;
305
319
  }
306
320
  };
307
321
  let firstDeltaOfTurn = true;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../../packages/nx-adsp/src/utils/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../../packages/nx-adsp/src/utils/agent.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import { consultAgent, isNonInteractive } from './agent';
2
2
 
3
3
  jest.mock('readline', () => ({
4
4
  createInterface: jest.fn(() => ({
5
- question: jest.fn((_prompt: string, cb: (answer: string) => void) => cb('')),
5
+ question: jest.fn((_prompt: string, cb: (answer: string) => void) =>
6
+ cb(''),
7
+ ),
6
8
  close: jest.fn(),
7
9
  on: jest.fn(),
8
10
  })),
@@ -35,7 +37,10 @@ const PROJECT_CONTEXT = {
35
37
  },
36
38
  };
37
39
 
38
- const mockHost = { write: jest.fn(), read: jest.fn() } as unknown as import('@nx/devkit').Tree;
40
+ const mockHost = {
41
+ write: jest.fn(),
42
+ read: jest.fn(),
43
+ } as unknown as import('@nx/devkit').Tree;
39
44
 
40
45
  function makeMockSocket() {
41
46
  const handlers: Record<string, (...args: unknown[]) => void> = {};
@@ -58,7 +63,7 @@ function makeMockSocket() {
58
63
  // Flush the microtask queue so async operations inside consultAgent settle.
59
64
  // One tick is enough: the dynamic import and the enquirer mock both resolve
60
65
  // as microtasks, so after this all handlers are registered and descriptionReady=true.
61
- const flushPromises = () => new Promise(resolve => setTimeout(resolve, 0));
66
+ const flushPromises = () => new Promise((resolve) => setTimeout(resolve, 0));
62
67
 
63
68
  describe('consultAgent', () => {
64
69
  const ORIGINAL_ARGV = process.argv;
@@ -70,19 +75,31 @@ describe('consultAgent', () => {
70
75
  // consultAgent short-circuits when non-interactive; force an interactive
71
76
  // TTY (no flag, no CI) so these tests exercise the interactive flow.
72
77
  process.argv = ['node', 'nx'];
73
- Object.defineProperty(process.stdout, 'isTTY', { value: true, configurable: true });
78
+ Object.defineProperty(process.stdout, 'isTTY', {
79
+ value: true,
80
+ configurable: true,
81
+ });
74
82
  delete process.env.CI;
75
83
  });
76
84
  afterAll(() => {
77
85
  process.argv = ORIGINAL_ARGV;
78
- Object.defineProperty(process.stdout, 'isTTY', { value: ORIGINAL_TTY, configurable: true });
86
+ Object.defineProperty(process.stdout, 'isTTY', {
87
+ value: ORIGINAL_TTY,
88
+ configurable: true,
89
+ });
79
90
  if (ORIGINAL_CI === undefined) delete process.env.CI;
80
91
  else process.env.CI = ORIGINAL_CI;
81
92
  });
82
93
 
83
94
  it('returns null when agent-service is not in directory', async () => {
84
95
  mockedGetServiceUrls.mockResolvedValue({});
85
- const result = await consultAgent('https://directory.example.com', 'token', PROJECT_CONTEXT, mockHost, 'apps/test-service');
96
+ const result = await consultAgent(
97
+ 'https://directory.example.com',
98
+ 'token',
99
+ PROJECT_CONTEXT,
100
+ mockHost,
101
+ 'apps/test-service',
102
+ );
86
103
  expect(result).toBeNull();
87
104
  });
88
105
 
@@ -91,7 +108,13 @@ describe('consultAgent', () => {
91
108
  'urn:ads:platform:agent-service:v1': 'https://agent.example.com',
92
109
  });
93
110
  const socket = makeMockSocket();
94
- const resultPromise = consultAgent('https://directory.example.com', 'token', PROJECT_CONTEXT, mockHost, 'apps/test-service');
111
+ const resultPromise = consultAgent(
112
+ 'https://directory.example.com',
113
+ 'token',
114
+ PROJECT_CONTEXT,
115
+ mockHost,
116
+ 'apps/test-service',
117
+ );
95
118
  // After one tick: enquirer mock resolves, descriptionReady=true, conversationPromise returned.
96
119
  await flushPromises();
97
120
  socket._handlers['connect_error']?.();
@@ -103,7 +126,13 @@ describe('consultAgent', () => {
103
126
  'urn:ads:platform:agent-service:v1': 'https://agent.example.com',
104
127
  });
105
128
  const socket = makeMockSocket();
106
- const resultPromise = consultAgent('https://directory.example.com', 'token', PROJECT_CONTEXT, mockHost, 'apps/test-service');
129
+ const resultPromise = consultAgent(
130
+ 'https://directory.example.com',
131
+ 'token',
132
+ PROJECT_CONTEXT,
133
+ mockHost,
134
+ 'apps/test-service',
135
+ );
107
136
  await flushPromises();
108
137
 
109
138
  // descriptionReady=true at this point; workspace-updated fires last → triggers sendInitialMessage.
@@ -112,7 +141,10 @@ describe('consultAgent', () => {
112
141
  socket._handlers['message']?.('Connected as user...');
113
142
  socket._handlers['workspace-updated']?.();
114
143
  // Simulate agent responding with text (sets agentHasResponded = true)
115
- socket._handlers['stream']?.({ chunk: { type: 'text-delta', payload: { text: 'I will add events.' } }, done: false });
144
+ socket._handlers['stream']?.({
145
+ chunk: { type: 'text-delta', payload: { text: 'I will add events.' } },
146
+ done: false,
147
+ });
116
148
  socket._handlers['stream']?.({ chunk: null, done: true });
117
149
  socket._handlers['workspace-state']?.({
118
150
  files: [
@@ -122,9 +154,19 @@ describe('consultAgent', () => {
122
154
  });
123
155
 
124
156
  const result = await resultPromise;
125
- expect(result).toEqual({ filesWritten: 2, userInteracted: true, interrupted: false });
126
- expect(mockHost.write).toHaveBeenCalledWith('apps/test-service/src/roles.ts', 'export enum ServiceRoles {}');
127
- expect(mockHost.write).toHaveBeenCalledWith('apps/test-service/src/main.ts', 'updated main.ts');
157
+ expect(result).toEqual({
158
+ filesWritten: 2,
159
+ userInteracted: true,
160
+ interrupted: false,
161
+ });
162
+ expect(mockHost.write).toHaveBeenCalledWith(
163
+ 'apps/test-service/src/roles.ts',
164
+ 'export enum ServiceRoles {}',
165
+ );
166
+ expect(mockHost.write).toHaveBeenCalledWith(
167
+ 'apps/test-service/src/main.ts',
168
+ 'updated main.ts',
169
+ );
128
170
  });
129
171
 
130
172
  it('uploads existing files to workspace before sending the initial message', async () => {
@@ -132,14 +174,26 @@ describe('consultAgent', () => {
132
174
  'urn:ads:platform:agent-service:v1': 'https://agent.example.com',
133
175
  });
134
176
  const socket = makeMockSocket();
135
- const resultPromise = consultAgent('https://directory.example.com', 'token', PROJECT_CONTEXT, mockHost, 'apps/test-service');
177
+ const resultPromise = consultAgent(
178
+ 'https://directory.example.com',
179
+ 'token',
180
+ PROJECT_CONTEXT,
181
+ mockHost,
182
+ 'apps/test-service',
183
+ );
136
184
  await flushPromises();
137
185
 
138
186
  // connect → server sends 'message' readiness signal → workspace-update emitted → workspace-updated → initial message sent
139
187
  socket._handlers['connect']?.();
140
188
  socket._handlers['message']?.('Connected as user...');
141
189
  socket._handlers['workspace-updated']?.();
142
- socket._handlers['stream']?.({ chunk: { type: 'text-delta', payload: { text: 'What does this service do?' } }, done: false });
190
+ socket._handlers['stream']?.({
191
+ chunk: {
192
+ type: 'text-delta',
193
+ payload: { text: 'What does this service do?' },
194
+ },
195
+ done: false,
196
+ });
143
197
  socket._handlers['stream']?.({ chunk: null, done: true });
144
198
  socket._handlers['workspace-state']?.({ files: [] });
145
199
  await resultPromise;
@@ -151,14 +205,14 @@ describe('consultAgent', () => {
151
205
  writes: expect.arrayContaining([
152
206
  expect.objectContaining({ path: 'src/main.ts' }),
153
207
  ]),
154
- })
208
+ }),
155
209
  );
156
210
  expect(socket.emit).toHaveBeenCalledWith(
157
211
  'message',
158
212
  expect.objectContaining({
159
213
  agent: 'nxAdspAgent',
160
214
  content: expect.stringContaining('src/main.ts'),
161
- })
215
+ }),
162
216
  );
163
217
  });
164
218
  });
@@ -168,7 +222,10 @@ describe('isNonInteractive', () => {
168
222
  const ORIGINAL_TTY = process.stdout.isTTY;
169
223
  const ORIGINAL_CI = process.env.CI;
170
224
  const setTTY = (v: boolean | undefined) =>
171
- Object.defineProperty(process.stdout, 'isTTY', { value: v, configurable: true });
225
+ Object.defineProperty(process.stdout, 'isTTY', {
226
+ value: v,
227
+ configurable: true,
228
+ });
172
229
 
173
230
  afterEach(() => {
174
231
  process.argv = ORIGINAL_ARGV;
@@ -10,7 +10,8 @@ const tslib_1 = require("tslib");
10
10
  function listClients(accessServiceUrl, realm, clientId, accessToken) {
11
11
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
12
  const { default: axios } = yield Promise.resolve().then(() => require('axios'));
13
- const url = new URL(`/auth/admin/realms/${realm}/clients`, accessServiceUrl).href;
13
+ const url = new URL(`/auth/admin/realms/${realm}/clients`, accessServiceUrl)
14
+ .href;
14
15
  const { data } = yield axios.get(url, {
15
16
  params: { clientId },
16
17
  headers: { Authorization: `Bearer ${accessToken}` },
@@ -21,7 +22,8 @@ function listClients(accessServiceUrl, realm, clientId, accessToken) {
21
22
  function createClient(accessServiceUrl, realm, representation, accessToken) {
22
23
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
24
  const { default: axios } = yield Promise.resolve().then(() => require('axios'));
24
- const url = new URL(`/auth/admin/realms/${realm}/clients`, accessServiceUrl).href;
25
+ const url = new URL(`/auth/admin/realms/${realm}/clients`, accessServiceUrl)
26
+ .href;
25
27
  const response = yield axios.post(url, representation, {
26
28
  headers: { Authorization: `Bearer ${accessToken}` },
27
29
  });
@@ -168,9 +170,18 @@ function ensureServiceClient(accessServiceUrl, realm, clientId, accessToken) {
168
170
  try {
169
171
  const existing = yield listClients(accessServiceUrl, realm, clientId, accessToken);
170
172
  const platformRoles = [
171
- { platformClientId: 'urn:ads:platform:tenant-service', roleName: 'platform-service' },
172
- { platformClientId: 'urn:ads:platform:event-service', roleName: 'event-sender' },
173
- { platformClientId: 'urn:ads:platform:configuration-service', roleName: 'configured-service' },
173
+ {
174
+ platformClientId: 'urn:ads:platform:tenant-service',
175
+ roleName: 'platform-service',
176
+ },
177
+ {
178
+ platformClientId: 'urn:ads:platform:event-service',
179
+ roleName: 'event-sender',
180
+ },
181
+ {
182
+ platformClientId: 'urn:ads:platform:configuration-service',
183
+ roleName: 'configured-service',
184
+ },
174
185
  ];
175
186
  const existingClient = existing.find((c) => c.clientId === clientId);
176
187
  if (existingClient) {