@burdenoff/fe-libs 2026.928.2 → 2026.929.1

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 (142) hide show
  1. package/dist/shared/assistant/adminModeSendGate.d.ts +6 -5
  2. package/dist/shared/assistant/adminModeSendGate.d.ts.map +1 -1
  3. package/dist/shared/assistant/adminModeSendGate.js +11 -11
  4. package/dist/shared/assistant/api.d.ts +291 -28
  5. package/dist/shared/assistant/api.d.ts.map +1 -1
  6. package/dist/shared/assistant/api.js +351 -147
  7. package/dist/shared/assistant/autoRouting.d.ts +11 -3
  8. package/dist/shared/assistant/autoRouting.d.ts.map +1 -1
  9. package/dist/shared/assistant/autoRouting.js +7 -7
  10. package/dist/shared/assistant/capabilities.d.ts +28 -0
  11. package/dist/shared/assistant/capabilities.d.ts.map +1 -1
  12. package/dist/shared/assistant/capabilities.js +19 -10
  13. package/dist/shared/assistant/conversation.d.ts +24 -2
  14. package/dist/shared/assistant/conversation.d.ts.map +1 -1
  15. package/dist/shared/assistant/createSandboxAssistantTransport.d.ts.map +1 -1
  16. package/dist/shared/assistant/createSandboxAssistantTransport.js +67 -54
  17. package/dist/shared/assistant/history/historyList.js +1 -1
  18. package/dist/shared/assistant/history/historyMapping.d.ts.map +1 -1
  19. package/dist/shared/assistant/history/historyMapping.js +5 -1
  20. package/dist/shared/assistant/history/historyResume.js +7 -7
  21. package/dist/shared/assistant/i18nManifest.d.ts +53 -0
  22. package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
  23. package/dist/shared/assistant/i18nManifest.js +75 -16
  24. package/dist/shared/assistant/index.d.ts +15 -0
  25. package/dist/shared/assistant/index.d.ts.map +1 -1
  26. package/dist/shared/assistant/modeCapabilities.js +1 -1
  27. package/dist/shared/assistant/operations.d.ts +22 -0
  28. package/dist/shared/assistant/operations.d.ts.map +1 -1
  29. package/dist/shared/assistant/operations.js +2 -2
  30. package/dist/shared/assistant/prewarm.d.ts +7 -0
  31. package/dist/shared/assistant/prewarm.d.ts.map +1 -1
  32. package/dist/shared/assistant/prewarm.js +1 -1
  33. package/dist/shared/assistant/product.d.ts +80 -2
  34. package/dist/shared/assistant/product.d.ts.map +1 -1
  35. package/dist/shared/assistant/product.js +10 -6
  36. package/dist/shared/assistant/proposalWriteRules.d.ts +40 -0
  37. package/dist/shared/assistant/proposalWriteRules.d.ts.map +1 -0
  38. package/dist/shared/assistant/proposalWriteRules.js +14 -0
  39. package/dist/shared/assistant/store.d.ts +17 -0
  40. package/dist/shared/assistant/store.d.ts.map +1 -1
  41. package/dist/shared/assistant/store.js +50 -43
  42. package/dist/shared/assistant/turnOutcome.d.ts +34 -2
  43. package/dist/shared/assistant/turnOutcome.d.ts.map +1 -1
  44. package/dist/shared/assistant/turnOutcome.js +28 -17
  45. package/dist/shared/assistant/turnOutcomeCopy.d.ts +29 -7
  46. package/dist/shared/assistant/turnOutcomeCopy.d.ts.map +1 -1
  47. package/dist/shared/assistant/turnOutcomeCopy.js +18 -6
  48. package/dist/shared/assistant/types.d.ts +5 -1
  49. package/dist/shared/assistant/types.d.ts.map +1 -1
  50. package/dist/shared/assistant/ui/AssistantApiCallsConsentDialog.js +4 -4
  51. package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
  52. package/dist/shared/assistant/ui/AssistantChatArea.js +989 -718
  53. package/dist/shared/assistant/ui/AssistantConversationList.js +6 -6
  54. package/dist/shared/assistant/ui/AssistantLanguageMenu.js +6 -6
  55. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts +8 -1
  56. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
  57. package/dist/shared/assistant/ui/AssistantMessageItem.js +77 -76
  58. package/dist/shared/assistant/ui/AssistantMessageList.d.ts +13 -1
  59. package/dist/shared/assistant/ui/AssistantMessageList.d.ts.map +1 -1
  60. package/dist/shared/assistant/ui/AssistantMessageList.js +15 -13
  61. package/dist/shared/assistant/ui/AssistantReplyLanguageSelector.js +5 -5
  62. package/dist/shared/assistant/ui/AssistantSpeechProvider.js +209 -209
  63. package/dist/shared/assistant/ui/AssistantWriteConfirmDialog.d.ts +62 -0
  64. package/dist/shared/assistant/ui/AssistantWriteConfirmDialog.d.ts.map +1 -0
  65. package/dist/shared/assistant/ui/AssistantWriteConfirmDialog.js +253 -0
  66. package/dist/shared/assistant/ui/AssistantWriteProposalCard.d.ts +72 -0
  67. package/dist/shared/assistant/ui/AssistantWriteProposalCard.d.ts.map +1 -0
  68. package/dist/shared/assistant/ui/AssistantWriteProposalCard.js +439 -0
  69. package/dist/shared/assistant/ui/AssistantWriteProposalSlot.d.ts +40 -0
  70. package/dist/shared/assistant/ui/AssistantWriteProposalSlot.d.ts.map +1 -0
  71. package/dist/shared/assistant/ui/AssistantWriteProposalSlot.js +35 -0
  72. package/dist/shared/assistant/ui/composer/AssistantComposer.js +8 -8
  73. package/dist/shared/assistant/ui/useVoiceSession.d.ts +28 -0
  74. package/dist/shared/assistant/ui/useVoiceSession.d.ts.map +1 -1
  75. package/dist/shared/assistant/ui/useVoiceSession.js +159 -110
  76. package/dist/shared/assistant/ui/useWriteProposalConfirm.d.ts +61 -0
  77. package/dist/shared/assistant/ui/useWriteProposalConfirm.d.ts.map +1 -0
  78. package/dist/shared/assistant/ui/useWriteProposalConfirm.js +109 -0
  79. package/dist/shared/assistant/ui/useWriteProposals.d.ts +102 -0
  80. package/dist/shared/assistant/ui/useWriteProposals.d.ts.map +1 -0
  81. package/dist/shared/assistant/ui/useWriteProposals.js +230 -0
  82. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts +17 -1
  83. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
  84. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +141 -109
  85. package/dist/shared/assistant/ui/writeProposalPresentation.d.ts +76 -0
  86. package/dist/shared/assistant/ui/writeProposalPresentation.d.ts.map +1 -0
  87. package/dist/shared/assistant/ui/writeProposalPresentation.js +110 -0
  88. package/dist/shared/assistant/usageReporting.d.ts +108 -0
  89. package/dist/shared/assistant/usageReporting.d.ts.map +1 -0
  90. package/dist/shared/assistant/usageReporting.js +155 -0
  91. package/dist/shared/assistant/useAssistantApiAccess.d.ts +49 -14
  92. package/dist/shared/assistant/useAssistantApiAccess.d.ts.map +1 -1
  93. package/dist/shared/assistant/useAssistantApiAccess.js +43 -25
  94. package/dist/shared/assistant/useAssistantHeartbeat.d.ts.map +1 -1
  95. package/dist/shared/assistant/useAssistantHeartbeat.js +5 -5
  96. package/dist/shared/assistant/useWorkspaceWriteAccess.d.ts +5 -6
  97. package/dist/shared/assistant/useWorkspaceWriteAccess.d.ts.map +1 -1
  98. package/dist/shared/assistant/voice/voiceSession.d.ts +46 -0
  99. package/dist/shared/assistant/voice/voiceSession.d.ts.map +1 -1
  100. package/dist/shared/assistant/voice/voiceSession.js +35 -2
  101. package/dist/shared/assistant/writeConfirmSeam.d.ts +32 -0
  102. package/dist/shared/assistant/writeConfirmSeam.d.ts.map +1 -0
  103. package/dist/shared/assistant/writeConfirmSeam.js +23 -0
  104. package/dist/shared/assistant/writeModeConsent.d.ts +16 -8
  105. package/dist/shared/assistant/writeModeConsent.d.ts.map +1 -1
  106. package/dist/shared/assistant/writeModeConsent.js +2 -2
  107. package/dist/shared/assistant/writeProposalDiscovery.d.ts +123 -0
  108. package/dist/shared/assistant/writeProposalDiscovery.d.ts.map +1 -0
  109. package/dist/shared/assistant/writeProposalDiscovery.js +210 -0
  110. package/dist/shared/assistant/writeProposalErrorCopy.d.ts +135 -0
  111. package/dist/shared/assistant/writeProposalErrorCopy.d.ts.map +1 -0
  112. package/dist/shared/assistant/writeProposalErrorCopy.js +135 -0
  113. package/dist/shared/assistant/writeProposalVoice.d.ts +133 -0
  114. package/dist/shared/assistant/writeProposalVoice.d.ts.map +1 -0
  115. package/dist/shared/assistant/writeProposalVoice.js +66 -0
  116. package/dist/shared/assistant/writeProposals.d.ts +268 -0
  117. package/dist/shared/assistant/writeProposals.d.ts.map +1 -0
  118. package/dist/shared/assistant/writeProposals.js +445 -0
  119. package/dist/shared/assistant/writeReplyBinder.d.ts +166 -0
  120. package/dist/shared/assistant/writeReplyBinder.d.ts.map +1 -0
  121. package/dist/shared/assistant/writeReplyBinder.js +233 -0
  122. package/dist/shared/assistant/writeReplySend.d.ts +110 -0
  123. package/dist/shared/assistant/writeReplySend.d.ts.map +1 -0
  124. package/dist/shared/assistant/writeReplySend.js +93 -0
  125. package/dist/shared/graphql/fetch.d.ts +12 -1
  126. package/dist/shared/graphql/fetch.d.ts.map +1 -1
  127. package/dist/shared/graphql/fetch.js +101 -80
  128. package/dist/shared/providers/shell/ActiveContextProvider.d.ts.map +1 -1
  129. package/dist/shared/providers/shell/ActiveContextProvider.js +28 -26
  130. package/dist/shared/providers/shell/PersonaSurfaceProvider.d.ts.map +1 -1
  131. package/dist/shared/providers/shell/PersonaSurfaceProvider.js +165 -193
  132. package/dist/shared/providers/shell/personaSurfaceRemote.d.ts +8 -2
  133. package/dist/shared/providers/shell/personaSurfaceRemote.d.ts.map +1 -1
  134. package/dist/shared/providers/shell/personaSurfaceRemote.js +37 -15
  135. package/dist/shared/providers/shell/useRemoteNavPreferences.d.ts +30 -0
  136. package/dist/shared/providers/shell/useRemoteNavPreferences.d.ts.map +1 -0
  137. package/dist/shared/providers/shell/useRemoteNavPreferences.js +43 -0
  138. package/dist/shared-assistant.js +167 -152
  139. package/dist/ui/modal-shell.d.ts +14 -1
  140. package/dist/ui/modal-shell.d.ts.map +1 -1
  141. package/dist/ui/modal-shell.js +8 -6
  142. package/package.json +2 -2
