@fleox-agent-crm/agentcrm 0.4.0 → 0.6.0

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 (50) hide show
  1. package/README.md +16 -16
  2. package/changelog.json +18 -0
  3. package/dist/admin/admin-files.json +1 -1
  4. package/dist/agent/agentcrm.mjs +188 -76
  5. package/dist/agent/chunks/{activities-Cj_SIOay.mjs → activities-be260oPg.mjs} +1 -1
  6. package/dist/agent/chunks/{automations-DwWruxmu.mjs → automations-gCDYNS88.mjs} +5 -5
  7. package/dist/agent/chunks/{backup-W3CjgkAJ.mjs → backup-DDqTRbuW.mjs} +4 -4
  8. package/dist/agent/chunks/{compact-BGHI92tm.mjs → compact-C_WX0_F5.mjs} +5 -5
  9. package/dist/agent/chunks/{dedupe-BepmsaHv.mjs → dedupe-isAmKHQV.mjs} +1 -1
  10. package/dist/agent/chunks/{exportCsv-C6e6XEmB.mjs → exportCsv-9ZMyqTdH.mjs} +3 -3
  11. package/dist/agent/chunks/{extCheck-GgHG1dYB.mjs → extCheck-BKh_9aLA.mjs} +4 -4
  12. package/dist/agent/chunks/{files-D1daDgY0.mjs → files-Be7DZd1a.mjs} +6 -6
  13. package/dist/agent/chunks/{forms-BfuWaQjA.mjs → forms-Bb0zztBM.mjs} +4 -4
  14. package/dist/agent/chunks/{importCsv-LVmMTaWU.mjs → importCsv-BuSYG4ja.mjs} +3 -3
  15. package/dist/agent/chunks/{install-BLNflFes.mjs → install-D1lgtRIH.mjs} +1 -1
  16. package/dist/agent/chunks/{loader-MPD9iAvh.mjs → loader-Bnu3GnMW.mjs} +14 -14
  17. package/dist/agent/chunks/{migrate-CsClnnN8.mjs → migrate-Cc_8MHZv.mjs} +1 -1
  18. package/dist/agent/chunks/{pipelines-BAKpPk1w.mjs → pipelines-G-c23x-s.mjs} +4 -4
  19. package/dist/agent/chunks/{records-DcHFelq5.mjs → records-BJLSmv0O.mjs} +2 -2
  20. package/dist/agent/chunks/{registry-COfJrSmg.mjs → registry-BpTyK6yU.mjs} +13 -13
  21. package/dist/agent/chunks/{relations-B9TynBmA.mjs → relations-bmUKPT0G.mjs} +4 -4
  22. package/dist/agent/chunks/{reports-BACHGccj.mjs → reports-ogUa41jr.mjs} +5 -5
  23. package/dist/agent/chunks/{runtime-C0Xf0Axi.mjs → runtime-D-hzk6s9.mjs} +20 -20
  24. package/dist/agent/chunks/{schema-C4lSslXv.mjs → schema-CYm_n5BN.mjs} +4 -4
  25. package/dist/agent/chunks/schemaApply-j5hbwPrH.mjs +169 -0
  26. package/dist/agent/chunks/{seed-6MRmQQBR.mjs → seed-Bb26Zsni.mjs} +2 -2
  27. package/dist/agent/chunks/{server-DC3t8r30.mjs → server-BAQwVNtC.mjs} +3 -3
  28. package/dist/agent/chunks/{standardObjects-CheqfDqa.mjs → standardObjects-vrmqIVLH.mjs} +1 -1
  29. package/dist/agent/chunks/{stats-BfuLWhVV.mjs → stats-bInarNLK.mjs} +4 -4
  30. package/dist/agent/chunks/syncRecords-69hcCgOK.mjs +102 -0
  31. package/dist/agent/chunks/{tools-iSH-yMpl.mjs → tools-BHmVIyP_.mjs} +12 -12
  32. package/dist/agent/chunks/{views-DH1n9Lrt.mjs → views-zRdsphZl.mjs} +5 -5
  33. package/dist/version.json +1 -1
  34. package/package.json +1 -1
  35. package/plugin/.claude-plugin/plugin.json +1 -1
  36. package/plugin/skills/agentcrm-admin/SKILL.md +67 -67
  37. package/plugin/skills/agentcrm-admin/references/records.md +5 -5
  38. package/plugin/skills/agentcrm-admin/references/schema.md +19 -19
  39. package/plugin/skills/agentcrm-extensions/SKILL.md +8 -8
  40. package/plugin/skills/agentcrm-extensions/references/module-recipes.md +2 -2
  41. package/plugin/skills/agentcrm-extensions/references/testing.md +14 -14
  42. package/plugin/skills/agentcrm-extensions/references/theme-recipes.md +3 -3
  43. package/plugin/skills/agentcrm-install/SKILL.md +13 -13
  44. package/plugin/skills/agentcrm-install/references/firebase.md +1 -1
  45. package/plugin/skills/agentcrm-install/references/github.md +1 -1
  46. package/plugin/skills/agentcrm-install/references/mcp.md +2 -2
  47. package/plugin/skills/agentcrm-install/references/plans.md +1 -1
  48. package/plugin/skills/agentcrm-install/references/s3.md +1 -1
  49. package/plugin/skills/agentcrm-manage/SKILL.md +15 -15
  50. package/plugin/skills/agentcrm-sales/SKILL.md +18 -18
@@ -8,7 +8,7 @@ import { n as newId } from "./ids-CvnmrMJX.mjs";
8
8
  import { p as paginate } from "./query-C5nJB_3C.mjs";
9
9
  import { A as ACTIVITY_TYPES } from "../agentcrm.mjs";
10
10
  import { assertCan, OpsError, actorId, emit } from "./context-CxFfqS4D.mjs";
11
- import { r as relationFields, a as relationIds, f as fileTargetPatch, b as fileCleanupMutations } from "./relations-B9TynBmA.mjs";
11
+ import { r as relationFields, a as relationIds, f as fileTargetPatch, b as fileCleanupMutations } from "./relations-bmUKPT0G.mjs";
12
12
  import { activitiesOf, recordOf, asDoc, requireActivity, objectsOf, recordsOf, userOf, fileOf } from "./store-5gqRSKXg.mjs";
13
13
  import "./fields-B0bitgmr.mjs";
14
14
  import "node:util";
@@ -8,17 +8,17 @@ import { toIsoDate, recordLabel, formatFieldValue, normalizeEmail } from "./fiel
8
8
  import { n as newId } from "./ids-CvnmrMJX.mjs";
9
9
  import { plugins } from "./pluginRegistry-DyHtlkcr.mjs";
10
10
  import { r as resolveField, m as matchesFilter } from "./query-C5nJB_3C.mjs";
11
- import { queryContext, setRecordOwner, updateRecord } from "./records-DcHFelq5.mjs";
11
+ import { queryContext, setRecordOwner, updateRecord } from "./records-BJLSmv0O.mjs";
12
12
  import { getSettings } from "./settings-Di8nzNEL.mjs";
13
13
  import { userOf, automationRunsOf, asDoc, requireRecord, requireObject, automationsOf, objectOf, recordsOf, thaw, recordOf, usersOf } from "./store-5gqRSKXg.mjs";
14
14
  import { F as FILTER_OPS } from "../agentcrm.mjs";
15
- import { lastActivityAt, addNote, createTask } from "./activities-Cj_SIOay.mjs";
15
+ import { lastActivityAt, addNote, createTask } from "./activities-be260oPg.mjs";
16
16
  import { OpsError, assertCan } from "./context-CxFfqS4D.mjs";
17
- import { pipelineOfRecord } from "./pipelines-BAKpPk1w.mjs";
17
+ import { pipelineOfRecord } from "./pipelines-G-c23x-s.mjs";
18
18
  import { getAutomationAction, listAutomationActions } from "./extensionActions-D2HtpQz4.mjs";
19
19
  import { registerAutomationAction, subscribeAutomationActions } from "./extensionActions-D2HtpQz4.mjs";
20
- import "./standardObjects-CheqfDqa.mjs";
21
- import "./relations-B9TynBmA.mjs";
20
+ import "./standardObjects-vrmqIVLH.mjs";
21
+ import "./relations-bmUKPT0G.mjs";
22
22
  import "./runtimeConfig-CCOFg1RM.mjs";
23
23
  import "node:util";
24
24
  import "node:fs";
@@ -7,7 +7,7 @@ const __dirname = __acrmDirname(__filename);
7
7
  import { J as JSZip } from "./index-w03ReRs4.mjs";
8
8
  import { F as FILE_ID_RE } from "./ids-u-noYcy5.mjs";
9
9
  import { assertCan, OpsError } from "./context-CxFfqS4D.mjs";
10
- import { exportJson, importJson, planImportJson } from "./exportCsv-C6e6XEmB.mjs";
10
+ import { exportJson, importJson, planImportJson } from "./exportCsv-9ZMyqTdH.mjs";
11
11
  import { filesOf } from "./store-5gqRSKXg.mjs";
12
12
  import "./_commonjsHelpers-ClciMIcB.mjs";
13
13
  import "stream";
@@ -19,10 +19,10 @@ import "./papaparse-Df7i1dHr.mjs";
19
19
  import "./fields-B0bitgmr.mjs";
20
20
  import "./query-C5nJB_3C.mjs";
21
21
  import "./types-BOy9PUl7.mjs";
22
- import "./records-DcHFelq5.mjs";
22
+ import "./records-BJLSmv0O.mjs";
23
23
  import "./ids-CvnmrMJX.mjs";
24
- import "./standardObjects-CheqfDqa.mjs";
25
- import "./relations-B9TynBmA.mjs";
24
+ import "./standardObjects-vrmqIVLH.mjs";
25
+ import "./relations-bmUKPT0G.mjs";
26
26
  const BACKUP_DATA_FILE = "data.json";
27
27
  const BACKUP_FILES_DIR = "files/";
