@sailfish-ai/recorder 1.11.3 → 1.11.5

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 (40) hide show
  1. package/dist/chunks/{chunkSerializer-CV4nkb5-.js → chunkSerializer-C8qtomKe.js} +1 -1
  2. package/dist/chunks/chunkSerializer-C8qtomKe.js.br +0 -0
  3. package/dist/chunks/chunkSerializer-C8qtomKe.js.gz +0 -0
  4. package/dist/chunks/{chunkSerializer-jzbHv2wf.js → chunkSerializer-RWnu-UfC.js} +1 -1
  5. package/dist/chunks/chunkSerializer-RWnu-UfC.js.br +0 -0
  6. package/dist/chunks/chunkSerializer-RWnu-UfC.js.gz +0 -0
  7. package/dist/chunks/{index-BynFTRFv.js → index-CIK1iDN9.js} +227 -196
  8. package/dist/chunks/index-CIK1iDN9.js.br +0 -0
  9. package/dist/chunks/index-CIK1iDN9.js.gz +0 -0
  10. package/dist/chunks/{index-BP-kNUGS.js → index-DiGs9it7.js} +320 -289
  11. package/dist/chunks/index-DiGs9it7.js.br +0 -0
  12. package/dist/chunks/index-DiGs9it7.js.gz +0 -0
  13. package/dist/eventStore.js +25 -1
  14. package/dist/eventStore.js.br +0 -0
  15. package/dist/eventStore.js.gz +0 -0
  16. package/dist/inAppReportIssueModal/index.js +10 -4
  17. package/dist/inAppReportIssueModal/index.js.br +0 -0
  18. package/dist/inAppReportIssueModal/index.js.gz +0 -0
  19. package/dist/inAppReportIssueModal/integrations.js +50 -0
  20. package/dist/inAppReportIssueModal/integrations.js.br +0 -0
  21. package/dist/inAppReportIssueModal/integrations.js.gz +0 -0
  22. package/dist/recorder.cjs +1 -1
  23. package/dist/recorder.cjs.br +0 -0
  24. package/dist/recorder.cjs.gz +0 -0
  25. package/dist/recorder.js +1 -1
  26. package/dist/recorder.js.br +0 -0
  27. package/dist/recorder.js.gz +0 -0
  28. package/dist/recorder.umd.cjs +41 -10
  29. package/dist/recorder.umd.cjs.br +0 -0
  30. package/dist/recorder.umd.cjs.gz +0 -0
  31. package/dist/types/inAppReportIssueModal/integrations.d.ts +3 -0
  32. package/package.json +1 -1
  33. package/dist/chunks/chunkSerializer-CV4nkb5-.js.br +0 -0
  34. package/dist/chunks/chunkSerializer-CV4nkb5-.js.gz +0 -0
  35. package/dist/chunks/chunkSerializer-jzbHv2wf.js.br +0 -0
  36. package/dist/chunks/chunkSerializer-jzbHv2wf.js.gz +0 -0
  37. package/dist/chunks/index-BP-kNUGS.js.br +0 -0
  38. package/dist/chunks/index-BP-kNUGS.js.gz +0 -0
  39. package/dist/chunks/index-BynFTRFv.js.br +0 -0
  40. package/dist/chunks/index-BynFTRFv.js.gz +0 -0
Binary file
Binary file
@@ -4,6 +4,10 @@
4
4
  const DB_NAME = "leapsEventDB";
5
5
  const STORE_NAME = "recordingEvents";
6
6
  const DB_VERSION = 1;
7
+ // HIPAA MVP: bound at-rest exposure of buffered session events. 24h chosen
8
+ // to allow long offline windows but not indefinite retention; expired
9
+ // records are filtered out at read time and deleted asynchronously.
10
+ const EVENT_TTL_MS = 24 * 60 * 60 * 1000;
7
11
  // Cached open promise; never created on SSR
8
12
  let _dbPromise = null;
9
13
  // Narrow, safe feature check (no throws in weird runtimes)
@@ -85,7 +89,27 @@ export async function getAllIndexedEvents() {
85
89
  req.onerror = () => resolve([]);
86
90
  });
87
91
  });
