@burdenoff/fe-libs 2026.815.2 → 2026.815.4

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.
@@ -1,5 +1,25 @@
1
1
  import { AssistantMode, AssistantPromptPart, AssistantRawMessage, AssistantSandboxAuthContext, AssistantArtifact, AssistantSessionInfo, DownloadedAssistantArtifact, StreamAccess } from './types';
2
2
  export declare function findExistingSandbox(workspaceId: string, mode: AssistantMode, isProd: boolean, authContext: AssistantSandboxAuthContext): Promise<string | null>;
3
+ /**
4
+ * Does this mode write through the gateway, and therefore need the
5
+ * confirm-before-write gate?
6
+ *
7
+ * Single source of truth: the env builder, the metadata stamped at create time
8
+ * and the reuse check all derive from this, so they cannot drift into a state
9
+ * where a sandbox is write-capable but not gated.
10
+ */
11
+ export declare function modeRequiresConfirmWrites(mode: AssistantMode): boolean;
12
+ /**
13
+ * Environment for an assistant sandbox container.
14
+ *
15
+ * Extracted and exported so the authority coupling below is unit-testable:
16
+ * a mode that can write must arrive with its brake on, and that invariant is
17
+ * too easy to break silently from inside an async network call.
18
+ */
19
+ export declare function buildAssistantSandboxEnv(product: string, mode: AssistantMode, workspaceId: string, authContext: Pick<AssistantSandboxAuthContext, 'accessToken' | 'workspaceToken'>): Array<{
20
+ name: string;
21
+ value: string;
22
+ }>;
3
23
  export declare function createAssistantSandbox(product: string, mode: AssistantMode, workspaceId: string, isProd: boolean, ttlSeconds: number, authContext: AssistantSandboxAuthContext): Promise<string>;
