@burdenoff/fe-libs 2026.1002.1 → 2026.1002.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.
Files changed (48) hide show
  1. package/dist/shared/assistant/gatewayClient.d.ts +6 -0
  2. package/dist/shared/assistant/gatewayClient.d.ts.map +1 -1
  3. package/dist/shared/assistant/gatewayClient.js +1 -0
  4. package/dist/shared/assistant/history/historyApi.d.ts +12 -0
  5. package/dist/shared/assistant/history/historyApi.d.ts.map +1 -1
  6. package/dist/shared/assistant/history/historyApi.js +62 -46
  7. package/dist/shared/assistant/history/historyControls.d.ts +7 -0
  8. package/dist/shared/assistant/history/historyControls.d.ts.map +1 -1
  9. package/dist/shared/assistant/history/historyControls.js +19 -16
  10. package/dist/shared/assistant/history/historyEngine.d.ts +17 -1
  11. package/dist/shared/assistant/history/historyEngine.d.ts.map +1 -1
  12. package/dist/shared/assistant/history/historyEngine.js +507 -467
  13. package/dist/shared/assistant/history/historyList.d.ts +15 -0
  14. package/dist/shared/assistant/history/historyList.d.ts.map +1 -1
  15. package/dist/shared/assistant/history/historyList.js +37 -38
  16. package/dist/shared/assistant/history/historyOperations.d.ts +35 -3
  17. package/dist/shared/assistant/history/historyOperations.d.ts.map +1 -1
  18. package/dist/shared/assistant/history/historyOperations.js +64 -27
  19. package/dist/shared/assistant/history/historySearch.d.ts +110 -0
  20. package/dist/shared/assistant/history/historySearch.d.ts.map +1 -0
  21. package/dist/shared/assistant/history/historySearch.js +226 -0
  22. package/dist/shared/assistant/history/historySearchQuery.d.ts +50 -0
  23. package/dist/shared/assistant/history/historySearchQuery.d.ts.map +1 -0
  24. package/dist/shared/assistant/history/historySearchQuery.js +23 -0
  25. package/dist/shared/assistant/history/historyTransportErrors.d.ts +17 -0
  26. package/dist/shared/assistant/history/historyTransportErrors.d.ts.map +1 -1
  27. package/dist/shared/assistant/history/historyTransportErrors.js +9 -1
  28. package/dist/shared/assistant/history/historyTypes.d.ts +32 -0
  29. package/dist/shared/assistant/history/historyTypes.d.ts.map +1 -1
  30. package/dist/shared/assistant/history/useAssistantHistorySearch.d.ts +32 -0
  31. package/dist/shared/assistant/history/useAssistantHistorySearch.d.ts.map +1 -0
  32. package/dist/shared/assistant/history/useAssistantHistorySearch.js +34 -0
  33. package/dist/shared/assistant/i18nManifest.d.ts +8 -0
  34. package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
  35. package/dist/shared/assistant/i18nManifest.js +8 -0
  36. package/dist/shared/assistant/index.d.ts +4 -0
  37. package/dist/shared/assistant/index.d.ts.map +1 -1
  38. package/dist/shared/assistant/ui/AssistantConversationFilters.d.ts +5 -1
  39. package/dist/shared/assistant/ui/AssistantConversationFilters.d.ts.map +1 -1
  40. package/dist/shared/assistant/ui/AssistantConversationFilters.js +81 -74
  41. package/dist/shared/assistant/ui/AssistantConversationList.d.ts +9 -0
  42. package/dist/shared/assistant/ui/AssistantConversationList.d.ts.map +1 -1
  43. package/dist/shared/assistant/ui/AssistantConversationList.js +316 -242
  44. package/dist/shared/assistant/ui/AssistantHistorySearchBox.d.ts +12 -0
  45. package/dist/shared/assistant/ui/AssistantHistorySearchBox.d.ts.map +1 -0
  46. package/dist/shared/assistant/ui/AssistantHistorySearchBox.js +74 -0
  47. package/dist/shared-assistant.js +175 -171
  48. package/package.json +1 -1
