twenty-app-intake 0.2.0 → 0.3.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.
package/manifest.json CHANGED
@@ -4,11 +4,11 @@
4
4
  "name": "twenty-app-intake",
5
5
  "displayName": "Intake",
6
6
  "description": "The missing ingestion layer for Twenty CRM. Wire any contact form, pipeline app, or webhook source to Twenty — fields normalize automatically, schema extends on the fly, duplicates never land twice.",
7
- "category": "data",
8
- "logoUrl": "https://raw.githubusercontent.com/FranciscoContreras/twenty-app-intake/main/public/logo.svg",
7
+ "category": "Data",
8
+ "logo": "public/logo.svg",
9
9
  "websiteUrl": "https://github.com/FranciscoContreras/twenty-app-intake",
10
- "defaultRoleUniversalIdentifier": "3dd2cdb0-32c7-44b4-9f7b-0a9c667ec249",
11
- "settingsCustomTabFrontComponentUniversalIdentifier": "4e4cfb3b-508c-413b-a1b2-192a51c31ed4",
10
+ "author": "Machina (https://wearemachina.com)",
11
+ "issueReportUrl": "https://github.com/FranciscoContreras/twenty-app-intake/issues",
12
12
  "postInstallLogicFunction": {
13
13
  "universalIdentifier": "e836fdd6-fd54-4aa4-ba6d-87d5a02148ef",
14
14
  "shouldRunOnVersionUpgrade": false,
@@ -46,8 +46,17 @@
46
46
  "description": "Display name used in generated content — note titles, opportunity names, and system messages. Change to match your team's terminology (e.g. \"Leads\", \"Inbound\", \"Pipeline\")."
47
47
  }
48
48
  },
