@relaymessenger/sdk 0.5.3-staging.0 → 0.5.4-staging.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/card-blocks.d.ts +26 -0
- package/dist/card-blocks.d.ts.map +1 -0
- package/dist/card-blocks.js +100 -0
- package/dist/card-blocks.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/links.d.ts +3 -1
- package/dist/links.d.ts.map +1 -1
- package/dist/links.js +26 -1
- package/dist/links.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { CarouselPart, PlacePart, RichCardPart } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* How a text-only agent sends a card, a carousel or a place: a fenced block,
|
|
4
|
+
* as it sends buttons, a selection or a form. Relay checks every field when
|
|
5
|
+
* the Message is sent; this reads only the shape, so a block that is not a
|
|
6
|
+
* card stays in the words instead of failing the send.
|
|
7
|
+
*/
|
|
8
|
+
export declare const CARD_BLOCK_INSTRUCTION: string;
|
|
9
|
+
export declare const CARD_GUIDANCE: string;
|
|
10
|
+
export declare const PLACE_BLOCK_INSTRUCTION: string;
|
|
11
|
+
export interface SplitCardBlocks {
|
|
12
|
+
/** The answer without the lifted blocks. */
|
|
13
|
+
text: string;
|
|
14
|
+
card?: RichCardPart | CarouselPart;
|
|
15
|
+
place?: PlacePart;
|
|
16
|
+
/** Why the blocks could not be used. The text then keeps them. */
|
|
17
|
+
error?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Lifts at most one `rich_card` or `carousel` block and at most one `place`
|
|
21
|
+
* block out of an answer. A card beside a selection, form, payment or rating
|
|
22
|
+
* request block, or a block that is not one, leaves the answer as it was,
|
|
23
|
+
* with an error.
|
|
24
|
+
*/
|
|
25
|
+
export declare const splitCardBlocks: (answer: string) => SplitCardBlocks;
|
|
26
|
+
//# sourceMappingURL=card-blocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-blocks.d.ts","sourceRoot":"","sources":["../src/card-blocks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAKoF,CAAC;AAExH,eAAO,MAAM,aAAa,QAOS,CAAC;AAEpC,eAAO,MAAM,uBAAuB,QAGiF,CAAC;AAKtH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6CD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,eAsBhD,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { CAROUSEL_MAX_CARDS, CAROUSEL_MIN_CARDS, RICH_CARD_MAX_SUGGESTIONS } from "./rich-cards.js";
|
|
2
|
+
/**
|
|
3
|
+
* How a text-only agent sends a card, a carousel or a place: a fenced block,
|
|
4
|
+
* as it sends buttons, a selection or a form. Relay checks every field when
|
|
5
|
+
* the Message is sent; this reads only the shape, so a block that is not a
|
|
6
|
+
* card stays in the words instead of failing the send.
|
|
7
|
+
*/
|
|
8
|
+
export const CARD_BLOCK_INSTRUCTION = "To send a card, end your answer with a fenced code block tagged `rich_card` containing "
|
|
9
|
+
+ '{"title":"Lagoon House","description":"Two nights, sea view","media":{"type":"image","url":"https://..."},'
|
|
10
|
+
+ '"suggestions":[{"type":"reply","label":"Book","id":"book_lagoon"},{"type":"open_url","label":"Details","url":"https://..."}]}. '
|
|
11
|
+
+ "For 2 to 10 cards the person swipes sideways, use a block tagged `carousel` containing "
|
|
12
|
+
+ '{"cards":[{"title":"..."},{"title":"..."}]}. Words outside the block are sent as a normal message above the card.';
|
|
13
|
+
export const CARD_GUIDANCE = "A card has at least one of media (an https image or video), title (1 to 200 characters) or description (1 to 2000), "
|
|
14
|
+
+ "and up to 4 suggestions, each with a label of 1 to 25 characters. A reply suggestion needs an id (1 to 256 characters, "
|
|
15
|
+
+ "unique in the Message, across all cards of a carousel); a tap comes back as the person's text (the label) with "
|
|
16
|
+
+ "suggestion_response.id, so dispatch on the id, never the label. open_url, dial (phone_number in E.164), view_location "
|
|
17
|
+
+ "(latitude and longitude, or query), share_location and create_calendar_event (start_time, end_time, title) act on the "
|
|
18
|
+
+ "person's phone and send nothing back. Send one card or one carousel per answer, never with a selection, form or payment; "
|
|
19
|
+
+ "buttons may sit under a card.";
|
|
20
|
+
export const PLACE_BLOCK_INSTRUCTION = "To send a place on a map, add a fenced code block tagged `place` containing "
|
|
21
|
+
+ '{"latitude":37.4422,"longitude":-122.1615,"name":"Philz Coffee","address":"101 Forest Ave, Palo Alto"}; '
|
|
22
|
+
+ "name and address are optional, 1 to 256 characters each. The place is sent as its own Message after your words.";
|
|
23
|
+
const FENCE = /(^|\n)[ \t]*```[ \t]*(rich_card|carousel|place)(?:[ \t][^\r\n]*)?\r?\n([\s\S]*?)\r?\n[ \t]*```[ \t]*(?=\r?\n|$)/gu;
|
|
24
|
+
const EXCLUSIVE = /(^|\n)[ \t]*```[ \t]*(?:selection|form|payment|rating_request)(?:[ \t][^\r\n]*)?\r?\n/u;
|
|
25
|
+
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
26
|
+
const cardError = (card) => {
|
|
27
|
+
if (!isObject(card))
|
|
28
|
+
return "a card needs a JSON object";
|
|
29
|
+
if (card.media === undefined && card.title === undefined && card.description === undefined) {
|
|
30
|
+
return "a card needs media, a title or a description";
|
|
31
|
+
}
|
|
32
|
+
if (card.suggestions !== undefined
|
|
33
|
+
&& (!Array.isArray(card.suggestions) || card.suggestions.length > RICH_CARD_MAX_SUGGESTIONS)) {
|
|
34
|
+
return `a card's suggestions are a list of at most ${RICH_CARD_MAX_SUGGESTIONS}`;
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
};
|
|
38
|
+
const parse = (tag, body) => {
|
|
39
|
+
let value;
|
|
40
|
+
try {
|
|
41
|
+
value = JSON.parse(body);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return `the ${tag} block is not JSON`;
|
|
45
|
+
}
|
|
46
|
+
if (!isObject(value))
|
|
47
|
+
return `the ${tag} block needs a JSON object`;
|
|
48
|
+
const { type: _type, ...fields } = value;
|
|
49
|
+
if (tag === "place") {
|
|
50
|
+
const { latitude, longitude } = fields;
|
|
51
|
+
if (typeof latitude !== "number" || typeof longitude !== "number"
|
|
52
|
+
|| Math.abs(latitude) > 90 || Math.abs(longitude) > 180) {
|
|
53
|
+
return "a place needs latitude (-90 to 90) and longitude (-180 to 180) as numbers";
|
|
54
|
+
}
|
|
55
|
+
return { type: "place", ...fields };
|
|
56
|
+
}
|
|
57
|
+
if (tag === "carousel") {
|
|
58
|
+
const cards = fields.cards;
|
|
59
|
+
if (!Array.isArray(cards) || cards.length < CAROUSEL_MIN_CARDS || cards.length > CAROUSEL_MAX_CARDS) {
|
|
60
|
+
return `a carousel needs ${CAROUSEL_MIN_CARDS} to ${CAROUSEL_MAX_CARDS} cards`;
|
|
61
|
+
}
|
|
62
|
+
const error = cards.map(cardError).find(Boolean);
|
|
63
|
+
return error ?? { type: "carousel", ...fields };
|
|
64
|
+
}
|
|
65
|
+
return cardError(fields) ?? { type: "rich_card", ...fields };
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Lifts at most one `rich_card` or `carousel` block and at most one `place`
|
|
69
|
+
* block out of an answer. A card beside a selection, form, payment or rating
|
|
70
|
+
* request block, or a block that is not one, leaves the answer as it was,
|
|
71
|
+
* with an error.
|
|
72
|
+
*/
|
|
73
|
+
export const splitCardBlocks = (answer) => {
|
|
74
|
+
const matches = [...answer.matchAll(FENCE)];
|
|
75
|
+
if (!matches.length)
|
|
76
|
+
return { text: answer };
|
|
77
|
+
const cards = matches.filter((match) => match[2] !== "place");
|
|
78
|
+
if (cards.length > 1 || matches.length - cards.length > 1) {
|
|
79
|
+
return { text: answer, error: "send at most one card or carousel and at most one place per answer" };
|
|
80
|
+
}
|
|
81
|
+
if (cards.length && EXCLUSIVE.test(answer)) {
|
|
82
|
+
return { text: answer, error: "a card cannot be sent with a selection, form, payment or rating request" };
|
|
83
|
+
}
|
|
84
|
+
const result = { text: answer };
|
|
85
|
+
let text = answer;
|
|
86
|
+
for (const match of [...matches].reverse()) {
|
|
87
|
+
const part = parse(match[2], match[3] ?? "");
|
|
88
|
+
if (typeof part === "string")
|
|
89
|
+
return { text: answer, error: part };
|
|
90
|
+
if (part.type === "place")
|
|
91
|
+
result.place = part;
|
|
92
|
+
else
|
|
93
|
+
result.card = part;
|
|
94
|
+
const start = match.index + match[1].length;
|
|
95
|
+
text = [text.slice(0, start).trimEnd(), text.slice(match.index + match[0].length).trimStart()].filter(Boolean).join("\n\n");
|
|
96
|
+
}
|
|
97
|
+
result.text = text;
|
|
98
|
+
return result;
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=card-blocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-blocks.js","sourceRoot":"","sources":["../src/card-blocks.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export { runWebSocket, type WebSocketEventContext, type WebSocketFullSyncContext
|
|
|
8
8
|
export type * from "./types.js";
|
|
9
9
|
export { BUTTONS_BLOCK_INSTRUCTION, BUTTONS_FENCE, BUTTONS_GUIDANCE, BUTTONS_MAX_ITEMS, BUTTON_LABEL_MAX_LENGTH, BUTTON_URL_MAX_LENGTH, buttonsPart, parseButtonsBlock, partsWithButtons, splitButtons, type SplitButtons, } from "./buttons.js";
|
|
10
10
|
export { IDEMPOTENCY_KEY_MAX_LENGTH, LINK_LINE_INSTRUCTION, LINK_URL_MAX_LENGTH, answerMessages, indexedIdempotencyKey, splitLinks, standaloneLink, type AnswerMessages, type AnswerSegment, } from "./links.js";
|
|
11
|
+
export { CARD_BLOCK_INSTRUCTION, CARD_GUIDANCE, PLACE_BLOCK_INSTRUCTION, splitCardBlocks, type SplitCardBlocks, } from "./card-blocks.js";
|
|
11
12
|
export { PAYMENT_BLOCK_INSTRUCTION, PAYMENT_CATEGORIES, PAYMENT_DESCRIPTION_MAX_LENGTH, PAYMENT_FENCE, PAYMENT_GUIDANCE, PAYMENT_IMAGE_URL_MAX_LENGTH, createPaymentPart, parsePaymentBlock, paymentRequestFields, splitPayment, type SplitPayment, } from "./payment.js";
|
|
12
13
|
export { Relay as default } from "./client.js";
|
|
13
14
|
export { RELAY_ISSUER, RELAY_USER_ID_CLAIM, verifyRelayIdToken, type RelayIdTokenClaims, type VerifyRelayIdTokenOptions, } from "./login.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,OAAO,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,EAAE,EACF,QAAQ,EACR,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,GACxC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,QAAQ,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,mBAAmB,YAAY,CAAC;AAChC,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,8BAA8B,EAC9B,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EAAE,aAAa,EAAE,sBAAsB,EACjD,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAC7D,KAAK,SAAS,EAAE,KAAK,SAAS,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC3B,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export { Webhooks, WebhookVerificationError, signWebhookHeaders, verifyWebhookSi
|
|
|
7
7
|
export { runWebSocket, } from "./websocket.js";
|
|
8
8
|
export { BUTTONS_BLOCK_INSTRUCTION, BUTTONS_FENCE, BUTTONS_GUIDANCE, BUTTONS_MAX_ITEMS, BUTTON_LABEL_MAX_LENGTH, BUTTON_URL_MAX_LENGTH, buttonsPart, parseButtonsBlock, partsWithButtons, splitButtons, } from "./buttons.js";
|
|
9
9
|
export { IDEMPOTENCY_KEY_MAX_LENGTH, LINK_LINE_INSTRUCTION, LINK_URL_MAX_LENGTH, answerMessages, indexedIdempotencyKey, splitLinks, standaloneLink, } from "./links.js";
|
|
10
|
+
export { CARD_BLOCK_INSTRUCTION, CARD_GUIDANCE, PLACE_BLOCK_INSTRUCTION, splitCardBlocks, } from "./card-blocks.js";
|
|
10
11
|
export { PAYMENT_BLOCK_INSTRUCTION, PAYMENT_CATEGORIES, PAYMENT_DESCRIPTION_MAX_LENGTH, PAYMENT_FENCE, PAYMENT_GUIDANCE, PAYMENT_IMAGE_URL_MAX_LENGTH, createPaymentPart, parsePaymentBlock, paymentRequestFields, splitPayment, } from "./payment.js";
|
|
11
12
|
export { Relay as default } from "./client.js";
|
|
12
13
|
export { RELAY_ISSUER, RELAY_USER_ID_CLAIM, verifyRelayIdToken, } from "./login.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,EAAE,EACF,QAAQ,EACR,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,GAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,wBAAwB,GAMzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,GAG5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,GAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,GAMb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GAEb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,GAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,8BAA8B,EAC9B,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,GAEb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GAGnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EAAE,aAAa,EAAE,sBAAsB,EACjD,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAE9D,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,GAGtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC3B,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,EAAE,EACF,QAAQ,EACR,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,GAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,wBAAwB,GAMzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,GAG5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,GAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,GAMb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GAEb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,GAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,eAAe,GAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,8BAA8B,EAC9B,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,GAEb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GAGnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EAAE,aAAa,EAAE,sBAAsB,EACjD,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAE9D,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,GAGtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC3B,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/links.d.ts
CHANGED
|
@@ -38,7 +38,9 @@ export interface AnswerMessages {
|
|
|
38
38
|
error?: string;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
* The Messages a text-only agent's answer becomes: a
|
|
41
|
+
* The Messages a text-only agent's answer becomes: a rich_card, carousel or
|
|
42
|
+
* place block is lifted out first (the card rides with the last words, the
|
|
43
|
+
* place is its own Message after them), then a payment, buttons or
|
|
42
44
|
* selection block is lifted out, then each link on its own line becomes its
|
|
43
45
|
* own Message. Buttons and selection accompany the last Message of words; a
|
|
44
46
|
* payment never does — it must be the only part of its Message, so the words
|
package/dist/links.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAe,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3G;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,iMAC8J,CAAC;AAEjM,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AAEzC,8DAA8D;AAC9D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAUtD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,aAAa,EAsBtD,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,cAgE/C,CAAC;AAYF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,KAAG,MAIlE,CAAC"}
|
package/dist/links.js
CHANGED
|
@@ -3,6 +3,7 @@ import { splitButtons } from "./buttons.js";
|
|
|
3
3
|
import { splitPayment } from "./payment.js";
|
|
4
4
|
import { splitSelection } from "./selection.js";
|
|
5
5
|
import { splitForm } from "./form.js";
|
|
6
|
+
import { splitCardBlocks } from "./card-blocks.js";
|
|
6
7
|
/**
|
|
7
8
|
* How a text-only agent sends a link: the URL alone on its own line, the way
|
|
8
9
|
* a person pastes one into Messages and the way Linq's iMessage guide asks for
|
|
@@ -65,7 +66,9 @@ export const splitLinks = (text) => {
|
|
|
65
66
|
return segments;
|
|
66
67
|
};
|
|
67
68
|
/**
|
|
68
|
-
* The Messages a text-only agent's answer becomes: a
|
|
69
|
+
* The Messages a text-only agent's answer becomes: a rich_card, carousel or
|
|
70
|
+
* place block is lifted out first (the card rides with the last words, the
|
|
71
|
+
* place is its own Message after them), then a payment, buttons or
|
|
69
72
|
* selection block is lifted out, then each link on its own line becomes its
|
|
70
73
|
* own Message. Buttons and selection accompany the last Message of words; a
|
|
71
74
|
* payment never does — it must be the only part of its Message, so the words
|
|
@@ -86,6 +89,28 @@ export const answerMessages = (answer) => {
|
|
|
86
89
|
return { messages: [[{ type: "text", value: answer }]],
|
|
87
90
|
error: "A rating_request fence contains only {} and is the whole answer." };
|
|
88
91
|
}
|
|
92
|
+
// A card, a carousel or a place is lifted first; what remains is read as
|
|
93
|
+
// before. The place goes out as its own Message after the words.
|
|
94
|
+
const carded = splitCardBlocks(answer);
|
|
95
|
+
if (carded.error)
|
|
96
|
+
return { messages: splitLinks(answer).map((segment) => [segment]), error: carded.error };
|
|
97
|
+
if (carded.card || carded.place) {
|
|
98
|
+
const rest = answerMessages(carded.text);
|
|
99
|
+
if (carded.card) {
|
|
100
|
+
const target = rest.messages.findLast((parts) => parts[0]?.type === "text" && parts[0].value.trim());
|
|
101
|
+
if (target) {
|
|
102
|
+
// Buttons under the words stay with the card, drawn as pills under it.
|
|
103
|
+
const buttons = target.findIndex((part) => part.type === "buttons");
|
|
104
|
+
target.splice(buttons < 0 ? target.length : buttons, 0, carded.card);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
rest.messages.push([carded.card]);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (carded.place)
|
|
111
|
+
rest.messages.push([carded.place]);
|
|
112
|
+
return rest;
|
|
113
|
+
}
|
|
89
114
|
const formed = splitForm(answer);
|
|
90
115
|
if (formed.error)
|
|
91
116
|
return { messages: splitLinks(answer).map((segment) => [segment]), error: formed.error };
|
package/dist/links.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED