@agent-native/core 0.123.0 → 0.123.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +1 -1
- package/corpus/core/CHANGELOG.md +16 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/cli/templates-meta.ts +12 -0
- package/corpus/templates/crm/.agents/skills/agent-native-docs/SKILL.md +115 -0
- package/corpus/templates/crm/.agents/skills/agent-native-toolkit/SKILL.md +177 -0
- package/corpus/templates/crm/.agents/skills/crm/SKILL.md +205 -0
- package/corpus/templates/crm/.agents/skills/customizing-agent-native/SKILL.md +220 -0
- package/corpus/templates/crm/.agents/skills/feature-flags/SKILL.md +169 -0
- package/corpus/templates/crm/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/crm/.agents/skills/storing-data/SKILL.md +178 -0
- package/corpus/templates/crm/.agents/skills/upgrade-agent-native/SKILL.md +122 -0
- package/corpus/templates/crm/.env.example +5 -0
- package/corpus/templates/crm/AGENTS.md +82 -0
- package/corpus/templates/crm/CHANGELOG.md +25 -0
- package/corpus/templates/crm/DEVELOPING.md +66 -0
- package/corpus/templates/crm/README.md +122 -0
- package/corpus/templates/crm/_gitignore +12 -0
- package/corpus/templates/crm/actions/_crm-action-utils.ts +98 -0
- package/corpus/templates/crm/actions/_crm-attribute-utils.ts +219 -0
- package/corpus/templates/crm/actions/_crm-dashboard.ts +69 -0
- package/corpus/templates/crm/actions/_crm-data-program-actions.ts +15 -0
- package/corpus/templates/crm/actions/_crm-list-utils.ts +775 -0
- package/corpus/templates/crm/actions/_crm-signal-utils.ts +79 -0
- package/corpus/templates/crm/actions/add-crm-record-to-list.ts +164 -0
- package/corpus/templates/crm/actions/apply-crm-proposals.ts +291 -0
- package/corpus/templates/crm/actions/archive-crm-attribute.ts +69 -0
- package/corpus/templates/crm/actions/attach-call-evidence.ts +170 -0
- package/corpus/templates/crm/actions/configure-crm-connection.ts +126 -0
- package/corpus/templates/crm/actions/configure-native-crm.ts +44 -0
- package/corpus/templates/crm/actions/create-crm-attribute.ts +350 -0
- package/corpus/templates/crm/actions/create-crm-list.ts +194 -0
- package/corpus/templates/crm/actions/create-crm-record.ts +148 -0
- package/corpus/templates/crm/actions/create-crm-signal-tracker.ts +58 -0
- package/corpus/templates/crm/actions/delete-crm-saved-view.ts +68 -0
- package/corpus/templates/crm/actions/delete-staged-dataset.ts +14 -0
- package/corpus/templates/crm/actions/estimate-crm-enrichment.ts +229 -0
- package/corpus/templates/crm/actions/find-crm-duplicates.ts +87 -0
- package/corpus/templates/crm/actions/get-crm-automation-recipe.ts +36 -0
- package/corpus/templates/crm/actions/get-crm-dashboard-panel.ts +35 -0
- package/corpus/templates/crm/actions/get-crm-dashboard.ts +14 -0
- package/corpus/templates/crm/actions/get-crm-overview.ts +13 -0
- package/corpus/templates/crm/actions/get-crm-pipeline-data.ts +61 -0
- package/corpus/templates/crm/actions/get-crm-record-page.ts +287 -0
- package/corpus/templates/crm/actions/get-crm-record.ts +75 -0
- package/corpus/templates/crm/actions/get-crm-workspace.ts +364 -0
- package/corpus/templates/crm/actions/install-crm-pipeline-dashboard.ts +81 -0
- package/corpus/templates/crm/actions/list-crm-attributes.ts +71 -0
- package/corpus/templates/crm/actions/list-crm-connections.ts +68 -0
- package/corpus/templates/crm/actions/list-crm-dashboard-revisions.ts +15 -0
- package/corpus/templates/crm/actions/list-crm-dashboards.ts +15 -0
- package/corpus/templates/crm/actions/list-crm-enrichment-slots.ts +28 -0
- package/corpus/templates/crm/actions/list-crm-list-entries.ts +192 -0
- package/corpus/templates/crm/actions/list-crm-lists.ts +80 -0
- package/corpus/templates/crm/actions/list-crm-proposals.ts +55 -0
- package/corpus/templates/crm/actions/list-crm-record-field-history.ts +201 -0
- package/corpus/templates/crm/actions/list-crm-record-values.ts +200 -0
- package/corpus/templates/crm/actions/list-crm-records.ts +103 -0
- package/corpus/templates/crm/actions/list-crm-saved-views.ts +66 -0
- package/corpus/templates/crm/actions/list-crm-signal-hits.ts +43 -0
- package/corpus/templates/crm/actions/list-crm-signal-trackers.ts +32 -0
- package/corpus/templates/crm/actions/list-crm-tasks.ts +22 -0
- package/corpus/templates/crm/actions/list-staged-datasets.ts +14 -0
- package/corpus/templates/crm/actions/list-workspace-connections.ts +47 -0
- package/corpus/templates/crm/actions/manage-crm-attribute-option.ts +272 -0
- package/corpus/templates/crm/actions/manage-crm-signal-tracker.ts +87 -0
- package/corpus/templates/crm/actions/manage-crm-task.ts +132 -0
- package/corpus/templates/crm/actions/merge-crm-records.ts +691 -0
- package/corpus/templates/crm/actions/navigate.ts +54 -0
- package/corpus/templates/crm/actions/provider-api-catalog.ts +22 -0
- package/corpus/templates/crm/actions/provider-api-docs.ts +54 -0
- package/corpus/templates/crm/actions/provider-api-request.ts +92 -0
- package/corpus/templates/crm/actions/query-staged-dataset.ts +44 -0
- package/corpus/templates/crm/actions/record-crm-call-insight.ts +160 -0
- package/corpus/templates/crm/actions/record-crm-smart-signal.ts +150 -0
- package/corpus/templates/crm/actions/remove-crm-list-entry.ts +79 -0
- package/corpus/templates/crm/actions/restore-crm-dashboard-revision.ts +23 -0
- package/corpus/templates/crm/actions/review-crm-signal.ts +31 -0
- package/corpus/templates/crm/actions/run-crm-attribute-fill.ts +443 -0
- package/corpus/templates/crm/actions/run-crm-enrichment.ts +647 -0
- package/corpus/templates/crm/actions/run-crm-saved-view-program.ts +103 -0
- package/corpus/templates/crm/actions/run-crm-signal-trackers.ts +265 -0
- package/corpus/templates/crm/actions/run.ts +7 -0
- package/corpus/templates/crm/actions/save-crm-dashboard.ts +51 -0
- package/corpus/templates/crm/actions/save-crm-saved-view.ts +296 -0
- package/corpus/templates/crm/actions/sync-crm.ts +146 -0
- package/corpus/templates/crm/actions/update-crm-attribute.ts +111 -0
- package/corpus/templates/crm/actions/update-crm-list-entry.ts +102 -0
- package/corpus/templates/crm/actions/update-crm-list.ts +97 -0
- package/corpus/templates/crm/actions/update-crm-record.ts +543 -0
- package/corpus/templates/crm/actions/view-screen.ts +324 -0
- package/corpus/templates/crm/agent-native.app-skill.json +69 -0
- package/corpus/templates/crm/app/components/crm/CreateCrmRecordDialog.tsx +158 -0
- package/corpus/templates/crm/app/components/crm/CrmDashboardPanel.tsx +78 -0
- package/corpus/templates/crm/app/components/crm/CrmSignalsPanel.tsx +220 -0
- package/corpus/templates/crm/app/components/crm/IntelligenceSettings.tsx +414 -0
- package/corpus/templates/crm/app/components/crm/RecordActions.tsx +648 -0
- package/corpus/templates/crm/app/components/crm/RecordGrid.tsx +488 -0
- package/corpus/templates/crm/app/components/crm/RecordWorkspace.tsx +232 -0
- package/corpus/templates/crm/app/components/crm/SavedViewDataProgram.tsx +93 -0
- package/corpus/templates/crm/app/components/crm/Surface.tsx +97 -0
- package/corpus/templates/crm/app/components/crm/WorkOverview.tsx +180 -0
- package/corpus/templates/crm/app/components/crm/board/CrmBoard.tsx +988 -0
- package/corpus/templates/crm/app/components/crm/board/board-model.ts +399 -0
- package/corpus/templates/crm/app/components/crm/board/entry-filter.ts +150 -0
- package/corpus/templates/crm/app/components/crm/board/view-draft.ts +227 -0
- package/corpus/templates/crm/app/components/crm/grid/CrmGrid.tsx +1033 -0
- package/corpus/templates/crm/app/components/crm/grid/GridCell.tsx +620 -0
- package/corpus/templates/crm/app/components/crm/grid/clipboard.ts +84 -0
- package/corpus/templates/crm/app/components/crm/grid/model.ts +304 -0
- package/corpus/templates/crm/app/components/crm/grid/navigation.ts +220 -0
- package/corpus/templates/crm/app/components/crm/grid/query.ts +214 -0
- package/corpus/templates/crm/app/components/crm/record/AttributePanel.tsx +192 -0
- package/corpus/templates/crm/app/components/crm/record/FieldHistory.tsx +179 -0
- package/corpus/templates/crm/app/components/crm/record/RecordHeader.tsx +103 -0
- package/corpus/templates/crm/app/components/crm/record/RecordLists.tsx +235 -0
- package/corpus/templates/crm/app/components/crm/record/RecordTabs.tsx +206 -0
- package/corpus/templates/crm/app/components/crm/record/field-editors.tsx +245 -0
- package/corpus/templates/crm/app/components/crm/record/record-data.ts +603 -0
- package/corpus/templates/crm/app/components/crm/settings/AdvancedSettings.tsx +49 -0
- package/corpus/templates/crm/app/components/crm/settings/AttributeOptionsEditor.tsx +441 -0
- package/corpus/templates/crm/app/components/crm/settings/ConnectionSettings.tsx +169 -0
- package/corpus/templates/crm/app/components/crm/settings/FieldsSettings.tsx +935 -0
- package/corpus/templates/crm/app/components/crm/settings/ListsSettings.tsx +339 -0
- package/corpus/templates/crm/app/components/crm/settings/settings-admin.ts +377 -0
- package/corpus/templates/crm/app/components/crm/shared/AttributeValueParts.tsx +69 -0
- package/corpus/templates/crm/app/components/crm/shared/attribute-value.ts +591 -0
- package/corpus/templates/crm/app/components/layout/CrmCommandMenu.tsx +556 -0
- package/corpus/templates/crm/app/components/layout/CrmLayout.tsx +130 -0
- package/corpus/templates/crm/app/components/layout/CrmSidebar.tsx +407 -0
- package/corpus/templates/crm/app/components/layout/command-palette-search.ts +126 -0
- package/corpus/templates/crm/app/components/layout/crm-ui-intents.ts +41 -0
- package/corpus/templates/crm/app/components/layout/sidebar-collapse.ts +40 -0
- package/corpus/templates/crm/app/components/layout/sidebar-lists.ts +109 -0
- package/corpus/templates/crm/app/components/ui/alert-dialog.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/badge.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/button.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/card.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/checkbox.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/dialog.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/dropdown-menu.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/hover-card.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/input.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/label.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/popover.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/select.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/sheet.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/skeleton.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/switch.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/table.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/tabs.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/textarea.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/crm/app/components/ui/tooltip.tsx +1 -0
- package/corpus/templates/crm/app/design-system.ts +3 -0
- package/corpus/templates/crm/app/entry.client.tsx +19 -0
- package/corpus/templates/crm/app/entry.server.tsx +10 -0
- package/corpus/templates/crm/app/global.css +167 -0
- package/corpus/templates/crm/app/hooks/use-keyboard-shortcuts.ts +206 -0
- package/corpus/templates/crm/app/hooks/use-navigation-state.ts +48 -0
- package/corpus/templates/crm/app/i18n/en-US.ts +684 -0
- package/corpus/templates/crm/app/i18n/index.ts +34 -0
- package/corpus/templates/crm/app/lib/dashboard.ts +13 -0
- package/corpus/templates/crm/app/lib/navigation.ts +17 -0
- package/corpus/templates/crm/app/lib/tab-id.ts +1 -0
- package/corpus/templates/crm/app/lib/types.ts +172 -0
- package/corpus/templates/crm/app/lib/utils.ts +1 -0
- package/corpus/templates/crm/app/root.tsx +93 -0
- package/corpus/templates/crm/app/routes/_index.tsx +26 -0
- package/corpus/templates/crm/app/routes/accounts.tsx +41 -0
- package/corpus/templates/crm/app/routes/agent.tsx +5 -0
- package/corpus/templates/crm/app/routes/ask.tsx +53 -0
- package/corpus/templates/crm/app/routes/dashboard.tsx +118 -0
- package/corpus/templates/crm/app/routes/lists.tsx +228 -0
- package/corpus/templates/crm/app/routes/opportunities.tsx +41 -0
- package/corpus/templates/crm/app/routes/people.tsx +41 -0
- package/corpus/templates/crm/app/routes/proposals.tsx +388 -0
- package/corpus/templates/crm/app/routes/records.$recordId.tsx +53 -0
- package/corpus/templates/crm/app/routes/records.tsx +64 -0
- package/corpus/templates/crm/app/routes/settings.tsx +118 -0
- package/corpus/templates/crm/app/routes/setup.tsx +308 -0
- package/corpus/templates/crm/app/routes/tasks.tsx +252 -0
- package/corpus/templates/crm/app/routes/views.tsx +683 -0
- package/corpus/templates/crm/app/routes.ts +19 -0
- package/corpus/templates/crm/app/vite-env.d.ts +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-any-list-or-view-can-be-shown-as-a-board-grouped-by-stage-so.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-crm-now-finds-likely-duplicate-records-and-tells-you-exactly.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-enrichment-now-shows-what-a-run-will-cost-before-it-starts-g.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-lists-turn-any-set-of-records-into-a-pipeline-with-its-own-s.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-moving-a-record-or-list-entry-into-a-stage-that-was-retired-.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-opening-a-record-now-shows-one-page-with-its-fields-the-list.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-press-cmd-k-to-jump-to-any-record-list-view-or-setting-and-u.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-provider-record-edits-now-show-an-exact-before-after-diff-an.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-record-page-attribute-labels-now-read-in-full-instead-of-bei.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-records-now-use-typed-fields-currency-dates-ratings-status-s.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-retyping-a-value-on-the-record-page-now-replaces-it-instead-.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-settings-now-has-fields-and-lists-tabs-for-adding-fields-edi.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-the-proposal-review-now-shows-the-field-that-actually-change.md +6 -0
- package/corpus/templates/crm/changelog/2026-07-26-the-record-grid-is-now-a-real-spreadsheet-filter-sort-and-pa.md +6 -0
- package/corpus/templates/crm/components.json +20 -0
- package/corpus/templates/crm/docs/architecture/crm-contract.md +214 -0
- package/corpus/templates/crm/docs/features/README.md +55 -0
- package/corpus/templates/crm/docs/features/f1-records-and-fields.mdx +52 -0
- package/corpus/templates/crm/docs/features/f2-lists-pipelines-and-views.mdx +48 -0
- package/corpus/templates/crm/docs/features/f3-work-and-record-quality.mdx +40 -0
- package/corpus/templates/crm/docs/features/f4-evidence-and-chat.mdx +47 -0
- package/corpus/templates/crm/learnings.defaults.md +5 -0
- package/corpus/templates/crm/netlify.toml +11 -0
- package/corpus/templates/crm/package.json +61 -0
- package/corpus/templates/crm/public/favicon.svg +1 -0
- package/corpus/templates/crm/public/icon-180.svg +1 -0
- package/corpus/templates/crm/public/manifest.json +11 -0
- package/corpus/templates/crm/react-router.config.ts +7 -0
- package/corpus/templates/crm/server/crm/adapter.ts +32 -0
- package/corpus/templates/crm/server/crm/crm-field-firewall.ts +64 -0
- package/corpus/templates/crm/server/crm/crm-mirror.ts +721 -0
- package/corpus/templates/crm/server/crm/field-policy-attributes.ts +48 -0
- package/corpus/templates/crm/server/crm/hubspot-adapter.ts +1146 -0
- package/corpus/templates/crm/server/crm/native-adapter.ts +1810 -0
- package/corpus/templates/crm/server/crm/provider-record-link.ts +264 -0
- package/corpus/templates/crm/server/crm/read-through.ts +207 -0
- package/corpus/templates/crm/server/crm/salesforce-adapter.ts +1255 -0
- package/corpus/templates/crm/server/db/crm-store.ts +1112 -0
- package/corpus/templates/crm/server/db/index.ts +191 -0
- package/corpus/templates/crm/server/db/schema.ts +647 -0
- package/corpus/templates/crm/server/lib/crm-query.ts +1558 -0
- package/corpus/templates/crm/server/lib/dedupe.ts +714 -0
- package/corpus/templates/crm/server/lib/enrichment-cost.ts +381 -0
- package/corpus/templates/crm/server/lib/enrichment-slots.ts +519 -0
- package/corpus/templates/crm/server/lib/intelligence/default-detectors.ts +65 -0
- package/corpus/templates/crm/server/lib/intelligence/evidence.ts +105 -0
- package/corpus/templates/crm/server/lib/intelligence/keyword-detector.ts +94 -0
- package/corpus/templates/crm/server/lib/intelligence/smart-detector.ts +39 -0
- package/corpus/templates/crm/server/lib/intelligence/summary.ts +19 -0
- package/corpus/templates/crm/server/lib/lifecycle.ts +634 -0
- package/corpus/templates/crm/server/lib/provider-api.ts +64 -0
- package/corpus/templates/crm/server/middleware/auth.ts +4 -0
- package/corpus/templates/crm/server/plugins/agent-chat.ts +65 -0
- package/corpus/templates/crm/server/plugins/auth.ts +14 -0
- package/corpus/templates/crm/server/plugins/core-routes.ts +17 -0
- package/corpus/templates/crm/server/plugins/db.ts +738 -0
- package/corpus/templates/crm/server/routes/[...page].get.ts +5 -0
- package/corpus/templates/crm/shared/crm-attributes.ts +469 -0
- package/corpus/templates/crm/shared/crm-automation-recipes.ts +132 -0
- package/corpus/templates/crm/shared/crm-contract.ts +417 -0
- package/corpus/templates/crm/shared/crm-navigation.ts +190 -0
- package/corpus/templates/crm/shared/crm-sales-config.ts +63 -0
- package/corpus/templates/crm/ssr-entry.ts +11 -0
- package/corpus/templates/crm/tsconfig.json +24 -0
- package/corpus/templates/crm/vite.config.ts +15 -0
- package/corpus/templates/crm/vitest.config.ts +5 -0
- package/corpus/templates/design/app/i18n-data.ts +12 -12
- package/corpus/templates/design/changelog/2026-07-26-apply-design-updates-from-a-centered-top-toolbar-without-cov.md +6 -0
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +12 -0
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/observability/routes.d.ts +3 -3
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/server/realtime-token.d.ts +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/package.json +1 -1
- package/src/cli/templates-meta.ts +12 -0
|
@@ -0,0 +1,684 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
navigation: {
|
|
3
|
+
overview: "Overview",
|
|
4
|
+
accounts: "Accounts",
|
|
5
|
+
people: "People",
|
|
6
|
+
opportunities: "Opportunities",
|
|
7
|
+
lists: "Lists",
|
|
8
|
+
tasks: "Tasks",
|
|
9
|
+
proposals: "Proposals",
|
|
10
|
+
dashboard: "Dashboard",
|
|
11
|
+
askCrm: "Ask CRM",
|
|
12
|
+
settings: "Settings",
|
|
13
|
+
connections: "Connections",
|
|
14
|
+
collapseSidebar: "Collapse sidebar",
|
|
15
|
+
expandSidebar: "Expand sidebar",
|
|
16
|
+
openNavigation: "Open navigation",
|
|
17
|
+
navigation: "Navigation",
|
|
18
|
+
navigationDescription:
|
|
19
|
+
"Navigate CRM records, lists, and shared agent work.",
|
|
20
|
+
favorites: "Favorites",
|
|
21
|
+
listsAndViews: "Lists and views",
|
|
22
|
+
listsEmpty: "No lists or saved views yet",
|
|
23
|
+
listsLoadFailed: "Lists could not be loaded.",
|
|
24
|
+
retry: "Retry",
|
|
25
|
+
search: "Search",
|
|
26
|
+
},
|
|
27
|
+
commandMenu: {
|
|
28
|
+
placeholder: "Search records, lists, and commands…",
|
|
29
|
+
groupRecords: "Records",
|
|
30
|
+
groupLists: "Lists",
|
|
31
|
+
groupViews: "Saved views",
|
|
32
|
+
groupGoTo: "Go to",
|
|
33
|
+
groupCommands: "Commands",
|
|
34
|
+
groupAppearance: "Appearance",
|
|
35
|
+
createRecord: "Create record",
|
|
36
|
+
createList: "Create list",
|
|
37
|
+
newTask: "New task",
|
|
38
|
+
openSettings: "Open settings",
|
|
39
|
+
toggleTheme: "Toggle theme",
|
|
40
|
+
keyboardShortcuts: "Keyboard shortcuts",
|
|
41
|
+
recordSearchFailed: "Record search failed.",
|
|
42
|
+
},
|
|
43
|
+
shortcuts: {
|
|
44
|
+
title: "Keyboard shortcuts",
|
|
45
|
+
description: "Shortcuts stay quiet while you are typing in a field.",
|
|
46
|
+
groupNavigation: "Navigation",
|
|
47
|
+
groupActions: "Actions",
|
|
48
|
+
groupGeneral: "General",
|
|
49
|
+
commandMenu: "Open the command menu",
|
|
50
|
+
focusSearch: "Search",
|
|
51
|
+
goAccounts: "Go to accounts",
|
|
52
|
+
goPeople: "Go to people",
|
|
53
|
+
goOpportunities: "Go to opportunities",
|
|
54
|
+
goLists: "Go to lists",
|
|
55
|
+
goTasks: "Go to tasks",
|
|
56
|
+
newRecord: "New record",
|
|
57
|
+
newTask: "New task",
|
|
58
|
+
edit: "Edit the selected record",
|
|
59
|
+
showHelp: "Show this help",
|
|
60
|
+
},
|
|
61
|
+
settings: {
|
|
62
|
+
title: "CRM settings",
|
|
63
|
+
description:
|
|
64
|
+
"Native SQL keeps CRM-owned records local and portable. HubSpot and Salesforce use workspace Connections; their mirrors store only allow-listed fields, scoped metadata, and bounded evidence references.",
|
|
65
|
+
},
|
|
66
|
+
connection: {
|
|
67
|
+
tab: "Connection",
|
|
68
|
+
title: "CRM connection",
|
|
69
|
+
description:
|
|
70
|
+
"Where this CRM's records come from, and how much of each record it owns.",
|
|
71
|
+
modesTitle: "Available modes",
|
|
72
|
+
modeNative: "Native SQL",
|
|
73
|
+
modeNativeHelp:
|
|
74
|
+
"CRM is the system of record. Records live in your database and need no provider connection.",
|
|
75
|
+
modeConnected: "Connected",
|
|
76
|
+
modeConnectedHelp:
|
|
77
|
+
"CRM mirrors an authorized HubSpot or Salesforce connection. Mirrored fields stay owned upstream; anything you author here is local.",
|
|
78
|
+
modeHybrid: "Hybrid",
|
|
79
|
+
modeHybridHelp:
|
|
80
|
+
"A legacy connection-wide setting. Each attribute now declares its own authority, so this mode behaves exactly like Connected.",
|
|
81
|
+
hybridDeprecated:
|
|
82
|
+
"Hybrid is no longer offered for new connections. Per-field authority says the same thing more precisely: every field declares whether it is provider-owned, derived locally, or local-authoritative. Existing hybrid connections keep working and read as Connected.",
|
|
83
|
+
deprecated: "Deprecated",
|
|
84
|
+
modeUnrecognized: "Unrecognized mode: {{mode}}",
|
|
85
|
+
modeUnrecognizedHelp:
|
|
86
|
+
"This build cannot read this connection's mode. Do not assume it behaves like any of the modes above.",
|
|
87
|
+
mirroredObjects: "Objects: {{objects}}",
|
|
88
|
+
none: "none",
|
|
89
|
+
loading: "Loading connections…",
|
|
90
|
+
loadFailed: "CRM connections could not be loaded.",
|
|
91
|
+
retry: "Retry",
|
|
92
|
+
emptyTitle: "No CRM connection yet",
|
|
93
|
+
emptyDescription:
|
|
94
|
+
"Start with Native SQL, or connect HubSpot or Salesforce.",
|
|
95
|
+
openSetup: "Open setup",
|
|
96
|
+
openWorkspaceConnections: "Workspace connections",
|
|
97
|
+
},
|
|
98
|
+
fields: {
|
|
99
|
+
tab: "Fields",
|
|
100
|
+
title: "Fields",
|
|
101
|
+
description:
|
|
102
|
+
"The typed attributes behind every record and list. A field's api slug and type are fixed once it is created; everything else can change.",
|
|
103
|
+
target: "Object or list",
|
|
104
|
+
targetPlaceholder: "Select an object type or list",
|
|
105
|
+
listsGroup: "Lists",
|
|
106
|
+
showArchived: "Show archived",
|
|
107
|
+
newAttribute: "New field",
|
|
108
|
+
columnName: "Name",
|
|
109
|
+
columnSlug: "API slug",
|
|
110
|
+
columnType: "Type",
|
|
111
|
+
columnAuthority: "Authority",
|
|
112
|
+
columnRules: "Rules",
|
|
113
|
+
columnActions: "Actions",
|
|
114
|
+
ruleRequired: "Required",
|
|
115
|
+
ruleUnique: "Unique",
|
|
116
|
+
ruleHistory: "History",
|
|
117
|
+
ruleMulti: "Multiple",
|
|
118
|
+
ruleNone: "—",
|
|
119
|
+
archived: "Archived",
|
|
120
|
+
authorityProvider: "Provider-owned",
|
|
121
|
+
authorityProviderHelp:
|
|
122
|
+
"HubSpot or Salesforce owns this value. CRM mirrors it; an edit here becomes a proposal you complete upstream.",
|
|
123
|
+
authorityDerived: "Derived locally",
|
|
124
|
+
authorityDerivedHelp:
|
|
125
|
+
"CRM computes this value from data it already holds. It is not edited directly.",
|
|
126
|
+
authorityLocal: "Local",
|
|
127
|
+
authorityLocalHelp:
|
|
128
|
+
"CRM owns this value. Edits are written here immediately and are never sent to a provider.",
|
|
129
|
+
providerEditNote:
|
|
130
|
+
"This field is owned upstream. Saving records a proposal with an exact diff; complete the change in HubSpot or Salesforce.",
|
|
131
|
+
loading: "Loading fields…",
|
|
132
|
+
emptyTitle: "No fields yet",
|
|
133
|
+
emptyDescription: "Add a field to start describing this object.",
|
|
134
|
+
targetsLoadFailed: "Objects and lists could not be loaded.",
|
|
135
|
+
attributesLoadFailed: "Fields could not be loaded.",
|
|
136
|
+
retry: "Retry",
|
|
137
|
+
name: "Name",
|
|
138
|
+
attributeDescription: "Description",
|
|
139
|
+
required: "Required",
|
|
140
|
+
requiredHelp: "A record cannot be saved without a value.",
|
|
141
|
+
historyTracked: "Track history",
|
|
142
|
+
historyTrackedHelp:
|
|
143
|
+
"Keep every previous value with the time and actor that changed it.",
|
|
144
|
+
uniqueValue: "Unique",
|
|
145
|
+
multi: "Allow multiple values",
|
|
146
|
+
options: "Options",
|
|
147
|
+
optionValuePlaceholder: "Stored value",
|
|
148
|
+
addOption: "Add option",
|
|
149
|
+
remove: "Remove",
|
|
150
|
+
targetDays: "SLA days",
|
|
151
|
+
celebrate: "Celebrate",
|
|
152
|
+
colorNone: "No color",
|
|
153
|
+
slugDerivedHelp:
|
|
154
|
+
"The api slug is derived from the name and cannot be changed afterwards.",
|
|
155
|
+
slugImmutable:
|
|
156
|
+
"Every stored value row is keyed by this slug, so renaming it would orphan the field's history rather than rename anything. Create a new field instead.",
|
|
157
|
+
typeImmutable:
|
|
158
|
+
"Stored values live in the column this type chose. Reinterpreting them is a migration, not an edit, so the type cannot change. Create a new field and move the values.",
|
|
159
|
+
create: "Create field",
|
|
160
|
+
createTitle: "New field",
|
|
161
|
+
createDescription:
|
|
162
|
+
"Add a local field to {{target}}. Authored fields are always local-authoritative.",
|
|
163
|
+
created: "Field created.",
|
|
164
|
+
createFailed: "The field could not be created.",
|
|
165
|
+
editTitle: "Edit field",
|
|
166
|
+
editDescription:
|
|
167
|
+
"Rename the field or change how it behaves. The api slug and type are fixed.",
|
|
168
|
+
editAria: "Edit {{name}}",
|
|
169
|
+
editOptionsAria: "Edit options for {{name}}",
|
|
170
|
+
save: "Save",
|
|
171
|
+
updateFailed: "The field could not be updated.",
|
|
172
|
+
cancel: "Cancel",
|
|
173
|
+
archive: "Archive",
|
|
174
|
+
archiveAria: "Archive {{name}}",
|
|
175
|
+
archiveTitle: "Archive {{name}}?",
|
|
176
|
+
archiveDescription:
|
|
177
|
+
"The field disappears from the grid and pickers. Every stored value and history row it owns is kept, and you can restore it later.",
|
|
178
|
+
archiveFailed: "The field could not be archived.",
|
|
179
|
+
restoreAria: "Restore {{name}}",
|
|
180
|
+
optionsTitle: "{{name}} options",
|
|
181
|
+
optionsDescription:
|
|
182
|
+
"Values this field accepts. A value that is not listed here is rejected, never created silently.",
|
|
183
|
+
optionsStageDescription:
|
|
184
|
+
"Stages this field accepts, in pipeline order. Give a stage an SLA in days, and mark the stage that should celebrate.",
|
|
185
|
+
optionsEmpty: "No options yet.",
|
|
186
|
+
optionValueImmutable:
|
|
187
|
+
"The stored value is fixed once added because records reference it. To change it, archive the option and add a new one.",
|
|
188
|
+
optionFailed: "The option could not be saved.",
|
|
189
|
+
optionTitleAria: "Title for option {{value}}",
|
|
190
|
+
optionColorAria: "Color for {{name}}",
|
|
191
|
+
targetDaysAria: "SLA days for {{name}}",
|
|
192
|
+
celebrateAria: "Celebrate {{name}}",
|
|
193
|
+
moveOptionUp: "Move {{name}} up",
|
|
194
|
+
moveOptionDown: "Move {{name}} down",
|
|
195
|
+
archiveOptionAria: "Archive option {{name}}",
|
|
196
|
+
archiveOptionTitle: "Archive {{name}}?",
|
|
197
|
+
archiveOptionDescription:
|
|
198
|
+
"The option stops appearing in pickers. Records already holding this value keep it untouched.",
|
|
199
|
+
restoreOptionAria: "Restore option {{name}}",
|
|
200
|
+
},
|
|
201
|
+
lists: {
|
|
202
|
+
tab: "Lists",
|
|
203
|
+
eyebrow: "Workspace",
|
|
204
|
+
title: "Lists",
|
|
205
|
+
description:
|
|
206
|
+
"A list is a workflow overlay on one object type. Entries and their values are always local, even on a connected CRM.",
|
|
207
|
+
newList: "New list",
|
|
208
|
+
name: "Name",
|
|
209
|
+
nameLabel: "Name",
|
|
210
|
+
objectTypeLabel: "Object type",
|
|
211
|
+
objectType: {
|
|
212
|
+
accounts: "Accounts",
|
|
213
|
+
people: "People",
|
|
214
|
+
opportunities: "Opportunities",
|
|
215
|
+
},
|
|
216
|
+
descriptionLabel: "Description",
|
|
217
|
+
parentObject: "Object type",
|
|
218
|
+
parentObjectPlaceholder: "Select an object type",
|
|
219
|
+
listDescription: "Description",
|
|
220
|
+
stageSeedNote:
|
|
221
|
+
"A new list is seeded with a Stage field so entries have somewhere to move.",
|
|
222
|
+
create: "Create list",
|
|
223
|
+
createList: "Create list",
|
|
224
|
+
createTitle: "New list",
|
|
225
|
+
createDescription: "Lists never change the records they point at.",
|
|
226
|
+
created: "List created.",
|
|
227
|
+
createFailed: "The list could not be created.",
|
|
228
|
+
entryCount: "Entries: {{entries}}",
|
|
229
|
+
entryCount_one: "{{count}} entry",
|
|
230
|
+
entryCount_other: "{{count}} entries",
|
|
231
|
+
loading: "Loading lists…",
|
|
232
|
+
loadFailed: "Lists could not be loaded.",
|
|
233
|
+
retry: "Retry",
|
|
234
|
+
emptyTitle: "No lists yet",
|
|
235
|
+
emptyDescription:
|
|
236
|
+
"Create a list to run a pipeline, a campaign, or a review queue over existing records.",
|
|
237
|
+
cancel: "Cancel",
|
|
238
|
+
archive: "Archive",
|
|
239
|
+
archiveAria: "Archive {{name}}",
|
|
240
|
+
archiveTitle: "Archive {{name}}?",
|
|
241
|
+
archiveDescription:
|
|
242
|
+
"The list is hidden. Its entries and the records they point at are kept.",
|
|
243
|
+
archiveFailed: "The list could not be archived.",
|
|
244
|
+
},
|
|
245
|
+
advanced: {
|
|
246
|
+
tab: "Advanced",
|
|
247
|
+
title: "Advanced",
|
|
248
|
+
description: "Reconfiguration and data-retention behavior.",
|
|
249
|
+
reconfigure: "Reconfigure CRM",
|
|
250
|
+
reconfigureHelp:
|
|
251
|
+
"Switch between Native SQL and a HubSpot or Salesforce companion, or re-run the initial sync.",
|
|
252
|
+
openSetup: "Open setup",
|
|
253
|
+
retention: "Nothing is deleted",
|
|
254
|
+
retentionHelp:
|
|
255
|
+
"Archiving a field, an option, or a list only hides it. Stored values, history rows, and list entries are always kept.",
|
|
256
|
+
},
|
|
257
|
+
records: {
|
|
258
|
+
eyebrow: "Workspace",
|
|
259
|
+
title: "Records",
|
|
260
|
+
description:
|
|
261
|
+
"Every account, person, and opportunity you can access, in one typed grid.",
|
|
262
|
+
kind: {
|
|
263
|
+
account: "Accounts",
|
|
264
|
+
person: "People",
|
|
265
|
+
opportunity: "Opportunities",
|
|
266
|
+
},
|
|
267
|
+
empty: {
|
|
268
|
+
account: "No accounts yet",
|
|
269
|
+
person: "No people yet",
|
|
270
|
+
opportunity: "No opportunities yet",
|
|
271
|
+
},
|
|
272
|
+
},
|
|
273
|
+
grid: {
|
|
274
|
+
errorTitle: "Records could not be loaded",
|
|
275
|
+
errorDescription: "This page of records could not be read.",
|
|
276
|
+
emptyDescription: "Nothing matches this view yet.",
|
|
277
|
+
retry: "Retry",
|
|
278
|
+
cancel: "Cancel",
|
|
279
|
+
loadingMore: "Loading more…",
|
|
280
|
+
searchPlaceholder: "Search records…",
|
|
281
|
+
selectAllRows: "Select all rows",
|
|
282
|
+
selectRow: "Select {{name}}",
|
|
283
|
+
clearSelection: "Clear selection",
|
|
284
|
+
selectedCount: "Selected: {{count}}",
|
|
285
|
+
columns: "Columns",
|
|
286
|
+
configureColumns: "Configure columns",
|
|
287
|
+
columnOptions: "Options for {{attribute}}",
|
|
288
|
+
hideColumn: "Hide column",
|
|
289
|
+
addAttribute: "New field",
|
|
290
|
+
columnSaveFailed: "The column layout could not be saved.",
|
|
291
|
+
cellReadOnly: "{{attribute}} cannot be edited here.",
|
|
292
|
+
saveFailed: "The cell could not be saved.",
|
|
293
|
+
providerProposalRecorded:
|
|
294
|
+
"Recorded as a proposal. Complete the change in the connected CRM.",
|
|
295
|
+
pasteApplied: "Cells updated: {{count}}",
|
|
296
|
+
pasteSkipped: "Cells skipped because they are read-only: {{count}}",
|
|
297
|
+
copied: "Copied.",
|
|
298
|
+
copyFailed: "Nothing could be copied.",
|
|
299
|
+
bulkEdit: "Edit",
|
|
300
|
+
bulkAttribute: "Field to edit",
|
|
301
|
+
bulkChooseAttribute: "Choose a field",
|
|
302
|
+
bulkValue: "New value",
|
|
303
|
+
bulkApply: "Apply to selection ({{count}})",
|
|
304
|
+
bulkApplied: "Records updated: {{count}}",
|
|
305
|
+
delete: "Delete",
|
|
306
|
+
deleteTitle: "Delete the selected records?",
|
|
307
|
+
deleteDescription:
|
|
308
|
+
"This removes the records you selected ({{count}}) together with their list entries and stored history.",
|
|
309
|
+
deleteConfirm: "Delete",
|
|
310
|
+
deleteFailed: "The records could not be deleted.",
|
|
311
|
+
addToList: "Add to list",
|
|
312
|
+
addToListTitle: "Add to a list",
|
|
313
|
+
addToListDescription:
|
|
314
|
+
"The records you selected ({{count}}) are added as new list entries. The records themselves do not change.",
|
|
315
|
+
addToListConfirm: "Add",
|
|
316
|
+
addedToList: "Records added to the list: {{count}}",
|
|
317
|
+
addToListFailed:
|
|
318
|
+
"Some records were not added ({{count}}). First reason: {{reason}}",
|
|
319
|
+
chooseList: "Choose a list",
|
|
320
|
+
listsFailed: "Lists could not be loaded.",
|
|
321
|
+
loadingLists: "Loading lists…",
|
|
322
|
+
noLists: "No lists yet",
|
|
323
|
+
searchRecords: "Search records…",
|
|
324
|
+
searchToLink: "Type at least two characters to find a record.",
|
|
325
|
+
searchFailed: "The record search failed.",
|
|
326
|
+
searching: "Searching…",
|
|
327
|
+
noMatches: "No matching records",
|
|
328
|
+
referenceHint: "{{attribute}} stores a link to another record.",
|
|
329
|
+
noOptions: "This field has no options yet.",
|
|
330
|
+
slaOverrun: "Past its stage target by {{days}} days",
|
|
331
|
+
provenanceOf: "How {{attribute}} was set",
|
|
332
|
+
provSetBy: "Set by",
|
|
333
|
+
provSource: "Source",
|
|
334
|
+
provWhen: "Observed",
|
|
335
|
+
provConfidence: "Confidence",
|
|
336
|
+
provReasoning: "Reasoning",
|
|
337
|
+
provOpenSource: "Open the source",
|
|
338
|
+
provUnreadable:
|
|
339
|
+
"CRM stored provenance for this value but cannot read it. Treat the value as unverified.",
|
|
340
|
+
name: {
|
|
341
|
+
account: "Account",
|
|
342
|
+
person: "Person",
|
|
343
|
+
opportunity: "Opportunity",
|
|
344
|
+
},
|
|
345
|
+
actor: {
|
|
346
|
+
user: "A person",
|
|
347
|
+
agent: "The agent",
|
|
348
|
+
automation: "An automation",
|
|
349
|
+
provider: "The connected CRM",
|
|
350
|
+
system: "CRM itself",
|
|
351
|
+
},
|
|
352
|
+
parse: {
|
|
353
|
+
"not-a-number": "{{attribute}} stores numbers, and {{value}} is not one.",
|
|
354
|
+
"not-a-date": "{{attribute}} stores dates, and {{value}} is not one.",
|
|
355
|
+
"unknown-option":
|
|
356
|
+
"{{attribute}} has no option called {{value}}. Add the option in field settings first.",
|
|
357
|
+
"read-only": "{{attribute}} cannot be edited here.",
|
|
358
|
+
},
|
|
359
|
+
},
|
|
360
|
+
record: {
|
|
361
|
+
loadFailedTitle: "This record could not be loaded",
|
|
362
|
+
loadFailedDescription:
|
|
363
|
+
"CRM could not read this record. It may be outside the records you can access.",
|
|
364
|
+
unavailableTitle: "This CRM record is unavailable",
|
|
365
|
+
unavailableDescription:
|
|
366
|
+
"It may have been deleted, or it is outside the records you can access.",
|
|
367
|
+
panelLoadFailed: "The record panel could not be loaded.",
|
|
368
|
+
saveFailed: "The change could not be saved.",
|
|
369
|
+
signals: "Signals",
|
|
370
|
+
mirroredFrom: "Mirrored from {{provider}}",
|
|
371
|
+
ownedBy: "Owned by {{owner}}",
|
|
372
|
+
openUpstream: "Open in {{provider}}",
|
|
373
|
+
upstreamLinkUnavailable:
|
|
374
|
+
"CRM has no {{provider}} link for this record ({{reason}}).",
|
|
375
|
+
highlights: "Highlights",
|
|
376
|
+
allAttributes: "All fields",
|
|
377
|
+
noAttributes: "No fields yet.",
|
|
378
|
+
lastSetBy: "Last set by {{actor}}",
|
|
379
|
+
fieldEmpty: "Empty",
|
|
380
|
+
yes: "Yes",
|
|
381
|
+
no: "No",
|
|
382
|
+
clearValue: "Clear value",
|
|
383
|
+
multiValueHint: "Separate values with commas",
|
|
384
|
+
invalidNumber: "That value is not a number we can read.",
|
|
385
|
+
invalidDate: "That value is not a date we can read.",
|
|
386
|
+
unknownOption: "This field has no option with that value.",
|
|
387
|
+
notEditable: "This field cannot be edited here.",
|
|
388
|
+
viewHistory: "History of {{field}}",
|
|
389
|
+
historyTitle: "{{field}} history",
|
|
390
|
+
historyDescription:
|
|
391
|
+
"Every stored value, the window it was current, and who set it.",
|
|
392
|
+
historyLoadFailed: "The history could not be loaded.",
|
|
393
|
+
historyNotTracked:
|
|
394
|
+
"History is turned off for this field, so only its current value is kept.",
|
|
395
|
+
historyEmpty: "This value has not changed yet.",
|
|
396
|
+
historySet: "First set to",
|
|
397
|
+
historyBy: "{{actor}} · {{when}}",
|
|
398
|
+
lists: "Lists",
|
|
399
|
+
listsEmpty: "This record is not on any list.",
|
|
400
|
+
listsTruncated:
|
|
401
|
+
"Only the first list memberships are shown. Open the list to see the rest.",
|
|
402
|
+
listsLoadFailed: "Lists could not be loaded.",
|
|
403
|
+
entryCount: "Entries: {{count}}",
|
|
404
|
+
entryOrdinal: "Entry {{index}}",
|
|
405
|
+
listNoAttributes: "This list has no entry fields yet.",
|
|
406
|
+
addToList: "Add to list",
|
|
407
|
+
addedToList: "Added to the list.",
|
|
408
|
+
addToListFailed: "The record could not be added to that list.",
|
|
409
|
+
tabActivity: "Activity",
|
|
410
|
+
tabNotes: "Notes",
|
|
411
|
+
tabTasks: "Tasks",
|
|
412
|
+
tabRelated: "Related",
|
|
413
|
+
activityNotIngestedTitle: "No activity has been ingested",
|
|
414
|
+
activityNotIngestedDescription:
|
|
415
|
+
"Activity appears once calls, emails, or meetings are attached to this record.",
|
|
416
|
+
notesComingSoonTitle: "Notes are coming soon",
|
|
417
|
+
notesComingSoonDescription:
|
|
418
|
+
"Notes will sit beside the record and follow the same access scope as its fields.",
|
|
419
|
+
taskDue: "Due {{when}}",
|
|
420
|
+
taskDone: "Done",
|
|
421
|
+
completeTask: "Complete",
|
|
422
|
+
tasksEmpty: "No follow-up tasks on this record.",
|
|
423
|
+
relatedEmpty: "No related records yet.",
|
|
424
|
+
},
|
|
425
|
+
board: {
|
|
426
|
+
loadFailed: "The board could not be loaded.",
|
|
427
|
+
moveFailed: "The card could not be moved.",
|
|
428
|
+
retry: "Retry",
|
|
429
|
+
noStatusAttribute:
|
|
430
|
+
"This board has no status field to group by. Add one in field settings.",
|
|
431
|
+
groupedBy: "Grouped by {{attribute}}",
|
|
432
|
+
overrunSummary: "Past the stage target: {{count}}",
|
|
433
|
+
partialPage: "Showing the first {{limit}} records.",
|
|
434
|
+
columnEmpty: "Nothing here yet.",
|
|
435
|
+
mixedCurrency:
|
|
436
|
+
"The total is hidden because these records use more than one currency.",
|
|
437
|
+
withoutAmount: "without an amount: {{count}}",
|
|
438
|
+
cardAria: "{{name}}, in {{column}}",
|
|
439
|
+
daysInStage: "{{days}} days in this stage",
|
|
440
|
+
overBy: "{{overBy}} days over",
|
|
441
|
+
overrunDetail:
|
|
442
|
+
"{{days}} days in this stage, {{overBy}} days past the {{targetDays}} day target.",
|
|
443
|
+
table: {
|
|
444
|
+
record: "Record",
|
|
445
|
+
stage: "Stage",
|
|
446
|
+
owner: "Owner",
|
|
447
|
+
amount: "Amount",
|
|
448
|
+
timeInStage: "Time in stage",
|
|
449
|
+
},
|
|
450
|
+
column: {
|
|
451
|
+
unset: "No stage",
|
|
452
|
+
unknown: "Unrecognized: {{value}}",
|
|
453
|
+
archived: "{{title}} (archived)",
|
|
454
|
+
},
|
|
455
|
+
value: {
|
|
456
|
+
yes: "Yes",
|
|
457
|
+
no: "No",
|
|
458
|
+
},
|
|
459
|
+
addedBy: {
|
|
460
|
+
agent: "Added by the agent",
|
|
461
|
+
automation: "Added by an automation",
|
|
462
|
+
},
|
|
463
|
+
sla: {
|
|
464
|
+
"no-start-recorded": "No stage start was recorded for this card.",
|
|
465
|
+
"unreadable-start": "The stored stage start could not be read.",
|
|
466
|
+
},
|
|
467
|
+
},
|
|
468
|
+
views: {
|
|
469
|
+
eyebrow: "Workspace",
|
|
470
|
+
title: "Saved views",
|
|
471
|
+
description:
|
|
472
|
+
"A view stores bounded filters, sorting, and presentation settings — never provider rows.",
|
|
473
|
+
groupList: "List: {{target}}",
|
|
474
|
+
groupObject: "Object: {{target}}",
|
|
475
|
+
dataProgram: "Data program",
|
|
476
|
+
emptyTitle: "No saved views yet",
|
|
477
|
+
emptyDescription:
|
|
478
|
+
"Save a filtered grid or board to return to it later, or to share it with the workspace.",
|
|
479
|
+
backToViews: "All saved views",
|
|
480
|
+
newView: "New view",
|
|
481
|
+
createTitle: "Create saved view",
|
|
482
|
+
createDescription:
|
|
483
|
+
"Views store bounded filters and presentation settings, not provider rows.",
|
|
484
|
+
nameLabel: "Name",
|
|
485
|
+
descriptionLabel: "Description",
|
|
486
|
+
recordTypeLabel: "Record type",
|
|
487
|
+
createView: "Create view",
|
|
488
|
+
table: "Table",
|
|
489
|
+
board: "Board",
|
|
490
|
+
groupBy: "Group by",
|
|
491
|
+
unsavedChanges: "Unsaved changes",
|
|
492
|
+
save: "Save",
|
|
493
|
+
saveForEveryone: "Save for everyone",
|
|
494
|
+
saveAsNew: "Save as new",
|
|
495
|
+
saveAsNewTitle: "Save as a new view",
|
|
496
|
+
saveAsNewDescription:
|
|
497
|
+
"The current view is left untouched; these filters, columns, and sorting are stored as a new one.",
|
|
498
|
+
discard: "Discard",
|
|
499
|
+
savedToast: "View saved.",
|
|
500
|
+
saveFailedToast: "The view could not be saved.",
|
|
501
|
+
draftUnreadable:
|
|
502
|
+
"The unsaved changes on this view could not be read, so the saved version is shown.",
|
|
503
|
+
resetToSaved: "Reset to the saved view",
|
|
504
|
+
listNoDefaultView:
|
|
505
|
+
"This list has no default view yet. Filters and columns you set here are kept only until you save a view.",
|
|
506
|
+
allLists: "All lists",
|
|
507
|
+
audience: {
|
|
508
|
+
personal: "Only you",
|
|
509
|
+
shared: "Shared",
|
|
510
|
+
},
|
|
511
|
+
missing: {
|
|
512
|
+
viewTitle: "This saved view is unavailable",
|
|
513
|
+
viewDescription:
|
|
514
|
+
"It may have been deleted, or it is outside the views you can access.",
|
|
515
|
+
listTitle: "This list is unavailable",
|
|
516
|
+
listDescription:
|
|
517
|
+
"It may have been archived, or it is outside the lists you can access.",
|
|
518
|
+
},
|
|
519
|
+
},
|
|
520
|
+
proposals: {
|
|
521
|
+
eyebrow: "Review",
|
|
522
|
+
title: "Proposals",
|
|
523
|
+
description:
|
|
524
|
+
"Changes to provider-owned fields. CRM prepares the exact diff and you complete it in HubSpot or Salesforce.",
|
|
525
|
+
untitledRecord: "Untitled record",
|
|
526
|
+
openRecord: "Open record",
|
|
527
|
+
completeUpstream: "Complete in {{provider}}",
|
|
528
|
+
handedOffNote:
|
|
529
|
+
"Prepared for {{provider}}. CRM never completes an upstream write — finish the change there.",
|
|
530
|
+
recordLinkUnavailable:
|
|
531
|
+
"CRM has no {{provider}} link for this record ({{reason}}).",
|
|
532
|
+
emptyTitle: "No CRM proposals",
|
|
533
|
+
emptyDescription:
|
|
534
|
+
"Edits to provider-owned fields land here with an exact before and after.",
|
|
535
|
+
prepareChange: "Prepare {{provider}} change",
|
|
536
|
+
prepareTitle: "Prepare this {{provider}} change?",
|
|
537
|
+
prepareDescription:
|
|
538
|
+
"CRM records the exact diff for {{record}} and opens {{provider}} so you can complete it. Nothing is written upstream.",
|
|
539
|
+
prepareAndOpen: "Prepare and open {{provider}}",
|
|
540
|
+
prepareWithoutLink: "Prepare the change",
|
|
541
|
+
cancel: "Cancel",
|
|
542
|
+
preparedToast: "Prepared for {{provider}}. Complete the change there.",
|
|
543
|
+
prepareFailedToast: "The change could not be prepared.",
|
|
544
|
+
fieldPreviewUnavailable:
|
|
545
|
+
"The field preview is unavailable. Approval remains scoped to this single record.",
|
|
546
|
+
notMirrored: "Not mirrored",
|
|
547
|
+
emptyValue: "Empty",
|
|
548
|
+
booleanTrue: "Yes",
|
|
549
|
+
booleanFalse: "No",
|
|
550
|
+
structuredValue: "Structured value",
|
|
551
|
+
status: {
|
|
552
|
+
pending: "Pending",
|
|
553
|
+
prepared: "Prepared",
|
|
554
|
+
approved: "Approved",
|
|
555
|
+
rejected: "Rejected",
|
|
556
|
+
applied: "Applied",
|
|
557
|
+
},
|
|
558
|
+
},
|
|
559
|
+
intelligence: {
|
|
560
|
+
tab: "Intelligence",
|
|
561
|
+
title: "Intelligence",
|
|
562
|
+
description:
|
|
563
|
+
"Choose the moments CRM should notice in bounded call evidence. Smart trackers are evaluated through Ask CRM, never directly in the settings screen.",
|
|
564
|
+
loading: "Loading trackers…",
|
|
565
|
+
kindKeyword: "Keyword",
|
|
566
|
+
kindSmart: "Smart",
|
|
567
|
+
enable: "Enable",
|
|
568
|
+
disable: "Disable",
|
|
569
|
+
toggleTracker: "{{action}} {{name}}",
|
|
570
|
+
emptyTitle: "No signal trackers yet",
|
|
571
|
+
emptyDescription:
|
|
572
|
+
"Add a keyword for deterministic matching or a smart criterion for Ask CRM to review.",
|
|
573
|
+
trackerDeleted: "Tracker deleted.",
|
|
574
|
+
trackerEnabled: "Tracker enabled.",
|
|
575
|
+
trackerDisabled: "Tracker disabled.",
|
|
576
|
+
trackerUpdateFailed: "Tracker update failed.",
|
|
577
|
+
trackerCreated: "Tracker created.",
|
|
578
|
+
trackerCreationFailed: "Tracker creation failed.",
|
|
579
|
+
newTracker: "New tracker",
|
|
580
|
+
createTitle: "Create signal tracker",
|
|
581
|
+
createDescription:
|
|
582
|
+
"Track deterministic keywords or define a bounded smart criterion for Ask CRM to evaluate against call evidence.",
|
|
583
|
+
name: "Name",
|
|
584
|
+
trackerDescription: "Description",
|
|
585
|
+
detector: "Detector",
|
|
586
|
+
keywords: "Keywords",
|
|
587
|
+
keywordsPlaceholder: "pricing, renewal, security review",
|
|
588
|
+
keywordsHelp: "Separate up to 40 keywords with commas.",
|
|
589
|
+
classificationCriterion: "Classification criterion",
|
|
590
|
+
criterionPlaceholder: "Match a clear concern about implementation timing.",
|
|
591
|
+
creating: "Creating…",
|
|
592
|
+
create: "Create tracker",
|
|
593
|
+
deleteTrackerAria: "Delete {{name}}",
|
|
594
|
+
deleteTrackerTitle: "Delete {{name}}?",
|
|
595
|
+
deleteTrackerDescription:
|
|
596
|
+
"This stops future signal runs from using this tracker. Existing reviewed signals stay unchanged.",
|
|
597
|
+
cancel: "Cancel",
|
|
598
|
+
deleteTracker: "Delete tracker",
|
|
599
|
+
keywordsSummary: "Keywords: {{keywords}}",
|
|
600
|
+
noKeywordsConfigured: "No keywords configured.",
|
|
601
|
+
evaluatedThroughAsk: "Evaluated through Ask CRM.",
|
|
602
|
+
},
|
|
603
|
+
recordActions: {
|
|
604
|
+
evidenceAttached: "Call evidence attached.",
|
|
605
|
+
evidenceAttachFailed: "Evidence could not be attached.",
|
|
606
|
+
addEvidence: "Add evidence",
|
|
607
|
+
attachEvidenceTitle: "Attach Clips evidence",
|
|
608
|
+
attachEvidenceDescription:
|
|
609
|
+
"Use a durable Clips page link. CRM stores only the artifact reference, page URL, and a bounded excerpt—never media or a transcript.",
|
|
610
|
+
artifactId: "Artifact ID",
|
|
611
|
+
clipsUrl: "Clips URL",
|
|
612
|
+
summary: "Summary",
|
|
613
|
+
shortExcerpt: "Short excerpt",
|
|
614
|
+
attachEvidence: "Attach evidence",
|
|
615
|
+
automate: "Automate",
|
|
616
|
+
reviewNewClipsCalls: "Review new Clips calls",
|
|
617
|
+
reviewDescription:
|
|
618
|
+
"Prepare a review recipe for this CRM record without copying Clips media or transcripts.",
|
|
619
|
+
disabledAutomationDescription:
|
|
620
|
+
"This starts disabled and stays tied to {{name}}. Once explicitly activated, each new clip may attach only its access-checked recording-page reference to this record.",
|
|
621
|
+
handoffDescription:
|
|
622
|
+
"The handoff keeps only an opaque clip ID, a durable {{path}} page URL, and capture time. It rejects event URLs, media, access tokens, transcripts, inferred records, and provider writes.",
|
|
623
|
+
manageAutomations: "Manage automations",
|
|
624
|
+
configureWithAgent: "Configure with agent",
|
|
625
|
+
editField: "Edit field",
|
|
626
|
+
editFieldTitle: "Edit CRM field",
|
|
627
|
+
nativeAuthorityDescription:
|
|
628
|
+
"This record lives in the local-authoritative Native SQL CRM, so the value is written here immediately.",
|
|
629
|
+
providerAuthorityDescription:
|
|
630
|
+
"Decide whether this value belongs to {{provider}} or to CRM. A {{provider}} field is prepared as a proposal you complete upstream.",
|
|
631
|
+
authority: "Authority",
|
|
632
|
+
targetProvider: "{{provider}} field",
|
|
633
|
+
targetLocal: "Local CRM field",
|
|
634
|
+
fieldName: "Field name",
|
|
635
|
+
valueType: "Value type",
|
|
636
|
+
valueTypeText: "Text",
|
|
637
|
+
valueTypeNumber: "Number",
|
|
638
|
+
valueTypeBoolean: "Yes or no",
|
|
639
|
+
newValue: "New value",
|
|
640
|
+
chooseValue: "Choose a value",
|
|
641
|
+
booleanTrue: "Yes",
|
|
642
|
+
booleanFalse: "No",
|
|
643
|
+
invalidNumber: "Enter a valid number.",
|
|
644
|
+
localFieldUpdated: "Local field updated.",
|
|
645
|
+
updateFailed: "The CRM update failed.",
|
|
646
|
+
saveField: "Save field",
|
|
647
|
+
prepareChange: "Prepare {{provider}} change",
|
|
648
|
+
updateLocally: "Update locally",
|
|
649
|
+
providerHandoffTitle: "Complete this change in {{provider}}",
|
|
650
|
+
providerHandoffDescription:
|
|
651
|
+
"CRM recorded the exact change as a proposal. {{provider}} still owns this field, so the edit has to be finished there.",
|
|
652
|
+
recordLinkUnavailable:
|
|
653
|
+
"CRM has no {{provider}} link for this record ({{reason}}). Open the record in {{provider}} directly.",
|
|
654
|
+
reviewLater: "Review later",
|
|
655
|
+
openInProvider: "Open in {{provider}}",
|
|
656
|
+
diffField: "Field",
|
|
657
|
+
diffCurrent: "Current",
|
|
658
|
+
diffProposed: "Proposed",
|
|
659
|
+
diffNotMirrored: "Not mirrored",
|
|
660
|
+
diffEmpty: "Empty",
|
|
661
|
+
diffStructuredValue: "Structured value",
|
|
662
|
+
},
|
|
663
|
+
dashboard: {
|
|
664
|
+
metaTitle: "Pipeline · CRM",
|
|
665
|
+
pipeline: "Pipeline",
|
|
666
|
+
ready: "Pipeline dashboard is ready.",
|
|
667
|
+
installFailed: "Pipeline dashboard could not be installed.",
|
|
668
|
+
loadingDescription: "Loading your access-scoped pipeline dashboard…",
|
|
669
|
+
emptyDescription:
|
|
670
|
+
"A live, permission-aware view of opportunity value by stage.",
|
|
671
|
+
installTitle: "Install the Pipeline dashboard",
|
|
672
|
+
installDescription:
|
|
673
|
+
"It creates a CRM-owned data program and a private dashboard for your current workspace.",
|
|
674
|
+
installAction: "Install Pipeline dashboard",
|
|
675
|
+
liveDescription:
|
|
676
|
+
"Live opportunity totals use the current viewer’s CRM access and refresh from a cached data program.",
|
|
677
|
+
updating: "Updating…",
|
|
678
|
+
updatePack: "Update pack",
|
|
679
|
+
},
|
|
680
|
+
};
|
|
681
|
+
|
|
682
|
+
export const crmDashboardMetaTitle = messages.dashboard.metaTitle;
|
|
683
|
+
|
|
684
|
+
export default messages;
|