@flamingo-stack/openframe-frontend-core 0.0.532 → 0.0.533
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat-protocol/confirm-tool.d.ts +50 -0
- package/dist/chat-protocol/confirm-tool.d.ts.map +1 -0
- package/dist/chat-protocol/decode.d.ts +1 -9
- package/dist/chat-protocol/decode.d.ts.map +1 -1
- package/dist/chat-protocol/events.d.ts +35 -0
- package/dist/chat-protocol/events.d.ts.map +1 -1
- package/dist/chat-protocol/index.cjs +72 -3
- package/dist/chat-protocol/index.cjs.map +1 -1
- package/dist/chat-protocol/index.d.ts +1 -0
- package/dist/chat-protocol/index.d.ts.map +1 -1
- package/dist/chat-protocol/index.js +67 -4
- package/dist/chat-protocol/index.js.map +1 -1
- package/dist/chat-protocol/leading-frames.d.ts +38 -0
- package/dist/chat-protocol/leading-frames.d.ts.map +1 -0
- package/dist/chat-protocol/nats-decoder.d.ts +41 -0
- package/dist/chat-protocol/nats-decoder.d.ts.map +1 -1
- package/dist/{chunk-QEMI34VA.cjs → chunk-2MYDGLJS.cjs} +87 -87
- package/dist/{chunk-QEMI34VA.cjs.map → chunk-2MYDGLJS.cjs.map} +1 -1
- package/dist/{chunk-TQ7EPKKO.js → chunk-2TUOBFPK.js} +2 -2
- package/dist/{chunk-XBYEPSNZ.js → chunk-2XGHEJZK.js} +4 -4
- package/dist/{chunk-OAEJWP7H.js → chunk-46FKXLNE.js} +2 -2
- package/dist/{chunk-ECR37JHH.js → chunk-4QKXNWH5.js} +2 -2
- package/dist/{chunk-GWFC3NE5.cjs → chunk-4ZRHVOEB.cjs} +31 -31
- package/dist/{chunk-GWFC3NE5.cjs.map → chunk-4ZRHVOEB.cjs.map} +1 -1
- package/dist/{chunk-AZBS4PZG.js → chunk-5U67WTAS.js} +2 -2
- package/dist/{chunk-3G7FDE5E.js → chunk-6SMLYZLH.js} +4 -4
- package/dist/{chunk-7SGBF2I2.js → chunk-6W3ULZ4X.js} +6 -6
- package/dist/{chunk-ALXLWF75.js → chunk-6YXN5RHW.js} +2 -2
- package/dist/{chunk-2QP67D2L.cjs → chunk-DFQLUK75.cjs} +3 -3
- package/dist/{chunk-2QP67D2L.cjs.map → chunk-DFQLUK75.cjs.map} +1 -1
- package/dist/{chunk-ETF2QXXU.cjs → chunk-ENPGPZIB.cjs} +61 -61
- package/dist/{chunk-ETF2QXXU.cjs.map → chunk-ENPGPZIB.cjs.map} +1 -1
- package/dist/{chunk-HJDCDOJM.cjs → chunk-GNOK5J34.cjs} +37 -37
- package/dist/{chunk-HJDCDOJM.cjs.map → chunk-GNOK5J34.cjs.map} +1 -1
- package/dist/{chunk-4GL2XJ5C.cjs → chunk-J4BE4FIR.cjs} +4 -4
- package/dist/{chunk-4GL2XJ5C.cjs.map → chunk-J4BE4FIR.cjs.map} +1 -1
- package/dist/{chunk-HXHA3DCI.cjs → chunk-JDW2IL7A.cjs} +11 -11
- package/dist/{chunk-HXHA3DCI.cjs.map → chunk-JDW2IL7A.cjs.map} +1 -1
- package/dist/{chunk-TMZS63G2.cjs → chunk-KMB66NYX.cjs} +7 -7
- package/dist/{chunk-TMZS63G2.cjs.map → chunk-KMB66NYX.cjs.map} +1 -1
- package/dist/{chunk-5W3RCZIK.js → chunk-LE3BJ5H2.js} +2 -2
- package/dist/{chunk-WINT757E.js → chunk-LIUARTOZ.js} +206 -64
- package/dist/chunk-LIUARTOZ.js.map +1 -0
- package/dist/{chunk-65NR333L.js → chunk-MVGL5NNJ.js} +2 -2
- package/dist/{chunk-LYWSHNK4.cjs → chunk-NAV4FRNL.cjs} +26 -26
- package/dist/{chunk-LYWSHNK4.cjs.map → chunk-NAV4FRNL.cjs.map} +1 -1
- package/dist/{chunk-2MBS3YEY.cjs → chunk-OLOKQQAP.cjs} +5 -5
- package/dist/{chunk-2MBS3YEY.cjs.map → chunk-OLOKQQAP.cjs.map} +1 -1
- package/dist/{chunk-QYNLVIGQ.cjs → chunk-QZ2NAPLF.cjs} +9 -9
- package/dist/{chunk-QYNLVIGQ.cjs.map → chunk-QZ2NAPLF.cjs.map} +1 -1
- package/dist/{chunk-L6EKEYF7.cjs → chunk-RKITTO5V.cjs} +14 -14
- package/dist/{chunk-L6EKEYF7.cjs.map → chunk-RKITTO5V.cjs.map} +1 -1
- package/dist/{chunk-UP4RA54U.js → chunk-U555TMPC.js} +5 -5
- package/dist/{chunk-GVLA2BPW.cjs → chunk-UPHN2VRZ.cjs} +259 -117
- package/dist/chunk-UPHN2VRZ.cjs.map +1 -0
- package/dist/{chunk-IZOGFZ7N.js → chunk-XN4JKIJY.js} +2 -2
- package/dist/{chunk-KYQZBQYV.js → chunk-YLB6XXO6.js} +2 -2
- package/dist/{chunk-JZ5XDZYD.cjs → chunk-Z3NOI7X7.cjs} +26 -26
- package/dist/{chunk-JZ5XDZYD.cjs.map → chunk-Z3NOI7X7.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/embeddable-chat.d.ts +13 -0
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +10 -2
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.js +9 -1
- package/dist/components/chat/stream/chat-stream-reducer.d.ts +9 -0
- package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -1
- package/dist/components/chat/types/message.types.d.ts +15 -0
- package/dist/components/chat/types/message.types.d.ts.map +1 -1
- package/dist/components/chat/types/network.types.d.ts +4 -0
- package/dist/components/chat/types/network.types.d.ts.map +1 -1
- package/dist/components/chat/types/processing.types.d.ts +7 -1
- package/dist/components/chat/types/processing.types.d.ts.map +1 -1
- package/dist/components/chat/utils/approval-display.d.ts +49 -0
- package/dist/components/chat/utils/approval-display.d.ts.map +1 -0
- package/dist/components/chat/utils/index.d.ts +1 -0
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/message-segment-accumulator.d.ts +25 -3
- package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +22 -22
- package/dist/components/help-center-pages/index.js +13 -13
- package/dist/components/index.cjs +140 -132
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +19 -11
- package/dist/components/index.js.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +34 -34
- package/dist/components/meeting-scheduler/index.js +3 -3
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +6 -6
- package/dist/components/tickets/index.js +5 -5
- package/dist/components/ui/index.cjs +10 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +9 -1
- package/dist/index.cjs +10 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +9 -1
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/chat-protocol/__tests__/__snapshots__/nats-decoder-golden.test.ts.snap +70 -0
- package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +108 -1
- package/src/chat-protocol/confirm-tool.ts +67 -0
- package/src/chat-protocol/decode.ts +7 -153
- package/src/chat-protocol/events.ts +40 -0
- package/src/chat-protocol/index.ts +3 -0
- package/src/chat-protocol/leading-frames.ts +175 -0
- package/src/chat-protocol/nats-decoder.ts +111 -3
- package/src/components/chat/embeddable-chat.tsx +18 -0
- package/src/components/chat/hooks/use-sse-chat-adapter.ts +7 -16
- package/src/components/chat/stream/chat-stream-reducer.ts +49 -3
- package/src/components/chat/types/message.types.ts +15 -0
- package/src/components/chat/types/network.types.ts +4 -0
- package/src/components/chat/types/processing.types.ts +12 -1
- package/src/components/chat/utils/__tests__/process-historical-messages-approvals.test.ts +92 -0
- package/src/components/chat/utils/approval-display.ts +70 -0
- package/src/components/chat/utils/index.ts +9 -0
- package/src/components/chat/utils/message-segment-accumulator.ts +62 -32
- package/src/components/chat/utils/process-historical-messages.ts +40 -6
- package/dist/chunk-GVLA2BPW.cjs.map +0 -1
- package/dist/chunk-WINT757E.js.map +0 -1
- /package/dist/{chunk-TQ7EPKKO.js.map → chunk-2TUOBFPK.js.map} +0 -0
- /package/dist/{chunk-XBYEPSNZ.js.map → chunk-2XGHEJZK.js.map} +0 -0
- /package/dist/{chunk-OAEJWP7H.js.map → chunk-46FKXLNE.js.map} +0 -0
- /package/dist/{chunk-ECR37JHH.js.map → chunk-4QKXNWH5.js.map} +0 -0
- /package/dist/{chunk-AZBS4PZG.js.map → chunk-5U67WTAS.js.map} +0 -0
- /package/dist/{chunk-3G7FDE5E.js.map → chunk-6SMLYZLH.js.map} +0 -0
- /package/dist/{chunk-7SGBF2I2.js.map → chunk-6W3ULZ4X.js.map} +0 -0
- /package/dist/{chunk-ALXLWF75.js.map → chunk-6YXN5RHW.js.map} +0 -0
- /package/dist/{chunk-5W3RCZIK.js.map → chunk-LE3BJ5H2.js.map} +0 -0
- /package/dist/{chunk-65NR333L.js.map → chunk-MVGL5NNJ.js.map} +0 -0
- /package/dist/{chunk-UP4RA54U.js.map → chunk-U555TMPC.js.map} +0 -0
- /package/dist/{chunk-IZOGFZ7N.js.map → chunk-XN4JKIJY.js.map} +0 -0
- /package/dist/{chunk-KYQZBQYV.js.map → chunk-YLB6XXO6.js.map} +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hub's confirm-tool contract — request shape and error envelope.
|
|
3
|
+
*
|
|
4
|
+
* Resolving a Product Guide proposal is a POST to `endpoints.approvalToolUrl`
|
|
5
|
+
* whose response is an ordinary guide stream (a `decision_resolved` frame, then
|
|
6
|
+
* the hub's auto-continuation). Two callers make that call today: the SSE chat
|
|
7
|
+
* adapter, and any host replaying the same route into a different transport's
|
|
8
|
+
* conversation (the product app resolves guide cards inside a NATS Mingo
|
|
9
|
+
* dialog). They MUST send byte-identical bodies — a proposal is single-use, so a
|
|
10
|
+
* caller that drifts on a field name does not degrade, it fails the write — and
|
|
11
|
+
* they must surface the same server copy, because the hub's errors are written
|
|
12
|
+
* for the end user ("This approval expired — ask again to get a fresh one").
|
|
13
|
+
*
|
|
14
|
+
* Hence both live here rather than at either call site.
|
|
15
|
+
*
|
|
16
|
+
* Server-safe: no React, no browser APIs.
|
|
17
|
+
*/
|
|
18
|
+
/** What the user did with the card. */
|
|
19
|
+
export type ApprovalToolAction = 'approve' | 'reject';
|
|
20
|
+
/** Client-side shape of a confirm; `buildConfirmToolBody` renames it to the
|
|
21
|
+
* wire's own casing so no caller hand-writes `proposal_id`. */
|
|
22
|
+
export interface ConfirmToolRequest {
|
|
23
|
+
/** The hub-minted proposal id carried by the card. */
|
|
24
|
+
proposalId: string;
|
|
25
|
+
action: ApprovalToolAction;
|
|
26
|
+
/**
|
|
27
|
+
* The hub's conversation id, quoted back verbatim. The hub rejects a confirm
|
|
28
|
+
* without it: a proposal only means something inside the conversation that
|
|
29
|
+
* minted it.
|
|
30
|
+
*/
|
|
31
|
+
conversationId: string | null | undefined;
|
|
32
|
+
}
|
|
33
|
+
/** Build the confirm-tool request body. The ONE place that knows the wire
|
|
34
|
+
* spells the id `proposal_id` while everything else is camelCase. */
|
|
35
|
+
export declare function buildConfirmToolBody(request: ConfirmToolRequest): Record<string, unknown>;
|
|
36
|
+
/**
|
|
37
|
+
* Pull the user-facing copy out of a failed chat/confirm response.
|
|
38
|
+
*
|
|
39
|
+
* The route-base envelope is `{error, code}`; `error` is written for the end
|
|
40
|
+
* user, so it beats any status-code copy the client could invent. Returns null
|
|
41
|
+
* when the body is not that envelope (HTML error page, empty body, gateway
|
|
42
|
+
* response) — the caller then supplies its own generic line.
|
|
43
|
+
*
|
|
44
|
+
* Consumes the body: call it once, on a response you have already decided is a
|
|
45
|
+
* failure.
|
|
46
|
+
*/
|
|
47
|
+
export declare function readServerErrorMessage(response: {
|
|
48
|
+
json: () => Promise<unknown>;
|
|
49
|
+
}): Promise<string | null>;
|
|
50
|
+
//# sourceMappingURL=confirm-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-tool.d.ts","sourceRoot":"","sources":["../../src/chat-protocol/confirm-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,uCAAuC;AACvC,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,CAAA;AAErD;gEACgE;AAChE,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,kBAAkB,CAAA;IAC1B;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAC1C;AAED;sEACsE;AACtE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE;IACrD,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAC7B,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQzB"}
|
|
@@ -45,14 +45,6 @@ export interface SseFrameDecoder {
|
|
|
45
45
|
*/
|
|
46
46
|
end(): ChatStreamEvent[];
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
* Escape `<` so markdown renderers that pass HTML through (rehypeRaw)
|
|
50
|
-
* don't treat XML-like tokens in Claude's thinking output as elements.
|
|
51
|
-
* `<` → `<` preserves the visible character without breaking
|
|
52
|
-
* blockquote `>` markers. Per-character, so it distributes over
|
|
53
|
-
* concatenation: escape(a + b) === escape(a) + escape(b) — callers may
|
|
54
|
-
* apply it per-delta or on the accumulated string interchangeably.
|
|
55
|
-
*/
|
|
56
|
-
export declare function escapeThinkingTags(text: string): string;
|
|
48
|
+
export { escapeThinkingTags } from './leading-frames';
|
|
57
49
|
export declare function createSseFrameDecoder(): SseFrameDecoder;
|
|
58
50
|
//# sourceMappingURL=decode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/chat-protocol/decode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/chat-protocol/decode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK/C,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,EAAE,CAAA;IAC1C;;;;;;OAMG;IACH,GAAG,IAAI,eAAe,EAAE,CAAA;CACzB;AAKD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,wBAAgB,qBAAqB,IAAI,eAAe,CAmHvD"}
|
|
@@ -116,7 +116,33 @@ export interface ApprovalRequestEvent extends ChatStreamEventBase {
|
|
|
116
116
|
fields?: ApprovalRequestField[];
|
|
117
117
|
toolCalls?: ApprovalToolCall[];
|
|
118
118
|
status?: 'pending';
|
|
119
|
+
/** Set when the card came from a Product Guide frame — see {@link GuideOrigin}. */
|
|
120
|
+
origin?: GuideOrigin;
|
|
119
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Marks an event whose payload is a Product Guide frame, whatever transport
|
|
124
|
+
* carried it. It exists because ONE stream can now mix both worlds: the agent
|
|
125
|
+
* re-streams the hub's frames into a NATS dialog, so a card typed the hub's way
|
|
126
|
+
* (`approvalType` = the tool name, resolved through the hub's confirm route)
|
|
127
|
+
* travels beside cards typed the agent's way (`approvalType` = an approval TIER
|
|
128
|
+
* routed to human escalation).
|
|
129
|
+
*
|
|
130
|
+
* Consumers read it to keep the guide half behaving exactly as it does in the
|
|
131
|
+
* hub's own chat — NOT to give it special treatment. Without it the NATS kernel
|
|
132
|
+
* would have to guess from `approvalType`, and every tool the hub adds would
|
|
133
|
+
* silently fall into the escalation path.
|
|
134
|
+
*/
|
|
135
|
+
export type GuideOrigin = 'guide';
|
|
136
|
+
/** The only value of {@link GuideOrigin}. Lives beside the type, and beside the
|
|
137
|
+
* predicate below, because both decoders and every consumer that branches on
|
|
138
|
+
* provenance must compare against the same token — a bare `'guide'` literal
|
|
139
|
+
* typo silently disables the branch instead of failing to compile. */
|
|
140
|
+
export declare const GUIDE_ORIGIN: GuideOrigin;
|
|
141
|
+
/** True for anything stamped as coming from the Product Guide — a stream event
|
|
142
|
+
* or the `data` of a segment built from one. */
|
|
143
|
+
export declare function isGuideOrigin(source: {
|
|
144
|
+
origin?: GuideOrigin | string;
|
|
145
|
+
} | null | undefined): boolean;
|
|
120
146
|
/** An approval request was resolved (SSE `decision_resolved` frame /
|
|
121
147
|
* NATS APPROVAL_RESULT chunk). */
|
|
122
148
|
export interface ApprovalResolvedEvent extends ChatStreamEventBase {
|
|
@@ -135,6 +161,8 @@ export interface ApprovalResolvedEvent extends ChatStreamEventBase {
|
|
|
135
161
|
marker?: string;
|
|
136
162
|
result?: DecisionResolvedFrame['result'];
|
|
137
163
|
willAutoContinue?: boolean;
|
|
164
|
+
/** Set when the resolution came from a Product Guide frame — see {@link GuideOrigin}. */
|
|
165
|
+
origin?: GuideOrigin;
|
|
138
166
|
}
|
|
139
167
|
/** The client is offered a handoff of this ticket to a human technician
|
|
140
168
|
* (NATS `ESCALATION_OFFER` chunk in state PENDING). Distinct from
|
|
@@ -203,6 +231,13 @@ export interface ChatMetadataEvent extends ChatStreamEventBase {
|
|
|
203
231
|
routedModel?: string;
|
|
204
232
|
routedThinkingBudget: number | null;
|
|
205
233
|
};
|
|
234
|
+
/**
|
|
235
|
+
* Set when the metadata came from a Product Guide frame — see
|
|
236
|
+
* {@link GuideOrigin}. Such an event carries ONLY `conversationId`: it exists
|
|
237
|
+
* to record the hub's conversation id (every confirm-tool call must quote it
|
|
238
|
+
* back), NOT to describe the dialog's model, which stays the agent's.
|
|
239
|
+
*/
|
|
240
|
+
origin?: GuideOrigin;
|
|
206
241
|
}
|
|
207
242
|
/** SSE usage frames — raw wire keys (snake_case) preserved. */
|
|
208
243
|
export interface UsageEvent extends ChatStreamEventBase {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/chat-protocol/events.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/chat-protocol/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACf,MAAM,UAAU,CAAA;AAKjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAE3E;sEACsE;AACtE,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;;iDAMiD;AACjD,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD,IAAI,EAAE,UAAU,CAAA;CACjB;AAED;oEACoE;AACpE,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;iEACiE;AACjE,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,IAAI,EAAE,gBAAgB,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;iDAMiD;AACjD,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;0BAM0B;AAC1B,MAAM,WAAW,QAAS,SAAQ,mBAAmB;IACnD,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,aAAa,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,WAAY,SAAQ,mBAAmB;IACtD,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,IAAI,EAAE,gBAAgB,CAAA;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAA;QACxC,kBAAkB,EAAE,MAAM,CAAA;QAC1B,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB;;;;;;;WAOG;QACH,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACpC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAChC,CAAA;CACF;AAED,+DAA+D;AAC/D,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACnD;AAED;;gCAEgC;AAChC,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,IAAI,EAAE,kBAAkB,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC/B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAA;AAEjC;;;uEAGuE;AACvE,eAAO,MAAM,YAAY,EAAE,WAAqB,CAAA;AAEhD;iDACiD;AACjD,wBAAgB,aAAa,CAC3B,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAC3D,OAAO,CAET;AAED;mCACmC;AACnC,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,IAAI,EAAE,mBAAmB,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAA;IAC/B,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;8CAC0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,yFAAyF;IACzF,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;;;2EAK2E;AAC3E,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,sDAAsD;AACtD,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAA;AAEV;;uEAEuE;AACvE,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,GACb,4BAA4B,CAAC,QAAQ,CAAC,GAAG,IAAI,CAW/C;AAED;;;0EAG0E;AAC1E,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,IAAI,EAAE,2BAA2B,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAA;IAC7C,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED;;;;qBAIqB;AACrB,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;oEAEoE;AACpE,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;4DAEwD;IACxD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,EAAE;QACR,gBAAgB,EAAE,MAAM,CAAA;QACxB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KACpC,CAAA;IACD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,+DAA+D;AAC/D,MAAM,WAAW,UAAW,SAAQ,mBAAmB;IACrD,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,OAAO,GAAG,KAAK,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B;;;;yBAIqB;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,IAAI,EAAE,aAAa,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,OAAO,GAAG,KAAK,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UAAW,SAAQ,mBAAmB;IACrD,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;YAEY;AACZ;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAE9D,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,UAAU,CAAA;AAEvC,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,QAAQ,CAAA;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClE;AAED,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,IAAI,EAAE,eAAe,CAAA;CACtB;AAED,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,YAAY,GACZ,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,QAAQ,GACR,WAAW,GACX,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,oBAAoB,GACpB,4BAA4B,GAC5B,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,eAAe,GACf,UAAU,GACV,gBAAgB,GAChB,iBAAiB,CAAA"}
|
|
@@ -6,6 +6,10 @@ var END_OF_LEADING = "";
|
|
|
6
6
|
var TRAILER_SENTINEL = "";
|
|
7
7
|
|
|
8
8
|
// src/chat-protocol/events.ts
|
|
9
|
+
var GUIDE_ORIGIN = "guide";
|
|
10
|
+
function isGuideOrigin(source) {
|
|
11
|
+
return source?.origin === GUIDE_ORIGIN;
|
|
12
|
+
}
|
|
9
13
|
var ESCALATION_STATE = {
|
|
10
14
|
PENDING: "PENDING",
|
|
11
15
|
APPROVED: "APPROVED",
|
|
@@ -45,7 +49,7 @@ function encodeTrailingUsageFrame(frame) {
|
|
|
45
49
|
return encoder.encode(TRAILER_SENTINEL + JSON.stringify(frame));
|
|
46
50
|
}
|
|
47
51
|
|
|
48
|
-
// src/chat-protocol/
|
|
52
|
+
// src/chat-protocol/leading-frames.ts
|
|
49
53
|
function escapeThinkingTags(text) {
|
|
50
54
|
return text.replace(/</g, "<");
|
|
51
55
|
}
|
|
@@ -152,6 +156,8 @@ function mapLeadingFrame(meta, out) {
|
|
|
152
156
|
});
|
|
153
157
|
}
|
|
154
158
|
}
|
|
159
|
+
|
|
160
|
+
// src/chat-protocol/decode.ts
|
|
155
161
|
function createSseFrameDecoder() {
|
|
156
162
|
const textDecoder = new TextDecoder();
|
|
157
163
|
let buffer = "";
|
|
@@ -299,6 +305,37 @@ function normalizeAskOptions(raw) {
|
|
|
299
305
|
description: typeof item.description === "string" ? item.description : void 0
|
|
300
306
|
})).filter((option) => option.label.length > 0);
|
|
301
307
|
}
|
|
308
|
+
var AGENT_OWNED_EVENTS = /* @__PURE__ */ new Set([
|
|
309
|
+
"usage",
|
|
310
|
+
"token-usage",
|
|
311
|
+
"status",
|
|
312
|
+
"compaction",
|
|
313
|
+
"participant",
|
|
314
|
+
"dialog-closed"
|
|
315
|
+
]);
|
|
316
|
+
var ORIGIN_BEARING_EVENTS = /* @__PURE__ */ new Set([
|
|
317
|
+
"approval-request",
|
|
318
|
+
"approval-resolved"
|
|
319
|
+
]);
|
|
320
|
+
function guideEventForNats(event) {
|
|
321
|
+
switch (event.type) {
|
|
322
|
+
case "text-delta":
|
|
323
|
+
return { type: "guide-delta", text: event.text };
|
|
324
|
+
case "thinking-delta":
|
|
325
|
+
return { type: "thinking-delta", text: escapeThinkingTags(event.text) };
|
|
326
|
+
case "metadata":
|
|
327
|
+
return typeof event.conversationId === "string" && event.conversationId ? { type: "metadata", conversationId: event.conversationId, origin: GUIDE_ORIGIN } : null;
|
|
328
|
+
default:
|
|
329
|
+
if (AGENT_OWNED_EVENTS.has(event.type)) return null;
|
|
330
|
+
return ORIGIN_BEARING_EVENTS.has(event.type) ? { ...event, origin: GUIDE_ORIGIN } : event;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
function guideFrameEvent(frame) {
|
|
334
|
+
const events = [];
|
|
335
|
+
mapLeadingFrame(frame, events);
|
|
336
|
+
const event = events[0];
|
|
337
|
+
return event ? guideEventForNats(event) : null;
|
|
338
|
+
}
|
|
302
339
|
function decodeNatsChunk(chunk) {
|
|
303
340
|
if (!chunk || typeof chunk !== "object") return null;
|
|
304
341
|
const data = chunk;
|
|
@@ -333,11 +370,20 @@ function decodeNatsChunk(chunk) {
|
|
|
333
370
|
return { type: "thinking-delta", text: data.text, ...seq };
|
|
334
371
|
}
|
|
335
372
|
return null;
|
|
336
|
-
|
|
373
|
+
// Two shapes share this chunk type. `text` is the answer body the agent
|
|
374
|
+
// streams (and persists). `payload` is a Product Guide frame re-streamed
|
|
375
|
+
// verbatim from the hub — decoded through the shared frame table, with the
|
|
376
|
+
// narrowing `guideFrameEvent` documents.
|
|
377
|
+
case MESSAGE_TYPE.GUIDE: {
|
|
337
378
|
if (typeof data.text === "string") {
|
|
338
379
|
return { type: "guide-delta", text: data.text, ...seq };
|
|
339
380
|
}
|
|
340
|
-
|
|
381
|
+
const frame = data.payload;
|
|
382
|
+
if (!frame || typeof frame !== "object" || Array.isArray(frame)) return null;
|
|
383
|
+
const event = guideFrameEvent(frame);
|
|
384
|
+
if (!event) return null;
|
|
385
|
+
return { ...event, ...seq };
|
|
386
|
+
}
|
|
341
387
|
// An ask card is only an ask card with something to pick: a question and at
|
|
342
388
|
// least one option. Anything less is dropped rather than rendered as an
|
|
343
389
|
// empty card the user can't answer — the backend already falls back to a
|
|
@@ -517,6 +563,23 @@ function decodeNatsChunk(chunk) {
|
|
|
517
563
|
}
|
|
518
564
|
}
|
|
519
565
|
|
|
566
|
+
// src/chat-protocol/confirm-tool.ts
|
|
567
|
+
function buildConfirmToolBody(request) {
|
|
568
|
+
return {
|
|
569
|
+
proposal_id: request.proposalId,
|
|
570
|
+
action: request.action,
|
|
571
|
+
conversationId: request.conversationId
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
async function readServerErrorMessage(response) {
|
|
575
|
+
try {
|
|
576
|
+
const body = await response.json();
|
|
577
|
+
if (typeof body?.error === "string" && body.error.length > 0) return body.error;
|
|
578
|
+
} catch {
|
|
579
|
+
}
|
|
580
|
+
return null;
|
|
581
|
+
}
|
|
582
|
+
|
|
520
583
|
// src/chat-protocol/ip-normalize.ts
|
|
521
584
|
var IP_BUCKET_KEY_MAX_LENGTH = 64;
|
|
522
585
|
function isIpv4(value) {
|
|
@@ -594,8 +657,10 @@ exports.CHAT_OWNER_ADMIN = CHAT_OWNER_ADMIN;
|
|
|
594
657
|
exports.END_OF_LEADING = END_OF_LEADING;
|
|
595
658
|
exports.ESCALATION_STATE = ESCALATION_STATE;
|
|
596
659
|
exports.FRAME_TERMINATOR = FRAME_TERMINATOR;
|
|
660
|
+
exports.GUIDE_ORIGIN = GUIDE_ORIGIN;
|
|
597
661
|
exports.IP_BUCKET_KEY_MAX_LENGTH = IP_BUCKET_KEY_MAX_LENGTH;
|
|
598
662
|
exports.TRAILER_SENTINEL = TRAILER_SENTINEL;
|
|
663
|
+
exports.buildConfirmToolBody = buildConfirmToolBody;
|
|
599
664
|
exports.createSseFrameDecoder = createSseFrameDecoder;
|
|
600
665
|
exports.decodeNatsChunk = decodeNatsChunk;
|
|
601
666
|
exports.encodeEndOfLeading = encodeEndOfLeading;
|
|
@@ -605,8 +670,12 @@ exports.encodeTrailingUsageFrame = encodeTrailingUsageFrame;
|
|
|
605
670
|
exports.envFlagEnabled = envFlagEnabled;
|
|
606
671
|
exports.escalationResolvedStatus = escalationResolvedStatus;
|
|
607
672
|
exports.escapeThinkingTags = escapeThinkingTags;
|
|
673
|
+
exports.guideEventForNats = guideEventForNats;
|
|
674
|
+
exports.guideFrameEvent = guideFrameEvent;
|
|
675
|
+
exports.isGuideOrigin = isGuideOrigin;
|
|
608
676
|
exports.normalizeAskOptions = normalizeAskOptions;
|
|
609
677
|
exports.normalizeIpForBucketKey = normalizeIpForBucketKey;
|
|
678
|
+
exports.readServerErrorMessage = readServerErrorMessage;
|
|
610
679
|
exports.stripSentinelBytes = stripSentinelBytes;
|
|
611
680
|
//# sourceMappingURL=index.cjs.map
|
|
612
681
|
//# sourceMappingURL=index.cjs.map
|