@ai-matrx/records-ui 0.65.0 → 0.67.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/dist/index.d.cts CHANGED
@@ -108,6 +108,12 @@ interface RecordChatContext {
108
108
  /** The whole door answer, for a host that wants the history or the relations. */
109
109
  scope: RecordScopeContext;
110
110
  }
111
+ /**
112
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `chat` on
113
+ * `<RecordsUiProvider>` with the host's own chat surface — in AI Matrx that is
114
+ * `AgentConversationColumn`, launched through a Mandate. This package
115
+ * deliberately ships no second chat UI.
116
+ */
111
117
  declare const NO_CHAT_REASON: string;
112
118
  interface RecordChatProps {
113
119
  tableId: Uuid;
@@ -138,6 +144,12 @@ interface EnrichOutcome {
138
144
  says?: string;
139
145
  }>;
140
146
  }
147
+ /**
148
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `enrich` on
149
+ * `<RecordsUiProvider>` with a call to the server's own `records` tool (action
150
+ * `enrich_propose`). Only the server may write a value as an agent — a browser
151
+ * stamping itself `agent` would be a browser claiming to be one.
152
+ */
141
153
  declare const NO_ENRICH_REASON: string;
142
154
  /** Which of the four things this cell is. One place, so nothing can disagree. */
143
155
  declare function cellState(cell: EnrichCell | undefined): "none" | "agent" | "yours" | "unsure";
@@ -487,17 +499,52 @@ interface PendingCapture {
487
499
  attempts: number;
488
500
  lastRefusal?: string | null;
489
501
  }
490
- /** The sentence the notify editor shows when no saved-view port is bound. */
502
+ /**
503
+ * The sentence the notify editor shows when no saved-view port is bound.
504
+ *
505
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `savedViews` on
506
+ * `<RecordsUiProvider>` with the host's own list of `platform.saved_view` rows —
507
+ * the record store has no door onto them — and the picker appears.
508
+ */
491
509
  declare const NO_SAVED_VIEWS_REASON: string;
492
- /** The sentence a person question shows when no membership port is bound. */
510
+ /**
511
+ * The sentence a person question shows when no membership port is bound.
512
+ *
513
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `members` on
514
+ * `<RecordsUiProvider>` with the host's own roster. Who is in an organization is
515
+ * the platform's answer, not the record store's, so this package will not guess.
516
+ */
493
517
  declare const NO_MEMBERS_REASON: string;
494
- /** The sentence shown when no share dialog is bound. */
518
+ /**
519
+ * The sentence shown when no share dialog is bound.
520
+ *
521
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `share` on
522
+ * `<RecordsUiProvider>` with the app's own sharing dialog. AI Matrx has exactly
523
+ * one, and this package deliberately does not ship a second.
524
+ */
495
525
  declare const NO_SHARE_REASON: string;
496
- /** The sentence a canvas shows when nothing is bound to open the records behind a number. */
526
+ /**
527
+ * The sentence a canvas shows when nothing is bound to open the records behind a number.
528
+ *
529
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `openRecords` on
530
+ * `<RecordsUiProvider>`. Where this app puts its grid is the host's routing, not
531
+ * this package's, so it will not guess an address.
532
+ */
497
533
  declare const NO_OPEN_RECORDS_REASON: string;
498
- /** The sentence the re-ask box shows when no agent is bound. */
534
+ /**
535
+ * The sentence the re-ask box shows when no agent is bound.
536
+ *
537
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `onReask` on
538
+ * `<RecordsUiProvider>`; it drives `dashboard_propose` on the server's `records`
539
+ * tool with this dashboard's id. Only the server can honestly speak as an agent.
540
+ */
499
541
  declare const NO_REASK_REASON: string;