28
28
  async function exportBackupZip(ctx, opts = {}) {
@@ -5,9 +5,9 @@ const require2 = __acrmRequire(import.meta.url);
5
5
  const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
7
  import { assertCan } from "./context-CxFfqS4D.mjs";
8
- import { b as fileCleanupMutations } from "./relations-B9TynBmA.mjs";
9
- import { purgeFiles } from "./files-D1daDgY0.mjs";
10
- import { hardDeleteMutations } from "./records-DcHFelq5.mjs";
8
+ import { b as fileCleanupMutations } from "./relations-bmUKPT0G.mjs";
9
+ import { purgeFiles } from "./files-Be7DZd1a.mjs";
10
+ import { hardDeleteMutations } from "./records-BJLSmv0O.mjs";
11
11
  import { recordsOf, activitiesOf, automationRunsOf } from "./store-5gqRSKXg.mjs";
12
12
  import "./pluginRegistry-DyHtlkcr.mjs";
13
13
  import "./fields-B0bitgmr.mjs";
@@ -16,7 +16,7 @@ import "./ids-CvnmrMJX.mjs";
16
16
  import "./index-RCmo-uld.mjs";
17
17
  import "./http-Bk9ICb7I.mjs";
18
18
  import "./index-BM8qeGOb.mjs";
19
- import "./activities-Cj_SIOay.mjs";
19
+ import "./activities-be260oPg.mjs";
20
20
  import "./query-C5nJB_3C.mjs";
21
21
  import "../agentcrm.mjs";
22
22
  import "node:util";
@@ -27,7 +27,7 @@ import "node:crypto";
27
27
  import "node:os";
28
28
  import "node:child_process";
29
29
  import "node:http";
30
- import "./standardObjects-CheqfDqa.mjs";
30
+ import "./standardObjects-vrmqIVLH.mjs";
31
31
  async function compactData(ctx, opts = {}) {
32
32
  assertCan(ctx, "compact");
33
33
  const cutoff = ctx.now() - (opts.olderThanDays ?? 0) * 864e5;
@@ -6,7 +6,7 @@ const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
7
  import { isEmptyFieldValue, normalizeEmail, normalizeDomain, recordLabel } from "./fields-B0bitgmr.mjs";
8
8
  import { assertCan, OpsError, actorId, emit } from "./context-CxFfqS4D.mjs";
9
- import { c as rewriteReferences, d as fileMergeMutations } from "./relations-B9TynBmA.mjs";
9
+ import { c as rewriteReferences, d as fileMergeMutations } from "./relations-bmUKPT0G.mjs";
10
10
  import { requireRecord, requireObject, activitiesOf, asDoc, recordsOf } from "./store-5gqRSKXg.mjs";
11
11
  import "./pluginRegistry-DyHtlkcr.mjs";
12
12
  function normLabel(s) {
@@ -9,14 +9,14 @@ import { formatAddress, formatFieldValue } from "./fields-B0bitgmr.mjs";
9
9
  import { a as applySorts, b as applyFilters, r as resolveField, g as getRecordValue } from "./query-C5nJB_3C.mjs";
10
10
  import { COLLECTIONS } from "./types-BOy9PUl7.mjs";
11
11
  import { assertCan, OpsError } from "./context-CxFfqS4D.mjs";
12
- import { queryContext } from "./records-DcHFelq5.mjs";
12
+ import { queryContext } from "./records-BJLSmv0O.mjs";
13
13
  import { requireObject, recordsOf, userOf } from "./store-5gqRSKXg.mjs";
14
14
  import "./_commonjsHelpers-ClciMIcB.mjs";
15
15
  import "stream";
16
16
  import "./pluginRegistry-DyHtlkcr.mjs";
17
17
  import "./ids-CvnmrMJX.mjs";
18
- import "./standardObjects-CheqfDqa.mjs";
19
- import "./relations-B9TynBmA.mjs";
18
+ import "./standardObjects-vrmqIVLH.mjs";
19
+ import "./relations-bmUKPT0G.mjs";
20
20
  function exportCsv(ctx, objectId, opts = {}) {
21
21
  assertCan(ctx, "export");
22
22
  const object = requireObject(ctx.store, objectId);
@@ -93,11 +93,11 @@ async function loadInSandbox(report, manifest, files, opts) {
93
93
  import("./memory-WNR3VHUJ.mjs"),
94
94
  import("./context-CxFfqS4D.mjs"),
95
95
  import("./pluginRegistry-DyHtlkcr.mjs"),
96
- import("./seed-6MRmQQBR.mjs"),
96
+ import("./seed-Bb26Zsni.mjs"),
97
97
  import("./store-5gqRSKXg.mjs"),
98
- import("./loader-MPD9iAvh.mjs"),
99
- import("./registry-COfJrSmg.mjs"),
100
- import("./tools-iSH-yMpl.mjs"),
98
+ import("./loader-Bnu3GnMW.mjs"),
99
+ import("./registry-BpTyK6yU.mjs"),
100
+ import("./tools-BHmVIyP_.mjs"),
101
101
  import("./extensionActions-D2HtpQz4.mjs"),
102
102
  import("./featureRegistry-DSsZbhrh.mjs"),
103
103
  import("./themes-DPZFv3yc.mjs"),
@@ -4,15 +4,15 @@ import { dirname as __acrmDirname } from "node:path";
4
4
  const require2 = __acrmRequire(import.meta.url);
5
5
  const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
- import { sanitizeFileName, guessMime, sha256Hex, thumbIdOf, fileKind, DEFAULT_MAX_UPLOAD_MB } from "./files-CjsPJSR6.mjs";
7
+ import { fileKind, DEFAULT_MAX_UPLOAD_MB, sanitizeFileName, guessMime, sha256Hex, thumbIdOf } from "./files-CjsPJSR6.mjs";
8
8
  import { n as newId } from "./ids-CvnmrMJX.mjs";
9
9
  import { f as fileStoreOf, F as FileStoreUnavailableError } from "./index-RCmo-uld.mjs";
10
10
  import { m as mapLimit } from "./http-Bk9ICb7I.mjs";
11
11
  import { assertCan, OpsError, actorId } from "./context-CxFfqS4D.mjs";
12
- import { s as sameTarget, e as fileFieldIds, g as fileIdsIn, f as fileTargetPatch, h as referencedFileIds } from "./relations-B9TynBmA.mjs";
13
- import { timelineScope } from "./activities-Cj_SIOay.mjs";
14
- import { updateRecord } from "./records-DcHFelq5.mjs";
15
- import { fileOf, requireFile, filesOf, recordOf, activitiesOf, settingsDoc, asDoc, requireRecord, objectOf, requireObject, recordsOf } from "./store-5gqRSKXg.mjs";
12
+ import { f as fileTargetPatch, e as referencedFileIds, g as fileFieldIds, h as fileIdsIn, s as sameTarget } from "./relations-bmUKPT0G.mjs";
13
+ import { timelineScope } from "./activities-be260oPg.mjs";
14
+ import { updateRecord } from "./records-BJLSmv0O.mjs";
15
+ import { requireFile, requireRecord, activitiesOf, filesOf, recordOf, settingsDoc, objectOf, fileOf, requireObject, recordsOf, asDoc } from "./store-5gqRSKXg.mjs";
16
16
  import "./index-BM8qeGOb.mjs";
17
17
  import "./pluginRegistry-DyHtlkcr.mjs";
18
18
  import "./fields-B0bitgmr.mjs";
@@ -26,7 +26,7 @@ import "node:crypto";
26
26
  import "node:os";
27
27
  import "node:child_process";
28
28
  import "node:http";
29
- import "./standardObjects-CheqfDqa.mjs";
29
+ import "./standardObjects-vrmqIVLH.mjs";
30
30
  const ORPHAN_GRACE_MS = 864e5;
31
31
  function maxUploadBytes(ctx) {
32
32
  const mb = settingsDoc(ctx.store)?.maxUploadMb;
@@ -6,9 +6,9 @@ const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
7
  import { normalizeEmail, isEmptyFieldValue, normalizeDomain, formatFieldValue, recordLabel } from "./fields-B0bitgmr.mjs";
8
8
  import { n as newId } from "./ids-CvnmrMJX.mjs";
9
- import { addActivity } from "./activities-Cj_SIOay.mjs";
9
+ import { addActivity } from "./activities-be260oPg.mjs";
10
10
  import { assertCan, OpsError } from "./context-CxFfqS4D.mjs";
11
- import { createRecord, updateRecord, queryContext } from "./records-DcHFelq5.mjs";
11
+ import { createRecord, updateRecord, queryContext } from "./records-BJLSmv0O.mjs";
12
12
  import { formsOf, requireObject, asDoc, objectOf, thaw, userOf, recordsOf, activitiesOf } from "./store-5gqRSKXg.mjs";
13
13
  import "./query-C5nJB_3C.mjs";
14
14
  import "../agentcrm.mjs";
@@ -20,9 +20,9 @@ import "node:crypto";
20
20
  import "node:os";
21
21
  import "node:child_process";
22
22
  import "node:http";
23
- import "./relations-B9TynBmA.mjs";
23
+ import "./relations-bmUKPT0G.mjs";
24
24
  import "./pluginRegistry-DyHtlkcr.mjs";
25
- import "./standardObjects-CheqfDqa.mjs";
25
+ import "./standardObjects-vrmqIVLH.mjs";
26
26
  const INBOX_KINDS = ["s3", "firebase", "webhook"];
27
27
  const DEFAULT_INBOX_PREFIX = "inbox/";
28
28
  const DEFAULT_FIREBASE_INBOX = "inbox";
@@ -9,14 +9,14 @@ import { findOption, normalizeEmail, coerceFieldValue, recordLabel, normalizeDom
9
9
  import { n as newId } from "./ids-CvnmrMJX.mjs";
10
10
  import { c as camelId } from "./utils-DmI8FtXP.mjs";
11
11
  import { assertCan, OpsError, actorId, emit } from "./context-CxFfqS4D.mjs";
12
- import { prepareRecordFields, recordPatchMutation } from "./records-DcHFelq5.mjs";
12
+ import { prepareRecordFields, recordPatchMutation } from "./records-BJLSmv0O.mjs";
13
13
  import { requireObject, thaw, recordsOf, usersOf, asDoc, objectOf } from "./store-5gqRSKXg.mjs";
14
14
  import "./_commonjsHelpers-ClciMIcB.mjs";
15
15
  import "stream";
16
16
  import "./pluginRegistry-DyHtlkcr.mjs";
17
17
  import "./query-C5nJB_3C.mjs";
18
- import "./standardObjects-CheqfDqa.mjs";
19
- import "./relations-B9TynBmA.mjs";
18
+ import "./standardObjects-vrmqIVLH.mjs";
19
+ import "./relations-bmUKPT0G.mjs";
20
20
  function parseCsv(text, opts = {}) {
21
21
  const res = Papa.parse(text.replace(/^/, ""), {
22
22
  header: true,
@@ -162,7 +162,7 @@ async function runInstall(plan, onStep) {
162
162
  await store.ready();
163
163
  const { createOpsContext } = await import("./context-CxFfqS4D.mjs");
164
164
  const { createPluginRegistry } = await import("./pluginRegistry-DyHtlkcr.mjs");
165
- const { seedCrm } = await import("./seed-6MRmQQBR.mjs");
165
+ const { seedCrm } = await import("./seed-Bb26Zsni.mjs");
166
166
  const { setConfigDoc } = await import("./settings-Di8nzNEL.mjs");
167
167
  const system = createOpsContext(store, null, { plugins: createPluginRegistry() });
168
168
  onStep(`Seeding the CRM${plan.demo ? " (with demo data)" : ""}`);
@@ -6,7 +6,7 @@ const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
7
  import { j as RUNTIME_DIR, h as RUNTIME_MODULES, i as isCompatibleApiVersion, k as RUNTIME_GLOBAL } from "./api-Cz0Ubj-B.mjs";
8
8
  import { rewriteRuntimeImports, fingerprint, bundleImports } from "./package-B7mI6HGi.mjs";
9
- import { listLoadedExtensions, deactivateExtension, getLoadedExtension, setExtensionStatus, activateExtension } from "./registry-COfJrSmg.mjs";
9
+ import { listLoadedExtensions, deactivateExtension, getLoadedExtension, setExtensionStatus, activateExtension } from "./registry-BpTyK6yU.mjs";
10
10
  import "./index-w03ReRs4.mjs";
11
11
  import "./_commonjsHelpers-ClciMIcB.mjs";
12
12
  import "stream";
@@ -22,7 +22,7 @@ import "./pluginRegistry-DyHtlkcr.mjs";
22
22
  import "./settings-Di8nzNEL.mjs";
23
23
  import "./store-5gqRSKXg.mjs";
24
24
  import "./runtimeConfig-CCOFg1RM.mjs";
25
- import "./tools-iSH-yMpl.mjs";
25
+ import "./tools-BHmVIyP_.mjs";
26
26
  import "./fields-B0bitgmr.mjs";
27
27
  import "./query-C5nJB_3C.mjs";
28
28
  import "../agentcrm.mjs";
@@ -34,27 +34,27 @@ import "node:crypto";
34
34
  import "node:os";
35
35
  import "node:child_process";
36
36
  import "node:http";
37
- import "./activities-Cj_SIOay.mjs";
37
+ import "./activities-be260oPg.mjs";
38
38
  import "./ids-CvnmrMJX.mjs";
39
- import "./relations-B9TynBmA.mjs";
40
- import "./dedupe-BepmsaHv.mjs";
41
- import "./importCsv-LVmMTaWU.mjs";
39
+ import "./relations-bmUKPT0G.mjs";
40
+ import "./dedupe-isAmKHQV.mjs";
41
+ import "./importCsv-BuSYG4ja.mjs";
42
42
  import "./papaparse-Df7i1dHr.mjs";
43
43
  import "./utils-DmI8FtXP.mjs";
44
- import "./records-DcHFelq5.mjs";
45
- import "./standardObjects-CheqfDqa.mjs";
46
- import "./pipelines-BAKpPk1w.mjs";
47
- import "./reports-BACHGccj.mjs";
48
- import "./schema-C4lSslXv.mjs";
49
- import "./automations-DwWruxmu.mjs";
44
+ import "./records-BJLSmv0O.mjs";
45
+ import "./standardObjects-vrmqIVLH.mjs";
46
+ import "./pipelines-G-c23x-s.mjs";
47
+ import "./reports-ogUa41jr.mjs";
48
+ import "./schema-CYm_n5BN.mjs";
49
+ import "./automations-gCDYNS88.mjs";
50
50
  import "./extensionActions-D2HtpQz4.mjs";
51
- import "./forms-BfuWaQjA.mjs";
51
+ import "./forms-Bb0zztBM.mjs";
52
52
  import "./schema-DnLj8dUO.mjs";
53
53
  import "./appearance-BloHbiLA.mjs";
54
54
  import "./themes-DPZFv3yc.mjs";
55
55
  import "./extensions-Bp72uZ9a.mjs";
56
56
  import "./files-CjsPJSR6.mjs";
57
- import "./files-D1daDgY0.mjs";
57
+ import "./files-Be7DZd1a.mjs";
58
58
  import "./index-RCmo-uld.mjs";
59
59
  import "./http-Bk9ICb7I.mjs";
60
60
  async function prepareRuntime(specifiers) {
@@ -4,7 +4,7 @@ import { dirname as __acrmDirname } from "node:path";
4
4
  const require2 = __acrmRequire(import.meta.url);
5
5
  const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
- import { a as standardObjects, S as STANDARD_IMAGE_FIELDS } from "./standardObjects-CheqfDqa.mjs";
7
+ import { a as standardObjects, S as STANDARD_IMAGE_FIELDS } from "./standardObjects-vrmqIVLH.mjs";
8
8
  import { assertCan } from "./context-CxFfqS4D.mjs";
9
9
  import { settingsDoc, objectOf } from "./store-5gqRSKXg.mjs";
10
10
  const FR = {
@@ -6,13 +6,13 @@ const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
7
  import { dateValueToMs, colorAt } from "./fields-B0bitgmr.mjs";
8
8
  import { s as slugId } from "./ids-CvnmrMJX.mjs";
9
- import { s as stageOptions, p as pipelineOptions } from "./standardObjects-CheqfDqa.mjs";
9
+ import { s as stageOptions, p as pipelineOptions } from "./standardObjects-vrmqIVLH.mjs";
10
10
  import { assertCan, OpsError } from "./context-CxFfqS4D.mjs";
11
- import { updateRecord } from "./records-DcHFelq5.mjs";
12
- import { requireRecord, pipelinesOf, requireObject, requirePipeline, recordsOf, asDoc, thaw } from "./store-5gqRSKXg.mjs";
11
+ import { updateRecord } from "./records-BJLSmv0O.mjs";
12
+ import { pipelinesOf, requireObject, asDoc, requirePipeline, thaw, recordsOf, requireRecord } from "./store-5gqRSKXg.mjs";
13
13
  import "./pluginRegistry-DyHtlkcr.mjs";
14
14
  import "./query-C5nJB_3C.mjs";
15
- import "./relations-B9TynBmA.mjs";
15
+ import "./relations-bmUKPT0G.mjs";
16
16
  function listPipelines(ctx, object) {
17
17
  assertCan(ctx, "records.read");
18
18
  return pipelinesOf(ctx.store, object);
@@ -7,9 +7,9 @@ const __dirname = __acrmDirname(__filename);
7
7
  import { normalizeDomain, recordLabel, validateRecordFields, defaultFieldValues, isEmptyFieldValue, FieldValidationError, normalizeEmail } from "./fields-B0bitgmr.mjs";
8
8
  import { n as newId } from "./ids-CvnmrMJX.mjs";
9
9
  import { r as resolveField, b as applyFilters, a as applySorts, p as paginate } from "./query-C5nJB_3C.mjs";
10
- import { n as normalizeStandardFields } from "./standardObjects-CheqfDqa.mjs";
10
+ import { n as normalizeStandardFields } from "./standardObjects-vrmqIVLH.mjs";
11
11
  import { assertCan, OpsError, actorId, emit } from "./context-CxFfqS4D.mjs";
12
- import { i as inverseRelations, j as expandRelations, l as labelOf, v as validateRelationValue, c as rewriteReferences, b as fileCleanupMutations } from "./relations-B9TynBmA.mjs";
12
+ import { i as inverseRelations, j as expandRelations, l as labelOf, v as validateRelationValue, c as rewriteReferences, b as fileCleanupMutations } from "./relations-bmUKPT0G.mjs";
13
13
  import { activitiesOf, recordsOf, objectsOf, requireObject, requireRecord, recordOf, asDoc, userOf, pipelinesOf } from "./store-5gqRSKXg.mjs";
14
14
  import "./pluginRegistry-DyHtlkcr.mjs";
15
15
  const ENTRIES = "ENTRIES";
@@ -6,7 +6,7 @@ const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
7
  import { i as isCompatibleApiVersion } from "./api-Cz0Ubj-B.mjs";
8
8
  import { registerExternalFeature } from "./featureRegistry-DSsZbhrh.mjs";
9
- import { registerAiTool } from "./tools-iSH-yMpl.mjs";
9
+ import { registerAiTool } from "./tools-BHmVIyP_.mjs";
10
10
  import { registerAutomationAction } from "./extensionActions-D2HtpQz4.mjs";
11
11
  import { plugins } from "./pluginRegistry-DyHtlkcr.mjs";
12
12
  import { registerExternalTheme } from "./themes-DPZFv3yc.mjs";
@@ -29,21 +29,21 @@ import "node:crypto";
29
29
  import "node:os";
30
30
  import "node:child_process";
31
31
  import "node:http";
32
- import "./activities-Cj_SIOay.mjs";
32
+ import "./activities-be260oPg.mjs";
33
33
  import "./ids-CvnmrMJX.mjs";
34
- import "./relations-B9TynBmA.mjs";
35
- import "./dedupe-BepmsaHv.mjs";
36
- import "./importCsv-LVmMTaWU.mjs";
34
+ import "./relations-bmUKPT0G.mjs";
35
+ import "./dedupe-isAmKHQV.mjs";
36
+ import "./importCsv-BuSYG4ja.mjs";
37
37
  import "./papaparse-Df7i1dHr.mjs";
38
38
  import "stream";
39
39
  import "./utils-DmI8FtXP.mjs";
40
- import "./records-DcHFelq5.mjs";
41
- import "./standardObjects-CheqfDqa.mjs";
42
- import "./pipelines-BAKpPk1w.mjs";
43
- import "./reports-BACHGccj.mjs";
44
- import "./schema-C4lSslXv.mjs";
45
- import "./automations-DwWruxmu.mjs";
46
- import "./forms-BfuWaQjA.mjs";
40
+ import "./records-BJLSmv0O.mjs";
41
+ import "./standardObjects-vrmqIVLH.mjs";
42
+ import "./pipelines-G-c23x-s.mjs";
43
+ import "./reports-ogUa41jr.mjs";
44
+ import "./schema-CYm_n5BN.mjs";
45
+ import "./automations-gCDYNS88.mjs";
46
+ import "./forms-Bb0zztBM.mjs";
47
47
  import "./schema-DnLj8dUO.mjs";
48
48
  import "./appearance-BloHbiLA.mjs";
49
49
  import "./extensions-Bp72uZ9a.mjs";
@@ -53,7 +53,7 @@ import "events";
53
53
  import "buffer";
54
54
  import "util";
55
55
  import "./files-CjsPJSR6.mjs";
56
- import "./files-D1daDgY0.mjs";
56
+ import "./files-Be7DZd1a.mjs";
57
57
  import "./index-RCmo-uld.mjs";
58
58
  import "./http-Bk9ICb7I.mjs";
59
59
  const entries = /* @__PURE__ */ new Map();
@@ -4,7 +4,7 @@ import { dirname as __acrmDirname } from "node:path";
4
4
  const require2 = __acrmRequire(import.meta.url);
5
5
  const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
- import { filesOf, objectsOf, recordsOf, activitiesOf, objectOf, recordOf, requireRecord, requireObject } from "./store-5gqRSKXg.mjs";
7
+ import { recordsOf, activitiesOf, filesOf, objectsOf, objectOf, recordOf, requireRecord, requireObject } from "./store-5gqRSKXg.mjs";
8
8
  import { recordLabel } from "./fields-B0bitgmr.mjs";
9
9
  import { actorId, assertCan, OpsError } from "./context-CxFfqS4D.mjs";
10
10
  const sameTarget = (a, b) => a.kind === b.kind && a.id === b.id;
@@ -174,10 +174,10 @@ export {
174
174
  fileCleanupMutations as b,
175
175
  rewriteReferences as c,
176
176
  fileMergeMutations as d,
177
- fileFieldIds as e,
177
+ referencedFileIds as e,
178
178
  fileTargetPatch as f,
179
- fileIdsIn as g,
180
- referencedFileIds as h,
179
+ fileFieldIds as g,
180
+ fileIdsIn as h,
181
181
  inverseRelations as i,
182
182
  expandRelations as j,
183
183
  linkRecords as k,
@@ -5,11 +5,11 @@ const require2 = __acrmRequire(import.meta.url);
5
5
  const __filename = __acrmPath(import.meta.url);
6
6
  const __dirname = __acrmDirname(__filename);
7
7
  import { recordLabel, dateValueToMs } from "./fields-B0bitgmr.mjs";
8
- import { L as LIFECYCLE_OPTIONS } from "./standardObjects-CheqfDqa.mjs";
8
+ import { L as LIFECYCLE_OPTIONS } from "./standardObjects-vrmqIVLH.mjs";
9
9
  import { A as ACTIVITY_TYPES } from "../agentcrm.mjs";
10
- import { lastActivityAt } from "./activities-Cj_SIOay.mjs";
10
+ import { lastActivityAt } from "./activities-be260oPg.mjs";
11
11
  import { OpsError, assertCan } from "./context-CxFfqS4D.mjs";
12
- import { forecast, pipelineOfRecord } from "./pipelines-BAKpPk1w.mjs";
12
+ import { forecast, pipelineOfRecord } from "./pipelines-G-c23x-s.mjs";
13
13
  import { getSettings } from "./settings-Di8nzNEL.mjs";
14
14
  import { objectOf, recordsOf, pipelinesOf, usersOf, activitiesOf, requirePipeline } from "./store-5gqRSKXg.mjs";
15
15
  import "node:util";
@@ -22,9 +22,9 @@ import "node:child_process";
22
22
  import "node:http";
23
23
  import "./ids-CvnmrMJX.mjs";
24
24
  import "./query-C5nJB_3C.mjs";
25
- import "./relations-B9TynBmA.mjs";
25
+ import "./relations-bmUKPT0G.mjs";
26
26
  import "./pluginRegistry-DyHtlkcr.mjs";
27
- import "./records-DcHFelq5.mjs";
27
+ import "./records-BJLSmv0O.mjs";
28
28
  import "./runtimeConfig-CCOFg1RM.mjs";
29
29
  const DAY = 864e5;
30
30
  function defaultPipelineId(ctx, pipelineId) {
@@ -8,32 +8,32 @@ import { a as requireReact, r as reactExports, R as React } from "./index-Bnmav-
8
8
  import { j as jsxRuntimeExports, R as ReactJsxRuntime } from "./jsx-runtime-Ca2uwGDr.mjs";
9
9
  import { g as getDefaultExportFromCjs } from "./_commonjsHelpers-ClciMIcB.mjs";
10
10
  import { OpsError, PERMISSIONS, actorId, assertCan, can, createOpsContext, emit } from "./context-CxFfqS4D.mjs";
11
- import { bulkDelete, bulkUpdate, createRecord, deleteRecord, getRecord, getRecordDetails, hardDeleteMutations, listRecords, prepareRecordFields, queryContext, recordPatchMutation, restoreRecord, searchRecords, setRecordOwner, updateRecord } from "./records-DcHFelq5.mjs";
12
- import { j as expandRelations, b as fileCleanupMutations, e as fileFieldIds, g as fileIdsIn, d as fileMergeMutations, f as fileTargetPatch, i as inverseRelations, l as labelOf, k as linkRecords, h as referencedFileIds, m as relatedRecords, r as relationFields, a as relationIds, c as rewriteReferences, s as sameTarget, t as toRef, u as unlinkRecords, v as validateRelationValue } from "./relations-B9TynBmA.mjs";
13
- import { addActivity, addNote, completeTask, createTask, deleteActivity, getActivity, lastActivityAt, listActivities, listTasks, timelineScope, updateActivity } from "./activities-Cj_SIOay.mjs";
14
- import { createPipeline, deletePipeline, forecast, getPipeline, listPipelines, moveStage, pipelineOfRecord, syncPipelineOptions, updatePipeline } from "./pipelines-BAKpPk1w.mjs";
15
- import { addOption, changeFieldType, createField, createObject, deleteField, deleteObject, describeSchema, getObject, listObjects, removeOption, reorderFields, updateField, updateObject, updateOption } from "./schema-C4lSslXv.mjs";
16
- import { createView, deleteView, duplicateView, getView, listViews, runView, updateView } from "./views-DH1n9Lrt.mjs";
11
+ import { bulkDelete, bulkUpdate, createRecord, deleteRecord, getRecord, getRecordDetails, hardDeleteMutations, listRecords, prepareRecordFields, queryContext, recordPatchMutation, restoreRecord, searchRecords, setRecordOwner, updateRecord } from "./records-BJLSmv0O.mjs";
12
+ import { j as expandRelations, b as fileCleanupMutations, g as fileFieldIds, h as fileIdsIn, d as fileMergeMutations, f as fileTargetPatch, i as inverseRelations, l as labelOf, k as linkRecords, e as referencedFileIds, m as relatedRecords, r as relationFields, a as relationIds, c as rewriteReferences, s as sameTarget, t as toRef, u as unlinkRecords, v as validateRelationValue } from "./relations-bmUKPT0G.mjs";
13
+ import { addActivity, addNote, completeTask, createTask, deleteActivity, getActivity, lastActivityAt, listActivities, listTasks, timelineScope, updateActivity } from "./activities-be260oPg.mjs";
14
+ import { createPipeline, deletePipeline, forecast, getPipeline, listPipelines, moveStage, pipelineOfRecord, syncPipelineOptions, updatePipeline } from "./pipelines-G-c23x-s.mjs";
15
+ import { addOption, changeFieldType, createField, createObject, deleteField, deleteObject, describeSchema, getObject, listObjects, removeOption, reorderFields, updateField, updateObject, updateOption } from "./schema-CYm_n5BN.mjs";
16
+ import { createView, deleteView, duplicateView, getView, listViews, runView, updateView } from "./views-zRdsphZl.mjs";
17
17
  import { createUser, deleteUser, findUserByEmail, getUser, listUsers, setUserRole, updateUser } from "./users-DI1BvS0f.mjs";
18
18
  import { DEFAULT_SETTINGS, SETTINGS_KEYS, assertNoSecrets, getConfigDoc, getSettings, setConfigDoc, updateSettings } from "./settings-Di8nzNEL.mjs";
19
- import { MAPPING_ID, MAPPING_OWNER, MAPPING_SKIP, importCsv, parseCsv, suggestMapping } from "./importCsv-LVmMTaWU.mjs";
20
- import { exportCsv, exportJson, importJson, planImportJson } from "./exportCsv-C6e6XEmB.mjs";
21
- import { findDuplicates, mergeRecords } from "./dedupe-BepmsaHv.mjs";
22
- import { REPORTS, activityByUser, conversion, leadSources, pipelineByStage, runReport, staleDeals, wonLost } from "./reports-BACHGccj.mjs";
23
- import { getStats } from "./stats-BfuLWhVV.mjs";
24
- import { DEFAULT_ADMIN_ID, seedCrm, seedDemoData } from "./seed-6MRmQQBR.mjs";
25
- import { compactData } from "./compact-BGHI92tm.mjs";
26
- import { ACTION_TYPES, AUTOMATION_TEMPLATES, EVENT_TRIGGERS, MAX_AUTOMATION_DEPTH, MAX_AUTOMATION_RUNS, SCHEDULED_TRIGGERS, TRIGGER_TYPES, automationAssignees, clearAutomationRuns, createAutomation, createAutomationFromTemplate, deleteAutomation, duplicateAutomation, findAutomationTemplate, getAutomation, installAutomations, lastTouchedAt, listAutomationRuns, listAutomations, pruneAutomationRuns, renderTemplate, runAutomationEvent, runScheduled, scheduledCandidates, setAutomationEnabled, setAutomationFetch, templatePlaceholders, testAutomation, triggerMatches, updateAutomation, validateAutomation } from "./automations-DwWruxmu.mjs";
27
- import { DEFAULT_FIREBASE_INBOX, DEFAULT_FORM_TEXTS, DEFAULT_INBOX_PREFIX, FORM_FIELD_TYPES, FREE_MAIL_DOMAINS, HONEYPOT_NAME, INBOX_KINDS, MIN_FILL_MS, buildFormArtifacts, buildFormHtml, companyDomainOfEmail, connectorInboxSource, createForm, defaultFormPath, deleteForm, escapeHtml, firestoreInboxSource, getForm, ingestInbox, ingestSubmissions, isFormFieldType, listForms, listInbox, memoryInboxSource, parseSubmission, publishForm, resolveInboxSource, setInboxSourceResolver, suggestFormFields, updateForm, validateForm } from "./forms-BfuWaQjA.mjs";
19
+ import { MAPPING_ID, MAPPING_OWNER, MAPPING_SKIP, importCsv, parseCsv, suggestMapping } from "./importCsv-BuSYG4ja.mjs";
20
+ import { exportCsv, exportJson, importJson, planImportJson } from "./exportCsv-9ZMyqTdH.mjs";
21
+ import { findDuplicates, mergeRecords } from "./dedupe-isAmKHQV.mjs";
22
+ import { REPORTS, activityByUser, conversion, leadSources, pipelineByStage, runReport, staleDeals, wonLost } from "./reports-ogUa41jr.mjs";
23
+ import { getStats } from "./stats-bInarNLK.mjs";
24
+ import { DEFAULT_ADMIN_ID, seedCrm, seedDemoData } from "./seed-Bb26Zsni.mjs";
25
+ import { compactData } from "./compact-C_WX0_F5.mjs";
26
+ import { ACTION_TYPES, AUTOMATION_TEMPLATES, EVENT_TRIGGERS, MAX_AUTOMATION_DEPTH, MAX_AUTOMATION_RUNS, SCHEDULED_TRIGGERS, TRIGGER_TYPES, automationAssignees, clearAutomationRuns, createAutomation, createAutomationFromTemplate, deleteAutomation, duplicateAutomation, findAutomationTemplate, getAutomation, installAutomations, lastTouchedAt, listAutomationRuns, listAutomations, pruneAutomationRuns, renderTemplate, runAutomationEvent, runScheduled, scheduledCandidates, setAutomationEnabled, setAutomationFetch, templatePlaceholders, testAutomation, triggerMatches, updateAutomation, validateAutomation } from "./automations-gCDYNS88.mjs";
27
+ import { DEFAULT_FIREBASE_INBOX, DEFAULT_FORM_TEXTS, DEFAULT_INBOX_PREFIX, FORM_FIELD_TYPES, FREE_MAIL_DOMAINS, HONEYPOT_NAME, INBOX_KINDS, MIN_FILL_MS, buildFormArtifacts, buildFormHtml, companyDomainOfEmail, connectorInboxSource, createForm, defaultFormPath, deleteForm, escapeHtml, firestoreInboxSource, getForm, ingestInbox, ingestSubmissions, isFormFieldType, listForms, listInbox, memoryInboxSource, parseSubmission, publishForm, resolveInboxSource, setInboxSourceResolver, suggestFormFields, updateForm, validateForm } from "./forms-Bb0zztBM.mjs";
28
28
  import { disabledObjectIds, getModule, getModuleConfig, isModuleEnabled, listModules, moduleStates, setModuleConfig, setModuleEnabled } from "./modules-clWdE-K2.mjs";
29
29
  import { getExtension, getExtensionPackage, installExtension, listExtensions, setExtensionEnabled, summarizeExtension, uninstallExtension } from "./extensions-Bp72uZ9a.mjs";
30
30
  import { applyPreset, getAppearance, getAppearanceDoc, listPresets, resetAppearance, setAppearance, setLogo } from "./appearance-BloHbiLA.mjs";
31
- import { ORPHAN_GRACE_MS, attachFile, clearRecordImage, deleteFile, detachFile, fileUsage, getFile, getFileBytes, listFiles, maxUploadBytes, purgeFiles, recordImageId, renameFile, restoreFile, setRecordImage, uploadFile } from "./files-D1daDgY0.mjs";
32
- import { S as SCHEMA_MIGRATIONS, m as migrateSchema, s as schemaMigrationMutations } from "./migrate-CsClnnN8.mjs";
33
- import { BACKUP_DATA_FILE, BACKUP_FILES_DIR, exportBackupZip, importBackupZip, planBackupZip, readBackupZipInfo } from "./backup-W3CjgkAJ.mjs";
31
+ import { ORPHAN_GRACE_MS, attachFile, clearRecordImage, deleteFile, detachFile, fileUsage, getFile, getFileBytes, listFiles, maxUploadBytes, purgeFiles, recordImageId, renameFile, restoreFile, setRecordImage, uploadFile } from "./files-Be7DZd1a.mjs";
32
+ import { S as SCHEMA_MIGRATIONS, m as migrateSchema, s as schemaMigrationMutations } from "./migrate-Cc_8MHZv.mjs";
33
+ import { BACKUP_DATA_FILE, BACKUP_FILES_DIR, exportBackupZip, importBackupZip, planBackupZip, readBackupZipInfo } from "./backup-DDqTRbuW.mjs";
34
34
  import { getAutomationAction, listAutomationActions, registerAutomationAction, subscribeAutomationActions } from "./extensionActions-D2HtpQz4.mjs";
35
35
  import { a as intlLocale, b as activeLocale, i as instance, r as registerI18nNamespace } from "./index-BM8qeGOb.mjs";
36
- import "./standardObjects-CheqfDqa.mjs";
36
+ import "./standardObjects-vrmqIVLH.mjs";
37
37
  import { useModuleStates, useModuleEnabled } from "./featureRegistry-DSsZbhrh.mjs";
38
38
  import { a as cn, i as initials, f as formatRelative, b as formatDateTime, d as formatDate } from "./utils-DmI8FtXP.mjs";
39
39
  import { t as toast } from "./http-Bk9ICb7I.mjs";
@@ -41,7 +41,7 @@ import { isEmptyFieldValue, formatFieldValue, formatAddress, dateValueToMs, form
41
41
  import { fileKind, isPreviewable, formatBytes } from "./files-CjsPJSR6.mjs";
42
42
  import { plugins } from "./pluginRegistry-DyHtlkcr.mjs";
43
43
  import { n as newId } from "./ids-CvnmrMJX.mjs";
44
- import { registerAiTool } from "./tools-iSH-yMpl.mjs";
44
+ import { registerAiTool } from "./tools-BHmVIyP_.mjs";
45
45
  import { a as DEFAULT_APPEARANCE } from "./schema-DnLj8dUO.mjs";
46
46
  import { b as EXTENSION_MIN_API_VERSION, E as EXTENSION_API_VERSION, k as RUNTIME_GLOBAL } from "./api-Cz0Ubj-B.mjs";
47
47
  import "./query-C5nJB_3C.mjs";
@@ -7,11 +7,11 @@ const __dirname = __acrmDirname(__filename);
7
7
  import { c as camelId } from "./utils-DmI8FtXP.mjs";
8
8
  import { colorAt, canConvertType, isEmptyFieldValue, convertValue } from "./fields-B0bitgmr.mjs";
9
9
  import { s as slugId } from "./ids-CvnmrMJX.mjs";
10
- import { d as defaultViewFor } from "./standardObjects-CheqfDqa.mjs";
10
+ import { d as defaultViewFor } from "./standardObjects-vrmqIVLH.mjs";
11
11
  import { a as FIELD_TYPES } from "../agentcrm.mjs";
12
12
  import { assertCan, OpsError } from "./context-CxFfqS4D.mjs";
13
- import { hardDeleteMutations } from "./records-DcHFelq5.mjs";
14
- import { requireObject, objectsOf, pipelinesOf, recordsOf, viewsOf, asDoc, thaw } from "./store-5gqRSKXg.mjs";
13
+ import { hardDeleteMutations } from "./records-BJLSmv0O.mjs";
14
+ import { objectsOf, asDoc, requireObject, thaw, viewsOf, recordsOf, pipelinesOf } from "./store-5gqRSKXg.mjs";
15
15
  import "node:util";
16
16
  import "node:fs";
17
17
  import "node:path";
@@ -22,7 +22,7 @@ import "node:child_process";
22
22
  import "node:http";
23
23
  import "./pluginRegistry-DyHtlkcr.mjs";
24
24
  import "./query-C5nJB_3C.mjs";
25
- import "./relations-B9TynBmA.mjs";
25
+ import "./relations-bmUKPT0G.mjs";
26
26
  function listObjects(ctx) {
27
27
  assertCan(ctx, "records.read");
28
28
  return objectsOf(ctx.store);