49
- "yarnLockChecksum": "7dced8c0bfa9b803fa206e8556d7fb12",
50
- "packageJsonChecksum": "028e98795de1b242d2d465a5320d448c"
49
+ "galleryImages": [
50
+ "public/cover.generated.png"
51
+ ],
52
+ "defaultRoleUniversalIdentifier": "3dd2cdb0-32c7-44b4-9f7b-0a9c667ec249",
53
+ "aboutDescription": "<div align=\"center\">\n <img src=\"./public/logo.svg\" width=\"80\" height=\"80\" alt=\"Intake logo\" />\n <h1>Intake</h1>\n <p><strong>The missing ingestion layer for Twenty CRM.</strong><br/>\n Wire any form, webhook, or data source to Twenty. Leads land clean — every time.</p>\n\n [![npm version](https://img.shields.io/npm/v/twenty-app-intake?color=0F172A&labelColor=334155&label=npm)](https://www.npmjs.com/package/twenty-app-intake)\n [![Twenty](https://img.shields.io/badge/Twenty-%3E%3D2.26.0-0F172A?labelColor=334155)](https://twenty.com)\n [![Tests](https://img.shields.io/badge/tests-68%20passing-22c55e?labelColor=334155)](https://github.com/FranciscoContreras/twenty-app-intake/actions)\n [![License](https://img.shields.io/badge/license-MIT-0F172A?labelColor=334155)](./LICENSE)\n [![Website](https://img.shields.io/badge/website-wearemachina.com-0F172A?labelColor=334155)](https://wearemachina.com)\n\n <sub>Built by <a href=\"https://wearemachina.com\"><strong>Machina</strong></a></sub>\n</div>\n\n---\n\n## The problem\n\nYour contact forms, pipeline scrapers, and partner APIs each have their own field names. `phone_number` here, `phoneNumber` there, `tel` somewhere else. Half the time a new field appears and breaks your Zap. The other half, someone enters a duplicate that your team has to clean manually.\n\nIntake handles all of it automatically.\n\n## What it does\n\nSend any JSON payload to Intake's webhook. It figures out the rest.\n\n```bash\ncurl -X POST https://your-crm.com/s/intake/getting-started \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@acme.com\",\n \"phone_number\": \"415-555-0199\",\n \"company\": \"Acme Inc\",\n \"message\": \"Need a new website by Q3.\",\n \"utm_source\": \"google\",\n \"budget\": \"25000\"\n }'\n```\n\n**What Twenty gets:**\n- ✅ Person record — Jane Doe, jane@acme.com, +1 415 555 0199\n- ✅ Company record — Acme Inc (linked to Jane)\n- ✅ Opportunity — \"Getting Started — Jane Doe\", stage: NEW\n- ✅ Note — message + UTM source, formatted and attached\n- ✅ Custom field `extBudget` auto-created on Person (first time only)\n\nNo Zaps. No middleware. No broken automations when your form adds a field.\n\n---\n\n## How it works\n\n```\nAny JSON payload\n │\n ▼\n① Normalize phone_number → phone, emailAddress → email, firstName + lastName → name\n │\n ▼\n② Classify short values → CRM fields │ prose / UTMs → note\n │\n ▼\n③ Extend unknown fields → auto-create ext_ custom fields on Person or Company\n │\n ▼\n④ Deduplicate match by email (Person) or domain (Company) before creating anything\n │\n ▼\n⑤ Ingest Person + Company + Opportunity + Note — one webhook, the full chain\n │\n ▼\n⑥ Log every ingestion recorded in IntakeLog with status, timing, field counts\n```\n\n---\n\n## Get started\n\n### 1. Install\n\nFrom the Twenty marketplace in **Settings → Applications**, search for **Intake** and install.\n\nOn fresh install, Intake automatically creates a \"Getting Started\" source with a ready-to-use webhook URL.\n\n### 2. Register a source\n\n```bash\ncurl -X POST https://your-crm.com/s/intake/sources/register \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"name\": \"Contact Form\",\n \"slug\": \"contact-form\",\n \"targetObject\": \"AUTO\"\n }'\n```\n\n```json\n{\n \"webhookUrl\": \"https://your-crm.com/s/intake/contact-form\",\n \"secret\": \"wh_live_abc123...\"\n}\n```\n\n### 3. Test without writing anything\n\n```bash\ncurl -X POST https://your-crm.com/s/intake/contact-form/test \\\n -H \"Content-Type: application/json\" \\\n -d '{\"first_name\":\"Jane\",\"email\":\"jane@co.com\",\"budget\":\"15000\"}'\n```\n\nReturns exactly what *would* be created — standard fields, custom fields to create, note preview — without touching the CRM.\n\n---\n\n## Payload formats\n\nIntake accepts any valid JSON. No required fields.\n\n**Flat (contact form):**\n```json\n{\n \"first_name\": \"Jane\",\n \"email\": \"jane@acme.com\",\n \"company\": \"Acme\",\n \"message\": \"Looking for a full rebrand.\",\n \"utm_source\": \"google\"\n}\n```\n\n**Structured (pipeline app):**\n```json\n{\n \"company\": {\n \"name\": \"Acme Plumbing\",\n \"domainName\": { \"primaryLinkUrl\": \"https://acmeplumbing.com\" },\n \"address\": { \"addressCity\": \"San Jose\", \"addressState\": \"CA\" }\n },\n \"person\": {\n \"name\": { \"firstName\": \"John\", \"lastName\": \"Smith\" },\n \"emails\": { \"primaryEmail\": \"john@acmeplumbing.com\" }\n },\n \"google_rating\": 4.7,\n \"review_count\": 143,\n \"analysis\": \"Strong reviews, outdated website.\"\n}\n```\n\n**Arbitrary nested:**\n```json\n{\n \"submitted_by\": { \"full_name\": \"Alex Thompson\", \"contact_email\": \"alex@co.com\" },\n \"project\": { \"type\": \"SaaS Dashboard\", \"budget\": \"15k\" },\n \"referrer\": \"behance\"\n}\n```\n\n---\n\n## Built-in field normalization\n\n100+ mappings ship by default. Some highlights:\n\n| Incoming key | Twenty field |\n|---|---|\n| `phone`, `phone_number`, `phoneNumber`, `tel`, `mobile`, `cell` | `phones.primaryPhoneNumber` |\n| `email`, `email_address`, `contact_email` | `emails.primaryEmail` |\n| `first_name`, `firstName`, `fname` | `name.firstName` |\n| `last_name`, `lastName`, `surname` | `name.lastName` |\n| `name`, `full_name`, `fullName` | `name` (auto-split) |\n| `company`, `company_name`, `business`, `organization` | Company record |\n| `website`, `url`, `domain`, `homepage` | `domainName.primaryLinkUrl` |\n| `utm_source/medium/campaign/content/term` | Note (always) |\n| `message`, `description`, `notes`, `comments`, `analysis` | Note (always) |\n\nUnknown fields get an `ext_` prefix and are created as custom fields the first time they appear.\n\n---\n\n## Custom field rules\n\nAdd `IntakeFieldRule` records to extend or override the built-in map for a specific source or globally:\n\n| Field | Description |\n|---|---|\n| `inputPattern` | Exact key name or JavaScript regex |\n| `canonicalName` | Target field in Twenty (use `ext` prefix for custom fields) |\n| `fieldType` | `TEXT`, `NUMBER`, `LINKS`, `EMAILS`, `PHONES`, `BOOLEAN`, `DATE_TIME`, `NOTE`, or `SKIP` |\n| `priority` | Higher = checked first (0–100) |\n\nRules with no source linked apply globally across all sources.\n\n---\n\n## Source configuration\n\nEach `IntakeSource` record controls:\n\n| Field | Default | Description |\n|---|---|---|\n| `targetObject` | `AUTO` | `PERSON`, `COMPANY`, or auto-detect |\n| `webhookSecret` | — | HMAC-SHA256 signing secret |\n| `createOpportunity` | `true` | Auto-create Opportunity per ingestion |\n| `opportunityNameTemplate` | `{{source}} — {{firstName}} {{lastName}}` | Supports `{{source}}`, `{{firstName}}`, `{{lastName}}`, `{{email}}`, `{{company}}` |\n| `status` | `ACTIVE` | Pause a source without deleting it |\n\n---\n\n## Workspace settings\n\nConfigurable from **Settings → Applications → Intake → Custom**:\n\n| Setting | Default | Description |\n|---|---|---|\n| `INTAKE_APP_LABEL` | `Intake` | Name used in note titles and opportunity names |\n| `INTAKE_DEFAULT_OPP_STAGE` | `NEW` | Stage for auto-created Opportunities |\n| `INTAKE_FIELD_CREATION_ENABLED` | `true` | Toggle auto-schema extension |\n| `INTAKE_MAX_EXT_FIELDS` | `50` | Cap on custom fields per object |\n| `INTAKE_DEDUP_WINDOW_MINUTES` | `5` | Duplicate suppression window |\n| `INTAKE_REQUIRE_HMAC` | `false` | Enforce signed webhooks globally |\n\n---\n\n## Webhook security\n\nSign requests with `HMAC-SHA256` using the source's secret:\n\n```bash\nSECRET=\"your-signing-secret\"\nPAYLOAD='{\"email\":\"jane@co.com\"}'\nSIGNATURE=$(echo -n \"$PAYLOAD\" | openssl dgst -sha256 -hmac \"$SECRET\" | awk '{print $2}')\n\ncurl -X POST https://your-crm.com/s/intake/contact-form \\\n -H \"Content-Type: application/json\" \\\n -H \"X-Webhook-Signature: sha256=$SIGNATURE\" \\\n -d \"$PAYLOAD\"\n```\n\nSources without a secret accept unsigned requests — useful for internal tools. Set `INTAKE_REQUIRE_HMAC=true` to enforce signatures globally.\n\n---\n\n## Endpoints\n\n| Method | Path | Auth | Description |\n|---|---|---|---|\n| `POST` | `/s/intake/:slug` | HMAC or open | Ingest a payload |\n| `POST` | `/s/intake/:slug/test` | None | Dry-run — preview without writing |\n| `POST` | `/s/intake/logs/:logId/retry` | API key | Retry a failed ingestion |\n| `GET` | `/s/intake/health` | None | Health check |\n| `POST` | `/s/intake/sources/register` | API key | Register a new source |\n\n---\n\n## Retry failed ingestions\n\nEvery ingestion is logged in `IntakeLog`. Failed logs can be retried from the record's detail page in Twenty, or via API:\n\n```bash\ncurl -X POST https://your-crm.com/s/intake/logs/LOG_ID/retry \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n```\n\n---\n\n## Development\n\n```bash\ngit clone https://github.com/FranciscoContreras/twenty-app-intake\ncd twenty-app-intake\nyarn install\n\n# Run unit tests\nyarn test\n\n# Connect to your Twenty instance\nyarn twenty remote add --api-url https://your-crm.com --api-key YOUR_KEY --as production\n\n# Sync in watch mode\nyarn twenty dev\n\n# One-shot sync\nyarn twenty dev --once\n```\n\n---\n\n## vs. the alternatives\n\n| | Intake | Zapier/Make | Hookdeck | Custom webhook |\n|---|---|---|---|---|\n| Zero config | ✅ | ❌ Manual mapping | ❌ Write ingestion logic | ❌ Build everything |\n| Auto schema extension | ✅ | ❌ New fields break flows | ❌ | ❌ |\n| Native Twenty objects | ✅ | ❌ | ❌ | ❌ |\n| Deduplication | ✅ | Partial | ❌ | Roll your own |\n| Audit log | ✅ | ❌ | ✅ | ❌ |\n| Self-hosted | ✅ | ❌ | Paid | ✅ |\n| Open source | ✅ MIT | ❌ | ❌ | ✅ |\n\n---\n\n## License\n\nMIT — built by [Machina](https://wearemachina.com) · [FranciscoContreras](https://github.com/FranciscoContreras)\n",
54
+ "yarnLockChecksum": "df2ded78f38bf57dd8c95ca58fbf7f8a",
55
+ "packageJsonChecksum": "8a01ca6f21c10751197da5940806a97c",
56
+ "requiredServerVersionRange": ">=2.26.0",
57
+ "settingsFrontComponent": {
58
+ "universalIdentifier": "4e4cfb3b-508c-413b-a1b2-192a51c31ed4"
59
+ }
51
60
  },
52
61
  "objects": [
53
62
  {
@@ -211,148 +220,6 @@
211
220
  "universalSettings": {
212
221
  "relationType": "ONE_TO_MANY"
213
222
  }
214
- },
215
- {
216
- "name": "id",
217
- "label": "Id",
218
- "description": "Id",
219
- "icon": "Icon123",
220
- "isNullable": false,
221
- "defaultValue": "uuid",
222
- "type": "UUID",
223
- "universalIdentifier": "2b108a26-1c83-5844-be3e-0368aae2b5d2"
224
- },
225
- {
226
- "name": "createdAt",
227
- "label": "Creation date",
228
- "description": "Creation date",
229
- "icon": "IconCalendar",
230
- "isNullable": false,
231
- "defaultValue": "now",
232
- "type": "DATE_TIME",
233
- "universalIdentifier": "46b6d740-fc82-5387-9480-aab4404de63c"
234
- },
235
- {
236
- "name": "updatedAt",
237
- "label": "Last update",
238
- "description": "Last time the record was changed",
239
- "icon": "IconCalendarClock",
240
- "isNullable": false,
241
- "defaultValue": "now",
242
- "type": "DATE_TIME",
243
- "universalIdentifier": "4d30cc04-ee39-51ac-a672-3165c9f58b0d"
244
- },
245
- {
246
- "name": "deletedAt",
247
- "label": "Deleted at",
248
- "description": "Deletion date",
249
- "icon": "IconCalendarClock",
250
- "isNullable": true,
251
- "defaultValue": null,
252
- "type": "DATE_TIME",
253
- "universalIdentifier": "82a74ee9-04fb-5bf8-98ec-f105ab49646f"
254
- },
255
- {
256
- "name": "createdBy",
257
- "label": "Created by",
258
- "description": "The creator of the record",
259
- "icon": "IconCreativeCommonsSa",
260
- "isNullable": false,
261
- "defaultValue": {
262
- "name": "''",
263
- "source": "'MANUAL'"
264
- },
265
- "type": "ACTOR",
266
- "universalIdentifier": "5ed46c42-7860-5397-83ef-ecd5ff136503"
267
- },
268
- {
269
- "name": "updatedBy",
270
- "label": "Updated by",
271
- "description": "The workspace member who last updated the record",
272
- "icon": "IconUserCircle",
273
- "isNullable": false,
274
- "defaultValue": {
275
- "name": "''",
276
- "source": "'MANUAL'"
277
- },
278
- "type": "ACTOR",
279
- "universalIdentifier": "a86014e4-ad77-5401-92aa-105e520abd55"
280
- },
281
- {
282
- "name": "position",
283
- "label": "Position",
284
- "description": "Position",
285
- "icon": "IconHierarchy2",
286
- "isNullable": false,
287
- "defaultValue": 0,
288
- "type": "POSITION",
289
- "universalIdentifier": "d6ffdd84-caac-53f7-b401-42fb448f42fb"
290
- },
291
- {
292
- "name": "searchVector",
293
- "label": "Search vector",
294
- "icon": "IconSearch",
295
- "description": "Search vector",
296
- "isNullable": true,
297
- "defaultValue": null,
298
- "type": "TS_VECTOR",
299
- "universalIdentifier": "ba7aaacb-375c-5e20-91ba-55234c072c4e"
300
- },
301
- {
302
- "name": "timelineActivities",
303
- "label": "Timeline Activities",
304
- "description": "Intake Sources tied to the IntakeSource",
305
- "icon": "IconBuildingSkyscraper",
306
- "isNullable": true,
307
- "type": "RELATION",
308
- "universalSettings": {
309
- "relationType": "ONE_TO_MANY"
310
- },
311
- "universalIdentifier": "5e2e3331-be31-5f37-b425-6b4f495795de",
312
- "relationTargetFieldMetadataUniversalIdentifier": "a440989c-f2a9-5e39-a14b-ff7295893142",
313
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-6736-4337-b5c4-8b39fae325a5"
314
- },
315
- {
316
- "name": "attachments",
317
- "label": "Attachments",
318
- "description": "Intake Sources tied to the IntakeSource",
319
- "icon": "IconBuildingSkyscraper",
320
- "isNullable": true,
321
- "type": "RELATION",
322
- "universalSettings": {
323
- "relationType": "ONE_TO_MANY"
324
- },
325
- "universalIdentifier": "19509dfd-e915-572e-a569-0a8da31fba49",
326
- "relationTargetFieldMetadataUniversalIdentifier": "905fe885-40b1-5397-b27c-05503a979200",
327
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-bd3d-4c60-8dca-571c71d4447a"
328
- },
329
- {
330
- "name": "noteTargets",
331
- "label": "Note Targets",
332
- "description": "Intake Sources tied to the IntakeSource",
333
- "icon": "IconBuildingSkyscraper",
334
- "isNullable": true,
335
- "type": "RELATION",
336
- "universalSettings": {
337
- "relationType": "ONE_TO_MANY"
338
- },
339
- "universalIdentifier": "4d1b1737-9ce0-5c87-aff1-a76e0d641932",
340
- "relationTargetFieldMetadataUniversalIdentifier": "f82c94c8-1053-57ca-9b1b-3527c57fbd15",
341
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-fff0-4b44-be82-bda313884400"
342
- },
343
- {
344
- "name": "taskTargets",
345
- "label": "Task Targets",
346
- "description": "Intake Sources tied to the IntakeSource",
347
- "icon": "IconBuildingSkyscraper",
348
- "isNullable": true,
349
- "type": "RELATION",
350
- "universalSettings": {
351
- "relationType": "ONE_TO_MANY"
352
- },
353
- "universalIdentifier": "eab6f3c7-444b-54a6-8583-0313ee489c1b",
354
- "relationTargetFieldMetadataUniversalIdentifier": "6c68eeaa-4aa9-5b5c-bc15-8945739527fa",
355
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-5a9a-44e8-95df-771cd06d0fb1"
356
223
  }
357
224
  ],
358
225
  "labelIdentifierFieldMetadataUniversalIdentifier": "0deb7e4b-bb90-4c86-b903-5208b42041e2"
@@ -524,16 +391,6 @@
524
391
  "joinColumnName": "intakeSourceId"
525
392
  }
526
393
  },
527
- {
528
- "name": "id",
529
- "label": "Id",
530
- "description": "Id",
531
- "icon": "Icon123",
532
- "isNullable": false,
533
- "defaultValue": "uuid",
534
- "type": "UUID",
535
- "universalIdentifier": "4ddec2fa-e9bd-5551-a907-cc8c95059585"
536
- },
537
394
  {
538
395
  "name": "name",
539
396
  "label": "Name",
@@ -542,142 +399,10 @@
542
399
  "isNullable": true,
543
400
  "defaultValue": null,
544
401
  "type": "TEXT",
545
- "universalIdentifier": "e8d66656-99e5-5224-8da6-1f7fcb2dda39"
546
- },
547
- {
548
- "name": "createdAt",
549
- "label": "Creation date",
550
- "description": "Creation date",
551
- "icon": "IconCalendar",
552
- "isNullable": false,
553
- "defaultValue": "now",
554
- "type": "DATE_TIME",
555
- "universalIdentifier": "4b256989-f0cc-5b05-9247-54374db8033f"
556
- },
557
- {
558
- "name": "updatedAt",
559
- "label": "Last update",
560
- "description": "Last time the record was changed",
561
- "icon": "IconCalendarClock",
562
- "isNullable": false,
563
- "defaultValue": "now",
564
- "type": "DATE_TIME",
565
- "universalIdentifier": "8070b1ea-3857-582d-938e-a9238dc15a18"
566
- },
567
- {
568
- "name": "deletedAt",
569
- "label": "Deleted at",
570
- "description": "Deletion date",
571
- "icon": "IconCalendarClock",
572
- "isNullable": true,
573
- "defaultValue": null,
574
- "type": "DATE_TIME",
575
- "universalIdentifier": "00a291ef-4677-5e6c-a5f1-ebc72f466f93"
576
- },
577
- {
578
- "name": "createdBy",
579
- "label": "Created by",
580
- "description": "The creator of the record",
581
- "icon": "IconCreativeCommonsSa",
582
- "isNullable": false,
583
- "defaultValue": {
584
- "name": "''",
585
- "source": "'MANUAL'"
586
- },
587
- "type": "ACTOR",
588
- "universalIdentifier": "825ff69f-b64f-57d0-b883-a010b80b3c14"
589
- },
590
- {
591
- "name": "updatedBy",
592
- "label": "Updated by",
593
- "description": "The workspace member who last updated the record",
594
- "icon": "IconUserCircle",
595
- "isNullable": false,
596
- "defaultValue": {
597
- "name": "''",
598
- "source": "'MANUAL'"
599
- },
600
- "type": "ACTOR",
601
- "universalIdentifier": "b69aef32-6704-56fa-a808-1013cc0d4740"
602
- },
603
- {
604
- "name": "position",
605
- "label": "Position",
606
- "description": "Position",
607
- "icon": "IconHierarchy2",
608
- "isNullable": false,
609
- "defaultValue": 0,
610
- "type": "POSITION",
611
- "universalIdentifier": "37c49ba7-d1ea-55ca-bdf6-c46029872c6e"
612
- },
613
- {
614
- "name": "searchVector",
615
- "label": "Search vector",
616
- "icon": "IconSearch",
617
- "description": "Search vector",
618
- "isNullable": true,
619
- "defaultValue": null,
620
- "type": "TS_VECTOR",
621
- "universalIdentifier": "8ff806b1-14be-5696-ae1a-b68d32b00d2c"
622
- },
623
- {
624
- "name": "timelineActivities",
625
- "label": "Timeline Activities",
626
- "description": "Intake Logs tied to the IntakeLog",
627
- "icon": "IconBuildingSkyscraper",
628
- "isNullable": true,
629
- "type": "RELATION",
630
- "universalSettings": {
631
- "relationType": "ONE_TO_MANY"
632
- },
633
- "universalIdentifier": "5d148cbb-7397-5eb2-b3bf-768f7d14f54a",
634
- "relationTargetFieldMetadataUniversalIdentifier": "edb9d4f2-b083-51fc-8cdd-6d17bd8a363f",
635
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-6736-4337-b5c4-8b39fae325a5"
636
- },
637
- {
638
- "name": "attachments",
639
- "label": "Attachments",
640
- "description": "Intake Logs tied to the IntakeLog",
641
- "icon": "IconBuildingSkyscraper",
642
- "isNullable": true,
643
- "type": "RELATION",
644
- "universalSettings": {
645
- "relationType": "ONE_TO_MANY"
646
- },
647
- "universalIdentifier": "b474ec7f-5d71-54e4-85a8-4637a0c2a7c1",
648
- "relationTargetFieldMetadataUniversalIdentifier": "82b32632-115d-5aee-9250-9e8a5f232b70",
649
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-bd3d-4c60-8dca-571c71d4447a"
650
- },
651
- {
652
- "name": "noteTargets",
653
- "label": "Note Targets",
654
- "description": "Intake Logs tied to the IntakeLog",
655
- "icon": "IconBuildingSkyscraper",
656
- "isNullable": true,
657
- "type": "RELATION",
658
- "universalSettings": {
659
- "relationType": "ONE_TO_MANY"
660
- },
661
- "universalIdentifier": "4cb29a92-e48d-5ab1-a8a4-62c108e074f2",
662
- "relationTargetFieldMetadataUniversalIdentifier": "5e4a5b76-3079-53fc-b3b7-6c788c22e93a",
663
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-fff0-4b44-be82-bda313884400"
664
- },
665
- {
666
- "name": "taskTargets",
667
- "label": "Task Targets",
668
- "description": "Intake Logs tied to the IntakeLog",
669
- "icon": "IconBuildingSkyscraper",
670
- "isNullable": true,
671
- "type": "RELATION",
672
- "universalSettings": {
673
- "relationType": "ONE_TO_MANY"
674
- },
675
- "universalIdentifier": "4866676f-15a4-57e7-bc12-d27b21c3f8e3",
676
- "relationTargetFieldMetadataUniversalIdentifier": "bf04b2bd-c579-5eb0-9ae4-98c17cbb7014",
677
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-5a9a-44e8-95df-771cd06d0fb1"
402
+ "universalIdentifier": "e09cc29c-b246-557c-84ff-fbe2d1728000"
678
403
  }
679
404
  ],
680
- "labelIdentifierFieldMetadataUniversalIdentifier": "e8d66656-99e5-5224-8da6-1f7fcb2dda39"
405
+ "labelIdentifierFieldMetadataUniversalIdentifier": "e09cc29c-b246-557c-84ff-fbe2d1728000"
681
406
  },
682
407
  {
683
408
  "universalIdentifier": "e74df817-ff25-4bfb-bdf0-651662ca327e",
@@ -811,16 +536,6 @@
811
536
  "joinColumnName": "intakeSourceId"
812
537
  }
813
538
  },
814
- {
815
- "name": "id",
816
- "label": "Id",
817
- "description": "Id",
818
- "icon": "Icon123",
819
- "isNullable": false,
820
- "defaultValue": "uuid",
821
- "type": "UUID",
822
- "universalIdentifier": "a1fe6b93-aca6-541e-9bd3-72144f13d202"
823
- },
824
539
  {
825
540
  "name": "name",
826
541
  "label": "Name",
@@ -829,362 +544,15 @@
829
544
  "isNullable": true,
830
545
  "defaultValue": null,
831
546
  "type": "TEXT",
832
- "universalIdentifier": "39ee0f44-bd52-532c-8a67-8197ce0a67e5"
833
- },
834
- {
835
- "name": "createdAt",
836
- "label": "Creation date",
837
- "description": "Creation date",
838
- "icon": "IconCalendar",
839
- "isNullable": false,
840
- "defaultValue": "now",
841
- "type": "DATE_TIME",
842
- "universalIdentifier": "ef573547-ba3b-5776-8726-7a9ebf1a71ab"
843
- },
844
- {
845
- "name": "updatedAt",
846
- "label": "Last update",
847
- "description": "Last time the record was changed",
848
- "icon": "IconCalendarClock",
849
- "isNullable": false,
850
- "defaultValue": "now",
851
- "type": "DATE_TIME",
852
- "universalIdentifier": "4d2c5099-a59b-5fa2-9278-065daeee163b"
853
- },
854
- {
855
- "name": "deletedAt",
856
- "label": "Deleted at",
857
- "description": "Deletion date",
858
- "icon": "IconCalendarClock",
859
- "isNullable": true,
860
- "defaultValue": null,
861
- "type": "DATE_TIME",
862
- "universalIdentifier": "04da2237-608a-5c26-b8f3-87c2a807f84b"
863
- },
864
- {
865
- "name": "createdBy",
866
- "label": "Created by",
867
- "description": "The creator of the record",
868
- "icon": "IconCreativeCommonsSa",
869
- "isNullable": false,
870
- "defaultValue": {
871
- "name": "''",
872
- "source": "'MANUAL'"
873
- },
874
- "type": "ACTOR",
875
- "universalIdentifier": "30eb6e1d-d6b6-533c-be73-0e7e14718122"
876
- },
877
- {
878
- "name": "updatedBy",
879
- "label": "Updated by",
880
- "description": "The workspace member who last updated the record",
881
- "icon": "IconUserCircle",
882
- "isNullable": false,
883
- "defaultValue": {
884
- "name": "''",
885
- "source": "'MANUAL'"
886
- },
887
- "type": "ACTOR",
888
- "universalIdentifier": "b25e3bb7-1f28-50cb-99f1-0d7ff126c1a5"
889
- },
890
- {
891
- "name": "position",
892
- "label": "Position",
893
- "description": "Position",
894
- "icon": "IconHierarchy2",
895
- "isNullable": false,
896
- "defaultValue": 0,
897
- "type": "POSITION",
898
- "universalIdentifier": "d31b5f8d-a890-5007-8127-3348636ab8f1"
899
- },
900
- {
901
- "name": "searchVector",
902
- "label": "Search vector",
903
- "icon": "IconSearch",
904
- "description": "Search vector",
905
- "isNullable": true,
906
- "defaultValue": null,
907
- "type": "TS_VECTOR",
908
- "universalIdentifier": "58cee060-7926-5d8f-aa5c-6f4f8398e8d2"
909
- },
910
- {
911
- "name": "timelineActivities",
912
- "label": "Timeline Activities",
913
- "description": "Field Rules tied to the IntakeFieldRule",
914
- "icon": "IconBuildingSkyscraper",
915
- "isNullable": true,
916
- "type": "RELATION",
917
- "universalSettings": {
918
- "relationType": "ONE_TO_MANY"
919
- },
920
- "universalIdentifier": "d623dc6c-f7b9-552a-9a24-aa20d5bd0fed",
921
- "relationTargetFieldMetadataUniversalIdentifier": "d43d0f3b-d733-558b-b780-8adf741e396e",
922
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-6736-4337-b5c4-8b39fae325a5"
923
- },
924
- {
925
- "name": "attachments",
926
- "label": "Attachments",
927
- "description": "Field Rules tied to the IntakeFieldRule",
928
- "icon": "IconBuildingSkyscraper",
929
- "isNullable": true,
930
- "type": "RELATION",
931
- "universalSettings": {
932
- "relationType": "ONE_TO_MANY"
933
- },
934
- "universalIdentifier": "af6e0759-9134-5ccd-a4d5-a35d0b6b8f3e",
935
- "relationTargetFieldMetadataUniversalIdentifier": "4ca79582-c8dd-5c95-b322-4ebdc46903f8",
936
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-bd3d-4c60-8dca-571c71d4447a"
937
- },
938
- {
939
- "name": "noteTargets",
940
- "label": "Note Targets",
941
- "description": "Field Rules tied to the IntakeFieldRule",
942
- "icon": "IconBuildingSkyscraper",
943
- "isNullable": true,
944
- "type": "RELATION",
945
- "universalSettings": {
946
- "relationType": "ONE_TO_MANY"
947
- },
948
- "universalIdentifier": "c4122c5a-e823-5e1d-8879-8579ed03d35c",
949
- "relationTargetFieldMetadataUniversalIdentifier": "f6c2e5df-0c66-5db8-8d93-11ece19f1d0f",
950
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-fff0-4b44-be82-bda313884400"
951
- },
952
- {
953
- "name": "taskTargets",
954
- "label": "Task Targets",
955
- "description": "Field Rules tied to the IntakeFieldRule",
956
- "icon": "IconBuildingSkyscraper",
957
- "isNullable": true,
958
- "type": "RELATION",
959
- "universalSettings": {
960
- "relationType": "ONE_TO_MANY"
961
- },
962
- "universalIdentifier": "c65da2ae-d0cc-5778-be63-9e89d5d38a45",
963
- "relationTargetFieldMetadataUniversalIdentifier": "9dfb6823-e56e-5f8b-bb52-8b900b22e0a9",
964
- "relationTargetObjectMetadataUniversalIdentifier": "20202020-5a9a-44e8-95df-771cd06d0fb1"
547
+ "universalIdentifier": "e9d6eb7b-8417-5fe1-b5d1-1969f2312e43"
965
548
  }
966
549
  ],
967
- "labelIdentifierFieldMetadataUniversalIdentifier": "39ee0f44-bd52-532c-8a67-8197ce0a67e5"
968
- }
969
- ],
970
- "fields": [
971
- {
972
- "name": "targetIntakeFieldRule",
973
- "label": "IntakeFieldRule",
974
- "description": "IntakeFieldRule Field Rule",
975
- "icon": "IconFileImport",
976
- "isNullable": true,
977
- "universalSettings": {
978
- "relationType": "MANY_TO_ONE",
979
- "onDelete": "SET_NULL",
980
- "joinColumnName": "targetIntakeFieldRuleId"
981
- },
982
- "universalIdentifier": "4ca79582-c8dd-5c95-b322-4ebdc46903f8",
983
- "objectUniversalIdentifier": "20202020-bd3d-4c60-8dca-571c71d4447a",
984
- "relationTargetFieldMetadataUniversalIdentifier": "af6e0759-9134-5ccd-a4d5-a35d0b6b8f3e",
985
- "relationTargetObjectMetadataUniversalIdentifier": "e74df817-ff25-4bfb-bdf0-651662ca327e",
986
- "type": "MORPH_RELATION",
987
- "morphId": "20202020-f634-435d-ab8d-e1168b375c69"
988
- },
989
- {
990
- "name": "targetIntakeLog",
991
- "label": "IntakeLog",
992
- "description": "IntakeLog Intake Log",
993
- "icon": "IconCheckbox",
994
- "isNullable": true,
995
- "universalSettings": {
996
- "relationType": "MANY_TO_ONE",
997
- "onDelete": "SET_NULL",
998
- "joinColumnName": "targetIntakeLogId"
999
- },
1000
- "universalIdentifier": "5e4a5b76-3079-53fc-b3b7-6c788c22e93a",
1001
- "objectUniversalIdentifier": "20202020-fff0-4b44-be82-bda313884400",
1002
- "relationTargetFieldMetadataUniversalIdentifier": "4cb29a92-e48d-5ab1-a8a4-62c108e074f2",
1003
- "relationTargetObjectMetadataUniversalIdentifier": "b77a2439-1503-4ef6-ab8b-8f4293bc19da",
1004
- "type": "MORPH_RELATION",
1005
- "morphId": "20202020-f635-435d-ab8d-e1168b375c70"
1006
- },
1007
- {
1008
- "name": "targetIntakeSource",
1009
- "label": "IntakeSource",
1010
- "description": "IntakeSource Intake Source",
1011
- "icon": "IconCheckbox",
1012
- "isNullable": true,
1013
- "universalSettings": {
1014
- "relationType": "MANY_TO_ONE",
1015
- "onDelete": "SET_NULL",
1016
- "joinColumnName": "targetIntakeSourceId"
1017
- },
1018
- "universalIdentifier": "6c68eeaa-4aa9-5b5c-bc15-8945739527fa",
1019
- "objectUniversalIdentifier": "20202020-5a9a-44e8-95df-771cd06d0fb1",
1020
- "relationTargetFieldMetadataUniversalIdentifier": "eab6f3c7-444b-54a6-8583-0313ee489c1b",
1021
- "relationTargetObjectMetadataUniversalIdentifier": "8c1c227c-db7d-4834-b328-cacbe8af0bfc",
1022
- "type": "MORPH_RELATION",
1023
- "morphId": "20202020-f636-435d-ab8d-e1168b375c71"
1024
- },
1025
- {
1026
- "name": "targetIntakeLog",
1027
- "label": "IntakeLog",
1028
- "description": "IntakeLog Intake Log",
1029
- "icon": "IconFileImport",
1030
- "isNullable": true,
1031
- "universalSettings": {
1032
- "relationType": "MANY_TO_ONE",
1033
- "onDelete": "SET_NULL",
1034
- "joinColumnName": "targetIntakeLogId"
1035
- },
1036
- "universalIdentifier": "82b32632-115d-5aee-9250-9e8a5f232b70",
1037
- "objectUniversalIdentifier": "20202020-bd3d-4c60-8dca-571c71d4447a",
1038
- "relationTargetFieldMetadataUniversalIdentifier": "b474ec7f-5d71-54e4-85a8-4637a0c2a7c1",
1039
- "relationTargetObjectMetadataUniversalIdentifier": "b77a2439-1503-4ef6-ab8b-8f4293bc19da",
1040
- "type": "MORPH_RELATION",
1041
- "morphId": "20202020-f634-435d-ab8d-e1168b375c69"
1042
- },
1043
- {
1044
- "name": "targetIntakeSource",
1045
- "label": "IntakeSource",
1046
- "description": "IntakeSource Intake Source",
1047
- "icon": "IconFileImport",
1048
- "isNullable": true,
1049
- "universalSettings": {
1050
- "relationType": "MANY_TO_ONE",
1051
- "onDelete": "SET_NULL",
1052
- "joinColumnName": "targetIntakeSourceId"
1053
- },
1054
- "universalIdentifier": "905fe885-40b1-5397-b27c-05503a979200",
1055
- "objectUniversalIdentifier": "20202020-bd3d-4c60-8dca-571c71d4447a",
1056
- "relationTargetFieldMetadataUniversalIdentifier": "19509dfd-e915-572e-a569-0a8da31fba49",
1057
- "relationTargetObjectMetadataUniversalIdentifier": "8c1c227c-db7d-4834-b328-cacbe8af0bfc",
1058
- "type": "MORPH_RELATION",
1059
- "morphId": "20202020-f634-435d-ab8d-e1168b375c69"
1060
- },
1061
- {
1062
- "name": "targetIntakeFieldRule",
1063
- "label": "IntakeFieldRule",
1064
- "description": "IntakeFieldRule Field Rule",
1065
- "icon": "IconCheckbox",
1066
- "isNullable": true,
1067
- "universalSettings": {
1068
- "relationType": "MANY_TO_ONE",
1069
- "onDelete": "SET_NULL",
1070
- "joinColumnName": "targetIntakeFieldRuleId"
1071
- },
1072
- "universalIdentifier": "9dfb6823-e56e-5f8b-bb52-8b900b22e0a9",
1073
- "objectUniversalIdentifier": "20202020-5a9a-44e8-95df-771cd06d0fb1",
1074
- "relationTargetFieldMetadataUniversalIdentifier": "c65da2ae-d0cc-5778-be63-9e89d5d38a45",
1075
- "relationTargetObjectMetadataUniversalIdentifier": "e74df817-ff25-4bfb-bdf0-651662ca327e",
1076
- "type": "MORPH_RELATION",
1077
- "morphId": "20202020-f636-435d-ab8d-e1168b375c71"
1078
- },
1079
- {
1080
- "name": "targetIntakeSource",
1081
- "label": "IntakeSource",
1082
- "description": "IntakeSource Intake Source",
1083
- "icon": "IconTimelineEvent",
1084
- "isNullable": true,
1085
- "universalSettings": {
1086
- "relationType": "MANY_TO_ONE",
1087
- "onDelete": "SET_NULL",
1088
- "joinColumnName": "targetIntakeSourceId"
1089
- },
1090
- "universalIdentifier": "a440989c-f2a9-5e39-a14b-ff7295893142",
1091
- "objectUniversalIdentifier": "20202020-6736-4337-b5c4-8b39fae325a5",
1092
- "relationTargetFieldMetadataUniversalIdentifier": "5e2e3331-be31-5f37-b425-6b4f495795de",
1093
- "relationTargetObjectMetadataUniversalIdentifier": "8c1c227c-db7d-4834-b328-cacbe8af0bfc",
1094
- "type": "MORPH_RELATION",
1095
- "morphId": "20202020-9a2b-4c3d-a4e5-f6a7b8c9d0e1"
1096
- },
1097
- {
1098
- "name": "targetIntakeLog",
1099
- "label": "IntakeLog",
1100
- "description": "IntakeLog Intake Log",
1101
- "icon": "IconCheckbox",
1102
- "isNullable": true,
1103
- "universalSettings": {
1104
- "relationType": "MANY_TO_ONE",
1105
- "onDelete": "SET_NULL",
1106
- "joinColumnName": "targetIntakeLogId"
1107
- },
1108
- "universalIdentifier": "bf04b2bd-c579-5eb0-9ae4-98c17cbb7014",
1109
- "objectUniversalIdentifier": "20202020-5a9a-44e8-95df-771cd06d0fb1",
1110
- "relationTargetFieldMetadataUniversalIdentifier": "4866676f-15a4-57e7-bc12-d27b21c3f8e3",
1111
- "relationTargetObjectMetadataUniversalIdentifier": "b77a2439-1503-4ef6-ab8b-8f4293bc19da",
1112
- "type": "MORPH_RELATION",
1113
- "morphId": "20202020-f636-435d-ab8d-e1168b375c71"
1114
- },
1115
- {
1116
- "name": "targetIntakeFieldRule",
1117
- "label": "IntakeFieldRule",
1118
- "description": "IntakeFieldRule Field Rule",
1119
- "icon": "IconTimelineEvent",
1120
- "isNullable": true,
1121
- "universalSettings": {
1122
- "relationType": "MANY_TO_ONE",
1123
- "onDelete": "SET_NULL",
1124
- "joinColumnName": "targetIntakeFieldRuleId"
1125
- },
1126
- "universalIdentifier": "d43d0f3b-d733-558b-b780-8adf741e396e",
1127
- "objectUniversalIdentifier": "20202020-6736-4337-b5c4-8b39fae325a5",
1128
- "relationTargetFieldMetadataUniversalIdentifier": "d623dc6c-f7b9-552a-9a24-aa20d5bd0fed",
1129
- "relationTargetObjectMetadataUniversalIdentifier": "e74df817-ff25-4bfb-bdf0-651662ca327e",
1130
- "type": "MORPH_RELATION",
1131
- "morphId": "20202020-9a2b-4c3d-a4e5-f6a7b8c9d0e1"
1132
- },
1133
- {
1134
- "name": "targetIntakeLog",
1135
- "label": "IntakeLog",
1136
- "description": "IntakeLog Intake Log",
1137
- "icon": "IconTimelineEvent",
1138
- "isNullable": true,
1139
- "universalSettings": {
1140
- "relationType": "MANY_TO_ONE",
1141
- "onDelete": "SET_NULL",
1142
- "joinColumnName": "targetIntakeLogId"
1143
- },
1144
- "universalIdentifier": "edb9d4f2-b083-51fc-8cdd-6d17bd8a363f",
1145
- "objectUniversalIdentifier": "20202020-6736-4337-b5c4-8b39fae325a5",
1146
- "relationTargetFieldMetadataUniversalIdentifier": "5d148cbb-7397-5eb2-b3bf-768f7d14f54a",
1147
- "relationTargetObjectMetadataUniversalIdentifier": "b77a2439-1503-4ef6-ab8b-8f4293bc19da",
1148
- "type": "MORPH_RELATION",
1149
- "morphId": "20202020-9a2b-4c3d-a4e5-f6a7b8c9d0e1"
1150
- },
1151
- {
1152
- "name": "targetIntakeFieldRule",
1153
- "label": "IntakeFieldRule",
1154
- "description": "IntakeFieldRule Field Rule",
1155
- "icon": "IconCheckbox",
1156
- "isNullable": true,
1157
- "universalSettings": {
1158
- "relationType": "MANY_TO_ONE",
1159
- "onDelete": "SET_NULL",
1160
- "joinColumnName": "targetIntakeFieldRuleId"
1161
- },
1162
- "universalIdentifier": "f6c2e5df-0c66-5db8-8d93-11ece19f1d0f",
1163
- "objectUniversalIdentifier": "20202020-fff0-4b44-be82-bda313884400",
1164
- "relationTargetFieldMetadataUniversalIdentifier": "c4122c5a-e823-5e1d-8879-8579ed03d35c",
1165
- "relationTargetObjectMetadataUniversalIdentifier": "e74df817-ff25-4bfb-bdf0-651662ca327e",
1166
- "type": "MORPH_RELATION",
1167
- "morphId": "20202020-f635-435d-ab8d-e1168b375c70"
1168
- },
1169
- {
1170
- "name": "targetIntakeSource",
1171
- "label": "IntakeSource",
1172
- "description": "IntakeSource Intake Source",
1173
- "icon": "IconCheckbox",
1174
- "isNullable": true,
1175
- "universalSettings": {
1176
- "relationType": "MANY_TO_ONE",
1177
- "onDelete": "SET_NULL",
1178
- "joinColumnName": "targetIntakeSourceId"
1179
- },
1180
- "universalIdentifier": "f82c94c8-1053-57ca-9b1b-3527c57fbd15",
1181
- "objectUniversalIdentifier": "20202020-fff0-4b44-be82-bda313884400",
1182
- "relationTargetFieldMetadataUniversalIdentifier": "4d1b1737-9ce0-5c87-aff1-a76e0d641932",
1183
- "relationTargetObjectMetadataUniversalIdentifier": "8c1c227c-db7d-4834-b328-cacbe8af0bfc",
1184
- "type": "MORPH_RELATION",
1185
- "morphId": "20202020-f635-435d-ab8d-e1168b375c70"
550
+ "labelIdentifierFieldMetadataUniversalIdentifier": "e9d6eb7b-8417-5fe1-b5d1-1969f2312e43"
1186
551
  }
1187
552
  ],
553
+ "fields": [],
554
+ "indexes": [],
555
+ "permissionFlags": [],
1188
556
  "roles": [
1189
557
  {
1190
558
  "universalIdentifier": "3dd2cdb0-32c7-44b4-9f7b-0a9c667ec249",
@@ -1200,7 +568,10 @@
1200
568
  "canBeAssignedToApiKeys": false,
1201
569
  "objectPermissions": [],
1202
570
  "fieldPermissions": [],
1203
- "permissionFlags": []
571
+ "permissionFlags": [],
572
+ "rowLevelPermissionPredicateGroups": [],
573
+ "rowLevelPermissionPredicates": [],
574
+ "permissionFlagUniversalIdentifiers": []
1204
575
  }
1205
576
  ],
1206
577
  "skills": [],
@@ -1270,7 +641,7 @@
1270
641
  "handlerName": "default.config.handler",
1271
642
  "sourceHandlerPath": "src/logic-functions/webhook.ts",
1272
643
  "builtHandlerPath": "src/logic-functions/webhook.mjs",
1273
- "builtHandlerChecksum": "2cc3c73124991cc5be232d24269c4481"
644
+ "builtHandlerChecksum": "55a0e6be5ad139b37851023bfc0f288a"
1274
645
  },
1275
646
  {
1276
647
  "universalIdentifier": "90f20396-a69a-4ae4-af20-6be65c565bb5",
@@ -1285,7 +656,7 @@
1285
656
  "handlerName": "default.config.handler",
1286
657
  "sourceHandlerPath": "src/logic-functions/retry.ts",
1287
658
  "builtHandlerPath": "src/logic-functions/retry.mjs",
1288
- "builtHandlerChecksum": "e24731ca4d97b20b70f084a5a5c39133"
659
+ "builtHandlerChecksum": "c3746f942504ccb26b9bf1cb119ff432"
1289
660
  },
1290
661
  {
1291
662
  "universalIdentifier": "e836fdd6-fd54-4aa4-ba6d-87d5a02148ef",
@@ -1305,7 +676,7 @@
1305
676
  "componentName": "SettingsPanel",
1306
677
  "sourceComponentPath": "src/front-components/settings-panel.tsx",
1307
678
  "builtComponentPath": "src/front-components/settings-panel.mjs",
1308
- "builtComponentChecksum": "2e007e1a5cf7632a80d0d36cadac7cf8",
679
+ "builtComponentChecksum": "35641183ac1e55317c57276989d9282174949daac831c6756ce33a5e38079004",
1309
680
  "isHeadless": false,
1310
681
  "usesSdkClient": false
1311
682
  },
@@ -1316,7 +687,7 @@
1316
687
  "componentName": "Dashboard",
1317
688
  "sourceComponentPath": "src/front-components/dashboard.tsx",
1318
689
  "builtComponentPath": "src/front-components/dashboard.mjs",
1319
- "builtComponentChecksum": "b9a38dd53b4d0afb791b315a9db8108e",
690
+ "builtComponentChecksum": "63a85b7c4c65bfba8fa844ce3cb932d0aa24ab1a67a71c85a48c9bbef87f8105",
1320
691
  "isHeadless": false,
1321
692
  "usesSdkClient": false
1322
693
  },
@@ -1327,7 +698,7 @@
1327
698
  "componentName": "SourcePanel",
1328
699
  "sourceComponentPath": "src/front-components/source-panel.tsx",
1329
700
  "builtComponentPath": "src/front-components/source-panel.mjs",
1330
- "builtComponentChecksum": "15d77f5d59a859218e8932df5d148c71",
701
+ "builtComponentChecksum": "9bdc4badf60a9bea1a9664c4c60dc4b20b326cc76e66bd46284cb9346fd9d1cf",
1331
702
  "isHeadless": false,
1332
703
  "usesSdkClient": false
1333
704
  }
@@ -1338,6 +709,12 @@
1338
709
  "fileName": "logo.svg",
1339
710
  "fileType": "svg",
1340
711
  "checksum": "287a24e80df4f01e6d91dfd3e04817bd"
712
+ },
713
+ {
714
+ "filePath": "public/cover.generated.png",
715
+ "fileName": "cover.generated.png",
716
+ "fileType": "png",
717
+ "checksum": "a2d9f6b6cf1d6c76688cfee289977af1"
1341
718
  }
1342
719
  ],
1343
720
  "views": [
@@ -1449,6 +826,7 @@
1449
826
  ]
1450
827
  }
1451
828
  ],
829
+ "viewFields": [],
1452
830
  "navigationMenuItems": [
1453
831
  {
1454
832
  "universalIdentifier": "e81bf288-5686-4713-86ae-e2947b124cab",