@@ -1,10 +1,10 @@
1
1
  import { createProfileScopedStorage as e } from "../utils/profileScopedStorage.js";
2
2
  import "../../shared-utils.js";
3
- import { forgetLiveTurns as t } from "./liveTurns.js";
4
- import { LEGACY_WRITE_CONSENT_KEY as n, restoreAcknowledgedWriteModes as r, withWriteModeAcknowledged as i } from "./writeModeConsent.js";
5
- import { restoreAutoRouting as a } from "./autoRouting.js";
6
- import { createGuardedAssistantStorage as o } from "./guardedStorage.js";
7
- import { getHistoryStamp as s, historyOpenFilter as c, notifyAssistantStorageFull as l } from "./history/stampRegistry.js";
3
+ import { restoreAutoRouting as t } from "./autoRouting.js";
4
+ import { createGuardedAssistantStorage as n } from "./guardedStorage.js";
5
+ import { getHistoryStamp as r, historyOpenFilter as i, notifyAssistantStorageFull as a } from "./history/stampRegistry.js";
6
+ import { forgetLiveTurns as o } from "./liveTurns.js";
7
+ import { LEGACY_WRITE_CONSENT_KEY as s, restoreAcknowledgedWriteModes as c, withWriteModeAcknowledged as l } from "./writeModeConsent.js";
8
8
  import { create as u } from "zustand";
9
9
  import { persist as d } from "zustand/middleware";
10
10
  //#region src/shared/assistant/store.ts
@@ -18,31 +18,32 @@ function p(e) {
18
18
  mode: e.mode
19
19
  } : null;
20
20
  }
21
- function m(e, t) {
22
- let i = typeof e == "object" && e ? Object.fromEntries(Object.entries(e).filter(([e]) => e !== n)) : {};
21
+ var m = new Set([s, "sandboxWriteCapabilities"]);
22
+ function h(e, n) {
23
+ let r = typeof e == "object" && e ? Object.fromEntries(Object.entries(e).filter(([e]) => !m.has(e))) : {};
23
24
  return {
24
- ...t,
25
- ...i,
26
- acknowledgedWriteModes: r(e),
27
- autoRouting: a(e)
25
+ ...n,
26
+ ...r,
27
+ acknowledgedWriteModes: c(e),
28
+ autoRouting: t(e)
28
29
  };
29
30
  }
30
- function h(e, n, r) {
31
- let i = new Set(n);
32
- r && e.activeConversationId !== null && i.delete(e.activeConversationId);
33
- let a = e.conversations.filter((e) => i.has(e.id));
31
+ function g(e, t, n) {
32
+ let r = new Set(t);
33
+ n && e.activeConversationId !== null && r.delete(e.activeConversationId);
34
+ let a = e.conversations.filter((e) => r.has(e.id));
34
35
  if (a.length === 0) return {};
35
- t(a.flatMap((e) => e.messages.map((e) => e.id)));
36
- let o = e.conversations.filter((e) => !i.has(e.id)), s = { ...e.processingByConversationId };
37
- for (let e of i) delete s[e];
38
- if (e.activeConversationId === null || !i.has(e.activeConversationId)) return {
39
- conversations: o,
40
- processingByConversationId: s
36
+ o(a.flatMap((e) => e.messages.map((e) => e.id)));
37
+ let s = e.conversations.filter((e) => !r.has(e.id)), c = { ...e.processingByConversationId };
38
+ for (let e of r) delete c[e];
39
+ if (e.activeConversationId === null || !r.has(e.activeConversationId)) return {
40
+ conversations: s,
41
+ processingByConversationId: c
41
42
  };
42
- let l = o.find(c());
43
+ let l = s.find(i());
43
44
  return {
44
- conversations: o,
45
- processingByConversationId: s,
45
+ conversations: s,
46
+ processingByConversationId: c,
46
47
  activeConversationId: l?.id ?? null,
47
48
  ...l ? {
48
49
  mode: l.mode,
@@ -50,7 +51,7 @@ function h(e, n, r) {
50
51
  } : {}
51
52
  };
52
53
  }
53
- var g = u()(d((e, t) => ({
54
+ var _ = u()(d((e, t) => ({
54
55
  conversations: [],
55
56
  activeConversationId: null,
56
57
  mode: "assistant",
@@ -58,21 +59,22 @@ var g = u()(d((e, t) => ({
58
59
  processingByConversationId: {},
59
60
  conversationListOpen: !1,
60
61
  sandboxesByMode: {},
62
+ sandboxWriteCapabilities: {},
61
63
  pendingPrompt: null,
62
64
  acknowledgedWriteModes: [],
63
65
  autoSpeakEnabled: !1,
64
66
  assistantLanguage: null,
65
67
  replyLanguage: null,
66
68
  preferredVoices: {},
67
- createConversation: (n, r, i) => {
68
- let a = f(), o = (/* @__PURE__ */ new Date()).toISOString(), c = r === void 0 && t().autoRouting, l = i?.routedBy ?? (c ? "auto" : void 0), u = r ?? (c ? "assistant" : t().mode), d = s(), p = {
69
- id: a,
69
+ createConversation: (n, i, a) => {
70
+ let o = f(), s = (/* @__PURE__ */ new Date()).toISOString(), c = i === void 0 && t().autoRouting, l = a?.routedBy ?? (c ? "auto" : void 0), u = i ?? (c ? "assistant" : t().mode), d = r(), p = {
71
+ id: o,
70
72
  title: n || "New conversation",
71
73
  mode: u,
72
74
  messages: [],
73
75
  backendSessionId: null,
74
- createdAt: o,
75
- updatedAt: o,
76
+ createdAt: s,
77
+ updatedAt: s,
76
78
  ...l ? { routedBy: l } : {},
77
79
  ...d ? { sync: {
78
80
  v: 1,
@@ -82,11 +84,11 @@ var g = u()(d((e, t) => ({
82
84
  };
83
85
  return e((e) => ({
84
86
  conversations: [p, ...e.conversations],
85
- activeConversationId: a,
87
+ activeConversationId: o,
86
88
  conversationListOpen: !1,
87
89
  mode: u,
88
90
  autoRouting: l === "auto"
89
- })), a;
91
+ })), o;
90
92
  },
91
93
  deleteConversation: (t) => e((e) => {
92
94
  let n = e.conversations.filter((e) => e.id !== t), r = { ...e.processingByConversationId };
@@ -94,14 +96,14 @@ var g = u()(d((e, t) => ({
94
96
  conversations: n,
95
97
  processingByConversationId: r
96
98
  };
97
- let i = n.find(c());
99
+ let a = n.find(i());
98
100
  return {
99
101
  conversations: n,
100
102
  processingByConversationId: r,
101
- activeConversationId: i?.id ?? null,
102
- ...i ? {
103
- mode: i.mode,
104
- autoRouting: i.routedBy === "auto"
103
+ activeConversationId: a?.id ?? null,
104
+ ...a ? {
105
+ mode: a.mode,
106
+ autoRouting: a.routedBy === "auto"
105
107
  } : {}
106
108
  };
107
109
  }),
@@ -248,6 +250,10 @@ var g = u()(d((e, t) => ({
248
250
  let n = { ...e.sandboxesByMode };
249
251
  return delete n[t], { sandboxesByMode: n };
250
252
  }),
253
+ setSandboxWriteCapabilities: (t, n) => e((e) => {
254
+ let r = { ...e.sandboxWriteCapabilities };
255
+ return n === null ? delete r[t] : r[t] = { ...n }, { sandboxWriteCapabilities: r };
256
+ }),
251
257
  resetStore: () => e({
252
258
  conversations: [],
253
259
  activeConversationId: null,
@@ -256,6 +262,7 @@ var g = u()(d((e, t) => ({
256
262
  processingByConversationId: {},
257
263
  conversationListOpen: !1,
258
264
  sandboxesByMode: {},
265
+ sandboxWriteCapabilities: {},
259
266
  pendingPrompt: null,
260
267
  acknowledgedWriteModes: [],
261
268
  autoSpeakEnabled: !1,
@@ -268,7 +275,7 @@ var g = u()(d((e, t) => ({
268
275
  let n = t().pendingPrompt;
269
276
  return n !== null && e({ pendingPrompt: null }), n;
270
277
  },
271
- acknowledgeWriteMode: (t) => e((e) => ({ acknowledgedWriteModes: i(e.acknowledgedWriteModes, t) })),
278
+ acknowledgeWriteMode: (t) => e((e) => ({ acknowledgedWriteModes: l(e.acknowledgedWriteModes, t) })),
272
279
  setAutoSpeak: (t) => e({ autoSpeakEnabled: t }),
273
280
  setAssistantLanguage: (t) => e({ assistantLanguage: t }),
274
281
  setReplyLanguage: (t) => e({ replyLanguage: t }),
@@ -309,11 +316,11 @@ var g = u()(d((e, t) => ({
309
316
  ...a && !i.titleLocked ? { title: a } : {}
310
317
  };
311
318
  }) })),
312
- removeConversationsSilently: (t) => e((e) => h(e, t, !1)),
313
- evictConversations: (t) => e((e) => h(e, t, !0))
319
+ removeConversationsSilently: (t) => e((e) => g(e, t, !1)),
320
+ evictConversations: (t) => e((e) => g(e, t, !0))
314
321
  }), {
315
322
  name: "hb-ai-assistant",
316
- storage: o(e(), (e, t, n) => l(n)),
323
+ storage: n(e(), (e, t, n) => a(n)),
317
324
  partialize: (e) => ({
318
325
  conversations: e.conversations.map(({ ...e }) => e),
319
326
  activeConversationId: e.activeConversationId,
@@ -326,7 +333,7 @@ var g = u()(d((e, t) => ({
326
333
  replyLanguage: e.replyLanguage,
327
334
  preferredVoices: e.preferredVoices
328
335
  }),
329
- merge: m
336
+ merge: h
330
337
  }));
331
338
  //#endregion
332
- export { m as mergePersistedAssistantState, p as resolveActiveModeSandbox, g as useAssistantStore };
339
+ export { h as mergePersistedAssistantState, p as resolveActiveModeSandbox, _ as useAssistantStore };
@@ -1,7 +1,9 @@
1
1
  import { AssistantTr } from './i18n';
2
2
  import { TurnOutcomeCopyId } from './turnOutcomeCopy';
3
+ import { AssistantMode } from './types';
4
+ import { SandboxWriteCapabilities } from './writeProposals';
3
5
  /** Why a send was refused before it reached the backend. */
4
- export type SendRefusalReason = "confirm-write-mode" | "voice-in-write-mode" | "mode-unavailable" | "mode-admin-only" | "mode-access-pending";
6
+ export type SendRefusalReason = "confirm-write-mode" | "voice-in-write-mode" | "mode-unavailable" | "mode-admin-only" | "mode-access-pending" | "usage-not-permitted" | "usage-not-recorded";
5
7
  /**
6
8
  * A send refused on the client, before it reached the backend: something must
7
9
  * be confirmed, chosen or waited for first. Thrown instead of a bare `Error` so
@@ -23,6 +25,28 @@ export interface TurnOutcome {
23
25
  /** The server's trace id, for support — shown as a reference, never as the message. */
24
26
  traceId: string | null;
25
27
  }
28
+ /**
29
+ * Could the failed turn NOT have confirmed an action? (D3, BOFF-7803.) Only
30
+ * then may its temporary outcome say "no action was confirmed".
31
+ *
32
+ * - Ask: it writes nothing.
33
+ * - A sandbox whose own `/health` said `proposal-v1` AND the v1 proposal
34
+ * protocol (`writeProposalsEnabledFor`): only a card's button confirms a
35
+ * change there, never a turn, and the legacy approve refuses such a sandbox
36
+ * before anything is sent. With the mode alone the panel keeps the legacy
37
+ * Approve, so a turn can still confirm a write.
38
+ *
39
+ * Everything else keeps the shipped wording. In legacy Take action the "go
40
+ * ahead" the panel sends after a person pressed Approve IS a turn, and its
41
+ * write may have run before the turn failed; a build mode writes directly.
42
+ * Unknown (no sandbox, a `/health` never read) is "everything else".
43
+ */
44
+ export declare function turnConfirmsNoAction({ mode, capabilities, }: {
45
+ /** The mode the turn was sent in. */
46
+ mode: AssistantMode;
47
+ /** What the turn's sandbox said about writes in its own `/health`. */
48
+ capabilities: SandboxWriteCapabilities | null | undefined;
49
+ }): boolean;
26
50
  /**
27
51
  * The outcome of a failed turn.
28
52
  *
@@ -34,7 +58,15 @@ export interface TurnOutcome {
34
58
  * timeout, a 5xx, a sandbox that did not come up — retrying can succeed, and
35
59
  * nothing about the person's plan or access is implied.
36
60
  */
37
- export declare function classifyTurnFailure(error: unknown): TurnOutcome;
61
+ export declare function classifyTurnFailure(error: unknown,
62
+ /**
63
+ * `confirmsNoAction` (`turnConfirmsNoAction`): the turn could not have
64
+ * confirmed an action, so a temporary failure may say that none was.
65
+ * Absent or false keeps the shipped temporary copy, which claims nothing.
66
+ */
67
+ options?: {
68
+ confirmsNoAction?: boolean;
69
+ }): TurnOutcome;
38
70
  /**
39
71
  * What the outcome says: `text` for the conversation, `headline` alone for
40
72
  * compact surfaces (a preview's end state), and whether it is `translated`.
@@ -1 +1 @@
1
- {"version":3,"file":"turnOutcome.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnOutcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM;CAKvD;AAED,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,CAAC;AAEhB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,6BAA6B;IAC7B,IAAI,EAAE,iBAAiB,CAAC;IACxB,oFAAoF;IACpF,aAAa,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uFAAuF;IACvF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAsC/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,WAAW,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAuBzD"}
1
+ {"version":3,"file":"turnOutcome.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnOutcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,qBAAqB,GAErB,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM;CAKvD;AAED,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,CAAC;AAEhB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,6BAA6B;IAC7B,IAAI,EAAE,iBAAiB,CAAC;IACxB,oFAAoF;IACpF,aAAa,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uFAAuF;IACvF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AA2BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,YAAY,GACb,EAAE;IACD,qCAAqC;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,sEAAsE;IACtE,YAAY,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3D,GAAG,OAAO,CAMV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO;AACd;;;;GAIG;AACH,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,WAAW,CAuCb;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,WAAW,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAuBzD"}
@@ -22,11 +22,19 @@ var i = class extends Error {
22
22
  },
23
23
  "mode-admin-only": {
24
24
  kind: "permission",
25
- copy: "modeAdminOnly"
25
+ copy: "modeWorkspaceAdminOnly"
26
26
  },
27
27
  "mode-access-pending": {
28
28
  kind: "temporary",
29
29
  copy: "modeAccessPending"
30
+ },
31
+ "usage-not-permitted": {
32
+ kind: "permission",
33
+ copy: "usageNotPermitted"
34
+ },
35
+ "usage-not-recorded": {
36
+ kind: "temporary",
37
+ copy: "usageNotRecorded"
30
38
  }
31
39
  };
32
40
  function o(e, n) {
@@ -36,38 +44,41 @@ function o(e, n) {
36
44
  }
37
45
  return null;
38
46
  }
39
- function s(t) {
40
- let n = o(t, "traceId");
47
+ function s({ mode: e, capabilities: t }) {
48
+ return e === "assistant" || t?.proposals === !0 && t.writeApprovalMode === "proposal-v1";
49
+ }
50
+ function c(t, n = {}) {
51
+ let s = o(t, "traceId");
41
52
  if (t instanceof i) return {
42
53
  ...a[t.reason],
43
54
  offersUpgrade: !1,
44
55
  quotaName: null,
45
56
  traceId: null
46
57
  };
47
- let s = e(t);
48
- if (s) return {
58
+ let c = e(t);
59
+ if (c) return {
49
60
  kind: "usage",
50
- copy: s.refusal === "exhausted" ? "usageExhausted" : "usageNotProvisioned",
51
- offersUpgrade: s.refusal === "exhausted",
52
- quotaName: s.quotaName,
53
- traceId: s.traceId ?? n
61
+ copy: c.refusal === "exhausted" ? "usageAllowanceReached" : "usageNotProvisioned",
62
+ offersUpgrade: c.refusal === "exhausted",
63
+ quotaName: c.quotaName,
64
+ traceId: c.traceId ?? s
54
65
  };
55
- let c = r(t);
56
- return c ? {
66
+ let l = r(t);
67
+ return l ? {
57
68
  kind: "permission",
58
- copy: c.refusal === "session" ? "sessionUnverified" : "permissionDenied",
69
+ copy: l.refusal === "session" ? "sessionUnverified" : "permissionDenied",
59
70
  offersUpgrade: !1,
60
71
  quotaName: null,
61
- traceId: n
72
+ traceId: s
62
73
  } : {
63
74
  kind: "temporary",
64
- copy: "temporary",
75
+ copy: n.confirmsNoAction === !0 ? "temporaryNotConfirmed" : "temporary",
65
76
  offersUpgrade: !1,
66
77
  quotaName: null,
67
- traceId: n
78
+ traceId: s
68
79
  };
69
80
  }
70
- function c(e, t) {
81
+ function l(e, t) {
71
82
  let r = n[e.copy], i = t(r.key, r.fallback), a = n.reference, o = e.traceId ? a.fallback.replace("{{id}}", e.traceId) : null, s = e.traceId ? t(a.key, a.fallback, { id: e.traceId }) : null, c = i !== r.fallback && (s === null || s !== o), l = c ? i : r.fallback, u = c ? s : o, d = [e.quotaName, u].filter((e) => !!e);
72
83
  return {
73
84
  text: d.length ? `${l}\n\n${d.join(" · ")}` : l,
@@ -76,4 +87,4 @@ function c(e, t) {
76
87
  };
77
88
  }
78
89
  //#endregion
79
- export { i as AssistantSendRefusal, s as classifyTurnFailure, c as turnOutcomeCopy };
90
+ export { i as AssistantSendRefusal, c as classifyTurnFailure, s as turnConfirmsNoAction, l as turnOutcomeCopy };
@@ -10,17 +10,35 @@
10
10
  * The checklist: "Four distinct outcomes, never collapsed into 'upgrade your
11
11
  * plan': usage exhausted · permission denied · confirmation pending · temporary
12
12
  * failure". `turnOutcome.ts` decides which one a failure is; this is what each
13
- * one says. Only `usageExhausted` may ever mention upgrading.
13
+ * one says. Only `usageAllowanceReached` may ever mention upgrading.
14
+ *
15
+ * ★★ CHANGED WORDS GET A NEW KEY. Products seed this copy (English and its
16
+ * translations) into their own bundles, and a seeded value wins over the
17
+ * fallback here. Rewording an entry under its old key would change nothing a
18
+ * product has already seeded — the stale English, and every translation of it,
19
+ * would keep masking the new words. So a rewording retires the key and names a
20
+ * new one (BOFF-7803: `modeWorkspaceAdminOnly`, `usageAllowanceReached`), and
21
+ * the old key leaves the manifest with it. `temporaryNotConfirmed` is a new
22
+ * key BESIDE `temporary`, not a rewording of it: the two say different things
23
+ * and each is shown only where it is true (`classifyTurnFailure`).
14
24
  */
15
25
  export declare const TURN_OUTCOME_COPY: {
16
- readonly usageExhausted: {
17
- readonly key: "outcome.usageExhausted";
18
- readonly fallback: "You've reached your sandbox limit on the current plan. Upgrade to start the AI assistant.";
26
+ readonly usageAllowanceReached: {
27
+ readonly key: "outcome.usageAllowanceReached";
28
+ readonly fallback: "Your workspace has reached its AI usage allowance. Upgrade your plan to keep using the AI assistant.";
19
29
  };
20
30
  readonly usageNotProvisioned: {
21
31
  readonly key: "outcome.usageNotProvisioned";
22
32
  readonly fallback: "This workspace has no sandbox allowance provisioned, so the AI assistant cannot start. Upgrading will not help — ask an administrator to provision it.";
23
33
  };
34
+ readonly usageNotPermitted: {
35
+ readonly key: "outcome.usageNotPermitted";
36
+ readonly fallback: "Assistant usage can't be recorded for your role in this workspace yet, so the assistant is paused. Ask a workspace admin.";
37
+ };
38
+ readonly usageNotRecorded: {
39
+ readonly key: "outcome.usageNotRecorded";
40
+ readonly fallback: "We couldn't record usage for your last reply, so the assistant is paused for a moment. Try again shortly.";
41
+ };
24
42
  readonly permissionDenied: {
25
43
  readonly key: "outcome.permissionDenied";
26
44
  readonly fallback: "You do not have permission to do that in this workspace. Ask someone who administers it for access.";
@@ -29,9 +47,9 @@ export declare const TURN_OUTCOME_COPY: {
29
47
  readonly key: "outcome.sessionUnverified";
30
48
  readonly fallback: "Your session could not be verified for this workspace. Reopen the page, then send again.";
31
49
  };
32
- readonly modeAdminOnly: {
33
- readonly key: "outcome.modeAdminOnly";
34
- readonly fallback: "This assistant mode is only available to organization admins. Switch to another mode and send again.";
50
+ readonly modeWorkspaceAdminOnly: {
51
+ readonly key: "outcome.modeWorkspaceAdminOnly";
52
+ readonly fallback: "This assistant mode is only available to workspace admins. Switch to another mode and send again.";
35
53
  };
36
54
  readonly confirmWriteMode: {
37
55
  readonly key: "outcome.confirmWriteMode";
@@ -53,6 +71,10 @@ export declare const TURN_OUTCOME_COPY: {
53
71
  readonly key: "outcome.temporary";
54
72
  readonly fallback: "The assistant couldn't finish this just now. It's a temporary problem on our side — not your plan or your access. Try again in a moment.";
55
73
  };
74
+ readonly temporaryNotConfirmed: {
75
+ readonly key: "outcome.temporaryNotConfirmed";
76
+ readonly fallback: "The assistant couldn't finish this just now, and no action was confirmed. It's a temporary problem on our side — not your plan or your access. Try again in a moment.";
77
+ };
56
78
  readonly reference: {
57
79
  readonly key: "outcome.reference";
58
80
  readonly fallback: "Reference: {{id}}";
@@ -1 +1 @@
1
- {"version":3,"file":"turnOutcomeCopy.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnOutcomeCopy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DwC,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC"}
1
+ {"version":3,"file":"turnOutcomeCopy.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnOutcomeCopy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFwC,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC"}
@@ -1,13 +1,21 @@
1
1
  //#region src/shared/assistant/turnOutcomeCopy.ts
2
2
  var e = {
3
- usageExhausted: {
4
- key: "outcome.usageExhausted",
5
- fallback: "You've reached your sandbox limit on the current plan. Upgrade to start the AI assistant."
3
+ usageAllowanceReached: {
4
+ key: "outcome.usageAllowanceReached",
5
+ fallback: "Your workspace has reached its AI usage allowance. Upgrade your plan to keep using the AI assistant."
6
6
  },
7
7
  usageNotProvisioned: {
8
8
  key: "outcome.usageNotProvisioned",
9
9
  fallback: "This workspace has no sandbox allowance provisioned, so the AI assistant cannot start. Upgrading will not help — ask an administrator to provision it."
10
10
  },
11
+ usageNotPermitted: {
12
+ key: "outcome.usageNotPermitted",
13
+ fallback: "Assistant usage can't be recorded for your role in this workspace yet, so the assistant is paused. Ask a workspace admin."
14
+ },
15
+ usageNotRecorded: {
16
+ key: "outcome.usageNotRecorded",
17
+ fallback: "We couldn't record usage for your last reply, so the assistant is paused for a moment. Try again shortly."
18
+ },
11
19
  permissionDenied: {
12
20
  key: "outcome.permissionDenied",
13
21
  fallback: "You do not have permission to do that in this workspace. Ask someone who administers it for access."
@@ -16,9 +24,9 @@ var e = {
16
24
  key: "outcome.sessionUnverified",
17
25
  fallback: "Your session could not be verified for this workspace. Reopen the page, then send again."
18
26
  },
19
- modeAdminOnly: {
20
- key: "outcome.modeAdminOnly",
21
- fallback: "This assistant mode is only available to organization admins. Switch to another mode and send again."
27
+ modeWorkspaceAdminOnly: {
28
+ key: "outcome.modeWorkspaceAdminOnly",
29
+ fallback: "This assistant mode is only available to workspace admins. Switch to another mode and send again."
22
30
  },
23
31
  confirmWriteMode: {
24
32
  key: "outcome.confirmWriteMode",
@@ -40,6 +48,10 @@ var e = {
40
48
  key: "outcome.temporary",
41
49
  fallback: "The assistant couldn't finish this just now. It's a temporary problem on our side — not your plan or your access. Try again in a moment."
42
50
  },
51
+ temporaryNotConfirmed: {
52
+ key: "outcome.temporaryNotConfirmed",
53
+ fallback: "The assistant couldn't finish this just now, and no action was confirmed. It's a temporary problem on our side — not your plan or your access. Try again in a moment."
54
+ },
43
55
  reference: {
44
56
  key: "outcome.reference",
45
57
  fallback: "Reference: {{id}}"
@@ -144,7 +144,11 @@ export interface SandboxAssistantConfig {
144
144
  gatherPageContext?: () => object;
145
145
  /** Session mode. Default 'assistant' (combined docs + api-calls). */
146
146
  mode?: AssistantMode;
147
- /** Enable AI-credit metering (preflight + post-turn report). Fails open. */
147
+ /**
148
+ * Enable AI-credit metering (preflight + post-turn report). The preflight
149
+ * fails open; the report fails CLOSED — a charge that cannot be recorded
150
+ * pauses the next send until it is (`usageReporting.ts`).
151
+ */
148
152
  enableCredits?: boolean;
149
153
  /** Overall per-turn deadline. Default 420_000ms. */
150
154
  streamBudgetMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/types.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { Button as e } from "../../../ui/button.js";
2
2
  import { ModalShell as t } from "../../../ui/modal-shell.js";
3
3
  import { useAssistantTr as n } from "../i18n.js";
4
- import { modeRequiresConfirmWrites as r } from "../api.js";
5
- import { writeModeConsentCopy as i } from "../writeModeConsent.js";
4
+ import { writeModeConsentCopy as r } from "../writeModeConsent.js";
5
+ import { modeRequiresConfirmWrites as i } from "../api.js";
6
6
  import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
7
7
  //#region src/shared/assistant/ui/AssistantApiCallsConsentDialog.tsx
8
8
  var c = { id: "api-calls" }, l = ({ open: l, onConfirm: u, onCancel: d, mode: f = c, currentMode: p }) => {
9
- let m = i(n(), {
9
+ let m = r(n(), {
10
10
  target: f,
11
11
  current: p,
12
- confirmsWrites: r(f.id)
12
+ confirmsWrites: i(f.id)
13
13
  });
14
14
  return /* @__PURE__ */ o(t, {
15
15
  open: l,
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAkKf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAmHvE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAk3HxD,CAAC"}
1
+ {"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAkNf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAmHvE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAskJxD,CAAC"}