500
- /** The sentence an attachment question shows when no file store is bound. */
542
+ /**
543
+ * The sentence an attachment question shows when no file store is bound.
544
+ *
545
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `upload` on
546
+ * `<RecordsUiProvider>` with the host's file service and the chooser appears.
547
+ */
501
548
  declare const NO_UPLOAD_REASON: string;
502
549
  declare function RecordsUiProvider({ value, children }: {
503
550
  value: RecordsUiHost;
@@ -549,6 +596,28 @@ declare function isMachineIdentity(text: string): boolean;
549
596
  * the suite to say WHAT it found rather than only that it found something.
550
597
  */
551
598
  declare function machineIdentityIn(text: string): string[];
599
+ /**
600
+ * 🚨 A HINT THIS PACKAGE OR ITS CLIENT WROTE IS NOT A PERSON'S REMEDY.
601
+ *
602
+ * `refusalForAPerson` prefers the DOOR's own hint over the table above, because
603
+ * the door that refused knows more about the way out than a code does. That is
604
+ * right — but it assumed every hint came from the store. It did not: until
605
+ * `@ai-matrx/records` 0.47.0 the client appended its OWN note to `hint` when it
606
+ * met a SQLSTATE it did not know, and the machine-identity filter let it
607
+ * through whenever the code was not exactly five characters (an empty code from
608
+ * a dropped connection, or an HTTP status like `404`). So the Checklists tab of
609
+ * a plumbing company's jobs table told its owner:
610
+ *
611
+ * @ai-matrx/records did not recognise SQLSTATE from checklistTemplates
612
+ *
613
+ * The client no longer writes there. This is the guard on the other side, by
614
+ * SHAPE and not by that one sentence: a hint that talks about a package, a
615
+ * SQLSTATE, or a `camelCaseDoor` is engineer text wherever it came from, and it
616
+ * joins the engineer's line instead of a person's screen.
617
+ */
618
+ declare const ENGINEER_TEXT: RegExp[];
619
+ /** Whether this sentence was written for whoever maintains the code. */
620
+ declare function isEngineerText(text: string): boolean;
552
621
  /** The one shape every screen in this package renders a refusal from. */
553
622
  interface PlainRefusal {
554
623
  /** The heading. Never the store's code. */
@@ -2065,9 +2134,15 @@ interface PortalCardViewProps {
2065
2134
  onPreview: (person: PortalPrincipal, tableId: Uuid) => Promise<PortalAnswer<PortalPreviewRow[]>>;
2066
2135
  /** The invite control, which needs a client of its own. Absent means none is offered. */
2067
2136
  invite?: ReactNode;
2137
+ /**
2138
+ * Where this app is served from, so a person's own invitation link can be copied whole.
2139
+ * Omit it and the view falls back to the browser's origin, which keeps this component
2140
+ * mountable BARE against a recorded answer with no host and no network.
2141
+ */
2142
+ origin?: string | undefined;
2068
2143
  className?: string | undefined;
2069
2144
  }
2070
- declare function PortalCardView({ card, tableId, onRevoke, onPreview, invite, className, }: PortalCardViewProps): react.JSX.Element;
2145
+ declare function PortalCardView({ card, tableId, onRevoke, onPreview, invite, origin, className, }: PortalCardViewProps): react.JSX.Element;
2071
2146
 
2072
2147
  interface DigestSchedulerProps {
2073
2148
  /** The Table the digest is about. A saved view is a view OF something. */
@@ -2553,6 +2628,11 @@ declare function nextInWords(page: Pick<BookingSummary, "next_at" | "timezone" |
2553
2628
  /** The three things a phone captures. Each one writes the SAME kind of record. */
2554
2629
  declare const CAPTURE_MODES: readonly ["reading", "photo", "voice"];
2555
2630
  type CaptureMode = (typeof CAPTURE_MODES)[number];
2631
+ /**
2632
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `captureQueue` on
2633
+ * `<RecordsUiProvider>` with the host's own durable store — IndexedDB in a
2634
+ * browser — and a queued capture survives the tab, the reload and the flight.
2635
+ */
2556
2636
  declare const IN_MEMORY_QUEUE_REASON: string;
2557
2637
  interface CaptureSheetProps {
2558
2638
  /**
@@ -2799,6 +2879,31 @@ interface TablePageProps {
2799
2879
  * copy it out of the address bar afterwards.
2800
2880
  */
2801
2881
  onViewChanged?: ((view: PageView) => void) | undefined;
2882
+ /**
2883
+ * WHICH FIELD THE ADDRESS WANTS THE BOARD'S COLUMNS TO BE, for this visit.
2884
+ *
2885
+ * 🚨 THIS IS HOW A DASHBOARD NUMBER CLICKS THROUGH (lane TAILS-6, 2026-09-22).
2886
+ * Until today the canvas told the owner of the business to "bind `openRecords`
2887
+ * on <RecordsUiProvider>" — a developer's sentence on a customer's screen —
2888
+ * because nothing in this app routed a bar or a slice anywhere. The store has
2889
+ * no door that returns the ROWS behind an aggregate filter, so a click cannot
2890
+ * honestly promise a narrowed list; what it CAN do is open this table's board
2891
+ * with its columns set to the very field the chart grouped by, where the
2892
+ * column the person clicked is right there and every card in it is real.
2893
+ *
2894
+ * It overrides the saved view's own `groupField` for this visit only, exactly
2895
+ * as `activeView` overrides its layout, and it is never written back.
2896
+ */
2897
+ activeGroupField?: string | null | undefined;
2898
+ /**
2899
+ * WHAT THE PERSON CLICKED TO GET HERE — "Jobs by stage · Awaiting parts".
2900
+ *
2901
+ * Present, the board says where they came from AND says plainly that it is
2902
+ * showing every record grouped by that field rather than only the ones the
2903
+ * number counted. A screen that quietly showed more rows than the number
2904
+ * promised would be the number lying twice.
2905
+ */
2906
+ cameFrom?: string | null | undefined;
2802
2907
  className?: string | undefined;
2803
2908
  }
2804
2909
  /**
@@ -2817,6 +2922,16 @@ interface TablePageProps {
2817
2922
  * whether the table exists: this person cannot see it, and which of the two it
2818
2923
  * is is not theirs to learn.
2819
2924
  */
2925
+ /**
2926
+ * WHAT THE BOARD SAYS TO SOMEBODY A DASHBOARD NUMBER SENT HERE.
2927
+ *
2928
+ * It says two things and neither is optional: which number they clicked, and
2929
+ * that this is every record grouped by that field rather than only the ones the
2930
+ * number counted. The store has no door that returns the rows behind an
2931
+ * aggregate filter, so claiming a narrowed list would be a lie — and showing a
2932
+ * wider one silently would be the same lie with nobody told.
2933
+ */
2934
+ declare function cameFromLine(label: string, groupField: string | null): string;
2820
2935
  declare const TABLE_NOT_REACHABLE: string;
2821
2936
  /**
2822
2937
  * THE VIEW EVERY TABLE HAS, AND WHY IT IS NOT OPTIONAL.
@@ -2925,7 +3040,7 @@ declare function openingView(activeView: string | null | undefined, activeDashbo
2925
3040
  layout: ViewLayout | null;
2926
3041
  unknown: string | null;
2927
3042
  };
2928
- declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, className, }: TablePageProps): react.JSX.Element;
3043
+ declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, activeGroupField, cameFrom, className, }: TablePageProps): react.JSX.Element;
2929
3044
 
2930
3045
  /** What the roster can tell us about a user id. `null` when it cannot. */
2931
3046
  type ResolveName = (userId: Uuid$1) => string | null;
@@ -3103,4 +3218,4 @@ interface PipelineBoardProps {
3103
3218
  }
3104
3219
  declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
3105
3220
 
3106
- export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
3221
+ export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
package/dist/index.d.ts CHANGED
@@ -108,6 +108,12 @@ interface RecordChatContext {
108
108
  /** The whole door answer, for a host that wants the history or the relations. */
109
109
  scope: RecordScopeContext;
110
110
  }
111
+ /**
112
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `chat` on
113
+ * `<RecordsUiProvider>` with the host's own chat surface — in AI Matrx that is
114
+ * `AgentConversationColumn`, launched through a Mandate. This package
115
+ * deliberately ships no second chat UI.
116
+ */
111
117
  declare const NO_CHAT_REASON: string;
112
118
  interface RecordChatProps {
113
119
  tableId: Uuid;
@@ -138,6 +144,12 @@ interface EnrichOutcome {
138
144
  says?: string;
139
145
  }>;
140
146
  }
147
+ /**
148
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `enrich` on
149
+ * `<RecordsUiProvider>` with a call to the server's own `records` tool (action
150
+ * `enrich_propose`). Only the server may write a value as an agent — a browser
151
+ * stamping itself `agent` would be a browser claiming to be one.
152
+ */
141
153
  declare const NO_ENRICH_REASON: string;
142
154
  /** Which of the four things this cell is. One place, so nothing can disagree. */
143
155
  declare function cellState(cell: EnrichCell | undefined): "none" | "agent" | "yours" | "unsure";
@@ -487,17 +499,52 @@ interface PendingCapture {
487
499
  attempts: number;
488
500
  lastRefusal?: string | null;
489
501
  }
490
- /** The sentence the notify editor shows when no saved-view port is bound. */
502
+ /**
503
+ * The sentence the notify editor shows when no saved-view port is bound.
504
+ *
505
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `savedViews` on
506
+ * `<RecordsUiProvider>` with the host's own list of `platform.saved_view` rows —
507
+ * the record store has no door onto them — and the picker appears.
508
+ */
491
509
  declare const NO_SAVED_VIEWS_REASON: string;
492
- /** The sentence a person question shows when no membership port is bound. */
510
+ /**
511
+ * The sentence a person question shows when no membership port is bound.
512
+ *
513
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `members` on
514
+ * `<RecordsUiProvider>` with the host's own roster. Who is in an organization is
515
+ * the platform's answer, not the record store's, so this package will not guess.
516
+ */
493
517
  declare const NO_MEMBERS_REASON: string;
494
- /** The sentence shown when no share dialog is bound. */
518
+ /**
519
+ * The sentence shown when no share dialog is bound.
520
+ *
521
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `share` on
522
+ * `<RecordsUiProvider>` with the app's own sharing dialog. AI Matrx has exactly
523
+ * one, and this package deliberately does not ship a second.
524
+ */
495
525
  declare const NO_SHARE_REASON: string;
496
- /** The sentence a canvas shows when nothing is bound to open the records behind a number. */
526
+ /**
527
+ * The sentence a canvas shows when nothing is bound to open the records behind a number.
528
+ *
529
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `openRecords` on
530
+ * `<RecordsUiProvider>`. Where this app puts its grid is the host's routing, not
531
+ * this package's, so it will not guess an address.
532
+ */
497
533
  declare const NO_OPEN_RECORDS_REASON: string;
498
- /** The sentence the re-ask box shows when no agent is bound. */
534
+ /**
535
+ * The sentence the re-ask box shows when no agent is bound.
536
+ *
537
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `onReask` on
538
+ * `<RecordsUiProvider>`; it drives `dashboard_propose` on the server's `records`
539
+ * tool with this dashboard's id. Only the server can honestly speak as an agent.
540
+ */
499
541
  declare const NO_REASK_REASON: string;
500
- /** The sentence an attachment question shows when no file store is bound. */
542
+ /**
543
+ * The sentence an attachment question shows when no file store is bound.
544
+ *
545
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `upload` on
546
+ * `<RecordsUiProvider>` with the host's file service and the chooser appears.
547
+ */
501
548
  declare const NO_UPLOAD_REASON: string;
502
549
  declare function RecordsUiProvider({ value, children }: {
503
550
  value: RecordsUiHost;
@@ -549,6 +596,28 @@ declare function isMachineIdentity(text: string): boolean;
549
596
  * the suite to say WHAT it found rather than only that it found something.
550
597
  */
551
598
  declare function machineIdentityIn(text: string): string[];
599
+ /**
600
+ * 🚨 A HINT THIS PACKAGE OR ITS CLIENT WROTE IS NOT A PERSON'S REMEDY.
601
+ *
602
+ * `refusalForAPerson` prefers the DOOR's own hint over the table above, because
603
+ * the door that refused knows more about the way out than a code does. That is
604
+ * right — but it assumed every hint came from the store. It did not: until
605
+ * `@ai-matrx/records` 0.47.0 the client appended its OWN note to `hint` when it
606
+ * met a SQLSTATE it did not know, and the machine-identity filter let it
607
+ * through whenever the code was not exactly five characters (an empty code from
608
+ * a dropped connection, or an HTTP status like `404`). So the Checklists tab of
609
+ * a plumbing company's jobs table told its owner:
610
+ *
611
+ * @ai-matrx/records did not recognise SQLSTATE from checklistTemplates
612
+ *
613
+ * The client no longer writes there. This is the guard on the other side, by
614
+ * SHAPE and not by that one sentence: a hint that talks about a package, a
615
+ * SQLSTATE, or a `camelCaseDoor` is engineer text wherever it came from, and it
616
+ * joins the engineer's line instead of a person's screen.
617
+ */
618
+ declare const ENGINEER_TEXT: RegExp[];
619
+ /** Whether this sentence was written for whoever maintains the code. */
620
+ declare function isEngineerText(text: string): boolean;
552
621
  /** The one shape every screen in this package renders a refusal from. */
553
622
  interface PlainRefusal {
554
623
  /** The heading. Never the store's code. */
@@ -2065,9 +2134,15 @@ interface PortalCardViewProps {
2065
2134
  onPreview: (person: PortalPrincipal, tableId: Uuid) => Promise<PortalAnswer<PortalPreviewRow[]>>;
2066
2135
  /** The invite control, which needs a client of its own. Absent means none is offered. */
2067
2136
  invite?: ReactNode;
2137
+ /**
2138
+ * Where this app is served from, so a person's own invitation link can be copied whole.
2139
+ * Omit it and the view falls back to the browser's origin, which keeps this component
2140
+ * mountable BARE against a recorded answer with no host and no network.
2141
+ */
2142
+ origin?: string | undefined;
2068
2143
  className?: string | undefined;
2069
2144
  }
2070
- declare function PortalCardView({ card, tableId, onRevoke, onPreview, invite, className, }: PortalCardViewProps): react.JSX.Element;
2145
+ declare function PortalCardView({ card, tableId, onRevoke, onPreview, invite, origin, className, }: PortalCardViewProps): react.JSX.Element;
2071
2146
 
2072
2147
  interface DigestSchedulerProps {
2073
2148
  /** The Table the digest is about. A saved view is a view OF something. */
@@ -2553,6 +2628,11 @@ declare function nextInWords(page: Pick<BookingSummary, "next_at" | "timezone" |
2553
2628
  /** The three things a phone captures. Each one writes the SAME kind of record. */
2554
2629
  declare const CAPTURE_MODES: readonly ["reading", "photo", "voice"];
2555
2630
  type CaptureMode = (typeof CAPTURE_MODES)[number];
2631
+ /**
2632
+ * FOR WHOEVER MAINTAINS THIS APP (never on the screen): bind `captureQueue` on
2633
+ * `<RecordsUiProvider>` with the host's own durable store — IndexedDB in a
2634
+ * browser — and a queued capture survives the tab, the reload and the flight.
2635
+ */
2556
2636
  declare const IN_MEMORY_QUEUE_REASON: string;
2557
2637
  interface CaptureSheetProps {
2558
2638
  /**
@@ -2799,6 +2879,31 @@ interface TablePageProps {
2799
2879
  * copy it out of the address bar afterwards.
2800
2880
  */
2801
2881
  onViewChanged?: ((view: PageView) => void) | undefined;
2882
+ /**
2883
+ * WHICH FIELD THE ADDRESS WANTS THE BOARD'S COLUMNS TO BE, for this visit.
2884
+ *
2885
+ * 🚨 THIS IS HOW A DASHBOARD NUMBER CLICKS THROUGH (lane TAILS-6, 2026-09-22).
2886
+ * Until today the canvas told the owner of the business to "bind `openRecords`
2887
+ * on <RecordsUiProvider>" — a developer's sentence on a customer's screen —
2888
+ * because nothing in this app routed a bar or a slice anywhere. The store has
2889
+ * no door that returns the ROWS behind an aggregate filter, so a click cannot
2890
+ * honestly promise a narrowed list; what it CAN do is open this table's board
2891
+ * with its columns set to the very field the chart grouped by, where the
2892
+ * column the person clicked is right there and every card in it is real.
2893
+ *
2894
+ * It overrides the saved view's own `groupField` for this visit only, exactly
2895
+ * as `activeView` overrides its layout, and it is never written back.
2896
+ */
2897
+ activeGroupField?: string | null | undefined;
2898
+ /**
2899
+ * WHAT THE PERSON CLICKED TO GET HERE — "Jobs by stage · Awaiting parts".
2900
+ *
2901
+ * Present, the board says where they came from AND says plainly that it is
2902
+ * showing every record grouped by that field rather than only the ones the
2903
+ * number counted. A screen that quietly showed more rows than the number
2904
+ * promised would be the number lying twice.
2905
+ */
2906
+ cameFrom?: string | null | undefined;
2802
2907
  className?: string | undefined;
2803
2908
  }
2804
2909
  /**
@@ -2817,6 +2922,16 @@ interface TablePageProps {
2817
2922
  * whether the table exists: this person cannot see it, and which of the two it
2818
2923
  * is is not theirs to learn.
2819
2924
  */
2925
+ /**
2926
+ * WHAT THE BOARD SAYS TO SOMEBODY A DASHBOARD NUMBER SENT HERE.
2927
+ *
2928
+ * It says two things and neither is optional: which number they clicked, and
2929
+ * that this is every record grouped by that field rather than only the ones the
2930
+ * number counted. The store has no door that returns the rows behind an
2931
+ * aggregate filter, so claiming a narrowed list would be a lie — and showing a
2932
+ * wider one silently would be the same lie with nobody told.
2933
+ */
2934
+ declare function cameFromLine(label: string, groupField: string | null): string;
2820
2935
  declare const TABLE_NOT_REACHABLE: string;
2821
2936
  /**
2822
2937
  * THE VIEW EVERY TABLE HAS, AND WHY IT IS NOT OPTIONAL.
@@ -2925,7 +3040,7 @@ declare function openingView(activeView: string | null | undefined, activeDashbo
2925
3040
  layout: ViewLayout | null;
2926
3041
  unknown: string | null;
2927
3042
  };
2928
- declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, className, }: TablePageProps): react.JSX.Element;
3043
+ declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, activeGroupField, cameFrom, className, }: TablePageProps): react.JSX.Element;
2929
3044
 
2930
3045
  /** What the roster can tell us about a user id. `null` when it cannot. */
2931
3046
  type ResolveName = (userId: Uuid$1) => string | null;
@@ -3103,4 +3218,4 @@ interface PipelineBoardProps {
3103
3218
  }
3104
3219
  declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
3105
3220
 
3106
- export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
3221
+ export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };