@genesislcap/ai-assistant 14.435.0 → 14.436.0-FUI-2489.2

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.
@@ -1,11 +1,11 @@
1
1
  {
2
- "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../../api-extractor.json",
4
- "messages": {
5
- "extractorMessageReporting": {
6
- "ae-wrong-input-file-type": {
7
- "logLevel": "none"
8
- }
9
- }
10
- }
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../../api-extractor.json",
4
+ "messages": {
5
+ "extractorMessageReporting": {
6
+ "ae-wrong-input-file-type": {
7
+ "logLevel": "none"
8
+ }
9
+ }
10
+ }
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"popout-manager.d.ts","sourceRoot":"","sources":["../../../../src/components/popout-manager/popout-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAoB,MAAM,uBAAuB,CAAC;AAGxF;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,qEAAqE;IACrE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,IAAI,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAMa,yBAA0B,SAAQ,cAAc;IAC3D,mFAAmF;IACvE,OAAO,UAAS;IAE5B,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAa;IAE9B,iBAAiB;IAiCjB,oBAAoB;IAOpB,cAAc;IAUd,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAKpD,sBAAsB,IAAI,IAAI;IAM9B;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAKlC;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,yBAAyB,GAAG,SAAS,CAE1E"}
1
+ {"version":3,"file":"popout-manager.d.ts","sourceRoot":"","sources":["../../../../src/components/popout-manager/popout-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAoB,MAAM,uBAAuB,CAAC;AAGxF;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,qEAAqE;IACrE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,IAAI,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAMa,yBAA0B,SAAQ,cAAc;IAC3D,mFAAmF;IACvE,OAAO,UAAS;IAE5B,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAa;IAE9B,iBAAiB;IAkCjB,oBAAoB;IAOpB,cAAc;IAUd,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAKpD,sBAAsB,IAAI,IAAI;IAM9B;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAKlC;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,yBAAyB,GAAG,SAAS,CAE1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-suggestions.d.ts","sourceRoot":"","sources":["../../../src/suggestions/chat-suggestions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA+I3D,qBAKa,eAAgB,SAAQ,cAAc;IAEjD,KAAK,EAAE,gBAAgB,CAAsB;IAE7C,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAGhD"}
1
+ {"version":3,"file":"chat-suggestions.d.ts","sourceRoot":"","sources":["../../../src/suggestions/chat-suggestions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAMf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA+I3D,qBAKa,eAAgB,SAAQ,cAAc;IAEjD,KAAK,EAAE,gBAAgB,CAAsB;IAE7C,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAGhD"}
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tags/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tags/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC"}
@@ -639,11 +639,11 @@ export class ChatDriver extends EventTarget {
639
639
  // Sequential await is required — each iteration must see fresh values
640
640
  // before constructing the LLM request.
641
641
  if (this.toolDefinitionsFactory) {
642
- // eslint-disable-next-line no-await-in-loop
642
+ // oxlint-disable-next-line no-await-in-loop
643
643
  this.toolDefinitions = yield this.toolDefinitionsFactory(promptCtx);
644
644
  }
645
645
  const resolvedSystemPrompt = typeof this.systemPrompt === 'function'
646
- ? // eslint-disable-next-line no-await-in-loop
646
+ ? // oxlint-disable-next-line no-await-in-loop
647
647
  yield this.systemPrompt(promptCtx)
648
648
  : this.systemPrompt;
649
649
  const foldSuffix = this.buildFoldSystemPromptSuffix();
@@ -681,7 +681,7 @@ export class ChatDriver extends EventTarget {
681
681
  };
682
682
  let response;
683
683
  try {
684
- // eslint-disable-next-line no-await-in-loop
684
+ // oxlint-disable-next-line no-await-in-loop
685
685
  response = yield this.aiProvider.chat(historyForCall, userInputForCall, options);
686
686
  }
687
687
  catch (e) {
@@ -739,7 +739,7 @@ export class ChatDriver extends EventTarget {
739
739
  let anyRealToolExecuted = false;
740
740
  let hitUnknownToolLimit = false;
741
741
  if (toolCalls.length > 0) {
742
- // eslint-disable-next-line no-await-in-loop
742
+ // oxlint-disable-next-line no-await-in-loop -- Promise.all is correct parallelism, not sequential loop awaiting
743
743
  yield Promise.all(toolCalls.map((tc) => __awaiter(this, void 0, void 0, function* () {
744
744
  // Check for fold facade
745
745
  const fold = this.getFold(tc.name);
@@ -150,18 +150,18 @@ export class OrchestratingDriver extends EventTarget {
150
150
  let handoffSummary = '';
151
151
  let remainingTask = '';
152
152
  while (true) {
153
- // eslint-disable-next-line no-await-in-loop
153
+ // oxlint-disable-next-line no-await-in-loop
154
154
  yield this.applyAgent(currentAgent);
155
155
  let result;
156
156
  if (isHandoff) {
157
157
  const contextPrimer = handoffSummary
158
158
  ? [{ role: 'user', content: `[Context from previous agent]: ${handoffSummary}` }]
159
159
  : [];
160
- // eslint-disable-next-line no-await-in-loop
160
+ // oxlint-disable-next-line no-await-in-loop
161
161
  result = yield this.chatDriver.continueFromHistory(contextPrimer);
162
162
  }
163
163
  else {
164
- // eslint-disable-next-line no-await-in-loop
164
+ // oxlint-disable-next-line no-await-in-loop
165
165
  result = yield this.chatDriver.sendMessage(input, attachments);
166
166
  }
167
167
  // Release check: a stateful agent called `releaseAgent` from a terminal
@@ -169,7 +169,7 @@ export class OrchestratingDriver extends EventTarget {
169
169
  // classifier-mode. The LLM has already emitted its final wrap-up message
170
170
  // by the time we get here — release is purely a teardown.
171
171
  if (this.chatDriver.getAgentReleaseRequested()) {
172
- // eslint-disable-next-line no-await-in-loop
172
+ // oxlint-disable-next-line no-await-in-loop
173
173
  yield this.releaseActiveAgent();
174
174
  break;
175
175
  }
@@ -188,7 +188,7 @@ export class OrchestratingDriver extends EventTarget {
188
188
  isHandoff = true;
189
189
  const updatedHistory = this.chatDriver.getHistory();
190
190
  this.dispatchEvent(new CustomEvent('orchestrating-start'));
191
- // eslint-disable-next-line no-await-in-loop
191
+ // oxlint-disable-next-line no-await-in-loop
192
192
  currentAgent = yield this.classify(remainingTask, updatedHistory);
193
193
  }
194
194
  return { reason: 'done' };
@@ -386,7 +386,7 @@ export class OrchestratingDriver extends EventTarget {
386
386
  systemPrompt: classifierPrompt,
387
387
  tools: [routingTool],
388
388
  };
389
- // eslint-disable-next-line no-await-in-loop
389
+ // oxlint-disable-next-line no-await-in-loop
390
390
  const response = yield this.aiProvider.chat([], input, options);
391
391
  const tc = (_b = response.toolCalls) === null || _b === void 0 ? void 0 : _b[0];
392
392
  const index = (tc === null || tc === void 0 ? void 0 : tc.name) === 'select_agent' ? tc.args.agent_index : -1;
@@ -35,6 +35,7 @@ let FoundationAiPopoutManager = class FoundationAiPopoutManager extends GenesisE
35
35
  }
36
36
  connectedCallback() {
37
37
  super.connectedCallback();
38
+ // oxlint-disable-next-line typescript-eslint(no-this-alias) -- module-level singleton, not a local alias
38
39
  _aiPopoutManager = this;
39
40
  const bubble = this.querySelector('foundation-ai-chat-bubble');
40
41
  const assistantEl = bubble === null || bubble === void 0 ? void 0 : bubble.querySelector('[slot="dialog-content"]');
@@ -1,6 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { customElement, observable, html, css, repeat, when } from '@genesislcap/web-core';
3
- import { GenesisElement } from '@genesislcap/web-core';
2
+ import { customElement, GenesisElement, observable, html, css, repeat, when, } from '@genesislcap/web-core';
4
3
  const PILL_ANIMATION_STAGGER_MS = 70;
5
4
  const template = html `
6
5
  ${when((x) => x.state.status === 'loading', html `
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/ai-assistant",
3
3
  "description": "Genesis AI Assistant micro-frontend",
4
- "version": "14.435.0",
4
+ "version": "14.436.0-FUI-2489.2",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/ai-assistant.d.ts",
@@ -64,24 +64,24 @@
64
64
  }
65
65
  },
66
66
  "devDependencies": {
67
- "@genesislcap/foundation-testing": "14.435.0",
68
- "@genesislcap/genx": "14.435.0",
69
- "@genesislcap/rollup-builder": "14.435.0",
70
- "@genesislcap/ts-builder": "14.435.0",
71
- "@genesislcap/uvu-playwright-builder": "14.435.0",
72
- "@genesislcap/vite-builder": "14.435.0",
73
- "@genesislcap/webpack-builder": "14.435.0",
67
+ "@genesislcap/foundation-testing": "14.436.0-FUI-2489.2",
68
+ "@genesislcap/genx": "14.436.0-FUI-2489.2",
69
+ "@genesislcap/rollup-builder": "14.436.0-FUI-2489.2",
70
+ "@genesislcap/ts-builder": "14.436.0-FUI-2489.2",
71
+ "@genesislcap/uvu-playwright-builder": "14.436.0-FUI-2489.2",
72
+ "@genesislcap/vite-builder": "14.436.0-FUI-2489.2",
73
+ "@genesislcap/webpack-builder": "14.436.0-FUI-2489.2",
74
74
  "@types/dompurify": "^3.0.5",
75
75
  "@types/marked": "^5.0.2"
76
76
  },
77
77
  "dependencies": {
78
- "@genesislcap/foundation-ai": "14.435.0",
79
- "@genesislcap/foundation-logger": "14.435.0",
80
- "@genesislcap/foundation-redux": "14.435.0",
81
- "@genesislcap/foundation-ui": "14.435.0",
82
- "@genesislcap/foundation-utils": "14.435.0",
83
- "@genesislcap/rapid-design-system": "14.435.0",
84
- "@genesislcap/web-core": "14.435.0",
78
+ "@genesislcap/foundation-ai": "14.436.0-FUI-2489.2",
79
+ "@genesislcap/foundation-logger": "14.436.0-FUI-2489.2",
80
+ "@genesislcap/foundation-redux": "14.436.0-FUI-2489.2",
81
+ "@genesislcap/foundation-ui": "14.436.0-FUI-2489.2",
82
+ "@genesislcap/foundation-utils": "14.436.0-FUI-2489.2",
83
+ "@genesislcap/rapid-design-system": "14.436.0-FUI-2489.2",
84
+ "@genesislcap/web-core": "14.436.0-FUI-2489.2",
85
85
  "dompurify": "^3.3.1",
86
86
  "marked": "^17.0.3"
87
87
  },
@@ -93,5 +93,5 @@
93
93
  "publishConfig": {
94
94
  "access": "public"
95
95
  },
96
- "gitHead": "a0028d441ad3dbee9fd03f0da6798c928ea5f2bc"
96
+ "gitHead": "16309f873a08dfa541589cd172482677ff5dfd20"
97
97
  }
@@ -839,13 +839,13 @@ export class ChatDriver extends EventTarget implements AiDriver {
839
839
  // Sequential await is required — each iteration must see fresh values
840
840
  // before constructing the LLM request.
841
841
  if (this.toolDefinitionsFactory) {
842
- // eslint-disable-next-line no-await-in-loop
842
+ // oxlint-disable-next-line no-await-in-loop
843
843
  this.toolDefinitions = await this.toolDefinitionsFactory(promptCtx);
844
844
  }
845
845
 
846
846
  const resolvedSystemPrompt =
847
847
  typeof this.systemPrompt === 'function'
848
- ? // eslint-disable-next-line no-await-in-loop
848
+ ? // oxlint-disable-next-line no-await-in-loop
849
849
  await this.systemPrompt(promptCtx)
850
850
  : this.systemPrompt;
851
851
 
@@ -891,7 +891,7 @@ export class ChatDriver extends EventTarget implements AiDriver {
891
891
 
892
892
  let response: ChatMessage;
893
893
  try {
894
- // eslint-disable-next-line no-await-in-loop
894
+ // oxlint-disable-next-line no-await-in-loop
895
895
  response = await this.aiProvider.chat!(historyForCall, userInputForCall, options);
896
896
  } catch (e) {
897
897
  if (e instanceof MalformedFunctionCallError) {
@@ -961,7 +961,7 @@ export class ChatDriver extends EventTarget implements AiDriver {
961
961
  let hitUnknownToolLimit = false;
962
962
 
963
963
  if (toolCalls.length > 0) {
964
- // eslint-disable-next-line no-await-in-loop
964
+ // oxlint-disable-next-line no-await-in-loop -- Promise.all is correct parallelism, not sequential loop awaiting
965
965
  await Promise.all(
966
966
  toolCalls.map(async (tc) => {
967
967
  // Check for fold facade
@@ -230,7 +230,7 @@ export class OrchestratingDriver extends EventTarget implements AiDriver {
230
230
  let remainingTask = '';
231
231
 
232
232
  while (true) {
233
- // eslint-disable-next-line no-await-in-loop
233
+ // oxlint-disable-next-line no-await-in-loop
234
234
  await this.applyAgent(currentAgent);
235
235
 
236
236
  let result: ChatDriverResult;
@@ -238,10 +238,10 @@ export class OrchestratingDriver extends EventTarget implements AiDriver {
238
238
  const contextPrimer: ChatMessage[] = handoffSummary
239
239
  ? [{ role: 'user', content: `[Context from previous agent]: ${handoffSummary}` }]
240
240
  : [];
241
- // eslint-disable-next-line no-await-in-loop
241
+ // oxlint-disable-next-line no-await-in-loop
242
242
  result = await this.chatDriver.continueFromHistory(contextPrimer);
243
243
  } else {
244
- // eslint-disable-next-line no-await-in-loop
244
+ // oxlint-disable-next-line no-await-in-loop
245
245
  result = await this.chatDriver.sendMessage(input, attachments);
246
246
  }
247
247
 
@@ -250,7 +250,7 @@ export class OrchestratingDriver extends EventTarget implements AiDriver {
250
250
  // classifier-mode. The LLM has already emitted its final wrap-up message
251
251
  // by the time we get here — release is purely a teardown.
252
252
  if (this.chatDriver.getAgentReleaseRequested()) {
253
- // eslint-disable-next-line no-await-in-loop
253
+ // oxlint-disable-next-line no-await-in-loop
254
254
  await this.releaseActiveAgent();
255
255
  break;
256
256
  }
@@ -275,7 +275,7 @@ export class OrchestratingDriver extends EventTarget implements AiDriver {
275
275
 
276
276
  const updatedHistory = this.chatDriver.getHistory() as ChatMessage[];
277
277
  this.dispatchEvent(new CustomEvent('orchestrating-start'));
278
- // eslint-disable-next-line no-await-in-loop
278
+ // oxlint-disable-next-line no-await-in-loop
279
279
  currentAgent = await this.classify(remainingTask, updatedHistory);
280
280
  }
281
281
 
@@ -483,7 +483,7 @@ export class OrchestratingDriver extends EventTarget implements AiDriver {
483
483
  systemPrompt: classifierPrompt,
484
484
  tools: [routingTool],
485
485
  };
486
- // eslint-disable-next-line no-await-in-loop
486
+ // oxlint-disable-next-line no-await-in-loop
487
487
  const response = await this.aiProvider.chat!([], input, options);
488
488
  const tc = response.toolCalls?.[0];
489
489
  const index = tc?.name === 'select_agent' ? (tc.args.agent_index as number) : -1;
@@ -64,6 +64,7 @@ export class FoundationAiPopoutManager extends GenesisElement {
64
64
 
65
65
  connectedCallback() {
66
66
  super.connectedCallback();
67
+ // oxlint-disable-next-line typescript-eslint(no-this-alias) -- module-level singleton, not a local alias
67
68
  _aiPopoutManager = this;
68
69
 
69
70
  const bubble = this.querySelector('foundation-ai-chat-bubble');
@@ -1,5 +1,12 @@
1
- import { customElement, observable, html, css, repeat, when } from '@genesislcap/web-core';
2
- import { GenesisElement } from '@genesislcap/web-core';
1
+ import {
2
+ customElement,
3
+ GenesisElement,
4
+ observable,
5
+ html,
6
+ css,
7
+ repeat,
8
+ when,
9
+ } from '@genesislcap/web-core';
3
10
  import type { SuggestionsState } from '../main/main.types';
4
11
 
5
12
  type LoadedState = { status: 'loaded'; suggestions: string[] };
package/src/tags/index.ts CHANGED
@@ -0,0 +1 @@
1
+ export {};
package/tsconfig.json CHANGED
@@ -5,7 +5,5 @@
5
5
  "outDir": "./dist/esm",
6
6
  "rootDir": "./src"
7
7
  },
8
- "include": [
9
- "src/**/*"
10
- ]
8
+ "include": ["src/**/*"]
11
9
  }