@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.
- package/dist/shared/assistant/gatewayClient.d.ts +6 -0
- package/dist/shared/assistant/gatewayClient.d.ts.map +1 -1
- package/dist/shared/assistant/gatewayClient.js +1 -0
- package/dist/shared/assistant/history/historyApi.d.ts +12 -0
- package/dist/shared/assistant/history/historyApi.d.ts.map +1 -1
- package/dist/shared/assistant/history/historyApi.js +62 -46
- package/dist/shared/assistant/history/historyControls.d.ts +7 -0
- package/dist/shared/assistant/history/historyControls.d.ts.map +1 -1
- package/dist/shared/assistant/history/historyControls.js +19 -16
- package/dist/shared/assistant/history/historyEngine.d.ts +17 -1
- package/dist/shared/assistant/history/historyEngine.d.ts.map +1 -1
- package/dist/shared/assistant/history/historyEngine.js +507 -467
- package/dist/shared/assistant/history/historyList.d.ts +15 -0
- package/dist/shared/assistant/history/historyList.d.ts.map +1 -1
- package/dist/shared/assistant/history/historyList.js +37 -38
- package/dist/shared/assistant/history/historyOperations.d.ts +35 -3
- package/dist/shared/assistant/history/historyOperations.d.ts.map +1 -1
- package/dist/shared/assistant/history/historyOperations.js +64 -27
- package/dist/shared/assistant/history/historySearch.d.ts +110 -0
- package/dist/shared/assistant/history/historySearch.d.ts.map +1 -0
- package/dist/shared/assistant/history/historySearch.js +226 -0
- package/dist/shared/assistant/history/historySearchQuery.d.ts +50 -0
- package/dist/shared/assistant/history/historySearchQuery.d.ts.map +1 -0
- package/dist/shared/assistant/history/historySearchQuery.js +23 -0
- package/dist/shared/assistant/history/historyTransportErrors.d.ts +17 -0
- package/dist/shared/assistant/history/historyTransportErrors.d.ts.map +1 -1
- package/dist/shared/assistant/history/historyTransportErrors.js +9 -1
- package/dist/shared/assistant/history/historyTypes.d.ts +32 -0
- package/dist/shared/assistant/history/historyTypes.d.ts.map +1 -1
- package/dist/shared/assistant/history/useAssistantHistorySearch.d.ts +32 -0
- package/dist/shared/assistant/history/useAssistantHistorySearch.d.ts.map +1 -0
- package/dist/shared/assistant/history/useAssistantHistorySearch.js +34 -0
- package/dist/shared/assistant/i18nManifest.d.ts +8 -0
- package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.js +8 -0
- package/dist/shared/assistant/index.d.ts +4 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantConversationFilters.d.ts +5 -1
- package/dist/shared/assistant/ui/AssistantConversationFilters.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantConversationFilters.js +81 -74
- package/dist/shared/assistant/ui/AssistantConversationList.d.ts +9 -0
- package/dist/shared/assistant/ui/AssistantConversationList.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantConversationList.js +316 -242
- package/dist/shared/assistant/ui/AssistantHistorySearchBox.d.ts +12 -0
- package/dist/shared/assistant/ui/AssistantHistorySearchBox.d.ts.map +1 -0
- package/dist/shared/assistant/ui/AssistantHistorySearchBox.js +74 -0
- package/dist/shared-assistant.js +175 -171
- 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;
|
|
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"}
|
|
@@ -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
|
|
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
|
|
5
|
-
import { ASSISTANT_HISTORY_CHANGES_OPERATION as
|
|
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 =
|
|
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(
|
|
21
|
-
let j =
|
|
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
|
|
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(
|
|
37
|
-
return
|
|
38
|
+
if (!U(s)) throw new i(t, "no data");
|
|
39
|
+
return s;
|
|
38
40
|
}, $ = async (e, t, n, i, o = {}) => {
|
|
39
|
-
let { full:
|
|
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,
|
|
51
|
+
d = await Q(e, t, s.query, s.variables);
|
|
50
52
|
} catch (n) {
|
|
51
53
|
if (n instanceof a) throw n;
|
|
52
|
-
if (
|
|
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 =
|
|
81
|
-
return $(e,
|
|
96
|
+
let n = T(e, t);
|
|
97
|
+
return $(e, l, {
|
|
82
98
|
full: {
|
|
83
|
-
query:
|
|
99
|
+
query: u,
|
|
84
100
|
variables: n
|
|
85
101
|
},
|
|
86
102
|
base: {
|
|
87
|
-
query:
|
|
103
|
+
query: d,
|
|
88
104
|
variables: n
|
|
89
105
|
}
|
|
90
106
|
}, (e, t) => {
|
|
91
|
-
let n = W(
|
|
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,
|
|
115
|
+
async conversations(e, t, n = {}) {
|
|
116
|
+
return t.query === void 0 ? $(e, f, {
|
|
101
117
|
full: {
|
|
102
|
-
query:
|
|
103
|
-
variables:
|
|
118
|
+
query: p,
|
|
119
|
+
variables: ae(e, t)
|
|
104
120
|
},
|
|
105
121
|
base: t.filter ? null : {
|
|
106
|
-
query:
|
|
107
|
-
variables:
|
|
122
|
+
query: m,
|
|
123
|
+
variables: T(e, t)
|
|
108
124
|
}
|
|
109
125
|
}, (e, t) => {
|
|
110
|
-
let n = W(
|
|
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 =
|
|
119
|
-
return $(e,
|
|
134
|
+
let r = ie(e, t, n);
|
|
135
|
+
return $(e, g, {
|
|
120
136
|
full: {
|
|
121
|
-
query:
|
|
137
|
+
query: ne,
|
|
122
138
|
variables: r
|
|
123
139
|
},
|
|
124
140
|
base: {
|
|
125
|
-
query:
|
|
141
|
+
query: re,
|
|
126
142
|
variables: r
|
|
127
143
|
}
|
|
128
144
|
}, (e, t) => {
|
|
129
|
-
let n = W(
|
|
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 =
|
|
139
|
-
return $(e,
|
|
154
|
+
let n = E(e, t);
|
|
155
|
+
return $(e, y, {
|
|
140
156
|
full: {
|
|
141
|
-
query:
|
|
157
|
+
query: _,
|
|
142
158
|
variables: n
|
|
143
159
|
},
|
|
144
160
|
base: {
|
|
145
|
-
query:
|
|
161
|
+
query: v,
|
|
146
162
|
variables: n
|
|
147
163
|
}
|
|
148
164
|
}, (e, t) => {
|
|
149
|
-
let n = W(
|
|
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 =
|
|
160
|
-
return $(e,
|
|
175
|
+
let n = w(e, t);
|
|
176
|
+
return $(e, h, {
|
|
161
177
|
full: {
|
|
162
|
-
query:
|
|
178
|
+
query: ee,
|
|
163
179
|
variables: n
|
|
164
180
|
},
|
|
165
181
|
base: {
|
|
166
|
-
query:
|
|
182
|
+
query: te,
|
|
167
183
|
variables: n
|
|
168
184
|
}
|
|
169
185
|
}, (e, t) => {
|
|
170
|
-
let n = W(
|
|
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,
|
|
194
|
+
return $(e, C, {
|
|
179
195
|
full: {
|
|
180
|
-
query:
|
|
181
|
-
variables:
|
|
196
|
+
query: S,
|
|
197
|
+
variables: O(e, t, n)
|
|
182
198
|
},
|
|
183
199
|
base: null
|
|
184
200
|
}, (e) => {
|
|
185
|
-
let t = W(
|
|
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":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,kCAAkC,EAClC,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,yEAAyE;AACzE,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAOhD,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,yCAAyC;AACzC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,
|
|
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
|
|
11
|
+
return e.replaceAll(r, i).replace(n, i).replace(/\s+/g, " ").trim();
|
|
12
12
|
}
|
|
13
|
-
function c(e
|
|
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
|
|
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 !==
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
66
|
+
var h = {
|
|
64
67
|
channel: "ANY",
|
|
65
68
|
pinned: null,
|
|
66
69
|
archived: "EXCLUDE"
|
|
67
70
|
};
|
|
68
|
-
function
|
|
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 =
|
|
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
|
|
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
|
|
82
|
+
function v(e) {
|
|
80
83
|
return (e.channel ?? "ANY") === "ANY" && (e.pinned ?? null) === null && (e.archived ?? "EXCLUDE") === "EXCLUDE";
|
|
81
84
|
}
|
|
82
|
-
function
|
|
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 {
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAuC,MAAM,iBAAiB,CAAC;AAEhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,cAAc,CAAC;AAqCtB,OAAO,EAKL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"historyEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/history/historyEngine.ts"],"names":[],"mappings":"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"}
|