@@ -29,6 +29,12 @@ export declare function executeAssistantGraphQLOnce<TData>(params: {
29
29
  variables: Record<string, unknown>;
30
30
  workspaceId: string;
31
31
  authContext?: AssistantSandboxAuthContext;
32
+ /**
33
+ * Cancels the call (BOFF-8159 S9: a history search a newer one replaced).
34
+ * Aborted before it leaves, it is never sent; aborted on the wire, the
35
+ * fetch is cancelled and the call rejects.
36
+ */
37
+ signal?: AbortSignal;
32
38
  }): Promise<TData>;
33
39
  export declare function executeSandboxGraphQL<TData>(params: {
34
40
  query: string;
@@ -1 +1 @@
1
- {"version":3,"file":"gatewayClient.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/gatewayClient.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAe3D;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,2BAA2B,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,2BAA2B,CAAC;CAC3C,GAAG,OAAO,CAAC,KAAK,CAAC,CA6BjB;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,2BAA2B,CAAC;CAC3C,GAAG,OAAO,CAAC,KAAK,CAAC,CAyBjB"}
1
+ {"version":3,"file":"gatewayClient.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/gatewayClient.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAe3D;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,2BAA2B,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,KAAK,CAAC,CA8BjB;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,2BAA2B,CAAC;CAC3C,GAAG,OAAO,CAAC,KAAK,CAAC,CAyBjB"}
@@ -21,6 +21,7 @@ async function r(n) {
21
21
  query: n.query,
22
22
  operationName: n.operationName,
23
23
  variables: n.variables,
24
+ ...n.signal ? { signal: n.signal } : {},
24
25
  authToken: n.authContext?.accessToken ?? void 0,
25
26
  workspaceToken: !0,
26
27
  workspaceId: n.workspaceId,
@@ -8,11 +8,21 @@ export interface AssistantHistoryTransport {
8
8
  * The live list. With a `filter` it needs the history controls: without
9
9
  * them it is refused (`AssistantHistoryControlsUnavailableError`) rather
10
10
  * than answered unfiltered.
11
+ *
12
+ * With a `query` it is a SEARCH (BOFF-8159 S9): the same list, narrowed to
13
+ * the conversations that hold the query, at most 50 a page — sent as its
14
+ * own document, never through the drift fallback (see the docblock). A
15
+ * query the server would refuse (not 2-100 code points) is not sent
16
+ * (`AssistantHistorySearchQueryError`), and neither is any search while the
17
+ * controls are unavailable. `options.signal` cancels it.
11
18
  */
12
19
  conversations(scope: AssistantHistoryScope, page: {
13
20
  first: number;
14
21
  after: string | null;
15
22
  filter?: AssistantHistoryConversationFilter;
23
+ query?: string;
24
+ }, options?: {
25
+ signal?: AbortSignal;
16
26
  }): Promise<AssistantHistoryHeaderPage>;
17
27
  entries(scope: AssistantHistoryScope, ref: AssistantHistoryConvRef, page: AssistantHistoryEntryPaging): Promise<AssistantHistoryEntryPage>;
18
28
  save(scope: AssistantHistoryScope, input: AssistantHistorySaveInput): Promise<AssistantHistorySavePayload>;
@@ -40,6 +50,8 @@ export type AssistantHistoryExecutor = <TData>(params: {
40
50
  operationName: string;
41
51
  variables: Record<string, unknown>;
42
52
  workspaceId: string;
53
+ /** Only a search passes one (BOFF-8159 S9). */
54
+ signal?: AbortSignal;
43
55
  }) => Promise<TData>;
44
56
  export interface GatewayHistoryTransportOptions {
45
57
  execute?: AssistantHistoryExecutor;
@@ -1 +1 @@
1
- {"version":3,"file":"historyApi.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/history/historyApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAoCH,OAAO,KAAK,EACV,0BAA0B,EAE1B,uBAAuB,EACvB,kCAAkC,EAElC,6BAA6B,EAE7B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAG1B,yBAAyB,EAEzB,2BAA2B,EAC3B,qBAAqB,EAIrB,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,yBAAyB;IACxC,OAAO,CACL,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAC5C,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC;;;;OAIG;IACH,aAAa,CACX,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,kCAAkC,CAAA;KAAE,GACzF,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC,OAAO,CACL,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,IAAI,CACF,KAAK,EAAE,qBAAqB,EAC5B,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,MAAM,CACJ,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1C,yFAAyF;IACzF,MAAM,CACJ,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1C,+GAA+G;IAC/G,iBAAiB,IAAI,OAAO,CAAC;IAC7B,+EAA+E;IAC/E,gBAAgB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACrE,+FAA+F;IAC/F,eAAe,IAAI,IAAI,CAAC;CACzB;AAED,6FAA6F;AAC7F,eAAO,MAAM,qCAAqC,QAAc,CAAC;AACjE;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,IAAI,CAAC;AAEvD,sFAAsF;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;AAErB,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAuBD,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,8BAAmC,GAC3C,yBAAyB,CA6Q3B"}
1
+ {"version":3,"file":"historyApi.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/history/historyApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AA6CH,OAAO,KAAK,EACV,0BAA0B,EAE1B,uBAAuB,EACvB,kCAAkC,EAElC,6BAA6B,EAE7B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAG1B,yBAAyB,EAEzB,2BAA2B,EAC3B,qBAAqB,EAIrB,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,yBAAyB;IACxC,OAAO,CACL,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAC5C,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC;;;;;;;;;;;OAWG;IACH,aAAa,CACX,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,EAAE,kCAAkC,CAAC;QAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EACD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC,OAAO,CACL,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,IAAI,CACF,KAAK,EAAE,qBAAqB,EAC5B,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,MAAM,CACJ,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1C,yFAAyF;IACzF,MAAM,CACJ,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1C,+GAA+G;IAC/G,iBAAiB,IAAI,OAAO,CAAC;IAC7B,+EAA+E;IAC/E,gBAAgB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACrE,+FAA+F;IAC/F,eAAe,IAAI,IAAI,CAAC;CACzB;AAED,6FAA6F;AAC7F,eAAO,MAAM,qCAAqC,QAAc,CAAC;AACjE;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,IAAI,CAAC;AAEvD,sFAAsF;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;AAErB,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAuBD,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,8BAAmC,GAC3C,yBAAyB,CAmT3B"}
@@ -1,13 +1,14 @@
1
1
  import { executeAssistantGraphQLOnce as e } from "../gatewayClient.js";
2
2
  import { getActorId as t, getWorkspaceId as n } from "../context.js";
3
- import { AssistantHistoryControlsUnavailableError as r, AssistantHistoryResponseError as i, AssistantHistoryScopeInactiveError as a } from "./historyTransportErrors.js";
4
- import { classifyAssistantHistoryError as o, isAssistantHistoryControlsDrift as s } from "./historyErrors.js";
5
- import { ASSISTANT_HISTORY_CHANGES_OPERATION as c, ASSISTANT_HISTORY_CHANGES_QUERY as l, ASSISTANT_HISTORY_CHANGES_QUERY_BASE as u, ASSISTANT_HISTORY_CONVERSATIONS_OPERATION as d, ASSISTANT_HISTORY_CONVERSATIONS_QUERY as f, ASSISTANT_HISTORY_CONVERSATIONS_QUERY_BASE as p, ASSISTANT_HISTORY_DELETE_MUTATION as m, ASSISTANT_HISTORY_DELETE_MUTATION_BASE as h, ASSISTANT_HISTORY_DELETE_OPERATION as g, ASSISTANT_HISTORY_ENTRIES_OPERATION as _, ASSISTANT_HISTORY_ENTRIES_QUERY as v, ASSISTANT_HISTORY_ENTRIES_QUERY_BASE as y, ASSISTANT_HISTORY_SAVE_MUTATION as b, ASSISTANT_HISTORY_SAVE_MUTATION_BASE as x, ASSISTANT_HISTORY_SAVE_OPERATION as S, ASSISTANT_HISTORY_UPDATE_MUTATION as C, ASSISTANT_HISTORY_UPDATE_OPERATION as w, buildHistoryDeleteVariables as T, buildHistoryEntriesVariables as E, buildHistoryListVariables as D, buildHistoryPageVariables as O, buildHistorySaveVariables as k, buildHistoryUpdateVariables as A } from "./historyOperations.js";
3
+ import { AssistantHistoryControlsUnavailableError as r, AssistantHistoryResponseError as i, AssistantHistoryScopeInactiveError as a, AssistantHistorySearchQueryError as o } from "./historyTransportErrors.js";
4
+ import { classifyAssistantHistoryError as s, isAssistantHistoryControlsDrift as c } from "./historyErrors.js";
5
+ import { ASSISTANT_HISTORY_CHANGES_OPERATION as l, ASSISTANT_HISTORY_CHANGES_QUERY as u, ASSISTANT_HISTORY_CHANGES_QUERY_BASE as d, ASSISTANT_HISTORY_CONVERSATIONS_OPERATION as f, ASSISTANT_HISTORY_CONVERSATIONS_QUERY as p, ASSISTANT_HISTORY_CONVERSATIONS_QUERY_BASE as m, ASSISTANT_HISTORY_DELETE_MUTATION as ee, ASSISTANT_HISTORY_DELETE_MUTATION_BASE as te, ASSISTANT_HISTORY_DELETE_OPERATION as h, ASSISTANT_HISTORY_ENTRIES_OPERATION as g, ASSISTANT_HISTORY_ENTRIES_QUERY as ne, ASSISTANT_HISTORY_ENTRIES_QUERY_BASE as re, ASSISTANT_HISTORY_SAVE_MUTATION as _, ASSISTANT_HISTORY_SAVE_MUTATION_BASE as v, ASSISTANT_HISTORY_SAVE_OPERATION as y, ASSISTANT_HISTORY_SEARCH_OPERATION as b, ASSISTANT_HISTORY_SEARCH_QUERY as x, ASSISTANT_HISTORY_UPDATE_MUTATION as S, ASSISTANT_HISTORY_UPDATE_OPERATION as C, buildHistoryDeleteVariables as w, buildHistoryEntriesVariables as ie, buildHistoryListVariables as ae, buildHistoryPageVariables as T, buildHistorySaveVariables as E, buildHistorySearchVariables as D, buildHistoryUpdateVariables as O } from "./historyOperations.js";
6
+ import { isServerHistorySearchQuery as k, normaliseHistorySearchQuery as A } from "./historySearchQuery.js";
6
7
  import { historyTimestampToIso as j } from "./historyTimestamps.js";
7
8
  //#region src/shared/assistant/history/historyApi.ts
8
9
  var M = 10 * 6e4, N = 2;
9
10
  function P(e) {
10
- let t = o(e);
11
+ let t = s(e);
11
12
  return t.class === "transient" && t.code !== "RATE_LIMIT_EXCEEDED";
12
13
  }
13
14
  function F(e) {
@@ -17,26 +18,27 @@ function F(e) {
17
18
  return null;
18
19
  }
19
20
  }
20
- function I(o = {}) {
21
- let j = o.execute ?? ((t) => e(t)), N = o.activeWorkspaceId ?? n, I = o.activeActorId ?? t, B = o.now ?? Date.now, V = !0, H = 0, K = !1, Y = 0, X = /* @__PURE__ */ new Set(), Z = (e) => {
21
+ function I(s = {}) {
22
+ let j = s.execute ?? ((t) => e(t)), N = s.activeWorkspaceId ?? n, I = s.activeActorId ?? t, B = s.now ?? Date.now, V = !0, H = 0, K = !1, Y = 0, X = /* @__PURE__ */ new Set(), Z = (e) => {
22
23
  if (e || (H = B() + M), e !== V) {
23
24
  V = e;
24
25
  for (let t of [...X]) try {
25
26
  t(e);
26
27
  } catch {}
27
28
  }
28
- }, Q = async (e, t, n, r) => {
29
+ }, Q = async (e, t, n, r, o) => {
29
30
  if (!e.workspaceId || !e.actorId || F(N) !== e.workspaceId || F(I) !== e.actorId) throw new a();
30
- let o = await j({
31
+ let s = await j({
31
32
  query: n,
32
33
  operationName: t,
33
34
  variables: r,
34
- workspaceId: e.workspaceId
35
+ workspaceId: e.workspaceId,
36
+ ...o ? { signal: o } : {}
35
37
  });
36
- if (!U(o)) throw new i(t, "no data");
37
- return o;
38
+ if (!U(s)) throw new i(t, "no data");
39
+ return s;
38
40
  }, $ = async (e, t, n, i, o = {}) => {
39
- let { full: c, base: l } = n, u = async () => {
41
+ let { full: s, base: l } = n, u = async () => {
40
42
  if (!l) throw new r(t);
41
43
  return i(await Q(e, t, l.query, l.variables), !1);
42
44
  };
@@ -46,10 +48,10 @@ function I(o = {}) {
46
48
  }
47
49
  let d;
48
50
  try {
49
- d = await Q(e, t, c.query, c.variables);
51
+ d = await Q(e, t, s.query, s.variables);
50
52
  } catch (n) {
51
53
  if (n instanceof a) throw n;
52
- if (s(n)) return Y = 0, Z(!1), u();
54
+ if (c(n)) return Y = 0, Z(!1), u();
53
55
  if (l && P(n) && (Y += 1, Y >= 2)) {
54
56
  Y = 0;
55
57
  let r;
@@ -65,6 +67,20 @@ function I(o = {}) {
65
67
  Y = 0;
66
68
  let f = i(d, !0);
67
69
  return Z(!0), f;
70
+ }, oe = async (e, t, n, i) => {
71
+ let a = A(n);
72
+ if (!k(a)) throw new o();
73
+ if (!V) throw new r(b);
74
+ let s = await Q(e, b, x, D(e, {
75
+ first: Math.max(1, Math.min(t.first, 50)),
76
+ after: t.after,
77
+ query: a,
78
+ ...t.filter ? { filter: t.filter } : {}
79
+ }), i), c = W(b), l = c.record(s.myAssistantConversations, "myAssistantConversations");
80
+ return {
81
+ nodes: c.list(l.nodes, "nodes").map((e) => q(c, e, !0)),
82
+ pageInfo: G(c, l.pageInfo)
83
+ };
68
84
  };
69
85
  return {
70
86
  controlsAvailable: () => V,
@@ -77,18 +93,18 @@ function I(o = {}) {
77
93
  V || (K = !0);
78
94
  },
79
95
  async changes(e, t) {
80
- let n = O(e, t);
81
- return $(e, c, {
96
+ let n = T(e, t);
97
+ return $(e, l, {
82
98
  full: {
83
- query: l,
99
+ query: u,
84
100
  variables: n
85
101
  },
86
102
  base: {
87
- query: u,
103
+ query: d,
88
104
  variables: n
89
105
  }
90
106
  }, (e, t) => {
91
- let n = W(c), r = n.record(e.myAssistantHistoryChanges, "myAssistantHistoryChanges");
107
+ let n = W(l), r = n.record(e.myAssistantHistoryChanges, "myAssistantHistoryChanges");
92
108
  return {
93
109
  nodes: n.list(r.nodes, "nodes").map((e) => q(n, e, t)),
94
110
  pageInfo: G(n, r.pageInfo),
@@ -96,37 +112,37 @@ function I(o = {}) {
96
112
  };
97
113
  }, { probe: !0 });
98
114
  },
99
- async conversations(e, t) {
100
- return $(e, d, {
115
+ async conversations(e, t, n = {}) {
116
+ return t.query === void 0 ? $(e, f, {
101
117
  full: {
102
- query: f,
103
- variables: D(e, t)
118
+ query: p,
119
+ variables: ae(e, t)
104
120
  },
105
121
  base: t.filter ? null : {
106
- query: p,
107
- variables: O(e, t)
122
+ query: m,
123
+ variables: T(e, t)
108
124
  }
109
125
  }, (e, t) => {
110
- let n = W(d), r = n.record(e.myAssistantConversations, "myAssistantConversations");
126
+ let n = W(f), r = n.record(e.myAssistantConversations, "myAssistantConversations");
111
127
  return {
112
128
  nodes: n.list(r.nodes, "nodes").map((e) => q(n, e, t)),
113
129
  pageInfo: G(n, r.pageInfo)
114
130
  };
115
- });
131
+ }) : oe(e, t, t.query, n.signal);
116
132
  },
117
133
  async entries(e, t, n) {
118
- let r = E(e, t, n);
119
- return $(e, _, {
134
+ let r = ie(e, t, n);
135
+ return $(e, g, {
120
136
  full: {
121
- query: v,
137
+ query: ne,
122
138
  variables: r
123
139
  },
124
140
  base: {
125
- query: y,
141
+ query: re,
126
142
  variables: r
127
143
  }
128
144
  }, (e, t) => {
129
- let n = W(_), r = n.record(e.myAssistantConversationEntries, "myAssistantConversationEntries");
145
+ let n = W(g), r = n.record(e.myAssistantConversationEntries, "myAssistantConversationEntries");
130
146
  return {
131
147
  conversation: q(n, r.conversation, t),
132
148
  nodes: n.list(r.nodes, "nodes").map((e) => J(n, e)),
@@ -135,18 +151,18 @@ function I(o = {}) {
135
151
  });
136
152
  },
137
153
  async save(e, t) {
138
- let n = k(e, t);
139
- return $(e, S, {
154
+ let n = E(e, t);
155
+ return $(e, y, {
140
156
  full: {
141
- query: b,
157
+ query: _,
142
158
  variables: n
143
159
  },
144
160
  base: {
145
- query: x,
161
+ query: v,
146
162
  variables: n
147
163
  }
148
164
  }, (e, t) => {
149
- let n = W(S), r = n.record(e.saveMyAssistantHistoryEntries, "saveMyAssistantHistoryEntries");
165
+ let n = W(y), r = n.record(e.saveMyAssistantHistoryEntries, "saveMyAssistantHistoryEntries");
150
166
  return {
151
167
  outcome: n.oneOf(r.outcome, L, "outcome"),
152
168
  conversation: q(n, r.conversation, t),
@@ -156,18 +172,18 @@ function I(o = {}) {
156
172
  });
157
173
  },
158
174
  async remove(e, t) {
159
- let n = T(e, t);
160
- return $(e, g, {
175
+ let n = w(e, t);
176
+ return $(e, h, {
161
177
  full: {
162
- query: m,
178
+ query: ee,
163
179
  variables: n
164
180
  },
165
181
  base: {
166
- query: h,
182
+ query: te,
167
183
  variables: n
168
184
  }
169
185
  }, (e, t) => {
170
- let n = W(g), r = n.record(e.deleteMyAssistantConversation, "deleteMyAssistantConversation");
186
+ let n = W(h), r = n.record(e.deleteMyAssistantConversation, "deleteMyAssistantConversation");
171
187
  return {
172
188
  outcome: n.oneOf(r.outcome, R, "outcome"),
173
189
  conversation: r.conversation == null ? null : q(n, r.conversation, t)
@@ -175,14 +191,14 @@ function I(o = {}) {
175
191
  });
176
192
  },
177
193
  async update(e, t, n) {
178
- return $(e, w, {
194
+ return $(e, C, {
179
195
  full: {
180
- query: C,
181
- variables: A(e, t, n)
196
+ query: S,
197
+ variables: O(e, t, n)
182
198
  },
183
199
  base: null
184
200
  }, (e) => {
185
- let t = W(w), n = t.record(e.updateMyAssistantConversation, "updateMyAssistantConversation");
201
+ let t = W(C), n = t.record(e.updateMyAssistantConversation, "updateMyAssistantConversation");
186
202
  return {
187
203
  outcome: t.oneOf(n.outcome, z, "outcome"),
188
204
  conversation: q(t, n.conversation, !0)
@@ -13,6 +13,13 @@ export declare const HISTORY_TITLE_MAX_CODE_POINTS = 80;
13
13
  export declare function clampToCodePoints(text: string, max: number): string;
14
14
  /** How many code points `text` holds. */
15
15
  export declare function codePointLength(text: string): number;
16
+ /**
17
+ * Text as the server reads a title or a search (`toStorableText`, then
18
+ * `\s+` → one space, trimmed): what it cannot store (U+0000, an unpaired
19
+ * surrogate) becomes U+FFFD, every run of whitespace one space, the ends
20
+ * trimmed. No length limit — each caller applies its own.
21
+ */
22
+ export declare function collapseHistoryText(text: string): string;
16
23
  /**
17
24
  * A title exactly as the server will store it: what cannot be stored becomes
18
25
  * U+FFFD, every run of whitespace one space, trimmed, then at most 80 code
@@ -1 +1 @@
1
- {"version":3,"file":"historyControls.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/history/historyControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"historyControls.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/history/historyControls.ts"],"names":[],"mappings":"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"}
@@ -8,34 +8,37 @@ function o(e) {
8
8
  return Array.from(e).length;
9
9
  }
10
10
  function s(e) {
11
- return a(e.replaceAll(r, i).replace(n, i).replace(/\s+/g, " ").trim(), 80).trim();
11
+ return e.replaceAll(r, i).replace(n, i).replace(/\s+/g, " ").trim();
12
12
  }
13
- function c(e, t) {
13
+ function c(e) {
14
+ return a(s(e), 80).trim();
15
+ }
16
+ function l(e, t) {
14
17
  let n = {
15
18
  ...e,
16
19
  ...t
17
20
  };
18
21
  return t.archived === !0 && t.pinned === void 0 && delete n.pinned, t.pinned === !0 && t.archived === void 0 && delete n.archived, n;
19
22
  }
20
- function l(e) {
23
+ function u(e) {
21
24
  return !([
22
25
  e.title,
23
26
  e.pinned,
24
27
  e.archived
25
- ].filter((e) => e !== void 0).length === 0 || e.pinned === !0 && e.archived === !0 || e.title !== void 0 && (e.title.length === 0 || e.title !== s(e.title)));
28
+ ].filter((e) => e !== void 0).length === 0 || e.pinned === !0 && e.archived === !0 || e.title !== void 0 && (e.title.length === 0 || e.title !== c(e.title)));
26
29
  }
27
- function u(e) {
30
+ function d(e) {
28
31
  let t = !1, n = !1;
29
32
  for (let r of e.messages) if (r.role === "user" && (r.metadata?.voice === !0 ? n = !0 : t = !0, t && n)) return "MIXED";
30
33
  return n ? "VOICE" : t ? "CHAT" : null;
31
34
  }
32
- function d(e) {
35
+ function f(e) {
33
36
  return {
34
37
  typed: e === "CHAT" || e === "MIXED",
35
38
  spoken: e === "VOICE" || e === "MIXED"
36
39
  };
37
40
  }
38
- function f(e, t) {
41
+ function p(e, t) {
39
42
  let n = {};
40
43
  if (t === null) return n;
41
44
  for (let r of e) r.type !== "update" || r.scopeKey !== t || (n[r.convKey] ??= []).push({
@@ -44,13 +47,13 @@ function f(e, t) {
44
47
  });
45
48
  return n;
46
49
  }
47
- function p(e, t, n = []) {
50
+ function m(e, t, n = []) {
48
51
  let r = t?.pinnedAt ?? null, i = t?.archivedAt ?? null, a = null;
49
52
  for (let { patch: e, at: t } of n) {
50
53
  let n = new Date(t).toISOString();
51
54
  e.title !== void 0 && (a = e.title), e.archived === !0 ? (i ??= n, r = null) : e.archived === !1 && (i = null), e.pinned === !0 ? (r ??= n, i = null) : e.pinned === !1 && (r = null);
52
55
  }
53
- let o = d(t?.channel), s = d(e ? u(e) : null), c = o.typed || s.typed, l = o.spoken || s.spoken;
56
+ let o = f(t?.channel), s = f(e ? d(e) : null), c = o.typed || s.typed, l = o.spoken || s.spoken;
54
57
  return {
55
58
  pendingTitle: a,
56
59
  pinnedAt: r,
@@ -60,27 +63,27 @@ function p(e, t, n = []) {
60
63
  pending: n.length > 0
61
64
  };
62
65
  }
63
- var m = {
66
+ var h = {
64
67
  channel: "ANY",
65
68
  pinned: null,
66
69
  archived: "EXCLUDE"
67
70
  };
68
- function h(e, t = m) {
71
+ function g(e, t = h) {
69
72
  let n = t.archived ?? "EXCLUDE";
70
73
  if (n === "EXCLUDE" && e.archivedAt !== null || n === "ONLY" && e.archivedAt === null || t.pinned === !0 && e.pinnedAt === null || t.pinned === !1 && e.pinnedAt !== null) return !1;
71
- let r = d(e.channel), i = t.channel ?? "ANY";
74
+ let r = f(e.channel), i = t.channel ?? "ANY";
72
75
  return !(i === "CHAT" && !r.typed || i === "VOICE" && !r.spoken);
73
76
  }
74
- function g(e) {
77
+ function _(e) {
75
78
  if (!e) return "";
76
79
  let t = e.pinned === !0 ? "pinned" : e.pinned === !1 ? "unpinned" : "any";
77
80
  return `${e.channel ?? "ANY"}|${t}|${e.archived ?? "EXCLUDE"}`;
78
81
  }
79
- function _(e) {
82
+ function v(e) {
80
83
  return (e.channel ?? "ANY") === "ANY" && (e.pinned ?? null) === null && (e.archived ?? "EXCLUDE") === "EXCLUDE";
81
84
  }
82
- function v(e) {
85
+ function y(e) {
83
86
  return e.archived === "ONLY" ? "archived" : e.pinned === !0 ? "pinned" : e.channel === "VOICE" ? "voice" : e.channel === "CHAT" ? "chat" : null;
84
87
  }
85
88
  //#endregion
86
- export { m as DEFAULT_HISTORY_LIST_FILTER, t as HISTORY_TITLE_MAX_CODE_POINTS, e as MAX_PINNED, a as clampToCodePoints, c as coalesceUpdatePatch, o as codePointLength, v as historyFilterEmptyKind, g as historyFilterKey, _ as isDefaultHistoryFilter, l as isValidUpdatePatch, u as localChannelOf, h as matchesHistoryFilter, s as normaliseHistoryTitle, f as pendingUpdatesByConversation, p as resolveRowControls };
89
+ export { h as DEFAULT_HISTORY_LIST_FILTER, t as HISTORY_TITLE_MAX_CODE_POINTS, e as MAX_PINNED, a as clampToCodePoints, l as coalesceUpdatePatch, o as codePointLength, s as collapseHistoryText, y as historyFilterEmptyKind, _ as historyFilterKey, v as isDefaultHistoryFilter, u as isValidUpdatePatch, d as localChannelOf, g as matchesHistoryFilter, c as normaliseHistoryTitle, p as pendingUpdatesByConversation, m as resolveRowControls };
@@ -3,7 +3,7 @@ import { useAssistantStore } from '../store';
3
3
  import { AssistantHistoryTransport } from './historyApi';
4
4
  import { AssistantHistoryStatusStore } from './historyStatus';
5
5
  import { AssistantHistoryStoreHandle } from './historyStore';
6
- import { AssistantHistoryConvKey, AssistantHistoryConversationFilter, AssistantHistoryEntryKind, AssistantHistoryScope, AssistantHistoryUpdatePatch } from './historyTypes';
6
+ import { AssistantHistoryConvKey, AssistantHistoryConversationFilter, AssistantHistoryEntryKind, AssistantHistoryScope, AssistantHistorySearchPage, AssistantHistorySearchRequest, AssistantHistoryUpdatePatch } from './historyTypes';
7
7
  /** Time, injectable so the engine's backoff and pruning are testable without real timers. */
8
8
  export interface AssistantHistoryClock {
9
9
  now(): number;
@@ -78,6 +78,22 @@ export interface AssistantHistoryEngine {
78
78
  * controls, unfiltered otherwise.
79
79
  */
80
80
  loadOlderHeaders(filter?: AssistantHistoryConversationFilter): void;
81
+ /**
82
+ * One page of the server's search of this scope's conversations (BOFF-8159
83
+ * S9): the list's filter applied with the query, the list's order and
84
+ * cursor, at most 50 a page, deleted ones left out, each match tagged with
85
+ * the scope it was read for. Until the next first page,
86
+ * `clearSearchResults` or a scope change, a match can be opened, renamed,
87
+ * pinned, archived or deleted like any listed conversation.
88
+ *
89
+ * Rejects without sending (`AssistantHistorySearchUnavailableError`) when
90
+ * history cannot reach the server for this list now — off, paused, signed
91
+ * out, between scopes — and rejects an answer that arrives for a scope that
92
+ * is no longer the active one. ★ The query is never logged or kept.
93
+ */
94
+ searchConversations(request: AssistantHistorySearchRequest): Promise<AssistantHistorySearchPage>;
95
+ /** The search box was cleared or the list closed: forget the matches held for it. */
96
+ clearSearchResults(): void;
81
97
  /**
82
98
  * The history list was opened: retry quota-parked saves now, try the
83
99
  * controls again if the server lacked them, pull, and fetch the pinned
@@ -1 +1 @@
1
- {"version":3,"file":"historyEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/history/historyEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"historyEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/history/historyEngine.ts"],"names":[],"mappings":"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"}