@burdenoff/fe-libs 2026.810.3 → 2026.813.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.
- package/dist/shared/events/sinks/RybbitSink.d.ts +6 -0
- package/dist/shared/events/sinks/RybbitSink.d.ts.map +1 -1
- package/dist/shared/events/sinks/RybbitSink.js +27 -39
- package/dist/shared/providers/AppShellProvider.d.ts.map +1 -1
- package/dist/shared/providers/AppShellProvider.js +18 -21
- package/dist/storage/uploadBlob.d.ts +11 -0
- package/dist/storage/uploadBlob.d.ts.map +1 -1
- package/dist/storage/uploadBlob.js +1 -1
- package/dist/storage/useSaveToFiles.d.ts +28 -0
- package/dist/storage/useSaveToFiles.d.ts.map +1 -1
- package/dist/storage/useSaveToFiles.js +46 -42
- package/package.json +2 -2
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { BurdenoffEventName } from '../index';
|
|
2
|
+
/**
|
|
3
|
+
* Fallback allowlist for direct RybbitSink consumers. App shells go through
|
|
4
|
+
* AppShellProvider, which passes the wider platform-wide list instead.
|
|
5
|
+
* Exported so tests can assert the two do not drift apart per product.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_RYBBIT_ALLOWLIST: BurdenoffEventName[];
|
|
2
8
|
interface RybbitSinkProps {
|
|
3
9
|
siteId: string | undefined;
|
|
4
10
|
scriptUrl?: string;
|
|
@@ -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;
|
|
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;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,QAuDjB"}
|
|
@@ -2,27 +2,7 @@
|
|
|
2
2
|
import { useEventBus as e } from "../../../shared-events.js";
|
|
3
3
|
import { useEffect as t, useRef as n } from "react";
|
|
4
4
|
//#region src/shared/events/sinks/RybbitSink.tsx
|
|
5
|
-
var r = [
|
|
6
|
-
"nav.route.changed",
|
|
7
|
-
"auth.signed_in",
|
|
8
|
-
"auth.signed_out",
|
|
9
|
-
"support.ticket.created",
|
|
10
|
-
"support.ticket.closed",
|
|
11
|
-
"support.ticket.reopened",
|
|
12
|
-
"support.kb.article_rated",
|
|
13
|
-
"notification.item.opened",
|
|
14
|
-
"notification.preference.updated",
|
|
15
|
-
"notification.admin.sent",
|
|
16
|
-
"notification.template.saved",
|
|
17
|
-
"notification.schedule.updated",
|
|
18
|
-
"bigconsole.dashboard.imported",
|
|
19
|
-
"bigconsole.dashboard.shared",
|
|
20
|
-
"bigconsole.data_sink.imported",
|
|
21
|
-
"bigconsole.widget.created",
|
|
22
|
-
"bigconsole.widget.duplicated",
|
|
23
|
-
"bigconsole.ai.dashboard_generated",
|
|
24
|
-
"bigconsole.ai.dashboard_created"
|
|
25
|
-
], i = /(token|password|secret|authorization|cookie|session|email|name|stack|message|subject|description|query|search|prompt|formula|reason|body|content)/i, a = /(^id$|Id$|_id$|_ID$)/, o = [
|
|
5
|
+
var r = /* @__PURE__ */ "nav.route.changed,auth.signed_in,auth.signed_out,support.ticket.created,support.ticket.closed,support.ticket.reopened,support.kb.article_rated,notification.item.opened,notification.preference.updated,notification.admin.sent,notification.template.saved,notification.schedule.updated,bigconsole.dashboard.import_clicked,bigconsole.dashboard.imported,bigconsole.dashboard.share_clicked,bigconsole.dashboard.shared,bigconsole.data_sink.import_clicked,bigconsole.data_sink.imported,bigconsole.widget.create_clicked,bigconsole.widget.created,bigconsole.widget.duplicate_clicked,bigconsole.widget.duplicated,bigconsole.ai.generate_clicked,bigconsole.ai.dashboard_generated,bigconsole.ai.create_dashboard_clicked,bigconsole.ai.dashboard_created".split(","), i = /(token|password|secret|authorization|cookie|session|email|name|stack|message|subject|description|query|search|prompt|formula|reason|body|content)/i, a = /(^id$|Id$|_id$|_ID$)/, o = [
|
|
26
6
|
"ticketId",
|
|
27
7
|
"categoryId",
|
|
28
8
|
"workspaceId"
|
|
@@ -32,13 +12,20 @@ var r = [
|
|
|
32
12
|
"support.ticket.reopened": o,
|
|
33
13
|
"support.kb.article_rated": ["articleId"],
|
|
34
14
|
"bigconsole.dashboard.imported": ["dashboardId"],
|
|
15
|
+
"bigconsole.dashboard.share_clicked": ["dashboardId"],
|
|
35
16
|
"bigconsole.dashboard.shared": ["dashboardId"],
|
|
36
17
|
"bigconsole.data_sink.imported": ["dataSinkId"],
|
|
18
|
+
"bigconsole.widget.create_clicked": ["dashboardId", "pageId"],
|
|
37
19
|
"bigconsole.widget.created": [
|
|
38
20
|
"dashboardId",
|
|
39
21
|
"pageId",
|
|
40
22
|
"widgetId"
|
|
41
23
|
],
|
|
24
|
+
"bigconsole.widget.duplicate_clicked": [
|
|
25
|
+
"dashboardId",
|
|
26
|
+
"pageId",
|
|
27
|
+
"sourceWidgetId"
|
|
28
|
+
],
|
|
42
29
|
"bigconsole.widget.duplicated": [
|
|
43
30
|
"dashboardId",
|
|
44
31
|
"pageId",
|
|
@@ -46,6 +33,7 @@ var r = [
|
|
|
46
33
|
"widgetId"
|
|
47
34
|
],
|
|
48
35
|
"bigconsole.ai.dashboard_generated": ["generationId"],
|
|
36
|
+
"bigconsole.ai.create_dashboard_clicked": ["generationId"],
|
|
49
37
|
"bigconsole.ai.dashboard_created": ["dashboardId", "generationId"],
|
|
50
38
|
"healthybowl.farm.created": s,
|
|
51
39
|
"healthybowl.crop.created": s,
|
|
@@ -54,33 +42,33 @@ var r = [
|
|
|
54
42
|
}, l = {
|
|
55
43
|
"auth.signed_out": ["reason"],
|
|
56
44
|
"psw.search.performed": ["queryLength"]
|
|
57
|
-
};
|
|
58
|
-
function
|
|
45
|
+
}, u = {};
|
|
46
|
+
function d() {
|
|
59
47
|
let e = window;
|
|
60
48
|
return navigator.doNotTrack === "1" || e.doNotTrack === "1";
|
|
61
49
|
}
|
|
62
|
-
function
|
|
50
|
+
function f(e) {
|
|
63
51
|
let t = 2166136261;
|
|
64
52
|
for (let n = 0; n < e.length; n += 1) t ^= e.charCodeAt(n), t = Math.imul(t, 16777619);
|
|
65
53
|
return `u_${(t >>> 0).toString(16).padStart(8, "0")}`;
|
|
66
54
|
}
|
|
67
|
-
async function
|
|
55
|
+
async function p(e) {
|
|
68
56
|
if (crypto.subtle) {
|
|
69
57
|
let t = new TextEncoder().encode(e), n = await crypto.subtle.digest("SHA-256", t);
|
|
70
58
|
return Array.from(new Uint8Array(n), (e) => e.toString(16).padStart(2, "0")).join("");
|
|
71
59
|
}
|
|
72
|
-
return
|
|
60
|
+
return f(e);
|
|
73
61
|
}
|
|
74
|
-
function
|
|
62
|
+
function m(e, t) {
|
|
75
63
|
return i.test(e) ? !(l[t] ?? []).includes(e) : a.test(e) ? !(c[t] ?? []).includes(e) : !1;
|
|
76
64
|
}
|
|
77
|
-
function
|
|
65
|
+
function h(e, t) {
|
|
78
66
|
if (!e || typeof e != "object" || Array.isArray(e)) return {};
|
|
79
67
|
let n = {};
|
|
80
|
-
for (let [r, i] of Object.entries(e))
|
|
68
|
+
for (let [r, i] of Object.entries(e)) m(r, t) || (typeof i == "string" || typeof i == "number" || typeof i == "boolean") && (n[r] = i);
|
|
81
69
|
return n;
|
|
82
70
|
}
|
|
83
|
-
function
|
|
71
|
+
function g(e) {
|
|
84
72
|
let t = {};
|
|
85
73
|
for (let [n, r] of Object.entries(e)) {
|
|
86
74
|
let e = {
|
|
@@ -92,28 +80,28 @@ function h(e) {
|
|
|
92
80
|
}
|
|
93
81
|
return t;
|
|
94
82
|
}
|
|
95
|
-
function
|
|
96
|
-
let l = e(),
|
|
83
|
+
function _({ siteId: i, scriptUrl: a = "https://app.rybbit.io/api/script.js", rename: o = u, allowlist: s = r, identifyOn: c = "auth.signed_in" }) {
|
|
84
|
+
let l = e(), f = n(!1);
|
|
97
85
|
return t(() => {
|
|
98
|
-
if (!i ||
|
|
99
|
-
|
|
86
|
+
if (!i || f.current) return;
|
|
87
|
+
f.current = !0;
|
|
100
88
|
let e = document.createElement("script");
|
|
101
89
|
return e.src = a, e.defer = !0, e.dataset.siteId = i, document.head.appendChild(e), () => {
|
|
102
90
|
document.head.removeChild(e);
|
|
103
91
|
};
|
|
104
92
|
}, [i, a]), t(() => {
|
|
105
93
|
if (i) return l.onAny((e) => {
|
|
106
|
-
if (
|
|
94
|
+
if (d()) return;
|
|
107
95
|
let t = window;
|
|
108
96
|
if (!t.rybbit || !s.includes(e.name)) return;
|
|
109
|
-
let n =
|
|
97
|
+
let n = g({
|
|
110
98
|
route: e.metadata.route.pathname,
|
|
111
99
|
env: e.metadata.app.env,
|
|
112
|
-
...
|
|
100
|
+
...h(e.payload, e.name)
|
|
113
101
|
});
|
|
114
102
|
if (e.name === c) {
|
|
115
103
|
let r = e.payload, i = r?.userId ?? r?.actorId ?? r?.id;
|
|
116
|
-
i &&
|
|
104
|
+
i && p(i).then((e) => {
|
|
117
105
|
t.rybbit?.identify(e, n);
|
|
118
106
|
});
|
|
119
107
|
}
|
|
@@ -133,4 +121,4 @@ function g({ siteId: i, scriptUrl: a = "https://app.rybbit.io/api/script.js", re
|
|
|
133
121
|
]), null;
|
|
134
122
|
}
|
|
135
123
|
//#endregion
|
|
136
|
-
export {
|
|
124
|
+
export { _ as RybbitSink };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShellProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/AppShellProvider.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AppShellProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/AppShellProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ import { ShellUiProvider as x } from "./shell/ShellUiProvider.js";
|
|
|
19
19
|
import { ContextManagerProvider as ie } from "./shell/ContextManagerProvider.js";
|
|
20
20
|
import { AuthTokenProvider as ae } from "./shell/AuthTokenProvider.js";
|
|
21
21
|
import { MultiGatewayProvider as oe } from "./shell/MultiGatewayProvider.js";
|
|
22
|
-
import { G as
|
|
22
|
+
import { G as S, Q as se, j as C, w } from "../../node_modules/web-vitals/dist/web-vitals.js";
|
|
23
23
|
import { ProfileI18nBridge as T } from "./shell/ProfileI18nBridge.js";
|
|
24
24
|
import { ProfileGeographyBridge as E } from "./shell/ProfileGeographyBridge.js";
|
|
25
25
|
import { DevtoolsSink as D } from "../events/sinks/DevtoolsSink.js";
|
|
@@ -42,10 +42,7 @@ var Y = {
|
|
|
42
42
|
artistrybase: { prod: "cfbecacb6002" },
|
|
43
43
|
atheletebridge: { prod: "c34c6ead7aa8" },
|
|
44
44
|
adaptercloud: {},
|
|
45
|
-
bigconsole: {
|
|
46
|
-
prod: "292459a3e86c",
|
|
47
|
-
nonProd: "a7e7362b0de3"
|
|
48
|
-
},
|
|
45
|
+
bigconsole: { prod: "6d05ed402e84" },
|
|
49
46
|
botlit: { prod: "22e6a050dc9c" },
|
|
50
47
|
collabkin: {},
|
|
51
48
|
comradecircle: {},
|
|
@@ -67,8 +64,8 @@ var Y = {
|
|
|
67
64
|
subscriberbot: {},
|
|
68
65
|
intelwatchtower: {},
|
|
69
66
|
kadaikodi: {}
|
|
70
|
-
}, X = /* @__PURE__ */ "nav.route.changed,auth.signed_in,auth.signed_out,support.ticket.created,support.ticket.closed,support.ticket.reopened,support.kb.article_rated,conversations.conversation.created,conversations.conversation.archived,notification.item.opened,notification.preference.updated,notification.admin.sent,notification.template.saved,notification.schedule.updated,collabkin.tree.created,collabkin.person.created,collabkin.memory.created,collabkin.story.created,collabkin.member.invited,crewfoundry.page.viewed,crewfoundry.dashboard.viewed,crewfoundry.job_posting.created,crewfoundry.candidate.created,crewfoundry.employee.created,crewfoundry.team.created,crewfoundry.project.created,crewfoundry.course.enrolled,crewfoundry.learning_path.created,crewfoundry.service.listed,crewfoundry.leave.approved,crewfoundry.payroll.processed,crewfoundry.invoice.created,coolandlovely.page.viewed,coolandlovely.brand.created,coolandlovely.collection.created,coolandlovely.style_item.created,coolandlovely.look.created,coolandlovely.collaboration.created,coolandlovely.lookbook.created,coolandlovely.wardrobe.item_added,coolandlovely.search.performed,vibecontrols.agent.registered,atheletebridge.page.viewed,atheletebridge.team.created,atheletebridge.fixture.created,atheletebridge.program.created,atheletebridge.session.completed,atheletebridge.metric.logged,atheletebridge.tournament.created,vibecontrols.agent.gateway_auth_setup,vibecontrols.session.created,vibecontrols.session.started,vibecontrols.session.terminal_opened_in_browser,vibecontrols.session.share_link_created,vibecontrols.session.joined_shared,vibecontrols.tunnel.created,vibecontrols.tunnel.started,vibecontrols.vibedeck.button_executed,vibecontrols.quota.agent_limit_hit,vibecontrols.quota.session_limit_hit,vibecontrols.quota.tunnel_limit_hit,vibecontrols.billing.upgrade_clicked,bigconsole.dashboard.imported,bigconsole.dashboard.shared,bigconsole.data_sink.imported,bigconsole.widget.created,bigconsole.widget.duplicated,bigconsole.ai.dashboard_generated,bigconsole.ai.dashboard_created,assethandler.page.viewed,assethandler.asset.viewed,assethandler.asset.created,assethandler.work_order.viewed,assethandler.work_order.created,assethandler.incident.viewed,assethandler.incident.created,assethandler.change.viewed,assethandler.change.created,assethandler.problem.viewed,assethandler.problem.created,assethandler.maintenance.viewed,assethandler.maintenance.created,assethandler.report.viewed,assethandler.analytics.viewed,movethewheels.page.viewed,movethewheels.shipment.created,movethewheels.shipment.delivered,movethewheels.order.created,movethewheels.route.planned,movethewheels.vehicle.assigned,movethewheels.warehouse.inbound_received,theglobalfuel.dashboard.viewed,theglobalfuel.asset.created,theglobalfuel.production.recorded,theglobalfuel.reserve.created,theglobalfuel.contract.created,theglobalfuel.shipment.scheduled,theglobalfuel.shipment.delivered,theglobalfuel.inventory_lot.created,theglobalfuel.emission.recorded,theglobalfuel.emission.verified,theglobalfuel.compliance_cert.created,housingvista.dashboard.viewed,housingvista.property.created,housingvista.property.updated,housingvista.property.deleted,housingvista.property.viewed,housingvista.shortlist.property_added,housingvista.transaction.created,housingvista.transaction.updated,housingvista.investment.created,housingvista.offer.created,housingvista.viewing.scheduled,housingvista.chat.conversation_opened,housingvista.chat.message_sent,housingvista.analytics.viewed,housingvista.asset.created,housingvista.asset.updated,housingvista.amc.purchased,housingvista.verification.submitted,housingvista.home_loan.apply_clicked,housingvista.market_analytics.viewed,housingvista.search.performed,housingvista.export.requested,manufacturedops.production_order.created,manufacturedops.production_order.updated,manufacturedops.production_order.transitioned,manufacturedops.operation.added,manufacturedops.operation.recorded,manufacturedops.work_center.created,manufacturedops.work_center.updated,manufacturedops.work_center.archived,manufacturedops.material_lot.created,manufacturedops.material_lot.updated,manufacturedops.material_lot.status_updated,manufacturedops.inspection_plan.created,manufacturedops.quality_inspection.recorded,manufacturedops.non_conformance.raised,manufacturedops.non_conformance.updated,manufacturedops.non_conformance.transitioned,manufacturedops.asset.created,manufacturedops.maintenance_work_order.created,manufacturedops.maintenance_work_order.transitioned,manufacturedops.downtime_event.recorded,manufacturedops.page.viewed,subscriberbot.page.viewed,adaptercloud.page.viewed,comradecircle.page.viewed,comradecircle.circle.created,comradecircle.post.created,comradecircle.event.created,comradecircle.member.invited,psw.client.created,psw.client.updated,psw.client.archived,psw.engagement.created,psw.engagement.transitioned,psw.matter.created,psw.matter.closed,psw.timeentry.created,psw.invoice.created,psw.compliance.resolved,psw.conflictcheck.recorded,psw.document.created,psw.practicearea.created,psw.search.performed,psw.export.requested,mybodyshield.page.viewed,mybodyshield.program.created,mybodyshield.program.updated,mybodyshield.program.status_changed,mybodyshield.program.archived,mybodyshield.workout.created,mybodyshield.exercise.created,mybodyshield.session.started,intelwatchtower.page.viewed,intelwatchtower.source.created,intelwatchtower.mission.created,intelwatchtower.mission.assigned,intelwatchtower.mission.completed,intelwatchtower.entity.created,intelwatchtower.entity.linked,intelwatchtower.indicator.created,intelwatchtower.observation.created,intelwatchtower.alert.created,intelwatchtower.alert.escalated,intelwatchtower.case.created,intelwatchtower.case.closed,intelwatchtower.report.created,intelwatchtower.report.exported,intelwatchtower.task.created,intelwatchtower.task.completed,intelwatchtower.cop.opened,govcitizenhub.page.viewed,govcitizenhub.dashboard.viewed,govcitizenhub.service.published,govcitizenhub.application.submitted,govcitizenhub.application.decided,govcitizenhub.permit.issued,govcitizenhub.payment.settled,govcitizenhub.grievance.reported,govcitizenhub.grievance.resolved,govcitizenhub.search.performed,cosmicintersection.page.viewed,labsofscience.page.viewed,labsofscience.project.created,labsofscience.experiment.created,labsofscience.protocol.created,labsofscience.dataset.created,labsofscience.inventory_item.created,labsofscience.notebook_entry.signed,labsofscience.pipeline.run_started,hookmovies.page.viewed,headshotmarketing.page.viewed,timecampus.page.viewed,timecampus.dashboard.viewed,timecampus.timer.started,timecampus.timer.stopped,timecampus.time_entry.created,timecampus.timesheet.submitted,timecampus.report.viewed,timecampus.project.viewed,timecampus.meeting.created,timecampus.pomodoro.session.completed,timecampus.focus_score.viewed,kadaikodi.page.viewed,healthybowl.farm.created,healthybowl.crop.created,healthybowl.crop.updated,healthybowl.harvest.recorded,workspaces.page.viewed,workspace.created,project.created,workspace-member.added,project-member.added".split(","), Z = 4e3;
|
|
71
|
-
function
|
|
67
|
+
}, X = /* @__PURE__ */ "nav.route.changed,auth.signed_in,auth.signed_out,support.ticket.created,support.ticket.closed,support.ticket.reopened,support.kb.article_rated,conversations.conversation.created,conversations.conversation.archived,notification.item.opened,notification.preference.updated,notification.admin.sent,notification.template.saved,notification.schedule.updated,collabkin.tree.created,collabkin.person.created,collabkin.memory.created,collabkin.story.created,collabkin.member.invited,crewfoundry.page.viewed,crewfoundry.dashboard.viewed,crewfoundry.job_posting.created,crewfoundry.candidate.created,crewfoundry.employee.created,crewfoundry.team.created,crewfoundry.project.created,crewfoundry.course.enrolled,crewfoundry.learning_path.created,crewfoundry.service.listed,crewfoundry.leave.approved,crewfoundry.payroll.processed,crewfoundry.invoice.created,coolandlovely.page.viewed,coolandlovely.brand.created,coolandlovely.collection.created,coolandlovely.style_item.created,coolandlovely.look.created,coolandlovely.collaboration.created,coolandlovely.lookbook.created,coolandlovely.wardrobe.item_added,coolandlovely.search.performed,vibecontrols.agent.registered,atheletebridge.page.viewed,atheletebridge.team.created,atheletebridge.fixture.created,atheletebridge.program.created,atheletebridge.session.completed,atheletebridge.metric.logged,atheletebridge.tournament.created,vibecontrols.agent.gateway_auth_setup,vibecontrols.session.created,vibecontrols.session.started,vibecontrols.session.terminal_opened_in_browser,vibecontrols.session.share_link_created,vibecontrols.session.joined_shared,vibecontrols.tunnel.created,vibecontrols.tunnel.started,vibecontrols.vibedeck.button_executed,vibecontrols.quota.agent_limit_hit,vibecontrols.quota.session_limit_hit,vibecontrols.quota.tunnel_limit_hit,vibecontrols.billing.upgrade_clicked,bigconsole.dashboard.import_clicked,bigconsole.dashboard.imported,bigconsole.dashboard.share_clicked,bigconsole.dashboard.shared,bigconsole.data_sink.import_clicked,bigconsole.data_sink.imported,bigconsole.widget.create_clicked,bigconsole.widget.created,bigconsole.widget.duplicate_clicked,bigconsole.widget.duplicated,bigconsole.ai.generate_clicked,bigconsole.ai.dashboard_generated,bigconsole.ai.create_dashboard_clicked,bigconsole.ai.dashboard_created,assethandler.page.viewed,assethandler.asset.viewed,assethandler.asset.created,assethandler.work_order.viewed,assethandler.work_order.created,assethandler.incident.viewed,assethandler.incident.created,assethandler.change.viewed,assethandler.change.created,assethandler.problem.viewed,assethandler.problem.created,assethandler.maintenance.viewed,assethandler.maintenance.created,assethandler.report.viewed,assethandler.analytics.viewed,movethewheels.page.viewed,movethewheels.shipment.created,movethewheels.shipment.delivered,movethewheels.order.created,movethewheels.route.planned,movethewheels.vehicle.assigned,movethewheels.warehouse.inbound_received,theglobalfuel.dashboard.viewed,theglobalfuel.asset.created,theglobalfuel.production.recorded,theglobalfuel.reserve.created,theglobalfuel.contract.created,theglobalfuel.shipment.scheduled,theglobalfuel.shipment.delivered,theglobalfuel.inventory_lot.created,theglobalfuel.emission.recorded,theglobalfuel.emission.verified,theglobalfuel.compliance_cert.created,housingvista.dashboard.viewed,housingvista.property.created,housingvista.property.updated,housingvista.property.deleted,housingvista.property.viewed,housingvista.shortlist.property_added,housingvista.transaction.created,housingvista.transaction.updated,housingvista.investment.created,housingvista.offer.created,housingvista.viewing.scheduled,housingvista.chat.conversation_opened,housingvista.chat.message_sent,housingvista.analytics.viewed,housingvista.asset.created,housingvista.asset.updated,housingvista.amc.purchased,housingvista.verification.submitted,housingvista.home_loan.apply_clicked,housingvista.market_analytics.viewed,housingvista.search.performed,housingvista.export.requested,manufacturedops.production_order.created,manufacturedops.production_order.updated,manufacturedops.production_order.transitioned,manufacturedops.operation.added,manufacturedops.operation.recorded,manufacturedops.work_center.created,manufacturedops.work_center.updated,manufacturedops.work_center.archived,manufacturedops.material_lot.created,manufacturedops.material_lot.updated,manufacturedops.material_lot.status_updated,manufacturedops.inspection_plan.created,manufacturedops.quality_inspection.recorded,manufacturedops.non_conformance.raised,manufacturedops.non_conformance.updated,manufacturedops.non_conformance.transitioned,manufacturedops.asset.created,manufacturedops.maintenance_work_order.created,manufacturedops.maintenance_work_order.transitioned,manufacturedops.downtime_event.recorded,manufacturedops.page.viewed,subscriberbot.page.viewed,adaptercloud.page.viewed,comradecircle.page.viewed,comradecircle.circle.created,comradecircle.post.created,comradecircle.event.created,comradecircle.member.invited,psw.client.created,psw.client.updated,psw.client.archived,psw.engagement.created,psw.engagement.transitioned,psw.matter.created,psw.matter.closed,psw.timeentry.created,psw.invoice.created,psw.compliance.resolved,psw.conflictcheck.recorded,psw.document.created,psw.practicearea.created,psw.search.performed,psw.export.requested,mybodyshield.page.viewed,mybodyshield.program.created,mybodyshield.program.updated,mybodyshield.program.status_changed,mybodyshield.program.archived,mybodyshield.workout.created,mybodyshield.exercise.created,mybodyshield.session.started,intelwatchtower.page.viewed,intelwatchtower.source.created,intelwatchtower.mission.created,intelwatchtower.mission.assigned,intelwatchtower.mission.completed,intelwatchtower.entity.created,intelwatchtower.entity.linked,intelwatchtower.indicator.created,intelwatchtower.observation.created,intelwatchtower.alert.created,intelwatchtower.alert.escalated,intelwatchtower.case.created,intelwatchtower.case.closed,intelwatchtower.report.created,intelwatchtower.report.exported,intelwatchtower.task.created,intelwatchtower.task.completed,intelwatchtower.cop.opened,govcitizenhub.page.viewed,govcitizenhub.dashboard.viewed,govcitizenhub.service.published,govcitizenhub.application.submitted,govcitizenhub.application.decided,govcitizenhub.permit.issued,govcitizenhub.payment.settled,govcitizenhub.grievance.reported,govcitizenhub.grievance.resolved,govcitizenhub.search.performed,cosmicintersection.page.viewed,labsofscience.page.viewed,labsofscience.project.created,labsofscience.experiment.created,labsofscience.protocol.created,labsofscience.dataset.created,labsofscience.inventory_item.created,labsofscience.notebook_entry.signed,labsofscience.pipeline.run_started,hookmovies.page.viewed,headshotmarketing.page.viewed,timecampus.page.viewed,timecampus.dashboard.viewed,timecampus.timer.started,timecampus.timer.stopped,timecampus.time_entry.created,timecampus.timesheet.submitted,timecampus.report.viewed,timecampus.project.viewed,timecampus.meeting.created,timecampus.pomodoro.session.completed,timecampus.focus_score.viewed,kadaikodi.page.viewed,healthybowl.farm.created,healthybowl.crop.created,healthybowl.crop.updated,healthybowl.harvest.recorded,workspaces.page.viewed,workspace.created,project.created,workspace-member.added,project-member.added".split(","), Z = 4e3;
|
|
68
|
+
function Q(e) {
|
|
72
69
|
let t = e.technicalMessage ?? e.extensions?.technicalMessage, n = {
|
|
73
70
|
code: e.code,
|
|
74
71
|
operationName: e.operationName,
|
|
@@ -80,13 +77,13 @@ function me(e) {
|
|
|
80
77
|
};
|
|
81
78
|
console.error("[Burdenoff backend error]", e.message, n);
|
|
82
79
|
}
|
|
83
|
-
function
|
|
80
|
+
function me(e) {
|
|
84
81
|
return e === "prod" || e === "production" ? "prod" : e === "alpha" || e === "staging" ? "alpha" : "dev";
|
|
85
82
|
}
|
|
86
|
-
function
|
|
83
|
+
function he(e, t) {
|
|
87
84
|
return e.VITE_DISABLE_ANALYTICS === "true" ? !1 : e.VITE_ENABLE_ANALYTICS === "true" || e.PROD || t !== "dev" ? !0 : e.VITE_ENABLE_ANALYTICS !== "false";
|
|
88
85
|
}
|
|
89
|
-
function
|
|
86
|
+
function ge() {
|
|
90
87
|
return {
|
|
91
88
|
BASE_URL: "/",
|
|
92
89
|
DEV: !1,
|
|
@@ -95,8 +92,8 @@ function _e() {
|
|
|
95
92
|
SSR: !1
|
|
96
93
|
};
|
|
97
94
|
}
|
|
98
|
-
function
|
|
99
|
-
let n =
|
|
95
|
+
function _e(e, t) {
|
|
96
|
+
let n = me(t.VITE_DEPLOY_ENV ?? t.MODE), r = he(t, n), i = Y[e], a = n === "prod" ? i?.prod : i?.nonProd, o = t.VITE_RYBBIT_SITE_ID || a, s = t.VITE_BACKEND_AUDIT_ENDPOINT || (t.PROD ? "/api/fe-events" : void 0);
|
|
100
97
|
return {
|
|
101
98
|
enabled: r,
|
|
102
99
|
appVersion: t.VITE_APP_VERSION || "0.0.0",
|
|
@@ -186,7 +183,7 @@ function ye() {
|
|
|
186
183
|
let t = (t) => {
|
|
187
184
|
let n = t instanceof CustomEvent && a(t.detail) ? t.detail : null;
|
|
188
185
|
if (!o(n)) return;
|
|
189
|
-
|
|
186
|
+
Q(n);
|
|
190
187
|
let r = `${n.code ?? ""}|${n.message}`, i = Date.now(), s = e.current;
|
|
191
188
|
s?.key === r && i - s.shownAt < Z || (e.current = {
|
|
192
189
|
key: r,
|
|
@@ -332,7 +329,7 @@ function Te() {
|
|
|
332
329
|
window.removeEventListener("error", t), window.removeEventListener("unhandledrejection", n);
|
|
333
330
|
};
|
|
334
331
|
}, [e]), B(() => {
|
|
335
|
-
|
|
332
|
+
S((t) => {
|
|
336
333
|
e.emit("perf.lcp.measured", {
|
|
337
334
|
metric: "LCP",
|
|
338
335
|
value: t.value,
|
|
@@ -353,7 +350,7 @@ function Te() {
|
|
|
353
350
|
id: t.id,
|
|
354
351
|
rating: t.rating
|
|
355
352
|
});
|
|
356
|
-
}),
|
|
353
|
+
}), se((t) => {
|
|
357
354
|
e.emit("perf.ttfb.measured", {
|
|
358
355
|
metric: "TTFB",
|
|
359
356
|
value: t.value,
|
|
@@ -383,7 +380,7 @@ function Ee({ config: e, productSlug: t }) {
|
|
|
383
380
|
] })] });
|
|
384
381
|
}
|
|
385
382
|
function De({ config: n, children: r, clearAuthStore: a }) {
|
|
386
|
-
let { productName: o, productSlug: h = o.toLowerCase().replace(/\s+/g, ""), tagline: _ = "", domain: v, i18nProductId: y, gatewayUrls: b, authBridge: x, defaultBrand:
|
|
383
|
+
let { productName: o, productSlug: h = o.toLowerCase().replace(/\s+/g, ""), tagline: _ = "", domain: v, i18nProductId: y, gatewayUrls: b, authBridge: x, defaultBrand: S = "default", defaultMode: se, defaultDensity: C, defaultTypography: w, defaultGlass: T, enablePWA: E = !0, brandInitial: D = o.charAt(0), defaultGateway: O = "workspace", enableSubscriptions: k = !0, fallbackTranslations: A, queryClientOptions: j, toasterPosition: M = "bottom-right", observability: N, tourPageIdFromPath: P } = n, F = V(() => N ?? _e(h, ge()), [N, h]), I = V(() => ({
|
|
387
384
|
productName: o,
|
|
388
385
|
productSlug: h,
|
|
389
386
|
brandInitial: D,
|
|
@@ -435,7 +432,7 @@ function De({ config: n, children: r, clearAuthStore: a }) {
|
|
|
435
432
|
refreshToken: n.refreshToken,
|
|
436
433
|
expiresAt: n.expiresIn ? Date.now() + n.expiresIn * 1e3 : void 0
|
|
437
434
|
};
|
|
438
|
-
}, [b.globalBaseUrl]), Z = z(() => t("organization"), []),
|
|
435
|
+
}, [b.globalBaseUrl]), Z = z(() => t("organization"), []), Q = V(() => {
|
|
439
436
|
let e = new fe({
|
|
440
437
|
queryCache: new de({ onError: (e) => {
|
|
441
438
|
i(e);
|
|
@@ -479,7 +476,7 @@ function De({ config: n, children: r, clearAuthStore: a }) {
|
|
|
479
476
|
config: F,
|
|
480
477
|
productSlug: h
|
|
481
478
|
}), /* @__PURE__ */ W(pe, {
|
|
482
|
-
client:
|
|
479
|
+
client: Q,
|
|
483
480
|
children: /* @__PURE__ */ W(ae, { children: /* @__PURE__ */ W(oe, {
|
|
484
481
|
workspaceBaseUrl: b.workspaceBaseUrl,
|
|
485
482
|
globalBaseUrl: b.globalBaseUrl,
|
|
@@ -509,8 +506,8 @@ function De({ config: n, children: r, clearAuthStore: a }) {
|
|
|
509
506
|
children: /* @__PURE__ */ W(ie, { children: /* @__PURE__ */ W(Se, {
|
|
510
507
|
i18nProductId: y,
|
|
511
508
|
fallbackTranslations: A,
|
|
512
|
-
defaultBrand:
|
|
513
|
-
defaultMode:
|
|
509
|
+
defaultBrand: S,
|
|
510
|
+
defaultMode: se,
|
|
514
511
|
defaultDensity: C,
|
|
515
512
|
defaultTypography: w,
|
|
516
513
|
defaultGlass: T,
|
|
@@ -530,4 +527,4 @@ function De({ config: n, children: r, clearAuthStore: a }) {
|
|
|
530
527
|
});
|
|
531
528
|
}
|
|
532
529
|
//#endregion
|
|
533
|
-
export { De as AppShellProvider,
|
|
530
|
+
export { De as AppShellProvider, _e as resolveAppShellObservabilityConfig };
|
|
@@ -17,5 +17,16 @@ export interface UploadedFile {
|
|
|
17
17
|
name: string;
|
|
18
18
|
folderId: string | null;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Best-effort message extraction, preferring the first GraphQL error's message
|
|
22
|
+
* (Apollo v4 CombinedGraphQLErrors `.errors`, or v3 `.graphQLErrors`) so we surface
|
|
23
|
+
* the real reason a completeUpload failed instead of a generic error envelope.
|
|
24
|
+
*
|
|
25
|
+
* Exported because every `client.mutate` call in this module faces the same
|
|
26
|
+
* problem: under `errorPolicy: 'all'` the failure arrives in-band on
|
|
27
|
+
* `result.error` and the caller's own "that didn't work" string is the LEAST
|
|
28
|
+
* informative thing it could report. See `useSaveToFiles`.
|
|
29
|
+
*/
|
|
30
|
+
export declare function extractErrorMessage(err: unknown): string | undefined;
|
|
20
31
|
export declare function uploadBlobToFiles(params: UploadBlobParams): Promise<UploadedFile>;
|
|
21
32
|
//# sourceMappingURL=uploadBlob.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadBlob.d.ts","sourceRoot":"","sources":["../../src/storage/uploadBlob.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAyBxD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,UAKpC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"uploadBlob.d.ts","sourceRoot":"","sources":["../../src/storage/uploadBlob.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAyBxD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,UAKpC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWpE;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CA8HvF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ApolloClient } from '@apollo/client';
|
|
1
2
|
import { SaveToFilesSource } from './SaveToFilesButton';
|
|
2
3
|
export interface SavedFile {
|
|
3
4
|
id: string;
|
|
@@ -13,5 +14,32 @@ export interface UseSaveToFilesResult {
|
|
|
13
14
|
error: Error | null;
|
|
14
15
|
progress: number;
|
|
15
16
|
}
|
|
17
|
+
/** The Apollo surface `resolveFolderIdByPath` needs — kept narrow so it is trivial to fake. */
|
|
18
|
+
type FolderMutatingClient = Pick<ApolloClient, 'mutate'>;
|
|
19
|
+
/**
|
|
20
|
+
* Resolve (creating if needed) the destination folder for a path, returning its id.
|
|
21
|
+
*
|
|
22
|
+
* Split out of the hook so it is unit-testable the same way `uploadBlobToFiles`
|
|
23
|
+
* is: pure modulo the injected Apollo client.
|
|
24
|
+
*
|
|
25
|
+
* `ensureFolderByPath` is declared `Folder!` in wspace-files-svc, and its
|
|
26
|
+
* resolver creates any missing ancestors and collapses concurrent calls for the
|
|
27
|
+
* same path onto a single row (partial unique index on
|
|
28
|
+
* `(workspace_id, parent_folder_id, name)`). It therefore never resolves to
|
|
29
|
+
* null: a null here means the operation FAILED and GraphQL non-null propagation
|
|
30
|
+
* blanked the field.
|
|
31
|
+
*
|
|
32
|
+
* That distinction is the whole point of this function. The shared Apollo client
|
|
33
|
+
* runs `errorPolicy: 'all'`, so those failures come back IN-BAND on
|
|
34
|
+
* `result.error` rather than being thrown — exactly as `uploadBlobToFiles`
|
|
35
|
+
* already documents for initiateUpload/completeUpload. Reading only `data` and
|
|
36
|
+
* blaming the path turned a gateway OPERATION_TIMEOUT into "Could not resolve
|
|
37
|
+
* folder for path: /HealthyBowl/AI Assistant/Attachments", which reads like a
|
|
38
|
+
* bad path or a missing folder and sent people looking at file-storage quota
|
|
39
|
+
* they had plenty of. Surface the real reason; keep the path as a last resort
|
|
40
|
+
* for the genuinely inexplicable case.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveFolderIdByPath(client: FolderMutatingClient, folderPath: string): Promise<string>;
|
|
16
43
|
export declare function useSaveToFiles(): UseSaveToFilesResult;
|
|
44
|
+
export {};
|
|
17
45
|
//# sourceMappingURL=useSaveToFiles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSaveToFiles.d.ts","sourceRoot":"","sources":["../../src/storage/useSaveToFiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSaveToFiles.d.ts","sourceRoot":"","sources":["../../src/storage/useSaveToFiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAIxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAuB7D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxF,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+FAA+F;AAC/F,KAAK,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED,wBAAgB,cAAc,IAAI,oBAAoB,CAqErD"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { FILES_AFTER_SAVE_REFETCH as e,
|
|
2
|
-
import { useState as
|
|
3
|
-
import { gql as
|
|
4
|
-
import { useApolloClient as
|
|
1
|
+
import { FILES_AFTER_SAVE_REFETCH as e, extractErrorMessage as t, uploadBlobToFiles as n } from "./uploadBlob.js";
|
|
2
|
+
import { useState as r } from "react";
|
|
3
|
+
import { gql as i } from "@apollo/client";
|
|
4
|
+
import { useApolloClient as a } from "@apollo/client/react";
|
|
5
5
|
//#region src/storage/useSaveToFiles.ts
|
|
6
|
-
var
|
|
6
|
+
var o = i`
|
|
7
7
|
mutation SaveToFiles_EnsureFolderByPath($path: String!) {
|
|
8
8
|
ensureFolderByPath(path: $path) {
|
|
9
9
|
id
|
|
@@ -11,7 +11,7 @@ var a = r`
|
|
|
11
11
|
path
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
`,
|
|
14
|
+
`, s = i`
|
|
15
15
|
mutation SaveToFiles_SaveSandboxArtifact($input: SaveSandboxArtifactInput!) {
|
|
16
16
|
saveSandboxArtifactToFiles(input: $input) {
|
|
17
17
|
id
|
|
@@ -20,54 +20,58 @@ var a = r`
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
`;
|
|
23
|
-
function
|
|
24
|
-
let r =
|
|
23
|
+
async function c(e, n) {
|
|
24
|
+
let r = await e.mutate({
|
|
25
|
+
mutation: o,
|
|
26
|
+
variables: { path: n }
|
|
27
|
+
}), i = r.data?.ensureFolderByPath?.id;
|
|
28
|
+
if (i) return i;
|
|
29
|
+
throw Error(t(r.error) ?? `Could not resolve folder for path: ${n}`);
|
|
30
|
+
}
|
|
31
|
+
function l() {
|
|
32
|
+
let i = a(), [o, l] = r(!1), [u, d] = r(null), [f, p] = r(0);
|
|
25
33
|
return {
|
|
26
|
-
save: async (
|
|
27
|
-
|
|
34
|
+
save: async (r) => {
|
|
35
|
+
l(!0), d(null), p(0);
|
|
28
36
|
try {
|
|
29
|
-
let
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (!i) throw Error(`Could not resolve folder for path: ${n.folderPath}`);
|
|
34
|
-
if (n.source.kind === "sandbox-artifact") {
|
|
35
|
-
let t = (await r.mutate({
|
|
36
|
-
mutation: o,
|
|
37
|
+
let a = await c(i, r.folderPath);
|
|
38
|
+
if (r.source.kind === "sandbox-artifact") {
|
|
39
|
+
let n = await i.mutate({
|
|
40
|
+
mutation: s,
|
|
37
41
|
variables: { input: {
|
|
38
|
-
sandboxId:
|
|
39
|
-
sessionId:
|
|
40
|
-
path:
|
|
41
|
-
folderId:
|
|
42
|
-
filename:
|
|
42
|
+
sandboxId: r.source.sandboxId,
|
|
43
|
+
sessionId: r.source.sessionId,
|
|
44
|
+
path: r.source.path,
|
|
45
|
+
folderId: a,
|
|
46
|
+
filename: r.source.filename ?? null
|
|
43
47
|
} },
|
|
44
48
|
refetchQueries: e
|
|
45
|
-
})
|
|
46
|
-
if (!
|
|
47
|
-
return
|
|
49
|
+
}), o = n.data?.saveSandboxArtifactToFiles;
|
|
50
|
+
if (!o) throw Error(t(n.error) ?? "saveSandboxArtifactToFiles returned no file");
|
|
51
|
+
return p(100), o;
|
|
48
52
|
}
|
|
49
|
-
let
|
|
50
|
-
if (!
|
|
51
|
-
let
|
|
52
|
-
return await
|
|
53
|
-
client:
|
|
54
|
-
blob:
|
|
55
|
-
filename:
|
|
56
|
-
mimeType:
|
|
57
|
-
folderId:
|
|
58
|
-
onProgress:
|
|
53
|
+
let o = await r.source.getBlob();
|
|
54
|
+
if (!o) throw Error("Cancelled: no bytes to save");
|
|
55
|
+
let l = o.blob;
|
|
56
|
+
return await n({
|
|
57
|
+
client: i,
|
|
58
|
+
blob: l,
|
|
59
|
+
filename: o.filename ?? r.source.filename,
|
|
60
|
+
mimeType: o.mimeType ?? r.source.mimeType,
|
|
61
|
+
folderId: a,
|
|
62
|
+
onProgress: p
|
|
59
63
|
});
|
|
60
64
|
} catch (e) {
|
|
61
65
|
let t = e instanceof Error ? e : Error(String(e));
|
|
62
|
-
throw
|
|
66
|
+
throw d(t), t;
|
|
63
67
|
} finally {
|
|
64
|
-
|
|
68
|
+
l(!1);
|
|
65
69
|
}
|
|
66
70
|
},
|
|
67
|
-
isPending:
|
|
68
|
-
error:
|
|
69
|
-
progress:
|
|
71
|
+
isPending: o,
|
|
72
|
+
error: u,
|
|
73
|
+
progress: f
|
|
70
74
|
};
|
|
71
75
|
}
|
|
72
76
|
//#endregion
|
|
73
|
-
export {
|
|
77
|
+
export { l as useSaveToFiles };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burdenoff/fe-libs",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.813.1",
|
|
4
4
|
"description": "Burdenoff frontend primitives and domain libraries",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -284,7 +284,7 @@
|
|
|
284
284
|
"lint:sanity": "if [ \"${CI:-}\" = \"true\" ]; then bun run lint; else bun run lint -- --cache --cache-location .eslintcache; fi",
|
|
285
285
|
"format": "prettier --config shared/config/prettier.config.mjs --write \"src/**/*.{ts,tsx}\" \"!src/config/*.config.ts\"",
|
|
286
286
|
"type:check": "bash scripts/build-limits.sh tsc --noEmit",
|
|
287
|
-
"test": "bun test scripts/graphql-schema-drift/__tests__ src/credentials",
|
|
287
|
+
"test": "bun test scripts/graphql-schema-drift/__tests__ src/credentials src/shared/providers/AppShellProvider.test.ts src/shared/events/sinks/RybbitSink.test.ts",
|
|
288
288
|
"sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run lint:sanity && bun run format && bun run type:check && bun run test && bun run build'",
|
|
289
289
|
"switch:status": "bun scripts/deps-mode.ts status",
|
|
290
290
|
"switch:remote": "bun scripts/deps-mode.ts remote",
|