@intelligo-dev/chat 1.0.0-beta.13 → 1.0.0-beta.15
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 +43 -2
- package/dist/config.d.ts +32 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/handler.d.ts.map +1 -1
- package/dist/handler.js +101 -3
- package/dist/handler.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/src/config.ts +33 -5
- package/src/handler.ts +120 -3
- package/src/index.ts +1 -0
package/README.md
CHANGED
|
@@ -71,12 +71,53 @@ route to get:
|
|
|
71
71
|
None carry product vocabulary; all close over the caller's tenancy, so the
|
|
72
72
|
model is never told which workspace it is in.
|
|
73
73
|
|
|
74
|
+
`resolveAgent`, `agent.tools(turn)` and `deriveTitle` receive a `ChatTurnContext`; the later
|
|
75
|
+
seams — `prepareMessages`, `streamTurn`, `persist` — receive a `ChatTurn`, which
|
|
76
|
+
is the same context plus the resolved agent and `history()`. The context
|
|
77
|
+
carries `workspaceId` and `userId`, the `request`, the `conversationId` and its
|
|
78
|
+
row (`conversation`, null on the first turn), the `trigger`, and `body`: the
|
|
79
|
+
fields the client sent beyond the AI SDK's own, such as `ChatPanel`'s `body`
|
|
80
|
+
prop, which is how a page tells a tool which record it is about. `body` is the
|
|
81
|
+
caller's input, so a tool reads a record through the turn's workspace, never
|
|
82
|
+
by the id alone. Beside them sit `write`, `updateMetadata`, `state` and
|
|
83
|
+
`addUsage`:
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
agent: {
|
|
87
|
+
tools: (turn) => ({
|
|
88
|
+
summarize: tool({
|
|
89
|
+
inputSchema: z.object({ section: z.string() }),
|
|
90
|
+
execute: async ({ section }) => {
|
|
91
|
+
// Scoped to the caller's workspace: an id from `body` is untrusted.
|
|
92
|
+
const record = await getRecord(turn.workspaceId, String(turn.body.recordId));
|
|
93
|
+
if (!record) return { error: "not found" };
|
|
94
|
+
const { text, usage } = await summarize(record, section);
|
|
95
|
+
turn.addUsage(usage, { model: "google/gemini-2.5-flash" });
|
|
96
|
+
return text;
|
|
97
|
+
},
|
|
98
|
+
}),
|
|
99
|
+
}),
|
|
100
|
+
},
|
|
101
|
+
```
|
|
102
|
+
|
|
74
103
|
A tool reaches the client mid-turn through the turn: `turn.write()` sends a
|
|
75
104
|
`data-chat-*` part (a status line, a plan), and `createArtifactWriter(turn,
|
|
76
105
|
{ kind, title })` streams a document into the chat's canvas — `append`
|
|
77
106
|
deltas, `finish({ documentId })`. A tool that calls a model itself — a
|
|
78
|
-
grounded search, a sub-agent
|
|
79
|
-
`turn.addUsage(
|
|
107
|
+
grounded search, a sub-agent, an embedding for retrieval — hands its tokens
|
|
108
|
+
to `turn.addUsage(usage, { model })`. Tokens on the turn's own model (or
|
|
109
|
+
with no `model`) settle with the turn's; tokens on another registered model
|
|
110
|
+
are summed per model and recorded as that model's own execution
|
|
111
|
+
(`capability` `"chat.embedding"` for an embedding model, `parentExecutionId`
|
|
112
|
+
in its metadata) when the turn settles. An unregistered `model` throws
|
|
113
|
+
`UnknownModelError` at the call rather than bill at another model's price.
|
|
114
|
+
|
|
115
|
+
`turn.state` is a `Map` that lives for one request and is shared by every
|
|
116
|
+
seam that receives the turn — `resolveAgent`, `prepareMessages`, tools,
|
|
117
|
+
`streamTurn`, `persist`, the `onTurn` events — so what one of them reads
|
|
118
|
+
(a profile, a retrieval result) the next can use without a second query.
|
|
119
|
+
|
|
120
|
+
`sanitizeForShare` strips a transcript
|
|
80
121
|
for a public page; `recordChatFeedback` records a vote and tells the hook.
|
|
81
122
|
Stored attachments mount two more handlers, `createChatUploadHandler` and
|
|
82
123
|
`createChatAttachmentHandler`.
|
package/dist/config.d.ts
CHANGED
|
@@ -55,14 +55,41 @@ export interface ChatTurnContext extends ChatActor {
|
|
|
55
55
|
* are replaced, other keys kept. Rejects before the row exists.
|
|
56
56
|
*/
|
|
57
57
|
updateMetadata: (patch: Record<string, unknown>) => Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Scratch space living for one turn, shared by every seam that
|
|
60
|
+
* receives the turn — `resolveAgent`, `prepareMessages`, tools,
|
|
61
|
+
* `streamTurn`, `persist`, the `onTurn` events. One `Map` per request,
|
|
62
|
+
* created before `resolveAgent` runs and dropped with the request:
|
|
63
|
+
* what one seam computes (a profile read, a retrieval result) another
|
|
64
|
+
* reads without a second query. Nothing in it is persisted.
|
|
65
|
+
*/
|
|
66
|
+
state: Map<string, unknown>;
|
|
58
67
|
/**
|
|
59
68
|
* Add the tokens a tool spent on its own model call — a search that
|
|
60
|
-
* asks a model, a sub-agent — to what this turn settles.
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
69
|
+
* asks a model, a sub-agent, an embedding — to what this turn settles.
|
|
70
|
+
*
|
|
71
|
+
* Without `model`, or with the turn's own model, the tokens are summed
|
|
72
|
+
* into the turn's execution and priced as its model. With another
|
|
73
|
+
* model they are that model's usage: summed per model (and
|
|
74
|
+
* `capability`), each total is recorded as its own execution — same
|
|
75
|
+
* workspace, user and conversation, `parentExecutionId` in its
|
|
76
|
+
* metadata — when the turn settles, or when it fails, since the
|
|
77
|
+
* tokens were spent either way. `capability` defaults to
|
|
78
|
+
* `"chat.embedding"` for a model registered with `kind: "embedding"`
|
|
79
|
+
* and to the turn's capability otherwise.
|
|
80
|
+
*
|
|
81
|
+
* Throws `UnknownModelError` at the call when `model` has no
|
|
82
|
+
* registered price, rather than bill the tokens at another model's.
|
|
83
|
+
* Usage added after the turn settles is not charged.
|
|
64
84
|
*/
|
|
65
|
-
addUsage: (usage: TokenUsage) => void;
|
|
85
|
+
addUsage: (usage: TokenUsage, options?: ChatUsageOptions) => void;
|
|
86
|
+
}
|
|
87
|
+
/** Where `turn.addUsage` bills the tokens it is handed. */
|
|
88
|
+
export interface ChatUsageOptions {
|
|
89
|
+
/** The registered model the tokens were spent on. Default: the turn's. */
|
|
90
|
+
model?: string;
|
|
91
|
+
/** Capability recorded on that model's execution. See `addUsage`. */
|
|
92
|
+
capability?: string;
|
|
66
93
|
}
|
|
67
94
|
/** The agent this turn runs as. */
|
|
68
95
|
export interface ResolvedAgent {
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,OAAO,EACP,SAAS,EACT,cAAc,EACd,qBAAqB,EACtB,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErC,0FAA0F;AAC1F,MAAM,MAAM,eAAe,GAAG,WAAW,CACvC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CACpD,CAAC;AAEF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChF,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,wEAAwE;AACxE,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,gEAAgE;IAChE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAC7D;;;;;OAKG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACtC;;;;OAIG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,OAAO,EACP,SAAS,EACT,cAAc,EACd,qBAAqB,EACtB,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErC,0FAA0F;AAC1F,MAAM,MAAM,eAAe,GAAG,WAAW,CACvC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CACpD,CAAC;AAEF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChF,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,wEAAwE;AACxE,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,gEAAgE;IAChE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAC7D;;;;;OAKG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACtC;;;;OAIG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE;;;;;;;OAOG;IACH,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnE;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7D,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,aAAa,EACb,IAAI,GAAG,cAAc,GAAG,OAAO,CAChC;IACC,6BAA6B;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3E;AAED,qEAAqE;AACrE,MAAM,WAAW,QAAS,SAAQ,eAAe;IAC/C,KAAK,EAAE,aAAa,CAAC;IACrB,gFAAgF;IAChF,OAAO,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;CACrC;AAED,+BAA+B;AAC/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IACvC,KAAK,EAAE,OAAO,CACZ,UAAU,GAAG;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CACF,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,CACvB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;CAC9C,KACE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QACd,IAAI,EAAE,QAAQ,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,IAAI,EAAE,QAAQ,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,UAAU,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;KACtB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,sFAAsF;IACtF,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QACb,IAAI,EAAE,eAAe,CAAC;QACtB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;KACxE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,kEAAkE;IAClE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QACf,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;QACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,EAAE,aAAa,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,IAAI,EAAE,eAAe,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,KAAK,EAAE,SAAS,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;KAC5B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,OAAO,EACH,eAAe,EAAE,GACjB,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,eAAe,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE;QACL,iEAAiE;QACjE,SAAS,EAAE,MAAM,CAAC;QAClB;;;WAGG;QACH,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,KAClB,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;KAC7C,CAAC;IACF;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CACb,IAAI,EAAE,eAAe,KAClB,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,iFAAiF;IACjF,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAChB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,SAAS,EAAE,KAClB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,yEAAyE;IACzE,SAAS,CAAC,EAAE,yBAAyB,GAAG,KAAK,CAAC;IAC9C,iFAAiF;IACjF,WAAW,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;IAC3C,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IAEtC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CACZ,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,eAAe,KAClB,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C;;;;OAIG;IACH,OAAO,CAAC,EACJ,KAAK,GACL,CAAC,CACC,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE;QACN,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC;QAC9B,eAAe,EAAE,SAAS,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;KACzB,KACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxB,mFAAmF;IACnF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,CAAC;IACnD,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtE,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,wEAAwE;IACxE,SAAS,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;CACxE"}
|
package/dist/handler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAsDH,OAAO,KAAK,EAEV,gBAAgB,EAMjB,MAAM,UAAU,CAAC;AAkJlB,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,8EAA8E;IAC9E,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,oEAAoE;IACpE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAqhCvE"}
|
package/dist/handler.js
CHANGED
|
@@ -24,7 +24,7 @@ import { attachToConversation, getAttachments, } from "@intelligo-dev/core/attac
|
|
|
24
24
|
import { createConversation, deleteConversation, deleteTrailingMessages, getConversation, getMessages, isConversationServiceError, renameConversation, updateConversationMetadata, upsertMessages, } from "@intelligo-dev/core/conversations";
|
|
25
25
|
import { createLogger } from "@intelligo-dev/core/logger";
|
|
26
26
|
import { getStorageAdapter } from "@intelligo-dev/core/storage";
|
|
27
|
-
import { getModelPricing } from "@intelligo-dev/executions/pricing";
|
|
27
|
+
import { UnknownModelError, getModelPricing, isModelRegistered, registeredModelIds, } from "@intelligo-dev/executions/pricing";
|
|
28
28
|
import { attachmentIdFromUrl, parseChatBody } from "./body.js";
|
|
29
29
|
import { CHAT_ERROR_STATUS, DEFAULT_CHAT_MESSAGES, refuse } from "./errors.js";
|
|
30
30
|
import { pickGenerationOptions } from "./generation.js";
|
|
@@ -38,6 +38,8 @@ function errorMessage(error) {
|
|
|
38
38
|
}
|
|
39
39
|
const DEFAULT_FEATURE_KEY = "chat";
|
|
40
40
|
const DEFAULT_CAPABILITY = "chat.message";
|
|
41
|
+
/** Capability of the execution recording a turn's embedding-model usage. */
|
|
42
|
+
const EMBEDDING_CAPABILITY = "chat.embedding";
|
|
41
43
|
const DEFAULT_AGENT_ID = "assistant";
|
|
42
44
|
const DEFAULT_SYSTEM_PROMPT = "You are a helpful assistant embedded in a SaaS product. Be concise and direct.";
|
|
43
45
|
const DEFAULT_MAX_MESSAGE_LENGTH = 8000;
|
|
@@ -401,6 +403,10 @@ export function createChatHandler(config) {
|
|
|
401
403
|
let writerSlot = null;
|
|
402
404
|
// Tokens tools spent on their own model calls, settled with the run's.
|
|
403
405
|
let nestedUsage = null;
|
|
406
|
+
// Tokens spent on a named model, by model and capability. Which of
|
|
407
|
+
// them are the turn's own model is known only once the agent is
|
|
408
|
+
// resolved, so the split happens at settlement.
|
|
409
|
+
const namedUsage = new Map();
|
|
404
410
|
const context = {
|
|
405
411
|
...actor,
|
|
406
412
|
request,
|
|
@@ -414,8 +420,25 @@ export function createChatHandler(config) {
|
|
|
414
420
|
updateMetadata: async (patch) => {
|
|
415
421
|
await updateConversationMetadata(actor, body.id, patch);
|
|
416
422
|
},
|
|
417
|
-
|
|
418
|
-
|
|
423
|
+
state: new Map(),
|
|
424
|
+
addUsage: (usage, options) => {
|
|
425
|
+
const model = options?.model;
|
|
426
|
+
if (model === undefined) {
|
|
427
|
+
nestedUsage = sumUsage(nestedUsage ?? {}, pickUsage(usage));
|
|
428
|
+
return;
|
|
429
|
+
}
|
|
430
|
+
// A price is needed to bill these tokens at all; failing here
|
|
431
|
+
// names the id in the tool that spent them.
|
|
432
|
+
if (!isModelRegistered(model)) {
|
|
433
|
+
throw new UnknownModelError(model, registeredModelIds());
|
|
434
|
+
}
|
|
435
|
+
const key = `${model}\u0000${options?.capability ?? ""}`;
|
|
436
|
+
const entry = namedUsage.get(key);
|
|
437
|
+
namedUsage.set(key, {
|
|
438
|
+
model,
|
|
439
|
+
...(options?.capability ? { capability: options.capability } : {}),
|
|
440
|
+
usage: sumUsage(entry?.usage ?? {}, pickUsage(usage)),
|
|
441
|
+
});
|
|
419
442
|
},
|
|
420
443
|
};
|
|
421
444
|
let agent;
|
|
@@ -602,7 +625,76 @@ export function createChatHandler(config) {
|
|
|
602
625
|
// tools bound, `usage` is the LAST step only and a five-step turn
|
|
603
626
|
// would be billed for one.
|
|
604
627
|
let captured;
|
|
628
|
+
/**
|
|
629
|
+
* Take the usage tools named a model for: the turn's own model
|
|
630
|
+
* folds into `nestedUsage`, every other model is returned for its
|
|
631
|
+
* own execution. Drains the map, so a second call finds nothing and
|
|
632
|
+
* no model's tokens are recorded twice.
|
|
633
|
+
*/
|
|
634
|
+
const takeOtherModelUsage = () => {
|
|
635
|
+
const others = [];
|
|
636
|
+
for (const entry of namedUsage.values()) {
|
|
637
|
+
if (entry.model === modelId) {
|
|
638
|
+
nestedUsage = sumUsage(nestedUsage ?? {}, entry.usage);
|
|
639
|
+
continue;
|
|
640
|
+
}
|
|
641
|
+
others.push({
|
|
642
|
+
model: entry.model,
|
|
643
|
+
capability: entry.capability ??
|
|
644
|
+
(getModelPricing(entry.model)?.kind === "embedding"
|
|
645
|
+
? EMBEDDING_CAPABILITY
|
|
646
|
+
: capability),
|
|
647
|
+
usage: entry.usage,
|
|
648
|
+
});
|
|
649
|
+
}
|
|
650
|
+
namedUsage.clear();
|
|
651
|
+
return others;
|
|
652
|
+
};
|
|
653
|
+
/**
|
|
654
|
+
* Record another model's tokens as that model's execution. Begun
|
|
655
|
+
* and completed at settlement rather than when the tool reports
|
|
656
|
+
* them: `addUsage` is synchronous inside a tool, and one execution
|
|
657
|
+
* per model per turn keeps a retrieval loop of twenty embedding
|
|
658
|
+
* calls one row. The tokens are already spent, so a refusal here
|
|
659
|
+
* (the workspace ran dry mid-turn) cannot stop them; it is logged
|
|
660
|
+
* and reported as a settlement failure.
|
|
661
|
+
*/
|
|
662
|
+
const settleOtherModels = async (others, aborted) => {
|
|
663
|
+
for (const other of others) {
|
|
664
|
+
try {
|
|
665
|
+
const child = await config.executions.begin({
|
|
666
|
+
workspaceId: actor.workspaceId,
|
|
667
|
+
userId: actor.userId,
|
|
668
|
+
capability: other.capability,
|
|
669
|
+
model: other.model,
|
|
670
|
+
metadata: {
|
|
671
|
+
...metadata,
|
|
672
|
+
parentExecutionId: run.id,
|
|
673
|
+
parentRequestId: run.requestId,
|
|
674
|
+
},
|
|
675
|
+
});
|
|
676
|
+
if (!child.allowed) {
|
|
677
|
+
throw new Error(`Usage on ${other.model} was refused: ${child.reason ?? child.code ?? "refused"}`);
|
|
678
|
+
}
|
|
679
|
+
await child.complete({
|
|
680
|
+
usage: other.usage,
|
|
681
|
+
model: other.model,
|
|
682
|
+
metadata: { ...metadata, aborted },
|
|
683
|
+
});
|
|
684
|
+
}
|
|
685
|
+
catch (error) {
|
|
686
|
+
log.error("Nested model settlement failed", {
|
|
687
|
+
conversationId: body.id,
|
|
688
|
+
executionId: run.id,
|
|
689
|
+
modelId: other.model,
|
|
690
|
+
error: errorMessage(error),
|
|
691
|
+
});
|
|
692
|
+
await emit(() => events.fail?.({ turn, error, phase: "settlement" }));
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
};
|
|
605
696
|
const settle = async (usage, detail) => {
|
|
697
|
+
const others = takeOtherModelUsage();
|
|
606
698
|
const whole = nestedUsage ? sumUsage(usage, nestedUsage) : usage;
|
|
607
699
|
const normalized = config.normalizeUsage
|
|
608
700
|
? config.normalizeUsage(whole)
|
|
@@ -627,8 +719,10 @@ export function createChatHandler(config) {
|
|
|
627
719
|
error: errorMessage(error),
|
|
628
720
|
});
|
|
629
721
|
await emit(() => events.fail?.({ turn, error, phase: "settlement" }));
|
|
722
|
+
await settleOtherModels(others, detail.aborted);
|
|
630
723
|
return;
|
|
631
724
|
}
|
|
725
|
+
await settleOtherModels(others, detail.aborted);
|
|
632
726
|
await emit(() => events.complete?.({
|
|
633
727
|
turn,
|
|
634
728
|
executionId: run.id,
|
|
@@ -800,6 +894,7 @@ export function createChatHandler(config) {
|
|
|
800
894
|
// abandons it if neither does.
|
|
801
895
|
if (!captured && !request.signal.aborted) {
|
|
802
896
|
void run.fail({ error: new Error("stream ended without usage") });
|
|
897
|
+
void settleOtherModels(takeOtherModelUsage(), false);
|
|
803
898
|
}
|
|
804
899
|
if (config.persist === false)
|
|
805
900
|
return;
|
|
@@ -844,6 +939,9 @@ export function createChatHandler(config) {
|
|
|
844
939
|
// does not await this callback, so nothing here is.
|
|
845
940
|
writerSlot = null;
|
|
846
941
|
void run.fail({ error });
|
|
942
|
+
// Another model's tokens were spent whether or not the turn
|
|
943
|
+
// finished; they are that model's execution, not this one's.
|
|
944
|
+
void settleOtherModels(takeOtherModelUsage(), false);
|
|
847
945
|
void emit(() => events.fail?.({ turn, error, phase: "stream" }));
|
|
848
946
|
return t("streamError");
|
|
849
947
|
},
|
package/dist/handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,IAAI,CAAC;AAWZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,GACf,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAY5D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM3D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEjC,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAC1C,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAC9C,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,MAAM,qBAAqB,GACzB,gFAAgF,CAAC;AACnF,MAAM,0BAA0B,GAAG,IAAI,CAAC;AACxC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B;;;GAGG;AACH,MAAM,cAAc,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,KAAM,EAAW,CAAC;AACvE,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,KAAK,UAAU,mBAAmB;IAChC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACrD,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAAgB;IAC9C,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7D,OAAO,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA2B;IACnD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAC7C,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CACpB,MAA6B;IAE7B,OAAO,MAAM,CAAC,WAAW,CACvB,IAAI,eAAe,CAAe;QAChC,SAAS,CAAC,KAAK,EAAE,UAAU;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAUD,oFAAoF;AACpF,SAAS,eAAe,CAAC,QAAkC;IACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAyC,CAAC;QACvD,IAAI,IAAI,CAAC,KAAK,KAAK,oBAAoB;YAAE,SAAS;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAC8C,CAAC;QACrE,IACE,CAAC,QAAQ;YACT,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ;YAC/B,OAAO,QAAQ,CAAC,QAAQ,KAAK,SAAS,EACtC,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAC/D,CAAC,CAAC,IAAI,CAAC,QAAQ;YACf,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACjC,CAAC,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ;YACR,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACtE,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,GAAG,CAAC,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;gBACrC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;gBAC7B,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gEAAgE;AAChE,SAAS,mBAAmB,CAC1B,QAAkC,EAClC,MAA4B;IAE5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YACnC,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE;gBAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAAC,MAAwB;IACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,wIAAwI,CACzI,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GACpB,MAAM,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;IACxD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,mBAAmB,CAAC;IAChE,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACvE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,aAAa,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAE3D,wCAAwC;IACxC,KAAK,UAAU,IAAI,CAAC,GAA6C;QAC/D,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,OAAgB;QACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,SAAS,WAAW,CAAC,OAAgB;QACnC,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtD,OAAO;YACL,6BAA6B,EAAE,MAAM;YACrC,kCAAkC,EAAE,MAAM;YAC1C,8BAA8B,EAAE,4BAA4B;YAC5D,8BAA8B,EAAE,6BAA6B;YAC7D,+BAA+B,EAC7B,0EAA0E;YAC5E,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,SAAS,OAAO,CACd,IAAmB,EACnB,KAAa,EACb,KAAiE,EACjE,QAA6D,EAAE,EAC/D,UAAkC,EAAE;QAEpC,KAAK,IAAI,CAAC,GAAG,EAAE,CACb,MAAM,CAAC,MAAM,EAAE,CAAC;YACd,GAAG,KAAK;YACR,IAAI;YACJ,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC,CACH,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,IAAqB;QAC/C,IAAI,MAAM,CAAC,YAAY;YAAE,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,GACT,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU;YACnC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QACtB,+DAA+D;QAC/D,+DAA+D;QAC/D,kEAAkE;QAClE,kEAAkE;QAClE,6DAA6D;QAC7D,wCAAwC;QACxC,MAAM,EACJ,EAAE,EAAE,GAAG,EACP,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,MAAM,EACb,GAAG,IAAI,EACR,GAAG,SAAS,CAAC;QACd,OAAO;YACL,GAAG,IAAI;YACP,sDAAsD;YACtD,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,IAAI,SAAS,CAAC,EAAE,IAAI,gBAAgB;YAClE,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,qBAAqB;YAC7D,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,cAAc,CAC3B,KAAgB,EAChB,IAA6B;QAE7B,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACvD,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,UAAU;YACzC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YACpC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,IAAc,EACd,QAAqB;QAErB,IAAI,MAAM,CAAC,eAAe;YAAE,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1E,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QACrE,IAAI,SAAS,KAAK,KAAK;YAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACvD,OAAO,EAAE,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,KAAK,UAAU,kBAAkB,CAC/B,KAAgB,EAChB,QAAqB;QAErB,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3D,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QAEtC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAU,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CACR,GAAG,CAAC,EAAE,EACN,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;gBACzC,gBAAgB,EAAE,iBAAiB;aACpC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAuB,EAAE,CAAC;YACrC,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,SAAS;gBACX,CAAC;gBACD,MAAM,EAAE,GAAG,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtD,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1C,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;oBAChB,4DAA4D;oBAC5D,kDAAkD;oBAClD,SAAS;gBACX,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG,IAAI;oBACP,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE;iBACrB,CAAC,CAAC;gBACH,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7D,SAAS,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,KAAgB,EAChB,EAAU;QAIV,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,0BAA0B,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,UAAU,oBAAoB,CACjC,KAAgB,EAChB,IAA2C;QAE3C,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QACtD,IAAI,MAA6B,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,YAAY,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAC3D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CACpC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,GAAyC,CAAC;YACvD,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACxC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,GAAyC,CAAC;YACvD,IAAI,IAAI,CAAC,KAAK,KAAK,oBAAoB;gBAAE,OAAO,IAAI,CAAC;YACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvD,OAAO,CACL,QAAQ,KAAK,SAAS;gBACtB,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAC9D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;IAExB,KAAK,UAAU,IAAI,CAAC,OAAgB;QAClC,MAAM,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAEtD,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;YACzC,OAAO,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,IAAwB,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAE3E,IAAI,KAAgB,CAAC;QACrB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,YAAY,GAA2B,EAAE,GAAG,IAAI,EAAE,CAAC;QACvD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YACxC,YAAY,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,IAAI,EAAE,CAAC;gBACjD,OAAO,OAAO,CACZ,cAAc,EACd,CAAC,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,EAC7B,KAAK,EACL,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAC9B,YAAY,CACb,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,8DAA8D;YAC9D,0CAA0C;YAC1C,IACE,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,EACjC,CAAC;gBACD,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9D,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBACvC,cAAc,EAAE,IAAI,CAAC,EAAE;gBACvB,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;aAClC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,+DAA+D;QAC/D,6DAA6D;QAC7D,IAAI,UAAU,GAAgD,IAAI,CAAC;QACnE,uEAAuE;QACvE,IAAI,WAAW,GAAsB,IAAI,CAAC;QAC1C,mEAAmE;QACnE,gEAAgE;QAChE,gDAAgD;QAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAGvB,CAAC;QAEJ,MAAM,OAAO,GAAoB;YAC/B,GAAG,KAAK;YACR,OAAO;YACP,cAAc,EAAE,IAAI,CAAC,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,YAAY,EAAE,MAAM,CAAC,GAAG;YACxB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,KAAoB,EAAE,EAAE;gBAC9B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;YACD,KAAK,EAAE,IAAI,GAAG,EAAmB;YACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC3B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;gBAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC5D,OAAO;gBACT,CAAC;gBACD,8DAA8D;gBAC9D,4CAA4C;gBAC5C,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,GAAG,GAAG,GAAG,KAAK,SAAS,OAAO,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;gBACzD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;oBAClB,KAAK;oBACL,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;iBACtD,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QAEF,IAAI,KAAoB,CAAC;QACzB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE;gBAC/B,cAAc,EAAE,IAAI,CAAC,EAAE;gBACvB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAC5D,CAAC;YACF,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,KAAK,SAAS;YAC5B,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;gBAC/B,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,MAAM,CAAC,UAAU;YACrB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QACvB,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,iCAAiC;QACjC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,OAAO,OAAO,CACZ,eAAe,EACf,CAAC,CAAC,cAAc,CAAC,EACjB,KAAK,EACL,EAAE,UAAU,EAAE,mBAAmB,EAAE,EACnC,IAAI,CACL,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACtE,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,kBAAkB,CAAC;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,iBAAiB,CAAC;QAExE,8DAA8D;QAC9D,sDAAsD;QACtD,IAAI,YAAY,GAAkC,IAAI,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,WAAW,CACxB,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EACzC,OAAO,CACR,CAAC;YACF,IAAI,KAAK,GAAkB,IAAI,CAAC;YAChC,IAAI,MAAM,YAAY,OAAO;gBAAE,YAAY,GAAG,MAAM,CAAC;;gBAChD,KAAK,GAAG,MAAM,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,CAAC,YAAY,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE;oBACrD,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,OAAO;oBACP,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qDAAqD;gBACrD,IAAI,0BAA0B,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACpE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC9D,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE;oBACzC,cAAc,EAAE,IAAI,CAAC,EAAE;oBACvB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;iBAC3B,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,0CAA0C;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;YACjD,iEAAiE;YACjE,8DAA8D;YAC9D,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;QACzD,CAAC;aAAM,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,+DAA+D;YAC/D,iEAAiE;YACjE,iEAAiE;YACjE,6DAA6D;YAC7D,mBAAmB;YACnB,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACrE,OAAO,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,GAAa;YACrB,GAAG,OAAO;YACV,KAAK;YACL,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;SACrE,CAAC;QAEF,+DAA+D;QAC/D,6CAA6C;QAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,QAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBAClC,cAAc,EAAE,IAAI,CAAC,EAAE;gBACvB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,QAAQ,GAAG;YACf,cAAc,EAAE,IAAI,CAAC,EAAE;YACvB,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QAEF,+DAA+D;QAC/D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;YACxC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU;YACV,KAAK,EAAE,OAAO;YACd,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,iEAAiE;YACjE,kEAAkE;YAClE,+BAA+B;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACjC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE;oBACzC,cAAc,EAAE,IAAI,CAAC,EAAE;oBACvB,OAAO;oBACP,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB,CAAC,CAAC;gBACH,6DAA6D;gBAC7D,6DAA6D;gBAC7D,sDAAsD;gBACtD,OAAO,OAAO,CACZ,mBAAmB,EACnB,CAAC,CAAC,kBAAkB,CAAC,EACrB,KAAK,EACL,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,EACxB,YAAY,CACb,CAAC;YACJ,CAAC;YACD,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,KAAK,wBAAwB,CAAC;YAC5D,IAAI,aAAa,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBACrC,cAAc,EAAE,IAAI,CAAC,EAAE;oBACvB,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB,CAAC,CAAC;YACL,CAAC;YACD,+DAA+D;YAC/D,gEAAgE;YAChE,OAAO,OAAO,CACZ,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,gBAAgB,EAC3D,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,CAAC,EAC3D,KAAK,EACL,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACjD,YAAY,CACb,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,sBAAsB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4DAA4D;gBAC5D,wCAAwC;gBACxC,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE;oBAClD,cAAc,EAAE,IAAI,CAAC,EAAE;oBACvB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAChD,CAAC,CAAC,KAAK,CAAC,KAAK;YACb,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,QAAQ,GAA6B;YACzC,WAAW,CAAC,QAAQ,CAAC;YACrB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC/B,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC,KAAK,CAAC,QAAQ;oBACd,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAClB,CAAC,CAAC,EAAE,CAAC;SACV,CAAC;QAEF,MAAM,IAAI,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,KAAK,EAAE,CAAC;YACb,IAAI;YACJ,WAAW,EAAE,GAAG,CAAC,EAAE;YACnB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO;SACR,CAAC,CACH,CAAC;QAEF,mEAAmE;QACnE,iEAAiE;QACjE,gEAAgE;QAChE,kEAAkE;QAClE,2BAA2B;QAC3B,IAAI,QASS,CAAC;QAEd;;;;;WAKG;QACH,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,MAAM,MAAM,GAIP,EAAE,CAAC;YACR,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC5B,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvD,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,UAAU,EACR,KAAK,CAAC,UAAU;wBAChB,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,WAAW;4BACjD,CAAC,CAAC,oBAAoB;4BACtB,CAAC,CAAC,UAAU,CAAC;oBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC;YACD,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF;;;;;;;;WAQG;QACH,MAAM,iBAAiB,GAAG,KAAK,EAC7B,MAA8C,EAC9C,OAAgB,EAChB,EAAE;YACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;wBAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,QAAQ,EAAE;4BACR,GAAG,QAAQ;4BACX,iBAAiB,EAAE,GAAG,CAAC,EAAE;4BACzB,eAAe,EAAE,GAAG,CAAC,SAAS;yBAC/B;qBACF,CAAC,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CACb,YAAY,KAAK,CAAC,KAAK,iBAAiB,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAClF,CAAC;oBACJ,CAAC;oBACD,MAAM,KAAK,CAAC,QAAQ,CAAC;wBACnB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;qBACnC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE;wBAC1C,cAAc,EAAE,IAAI,CAAC,EAAE;wBACvB,WAAW,EAAE,GAAG,CAAC,EAAE;wBACnB,OAAO,EAAE,KAAK,CAAC,KAAK;wBACpB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;qBAC3B,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,EAClB,KAAiB,EACjB,MAAsD,EACtD,EAAE;YACF,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc;gBACtC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC9B,CAAC,CAAC,KAAK,CAAC;YACV,+DAA+D;YAC/D,8DAA8D;YAC9D,4CAA4C;YAC5C,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,QAAQ,CAAC;oBACjB,KAAK,EAAE,UAAU;oBACjB,qDAAqD;oBACrD,sDAAsD;oBACtD,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;iBACnD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE;oBACvC,cAAc,EAAE,IAAI,CAAC,EAAE;oBACvB,WAAW,EAAE,GAAG,CAAC,EAAE;oBACnB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;iBAC3B,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;gBACtE,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI;gBACJ,WAAW,EAAE,GAAG,CAAC,EAAE;gBACnB,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,OAAO;gBACrC,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,QAAQ,EAAE,YAAY;gBACpC,eAAe,EAAE,QAAQ,EAAE,eAAe;gBAC1C,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB;gBAC5C,QAAQ,EAAE,QAAQ,EAAE,QAAQ;aAC7B,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,YAAY;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;gBACjC,IAAI,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAC;gBACxB,6DAA6D;gBAC7D,gCAAgC;gBAChC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;oBAAE,OAAO,OAAO,CAAC,KAAK,CAAC;gBACjD,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAChD,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBAChC,cAAc,EAAE,IAAI,CAAC,EAAE;oBACvB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;iBAC3B,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAuB,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,OAAO;YACrC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;YACvB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,qBAAqB,CAAgB;YAClD,mEAAmE;YACnE,2DAA2D;YAC3D,sDAAsD;YACtD,gBAAgB,EAAE,QAAQ,CAAC,QAA2B;YACtD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC5B,UAAU,GAAG,MAAM,CAAC;gBACpB,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAC5C,KAAK,EACL,QAAQ,CAAC,QAAQ,CAClB,CAAC;gBAEF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,2DAA2D;oBAC3D,sDAAsD;oBACtD,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBAChC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE;wBACvD,OAAO;wBACP,WAAW,EAAE,OAAO,CAAC,MAAM;wBAC3B,MAAM;qBACP,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CACV,aAAa,CACX,QAAQ,CAAC,MAAwC,CACI,CACxD,CAAC;oBACF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;oBACnC,QAAQ,GAAG;wBACT,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;wBACvB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpE,CAAC;oBACF,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClE,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;oBACjC,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,CAAC;4BACX,IAAI,EAAE,iBAAiB;4BACvB,IAAI,EAAE,KAAK;4BACX,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC;wBACX,IAAI,EAAE,QAAQ;wBACd,GAAG,CAAC,YAAY;4BACd,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BACrD,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5D,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;gBAChE,MAAM,MAAM,GAAG,UAAU,CAAC;oBACxB,2DAA2D;oBAC3D,wDAAwD;oBACxD,iDAAiD;oBACjD,GAAG,CAAC,aAAa,KAAK,SAAS;wBAC7B,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE;wBACpC,CAAC,CAAC,EAAE,CAAC;oBACP,yDAAyD;oBACzD,4DAA4D;oBAC5D,0DAA0D;oBAC1D,wDAAwD;oBACxD,yCAAyC;oBACzC,GAAG,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC;oBAC1C,KAAK;oBACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,YAAY;oBAC7C,GAAG,CAAC,KAAK,CAAC,eAAe;wBACvB,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE;wBAC5C,CAAC,CAAC,EAAE,CAAC;oBACP,QAAQ,EAAE,MAAM,sBAAsB,CAAC,aAAa,EAAE;wBACpD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC5B,CAAC;oBACF,GAAG,CAAC,KAAK;wBACP,CAAC,CAAC;4BACE,KAAK;4BACL,QAAQ;4BACR,qDAAqD;4BACrD,uDAAuD;4BACvD,uDAAuD;4BACvD,sDAAsD;4BACtD,cAAc;4BACd,GAAG,CAAC,KAAK,CAAC,WAAW;gCACnB,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAmC,EAAE;gCAC5D,CAAC,CAAC,EAAE,CAAC;yBACR;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,6DAA6D;oBAC7D,2DAA2D;oBAC3D,2DAA2D;oBAC3D,WAAW,EAAE,OAAO,CAAC,MAAM;oBAC3B,QAAQ,EAAE,KAAK,EAAE,EACf,UAAU,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,QAAQ,GACT,EAAE,EAAE;wBACH,QAAQ,GAAG;4BACT,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC;4BAC5B,YAAY;4BACZ,eAAe;4BACf,gBAAgB;4BAChB,QAAQ,EAAE,QAAiC;yBAC5C,CAAC;wBACF,2DAA2D;wBAC3D,4DAA4D;wBAC5D,4CAA4C;wBAC5C,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBACnD,CAAC;oBACD,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;wBAC3B,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvD,CAAC;iBACF,CAAC,CAAC;gBAEH,MAAM,CAAC,KAAK,CACV,MAAM,CAAC,iBAAiB,CAAC;oBACvB,aAAa,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK;oBACxC,WAAW,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;oBACpC,GAAG,CAAC,YAAY;wBACd,CAAC,CAAC;4BACE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,KAAK,QAAQ;gCACpB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;gCACjC,CAAC,CAAC,SAAS;yBAChB;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR,CAAuD,CACzD,CAAC;gBAEF,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;gBACjC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC;wBACX,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,KAAK;wBACX,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,UAAU;YACV,QAAQ,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE;gBACtD,UAAU,GAAG,IAAI,CAAC;gBAClB,gEAAgE;gBAChE,6DAA6D;gBAC7D,+DAA+D;gBAC/D,iEAAiE;gBACjE,iEAAiE;gBACjE,+BAA+B;gBAC/B,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACzC,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;oBAClE,KAAK,iBAAiB,CAAC,mBAAmB,EAAE,EAAE,KAAK,CAAC,CAAC;gBACvD,CAAC;gBAED,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBAAE,OAAO;gBACrC,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC;oBACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;4BACzB,WAAW;4BACX,eAAe;4BACf,cAAc;yBACf,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE;4BAC5B,GAAG,CAAC,WAAW,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxD,eAAe;yBAChB,CAAC,CAAC;oBACL,CAAC;oBACD,IACE,WAAW;wBACX,WAAW,KAAK,KAAK;wBACrB,WAAW,CAAC,IAAI,KAAK,QAAQ,EAC7B,CAAC;wBACD,MAAM,GAAG,GAAG,mBAAmB,CAAC,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;wBAC5D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACnB,MAAM,oBAAoB,CAAC,KAAK,EAAE;gCAChC,GAAG;gCACH,cAAc,EAAE,IAAI,CAAC,EAAE;6BACxB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE;wBACtC,cAAc,EAAE,IAAI,CAAC,EAAE;wBACvB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;qBAC3B,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,+DAA+D;gBAC/D,4DAA4D;gBAC5D,oDAAoD;gBACpD,UAAU,GAAG,IAAI,CAAC;gBAClB,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzB,4DAA4D;gBAC5D,6DAA6D;gBAC7D,KAAK,iBAAiB,CAAC,mBAAmB,EAAE,EAAE,KAAK,CAAC,CAAC;gBACrD,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACjE,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC;YAC1B,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,6BAA6B,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,iCAAiC;IAEjC,KAAK,UAAU,MAAM,CAAC,OAAgB;QACpC,MAAM,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAqB,CAAC;gBACxD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;oBAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,OAAO,CACZ,aAAa,EACb,CAAC,CAAC,aAAa,CAAC,EAChB,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EACrC,EAAE,EACF,IAAI,CACL,CAAC;QACJ,CAAC;QAED,IAAI,KAAgB,CAAC;QACrB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CACZ,cAAc,EACd,CAAC,CAAC,cAAc,CAAC,EACjB,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,EACnC,EAAE,EACF,IAAI,CACL,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,0BAA0B,CAAC,KAAK,CAAC;gBACjC,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,EAC1D,CAAC;gBACD,OAAO,OAAO,CACZ,WAAW,EACX,CAAC,CAAC,UAAU,CAAC,EACb,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,EAC7B,EAAE,EACF,IAAI,CACL,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACzC,cAAc,EAAE,EAAE;gBAClB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC;YACH,OAAO,OAAO,CACZ,UAAU,EACV,CAAC,CAAC,eAAe,CAAC,EAClB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,EAC7B,EAAE,EACF,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,mDAAmD;IAEnD;;;;OAIG;IACH,KAAK,UAAU,GAAG,CAAC,OAAgB;QACjC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,OAAgB;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;YACxB,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE;SACtD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
export { createChatHandler } from "./handler.js";
|
|
8
8
|
export { truncateTitle } from "./title.js";
|
|
9
9
|
export type { ChatHandler } from "./handler.js";
|
|
10
|
-
export type { ChatActor, ChatAgentConfig, ChatAttachmentPolicy, ChatGenerationOptions, ChatMessageKey, ChatMessageParams, ChatMessages, ChatModelsConfig, ChatServerConfig, ChatTurn, ChatTurnContext, ChatTurnEvents, PreparedTurn, ProviderOptions, RateLimitDecision, ResolvedAgent, StreamTurn, TurnStream, } from "./config.js";
|
|
10
|
+
export type { ChatActor, ChatAgentConfig, ChatAttachmentPolicy, ChatGenerationOptions, ChatMessageKey, ChatMessageParams, ChatMessages, ChatModelsConfig, ChatServerConfig, ChatTurn, ChatTurnContext, ChatTurnEvents, ChatUsageOptions, PreparedTurn, ProviderOptions, RateLimitDecision, ResolvedAgent, StreamTurn, TurnStream, } from "./config.js";
|
|
11
11
|
export { CHAT_ERROR_STATUS, DEFAULT_CHAT_MESSAGES } from "./errors.js";
|
|
12
12
|
export { parseChatBody } from "./body.js";
|
|
13
13
|
export type { ChatBody, ParsedChatBody } from "./body.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,YAAY,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5E,YAAY,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,YAAY,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5E,YAAY,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAyBxC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAOvB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intelligo-dev/chat",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.15",
|
|
4
4
|
"description": "The AI-SDK-native chat transport: one Route Handler with auth, rate limits, feature gates, credits and persistence.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"intelligo",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@intelligo-dev/
|
|
43
|
-
"@intelligo-dev/
|
|
44
|
-
"@intelligo-dev/
|
|
45
|
-
"@intelligo-dev/
|
|
42
|
+
"@intelligo-dev/billing": "1.0.0-beta.15",
|
|
43
|
+
"@intelligo-dev/core": "1.0.0-beta.15",
|
|
44
|
+
"@intelligo-dev/executions": "1.0.0-beta.15",
|
|
45
|
+
"@intelligo-dev/auth": "1.0.0-beta.15"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"ai": "^7.0.0"
|
package/src/config.ts
CHANGED
|
@@ -71,14 +71,42 @@ export interface ChatTurnContext extends ChatActor {
|
|
|
71
71
|
* are replaced, other keys kept. Rejects before the row exists.
|
|
72
72
|
*/
|
|
73
73
|
updateMetadata: (patch: Record<string, unknown>) => Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Scratch space living for one turn, shared by every seam that
|
|
76
|
+
* receives the turn — `resolveAgent`, `prepareMessages`, tools,
|
|
77
|
+
* `streamTurn`, `persist`, the `onTurn` events. One `Map` per request,
|
|
78
|
+
* created before `resolveAgent` runs and dropped with the request:
|
|
79
|
+
* what one seam computes (a profile read, a retrieval result) another
|
|
80
|
+
* reads without a second query. Nothing in it is persisted.
|
|
81
|
+
*/
|
|
82
|
+
state: Map<string, unknown>;
|
|
74
83
|
/**
|
|
75
84
|
* Add the tokens a tool spent on its own model call — a search that
|
|
76
|
-
* asks a model, a sub-agent — to what this turn settles.
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
85
|
+
* asks a model, a sub-agent, an embedding — to what this turn settles.
|
|
86
|
+
*
|
|
87
|
+
* Without `model`, or with the turn's own model, the tokens are summed
|
|
88
|
+
* into the turn's execution and priced as its model. With another
|
|
89
|
+
* model they are that model's usage: summed per model (and
|
|
90
|
+
* `capability`), each total is recorded as its own execution — same
|
|
91
|
+
* workspace, user and conversation, `parentExecutionId` in its
|
|
92
|
+
* metadata — when the turn settles, or when it fails, since the
|
|
93
|
+
* tokens were spent either way. `capability` defaults to
|
|
94
|
+
* `"chat.embedding"` for a model registered with `kind: "embedding"`
|
|
95
|
+
* and to the turn's capability otherwise.
|
|
96
|
+
*
|
|
97
|
+
* Throws `UnknownModelError` at the call when `model` has no
|
|
98
|
+
* registered price, rather than bill the tokens at another model's.
|
|
99
|
+
* Usage added after the turn settles is not charged.
|
|
80
100
|
*/
|
|
81
|
-
addUsage: (usage: TokenUsage) => void;
|
|
101
|
+
addUsage: (usage: TokenUsage, options?: ChatUsageOptions) => void;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/** Where `turn.addUsage` bills the tokens it is handed. */
|
|
105
|
+
export interface ChatUsageOptions {
|
|
106
|
+
/** The registered model the tokens were spent on. Default: the turn's. */
|
|
107
|
+
model?: string;
|
|
108
|
+
/** Capability recorded on that model's execution. See `addUsage`. */
|
|
109
|
+
capability?: string;
|
|
82
110
|
}
|
|
83
111
|
|
|
84
112
|
/** The agent this turn runs as. */
|
package/src/handler.ts
CHANGED
|
@@ -60,7 +60,12 @@ import {
|
|
|
60
60
|
import type { Conversation } from "@intelligo-dev/core/conversations";
|
|
61
61
|
import { createLogger } from "@intelligo-dev/core/logger";
|
|
62
62
|
import { getStorageAdapter } from "@intelligo-dev/core/storage";
|
|
63
|
-
import {
|
|
63
|
+
import {
|
|
64
|
+
UnknownModelError,
|
|
65
|
+
getModelPricing,
|
|
66
|
+
isModelRegistered,
|
|
67
|
+
registeredModelIds,
|
|
68
|
+
} from "@intelligo-dev/executions/pricing";
|
|
64
69
|
|
|
65
70
|
import { attachmentIdFromUrl, parseChatBody } from "./body";
|
|
66
71
|
import type { ChatAttachmentPolicy } from "./body";
|
|
@@ -96,6 +101,8 @@ function errorMessage(error: unknown): string {
|
|
|
96
101
|
|
|
97
102
|
const DEFAULT_FEATURE_KEY = "chat";
|
|
98
103
|
const DEFAULT_CAPABILITY = "chat.message";
|
|
104
|
+
/** Capability of the execution recording a turn's embedding-model usage. */
|
|
105
|
+
const EMBEDDING_CAPABILITY = "chat.embedding";
|
|
99
106
|
const DEFAULT_AGENT_ID = "assistant";
|
|
100
107
|
const DEFAULT_SYSTEM_PROMPT =
|
|
101
108
|
"You are a helpful assistant embedded in a SaaS product. Be concise and direct.";
|
|
@@ -548,6 +555,13 @@ export function createChatHandler(config: ChatServerConfig): ChatHandler {
|
|
|
548
555
|
let writerSlot: UIMessageStreamWriter<ChatUIMessage> | null = null;
|
|
549
556
|
// Tokens tools spent on their own model calls, settled with the run's.
|
|
550
557
|
let nestedUsage: TokenUsage | null = null;
|
|
558
|
+
// Tokens spent on a named model, by model and capability. Which of
|
|
559
|
+
// them are the turn's own model is known only once the agent is
|
|
560
|
+
// resolved, so the split happens at settlement.
|
|
561
|
+
const namedUsage = new Map<
|
|
562
|
+
string,
|
|
563
|
+
{ model: string; capability?: string; usage: TokenUsage }
|
|
564
|
+
>();
|
|
551
565
|
|
|
552
566
|
const context: ChatTurnContext = {
|
|
553
567
|
...actor,
|
|
@@ -562,8 +576,25 @@ export function createChatHandler(config: ChatServerConfig): ChatHandler {
|
|
|
562
576
|
updateMetadata: async (patch) => {
|
|
563
577
|
await updateConversationMetadata(actor, body.id, patch);
|
|
564
578
|
},
|
|
565
|
-
|
|
566
|
-
|
|
579
|
+
state: new Map<string, unknown>(),
|
|
580
|
+
addUsage: (usage, options) => {
|
|
581
|
+
const model = options?.model;
|
|
582
|
+
if (model === undefined) {
|
|
583
|
+
nestedUsage = sumUsage(nestedUsage ?? {}, pickUsage(usage));
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
// A price is needed to bill these tokens at all; failing here
|
|
587
|
+
// names the id in the tool that spent them.
|
|
588
|
+
if (!isModelRegistered(model)) {
|
|
589
|
+
throw new UnknownModelError(model, registeredModelIds());
|
|
590
|
+
}
|
|
591
|
+
const key = `${model}\u0000${options?.capability ?? ""}`;
|
|
592
|
+
const entry = namedUsage.get(key);
|
|
593
|
+
namedUsage.set(key, {
|
|
594
|
+
model,
|
|
595
|
+
...(options?.capability ? { capability: options.capability } : {}),
|
|
596
|
+
usage: sumUsage(entry?.usage ?? {}, pickUsage(usage)),
|
|
597
|
+
});
|
|
567
598
|
},
|
|
568
599
|
};
|
|
569
600
|
|
|
@@ -797,10 +828,90 @@ export function createChatHandler(config: ChatServerConfig): ChatHandler {
|
|
|
797
828
|
}
|
|
798
829
|
| undefined;
|
|
799
830
|
|
|
831
|
+
/**
|
|
832
|
+
* Take the usage tools named a model for: the turn's own model
|
|
833
|
+
* folds into `nestedUsage`, every other model is returned for its
|
|
834
|
+
* own execution. Drains the map, so a second call finds nothing and
|
|
835
|
+
* no model's tokens are recorded twice.
|
|
836
|
+
*/
|
|
837
|
+
const takeOtherModelUsage = () => {
|
|
838
|
+
const others: Array<{
|
|
839
|
+
model: string;
|
|
840
|
+
capability: string;
|
|
841
|
+
usage: TokenUsage;
|
|
842
|
+
}> = [];
|
|
843
|
+
for (const entry of namedUsage.values()) {
|
|
844
|
+
if (entry.model === modelId) {
|
|
845
|
+
nestedUsage = sumUsage(nestedUsage ?? {}, entry.usage);
|
|
846
|
+
continue;
|
|
847
|
+
}
|
|
848
|
+
others.push({
|
|
849
|
+
model: entry.model,
|
|
850
|
+
capability:
|
|
851
|
+
entry.capability ??
|
|
852
|
+
(getModelPricing(entry.model)?.kind === "embedding"
|
|
853
|
+
? EMBEDDING_CAPABILITY
|
|
854
|
+
: capability),
|
|
855
|
+
usage: entry.usage,
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
namedUsage.clear();
|
|
859
|
+
return others;
|
|
860
|
+
};
|
|
861
|
+
|
|
862
|
+
/**
|
|
863
|
+
* Record another model's tokens as that model's execution. Begun
|
|
864
|
+
* and completed at settlement rather than when the tool reports
|
|
865
|
+
* them: `addUsage` is synchronous inside a tool, and one execution
|
|
866
|
+
* per model per turn keeps a retrieval loop of twenty embedding
|
|
867
|
+
* calls one row. The tokens are already spent, so a refusal here
|
|
868
|
+
* (the workspace ran dry mid-turn) cannot stop them; it is logged
|
|
869
|
+
* and reported as a settlement failure.
|
|
870
|
+
*/
|
|
871
|
+
const settleOtherModels = async (
|
|
872
|
+
others: ReturnType<typeof takeOtherModelUsage>,
|
|
873
|
+
aborted: boolean
|
|
874
|
+
) => {
|
|
875
|
+
for (const other of others) {
|
|
876
|
+
try {
|
|
877
|
+
const child = await config.executions.begin({
|
|
878
|
+
workspaceId: actor.workspaceId,
|
|
879
|
+
userId: actor.userId,
|
|
880
|
+
capability: other.capability,
|
|
881
|
+
model: other.model,
|
|
882
|
+
metadata: {
|
|
883
|
+
...metadata,
|
|
884
|
+
parentExecutionId: run.id,
|
|
885
|
+
parentRequestId: run.requestId,
|
|
886
|
+
},
|
|
887
|
+
});
|
|
888
|
+
if (!child.allowed) {
|
|
889
|
+
throw new Error(
|
|
890
|
+
`Usage on ${other.model} was refused: ${child.reason ?? child.code ?? "refused"}`
|
|
891
|
+
);
|
|
892
|
+
}
|
|
893
|
+
await child.complete({
|
|
894
|
+
usage: other.usage,
|
|
895
|
+
model: other.model,
|
|
896
|
+
metadata: { ...metadata, aborted },
|
|
897
|
+
});
|
|
898
|
+
} catch (error) {
|
|
899
|
+
log.error("Nested model settlement failed", {
|
|
900
|
+
conversationId: body.id,
|
|
901
|
+
executionId: run.id,
|
|
902
|
+
modelId: other.model,
|
|
903
|
+
error: errorMessage(error),
|
|
904
|
+
});
|
|
905
|
+
await emit(() => events.fail?.({ turn, error, phase: "settlement" }));
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
};
|
|
909
|
+
|
|
800
910
|
const settle = async (
|
|
801
911
|
usage: TokenUsage,
|
|
802
912
|
detail: { aborted: boolean } & Record<string, unknown>
|
|
803
913
|
) => {
|
|
914
|
+
const others = takeOtherModelUsage();
|
|
804
915
|
const whole = nestedUsage ? sumUsage(usage, nestedUsage) : usage;
|
|
805
916
|
const normalized = config.normalizeUsage
|
|
806
917
|
? config.normalizeUsage(whole)
|
|
@@ -824,8 +935,10 @@ export function createChatHandler(config: ChatServerConfig): ChatHandler {
|
|
|
824
935
|
error: errorMessage(error),
|
|
825
936
|
});
|
|
826
937
|
await emit(() => events.fail?.({ turn, error, phase: "settlement" }));
|
|
938
|
+
await settleOtherModels(others, detail.aborted);
|
|
827
939
|
return;
|
|
828
940
|
}
|
|
941
|
+
await settleOtherModels(others, detail.aborted);
|
|
829
942
|
await emit(() =>
|
|
830
943
|
events.complete?.({
|
|
831
944
|
turn,
|
|
@@ -1018,6 +1131,7 @@ export function createChatHandler(config: ChatServerConfig): ChatHandler {
|
|
|
1018
1131
|
// abandons it if neither does.
|
|
1019
1132
|
if (!captured && !request.signal.aborted) {
|
|
1020
1133
|
void run.fail({ error: new Error("stream ended without usage") });
|
|
1134
|
+
void settleOtherModels(takeOtherModelUsage(), false);
|
|
1021
1135
|
}
|
|
1022
1136
|
|
|
1023
1137
|
if (config.persist === false) return;
|
|
@@ -1064,6 +1178,9 @@ export function createChatHandler(config: ChatServerConfig): ChatHandler {
|
|
|
1064
1178
|
// does not await this callback, so nothing here is.
|
|
1065
1179
|
writerSlot = null;
|
|
1066
1180
|
void run.fail({ error });
|
|
1181
|
+
// Another model's tokens were spent whether or not the turn
|
|
1182
|
+
// finished; they are that model's execution, not this one's.
|
|
1183
|
+
void settleOtherModels(takeOtherModelUsage(), false);
|
|
1067
1184
|
void emit(() => events.fail?.({ turn, error, phase: "stream" }));
|
|
1068
1185
|
return t("streamError");
|
|
1069
1186
|
},
|