88
- return result ?? []; // SSR/Edge → []
92
+ const all = result ?? []; // SSR/Edge → []
93
+ // HIPAA MVP TTL filter: drop records older than EVENT_TTL_MS at read time
94
+ // and schedule background deletion of the stale IDs. Done after we
95
+ // have the full list so we don't block the read on the cleanup write.
96
+ const now = Date.now();
97
+ const fresh = [];
98
+ const staleIds = [];
99
+ for (const ev of all) {
100
+ if (typeof ev?.timestamp === "number" && now - ev.timestamp >= EVENT_TTL_MS) {
101
+ if (typeof ev.id === "number")
102
+ staleIds.push(ev.id);
103
+ }
104
+ else {
105
+ fresh.push(ev);
106
+ }
107
+ }
108
+ if (staleIds.length > 0) {
109
+ // Fire-and-forget: don't await; don't surface errors.
110
+ void deleteEventsByIds(staleIds).catch(() => { });
111
+ }
112
+ return fresh;
89
113
  }
90
114
  export async function deleteEventById(id) {
91
115
  await withStore("readwrite", (store) => {
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  import { createTriageAndIssueFromRecorder, createTriageFromRecorder, } from "../graphql";
2
- import { getDefaultReporterAccountId, getFieldsForProject, getIntegrationData, getProjectsForTeam, getSprintFieldId, getUsers, hasValidIntegration, refreshIntegrationData, updateFormWithIntegrationData, updateIssueTypeOptions, } from "./integrations";
2
+ import { getDefaultReporterAccountId, getFieldsForProject, getIntegrationData, getProjectsForTeam, getSprintFieldId, getUsers, getValidSavedReporterAccountId, hasValidIntegration, refreshIntegrationData, saveLastReporterAccountId, updateFormWithIntegrationData, updateIssueTypeOptions, } from "./integrations";
3
3
  import { currentState, isRecording, recordingEndTime, recordingStartTime, resetState, setIsRecording, setRecordingEndTime, setRecordingStartTime, setTimerInterval, timerInterval, } from "./state";
4
4
  import { STORAGE_KEYS } from "./types";
5
5
  import { getChevronSVG, renderCustomMultiSelect, renderDynamicField, } from "./ui";
@@ -844,7 +844,8 @@ function initializeEngTicketForm() {
844
844
  const fields = getFieldsForProject(currentState.engTicketProject, currentState.engTicketIssueType);
845
845
  const reporterField = fields.find((f) => f.fieldId === "reporter");
846
846
  if (reporterField) {
847
- const matchedReporter = getDefaultReporterAccountId();
847
+ const savedReporter = getValidSavedReporterAccountId();
848
+ const matchedReporter = savedReporter || getDefaultReporterAccountId();
848
849
  currentState.engTicketCustomFields["reporter"] =
849
850
  matchedReporter || integrationData.jiraReporterAccountId || "";
850
851
  }
@@ -966,7 +967,8 @@ function bindEngTicketListeners() {
966
967
  const fields = getFieldsForProject(engProjectSelect.value, currentState.engTicketIssueType);
967
968
  const reporterField = fields.find((f) => f.fieldId === "reporter");
968
969
  if (reporterField) {
969
- const matchedReporter = getDefaultReporterAccountId();
970
+ const savedReporter = getValidSavedReporterAccountId();
971
+ const matchedReporter = savedReporter || getDefaultReporterAccountId();
970
972
  currentState.engTicketCustomFields["reporter"] =
971
973
  matchedReporter || integrationData.jiraReporterAccountId || "";
972
974
  }
@@ -1031,6 +1033,9 @@ function bindEngTicketListeners() {
1031
1033
  const fieldId = target.dataset.fieldId;
1032
1034
  if (fieldId) {
1033
1035
  currentState.engTicketCustomFields[fieldId] = target.value;
1036
+ if (fieldId === "reporter" && target.value) {
1037
+ saveLastReporterAccountId(target.value);
1038
+ }
1034
1039
  }
1035
1040
  if (target.tagName === "SELECT") {
1036
1041
  const selectElement = target;
@@ -1168,7 +1173,8 @@ function bindListeners() {
1168
1173
  const fields = getFieldsForProject(currentState.engTicketProject, currentState.engTicketIssueType);
1169
1174
  const reporterField = fields.find((f) => f.fieldId === "reporter");
1170
1175
  if (reporterField) {
1171
- const matchedReporter = getDefaultReporterAccountId();
1176
+ const savedReporter = getValidSavedReporterAccountId();
1177
+ const matchedReporter = savedReporter || getDefaultReporterAccountId();
1172
1178
  currentState.engTicketCustomFields["reporter"] =
1173
1179
  matchedReporter || integrationData.jiraReporterAccountId || "";
1174
1180
  }
@@ -289,6 +289,56 @@ export function getDefaultReporterAccountId() {
289
289
  }
290
290
  return matched ? (matched.id || matched.accountId || null) : null;
291
291
  }
292
+ // localStorage-backed "last reporter" persistence. SSR-safe — accessing
293
+ // `localStorage` on the server throws, so we guard with a window check.
294
+ // Keyed per Jira cloud (primaryCloudId) since accountIds aren't portable
295
+ // across Jira sites; falls back to provider when no cloud id is present.
296
+ function lastReporterStorageKey() {
297
+ if (!integrationData)
298
+ return null;
299
+ const scope = integrationData.primaryCloudId || integrationData.provider || "";
300
+ if (!scope)
301
+ return null;
302
+ return `sf-veritas:lastReporter:${scope}`;
303
+ }
304
+ export function getSavedLastReporterAccountId() {
305
+ if (typeof window === "undefined" || typeof localStorage === "undefined") {
306
+ return null;
307
+ }
308
+ const key = lastReporterStorageKey();
309
+ if (!key)
310
+ return null;
311
+ try {
312
+ return localStorage.getItem(key);
313
+ }
314
+ catch {
315
+ return null;
316
+ }
317
+ }
318
+ export function saveLastReporterAccountId(accountId) {
319
+ if (typeof window === "undefined" || typeof localStorage === "undefined") {
320
+ return;
321
+ }
322
+ const key = lastReporterStorageKey();
323
+ if (!key || !accountId)
324
+ return;
325
+ try {
326
+ localStorage.setItem(key, accountId);
327
+ }
328
+ catch {
329
+ // best-effort persistence — ignore quota / privacy-mode failures
330
+ }
331
+ }
332
+ // Returns the saved last reporter only when it still resolves to an active
333
+ // user on this integration. Stale ids fall through silently.
334
+ export function getValidSavedReporterAccountId() {
335
+ const saved = getSavedLastReporterAccountId();
336
+ if (!saved)
337
+ return null;
338
+ const users = getUsers();
339
+ const stillValid = users.some((u) => (u.accountId || u.id) === saved && u.active !== false);
340
+ return stillValid ? saved : null;
341
+ }
292
342
  // Get projects based on team selection (for Linear) or directly from integration (for Jira)
293
343
  export function getProjectsForTeam(teamId) {
294
344
  if (!integrationData)
package/dist/recorder.cjs CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const e = require("./chunks/index-BP-kNUGS.js");
3
+ const e = require("./chunks/index-DiGs9it7.js");
4
4
  exports.DEFAULT_CAPTURE_SETTINGS = e.DEFAULT_CAPTURE_SETTINGS, exports.DEFAULT_CONSOLE_RECORDING_SETTINGS = e.DEFAULT_CONSOLE_RECORDING_SETTINGS, exports.STORAGE_VERSION = e.STORAGE_VERSION, exports.addOrUpdateMetadata = e.addOrUpdateMetadata, exports.buildBatches = e.buildBatches, exports.clearStaleFuncSpanState = e.clearStaleFuncSpanState, exports.createSkipHeadersPropagationChecker = e.createSkipHeadersPropagationChecker, exports.createTriageAndIssueFromRecorder = e.createTriageAndIssueFromRecorder, exports.createTriageFromRecorder = e.createTriageFromRecorder, exports.disableFunctionSpanTracking = e.disableFunctionSpanTracking, exports.enableFunctionSpanTracking = e.enableFunctionSpanTracking, exports.ensureHrefCache = e.ensureHrefCache, exports.eventSize = e.eventSize, exports.fetchAndSendIp = e.fetchAndSendIp, exports.fetchCaptureSettings = e.fetchCaptureSettings, exports.fetchEngineeringTicketPlatformIntegrations = e.fetchEngineeringTicketPlatformIntegrations, exports.fetchFunctionSpanTrackingEnabled = e.fetchFunctionSpanTrackingEnabled, exports.flushBufferedEvents = e.flushBufferedEvents, exports.getCachedHref = e.getCachedHref, exports.getCachedHrefNoQuery = e.getCachedHrefNoQuery, exports.getFuncSpanHeader = e.getFuncSpanHeader, exports.getIdentifiedUser = e.getIdentifiedUser, exports.getOrSetSessionId = e.getOrSetSessionId, exports.getUrlAndStoredUuids = e.getUrlAndStoredUuids, exports.identify = e.identify, exports.initRecorder = e.initRecorder, exports.initializeConsolePlugin = e.initializeConsolePlugin, exports.initializeDomContentEvents = e.initializeDomContentEvents, exports.initializeFunctionSpanTrackingFromApi = e.initializeFunctionSpanTrackingFromApi, exports.initializePerformancePlugin = e.initializePerformancePlugin, exports.initializeRecording = e.initializeRecording, exports.initializeWebSocket = e.initializeWebSocket, exports.invalidateUrlCache = e.invalidateUrlCache, exports.isFunctionSpanTrackingEnabled = e.isFunctionSpanTrackingEnabled, exports.matchUrlWithWildcard = e.matchUrlWithWildcard, Object.defineProperty(exports, "nowTimestamp", { enumerable: true, get: () => e.nowTimestamp }), exports.onNavigationChange = e.onNavigationChange, exports.openReportIssueModal = e.openReportIssueModal, exports.restoreFuncSpanState = e.restoreFuncSpanState, exports.sendDomainsToNotPropagateHeaderTo = e.sendDomainsToNotPropagateHeaderTo, exports.sendEvent = e.sendEvent, exports.sendGraphQLRequest = e.sendGraphQLRequest, exports.sendMessage = e.sendMessage, exports.startRecording = e.startRecording, exports.startRecordingSession = e.startRecordingSession, exports.trackingEvent = e.trackingEvent, exports.withAppUrlMetadata = e.withAppUrlMetadata;
Binary file
Binary file
package/dist/recorder.js CHANGED
@@ -1,4 +1,4 @@
1
- import { D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, z, A, B, C, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V } from "./chunks/index-BynFTRFv.js";
1
+ import { D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, z, A, B, C, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V } from "./chunks/index-CIK1iDN9.js";
2
2
  export {
3
3
  D as DEFAULT_CAPTURE_SETTINGS,
4
4
  a as DEFAULT_CONSOLE_RECORDING_SETTINGS,
Binary file
Binary file
@@ -515,10 +515,13 @@
515
515
  pe = (async () => {
516
516
  var _a2, _b;
517
517
  const e2 = await (async function getAllIndexedEvents() {
518
- return await withStore$1("readonly", (e3) => new Promise((w3) => {
519
- const C2 = e3.getAll();
520
- C2.onsuccess = () => w3(C2.result), C2.onerror = () => w3([]);
521
- })) ?? [];
518
+ const e3 = await withStore$1("readonly", (e4) => new Promise((w4) => {
519
+ const C3 = e4.getAll();
520
+ C3.onsuccess = () => w4(C3.result), C3.onerror = () => w4([]);
521
+ })) ?? [], w3 = Date.now(), C2 = [], x2 = [];
522
+ for (const I2 of e3) "number" == typeof (I2 == null ? void 0 : I2.timestamp) && w3 - I2.timestamp >= 864e5 ? "number" == typeof I2.id && x2.push(I2.id) : C2.push(I2);
523
+ return x2.length > 0 && deleteEventsByIds(x2).catch(() => {
524
+ }), C2;
522
525
  })(), w2 = {};
523
526
  for (const C2 of e2) {
524
527
  const e3 = ((_b = (_a2 = C2 == null ? void 0 : C2.data) == null ? void 0 : _a2.data) == null ? void 0 : _b.sessionId) ?? "unknown-session";
@@ -593,7 +596,7 @@
593
596
  const w3 = new URL(e3);
594
597
  return `${w3.hostname}${w3.port ? `:${w3.port}` : ""}`;
595
598
  })(e2);
596
- let _2 = `${"https:" === new URL(e2).protocol ? "wss" : "ws"}://${M2}/ws/notify/?apiKey=${w2}&sessionId=${C2}&sender=JS%2FTS&version=1.11.3`;
599
+ let _2 = `${"https:" === new URL(e2).protocol ? "wss" : "ws"}://${M2}/ws/notify/?apiKey=${w2}&sessionId=${C2}&sender=JS%2FTS&version=1.11.5`;
597
600
  if (x2 && (_2 += `&envValue=${encodeURIComponent(x2)}`), le = I2 ? (function tryCreateWsWorker() {
598
601
  if ("undefined" == typeof Worker) return null;
599
602
  try {
@@ -1180,6 +1183,34 @@
1180
1183
  }
1181
1184
  return M2 && (M2.id || M2.accountId) || null;
1182
1185
  }
1186
+ function lastReporterStorageKey() {
1187
+ if (!ut) return null;
1188
+ const e2 = ut.primaryCloudId || ut.provider || "";
1189
+ return e2 ? `sf-veritas:lastReporter:${e2}` : null;
1190
+ }
1191
+ function getSavedLastReporterAccountId() {
1192
+ if ("undefined" == typeof window || "undefined" == typeof localStorage) return null;
1193
+ const e2 = lastReporterStorageKey();
1194
+ if (!e2) return null;
1195
+ try {
1196
+ return localStorage.getItem(e2);
1197
+ } catch {
1198
+ return null;
1199
+ }
1200
+ }
1201
+ function saveLastReporterAccountId(e2) {
1202
+ if ("undefined" == typeof window || "undefined" == typeof localStorage) return;
1203
+ const w2 = lastReporterStorageKey();
1204
+ if (w2 && e2) try {
1205
+ localStorage.setItem(w2, e2);
1206
+ } catch {
1207
+ }
1208
+ }
1209
+ function getValidSavedReporterAccountId() {
1210
+ const e2 = getSavedLastReporterAccountId();
1211
+ if (!e2) return null;
1212
+ return getUsers().some((w2) => (w2.accountId || w2.id) === e2 && false !== w2.active) ? e2 : null;
1213
+ }
1183
1214
  function getProjectsForTeam(e2) {
1184
1215
  if (!ut) return [];
1185
1216
  const w2 = ut.teams && Array.isArray(ut.teams) && ut.teams.length > 0;
@@ -1212,7 +1243,7 @@
1212
1243
  } catch (e3) {
1213
1244
  console.error("Error fetching integration data:", e3), ut = null;
1214
1245
  }
1215
- }, getDefaultReporterAccountId, getFieldsForProject, getIntegrationData, getProjectsForTeam, getSprintFieldId, getUsers, hasValidIntegration, populatePriorityOptions, populateSelectOptions, populateSprintOptions, refreshIntegrationData, updateFormWithIntegrationData, updateIssueTypeOptions }, Symbol.toStringTag, { value: "Module" })), ht = "sf-create-issue-preference", ft = "sf-create-eng-ticket-preference";
1246
+ }, getDefaultReporterAccountId, getFieldsForProject, getIntegrationData, getProjectsForTeam, getSavedLastReporterAccountId, getSprintFieldId, getUsers, getValidSavedReporterAccountId, hasValidIntegration, populatePriorityOptions, populateSelectOptions, populateSprintOptions, refreshIntegrationData, saveLastReporterAccountId, updateFormWithIntegrationData, updateIssueTypeOptions }, Symbol.toStringTag, { value: "Module" })), ht = "sf-create-issue-preference", ft = "sf-create-eng-ticket-preference";
1216
1247
  function getInitialState() {
1217
1248
  const e2 = (function loadUserPreferences() {
1218
1249
  return { createIssue: J && "true" === localStorage.getItem(ht), createEngTicket: J && "true" === localStorage.getItem(ft) };
@@ -1805,7 +1836,7 @@
1805
1836
  if (!wt.engTicketTeam && e5.defaultTeam && (wt.engTicketTeam = e5.defaultTeam), !wt.engTicketProject && e5.defaultProject && (wt.engTicketProject = e5.defaultProject), !wt.engTicketPriority && e5.defaultPriority && (wt.engTicketPriority = e5.defaultPriority), updateFormWithIntegrationData(wt), "jira" === ((_a2 = e5.provider) == null ? void 0 : _a2.toLowerCase()) && wt.engTicketProject && !wt.engTicketCustomFields.reporter) {
1806
1837
  const w5 = getFieldsForProject(wt.engTicketProject, wt.engTicketIssueType).find((e6) => "reporter" === e6.fieldId);
1807
1838
  if (w5) {
1808
- const w6 = getDefaultReporterAccountId();
1839
+ const w6 = getValidSavedReporterAccountId() || getDefaultReporterAccountId();
1809
1840
  wt.engTicketCustomFields.reporter = w6 || e5.jiraReporterAccountId || "";
1810
1841
  }
1811
1842
  }
@@ -1944,7 +1975,7 @@
1944
1975
  if (!wt.engTicketTeam && e2.defaultTeam && (wt.engTicketTeam = e2.defaultTeam), !wt.engTicketProject && e2.defaultProject && (wt.engTicketProject = e2.defaultProject), !wt.engTicketPriority && e2.defaultPriority && (wt.engTicketPriority = e2.defaultPriority), updateFormWithIntegrationData(wt), "jira" === ((_a2 = e2.provider) == null ? void 0 : _a2.toLowerCase()) && wt.engTicketProject && !wt.engTicketCustomFields.reporter) {
1945
1976
  const w2 = getFieldsForProject(wt.engTicketProject, wt.engTicketIssueType).find((e3) => "reporter" === e3.fieldId);
1946
1977
  if (w2) {
1947
- const w3 = getDefaultReporterAccountId();
1978
+ const w3 = getValidSavedReporterAccountId() || getDefaultReporterAccountId();
1948
1979
  wt.engTicketCustomFields.reporter = w3 || e2.jiraReporterAccountId || "";
1949
1980
  }
1950
1981
  }
@@ -1987,7 +2018,7 @@
1987
2018
  if (e3 && I2 && (updateIssueTypeOptions(I2, w2.value), wt.engTicketIssueType = I2.value), e3 && "jira" === ((_a2 = e3.provider) == null ? void 0 : _a2.toLowerCase()) && w2.value) {
1988
2019
  const C3 = getFieldsForProject(w2.value, wt.engTicketIssueType).find((e4) => "reporter" === e4.fieldId);
1989
2020
  if (C3) {
1990
- const w3 = getDefaultReporterAccountId();
2021
+ const w3 = getValidSavedReporterAccountId() || getDefaultReporterAccountId();
1991
2022
  wt.engTicketCustomFields.reporter = w3 || e3.jiraReporterAccountId || "";
1992
2023
  }
1993
2024
  }
@@ -2017,7 +2048,7 @@
2017
2048
  const w3 = e3.target;
2018
2049
  if (w3.classList.contains("sf-dynamic-field")) {
2019
2050
  const e4 = w3.dataset.fieldId;
2020
- if (e4 && (wt.engTicketCustomFields[e4] = w3.value), "SELECT" === w3.tagName) {
2051
+ if (e4 && (wt.engTicketCustomFields[e4] = w3.value, "reporter" === e4 && w3.value && saveLastReporterAccountId(w3.value)), "SELECT" === w3.tagName) {
2021
2052
  const e5 = w3;
2022
2053
  e5.style.color = e5.value ? "" : "#9ca3af";
2023
2054
  }
Binary file
Binary file
@@ -23,5 +23,8 @@ export declare function getUsers(): any[];
23
23
  * user matches to avoid ambiguity.
24
24
  */
25
25
  export declare function getDefaultReporterAccountId(): string | null;
26
+ export declare function getSavedLastReporterAccountId(): string | null;
27
+ export declare function saveLastReporterAccountId(accountId: string): void;
28
+ export declare function getValidSavedReporterAccountId(): string | null;
26
29
  export declare function getProjectsForTeam(teamId?: string): any[];
27
30
  export declare function updateFormWithIntegrationData(currentState: IssueReportState): IssueReportState;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sailfish-ai/recorder",
3
- "version": "1.11.3",
3
+ "version": "1.11.5",
4
4
  "publishPublicly": true,
5
5
  "publishToCdn": {
6
6
  "jsdelivr": true,
Binary file
Binary file
Binary file
Binary file