@123toto/ai-app-assistant-client 0.1.0
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/LICENSE +21 -0
- package/README.md +62 -0
- package/dist/angular.d.ts +185 -0
- package/dist/angular.d.ts.map +1 -0
- package/dist/angular.js +715 -0
- package/dist/angular.js.map +1 -0
- package/dist/capture.d.ts +24 -0
- package/dist/capture.d.ts.map +1 -0
- package/dist/capture.js +123 -0
- package/dist/capture.js.map +1 -0
- package/dist/client.d.ts +46 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +124 -0
- package/dist/client.js.map +1 -0
- package/dist/controller.d.ts +108 -0
- package/dist/controller.d.ts.map +1 -0
- package/dist/controller.js +341 -0
- package/dist/controller.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/picker.d.ts +14 -0
- package/dist/picker.d.ts.map +1 -0
- package/dist/picker.js +140 -0
- package/dist/picker.js.map +1 -0
- package/dist/settings-web-component.d.ts +57 -0
- package/dist/settings-web-component.d.ts.map +1 -0
- package/dist/settings-web-component.js +352 -0
- package/dist/settings-web-component.js.map +1 -0
- package/dist/settings.d.ts +56 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +164 -0
- package/dist/settings.js.map +1 -0
- package/dist/web-component.d.ts +49 -0
- package/dist/web-component.d.ts.map +1 -0
- package/dist/web-component.js +305 -0
- package/dist/web-component.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angular.js","sourceRoot":"","sources":["../src/angular.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Options for one complete, side-effect-free DOM capture. */
|
|
2
|
+
export interface CaptureOptions {
|
|
3
|
+
/** Document by default; an element can deliberately restrict the captured subtree. */
|
|
4
|
+
root?: Document | Element;
|
|
5
|
+
/** Optional element explicitly picked by the user. */
|
|
6
|
+
selectedElement?: Element;
|
|
7
|
+
/** Optional hard limit. No truncation is performed when omitted. */
|
|
8
|
+
maxHtmlChars?: number;
|
|
9
|
+
/** Form values are removed by default because they may contain personal data. */
|
|
10
|
+
includeFormValues?: boolean;
|
|
11
|
+
/** Entire matching subtrees are removed from both page and selected HTML. */
|
|
12
|
+
redactSelectors?: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface CaptureResult {
|
|
15
|
+
html: string;
|
|
16
|
+
htmlTruncated: boolean;
|
|
17
|
+
selectedElementHtml?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Serializes the rendered page and, optionally, the exact element selected by
|
|
21
|
+
* the user. It does not derive identifiers or require application attributes.
|
|
22
|
+
*/
|
|
23
|
+
export declare function capturePage(options?: CaptureOptions): CaptureResult;
|
|
24
|
+
//# sourceMappingURL=capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,sFAAsF;IACtF,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAkBvE"}
|
package/dist/capture.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serializes the rendered page and, optionally, the exact element selected by
|
|
3
|
+
* the user. It does not derive identifiers or require application attributes.
|
|
4
|
+
*/
|
|
5
|
+
export function capturePage(options = {}) {
|
|
6
|
+
const root = options.root ?? document;
|
|
7
|
+
const redactSelectors = options.redactSelectors ?? ["[data-sensitive]"];
|
|
8
|
+
const includeFormValues = options.includeFormValues ?? false;
|
|
9
|
+
const serialized = serializeRoot(root, includeFormValues, redactSelectors);
|
|
10
|
+
const maxHtmlChars = options.maxHtmlChars;
|
|
11
|
+
const htmlTruncated = maxHtmlChars !== undefined && serialized.length > maxHtmlChars;
|
|
12
|
+
const html = htmlTruncated ? serialized.slice(0, maxHtmlChars) : serialized;
|
|
13
|
+
const selectedElementHtml = options.selectedElement
|
|
14
|
+
&& !matchesAny(options.selectedElement, redactSelectors)
|
|
15
|
+
? serializeElement(options.selectedElement, includeFormValues, redactSelectors)
|
|
16
|
+
: undefined;
|
|
17
|
+
return {
|
|
18
|
+
html,
|
|
19
|
+
htmlTruncated,
|
|
20
|
+
...(selectedElementHtml ? { selectedElementHtml } : {})
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function serializeRoot(root, includeFormValues, redactSelectors) {
|
|
24
|
+
if (root.nodeType === 9) {
|
|
25
|
+
const html = serializeElement(root.documentElement, includeFormValues, redactSelectors);
|
|
26
|
+
return `<!doctype html>\n${html}`;
|
|
27
|
+
}
|
|
28
|
+
return serializeElement(root, includeFormValues, redactSelectors);
|
|
29
|
+
}
|
|
30
|
+
function serializeElement(element, includeFormValues, redactSelectors) {
|
|
31
|
+
const clone = element.cloneNode(true);
|
|
32
|
+
compactNonSemanticMarkup(clone);
|
|
33
|
+
for (const selector of redactSelectors) {
|
|
34
|
+
if (element.matches(selector))
|
|
35
|
+
return "<div data-redacted=\"true\"></div>";
|
|
36
|
+
clone.querySelectorAll(selector).forEach((matched) => matched.remove());
|
|
37
|
+
}
|
|
38
|
+
if (includeFormValues)
|
|
39
|
+
copyFormValues(element, clone);
|
|
40
|
+
else
|
|
41
|
+
redactFormValues(clone);
|
|
42
|
+
return clone.outerHTML;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Keeps the complete rendered content while dropping assets and framework
|
|
46
|
+
* bookkeeping that add tokens but cannot help explain the page.
|
|
47
|
+
*/
|
|
48
|
+
function compactNonSemanticMarkup(root) {
|
|
49
|
+
root.querySelectorAll("script, style, noscript, template, link[rel='stylesheet'], svg path, svg defs")
|
|
50
|
+
.forEach(element => element.remove());
|
|
51
|
+
const elements = [root, ...root.querySelectorAll("*")];
|
|
52
|
+
for (const element of elements) {
|
|
53
|
+
for (const attribute of [...element.attributes]) {
|
|
54
|
+
if (attribute.name === "style"
|
|
55
|
+
|| attribute.name === "srcset"
|
|
56
|
+
|| attribute.name === "integrity"
|
|
57
|
+
|| attribute.name === "nonce"
|
|
58
|
+
|| attribute.name.startsWith("_ng")
|
|
59
|
+
|| attribute.name.startsWith("ng-reflect-"))
|
|
60
|
+
element.removeAttribute(attribute.name);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const walker = document.createTreeWalker(root, NodeFilter.SHOW_COMMENT);
|
|
64
|
+
const comments = [];
|
|
65
|
+
while (walker.nextNode())
|
|
66
|
+
comments.push(walker.currentNode);
|
|
67
|
+
comments.forEach(comment => comment.remove());
|
|
68
|
+
}
|
|
69
|
+
function redactFormValues(root) {
|
|
70
|
+
const fields = [
|
|
71
|
+
...(root.matches("input, textarea") ? [root] : []),
|
|
72
|
+
...root.querySelectorAll("input, textarea")
|
|
73
|
+
];
|
|
74
|
+
for (const field of fields) {
|
|
75
|
+
field.removeAttribute("value");
|
|
76
|
+
field.removeAttribute("checked");
|
|
77
|
+
if (field.tagName === "TEXTAREA")
|
|
78
|
+
field.textContent = "";
|
|
79
|
+
}
|
|
80
|
+
root.querySelectorAll("option").forEach((option) => option.removeAttribute("selected"));
|
|
81
|
+
const editable = [
|
|
82
|
+
...(root.matches("[contenteditable]") ? [root] : []),
|
|
83
|
+
...root.querySelectorAll("[contenteditable]")
|
|
84
|
+
];
|
|
85
|
+
for (const element of editable)
|
|
86
|
+
element.textContent = "";
|
|
87
|
+
}
|
|
88
|
+
function copyFormValues(source, clone) {
|
|
89
|
+
const sourceFields = [
|
|
90
|
+
...(source.matches("input, textarea, option") ? [source] : []),
|
|
91
|
+
...source.querySelectorAll("input, textarea, option")
|
|
92
|
+
];
|
|
93
|
+
const cloneFields = [
|
|
94
|
+
...(clone.matches("input, textarea, option") ? [clone] : []),
|
|
95
|
+
...clone.querySelectorAll("input, textarea, option")
|
|
96
|
+
];
|
|
97
|
+
sourceFields.forEach((field, index) => {
|
|
98
|
+
const target = cloneFields[index];
|
|
99
|
+
if (!target)
|
|
100
|
+
return;
|
|
101
|
+
if (field.tagName === "INPUT") {
|
|
102
|
+
const input = field;
|
|
103
|
+
target.setAttribute("value", input.value);
|
|
104
|
+
if (input.checked)
|
|
105
|
+
target.setAttribute("checked", "");
|
|
106
|
+
else
|
|
107
|
+
target.removeAttribute("checked");
|
|
108
|
+
}
|
|
109
|
+
else if (field.tagName === "TEXTAREA") {
|
|
110
|
+
target.textContent = field.value;
|
|
111
|
+
}
|
|
112
|
+
else if (field.tagName === "OPTION") {
|
|
113
|
+
if (field.selected)
|
|
114
|
+
target.setAttribute("selected", "");
|
|
115
|
+
else
|
|
116
|
+
target.removeAttribute("selected");
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function matchesAny(element, selectors) {
|
|
121
|
+
return selectors.some((selector) => element.matches(selector) || element.closest(selector) !== null);
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type AskDocumentationRequest, type AskDocumentationResponse, type AskDocumentationStreamEvent } from "@123toto/ai-app-assistant-contracts";
|
|
2
|
+
export interface AiDocsClientOptions {
|
|
3
|
+
endpoint: string;
|
|
4
|
+
fetch?: typeof globalThis.fetch;
|
|
5
|
+
headers?: () => HeadersInit | Promise<HeadersInit>;
|
|
6
|
+
transport?: AiDocsTransport;
|
|
7
|
+
streamEndpoint?: string;
|
|
8
|
+
streamTransport?: AiDocsStreamTransport;
|
|
9
|
+
}
|
|
10
|
+
export type AiDocsTransport = (request: AskDocumentationRequest, options: {
|
|
11
|
+
endpoint: string;
|
|
12
|
+
signal?: AbortSignal;
|
|
13
|
+
}) => Promise<unknown>;
|
|
14
|
+
export type AiDocsStreamTransport = (request: AskDocumentationRequest, options: {
|
|
15
|
+
endpoint: string;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
}) => AsyncIterable<unknown>;
|
|
18
|
+
export interface AskInput {
|
|
19
|
+
html: string;
|
|
20
|
+
htmlTruncated?: boolean;
|
|
21
|
+
selectedElementHtml?: string;
|
|
22
|
+
question: string;
|
|
23
|
+
conversation?: Array<{
|
|
24
|
+
role: "user" | "assistant";
|
|
25
|
+
content: string;
|
|
26
|
+
}>;
|
|
27
|
+
locale?: string;
|
|
28
|
+
requestId?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface AiDocsClient {
|
|
31
|
+
ask(input: AskInput, options?: {
|
|
32
|
+
signal?: AbortSignal;
|
|
33
|
+
}): Promise<AskDocumentationResponse>;
|
|
34
|
+
stream(input: AskInput, options?: {
|
|
35
|
+
signal?: AbortSignal;
|
|
36
|
+
onEvent?: (event: AskDocumentationStreamEvent) => void;
|
|
37
|
+
}): Promise<AskDocumentationResponse>;
|
|
38
|
+
}
|
|
39
|
+
/** Creates a small validated HTTP client with no framework dependency. */
|
|
40
|
+
export declare function createAiDocsClient(options: AiDocsClientOptions): AiDocsClient;
|
|
41
|
+
export declare class AiDocsHttpError extends Error {
|
|
42
|
+
readonly status: number;
|
|
43
|
+
readonly responseBody: string;
|
|
44
|
+
constructor(status: number, responseBody: string);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EACjC,MAAM,qCAAqC,CAAC;AAE7C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAChD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAChD,aAAa,CAAC,OAAO,CAAC,CAAC;AAE5B,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC5F,MAAM,CACJ,KAAK,EAAE,QAAQ,EACf,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;KACxD,GACA,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACtC;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAwE7E;AAkDD,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM;gBADpB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM;CAKhC"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { PROTOCOL_VERSION, askDocumentationResponseSchema, askDocumentationStreamEventSchema } from "@123toto/ai-app-assistant-contracts";
|
|
2
|
+
/** Creates a small validated HTTP client with no framework dependency. */
|
|
3
|
+
export function createAiDocsClient(options) {
|
|
4
|
+
const fetchImplementation = options.fetch ?? globalThis.fetch;
|
|
5
|
+
if (!options.transport && !fetchImplementation) {
|
|
6
|
+
throw new Error("A fetch implementation is required.");
|
|
7
|
+
}
|
|
8
|
+
return {
|
|
9
|
+
async ask(input, callOptions) {
|
|
10
|
+
const request = {
|
|
11
|
+
protocolVersion: PROTOCOL_VERSION,
|
|
12
|
+
requestId: input.requestId ?? crypto.randomUUID(),
|
|
13
|
+
html: input.html,
|
|
14
|
+
htmlTruncated: input.htmlTruncated ?? false,
|
|
15
|
+
...(input.selectedElementHtml
|
|
16
|
+
? { selectedElementHtml: input.selectedElementHtml }
|
|
17
|
+
: {}),
|
|
18
|
+
question: input.question,
|
|
19
|
+
...(input.conversation?.length ? { conversation: input.conversation } : {}),
|
|
20
|
+
locale: input.locale ?? document.documentElement.lang ?? "fr"
|
|
21
|
+
};
|
|
22
|
+
if (options.transport) {
|
|
23
|
+
return askDocumentationResponseSchema.parse(await options.transport(request, {
|
|
24
|
+
endpoint: options.endpoint,
|
|
25
|
+
...(callOptions?.signal ? { signal: callOptions.signal } : {})
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
const customHeaders = await options.headers?.();
|
|
29
|
+
const response = await fetchImplementation(options.endpoint, {
|
|
30
|
+
method: "POST",
|
|
31
|
+
credentials: "same-origin",
|
|
32
|
+
headers: {
|
|
33
|
+
"content-type": "application/json",
|
|
34
|
+
...customHeaders
|
|
35
|
+
},
|
|
36
|
+
body: JSON.stringify(request),
|
|
37
|
+
...(callOptions?.signal ? { signal: callOptions.signal } : {})
|
|
38
|
+
});
|
|
39
|
+
if (!response.ok) {
|
|
40
|
+
throw new AiDocsHttpError(response.status, await response.text());
|
|
41
|
+
}
|
|
42
|
+
return askDocumentationResponseSchema.parse(await response.json());
|
|
43
|
+
},
|
|
44
|
+
async stream(input, callOptions) {
|
|
45
|
+
const request = createRequest(input);
|
|
46
|
+
const endpoint = options.streamEndpoint ?? `${options.endpoint}/stream`;
|
|
47
|
+
const events = options.streamTransport
|
|
48
|
+
? options.streamTransport(request, {
|
|
49
|
+
endpoint,
|
|
50
|
+
...(callOptions?.signal ? { signal: callOptions.signal } : {})
|
|
51
|
+
})
|
|
52
|
+
: streamWithFetch(fetchImplementation, endpoint, request, options, callOptions?.signal);
|
|
53
|
+
let response;
|
|
54
|
+
for await (const rawEvent of events) {
|
|
55
|
+
const event = askDocumentationStreamEventSchema.parse(rawEvent);
|
|
56
|
+
callOptions?.onEvent?.(event);
|
|
57
|
+
if (event.type === "error")
|
|
58
|
+
throw new Error(event.message);
|
|
59
|
+
if (event.type === "complete")
|
|
60
|
+
response = event.response;
|
|
61
|
+
}
|
|
62
|
+
if (!response)
|
|
63
|
+
throw new Error("AI docs stream ended without a complete response.");
|
|
64
|
+
return response;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function createRequest(input) {
|
|
69
|
+
return {
|
|
70
|
+
protocolVersion: PROTOCOL_VERSION,
|
|
71
|
+
requestId: input.requestId ?? crypto.randomUUID(),
|
|
72
|
+
html: input.html,
|
|
73
|
+
htmlTruncated: input.htmlTruncated ?? false,
|
|
74
|
+
...(input.selectedElementHtml ? { selectedElementHtml: input.selectedElementHtml } : {}),
|
|
75
|
+
question: input.question,
|
|
76
|
+
...(input.conversation?.length ? { conversation: input.conversation } : {}),
|
|
77
|
+
locale: input.locale ?? document.documentElement.lang ?? "fr"
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
async function* streamWithFetch(fetchImplementation, endpoint, request, options, signal) {
|
|
81
|
+
const customHeaders = await options.headers?.();
|
|
82
|
+
const response = await fetchImplementation(endpoint, {
|
|
83
|
+
method: "POST",
|
|
84
|
+
credentials: "same-origin",
|
|
85
|
+
headers: { "content-type": "application/json", ...customHeaders },
|
|
86
|
+
body: JSON.stringify(request),
|
|
87
|
+
...(signal ? { signal } : {})
|
|
88
|
+
});
|
|
89
|
+
if (!response.ok)
|
|
90
|
+
throw new AiDocsHttpError(response.status, await response.text());
|
|
91
|
+
if (!response.body)
|
|
92
|
+
throw new Error("Streaming response has no body.");
|
|
93
|
+
const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
|
|
94
|
+
let buffer = "";
|
|
95
|
+
try {
|
|
96
|
+
while (true) {
|
|
97
|
+
const { done, value } = await reader.read();
|
|
98
|
+
if (done)
|
|
99
|
+
break;
|
|
100
|
+
buffer += value;
|
|
101
|
+
const lines = buffer.split("\n");
|
|
102
|
+
buffer = lines.pop() ?? "";
|
|
103
|
+
for (const line of lines)
|
|
104
|
+
if (line.trim())
|
|
105
|
+
yield JSON.parse(line);
|
|
106
|
+
}
|
|
107
|
+
if (buffer.trim())
|
|
108
|
+
yield JSON.parse(buffer);
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
reader.releaseLock();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export class AiDocsHttpError extends Error {
|
|
115
|
+
status;
|
|
116
|
+
responseBody;
|
|
117
|
+
constructor(status, responseBody) {
|
|
118
|
+
super(`AI docs request failed with status ${status}.`);
|
|
119
|
+
this.status = status;
|
|
120
|
+
this.responseBody = responseBody;
|
|
121
|
+
this.name = "AiDocsHttpError";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { AskDocumentationResponse } from "@123toto/ai-app-assistant-contracts";
|
|
2
|
+
import type { AiDocsClient } from "./client.js";
|
|
3
|
+
/** Browser behaviour shared by every UI framework connector. */
|
|
4
|
+
export interface AiDocsControllerConfig {
|
|
5
|
+
rootSelector?: string;
|
|
6
|
+
redactSelectors?: string[];
|
|
7
|
+
maxHtmlChars?: number;
|
|
8
|
+
includeFormValues?: boolean;
|
|
9
|
+
defaultQuestion?: string;
|
|
10
|
+
/** Progressive responses are enabled by default. */
|
|
11
|
+
streaming?: boolean;
|
|
12
|
+
/** Maximum completed answers in one conversation. Defaults to three. */
|
|
13
|
+
maxConversationTurns?: number;
|
|
14
|
+
/** Defaults to the current pathname and query string. */
|
|
15
|
+
pageKey?: () => string;
|
|
16
|
+
}
|
|
17
|
+
export type AiDocsControllerState = {
|
|
18
|
+
status: "idle";
|
|
19
|
+
} | {
|
|
20
|
+
status: "loading";
|
|
21
|
+
phase: "preparing" | "thinking" | "writing" | "finalizing";
|
|
22
|
+
partialText: string;
|
|
23
|
+
retry?: {
|
|
24
|
+
attempt: number;
|
|
25
|
+
maxRetries: number;
|
|
26
|
+
delayMs: number;
|
|
27
|
+
};
|
|
28
|
+
} | {
|
|
29
|
+
status: "success";
|
|
30
|
+
response: AskDocumentationResponse;
|
|
31
|
+
} | {
|
|
32
|
+
status: "error";
|
|
33
|
+
error: Error;
|
|
34
|
+
canRetry: boolean;
|
|
35
|
+
};
|
|
36
|
+
export type AiDocsControllerMessage = {
|
|
37
|
+
id: string;
|
|
38
|
+
role: "user";
|
|
39
|
+
text: string;
|
|
40
|
+
selectedElementLabel?: string;
|
|
41
|
+
} | {
|
|
42
|
+
id: string;
|
|
43
|
+
role: "assistant";
|
|
44
|
+
response: AskDocumentationResponse;
|
|
45
|
+
} | {
|
|
46
|
+
id: string;
|
|
47
|
+
role: "selection";
|
|
48
|
+
label: string;
|
|
49
|
+
};
|
|
50
|
+
export interface AiDocsControllerSnapshot {
|
|
51
|
+
state: AiDocsControllerState;
|
|
52
|
+
messages: readonly AiDocsControllerMessage[];
|
|
53
|
+
selecting: boolean;
|
|
54
|
+
selectedElementLabel?: string;
|
|
55
|
+
loading: boolean;
|
|
56
|
+
maxConversationTurns: number;
|
|
57
|
+
conversationTurns: number;
|
|
58
|
+
conversationLimitReached: boolean;
|
|
59
|
+
}
|
|
60
|
+
export type AiDocsControllerListener = (snapshot: AiDocsControllerSnapshot) => void;
|
|
61
|
+
/**
|
|
62
|
+
* Framework-neutral browser controller for capture, selection and conversation.
|
|
63
|
+
* Angular, React, Vue and Web Components can all bind to the same snapshots.
|
|
64
|
+
*/
|
|
65
|
+
export declare class AiDocsAssistantController {
|
|
66
|
+
#private;
|
|
67
|
+
private readonly client;
|
|
68
|
+
readonly config: Readonly<AiDocsControllerConfig>;
|
|
69
|
+
constructor(config: AiDocsControllerConfig, client: AiDocsClient);
|
|
70
|
+
get snapshot(): AiDocsControllerSnapshot;
|
|
71
|
+
/** Subscribes to complete immutable snapshots and immediately emits the current one. */
|
|
72
|
+
subscribe(listener: AiDocsControllerListener): () => void;
|
|
73
|
+
/** Captures the current page and sends one question to the configured backend. */
|
|
74
|
+
ask(options?: {
|
|
75
|
+
question?: string;
|
|
76
|
+
selectedElement?: Element;
|
|
77
|
+
}): Promise<AskDocumentationResponse>;
|
|
78
|
+
/** Starts a cancellable DOM picker without sending a question. */
|
|
79
|
+
selectElement(): Promise<Element>;
|
|
80
|
+
/** Backward-compatible shortcut; prefer selection followed by a custom prompt. */
|
|
81
|
+
selectAndAsk(question: string, options?: {
|
|
82
|
+
signal?: AbortSignal;
|
|
83
|
+
}): Promise<AskDocumentationResponse>;
|
|
84
|
+
cancelElementSelection(): void;
|
|
85
|
+
/** Forgets the selected target but keeps the current conversation. */
|
|
86
|
+
clearSelectedElement(): void;
|
|
87
|
+
/** Aborts only the active request; messages remain available for retry. */
|
|
88
|
+
stop(): void;
|
|
89
|
+
/** Replays the last question after automatic transport retries are exhausted. */
|
|
90
|
+
retry(): Promise<AskDocumentationResponse>;
|
|
91
|
+
/** Clears every conversation-scoped value, including DOM selection. */
|
|
92
|
+
newConversation(): void;
|
|
93
|
+
/** Starts a fresh conversation when the host page key changes. */
|
|
94
|
+
syncPage(key?: string): boolean;
|
|
95
|
+
reset(): void;
|
|
96
|
+
/** Updates the server-defined limit and prevents keeping an invalid session. */
|
|
97
|
+
setMaxConversationTurns(value: number): void;
|
|
98
|
+
/** Centralizes safe DOM capture for every framework connector. */
|
|
99
|
+
private capture;
|
|
100
|
+
/** Translates transport events into stable UI phases and partial text. */
|
|
101
|
+
private applyStreamEvent;
|
|
102
|
+
private clearPhaseTimers;
|
|
103
|
+
private currentPageKey;
|
|
104
|
+
private notify;
|
|
105
|
+
}
|
|
106
|
+
export declare function describeAiDocsElement(element?: Element): string | undefined;
|
|
107
|
+
export declare function normalizeAiDocsError(error: unknown): Error;
|
|
108
|
+
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
|