4
24
  /**
5
25
  * Wait for RUNNING. Prefers the svc long-poll (waitForSandboxRunning); on an
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,YAAY,EACb,MAAM,SAAS,CAAC;AA8CjB,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6BxB;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,MAAM,CAAC,CAgFjB;AAsCD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,2BAA2B,EACxC,SAAS,SAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,2BAA2B,EACxC,SAAS,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAWhC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACjD,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC/B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK1B;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAChD,WAAW,EAAE,2BAA2B;AACxC,yFAAyF;AACzF,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAC1C,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBjC;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,2BAA2B,EACxC,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAUhC;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAqB9B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAY9B;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,oBAAoB,CAAC,CAc/B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,2BAA2B,CAAC,CAiBtC;AAED,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,WAAW,EAAE,2BAA2B,GACvC,OAAO,CAAC,IAAI,CAAC,CAaf"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/api.ts"],"names":[],"mappings":"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"}
@@ -32,13 +32,16 @@ async function b(n, r, i, o) {
32
32
  variables: { context: e(n, o) },
33
33
  workspaceId: n,
34
34
  authContext: o
35
- })).getActiveSandboxes ?? []).find((e) => (e.status === "RUNNING" || e.status === "PROVISIONING" || e.status === "PENDING") && e.template === "AI_BUILDER" && m(e) === r && (!o.userId || e.createdBy === o.userId) && e.metadata?.authStrategy === "sandbox-app-client-headers-v1" && e.metadata?.imageTag === f(r, i))?.id ?? null;
35
+ })).getActiveSandboxes ?? []).find((e) => (e.status === "RUNNING" || e.status === "PROVISIONING" || e.status === "PENDING") && e.template === "AI_BUILDER" && m(e) === r && (!o.userId || e.createdBy === o.userId) && e.metadata?.authStrategy === "sandbox-app-client-headers-v1" && e.metadata?.imageTag === f(r, i) && (!x(r) || e.metadata?.confirmWrites === !0))?.id ?? null;
36
36
  }
37
- async function x(n, i, a, o, s, c) {
38
- let l = p(i), m = [
37
+ function x(e) {
38
+ return e === "api-calls";
39
+ }
40
+ function S(e, t, n, r) {
41
+ let i = [
39
42
  {
40
43
  name: "AI_ASSISTANT_MODE",
41
- value: i
44
+ value: t
42
45
  },
43
46
  {
44
47
  name: "HOSTNAME",
@@ -46,24 +49,29 @@ async function x(n, i, a, o, s, c) {
46
49
  },
47
50
  {
48
51
  name: "WORKSPACE_ID",
49
- value: a
52
+ value: n
50
53
  },
51
54
  {
52
55
  name: "AI_ASSISTANT_PRODUCT",
53
- value: n
56
+ value: e
54
57
  }
55
58
  ];
56
- i === "assistant" && (m.push({
59
+ return t === "assistant" && (i.push({
57
60
  name: "AI_ASSISTANT_READONLY",
58
61
  value: "1"
59
- }), c.accessToken && m.push({
62
+ }), r.accessToken && i.push({
60
63
  name: "AUTH_TOKEN",
61
- value: c.accessToken
62
- }), c.workspaceToken && m.push({
64
+ value: r.accessToken
65
+ }), r.workspaceToken && i.push({
63
66
  name: "WORKSPACE_AUTH_TOKEN",
64
- value: c.workspaceToken
65
- }));
66
- let h = (t) => ({
67
+ value: r.workspaceToken
68
+ })), x(t) && i.push({
69
+ name: "AI_ASSISTANT_CONFIRM_WRITES",
70
+ value: "1"
71
+ }), i;
72
+ }
73
+ async function C(n, i, a, o, s, c) {
74
+ let l = p(i), m = S(n, i, a, c), h = (t) => ({
67
75
  name: `ai-assistant-${i}-${Date.now()}`,
68
76
  description: `AI Assistant sandbox (${i} mode)`,
69
77
  template: "AI_BUILDER",
@@ -84,7 +92,8 @@ async function x(n, i, a, o, s, c) {
84
92
  assistantOwnerUserId: c.userId ?? null,
85
93
  assistantOrganizationId: c.organizationId ?? null,
86
94
  authStrategy: u,
87
- imageTag: f(i, o)
95
+ imageTag: f(i, o),
96
+ confirmWrites: x(i)
88
97
  },
89
98
  context: e(a, c)
90
99
  }), g = (e) => t({
@@ -104,7 +113,7 @@ async function x(n, i, a, o, s, c) {
104
113
  if (!_?.createSandbox?.id) throw Error("createSandbox returned empty response");
105
114
  return _.createSandbox.id;
106
115
  }
107
- async function S(n, r, i) {
116
+ async function w(n, r, i) {
108
117
  return (await t({
109
118
  query: o,
110
119
  operationName: "GetSandbox",
@@ -116,10 +125,10 @@ async function S(n, r, i) {
116
125
  authContext: i
117
126
  })).getSandbox;
118
127
  }
119
- function C(e, t) {
128
+ function T(e, t) {
120
129
  if (e === "FAILED" || e === "STOPPED" || e === "EXPIRED") throw Error(t ? `Sandbox ${e.toLowerCase()}: ${t}` : `Sandbox ${e.toLowerCase()}`);
121
130
  }
122
- async function w(n, r, i, a = 3e5) {
131
+ async function E(n, r, i, a = 3e5) {
123
132
  let o = Date.now();
124
133
  if (h("waitForSandboxRunning") !== "unsupported") for (; Date.now() - o < a;) try {
125
134
  let a = await t({
@@ -136,7 +145,7 @@ async function w(n, r, i, a = 3e5) {
136
145
  _("waitForSandboxRunning");
137
146
  let o = a.waitForSandboxRunning;
138
147
  if (o?.status === "RUNNING") return;
139
- C(o?.status, o?.errorMessage);
148
+ T(o?.status, o?.errorMessage);
140
149
  } catch (e) {
141
150
  if (g(e)) {
142
151
  v("waitForSandboxRunning");
@@ -145,13 +154,13 @@ async function w(n, r, i, a = 3e5) {
145
154
  throw e;
146
155
  }
147
156
  for (; Date.now() - o < a;) {
148
- let e = await S(n, r, i);
157
+ let e = await w(n, r, i);
149
158
  if (e?.status === "RUNNING") return;
150
- C(e?.status, e?.errorMessage), await new Promise((e) => setTimeout(e, 2e3));
159
+ T(e?.status, e?.errorMessage), await new Promise((e) => setTimeout(e, 2e3));
151
160
  }
152
161
  throw Error("Sandbox startup timed out");
153
162
  }
154
- async function T(e, t, n, r = 9e4) {
163
+ async function D(e, t, n, r = 9e4) {
155
164
  let i = Date.now();
156
165
  for (; Date.now() - i < r;) {
157
166
  try {
@@ -165,10 +174,10 @@ async function T(e, t, n, r = 9e4) {
165
174
  }
166
175
  throw Error("Assistant service did not become healthy before timeout");
167
176
  }
168
- async function E(e, t, n, r) {
177
+ async function O(e, t, n, r) {
169
178
  return { sessionId: (await y(e, t, "/sessions", "POST", { mode: n }, r)).session.id };
170
179
  }
171
- function D(e) {
180
+ function k(e) {
172
181
  let { mode: t, prompt: n, pageContext: r, parts: i } = e, a = {
173
182
  mode: t,
174
183
  prompt: n,
@@ -176,8 +185,8 @@ function D(e) {
176
185
  };
177
186
  return i && i.length > 0 && (a.parts = i), a;
178
187
  }
179
- async function O(e, t, n, r, i, a, o, s) {
180
- let c = await y(e, t, `/sessions/${n}/prompt-async`, "POST", D({
188
+ async function A(e, t, n, r, i, a, o, s) {
189
+ let c = await y(e, t, `/sessions/${n}/prompt-async`, "POST", k({
181
190
  mode: i,
182
191
  prompt: r,
183
192
  pageContext: a,
@@ -185,13 +194,13 @@ async function O(e, t, n, r, i, a, o, s) {
185
194
  }), o);
186
195
  return { messageID: typeof c.messageID == "string" ? c.messageID : void 0 };
187
196
  }
188
- async function k(e, t, n, r, i) {
197
+ async function j(e, t, n, r, i) {
189
198
  let a = `/sessions/${n}/messages?limit=${i?.limit ?? 50}`;
190
199
  i?.sinceMs && h("sinceParam") !== "unsupported" && (a += `&since=${i.sinceMs}`);
191
200
  let o = await y(e, t, a, "GET", void 0, r);
192
201
  return typeof o.now == "number" && _("sinceParam"), o.messages ?? [];
193
202
  }
194
- async function A(e, t, n, r) {
203
+ async function M(e, t, n, r) {
195
204
  if (h("sse") === "unsupported") return null;
196
205
  try {
197
206
  let i = await y(e, t, `/sessions/${n}/stream-url`, "GET", void 0, r);
@@ -203,7 +212,7 @@ async function A(e, t, n, r) {
203
212
  return v("sse"), null;
204
213
  }
205
214
  }
206
- async function j(n, r, a, o) {
215
+ async function N(n, r, a, o) {
207
216
  await t({
208
217
  query: i,
209
218
  operationName: "ExtendSandboxTtl",
@@ -216,20 +225,20 @@ async function j(n, r, a, o) {
216
225
  authContext: o
217
226
  });
218
227
  }
219
- async function M(e, t, n, r) {
228
+ async function P(e, t, n, r) {
220
229
  await y(e, t, `/sessions/${n}/heartbeat`, "POST", void 0, r).catch(() => void 0);
221
230
  }
222
- async function N(e, t, n, r) {
231
+ async function F(e, t, n, r) {
223
232
  return ((await y(e, t, `/sessions/${n}/artifacts`, "GET", void 0, r)).artifacts ?? []).filter((e) => !e.name.startsWith("."));
224
233
  }
225
- async function P(e, t, n, r) {
234
+ async function I(e, t, n, r) {
226
235
  let i = await y(e, t, `/sessions/${n}`, "GET", void 0, r);
227
236
  return {
228
237
  id: i.session?.id ?? n,
229
238
  mode: i.mode ?? "unknown"
230
239
  };
231
240
  }
232
- async function F(e, t, n, r, i) {
241
+ async function L(e, t, n, r, i) {
233
242
  let a = (await y(e, t, `/sessions/${n}/artifacts/download?path=${encodeURIComponent(r)}`, "GET", void 0, i)).artifact;
234
243
  if (!a) throw Error("Artifact download returned an empty response");
235
244
  return {
@@ -238,7 +247,7 @@ async function F(e, t, n, r, i) {
238
247
  contentBase64: a.contentBase64
239
248
  };
240
249
  }
241
- async function I(e, r) {
250
+ async function R(e, r) {
242
251
  return (await t({
243
252
  query: n,
244
253
  operationName: "CheckAiCredits",
@@ -247,7 +256,7 @@ async function I(e, r) {
247
256
  authContext: r
248
257
  })).checkAiCredits;
249
258
  }
250
- async function L(e, n, r, i, a, o) {
259
+ async function z(e, n, r, i, a, o) {
251
260
  let s = Math.max(0, Math.round(a.input ?? 0)), l = Math.max(0, Math.round(a.output ?? 0));
252
261
  s + l === 0 || !i || await t({
253
262
  query: c,
@@ -264,4 +273,4 @@ async function L(e, n, r, i, a, o) {
264
273
  });
265
274
  }
266
275
  //#endregion
267
- export { D as buildPromptRequestBody, I as checkAssistantAiCredits, x as createAssistantSandbox, E as createAssistantSession, F as downloadAssistantArtifact, j as extendAssistantSandboxTTL, b as findExistingSandbox, N as getAssistantArtifacts, k as getAssistantMessages, P as getAssistantSession, A as getAssistantStreamAccess, L as reportAssistantAiTokenUsage, O as sendAssistantPromptAsync, M as sendHeartbeat, T as waitForAssistantServiceReady, w as waitForSandboxRunning };
276
+ export { k as buildPromptRequestBody, R as checkAssistantAiCredits, C as createAssistantSandbox, O as createAssistantSession, L as downloadAssistantArtifact, N as extendAssistantSandboxTTL, b as findExistingSandbox, F as getAssistantArtifacts, j as getAssistantMessages, I as getAssistantSession, M as getAssistantStreamAccess, z as reportAssistantAiTokenUsage, A as sendAssistantPromptAsync, P as sendHeartbeat, D as waitForAssistantServiceReady, E as waitForSandboxRunning };
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/shared/config/products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDf,CAAC;AAEX,eAAO,MAAM,QAAQ,EAAE,aAAa,EA+SnC,CAAC;AAOF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB;;QA7Y7B,MAAM;UACJ,MAAM;UACN,MAAM;WACL,MAAM;kBACC,MAAM;IACpB;;;;;OAKG;iBACU,OAAO;IAoYrB"}
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/shared/config/products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDf,CAAC;AAEX,eAAO,MAAM,QAAQ,EAAE,aAAa,EA8SnC,CAAC;AAOF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB;;QA5Y7B,MAAM;UACJ,MAAM;UACN,MAAM;WACL,MAAM;kBACC,MAAM;IACpB;;;;;OAKG;iBACU,OAAO;IAmYrB"}
@@ -85,11 +85,10 @@ var e = {
85
85
  },
86
86
  {
87
87
  id: "healthybowl",
88
- name: "Healthybowl",
88
+ name: "HealthyBowl",
89
89
  icon: "HB",
90
90
  color: "#22c55e",
91
- description: "Health & wellness platform",
92
- comingSoon: !0
91
+ description: "AI-powered agricultural intelligence & farm operations"
93
92
  },
94
93
  {
95
94
  id: "adaptercloud",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.815.2",
3
+ "version": "2026.815.4",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {