@burdenoff/fe-libs 2026.1007.4 → 2026.1007.6

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.
Files changed (166) hide show
  1. package/dist/chrome/AutoBreadcrumbs.d.ts.map +1 -1
  2. package/dist/chrome/AutoBreadcrumbs.js +65 -76
  3. package/dist/chrome/Breadcrumb.d.ts.map +1 -1
  4. package/dist/chrome/Breadcrumbs.d.ts.map +1 -1
  5. package/dist/chrome/Breadcrumbs.js +47 -46
  6. package/dist/chrome/ContextSwitcher.js +86 -86
  7. package/dist/chrome/HeaderBar.d.ts.map +1 -1
  8. package/dist/chrome/HeaderBar.js +111 -107
  9. package/dist/chrome/HeaderThemeSwitcher.d.ts.map +1 -1
  10. package/dist/chrome/HeaderThemeSwitcher.js +46 -45
  11. package/dist/chrome/LanguageSwitcher.js +4 -4
  12. package/dist/chrome/MobileTabBar.js +4 -4
  13. package/dist/chrome/PageHeader.d.ts.map +1 -1
  14. package/dist/chrome/PageHeader.js +32 -30
  15. package/dist/chrome/PersonaSurfaceControls.js +8 -8
  16. package/dist/chrome/ProductSideNav.js +6 -6
  17. package/dist/chrome/ProfileSwitcher.d.ts.map +1 -1
  18. package/dist/chrome/ProfileSwitcher.js +89 -88
  19. package/dist/chrome/SideNavigation.js +4 -4
  20. package/dist/chrome/Tabs.d.ts.map +1 -1
  21. package/dist/chrome/Tabs.js +30 -29
  22. package/dist/chrome/breadcrumbLabel.d.ts +10 -0
  23. package/dist/chrome/breadcrumbLabel.d.ts.map +1 -0
  24. package/dist/chrome/breadcrumbLabel.js +31 -0
  25. package/dist/chrome/contextSwitcher/TriggerButton.d.ts.map +1 -1
  26. package/dist/chrome/contextSwitcher/TriggerButton.js +40 -36
  27. package/dist/chrome/notificationCenter/BellButton.d.ts.map +1 -1
  28. package/dist/chrome/notificationCenter/BellButton.js +29 -25
  29. package/dist/chrome/shellLabelManifest.d.ts +27 -0
  30. package/dist/chrome/shellLabelManifest.d.ts.map +1 -0
  31. package/dist/chrome/sideNavigation/SidebarHeader.d.ts.map +1 -1
  32. package/dist/chrome/sideNavigation/SidebarHeader.js +23 -22
  33. package/dist/shared/assistant/api.d.ts +11 -0
  34. package/dist/shared/assistant/api.d.ts.map +1 -1
  35. package/dist/shared/assistant/api.js +6 -2
  36. package/dist/shared/assistant/appControls/languageReply.d.ts +6 -1
  37. package/dist/shared/assistant/appControls/languageReply.d.ts.map +1 -1
  38. package/dist/shared/assistant/conversation.d.ts +14 -0
  39. package/dist/shared/assistant/conversation.d.ts.map +1 -1
  40. package/dist/shared/assistant/createSandboxAssistantTransport.d.ts +8 -1
  41. package/dist/shared/assistant/createSandboxAssistantTransport.d.ts.map +1 -1
  42. package/dist/shared/assistant/createSandboxAssistantTransport.js +70 -51
  43. package/dist/shared/assistant/history/historyMapping.d.ts.map +1 -1
  44. package/dist/shared/assistant/history/historyMapping.js +19 -12
  45. package/dist/shared/assistant/i18nManifest.d.ts +26 -5
  46. package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
  47. package/dist/shared/assistant/i18nManifest.js +36 -22
  48. package/dist/shared/assistant/index.d.ts +7 -0
  49. package/dist/shared/assistant/index.d.ts.map +1 -1
  50. package/dist/shared/assistant/localUiCommandCopy.d.ts +23 -0
  51. package/dist/shared/assistant/localUiCommandCopy.d.ts.map +1 -1
  52. package/dist/shared/assistant/localUiCommandCopy.js +60 -23
  53. package/dist/shared/assistant/localUiCommands.d.ts +29 -0
  54. package/dist/shared/assistant/localUiCommands.d.ts.map +1 -1
  55. package/dist/shared/assistant/localUiCommands.js +18 -7
  56. package/dist/shared/assistant/productCopy.d.ts +78 -0
  57. package/dist/shared/assistant/productCopy.d.ts.map +1 -0
  58. package/dist/shared/assistant/productCopy.js +45 -0
  59. package/dist/shared/assistant/types.d.ts +19 -8
  60. package/dist/shared/assistant/types.d.ts.map +1 -1
  61. package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
  62. package/dist/shared/assistant/ui/AssistantChatArea.js +1479 -1140
  63. package/dist/shared/assistant/ui/AssistantEmptyState.d.ts.map +1 -1
  64. package/dist/shared/assistant/ui/AssistantEmptyState.js +30 -22
  65. package/dist/shared/assistant/ui/AssistantHeader.d.ts.map +1 -1
  66. package/dist/shared/assistant/ui/AssistantHeader.js +46 -45
  67. package/dist/shared/assistant/ui/AssistantMarkdownRenderer.d.ts +18 -3
  68. package/dist/shared/assistant/ui/AssistantMarkdownRenderer.d.ts.map +1 -1
  69. package/dist/shared/assistant/ui/AssistantMarkdownRenderer.js +1 -1
  70. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts +5 -0
  71. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
  72. package/dist/shared/assistant/ui/AssistantMessageItem.js +89 -84
  73. package/dist/shared/assistant/ui/AssistantMessageList.d.ts +5 -0
  74. package/dist/shared/assistant/ui/AssistantMessageList.d.ts.map +1 -1
  75. package/dist/shared/assistant/ui/AssistantMessageList.js +26 -25
  76. package/dist/shared/assistant/ui/AssistantUiOfferLink.d.ts +45 -0
  77. package/dist/shared/assistant/ui/AssistantUiOfferLink.d.ts.map +1 -0
  78. package/dist/shared/assistant/ui/AssistantUiOfferLink.js +56 -0
  79. package/dist/shared/assistant/ui/assistantOverlayState.d.ts +9 -0
  80. package/dist/shared/assistant/ui/assistantOverlayState.d.ts.map +1 -1
  81. package/dist/shared/assistant/ui/assistantOverlayState.js +37 -28
  82. package/dist/shared/assistant/ui/composer/AssistantConnectSourceItem.d.ts.map +1 -1
  83. package/dist/shared/assistant/ui/composer/AssistantConnectSourceItem.js +1 -1
  84. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts +5 -0
  85. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
  86. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +12 -11
  87. package/dist/shared/assistant/ui/voice/VoiceConversationView.d.ts +6 -1
  88. package/dist/shared/assistant/ui/voice/VoiceConversationView.d.ts.map +1 -1
  89. package/dist/shared/assistant/ui/voice/VoiceConversationView.js +7 -7
  90. package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.d.ts +6 -1
  91. package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.d.ts.map +1 -1
  92. package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.js +15 -12
  93. package/dist/shared/assistant/uiActions/actOnResolve.d.ts +108 -0
  94. package/dist/shared/assistant/uiActions/actOnResolve.d.ts.map +1 -0
  95. package/dist/shared/assistant/uiActions/actOnResolve.js +51 -0
  96. package/dist/shared/assistant/uiActions/linkContext.d.ts +29 -0
  97. package/dist/shared/assistant/uiActions/linkContext.d.ts.map +1 -1
  98. package/dist/shared/assistant/uiActions/linkContext.js +37 -10
  99. package/dist/shared/assistant/uiActions/navIntent.d.ts +58 -0
  100. package/dist/shared/assistant/uiActions/navIntent.d.ts.map +1 -0
  101. package/dist/shared/assistant/uiActions/navIntent.js +79 -0
  102. package/dist/shared/assistant/uiActions/navigateAction.d.ts +6 -1
  103. package/dist/shared/assistant/uiActions/navigateAction.d.ts.map +1 -1
  104. package/dist/shared/assistant/uiActions/navigateAction.js +18 -14
  105. package/dist/shared/assistant/uiActions/navigationOutcome.d.ts +16 -2
  106. package/dist/shared/assistant/uiActions/navigationOutcome.d.ts.map +1 -1
  107. package/dist/shared/assistant/uiActions/navigationOutcome.js +6 -2
  108. package/dist/shared/assistant/uiActions/offerYesOnSurface.d.ts +39 -0
  109. package/dist/shared/assistant/uiActions/offerYesOnSurface.d.ts.map +1 -0
  110. package/dist/shared/assistant/uiActions/offerYesOnSurface.js +34 -0
  111. package/dist/shared/assistant/uiActions/uiCatalogue.d.ts +14 -0
  112. package/dist/shared/assistant/uiActions/uiCatalogue.d.ts.map +1 -1
  113. package/dist/shared/assistant/uiActions/uiCatalogue.js +23 -3
  114. package/dist/shared/assistant/uiActions/uiOffers.d.ts +249 -0
  115. package/dist/shared/assistant/uiActions/uiOffers.d.ts.map +1 -0
  116. package/dist/shared/assistant/uiActions/uiOffers.js +195 -0
  117. package/dist/shared/assistant/writeProposals.d.ts +6 -0
  118. package/dist/shared/assistant/writeProposals.d.ts.map +1 -1
  119. package/dist/shared/assistant/writeReplyBinder.d.ts +40 -0
  120. package/dist/shared/assistant/writeReplyBinder.d.ts.map +1 -1
  121. package/dist/shared/assistant/writeReplyBinder.js +100 -83
  122. package/dist/shared/assistant/writeReplySend.d.ts +14 -0
  123. package/dist/shared/assistant/writeReplySend.d.ts.map +1 -1
  124. package/dist/shared/assistant/writeReplySend.js +32 -29
  125. package/dist/shared/components/ContextConversationWidget.js +1 -1
  126. package/dist/shared/events/sinks/RybbitSink.d.ts.map +1 -1
  127. package/dist/shared/events/sinks/RybbitSink.js +66 -69
  128. package/dist/shared/hooks/index.d.ts +2 -0
  129. package/dist/shared/hooks/index.d.ts.map +1 -1
  130. package/dist/shared/navigation/unsavedChanges.d.ts +83 -0
  131. package/dist/shared/navigation/unsavedChanges.d.ts.map +1 -0
  132. package/dist/shared/navigation/unsavedChanges.js +46 -0
  133. package/dist/shared/providers/AppShellProvider.d.ts +17 -0
  134. package/dist/shared/providers/AppShellProvider.d.ts.map +1 -1
  135. package/dist/shared/providers/AppShellProvider.js +188 -180
  136. package/dist/shared/providers/shell/I18nProvider.d.ts +92 -4
  137. package/dist/shared/providers/shell/I18nProvider.d.ts.map +1 -1
  138. package/dist/shared/providers/shell/I18nProvider.js +187 -79
  139. package/dist/shared/providers/shell/ProfileI18nBridge.d.ts +18 -2
  140. package/dist/shared/providers/shell/ProfileI18nBridge.d.ts.map +1 -1
  141. package/dist/shared/providers/shell/ProfileI18nBridge.js +55 -41
  142. package/dist/shared/providers/shell/directionMode.d.ts +25 -0
  143. package/dist/shared/providers/shell/directionMode.d.ts.map +1 -0
  144. package/dist/shared/providers/shell/directionMode.js +34 -0
  145. package/dist/shared/providers/shell/index.d.ts +4 -2
  146. package/dist/shared/providers/shell/index.d.ts.map +1 -1
  147. package/dist/shared/providers/shell/translationLayers.d.ts +30 -0
  148. package/dist/shared/providers/shell/translationLayers.d.ts.map +1 -0
  149. package/dist/shared/providers/shell/translationLayers.js +35 -0
  150. package/dist/shared/providers/shell/translationStore.d.ts +55 -0
  151. package/dist/shared/providers/shell/translationStore.d.ts.map +1 -0
  152. package/dist/shared/providers/shell/translationStore.js +100 -0
  153. package/dist/shared/providers/shell/useShellLabel.d.ts +13 -1
  154. package/dist/shared/providers/shell/useShellLabel.d.ts.map +1 -1
  155. package/dist/shared/providers/shell/useShellLabel.js +10 -9
  156. package/dist/shared-assistant.js +244 -237
  157. package/dist/shared-hooks.js +10 -9
  158. package/dist/shared-providers-shell.js +20 -19
  159. package/dist/shared.js +20 -19
  160. package/dist/ui/boff-ui2.d.ts.map +1 -1
  161. package/dist/ui/cta-overflow-menu.d.ts.map +1 -1
  162. package/dist/ui/cta-overflow-menu.js +20 -18
  163. package/dist/ui/guidance.d.ts +1 -1
  164. package/dist/ui/guidance.d.ts.map +1 -1
  165. package/dist/ui/guidance.js +53 -52
  166. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"writeProposals.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/writeProposals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeProposals.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/writeProposals.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { UiOfferYesState } from './uiActions/uiOffers';
1
2
  import { WriteExecutionState, WriteProposalDeclineReason } from './writeProposals';
2
3
  /** What a reply is, as far as a waiting change is concerned (contract §3.3). */
3
4
  export type WriteReplyClass = "affirm" | "affirm_with_change" | "decline" | "decline_redirect" | "other";
@@ -70,6 +71,16 @@ export type WriteReplyDecision =
70
71
  action: "local";
71
72
  text: WriteReplyText;
72
73
  declineAll: WriteReplyDeclineReason | null;
74
+ }
75
+ /**
76
+ * ★ BOFF-8060 (N3, design §6 row 3): a bare "yes" to the one page the model
77
+ * offered and asked about, with NOTHING waiting. The caller re-validates the
78
+ * offer and NAVIGATES through a registered handler — that is all. Nothing is
79
+ * sent, nothing is declined, no `writeReply`; it is not, and cannot become,
80
+ * a confirmation of anything.
81
+ */
82
+ | {
83
+ action: "accept_offer";
73
84
  };
74
85
  export interface WriteReplyDecisionInput {
75
86
  cls: WriteReplyClass;
@@ -91,6 +102,21 @@ export interface WriteReplyDecisionInput {
91
102
  * confirm button, so its reply must not point to one. Unknown means fenced.
92
103
  */
93
104
  execution: WriteExecutionState;
105
+ /**
106
+ * ★ BOFF-8060 (N3): what a bare "yes" could mean for a page the model offered
107
+ * (`offerYesState`, guards Y1–Y6; Y7 — a bare English affirm — is this
108
+ * table's own `cls`). Read ONLY with nothing pending and a bare affirm: a
109
+ * waiting change always wins (5a). Absent: `none`, the table as it was.
110
+ */
111
+ offer?: UiOfferYesState;
112
+ /**
113
+ * ★ BOFF-8060 (N3): the reply carries a question mark, in any script
114
+ * (`isQuestionReply`). "yes?", "ok?" and "sure?" ask back; they never accept
115
+ * an offer (blind corpus, near-affirmatives). Read ONLY by the offer rows,
116
+ * and only `false` lets them answer: absent counts as a question, so a
117
+ * caller that does not say goes the 5a way. The 5a rows are unchanged.
118
+ */
119
+ question?: boolean;
94
120
  }
95
121
  /**
96
122
  * Everything the binder says. Rendered through `tr(line.key, line.fallback,
@@ -114,6 +140,12 @@ export declare const WRITE_REPLY_COPY: Readonly<{
114
140
  fallback: "Cancelled.";
115
141
  }>;
116
142
  }>;
143
+ /**
144
+ * ★ BOFF-8060 (N3, design §6 row 4): a bare "yes" to an offered page whose
145
+ * time ran out. The key is the offer copy's own (`localUiCommandCopy.ts`, in
146
+ * the manifest's static table); a test holds the two fallbacks equal.
147
+ */
148
+ export declare const WRITE_REPLY_OFFER_EXPIRED: WriteReplyLine;
117
149
  /** The lexicons, for the tests. Frozen copies. */
118
150
  export declare const WRITE_REPLY_LEXICON: Readonly<{
119
151
  affirm: readonly ("yes" | "ok" | "confirm" | "approve" | "yeah" | "yep" | "yup" | "okay" | "sure" | "do it" | "go ahead" | "please do" | "yes please" | "sounds good" | "thats right")[];
@@ -121,6 +153,12 @@ export declare const WRITE_REPLY_LEXICON: Readonly<{
121
153
  courtesy: readonly ("please" | "thanks" | "thank you")[];
122
154
  maxAffirmTokens: 4;
123
155
  }>;
156
+ /**
157
+ * ★ BOFF-8060 (N3): whether a reply asks something back. Anywhere in it, not
158
+ * only at its end ("yes...?", "¿sí?"): a reply that carries a question is not
159
+ * a bare acceptance of an offered page.
160
+ */
161
+ export declare function isQuestionReply(text: string): boolean;
124
162
  /**
125
163
  * Classify a reply, and find what a redirecting decline asks for instead.
126
164
  *
@@ -153,6 +191,8 @@ export declare function isUserOriginatedWriteReply(origin: WriteReplyOrigin): bo
153
191
  * | Condition | Decision |
154
192
  * |-----------------------------------|-----------------------------------------------------------|
155
193
  * | origin not typed/spoken | forward, unchanged |
194
+ * | 0 pending + affirm + offer acceptable + no "?" | accept_offer: navigate only; nothing sent (N3, Y1–Y7) |
195
+ * | 0 pending + affirm + offer expired + no "?" | local_reply: offer.expired; nothing sent (N3) |
156
196
  * | 0 pending + affirm | forward with writeReply{affirm} (the server's bridge) |
157
197
  * | 0 pending + anything else | normal |
158
198
  * | ≥1 pending + affirm | local_reply: useButton (1) / whichOne (≥2); fenced: replyCannotRun |
@@ -1 +1 @@
1
- {"version":3,"file":"writeReplyBinder.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/writeReplyBinder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeReplyBinder.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/writeReplyBinder.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,10 @@ var e = Object.freeze({
16
16
  key: "writeProposal.cancelled",
17
17
  fallback: "Cancelled."
18
18
  })
19
- }), t = [
19
+ }), t = Object.freeze({
20
+ key: "offer.expired",
21
+ fallback: "That suggestion has expired. Ask again, or use the menu."
22
+ }), n = [
20
23
  "yes",
21
24
  "yeah",
22
25
  "yep",
@@ -32,7 +35,7 @@ var e = Object.freeze({
32
35
  "yes please",
33
36
  "sounds good",
34
37
  "thats right"
35
- ], n = [
38
+ ], r = [
36
39
  "no",
37
40
  "nope",
38
41
  "nah",
@@ -46,25 +49,25 @@ var e = Object.freeze({
46
49
  "forget it",
47
50
  "wait",
48
51
  "hold on"
49
- ], r = [
52
+ ], i = [
50
53
  "please",
51
54
  "thanks",
52
55
  "thank you"
53
- ], i = 4, a = Object.freeze({
54
- affirm: Object.freeze([...t]),
55
- negative: Object.freeze([...n]),
56
- courtesy: Object.freeze([...r]),
57
- maxAffirmTokens: i
58
- }), o = new Set(t), s = new Set(n), c = new Set(r), l = new Set([...n, ...r]), u = Math.max(...[
59
- ...t,
56
+ ], a = 4, o = Object.freeze({
57
+ affirm: Object.freeze([...n]),
58
+ negative: Object.freeze([...r]),
59
+ courtesy: Object.freeze([...i]),
60
+ maxAffirmTokens: a
61
+ }), s = new Set(n), c = new Set(r), l = new Set(i), u = new Set([...r, ...i]), d = Math.max(...[
60
62
  ...n,
61
- ...r
62
- ].map((e) => e.split(" ").length)), d = /[\p{L}\p{N}]+(?:['‘’ʼ`][\p{L}\p{N}]+)*/gu, f = /['‘’ʼ`]/g, p = /[,;:.!?…–—\n]|(?:^|\s)-+(?:\s|$)/u, m = /^[\s,;:.!?…–—-]+/u;
63
- function h(e) {
64
- let t = [...e.matchAll(d)].map((e) => {
63
+ ...r,
64
+ ...i
65
+ ].map((e) => e.split(" ").length)), f = /[\p{L}\p{N}]+(?:['‘’ʼ`][\p{L}\p{N}]+)*/gu, p = /['‘’ʼ`]/g, m = /[,;:.!?…–—\n]|(?:^|\s)-+(?:\s|$)/u, h = /^[\s,;:.!?…–—-]+/u;
66
+ function g(e) {
67
+ let t = [...e.matchAll(f)].map((e) => {
65
68
  let t = e.index ?? 0;
66
69
  return {
67
- word: e[0].toLowerCase().replace(f, ""),
70
+ word: e[0].toLowerCase().replace(p, ""),
68
71
  start: t,
69
72
  end: t + e[0].length
70
73
  };
@@ -73,128 +76,142 @@ function h(e) {
73
76
  let i = t[r + 1];
74
77
  return {
75
78
  ...n,
76
- closesClause: i === void 0 || p.test(e.slice(n.end, i.start))
79
+ closesClause: i === void 0 || m.test(e.slice(n.end, i.start))
77
80
  };
78
81
  });
79
82
  }
80
- function g(e, t, n, r) {
81
- for (let i = Math.min(u, n - t); i > 0; i--) if (r.has(e.slice(t, t + i).join(" "))) return i;
83
+ function _(e, t, n, r) {
84
+ for (let i = Math.min(d, n - t); i > 0; i--) if (r.has(e.slice(t, t + i).join(" "))) return i;
82
85
  return 0;
83
86
  }
84
- function _(e, t, n, r) {
85
- for (let i = Math.min(u, n - t); i > 0; i--) if (r.has(e.slice(n - i, n).join(" "))) return i;
87
+ function v(e, t, n, r) {
88
+ for (let i = Math.min(d, n - t); i > 0; i--) if (r.has(e.slice(n - i, n).join(" "))) return i;
86
89
  return 0;
87
90
  }
88
- function v(e, t, n) {
89
- if (n <= t || n - t > i) return !1;
91
+ function y(e, t, n) {
92
+ if (n <= t || n - t > a) return !1;
90
93
  for (let r = t; r < n;) {
91
- let t = g(e, r, n, o);
94
+ let t = _(e, r, n, s);
92
95
  if (t === 0) return !1;
93
96
  r += t;
94
97
  }
95
98
  return !0;
96
99
  }
97
- function y(e) {
100
+ var b = /[?¿؟?]/u;
101
+ function x(e) {
102
+ return typeof e != "string" || b.test(e);
103
+ }
104
+ function S(e) {
98
105
  return typeof e == "string" && /^en(?:[-_][A-Za-z0-9]{1,8})*$/i.test(e.trim());
99
106
  }
100
- var b = (e, t = null) => ({
107
+ var C = (e, t = null) => ({
101
108
  cls: e,
102
109
  remainder: t
103
110
  });
104
- function x(e, t) {
105
- if (typeof e != "string" || !y(t)) return b("other");
106
- let n = e.normalize("NFKC"), r = h(n), i = r.map((e) => e.word), a = i.length;
111
+ function w(e, t) {
112
+ if (typeof e != "string" || !S(t)) return C("other");
113
+ let n = e.normalize("NFKC"), r = g(n), i = r.map((e) => e.word), a = i.length;
107
114
  for (;;) {
108
- let e = _(i, 0, a, c);
115
+ let e = v(i, 0, a, l);
109
116
  if (e === 0 || e >= a) break;
110
117
  a -= e;
111
118
  }
112
- let u = +(i[0] === "please" && a > 1);
113
- if (v(i, 0, a) || v(i, u, a)) return b("affirm");
114
- let d = g(i, u, a, s);
119
+ let o = +(i[0] === "please" && a > 1);
120
+ if (y(i, 0, a) || y(i, o, a)) return C("affirm");
121
+ let d = _(i, o, a, c);
115
122
  if (d > 0) {
116
- let e = u + d - 1, t = u + d;
123
+ let e = o + d - 1, t = o + d;
117
124
  for (; t < a;) {
118
- let n = g(i, t, a, l);
125
+ let n = _(i, t, a, u);
119
126
  if (n === 0) break;
120
127
  let o = r[t + n - 1];
121
128
  if (t + n < a && !o.closesClause) break;
122
129
  e = t + n - 1, t += n;
123
130
  }
124
- if (t >= a || !r[e].closesClause || v(i, t, a)) return b("decline");
125
- let o = n.slice(r[e].end).replace(m, "").trim();
126
- return o ? b("decline_redirect", o) : b("decline");
131
+ if (t >= a || !r[e].closesClause || y(i, t, a)) return C("decline");
132
+ let s = n.slice(r[e].end).replace(h, "").trim();
133
+ return s ? C("decline_redirect", s) : C("decline");
127
134
  }
128
- return g(i, u, a, o) > 0 || g(i, 0, a, o) > 0 ? b("affirm_with_change") : b("other");
135
+ return _(i, o, a, s) > 0 || _(i, 0, a, s) > 0 ? C("affirm_with_change") : C("other");
129
136
  }
130
- function S(e, t) {
131
- return x(e, t).cls;
137
+ function T(e, t) {
138
+ return w(e, t).cls;
132
139
  }
133
- var C = new Set(["typed", "spoken"]);
134
- function w(e) {
135
- return C.has(e);
140
+ var E = new Set(["typed", "spoken"]);
141
+ function D(e) {
142
+ return E.has(e);
136
143
  }
137
- function T(e) {
144
+ function O(e) {
138
145
  return e === "affirm" ? "affirm" : e === "decline" || e === "decline_redirect" ? "decline" : "other";
139
146
  }
140
- var E = () => ({ from: "utterance" });
141
- function D(t) {
142
- let { cls: n, origin: r, localUiMatch: i } = t;
143
- if (!w(r)) return {
147
+ var k = () => ({ from: "utterance" });
148
+ function A(n) {
149
+ let { cls: r, origin: i, localUiMatch: a } = n;
150
+ if (!D(i)) return {
144
151
  action: "forward",
145
- text: E(),
152
+ text: k(),
146
153
  declineAll: null,
147
154
  writeReply: null,
148
155
  voiceLine: null
149
156
  };
150
- let a = Number.isFinite(t.liveCount) && t.liveCount > 0 ? Math.floor(t.liveCount) : 0, o = {
151
- kind: T(n),
152
- origin: r
153
- };
154
- if (a === 0) return n === "affirm" ? {
155
- action: "forward",
156
- text: E(),
157
- declineAll: null,
158
- writeReply: o,
159
- voiceLine: null
160
- } : {
161
- action: "normal",
162
- writeReply: o
157
+ let o = Number.isFinite(n.liveCount) && n.liveCount > 0 ? Math.floor(n.liveCount) : 0, s = {
158
+ kind: O(r),
159
+ origin: i
163
160
  };
164
- switch (n) {
161
+ if (o === 0) {
162
+ if (r === "affirm") {
163
+ let e = n.question === !1 ? n.offer : "none";
164
+ return e === "acceptable" ? { action: "accept_offer" } : e === "expired" ? {
165
+ action: "local_reply",
166
+ line: t,
167
+ values: { count: 0 }
168
+ } : {
169
+ action: "forward",
170
+ text: k(),
171
+ declineAll: null,
172
+ writeReply: s,
173
+ voiceLine: null
174
+ };
175
+ }
176
+ return {
177
+ action: "normal",
178
+ writeReply: s
179
+ };
180
+ }
181
+ switch (r) {
165
182
  case "affirm": return {
166
183
  action: "local_reply",
167
- line: t.execution === "enabled" ? a === 1 ? e.useButton : e.whichOne : e.replyCannotRun,
168
- values: { count: a }
184
+ line: n.execution === "enabled" ? o === 1 ? e.useButton : e.whichOne : e.replyCannotRun,
185
+ values: { count: o }
169
186
  };
170
187
  case "affirm_with_change": return {
171
188
  action: "forward",
172
- text: E(),
189
+ text: k(),
173
190
  declineAll: "corrected",
174
- writeReply: o,
191
+ writeReply: s,
175
192
  voiceLine: null
176
193
  };
177
194
  case "decline": return {
178
195
  action: "forward",
179
- text: E(),
196
+ text: k(),
180
197
  declineAll: "user_declined",
181
- writeReply: o,
198
+ writeReply: s,
182
199
  voiceLine: e.cancelled
183
200
  };
184
201
  case "decline_redirect": {
185
- let n = t.remainder?.trim() ?? "";
186
- if (!n) return {
202
+ let t = n.remainder?.trim() ?? "";
203
+ if (!t) return {
187
204
  action: "forward",
188
- text: E(),
205
+ text: k(),
189
206
  declineAll: "user_declined",
190
- writeReply: o,
207
+ writeReply: s,
191
208
  voiceLine: e.cancelled
192
209
  };
193
210
  let r = {
194
211
  from: "remainder",
195
- value: n
212
+ value: t
196
213
  };
197
- return i ? {
214
+ return a ? {
198
215
  action: "local",
199
216
  text: r,
200
217
  declineAll: "redirected"
@@ -202,32 +219,32 @@ function D(t) {
202
219
  action: "forward",
203
220
  text: r,
204
221
  declineAll: "redirected",
205
- writeReply: o,
222
+ writeReply: s,
206
223
  voiceLine: null
207
224
  };
208
225
  }
209
- case "other": return i ? {
226
+ case "other": return a ? {
210
227
  action: "local",
211
- text: E(),
228
+ text: k(),
212
229
  declineAll: null
213
230
  } : {
214
231
  action: "forward",
215
- text: E(),
232
+ text: k(),
216
233
  declineAll: null,
217
- writeReply: o,
234
+ writeReply: s,
218
235
  voiceLine: null
219
236
  };
220
237
  default: return {
221
238
  action: "forward",
222
- text: E(),
239
+ text: k(),
223
240
  declineAll: null,
224
241
  writeReply: {
225
242
  kind: "other",
226
- origin: r
243
+ origin: i
227
244
  },
228
245
  voiceLine: null
229
246
  };
230
247
  }
231
248
  }
232
249
  //#endregion
233
- export { e as WRITE_REPLY_COPY, a as WRITE_REPLY_LEXICON, x as analyseWriteReply, S as classifyWriteReply, D as decideWriteReply, w as isUserOriginatedWriteReply };
250
+ export { e as WRITE_REPLY_COPY, o as WRITE_REPLY_LEXICON, t as WRITE_REPLY_OFFER_EXPIRED, w as analyseWriteReply, T as classifyWriteReply, A as decideWriteReply, x as isQuestionReply, D as isUserOriginatedWriteReply };
@@ -1,4 +1,5 @@
1
1
  import { WriteReplyDeclineReason, WriteReplyLine, WriteReplyTag } from './writeReplyBinder';
2
+ import { UiOfferYesState } from './uiActions/uiOffers';
2
3
  import { SandboxWriteCapabilities, WriteExecutionState } from './writeProposals';
3
4
  /** Where a person's own reply came from. */
4
5
  export type WriteReplyPersonOrigin = "typed" | "spoken";
@@ -52,6 +53,14 @@ export type WriteReplyPlan =
52
53
  kind: "send";
53
54
  declineAll: WriteReplyDeclineReason | null;
54
55
  bound: WriteReplyBound;
56
+ }
57
+ /**
58
+ * ★ BOFF-8060 (N3): open the one page the model offered — re-validated and
59
+ * claimed by the caller, through a registered handler. Nothing is sent,
60
+ * nothing is declined; navigation only.
61
+ */
62
+ | {
63
+ kind: "accept_offer";
55
64
  };
56
65
  export interface WriteReplyPlanInput {
57
66
  /** What the person typed or said, as they said it. */
@@ -63,6 +72,11 @@ export interface WriteReplyPlanInput {
63
72
  live: WriteReplyLiveState;
64
73
  /** Does a local UI command match this text? (`matchLocalUiCommand`) */
65
74
  matchesLocalCommand: (text: string) => boolean;
75
+ /**
76
+ * ★ BOFF-8060 (N3): `offerYesState` for the newest reply of the surface the
77
+ * reply came from. Absent: `none`.
78
+ */
79
+ offer?: UiOfferYesState;
66
80
  }
67
81
  /**
68
82
  * The plan for a person's reply. Pure: every effect is the caller's, and the
@@ -1 +1 @@
1
- {"version":3,"file":"writeReplySend.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/writeReplySend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,4CAA4C;AAC5C,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,EAAE,mBAAmB,CAAC;CAChC;AAED,MAAM,MAAM,cAAc;AACxB,iEAAiE;AAC/D;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B;AACH;;;GAGG;GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3C,QAAQ,EAAE,eAAe,CAAC;CAC3B;AACH,sDAAsD;GACpD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3C,KAAK,EAAE,eAAe,CAAC;CACxB,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,uEAAuE;IACvE,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CA8EzE;AAED,mEAAmE;AACnE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,sBAAsB,EAAE,GACtC,mBAAmB,CAQrB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAOD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,OAAO,CAAC,OAAO,CAAC,EAAE,EACjC,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,gBAAiC,GACxC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,CAelC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,GACxD,QAAQ,GAAG,aAAa,CAK1B"}
1
+ {"version":3,"file":"writeReplySend.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/writeReplySend.ts"],"names":[],"mappings":"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"}
@@ -1,53 +1,56 @@
1
- import { analyseWriteReply as e, decideWriteReply as t } from "./writeReplyBinder.js";
1
+ import { analyseWriteReply as e, decideWriteReply as t, isQuestionReply as n } from "./writeReplyBinder.js";
2
2
  //#region src/shared/assistant/writeReplySend.ts
3
- function n(n) {
4
- let { text: r, origin: i } = n, a = n.hasAttachments ? {
3
+ function r(r) {
4
+ let { text: i, origin: a } = r, o = r.hasAttachments ? {
5
5
  cls: "other",
6
6
  remainder: null
7
- } : e(r, n.locale), o = a.cls === "decline_redirect" && a.remainder ? a.remainder : r, s = !n.hasAttachments && n.matchesLocalCommand(o), c = t({
8
- cls: a.cls,
9
- liveCount: n.live.count,
10
- origin: i,
11
- localUiMatch: s,
12
- remainder: a.remainder,
13
- execution: n.live.execution
7
+ } : e(i, r.locale), s = o.cls === "decline_redirect" && o.remainder ? o.remainder : i, c = !r.hasAttachments && r.matchesLocalCommand(s), l = t({
8
+ cls: o.cls,
9
+ liveCount: r.live.count,
10
+ origin: a,
11
+ localUiMatch: c,
12
+ remainder: o.remainder,
13
+ execution: r.live.execution,
14
+ offer: r.offer ?? "none",
15
+ question: n(i)
14
16
  });
15
- switch (c.action) {
17
+ switch (l.action) {
18
+ case "accept_offer": return { kind: "accept_offer" };
16
19
  case "local_reply": return {
17
20
  kind: "local_reply",
18
- line: c.line,
19
- values: c.values
21
+ line: l.line,
22
+ values: l.values
20
23
  };
21
24
  case "normal": return {
22
25
  kind: "send",
23
26
  declineAll: null,
24
27
  bound: {
25
- writeReply: c.writeReply,
26
- promptText: r,
28
+ writeReply: l.writeReply,
29
+ promptText: i,
27
30
  localCommands: !0
28
31
  }
29
32
  };
30
33
  case "local": {
31
- let e = c.text.from === "remainder" ? c.text.value : r;
32
- return c.declineAll === null ? {
34
+ let e = l.text.from === "remainder" ? l.text.value : i;
35
+ return l.declineAll === null ? {
33
36
  kind: "send",
34
37
  declineAll: null,
35
38
  bound: {
36
39
  writeReply: {
37
40
  kind: "other",
38
- origin: i
41
+ origin: a
39
42
  },
40
- promptText: r,
43
+ promptText: i,
41
44
  localCommands: !0
42
45
  }
43
46
  } : {
44
47
  kind: "local",
45
48
  commandText: e,
46
- declineAll: c.declineAll,
49
+ declineAll: l.declineAll,
47
50
  fallback: {
48
51
  writeReply: {
49
52
  kind: "decline",
50
- origin: i
53
+ origin: a
51
54
  },
52
55
  promptText: e,
53
56
  localCommands: !1
@@ -56,27 +59,27 @@ function n(n) {
56
59
  }
57
60
  case "forward": return {
58
61
  kind: "send",
59
- declineAll: c.declineAll,
62
+ declineAll: l.declineAll,
60
63
  bound: {
61
- writeReply: c.writeReply,
62
- promptText: c.text.from === "remainder" ? c.text.value : r,
64
+ writeReply: l.writeReply,
65
+ promptText: l.text.from === "remainder" ? l.text.value : i,
63
66
  localCommands: !1
64
67
  }
65
68
  };
66
69
  }
67
70
  }
68
- function r(e) {
71
+ function i(e) {
69
72
  let t = e.filter((e) => e.status === "pending");
70
73
  return {
71
74
  count: t.length,
72
75
  execution: t.some((e) => e.offersConfirm) ? "enabled" : "fenced"
73
76
  };
74
77
  }
75
- var i = 8e3, a = {
78
+ var a = 8e3, o = {
76
79
  set: (e, t) => setTimeout(e, t),
77
80
  clear: (e) => clearTimeout(e)
78
81
  };
79
- function o(e, t, n = a) {
82
+ function s(e, t, n = o) {
80
83
  return new Promise((r) => {
81
84
  let i = !1, a = n.set(() => {
82
85
  i || (i = !0, r("timed_out"));
@@ -86,8 +89,8 @@ function o(e, t, n = a) {
86
89
  });
87
90
  });
88
91
  }
89
- function s(e) {
92
+ function c(e) {
90
93
  return e?.proposals === !0 && e.writeApprovalMode === "proposal-v1" ? "proposal-v1" : "legacy";
91
94
  }
92
95
  //#endregion
93
- export { i as WRITE_REPLY_DECLINE_WAIT_MS, n as planWriteReply, s as promptWriteApproval, o as settleWithin, r as writeReplyLiveState };
96
+ export { a as WRITE_REPLY_DECLINE_WAIT_MS, r as planWriteReply, c as promptWriteApproval, s as settleWithin, i as writeReplyLiveState };
@@ -3,8 +3,8 @@ import "../../shared-graphql.js";
3
3
  import { useAuth as t } from "../providers/shell/AuthProvider.js";
4
4
  import { useActiveContext as n } from "../providers/shell/ActiveContextProvider.js";
5
5
  import { Card as r, CardContent as ee } from "../../ui/card.js";
6
- import "../../ui.js";
7
6
  import { useI18n as te } from "../providers/shell/I18nProvider.js";
7
+ import "../../ui.js";
8
8
  import { usePageConversationContext as ne } from "../providers/shell/PageConversationContextProvider.js";
9
9
  import "../../shared-providers-shell.js";
10
10
  import { Composer as i } from "./contextConversationWidget/Composer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"RybbitSink.d.ts","sourceRoot":"","sources":["../../../../src/shared/events/sinks/RybbitSink.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,EAiCxD,CAAC;AAqDF,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,yFAAyF;IACzF,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,8CAA8C;IAC9C,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAWD,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,sBAAsB,GAAG,IAAI,CAI1E;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAG9C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ1D;AA2BD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAM1F;AA6BD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,SAAiD,EACjD,MAAqB,EACrB,SAAoC,EACpC,UAA6B,GAC9B,EAAE,eAAe,QAqEjB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,WAA4B,EAAE,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,kDA4DhG"}
1
+ {"version":3,"file":"RybbitSink.d.ts","sourceRoot":"","sources":["../../../../src/shared/events/sinks/RybbitSink.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGhE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,EAiCxD,CAAC;AAqDF,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,yFAAyF;IACzF,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,8CAA8C;IAC9C,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAWD,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,sBAAsB,GAAG,IAAI,CAI1E;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAG9C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ1D;AA2BD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAM1F;AA6BD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,SAAiD,EACjD,MAAqB,EACrB,SAAoC,EACpC,UAA6B,GAC9B,EAAE,eAAe,QAqEjB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,WAA4B,EAAE,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,kDAiEhG"}