@dani-builder/agent-contract 0.3.0 → 0.5.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 +77 -0
- package/dist/extensions.d.ts +43 -1
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +100 -0
- package/dist/extensions.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/public-api.d.ts +17 -0
- package/dist/public-api.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,3 +10,80 @@ import { parseSseEvent } from "@dani-builder/agent-contract";
|
|
|
10
10
|
The package is safe to import from browser clients: it has no Strapi or plugin
|
|
11
11
|
peer dependency. It defines chat request/response, retrieval citation, and SSE
|
|
12
12
|
event shapes; it does not implement a chat runtime.
|
|
13
|
+
|
|
14
|
+
Follow-up question extensions support two wire versions. The existing
|
|
15
|
+
`FollowUpQuestionsExtension` type remains version 1:
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import type { FollowUpQuestionsExtension } from "@dani-builder/agent-contract";
|
|
19
|
+
|
|
20
|
+
const v1: FollowUpQuestionsExtension = {
|
|
21
|
+
type: "follow_up_questions",
|
|
22
|
+
version: 1,
|
|
23
|
+
payload: { questions: ["Tell me more"] },
|
|
24
|
+
};
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Version 2 separates the displayed label from an optional submitted prompt. Import
|
|
28
|
+
`FollowUpQuestionsV2Extension` and `SuggestedPrompt` from the package root:
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
import type {
|
|
32
|
+
FollowUpQuestionsExtension,
|
|
33
|
+
FollowUpQuestionsV2Extension,
|
|
34
|
+
ResponseExtension,
|
|
35
|
+
SuggestedPrompt,
|
|
36
|
+
} from "@dani-builder/agent-contract";
|
|
37
|
+
|
|
38
|
+
const item: SuggestedPrompt = {
|
|
39
|
+
label: "Pricing",
|
|
40
|
+
prompt: "What does your service cost?",
|
|
41
|
+
};
|
|
42
|
+
const v2: FollowUpQuestionsV2Extension = {
|
|
43
|
+
type: "follow_up_questions",
|
|
44
|
+
version: 2,
|
|
45
|
+
payload: { items: [item, { label: "Tell me more" }] },
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
function submittedPrompts(extension: ResponseExtension): string[] {
|
|
49
|
+
if (extension.type !== "follow_up_questions") return [];
|
|
50
|
+
if (extension.version === 1) return extension.payload.questions;
|
|
51
|
+
return extension.payload.items.map((item) => item.prompt ?? item.label);
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Discriminate on `version` after checking `type`: both versions belong to
|
|
56
|
+
`ResponseExtension`, so exhaustive consumers must account for version 2.
|
|
57
|
+
`parseSseEvent` accepts both standalone extension events and extensions in done
|
|
58
|
+
events. For version 2, labels must be nonblank strings; missing, empty, or
|
|
59
|
+
whitespace-only prompts are omitted so `item.prompt ?? item.label` falls back to
|
|
60
|
+
the label. Nonblank strings are preserved, including surrounding whitespace.
|
|
61
|
+
Non-string prompts and malformed items reject the extension; done events filter
|
|
62
|
+
invalid extensions. Empty item arrays are valid. Version 1 parsing is unchanged.
|
|
63
|
+
|
|
64
|
+
## Persistent sessions and inquiry drafts
|
|
65
|
+
|
|
66
|
+
`SessionResponse` contains the issued `sessionId`, plaintext `token`, and
|
|
67
|
+
`expiresAt`. Send this token as Bearer auth for chat, restore, and cancel. Chat
|
|
68
|
+
adds optional `requestId` for compatibility with standalone runtimes; the installed
|
|
69
|
+
plugin content API requires it for admission and idempotent replay.
|
|
70
|
+
`ConversationRestoreResponse` contains completed history, `activePersona`, and
|
|
71
|
+
expiration. History messages can carry `persona`, `previousPersona`, and
|
|
72
|
+
`requestId`, so the UI can identify the speaker after restoration.
|
|
73
|
+
|
|
74
|
+
`InquiryDraftExtension` (`type: "inquiry_draft", version: 1`) carries
|
|
75
|
+
`{ topics: [{ id, title, summary, facts }], message, persona }`. Facts come from
|
|
76
|
+
selected user topics. `parseSseEvent` validates it in standalone `extension` and
|
|
77
|
+
`done.extensions` events; malformed topics are rejected. Clients decide how to
|
|
78
|
+
open/prepopulate forms and handle consent/submission. This contract does not
|
|
79
|
+
submit an inquiry.
|
|
80
|
+
|
|
81
|
+
`persona_routing` v1 still carries a string `topic`. The plugin's structured
|
|
82
|
+
internal planner topic is projected to its title, preserving existing clients.
|
|
83
|
+
|
|
84
|
+
## Response extensions
|
|
85
|
+
|
|
86
|
+
See [Agent output extensions](../../docs/guides/agent-output-extensions.md) for the
|
|
87
|
+
versioned extension table, inquiry prefill and renderer overrides.
|
|
88
|
+
`ResponseExtension` includes `UiBlockExtension` v1 and inquiry draft optional
|
|
89
|
+
`InquiryPrefill`. Legacy inquiry drafts and both follow-up versions still parse.
|
package/dist/extensions.d.ts
CHANGED
|
@@ -5,6 +5,17 @@ export interface FollowUpQuestionsExtension {
|
|
|
5
5
|
questions: string[];
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
|
+
export interface SuggestedPrompt {
|
|
9
|
+
label: string;
|
|
10
|
+
prompt?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface FollowUpQuestionsV2Extension {
|
|
13
|
+
type: "follow_up_questions";
|
|
14
|
+
version: 2;
|
|
15
|
+
payload: {
|
|
16
|
+
items: SuggestedPrompt[];
|
|
17
|
+
};
|
|
18
|
+
}
|
|
8
19
|
export interface GenericBlockItem {
|
|
9
20
|
label: string;
|
|
10
21
|
value: string;
|
|
@@ -27,6 +38,37 @@ export interface PersonaRoutingExtension {
|
|
|
27
38
|
topic: string;
|
|
28
39
|
};
|
|
29
40
|
}
|
|
30
|
-
export
|
|
41
|
+
export interface InquiryPrefill {
|
|
42
|
+
name?: string;
|
|
43
|
+
email?: string;
|
|
44
|
+
phone?: string;
|
|
45
|
+
subject?: string;
|
|
46
|
+
message?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface UiBlockExtension {
|
|
49
|
+
type: "ui_block";
|
|
50
|
+
version: 1;
|
|
51
|
+
payload: {
|
|
52
|
+
component: string;
|
|
53
|
+
props: Record<string, unknown>;
|
|
54
|
+
placement?: "inline" | "after" | "panel";
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export interface InquiryDraftExtension {
|
|
58
|
+
type: "inquiry_draft";
|
|
59
|
+
version: 1;
|
|
60
|
+
payload: {
|
|
61
|
+
topics: {
|
|
62
|
+
id: string;
|
|
63
|
+
title: string;
|
|
64
|
+
summary: string;
|
|
65
|
+
facts: string[];
|
|
66
|
+
}[];
|
|
67
|
+
message: string;
|
|
68
|
+
persona: string;
|
|
69
|
+
prefill?: InquiryPrefill;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export type ResponseExtension = UiBlockExtension | InquiryDraftExtension | PersonaRoutingExtension | FollowUpQuestionsExtension | FollowUpQuestionsV2Extension | GenericBlockExtension;
|
|
31
73
|
export declare function parseResponseExtension(value: unknown): ResponseExtension | null;
|
|
32
74
|
//# sourceMappingURL=extensions.d.ts.map
|
package/dist/extensions.d.ts.map
CHANGED
|
@@ -1 +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,WAAW,uBAAuB;IACtC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,
|
|
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,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QAAE,KAAK,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;CACvC;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,WAAW,uBAAuB;IACtC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;KAC1C,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE;QACP,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,EAAE,CAAC;QAC1E,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,qBAAqB,GACrB,uBAAuB,GACvB,0BAA0B,GAC1B,4BAA4B,GAC5B,qBAAqB,CAAC;AAQ1B,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,iBAAiB,GAAG,IAAI,CA6K1B"}
|
package/dist/extensions.js
CHANGED
|
@@ -5,6 +5,79 @@ export function parseResponseExtension(value) {
|
|
|
5
5
|
if (typeof value !== "object" || value === null)
|
|
6
6
|
return null;
|
|
7
7
|
const record = value;
|
|
8
|
+
if (record.type === "ui_block" && record.version === 1) {
|
|
9
|
+
const payload = record.payload;
|
|
10
|
+
if (!payload || typeof payload !== "object" || Array.isArray(payload))
|
|
11
|
+
return null;
|
|
12
|
+
const { component, props, placement } = payload;
|
|
13
|
+
if (typeof component !== "string" ||
|
|
14
|
+
!component.trim() ||
|
|
15
|
+
!props ||
|
|
16
|
+
typeof props !== "object" ||
|
|
17
|
+
Array.isArray(props) ||
|
|
18
|
+
(placement !== undefined &&
|
|
19
|
+
(typeof placement !== "string" ||
|
|
20
|
+
!["inline", "after", "panel"].includes(placement))))
|
|
21
|
+
return null;
|
|
22
|
+
return {
|
|
23
|
+
type: "ui_block",
|
|
24
|
+
version: 1,
|
|
25
|
+
payload: {
|
|
26
|
+
component,
|
|
27
|
+
props: props,
|
|
28
|
+
...(placement !== undefined
|
|
29
|
+
? { placement: placement }
|
|
30
|
+
: {}),
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (record.type === "inquiry_draft" && record.version === 1) {
|
|
35
|
+
const payload = record.payload;
|
|
36
|
+
if (!payload ||
|
|
37
|
+
typeof payload.message !== "string" ||
|
|
38
|
+
typeof payload.persona !== "string" ||
|
|
39
|
+
!Array.isArray(payload.topics))
|
|
40
|
+
return null;
|
|
41
|
+
let prefill;
|
|
42
|
+
if (payload.prefill !== undefined) {
|
|
43
|
+
if (!payload.prefill ||
|
|
44
|
+
typeof payload.prefill !== "object" ||
|
|
45
|
+
Array.isArray(payload.prefill))
|
|
46
|
+
return null;
|
|
47
|
+
const fields = payload.prefill;
|
|
48
|
+
if (Object.entries(fields).some(([key, item]) => !["name", "email", "phone", "subject", "message"].includes(key) ||
|
|
49
|
+
typeof item !== "string"))
|
|
50
|
+
return null;
|
|
51
|
+
prefill = fields;
|
|
52
|
+
}
|
|
53
|
+
const topics = [];
|
|
54
|
+
for (const item of payload.topics) {
|
|
55
|
+
if (!item || typeof item !== "object")
|
|
56
|
+
return null;
|
|
57
|
+
const topic = item;
|
|
58
|
+
if (typeof topic.id !== "string" ||
|
|
59
|
+
typeof topic.title !== "string" ||
|
|
60
|
+
typeof topic.summary !== "string" ||
|
|
61
|
+
!isStringArray(topic.facts))
|
|
62
|
+
return null;
|
|
63
|
+
topics.push({
|
|
64
|
+
id: topic.id,
|
|
65
|
+
title: topic.title,
|
|
66
|
+
summary: topic.summary,
|
|
67
|
+
facts: topic.facts,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
type: "inquiry_draft",
|
|
72
|
+
version: 1,
|
|
73
|
+
payload: {
|
|
74
|
+
topics,
|
|
75
|
+
message: payload.message,
|
|
76
|
+
persona: payload.persona,
|
|
77
|
+
...(prefill ? { prefill } : {}),
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
8
81
|
if (record.type === "persona_routing" && record.version === 1) {
|
|
9
82
|
if (!record.payload || typeof record.payload !== "object")
|
|
10
83
|
return null;
|
|
@@ -34,6 +107,33 @@ export function parseResponseExtension(value) {
|
|
|
34
107
|
? { type: "follow_up_questions", version: 1, payload: { questions } }
|
|
35
108
|
: null;
|
|
36
109
|
}
|
|
110
|
+
if (record.type === "follow_up_questions" && record.version === 2) {
|
|
111
|
+
const payload = record.payload;
|
|
112
|
+
if (typeof payload !== "object" ||
|
|
113
|
+
payload === null ||
|
|
114
|
+
Array.isArray(payload))
|
|
115
|
+
return null;
|
|
116
|
+
const rawItems = payload.items;
|
|
117
|
+
if (!Array.isArray(rawItems))
|
|
118
|
+
return null;
|
|
119
|
+
const items = [];
|
|
120
|
+
for (const rawItem of rawItems) {
|
|
121
|
+
if (typeof rawItem !== "object" ||
|
|
122
|
+
rawItem === null ||
|
|
123
|
+
Array.isArray(rawItem))
|
|
124
|
+
return null;
|
|
125
|
+
const { label, prompt } = rawItem;
|
|
126
|
+
if (typeof label !== "string" || !label.trim())
|
|
127
|
+
return null;
|
|
128
|
+
if (prompt !== undefined && typeof prompt !== "string")
|
|
129
|
+
return null;
|
|
130
|
+
items.push({
|
|
131
|
+
label,
|
|
132
|
+
...(typeof prompt === "string" && prompt.trim() ? { prompt } : {}),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
return { type: "follow_up_questions", version: 2, payload: { items } };
|
|
136
|
+
}
|
|
37
137
|
if (record.type === "generic_block" && record.version === 1) {
|
|
38
138
|
const payload = record.payload;
|
|
39
139
|
if (typeof payload !== "object" || payload === null)
|
package/dist/extensions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { AGENT_ID_PREFIX, DEFAULT_AGENT_ALIAS, isAgentId, isAgentSelector, } fro
|
|
|
2
2
|
export { formatSseEvent, parseSseEvent } from "./events.js";
|
|
3
3
|
export { parseCitedSource, parseCitedSources } from "./sources.js";
|
|
4
4
|
export type { ChatEvent, ChatEventName, ChatDoneEventData, ChatSessionEventData, } from "./events.js";
|
|
5
|
-
export type { PersonaRoutingExtension, FollowUpQuestionsExtension, GenericBlockExtension, GenericBlockItem, ResponseExtension, } from "./extensions.js";
|
|
6
|
-
export type { AgentPublicProfile, AgentRetrievalConfig, ChatRequest, ChatResponse, ConversationHistoryMessage, PublicAgentSummary, } from "./public-api.js";
|
|
5
|
+
export type { InquiryPrefill, UiBlockExtension, InquiryDraftExtension, PersonaRoutingExtension, FollowUpQuestionsExtension, FollowUpQuestionsV2Extension, SuggestedPrompt, GenericBlockExtension, GenericBlockItem, ResponseExtension, } from "./extensions.js";
|
|
6
|
+
export type { AgentPublicProfile, AgentRetrievalConfig, SessionResponse, ConversationRestoreResponse, ChatRequest, ChatResponse, ConversationHistoryMessage, PublicAgentSummary, } from "./public-api.js";
|
|
7
7
|
export type { ChatContextStatus, CitedSource, StoredContext, StoredContextQuote, } from "./sources.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +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,uBAAuB,EACvB,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"}
|
|
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,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,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/public-api.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export interface AgentRetrievalConfig {
|
|
|
21
21
|
}
|
|
22
22
|
export interface ChatRequest {
|
|
23
23
|
message: string;
|
|
24
|
+
/** Required by the persistent content API; retries reuse this ID and payload. */
|
|
25
|
+
requestId?: string;
|
|
24
26
|
agentId?: string;
|
|
25
27
|
sessionId?: string;
|
|
26
28
|
locale?: string;
|
|
@@ -41,7 +43,22 @@ export interface ChatResponse {
|
|
|
41
43
|
contextApplied?: boolean;
|
|
42
44
|
contextStatus?: "applied" | "quote_unverified" | "unavailable";
|
|
43
45
|
}
|
|
46
|
+
export interface SessionResponse {
|
|
47
|
+
sessionId: string;
|
|
48
|
+
token: string;
|
|
49
|
+
expiresAt: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ConversationRestoreResponse {
|
|
52
|
+
sessionId: string;
|
|
53
|
+
agentId: string;
|
|
54
|
+
activePersona: string | null;
|
|
55
|
+
expiresAt: string;
|
|
56
|
+
messages: ConversationHistoryMessage[];
|
|
57
|
+
}
|
|
44
58
|
export interface ConversationHistoryMessage {
|
|
59
|
+
persona?: string | null;
|
|
60
|
+
previousPersona?: string | null;
|
|
61
|
+
requestId?: string;
|
|
45
62
|
role: "user" | "assistant";
|
|
46
63
|
content: string;
|
|
47
64
|
context?: StoredContext | null;
|
package/dist/public-api.d.ts.map
CHANGED
|
@@ -1 +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"}
|
|
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,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,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,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,0BAA0B,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,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"}
|