@dani-builder/agent-contract 0.2.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/README.md +12 -0
- package/dist/agent-id.d.ts +7 -0
- package/dist/agent-id.d.ts.map +1 -0
- package/dist/agent-id.js +14 -0
- package/dist/agent-id.js.map +1 -0
- package/dist/events.d.ts +45 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +83 -0
- package/dist/events.js.map +1 -0
- package/dist/extensions.d.ts +22 -0
- package/dist/extensions.d.ts.map +1 -0
- package/dist/extensions.js +42 -0
- package/dist/extensions.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/public-api.d.ts +52 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +2 -0
- package/dist/public-api.js.map +1 -0
- package/dist/sources.d.ts +28 -0
- package/dist/sources.d.ts.map +1 -0
- package/dist/sources.js +55 -0
- package/dist/sources.js.map +1 -0
- package/package.json +36 -0
package/README.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# @dani-builder/agent-contract
|
|
2
|
+
|
|
3
|
+
Zero-dependency TypeScript wire contracts for Daniworks Agent clients.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import type { ChatRequest, ChatResponse } from "@dani-builder/agent-contract";
|
|
7
|
+
import { parseSseEvent } from "@dani-builder/agent-contract";
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
The package is safe to import from browser clients: it has no Strapi or plugin
|
|
11
|
+
peer dependency. It defines chat request/response, retrieval citation, and SSE
|
|
12
|
+
event shapes; it does not implement a chat runtime.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Agent identifiers are issued by the control plane and never edited by hand. */
|
|
2
|
+
export declare const AGENT_ID_PREFIX = "agt_";
|
|
3
|
+
/** Resolves to whichever agent a site configures as its default. */
|
|
4
|
+
export declare const DEFAULT_AGENT_ALIAS = "@default";
|
|
5
|
+
export declare function isAgentId(value: unknown): value is string;
|
|
6
|
+
export declare function isAgentSelector(value: unknown): value is string;
|
|
7
|
+
//# sourceMappingURL=agent-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-id.d.ts","sourceRoot":"","sources":["../src/agent-id.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,eAAO,MAAM,eAAe,SAAS,CAAC;AAEtC,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAI9C,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAMzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE/D"}
|
package/dist/agent-id.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Agent identifiers are issued by the control plane and never edited by hand. */
|
|
2
|
+
export const AGENT_ID_PREFIX = "agt_";
|
|
3
|
+
/** Resolves to whichever agent a site configures as its default. */
|
|
4
|
+
export const DEFAULT_AGENT_ALIAS = "@default";
|
|
5
|
+
const AGENT_ID_BODY = /^[0-9A-Za-z_-]{22}$/;
|
|
6
|
+
export function isAgentId(value) {
|
|
7
|
+
return (typeof value === "string" &&
|
|
8
|
+
value.startsWith(AGENT_ID_PREFIX) &&
|
|
9
|
+
AGENT_ID_BODY.test(value.slice(AGENT_ID_PREFIX.length)));
|
|
10
|
+
}
|
|
11
|
+
export function isAgentSelector(value) {
|
|
12
|
+
return value === DEFAULT_AGENT_ALIAS || isAgentId(value);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=agent-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-id.js","sourceRoot":"","sources":["../src/agent-id.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAEtC,oEAAoE;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAE9C,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAE5C,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,KAAK,mBAAmB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC"}
|
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ResponseExtension } from "./extensions.js";
|
|
2
|
+
import type { ChatContextStatus, CitedSource } from "./sources.js";
|
|
3
|
+
export interface ChatSessionEventData {
|
|
4
|
+
sessionId: string;
|
|
5
|
+
agentId: string;
|
|
6
|
+
contextApplied?: boolean;
|
|
7
|
+
contextStatus?: ChatContextStatus;
|
|
8
|
+
}
|
|
9
|
+
export interface ChatDoneEventData {
|
|
10
|
+
sessionId: string;
|
|
11
|
+
agentId: string;
|
|
12
|
+
text: string;
|
|
13
|
+
sources: CitedSource[];
|
|
14
|
+
extensions: ResponseExtension[];
|
|
15
|
+
contextApplied?: boolean;
|
|
16
|
+
contextStatus?: ChatContextStatus;
|
|
17
|
+
}
|
|
18
|
+
export type ChatEvent = {
|
|
19
|
+
event: "session";
|
|
20
|
+
data: ChatSessionEventData;
|
|
21
|
+
} | {
|
|
22
|
+
event: "sources";
|
|
23
|
+
data: CitedSource[];
|
|
24
|
+
} | {
|
|
25
|
+
event: "delta";
|
|
26
|
+
data: {
|
|
27
|
+
text: string;
|
|
28
|
+
};
|
|
29
|
+
} | {
|
|
30
|
+
event: "extension";
|
|
31
|
+
data: ResponseExtension;
|
|
32
|
+
} | {
|
|
33
|
+
event: "done";
|
|
34
|
+
data: ChatDoneEventData;
|
|
35
|
+
} | {
|
|
36
|
+
event: "error";
|
|
37
|
+
data: {
|
|
38
|
+
code: string;
|
|
39
|
+
message: string;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export type ChatEventName = ChatEvent["event"];
|
|
43
|
+
export declare function formatSseEvent(event: ChatEvent): string;
|
|
44
|
+
export declare function parseSseEvent(name: string, data: string): ChatEvent | null;
|
|
45
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAChD;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAA;CAAE,GACzC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC/C;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAE/C,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEvD;AAcD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgE1E"}
|
package/dist/events.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { parseResponseExtension } from "./extensions.js";
|
|
2
|
+
import { parseCitedSources } from "./sources.js";
|
|
3
|
+
export function formatSseEvent(event) {
|
|
4
|
+
return `event: ${event.event}\ndata: ${JSON.stringify(event.data)}\n\n`;
|
|
5
|
+
}
|
|
6
|
+
function stringValue(value) {
|
|
7
|
+
return typeof value === "string" ? value : "";
|
|
8
|
+
}
|
|
9
|
+
function contextStatus(value) {
|
|
10
|
+
return value === "applied" ||
|
|
11
|
+
value === "quote_unverified" ||
|
|
12
|
+
value === "unavailable"
|
|
13
|
+
? value
|
|
14
|
+
: undefined;
|
|
15
|
+
}
|
|
16
|
+
export function parseSseEvent(name, data) {
|
|
17
|
+
let payload;
|
|
18
|
+
try {
|
|
19
|
+
payload = JSON.parse(data);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
if (name === "sources")
|
|
25
|
+
return { event: "sources", data: parseCitedSources(payload) };
|
|
26
|
+
if (typeof payload !== "object" || payload === null)
|
|
27
|
+
return null;
|
|
28
|
+
const record = payload;
|
|
29
|
+
if (name === "delta")
|
|
30
|
+
return { event: "delta", data: { text: stringValue(record.text) } };
|
|
31
|
+
if (name === "error")
|
|
32
|
+
return {
|
|
33
|
+
event: "error",
|
|
34
|
+
data: {
|
|
35
|
+
code: stringValue(record.code),
|
|
36
|
+
message: stringValue(record.message),
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
if (name === "session") {
|
|
40
|
+
return {
|
|
41
|
+
event: "session",
|
|
42
|
+
data: {
|
|
43
|
+
sessionId: stringValue(record.sessionId),
|
|
44
|
+
agentId: stringValue(record.agentId),
|
|
45
|
+
...(typeof record.contextApplied === "boolean"
|
|
46
|
+
? { contextApplied: record.contextApplied }
|
|
47
|
+
: {}),
|
|
48
|
+
...(contextStatus(record.contextStatus)
|
|
49
|
+
? { contextStatus: contextStatus(record.contextStatus) }
|
|
50
|
+
: {}),
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
if (name === "extension") {
|
|
55
|
+
const extension = parseResponseExtension(record);
|
|
56
|
+
return extension ? { event: "extension", data: extension } : null;
|
|
57
|
+
}
|
|
58
|
+
if (name === "done") {
|
|
59
|
+
return {
|
|
60
|
+
event: "done",
|
|
61
|
+
data: {
|
|
62
|
+
sessionId: stringValue(record.sessionId),
|
|
63
|
+
agentId: stringValue(record.agentId),
|
|
64
|
+
text: stringValue(record.text),
|
|
65
|
+
sources: parseCitedSources(record.sources),
|
|
66
|
+
extensions: Array.isArray(record.extensions)
|
|
67
|
+
? record.extensions.flatMap((extension) => {
|
|
68
|
+
const parsed = parseResponseExtension(extension);
|
|
69
|
+
return parsed ? [parsed] : [];
|
|
70
|
+
})
|
|
71
|
+
: [],
|
|
72
|
+
...(typeof record.contextApplied === "boolean"
|
|
73
|
+
? { contextApplied: record.contextApplied }
|
|
74
|
+
: {}),
|
|
75
|
+
...(contextStatus(record.contextStatus)
|
|
76
|
+
? { contextStatus: contextStatus(record.contextStatus) }
|
|
77
|
+
: {}),
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface FollowUpQuestionsExtension {
|
|
2
|
+
type: "follow_up_questions";
|
|
3
|
+
version: 1;
|
|
4
|
+
payload: {
|
|
5
|
+
questions: string[];
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export interface GenericBlockItem {
|
|
9
|
+
label: string;
|
|
10
|
+
value: string;
|
|
11
|
+
}
|
|
12
|
+
export interface GenericBlockExtension {
|
|
13
|
+
type: "generic_block";
|
|
14
|
+
version: 1;
|
|
15
|
+
payload: {
|
|
16
|
+
title?: string;
|
|
17
|
+
items: GenericBlockItem[];
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export type ResponseExtension = FollowUpQuestionsExtension | GenericBlockExtension;
|
|
21
|
+
export declare function parseResponseExtension(value: unknown): ResponseExtension | null;
|
|
22
|
+
//# sourceMappingURL=extensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,MAAM,iBAAiB,GAC3B,0BAA0B,GAAG,qBAAqB,CAAC;AAQrD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,iBAAiB,GAAG,IAAI,CAuC1B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
function isStringArray(value) {
|
|
2
|
+
return (Array.isArray(value) && value.every((item) => typeof item === "string"));
|
|
3
|
+
}
|
|
4
|
+
export function parseResponseExtension(value) {
|
|
5
|
+
if (typeof value !== "object" || value === null)
|
|
6
|
+
return null;
|
|
7
|
+
const record = value;
|
|
8
|
+
if (record.type === "follow_up_questions" && record.version === 1) {
|
|
9
|
+
const payload = record.payload;
|
|
10
|
+
if (typeof payload !== "object" || payload === null)
|
|
11
|
+
return null;
|
|
12
|
+
const questions = payload.questions;
|
|
13
|
+
return isStringArray(questions)
|
|
14
|
+
? { type: "follow_up_questions", version: 1, payload: { questions } }
|
|
15
|
+
: null;
|
|
16
|
+
}
|
|
17
|
+
if (record.type === "generic_block" && record.version === 1) {
|
|
18
|
+
const payload = record.payload;
|
|
19
|
+
if (typeof payload !== "object" || payload === null)
|
|
20
|
+
return null;
|
|
21
|
+
const rawPayload = payload;
|
|
22
|
+
if (!Array.isArray(rawPayload.items) ||
|
|
23
|
+
!rawPayload.items.every((item) => typeof item === "object" &&
|
|
24
|
+
item !== null &&
|
|
25
|
+
typeof item.label === "string" &&
|
|
26
|
+
typeof item.value === "string")) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
type: "generic_block",
|
|
31
|
+
version: 1,
|
|
32
|
+
payload: {
|
|
33
|
+
...(typeof rawPayload.title === "string"
|
|
34
|
+
? { title: rawPayload.title }
|
|
35
|
+
: {}),
|
|
36
|
+
items: rawPayload.items,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAoBA,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,SAAS,GAAI,OAAmC,CAAC,SAAS,CAAC;QACjE,OAAO,aAAa,CAAC,SAAS,CAAC;YAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE;YACrE,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,UAAU,GAAG,OAAkC,CAAC;QACtD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAChC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CACrB,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,KAAK,QAAQ;gBACxB,IAAI,KAAK,IAAI;gBACb,OAAQ,IAAgC,CAAC,KAAK,KAAK,QAAQ;gBAC3D,OAAQ,IAAgC,CAAC,KAAK,KAAK,QAAQ,CAC9D,EACD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ;oBACtC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE;oBAC7B,CAAC,CAAC,EAAE,CAAC;gBACP,KAAK,EAAE,UAAU,CAAC,KAA2B;aAC9C;SACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { AGENT_ID_PREFIX, DEFAULT_AGENT_ALIAS, isAgentId, isAgentSelector, } from "./agent-id.js";
|
|
2
|
+
export { formatSseEvent, parseSseEvent } from "./events.js";
|
|
3
|
+
export { parseCitedSource, parseCitedSources } from "./sources.js";
|
|
4
|
+
export type { ChatEvent, ChatEventName, ChatDoneEventData, ChatSessionEventData, } from "./events.js";
|
|
5
|
+
export type { FollowUpQuestionsExtension, GenericBlockExtension, GenericBlockItem, ResponseExtension, } from "./extensions.js";
|
|
6
|
+
export type { AgentPublicProfile, AgentRetrievalConfig, ChatRequest, ChatResponse, ConversationHistoryMessage, PublicAgentSummary, } from "./public-api.js";
|
|
7
|
+
export type { ChatContextStatus, CitedSource, StoredContext, StoredContextQuote, } from "./sources.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,cAAc,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ResponseExtension } from "./extensions.js";
|
|
2
|
+
import type { CitedSource, StoredContext } from "./sources.js";
|
|
3
|
+
export interface AgentPublicProfile {
|
|
4
|
+
displayName?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
avatar?: {
|
|
7
|
+
url: string;
|
|
8
|
+
alternativeText?: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export interface PublicAgentSummary extends AgentPublicProfile {
|
|
12
|
+
agentId: string;
|
|
13
|
+
}
|
|
14
|
+
export interface AgentRetrievalConfig {
|
|
15
|
+
maxMessageLength: number;
|
|
16
|
+
maxQuoteLength: number;
|
|
17
|
+
topK: number;
|
|
18
|
+
anchorTopK: number;
|
|
19
|
+
maxSourceGroups: number;
|
|
20
|
+
sourceUids: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface ChatRequest {
|
|
23
|
+
message: string;
|
|
24
|
+
agentId?: string;
|
|
25
|
+
sessionId?: string;
|
|
26
|
+
locale?: string;
|
|
27
|
+
context?: {
|
|
28
|
+
sourceUid: string;
|
|
29
|
+
documentId: string;
|
|
30
|
+
quote?: {
|
|
31
|
+
text: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface ChatResponse {
|
|
36
|
+
sessionId: string;
|
|
37
|
+
agentId: string;
|
|
38
|
+
text: string;
|
|
39
|
+
sources: CitedSource[];
|
|
40
|
+
extensions: ResponseExtension[];
|
|
41
|
+
contextApplied?: boolean;
|
|
42
|
+
contextStatus?: "applied" | "quote_unverified" | "unavailable";
|
|
43
|
+
}
|
|
44
|
+
export interface ConversationHistoryMessage {
|
|
45
|
+
role: "user" | "assistant";
|
|
46
|
+
content: string;
|
|
47
|
+
context?: StoredContext | null;
|
|
48
|
+
retrieved?: CitedSource[];
|
|
49
|
+
extensions?: ResponseExtension[];
|
|
50
|
+
createdAt: string | null;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=public-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC/E;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,SAAS,GAAG,kBAAkB,GAAG,aAAa,CAAC;CAChE;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface CitedSource {
|
|
2
|
+
n: number;
|
|
3
|
+
sourceUid: string;
|
|
4
|
+
documentId: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
excerpts: string[];
|
|
9
|
+
chunkIndexes: number[];
|
|
10
|
+
score: number;
|
|
11
|
+
}
|
|
12
|
+
export interface StoredContextQuote {
|
|
13
|
+
verified: boolean;
|
|
14
|
+
text: string;
|
|
15
|
+
}
|
|
16
|
+
export interface StoredContext {
|
|
17
|
+
applied: boolean;
|
|
18
|
+
sourceUid?: string;
|
|
19
|
+
documentId?: string;
|
|
20
|
+
title?: string;
|
|
21
|
+
url?: string;
|
|
22
|
+
quote?: StoredContextQuote;
|
|
23
|
+
reason?: "source_disabled" | "not_indexed" | "not_retrieved";
|
|
24
|
+
}
|
|
25
|
+
export type ChatContextStatus = "applied" | "quote_unverified" | "unavailable";
|
|
26
|
+
export declare function parseCitedSource(value: unknown): CitedSource | null;
|
|
27
|
+
export declare function parseCitedSources(value: unknown): CitedSource[];
|
|
28
|
+
//# sourceMappingURL=sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../src/sources.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,MAAM,CAAC,EAAE,iBAAiB,GAAG,aAAa,GAAG,eAAe,CAAC;CAC9D;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,kBAAkB,GAAG,aAAa,CAAC;AAmB/E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CA+BnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE,CAM/D"}
|
package/dist/sources.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
function isNonEmptyString(value) {
|
|
2
|
+
return typeof value === "string" && value.trim().length > 0;
|
|
3
|
+
}
|
|
4
|
+
function safeUrl(value) {
|
|
5
|
+
if (!isNonEmptyString(value))
|
|
6
|
+
return undefined;
|
|
7
|
+
const url = value.trim();
|
|
8
|
+
const scheme = /^[a-z][a-z\d+.-]*:/i
|
|
9
|
+
.exec(url.replace(/[\u0000-\u001F\u007F\s]/g, ""))?.[0]
|
|
10
|
+
.toLowerCase();
|
|
11
|
+
return scheme === "javascript:" ||
|
|
12
|
+
scheme === "data:" ||
|
|
13
|
+
scheme === "vbscript:"
|
|
14
|
+
? undefined
|
|
15
|
+
: url;
|
|
16
|
+
}
|
|
17
|
+
export function parseCitedSource(value) {
|
|
18
|
+
if (typeof value !== "object" || value === null)
|
|
19
|
+
return null;
|
|
20
|
+
const raw = value;
|
|
21
|
+
if (!Number.isInteger(raw.n) || typeof raw.n !== "number" || raw.n < 1)
|
|
22
|
+
return null;
|
|
23
|
+
if (!isNonEmptyString(raw.sourceUid) || !isNonEmptyString(raw.documentId))
|
|
24
|
+
return null;
|
|
25
|
+
if (typeof raw.title !== "string")
|
|
26
|
+
return null;
|
|
27
|
+
return {
|
|
28
|
+
n: raw.n,
|
|
29
|
+
sourceUid: raw.sourceUid,
|
|
30
|
+
documentId: raw.documentId,
|
|
31
|
+
title: raw.title,
|
|
32
|
+
...(isNonEmptyString(raw.description)
|
|
33
|
+
? { description: raw.description }
|
|
34
|
+
: {}),
|
|
35
|
+
...(safeUrl(raw.url) ? { url: safeUrl(raw.url) } : {}),
|
|
36
|
+
excerpts: Array.isArray(raw.excerpts)
|
|
37
|
+
? raw.excerpts.filter(isNonEmptyString)
|
|
38
|
+
: [],
|
|
39
|
+
chunkIndexes: Array.isArray(raw.chunkIndexes)
|
|
40
|
+
? raw.chunkIndexes.filter((index) => Number.isInteger(index))
|
|
41
|
+
: [],
|
|
42
|
+
score: typeof raw.score === "number" && Number.isFinite(raw.score)
|
|
43
|
+
? raw.score
|
|
44
|
+
: 0,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function parseCitedSources(value) {
|
|
48
|
+
if (!Array.isArray(value))
|
|
49
|
+
return [];
|
|
50
|
+
return value.flatMap((entry) => {
|
|
51
|
+
const source = parseCitedSource(entry);
|
|
52
|
+
return source ? [source] : [];
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../src/sources.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dani-builder/agent-contract",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Zero-dependency wire contracts for Daniworks Agent clients.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"typescript": "^6.0.3",
|
|
25
|
+
"vitest": "^4.1.10",
|
|
26
|
+
"@repo/typescript-config": "0.0.0"
|
|
27
|
+
},
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=22.13"
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "tsc",
|
|
33
|
+
"check-types": "tsc --noEmit",
|
|
34
|
+
"test": "vitest run"
|
|
35
|
+
}
|
|
36
|
+
}
|