@ai-matrx/records 0.36.0 → 0.37.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/CHANGELOG.md +25 -0
- package/dist/core/index.cjs +49 -0
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +51 -3
- package/dist/core/index.d.ts +51 -3
- package/dist/core/index.js +49 -0
- package/dist/core/index.js.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +73 -1
- package/dist/index.d.ts +73 -1
- package/dist/index.js.map +1 -1
- package/dist/react/index.cjs +49 -0
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +118 -1
- package/dist/react/index.d.ts +118 -1
- package/dist/react/index.js +49 -0
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
package/dist/react/index.d.cts
CHANGED
|
@@ -4494,6 +4494,56 @@ interface BookingSummary {
|
|
|
4494
4494
|
/** draft · open · closed — the store's own word, never derived on a screen. */
|
|
4495
4495
|
state: string;
|
|
4496
4496
|
}
|
|
4497
|
+
/**
|
|
4498
|
+
* ONE WINDOW OF AN ORGANIZATION'S WEEK, in the shape `custom._booking_availability`
|
|
4499
|
+
* normalises to and `custom._booking_slots` generates from. `weekday` is 0 for Sunday
|
|
4500
|
+
* and 6 for Saturday — the database's own numbering, so a picker and the store cannot
|
|
4501
|
+
* disagree about which day Monday is. A window may name ONE member, which is the "with
|
|
4502
|
+
* whom" of an appointment; naming somebody who is not a member is refused BY NAME.
|
|
4503
|
+
*/
|
|
4504
|
+
interface BookingWindow {
|
|
4505
|
+
weekday: number;
|
|
4506
|
+
/** "09:00" */
|
|
4507
|
+
from: string;
|
|
4508
|
+
/** "17:00" — later in the day than `from`, or the store refuses it by name. */
|
|
4509
|
+
to: string;
|
|
4510
|
+
member_user_id?: string | null;
|
|
4511
|
+
}
|
|
4512
|
+
/**
|
|
4513
|
+
* WHAT IS ON OFFER. Every field is the store's to default: a page declared with an
|
|
4514
|
+
* empty availability comes back with the organization's timezone, a 30-minute slot and
|
|
4515
|
+
* Monday-to-Friday nine-to-five, because a booking page that offered nothing would look
|
|
4516
|
+
* broken rather than unconfigured. A screen shows what came BACK, never what it sent.
|
|
4517
|
+
*/
|
|
4518
|
+
interface BookingAvailability {
|
|
4519
|
+
timezone: string;
|
|
4520
|
+
slot_minutes: number;
|
|
4521
|
+
/** Dead time kept after each appointment, so two never touch. */
|
|
4522
|
+
buffer_minutes: number;
|
|
4523
|
+
/** How far ahead of now the earliest bookable slot is. */
|
|
4524
|
+
lead_minutes: number;
|
|
4525
|
+
/** Most appointments in one day, across every window. */
|
|
4526
|
+
max_per_day: number;
|
|
4527
|
+
/** How many days ahead the page offers. */
|
|
4528
|
+
days: number;
|
|
4529
|
+
windows: BookingWindow[];
|
|
4530
|
+
}
|
|
4531
|
+
/**
|
|
4532
|
+
* WHAT `custom.booking_declare` ANSWERS. `availability` is the NORMALISED offer —
|
|
4533
|
+
* show that, not the draft — and `questions_filled_in` is how many questions the store
|
|
4534
|
+
* took over (`slot`, `status`, `booked_with`), which a visitor is never asked.
|
|
4535
|
+
*
|
|
4536
|
+
* It does NOT publish. `anonPublish` is still the one act that opens the link, exactly
|
|
4537
|
+
* as it is for a form, so there is one act and one word for opening a public surface.
|
|
4538
|
+
*/
|
|
4539
|
+
interface BookingDeclared {
|
|
4540
|
+
form_id: string;
|
|
4541
|
+
slot_table_id: string;
|
|
4542
|
+
availability: BookingAvailability;
|
|
4543
|
+
questions_asked: number;
|
|
4544
|
+
questions_filled_in: number;
|
|
4545
|
+
ms: number;
|
|
4546
|
+
}
|
|
4497
4547
|
/**
|
|
4498
4548
|
* THE VISITOR'S OWN LINK to a booking page. The page id IS the capability, exactly
|
|
4499
4549
|
* as it is for a form; `custom.anon_submission.booking_ref` is the separate secret
|
|
@@ -5665,6 +5715,28 @@ interface DigestPreview {
|
|
|
5665
5715
|
*/
|
|
5666
5716
|
incomplete: string | null;
|
|
5667
5717
|
}
|
|
5718
|
+
/**
|
|
5719
|
+
* ONE SAVED VIEW — `custom.views`. A subscription is written OVER one of these, so
|
|
5720
|
+
* a person with no saved view has nothing to be told about; `viewDeclare` is how a
|
|
5721
|
+
* screen gives them one without leaving the screen they are on.
|
|
5722
|
+
*
|
|
5723
|
+
* `filters` is written in the ONE shape `custom.agg_view_admits` reads, so a view
|
|
5724
|
+
* saved here needs no translation before the notifier can admit records to it.
|
|
5725
|
+
*/
|
|
5726
|
+
interface SavedViewRow {
|
|
5727
|
+
view_id: Uuid;
|
|
5728
|
+
name: string;
|
|
5729
|
+
table_id: Uuid | null;
|
|
5730
|
+
filters: Record<string, unknown>;
|
|
5731
|
+
created_at: string;
|
|
5732
|
+
}
|
|
5733
|
+
/** What `custom.view_declare` is asked for. `view_id` re-states rather than doubling. */
|
|
5734
|
+
interface SavedViewSpecIn {
|
|
5735
|
+
name: string;
|
|
5736
|
+
filters?: Record<string, unknown> | null;
|
|
5737
|
+
definition?: Record<string, unknown> | null;
|
|
5738
|
+
view_id?: Uuid | null;
|
|
5739
|
+
}
|
|
5668
5740
|
/** What `custom.subscription_declare` is asked for. The store refuses the rest BY NAME. */
|
|
5669
5741
|
interface SubscriptionSpec {
|
|
5670
5742
|
name: string;
|
|
@@ -6852,6 +6924,34 @@ interface RecordsClient {
|
|
|
6852
6924
|
bookings(args?: {
|
|
6853
6925
|
table_id?: Uuid | null;
|
|
6854
6926
|
}): Promise<RecordsResult<BookingSummary[]>>;
|
|
6927
|
+
/**
|
|
6928
|
+
* CREATE OR RE-STATE ONE BOOKING PAGE over one Table. `admin` on the Table,
|
|
6929
|
+
* because a booking page decides what a stranger may write into it and which
|
|
6930
|
+
* hours of the organization's week are on offer.
|
|
6931
|
+
*
|
|
6932
|
+
* `slot`, `status` and `booked_with` are the store's to fill in: a question
|
|
6933
|
+
* naming any of the three is refused BY NAME, so a page cannot be built that
|
|
6934
|
+
* lets a visitor choose their own status. It does NOT publish — `anonPublish`
|
|
6935
|
+
* is the one act that opens a public surface, for a booking page exactly as
|
|
6936
|
+
* for a form.
|
|
6937
|
+
*
|
|
6938
|
+
* Until 2026-09-21 this door had no client method, so the ONLY way to a
|
|
6939
|
+
* booking page was to ask an agent for one. The agent path is the faster one,
|
|
6940
|
+
* never the only one.
|
|
6941
|
+
*/
|
|
6942
|
+
bookingDeclare(args: {
|
|
6943
|
+
table_id: Uuid;
|
|
6944
|
+
title: string;
|
|
6945
|
+
questions: unknown[];
|
|
6946
|
+
availability?: Partial<BookingAvailability> | null;
|
|
6947
|
+
presentation?: Record<string, unknown> | null;
|
|
6948
|
+
submission_cap?: number | null;
|
|
6949
|
+
quarantine_rule_id?: Uuid | null;
|
|
6950
|
+
notify_rule_id?: Uuid | null;
|
|
6951
|
+
form_id?: Uuid | null;
|
|
6952
|
+
slug?: string | null;
|
|
6953
|
+
home_id?: Uuid | null;
|
|
6954
|
+
}): Promise<RecordsResult<BookingDeclared>>;
|
|
6855
6955
|
/** Create or re-state one form. A question naming no Field of that Table is refused BY NAME. */
|
|
6856
6956
|
formDeclare(args: {
|
|
6857
6957
|
table_id: Uuid;
|
|
@@ -7223,6 +7323,23 @@ interface RecordsClient {
|
|
|
7223
7323
|
subscriptionPreview(args: {
|
|
7224
7324
|
rule_id: Uuid;
|
|
7225
7325
|
}): Promise<RecordsResult<DigestPreview>>;
|
|
7326
|
+
/**
|
|
7327
|
+
* THE SAVED VIEWS OF A TABLE — what a subscription may be written over. Narrowed
|
|
7328
|
+
* in SQL as the definer to Tables this caller can already open, so the list can
|
|
7329
|
+
* never reveal a Table.
|
|
7330
|
+
*/
|
|
7331
|
+
views(args?: {
|
|
7332
|
+
table_id?: Uuid | null;
|
|
7333
|
+
}): Promise<RecordsResult<SavedViewRow[]>>;
|
|
7334
|
+
/**
|
|
7335
|
+
* SAVE ONE VIEW. VIEWER on the Table, not editor: writing down a question about a
|
|
7336
|
+
* Table is not changing it, and requiring editor would mean the people who read a
|
|
7337
|
+
* Table could not subscribe to anything in it.
|
|
7338
|
+
*/
|
|
7339
|
+
viewDeclare(args: {
|
|
7340
|
+
table_id: Uuid;
|
|
7341
|
+
spec: SavedViewSpecIn;
|
|
7342
|
+
}): Promise<RecordsResult<Uuid>>;
|
|
7226
7343
|
docTemplateSave(args: {
|
|
7227
7344
|
table_id: Uuid;
|
|
7228
7345
|
name: string;
|
|
@@ -7950,4 +8067,4 @@ declare function useFieldMutation(): UseFieldMutation;
|
|
|
7950
8067
|
*/
|
|
7951
8068
|
declare function useMergeField(key: string | null, state?: Record<string, unknown>): MergeFieldResolution | null;
|
|
7952
8069
|
|
|
7953
|
-
export { ABSENCE_REASONS, ACTOR_VOCABULARY, type AbsenceReason, type Actor, type AggregateBucket, type AggregateFilter, type AggregateMeasure, type AggregateOperation, type AggregateRow, type AggregateWindow, type AnonTokenBinding, type BookingSummary, COMPUTE_ON, CONTEXT_POLICIES, type CaptureField, type CaptureFileRef, type CaptureOutcome, type CaptureQuestion, type CaptureQueue, type CaptureQueueCounts, type CaptureQueueOptions, type CaptureQueuePorts, type CaptureQueueStore, type CaptureSheetFace, type CaptureSheetSummary, type CaptureSyncReport, type ChecklistDeclared, type ChecklistRequirement, type ChecklistRequirementKind, type ChecklistRoleSpec, type ChecklistRunStarted, type ChecklistRunStep, type ChecklistRunSummary, type ChecklistSpec, type ChecklistStepCompleted, type ChecklistStepSpec, type ChecklistTemplateShape, type ChecklistTemplateSummary, type ChecklistTrigger, type ChecklistTriggerKind, type ChoiceOption, type CommentThreadRead, type CommentWritten, type ComputeOn, type ContextPolicy, type ConversationScope, type ConversationScopeContext, type CustomFieldTableType, DELIVERIES, type DashboardBlock, type DashboardBlockKind, type DashboardBlockResult, type DashboardRunResult, type DashboardSummary, type Delivery, type DigestPreview, type DocRenderRow, type DocSignatureCheck, type DocSignatureRow, type DocTemplateRow, type DocToken, type DocUnresolvedToken, ENTITY_TOKENS, type EnrichAlternate, type EnrichCell, type EnrichDeclared, type EnrichDueRow, type EnrichRun, type EnrichSource, type Enrichment, type EnrichmentSummary, type EntityFieldRights, type EntityFieldValue, type EntityRecordMatch, type EntityRecordRead, type EntityRecordsFound, type EntityTableFacts, type EntityToken, type ExternalPrincipalCard, FIELD_SENSITIVITIES, FIELD_SOURCES, FRESHNESS, type Field, type FieldBehavior, type FieldHistoryEntry, type FieldPatch, type FieldProposal, type FieldRule, type FieldSensitivity, type FieldSource, type FieldTypeWord, type ForbiddenEnvelopeWord, type FormSummary, type Freshness, type HiddenFieldNotice, type HistoryActor, type HistoryActorKind, type HistoryChange, type Home, type ImportBatchResult, type ImportColumnPlan, type ImportFinished, type ImportOpened, type ImportOutcome, type ImportPlan, type ImportPolicy, type ImportProposal, type ImportReport, type ImportRun, type InboundAddress, type InboundDeclared, KERNEL_TABLES, type KernelTableName, MERGE_FIELD_MODIFIERS, MERGE_FIELD_SEMANTIC_TYPES, MERGE_FIELD_SOURCES, type MergeField, type MergeFieldModifier, type MergeFieldProvenance, type MergeFieldResolution, type MergeFieldSemanticType, type MergeFieldSource, type MergeFieldTransform, type MissingBehavior, type MyLevel, type MySubscription, type NewEntityFieldDeclaration, type NewFieldDeclaration, ON_DELETE, OVERRIDE_POLICIES, type OnDelete, type OverridePolicy, PARITY_FIELD_TYPES, PERMISSION_LEVELS, PER_VALUE_ACCESS_WORDS, PIPELINE_RULE_KINDS, type ParityFieldType, type ParityFieldTypeDescriptor, type PerValueAccessWord, type PermissionLevel, type PgError, type Pipeline, type PipelineColumn, type PipelineDeclared, type PipelineGate, type PipelineGatePreview, type PipelineMissingField, type PipelineMoveResult, type PipelineRule, type PipelineRuleKind, type PipelineSpec, type PipelineStage, type PipelineVerdict, type PortalCard, type PortalInvitation, type PortalPreviewRow, type PortalPrincipal, type PortalRevocation, type PortalSummary, type PortalTableExposure, type PredictedRefusal, type ProvenancePointer, type PublishBinding, type QueuedCapture, type QueuedCaptureFile, type QueuedCaptureState, type QuietHours, REFUSALS_WORTH_REPEATING, RELATION_BINDINGS, RELATION_CARDINALITIES, RELATION_FLAVORS, RETIRED_ACTOR_WORDS, RULE_NODE_KINDS, RULE_USES, type ReadRow, type ReadValue, type RecordComment, type RecordDocument, type RecordHistoryEntry, type RecordRead, type RecordRevision, type RecordScopeComment, type RecordScopeContext, type RecordScopeField, type RecordScopeHistoryEntry, type RecordScopeRelation, type RecordScopeWithheld, type RecordsActor, type RecordsConfig, type RecordsDataSource, type RecordsError, type RecordsErrorCode, type RecordsErrorSink, type RecordsFilter, RecordsProvider, type RecordsProviderProps, type RecordsRealtimePort, type RecordsResolverPort, type RecordsResponse, type RecordsResult, type RecordsTableQuery, type RegisteredTable, type Relation, type RelationBinding, type RelationCardinality, type RelationCarries, type RelationCoordinate, type RelationFlavor, type RelationProperties, type RelationTarget, type ResolutionTriple, type ResolvedPublishBinding, type RestorePreview, type RestoreResult, type RetiredActorWord, type Rule, type RuleAnswer, type RuleExpression, type RuleNodeKind, type RuleUse, STAGE_RULE_ENFORCEMENT, STAGE_RULE_ON_FAIL, STORAGE_MODES, STORE_DOORS, STORE_KNOBS, STORE_REFUSAL_CODES, type StagePending, type StagePendingOnBoard, type StageRuleEnforcement, type StageRuleOnFail, type StageRuleWarning, type StaleWriteDetail, type StorageMode, type StoreDoorName, type StoreRefusalCode, type StoredRecord, type StuckRow, type Subscription, type SubscriptionBlock, type SubscriptionCadence, type SubscriptionSpec, TABLE_DISPLAYS, TABLE_ORIGINS, TABLE_TYPES, type Table, type TableCapacity, type TableDisplay, type TableOrigin, type TableProposal, type TableType, type Timestamp, type UseEntityFieldMutation, type UseFieldMutation, type UseRecordMutation, type UseRecordsOptions, type UseRecordsState, type Uuid, VALUE_ALTERNATE_KEYS, VALUE_ENVELOPE_KEYS, type ValueAlternate, type ValueAlternateKey, type ValueEnvelope, type ValueEnvelopeKey, type ValueSource, type WorkApprovalDecision, type WorkApprovalFiled, type WorkApprover, type WorkAssignment, type WorkAssignmentField, type WorkChange, type WorkDueState, type WorkGraph, type WorkInboxItem, type WorkInboxKind, type WorkInstantiation, type WorkListFlavour, type WorkListItem, type WorkOrigin, type WorkRecordState, type WorkSlotHold, type WorkState, type WorkTemplateNode, type WorkTemplateRelation, type WorkTurn, type WriteConflict, asPermissionLevel, atLeast, bookingPath, choiceSlug, choiceValuesOf, choicesOf, err, highestLevel, holdsARetiredChoice, indexedDbStore, isDecided, isRecordsErr, isTheChosen, looksLikeAnId, mayDrag, measureKey, memoryStore, mintClientKey, ok, openCaptureQueue, optionKey, optionLabel, portalPath, publicFormPath, scopeChip, useEntityFieldMutation, useEntityFieldRights, useEntityFields, useEntityRecord, useEntityTable, useFieldMutation, useFields, useMergeField, useMyLevel, useMyLevels, useOptionalRecordsClient, useRecord, useRecordMutation, useRecords, useRecordsActor, useRecordsClient, useTable, useTables };
|
|
8070
|
+
export { ABSENCE_REASONS, ACTOR_VOCABULARY, type AbsenceReason, type Actor, type AggregateBucket, type AggregateFilter, type AggregateMeasure, type AggregateOperation, type AggregateRow, type AggregateWindow, type AnonTokenBinding, type BookingAvailability, type BookingDeclared, type BookingSummary, type BookingWindow, COMPUTE_ON, CONTEXT_POLICIES, type CaptureField, type CaptureFileRef, type CaptureOutcome, type CaptureQuestion, type CaptureQueue, type CaptureQueueCounts, type CaptureQueueOptions, type CaptureQueuePorts, type CaptureQueueStore, type CaptureSheetFace, type CaptureSheetSummary, type CaptureSyncReport, type ChecklistDeclared, type ChecklistRequirement, type ChecklistRequirementKind, type ChecklistRoleSpec, type ChecklistRunStarted, type ChecklistRunStep, type ChecklistRunSummary, type ChecklistSpec, type ChecklistStepCompleted, type ChecklistStepSpec, type ChecklistTemplateShape, type ChecklistTemplateSummary, type ChecklistTrigger, type ChecklistTriggerKind, type ChoiceOption, type CommentThreadRead, type CommentWritten, type ComputeOn, type ContextPolicy, type ConversationScope, type ConversationScopeContext, type CustomFieldTableType, DELIVERIES, type DashboardBlock, type DashboardBlockKind, type DashboardBlockResult, type DashboardRunResult, type DashboardSummary, type Delivery, type DigestPreview, type DocRenderRow, type DocSignatureCheck, type DocSignatureRow, type DocTemplateRow, type DocToken, type DocUnresolvedToken, ENTITY_TOKENS, type EnrichAlternate, type EnrichCell, type EnrichDeclared, type EnrichDueRow, type EnrichRun, type EnrichSource, type Enrichment, type EnrichmentSummary, type EntityFieldRights, type EntityFieldValue, type EntityRecordMatch, type EntityRecordRead, type EntityRecordsFound, type EntityTableFacts, type EntityToken, type ExternalPrincipalCard, FIELD_SENSITIVITIES, FIELD_SOURCES, FRESHNESS, type Field, type FieldBehavior, type FieldHistoryEntry, type FieldPatch, type FieldProposal, type FieldRule, type FieldSensitivity, type FieldSource, type FieldTypeWord, type ForbiddenEnvelopeWord, type FormSummary, type Freshness, type HiddenFieldNotice, type HistoryActor, type HistoryActorKind, type HistoryChange, type Home, type ImportBatchResult, type ImportColumnPlan, type ImportFinished, type ImportOpened, type ImportOutcome, type ImportPlan, type ImportPolicy, type ImportProposal, type ImportReport, type ImportRun, type InboundAddress, type InboundDeclared, KERNEL_TABLES, type KernelTableName, MERGE_FIELD_MODIFIERS, MERGE_FIELD_SEMANTIC_TYPES, MERGE_FIELD_SOURCES, type MergeField, type MergeFieldModifier, type MergeFieldProvenance, type MergeFieldResolution, type MergeFieldSemanticType, type MergeFieldSource, type MergeFieldTransform, type MissingBehavior, type MyLevel, type MySubscription, type NewEntityFieldDeclaration, type NewFieldDeclaration, ON_DELETE, OVERRIDE_POLICIES, type OnDelete, type OverridePolicy, PARITY_FIELD_TYPES, PERMISSION_LEVELS, PER_VALUE_ACCESS_WORDS, PIPELINE_RULE_KINDS, type ParityFieldType, type ParityFieldTypeDescriptor, type PerValueAccessWord, type PermissionLevel, type PgError, type Pipeline, type PipelineColumn, type PipelineDeclared, type PipelineGate, type PipelineGatePreview, type PipelineMissingField, type PipelineMoveResult, type PipelineRule, type PipelineRuleKind, type PipelineSpec, type PipelineStage, type PipelineVerdict, type PortalCard, type PortalInvitation, type PortalPreviewRow, type PortalPrincipal, type PortalRevocation, type PortalSummary, type PortalTableExposure, type PredictedRefusal, type ProvenancePointer, type PublishBinding, type QueuedCapture, type QueuedCaptureFile, type QueuedCaptureState, type QuietHours, REFUSALS_WORTH_REPEATING, RELATION_BINDINGS, RELATION_CARDINALITIES, RELATION_FLAVORS, RETIRED_ACTOR_WORDS, RULE_NODE_KINDS, RULE_USES, type ReadRow, type ReadValue, type RecordComment, type RecordDocument, type RecordHistoryEntry, type RecordRead, type RecordRevision, type RecordScopeComment, type RecordScopeContext, type RecordScopeField, type RecordScopeHistoryEntry, type RecordScopeRelation, type RecordScopeWithheld, type RecordsActor, type RecordsConfig, type RecordsDataSource, type RecordsError, type RecordsErrorCode, type RecordsErrorSink, type RecordsFilter, RecordsProvider, type RecordsProviderProps, type RecordsRealtimePort, type RecordsResolverPort, type RecordsResponse, type RecordsResult, type RecordsTableQuery, type RegisteredTable, type Relation, type RelationBinding, type RelationCardinality, type RelationCarries, type RelationCoordinate, type RelationFlavor, type RelationProperties, type RelationTarget, type ResolutionTriple, type ResolvedPublishBinding, type RestorePreview, type RestoreResult, type RetiredActorWord, type Rule, type RuleAnswer, type RuleExpression, type RuleNodeKind, type RuleUse, STAGE_RULE_ENFORCEMENT, STAGE_RULE_ON_FAIL, STORAGE_MODES, STORE_DOORS, STORE_KNOBS, STORE_REFUSAL_CODES, type SavedViewRow, type SavedViewSpecIn, type StagePending, type StagePendingOnBoard, type StageRuleEnforcement, type StageRuleOnFail, type StageRuleWarning, type StaleWriteDetail, type StorageMode, type StoreDoorName, type StoreRefusalCode, type StoredRecord, type StuckRow, type Subscription, type SubscriptionBlock, type SubscriptionCadence, type SubscriptionSpec, TABLE_DISPLAYS, TABLE_ORIGINS, TABLE_TYPES, type Table, type TableCapacity, type TableDisplay, type TableOrigin, type TableProposal, type TableType, type Timestamp, type UseEntityFieldMutation, type UseFieldMutation, type UseRecordMutation, type UseRecordsOptions, type UseRecordsState, type Uuid, VALUE_ALTERNATE_KEYS, VALUE_ENVELOPE_KEYS, type ValueAlternate, type ValueAlternateKey, type ValueEnvelope, type ValueEnvelopeKey, type ValueSource, type WorkApprovalDecision, type WorkApprovalFiled, type WorkApprover, type WorkAssignment, type WorkAssignmentField, type WorkChange, type WorkDueState, type WorkGraph, type WorkInboxItem, type WorkInboxKind, type WorkInstantiation, type WorkListFlavour, type WorkListItem, type WorkOrigin, type WorkRecordState, type WorkSlotHold, type WorkState, type WorkTemplateNode, type WorkTemplateRelation, type WorkTurn, type WriteConflict, asPermissionLevel, atLeast, bookingPath, choiceSlug, choiceValuesOf, choicesOf, err, highestLevel, holdsARetiredChoice, indexedDbStore, isDecided, isRecordsErr, isTheChosen, looksLikeAnId, mayDrag, measureKey, memoryStore, mintClientKey, ok, openCaptureQueue, optionKey, optionLabel, portalPath, publicFormPath, scopeChip, useEntityFieldMutation, useEntityFieldRights, useEntityFields, useEntityRecord, useEntityTable, useFieldMutation, useFields, useMergeField, useMyLevel, useMyLevels, useOptionalRecordsClient, useRecord, useRecordMutation, useRecords, useRecordsActor, useRecordsClient, useTable, useTables };
|
package/dist/react/index.d.ts
CHANGED
|
@@ -4494,6 +4494,56 @@ interface BookingSummary {
|
|
|
4494
4494
|
/** draft · open · closed — the store's own word, never derived on a screen. */
|
|
4495
4495
|
state: string;
|
|
4496
4496
|
}
|
|
4497
|
+
/**
|
|
4498
|
+
* ONE WINDOW OF AN ORGANIZATION'S WEEK, in the shape `custom._booking_availability`
|
|
4499
|
+
* normalises to and `custom._booking_slots` generates from. `weekday` is 0 for Sunday
|
|
4500
|
+
* and 6 for Saturday — the database's own numbering, so a picker and the store cannot
|
|
4501
|
+
* disagree about which day Monday is. A window may name ONE member, which is the "with
|
|
4502
|
+
* whom" of an appointment; naming somebody who is not a member is refused BY NAME.
|
|
4503
|
+
*/
|
|
4504
|
+
interface BookingWindow {
|
|
4505
|
+
weekday: number;
|
|
4506
|
+
/** "09:00" */
|
|
4507
|
+
from: string;
|
|
4508
|
+
/** "17:00" — later in the day than `from`, or the store refuses it by name. */
|
|
4509
|
+
to: string;
|
|
4510
|
+
member_user_id?: string | null;
|
|
4511
|
+
}
|
|
4512
|
+
/**
|
|
4513
|
+
* WHAT IS ON OFFER. Every field is the store's to default: a page declared with an
|
|
4514
|
+
* empty availability comes back with the organization's timezone, a 30-minute slot and
|
|
4515
|
+
* Monday-to-Friday nine-to-five, because a booking page that offered nothing would look
|
|
4516
|
+
* broken rather than unconfigured. A screen shows what came BACK, never what it sent.
|
|
4517
|
+
*/
|
|
4518
|
+
interface BookingAvailability {
|
|
4519
|
+
timezone: string;
|
|
4520
|
+
slot_minutes: number;
|
|
4521
|
+
/** Dead time kept after each appointment, so two never touch. */
|
|
4522
|
+
buffer_minutes: number;
|
|
4523
|
+
/** How far ahead of now the earliest bookable slot is. */
|
|
4524
|
+
lead_minutes: number;
|
|
4525
|
+
/** Most appointments in one day, across every window. */
|
|
4526
|
+
max_per_day: number;
|
|
4527
|
+
/** How many days ahead the page offers. */
|
|
4528
|
+
days: number;
|
|
4529
|
+
windows: BookingWindow[];
|
|
4530
|
+
}
|
|
4531
|
+
/**
|
|
4532
|
+
* WHAT `custom.booking_declare` ANSWERS. `availability` is the NORMALISED offer —
|
|
4533
|
+
* show that, not the draft — and `questions_filled_in` is how many questions the store
|
|
4534
|
+
* took over (`slot`, `status`, `booked_with`), which a visitor is never asked.
|
|
4535
|
+
*
|
|
4536
|
+
* It does NOT publish. `anonPublish` is still the one act that opens the link, exactly
|
|
4537
|
+
* as it is for a form, so there is one act and one word for opening a public surface.
|
|
4538
|
+
*/
|
|
4539
|
+
interface BookingDeclared {
|
|
4540
|
+
form_id: string;
|
|
4541
|
+
slot_table_id: string;
|
|
4542
|
+
availability: BookingAvailability;
|
|
4543
|
+
questions_asked: number;
|
|
4544
|
+
questions_filled_in: number;
|
|
4545
|
+
ms: number;
|
|
4546
|
+
}
|
|
4497
4547
|
/**
|
|
4498
4548
|
* THE VISITOR'S OWN LINK to a booking page. The page id IS the capability, exactly
|
|
4499
4549
|
* as it is for a form; `custom.anon_submission.booking_ref` is the separate secret
|
|
@@ -5665,6 +5715,28 @@ interface DigestPreview {
|
|
|
5665
5715
|
*/
|
|
5666
5716
|
incomplete: string | null;
|
|
5667
5717
|
}
|
|
5718
|
+
/**
|
|
5719
|
+
* ONE SAVED VIEW — `custom.views`. A subscription is written OVER one of these, so
|
|
5720
|
+
* a person with no saved view has nothing to be told about; `viewDeclare` is how a
|
|
5721
|
+
* screen gives them one without leaving the screen they are on.
|
|
5722
|
+
*
|
|
5723
|
+
* `filters` is written in the ONE shape `custom.agg_view_admits` reads, so a view
|
|
5724
|
+
* saved here needs no translation before the notifier can admit records to it.
|
|
5725
|
+
*/
|
|
5726
|
+
interface SavedViewRow {
|
|
5727
|
+
view_id: Uuid;
|
|
5728
|
+
name: string;
|
|
5729
|
+
table_id: Uuid | null;
|
|
5730
|
+
filters: Record<string, unknown>;
|
|
5731
|
+
created_at: string;
|
|
5732
|
+
}
|
|
5733
|
+
/** What `custom.view_declare` is asked for. `view_id` re-states rather than doubling. */
|
|
5734
|
+
interface SavedViewSpecIn {
|
|
5735
|
+
name: string;
|
|
5736
|
+
filters?: Record<string, unknown> | null;
|
|
5737
|
+
definition?: Record<string, unknown> | null;
|
|
5738
|
+
view_id?: Uuid | null;
|
|
5739
|
+
}
|
|
5668
5740
|
/** What `custom.subscription_declare` is asked for. The store refuses the rest BY NAME. */
|
|
5669
5741
|
interface SubscriptionSpec {
|
|
5670
5742
|
name: string;
|
|
@@ -6852,6 +6924,34 @@ interface RecordsClient {
|
|
|
6852
6924
|
bookings(args?: {
|
|
6853
6925
|
table_id?: Uuid | null;
|
|
6854
6926
|
}): Promise<RecordsResult<BookingSummary[]>>;
|
|
6927
|
+
/**
|
|
6928
|
+
* CREATE OR RE-STATE ONE BOOKING PAGE over one Table. `admin` on the Table,
|
|
6929
|
+
* because a booking page decides what a stranger may write into it and which
|
|
6930
|
+
* hours of the organization's week are on offer.
|
|
6931
|
+
*
|
|
6932
|
+
* `slot`, `status` and `booked_with` are the store's to fill in: a question
|
|
6933
|
+
* naming any of the three is refused BY NAME, so a page cannot be built that
|
|
6934
|
+
* lets a visitor choose their own status. It does NOT publish — `anonPublish`
|
|
6935
|
+
* is the one act that opens a public surface, for a booking page exactly as
|
|
6936
|
+
* for a form.
|
|
6937
|
+
*
|
|
6938
|
+
* Until 2026-09-21 this door had no client method, so the ONLY way to a
|
|
6939
|
+
* booking page was to ask an agent for one. The agent path is the faster one,
|
|
6940
|
+
* never the only one.
|
|
6941
|
+
*/
|
|
6942
|
+
bookingDeclare(args: {
|
|
6943
|
+
table_id: Uuid;
|
|
6944
|
+
title: string;
|
|
6945
|
+
questions: unknown[];
|
|
6946
|
+
availability?: Partial<BookingAvailability> | null;
|
|
6947
|
+
presentation?: Record<string, unknown> | null;
|
|
6948
|
+
submission_cap?: number | null;
|
|
6949
|
+
quarantine_rule_id?: Uuid | null;
|
|
6950
|
+
notify_rule_id?: Uuid | null;
|
|
6951
|
+
form_id?: Uuid | null;
|
|
6952
|
+
slug?: string | null;
|
|
6953
|
+
home_id?: Uuid | null;
|
|
6954
|
+
}): Promise<RecordsResult<BookingDeclared>>;
|
|
6855
6955
|
/** Create or re-state one form. A question naming no Field of that Table is refused BY NAME. */
|
|
6856
6956
|
formDeclare(args: {
|
|
6857
6957
|
table_id: Uuid;
|
|
@@ -7223,6 +7323,23 @@ interface RecordsClient {
|
|
|
7223
7323
|
subscriptionPreview(args: {
|
|
7224
7324
|
rule_id: Uuid;
|
|
7225
7325
|
}): Promise<RecordsResult<DigestPreview>>;
|
|
7326
|
+
/**
|
|
7327
|
+
* THE SAVED VIEWS OF A TABLE — what a subscription may be written over. Narrowed
|
|
7328
|
+
* in SQL as the definer to Tables this caller can already open, so the list can
|
|
7329
|
+
* never reveal a Table.
|
|
7330
|
+
*/
|
|
7331
|
+
views(args?: {
|
|
7332
|
+
table_id?: Uuid | null;
|
|
7333
|
+
}): Promise<RecordsResult<SavedViewRow[]>>;
|
|
7334
|
+
/**
|
|
7335
|
+
* SAVE ONE VIEW. VIEWER on the Table, not editor: writing down a question about a
|
|
7336
|
+
* Table is not changing it, and requiring editor would mean the people who read a
|
|
7337
|
+
* Table could not subscribe to anything in it.
|
|
7338
|
+
*/
|
|
7339
|
+
viewDeclare(args: {
|
|
7340
|
+
table_id: Uuid;
|
|
7341
|
+
spec: SavedViewSpecIn;
|
|
7342
|
+
}): Promise<RecordsResult<Uuid>>;
|
|
7226
7343
|
docTemplateSave(args: {
|
|
7227
7344
|
table_id: Uuid;
|
|
7228
7345
|
name: string;
|
|
@@ -7950,4 +8067,4 @@ declare function useFieldMutation(): UseFieldMutation;
|
|
|
7950
8067
|
*/
|
|
7951
8068
|
declare function useMergeField(key: string | null, state?: Record<string, unknown>): MergeFieldResolution | null;
|
|
7952
8069
|
|
|
7953
|
-
export { ABSENCE_REASONS, ACTOR_VOCABULARY, type AbsenceReason, type Actor, type AggregateBucket, type AggregateFilter, type AggregateMeasure, type AggregateOperation, type AggregateRow, type AggregateWindow, type AnonTokenBinding, type BookingSummary, COMPUTE_ON, CONTEXT_POLICIES, type CaptureField, type CaptureFileRef, type CaptureOutcome, type CaptureQuestion, type CaptureQueue, type CaptureQueueCounts, type CaptureQueueOptions, type CaptureQueuePorts, type CaptureQueueStore, type CaptureSheetFace, type CaptureSheetSummary, type CaptureSyncReport, type ChecklistDeclared, type ChecklistRequirement, type ChecklistRequirementKind, type ChecklistRoleSpec, type ChecklistRunStarted, type ChecklistRunStep, type ChecklistRunSummary, type ChecklistSpec, type ChecklistStepCompleted, type ChecklistStepSpec, type ChecklistTemplateShape, type ChecklistTemplateSummary, type ChecklistTrigger, type ChecklistTriggerKind, type ChoiceOption, type CommentThreadRead, type CommentWritten, type ComputeOn, type ContextPolicy, type ConversationScope, type ConversationScopeContext, type CustomFieldTableType, DELIVERIES, type DashboardBlock, type DashboardBlockKind, type DashboardBlockResult, type DashboardRunResult, type DashboardSummary, type Delivery, type DigestPreview, type DocRenderRow, type DocSignatureCheck, type DocSignatureRow, type DocTemplateRow, type DocToken, type DocUnresolvedToken, ENTITY_TOKENS, type EnrichAlternate, type EnrichCell, type EnrichDeclared, type EnrichDueRow, type EnrichRun, type EnrichSource, type Enrichment, type EnrichmentSummary, type EntityFieldRights, type EntityFieldValue, type EntityRecordMatch, type EntityRecordRead, type EntityRecordsFound, type EntityTableFacts, type EntityToken, type ExternalPrincipalCard, FIELD_SENSITIVITIES, FIELD_SOURCES, FRESHNESS, type Field, type FieldBehavior, type FieldHistoryEntry, type FieldPatch, type FieldProposal, type FieldRule, type FieldSensitivity, type FieldSource, type FieldTypeWord, type ForbiddenEnvelopeWord, type FormSummary, type Freshness, type HiddenFieldNotice, type HistoryActor, type HistoryActorKind, type HistoryChange, type Home, type ImportBatchResult, type ImportColumnPlan, type ImportFinished, type ImportOpened, type ImportOutcome, type ImportPlan, type ImportPolicy, type ImportProposal, type ImportReport, type ImportRun, type InboundAddress, type InboundDeclared, KERNEL_TABLES, type KernelTableName, MERGE_FIELD_MODIFIERS, MERGE_FIELD_SEMANTIC_TYPES, MERGE_FIELD_SOURCES, type MergeField, type MergeFieldModifier, type MergeFieldProvenance, type MergeFieldResolution, type MergeFieldSemanticType, type MergeFieldSource, type MergeFieldTransform, type MissingBehavior, type MyLevel, type MySubscription, type NewEntityFieldDeclaration, type NewFieldDeclaration, ON_DELETE, OVERRIDE_POLICIES, type OnDelete, type OverridePolicy, PARITY_FIELD_TYPES, PERMISSION_LEVELS, PER_VALUE_ACCESS_WORDS, PIPELINE_RULE_KINDS, type ParityFieldType, type ParityFieldTypeDescriptor, type PerValueAccessWord, type PermissionLevel, type PgError, type Pipeline, type PipelineColumn, type PipelineDeclared, type PipelineGate, type PipelineGatePreview, type PipelineMissingField, type PipelineMoveResult, type PipelineRule, type PipelineRuleKind, type PipelineSpec, type PipelineStage, type PipelineVerdict, type PortalCard, type PortalInvitation, type PortalPreviewRow, type PortalPrincipal, type PortalRevocation, type PortalSummary, type PortalTableExposure, type PredictedRefusal, type ProvenancePointer, type PublishBinding, type QueuedCapture, type QueuedCaptureFile, type QueuedCaptureState, type QuietHours, REFUSALS_WORTH_REPEATING, RELATION_BINDINGS, RELATION_CARDINALITIES, RELATION_FLAVORS, RETIRED_ACTOR_WORDS, RULE_NODE_KINDS, RULE_USES, type ReadRow, type ReadValue, type RecordComment, type RecordDocument, type RecordHistoryEntry, type RecordRead, type RecordRevision, type RecordScopeComment, type RecordScopeContext, type RecordScopeField, type RecordScopeHistoryEntry, type RecordScopeRelation, type RecordScopeWithheld, type RecordsActor, type RecordsConfig, type RecordsDataSource, type RecordsError, type RecordsErrorCode, type RecordsErrorSink, type RecordsFilter, RecordsProvider, type RecordsProviderProps, type RecordsRealtimePort, type RecordsResolverPort, type RecordsResponse, type RecordsResult, type RecordsTableQuery, type RegisteredTable, type Relation, type RelationBinding, type RelationCardinality, type RelationCarries, type RelationCoordinate, type RelationFlavor, type RelationProperties, type RelationTarget, type ResolutionTriple, type ResolvedPublishBinding, type RestorePreview, type RestoreResult, type RetiredActorWord, type Rule, type RuleAnswer, type RuleExpression, type RuleNodeKind, type RuleUse, STAGE_RULE_ENFORCEMENT, STAGE_RULE_ON_FAIL, STORAGE_MODES, STORE_DOORS, STORE_KNOBS, STORE_REFUSAL_CODES, type StagePending, type StagePendingOnBoard, type StageRuleEnforcement, type StageRuleOnFail, type StageRuleWarning, type StaleWriteDetail, type StorageMode, type StoreDoorName, type StoreRefusalCode, type StoredRecord, type StuckRow, type Subscription, type SubscriptionBlock, type SubscriptionCadence, type SubscriptionSpec, TABLE_DISPLAYS, TABLE_ORIGINS, TABLE_TYPES, type Table, type TableCapacity, type TableDisplay, type TableOrigin, type TableProposal, type TableType, type Timestamp, type UseEntityFieldMutation, type UseFieldMutation, type UseRecordMutation, type UseRecordsOptions, type UseRecordsState, type Uuid, VALUE_ALTERNATE_KEYS, VALUE_ENVELOPE_KEYS, type ValueAlternate, type ValueAlternateKey, type ValueEnvelope, type ValueEnvelopeKey, type ValueSource, type WorkApprovalDecision, type WorkApprovalFiled, type WorkApprover, type WorkAssignment, type WorkAssignmentField, type WorkChange, type WorkDueState, type WorkGraph, type WorkInboxItem, type WorkInboxKind, type WorkInstantiation, type WorkListFlavour, type WorkListItem, type WorkOrigin, type WorkRecordState, type WorkSlotHold, type WorkState, type WorkTemplateNode, type WorkTemplateRelation, type WorkTurn, type WriteConflict, asPermissionLevel, atLeast, bookingPath, choiceSlug, choiceValuesOf, choicesOf, err, highestLevel, holdsARetiredChoice, indexedDbStore, isDecided, isRecordsErr, isTheChosen, looksLikeAnId, mayDrag, measureKey, memoryStore, mintClientKey, ok, openCaptureQueue, optionKey, optionLabel, portalPath, publicFormPath, scopeChip, useEntityFieldMutation, useEntityFieldRights, useEntityFields, useEntityRecord, useEntityTable, useFieldMutation, useFields, useMergeField, useMyLevel, useMyLevels, useOptionalRecordsClient, useRecord, useRecordMutation, useRecords, useRecordsActor, useRecordsClient, useTable, useTables };
|
|
8070
|
+
export { ABSENCE_REASONS, ACTOR_VOCABULARY, type AbsenceReason, type Actor, type AggregateBucket, type AggregateFilter, type AggregateMeasure, type AggregateOperation, type AggregateRow, type AggregateWindow, type AnonTokenBinding, type BookingAvailability, type BookingDeclared, type BookingSummary, type BookingWindow, COMPUTE_ON, CONTEXT_POLICIES, type CaptureField, type CaptureFileRef, type CaptureOutcome, type CaptureQuestion, type CaptureQueue, type CaptureQueueCounts, type CaptureQueueOptions, type CaptureQueuePorts, type CaptureQueueStore, type CaptureSheetFace, type CaptureSheetSummary, type CaptureSyncReport, type ChecklistDeclared, type ChecklistRequirement, type ChecklistRequirementKind, type ChecklistRoleSpec, type ChecklistRunStarted, type ChecklistRunStep, type ChecklistRunSummary, type ChecklistSpec, type ChecklistStepCompleted, type ChecklistStepSpec, type ChecklistTemplateShape, type ChecklistTemplateSummary, type ChecklistTrigger, type ChecklistTriggerKind, type ChoiceOption, type CommentThreadRead, type CommentWritten, type ComputeOn, type ContextPolicy, type ConversationScope, type ConversationScopeContext, type CustomFieldTableType, DELIVERIES, type DashboardBlock, type DashboardBlockKind, type DashboardBlockResult, type DashboardRunResult, type DashboardSummary, type Delivery, type DigestPreview, type DocRenderRow, type DocSignatureCheck, type DocSignatureRow, type DocTemplateRow, type DocToken, type DocUnresolvedToken, ENTITY_TOKENS, type EnrichAlternate, type EnrichCell, type EnrichDeclared, type EnrichDueRow, type EnrichRun, type EnrichSource, type Enrichment, type EnrichmentSummary, type EntityFieldRights, type EntityFieldValue, type EntityRecordMatch, type EntityRecordRead, type EntityRecordsFound, type EntityTableFacts, type EntityToken, type ExternalPrincipalCard, FIELD_SENSITIVITIES, FIELD_SOURCES, FRESHNESS, type Field, type FieldBehavior, type FieldHistoryEntry, type FieldPatch, type FieldProposal, type FieldRule, type FieldSensitivity, type FieldSource, type FieldTypeWord, type ForbiddenEnvelopeWord, type FormSummary, type Freshness, type HiddenFieldNotice, type HistoryActor, type HistoryActorKind, type HistoryChange, type Home, type ImportBatchResult, type ImportColumnPlan, type ImportFinished, type ImportOpened, type ImportOutcome, type ImportPlan, type ImportPolicy, type ImportProposal, type ImportReport, type ImportRun, type InboundAddress, type InboundDeclared, KERNEL_TABLES, type KernelTableName, MERGE_FIELD_MODIFIERS, MERGE_FIELD_SEMANTIC_TYPES, MERGE_FIELD_SOURCES, type MergeField, type MergeFieldModifier, type MergeFieldProvenance, type MergeFieldResolution, type MergeFieldSemanticType, type MergeFieldSource, type MergeFieldTransform, type MissingBehavior, type MyLevel, type MySubscription, type NewEntityFieldDeclaration, type NewFieldDeclaration, ON_DELETE, OVERRIDE_POLICIES, type OnDelete, type OverridePolicy, PARITY_FIELD_TYPES, PERMISSION_LEVELS, PER_VALUE_ACCESS_WORDS, PIPELINE_RULE_KINDS, type ParityFieldType, type ParityFieldTypeDescriptor, type PerValueAccessWord, type PermissionLevel, type PgError, type Pipeline, type PipelineColumn, type PipelineDeclared, type PipelineGate, type PipelineGatePreview, type PipelineMissingField, type PipelineMoveResult, type PipelineRule, type PipelineRuleKind, type PipelineSpec, type PipelineStage, type PipelineVerdict, type PortalCard, type PortalInvitation, type PortalPreviewRow, type PortalPrincipal, type PortalRevocation, type PortalSummary, type PortalTableExposure, type PredictedRefusal, type ProvenancePointer, type PublishBinding, type QueuedCapture, type QueuedCaptureFile, type QueuedCaptureState, type QuietHours, REFUSALS_WORTH_REPEATING, RELATION_BINDINGS, RELATION_CARDINALITIES, RELATION_FLAVORS, RETIRED_ACTOR_WORDS, RULE_NODE_KINDS, RULE_USES, type ReadRow, type ReadValue, type RecordComment, type RecordDocument, type RecordHistoryEntry, type RecordRead, type RecordRevision, type RecordScopeComment, type RecordScopeContext, type RecordScopeField, type RecordScopeHistoryEntry, type RecordScopeRelation, type RecordScopeWithheld, type RecordsActor, type RecordsConfig, type RecordsDataSource, type RecordsError, type RecordsErrorCode, type RecordsErrorSink, type RecordsFilter, RecordsProvider, type RecordsProviderProps, type RecordsRealtimePort, type RecordsResolverPort, type RecordsResponse, type RecordsResult, type RecordsTableQuery, type RegisteredTable, type Relation, type RelationBinding, type RelationCardinality, type RelationCarries, type RelationCoordinate, type RelationFlavor, type RelationProperties, type RelationTarget, type ResolutionTriple, type ResolvedPublishBinding, type RestorePreview, type RestoreResult, type RetiredActorWord, type Rule, type RuleAnswer, type RuleExpression, type RuleNodeKind, type RuleUse, STAGE_RULE_ENFORCEMENT, STAGE_RULE_ON_FAIL, STORAGE_MODES, STORE_DOORS, STORE_KNOBS, STORE_REFUSAL_CODES, type SavedViewRow, type SavedViewSpecIn, type StagePending, type StagePendingOnBoard, type StageRuleEnforcement, type StageRuleOnFail, type StageRuleWarning, type StaleWriteDetail, type StorageMode, type StoreDoorName, type StoreRefusalCode, type StoredRecord, type StuckRow, type Subscription, type SubscriptionBlock, type SubscriptionCadence, type SubscriptionSpec, TABLE_DISPLAYS, TABLE_ORIGINS, TABLE_TYPES, type Table, type TableCapacity, type TableDisplay, type TableOrigin, type TableProposal, type TableType, type Timestamp, type UseEntityFieldMutation, type UseFieldMutation, type UseRecordMutation, type UseRecordsOptions, type UseRecordsState, type Uuid, VALUE_ALTERNATE_KEYS, VALUE_ENVELOPE_KEYS, type ValueAlternate, type ValueAlternateKey, type ValueEnvelope, type ValueEnvelopeKey, type ValueSource, type WorkApprovalDecision, type WorkApprovalFiled, type WorkApprover, type WorkAssignment, type WorkAssignmentField, type WorkChange, type WorkDueState, type WorkGraph, type WorkInboxItem, type WorkInboxKind, type WorkInstantiation, type WorkListFlavour, type WorkListItem, type WorkOrigin, type WorkRecordState, type WorkSlotHold, type WorkState, type WorkTemplateNode, type WorkTemplateRelation, type WorkTurn, type WriteConflict, asPermissionLevel, atLeast, bookingPath, choiceSlug, choiceValuesOf, choicesOf, err, highestLevel, holdsARetiredChoice, indexedDbStore, isDecided, isRecordsErr, isTheChosen, looksLikeAnId, mayDrag, measureKey, memoryStore, mintClientKey, ok, openCaptureQueue, optionKey, optionLabel, portalPath, publicFormPath, scopeChip, useEntityFieldMutation, useEntityFieldRights, useEntityFields, useEntityRecord, useEntityTable, useFieldMutation, useFields, useMergeField, useMyLevel, useMyLevels, useOptionalRecordsClient, useRecord, useRecordMutation, useRecords, useRecordsActor, useRecordsClient, useTable, useTables };
|
package/dist/react/index.js
CHANGED
|
@@ -1907,6 +1907,10 @@ var DOORS = {
|
|
|
1907
1907
|
// VISITOR's three (`booking_public`, `booking_hold`, `booking_confirm`) are
|
|
1908
1908
|
// deliberately absent: they are server-lane and a browser never calls them.
|
|
1909
1909
|
bookings: "bookings",
|
|
1910
|
+
// The OWNER's side of a booking page, and the door that had no client method at
|
|
1911
|
+
// all until 2026-09-21: without it the only way to get a booking page was to ask
|
|
1912
|
+
// an agent, which made the agent the ONLY path rather than the faster one.
|
|
1913
|
+
bookingDeclare: "booking_declare",
|
|
1910
1914
|
// PRODUCTS row 9 — "pull my spreadsheet in". W4-IO built `io_import_open` and
|
|
1911
1915
|
// `io_import_rows`; lane IMPORT gave a run an IDENTITY (the file's sha-256, so
|
|
1912
1916
|
// a re-import doubles nothing), a duplicate key, a policy, per-row outcomes
|
|
@@ -2039,6 +2043,13 @@ var DOORS = {
|
|
|
2039
2043
|
// the summary it would send right now without sending it.
|
|
2040
2044
|
subscriptionDeclare: "subscription_declare",
|
|
2041
2045
|
subscriptionPreview: "subscription_preview",
|
|
2046
|
+
// A SUBSCRIPTION IS OVER A SAVED VIEW, so a person who has never saved one has
|
|
2047
|
+
// nothing to subscribe to. These two are the saved-view pair (lane DIGESTS'
|
|
2048
|
+
// `digests_a_saved_view_has_a_door.sql`), unreachable from this client until
|
|
2049
|
+
// 2026-09-21: `views` lists this Table's, `viewDeclare` writes one. A LIST IS A
|
|
2050
|
+
// DOOR, never a grant on `platform.saved_view` behind it.
|
|
2051
|
+
views: "views",
|
|
2052
|
+
viewDeclare: "view_declare",
|
|
2042
2053
|
// The cadence CATALOGUE a person's screen may ask for. `agg_subscription_cadences`
|
|
2043
2054
|
// above is the notifier's own and holds no client grant; this door delegates to
|
|
2044
2055
|
// it, so a picker and the digest runner can never offer different words.
|
|
@@ -2805,6 +2816,30 @@ function createRecordsClient(config) {
|
|
|
2805
2816
|
"bookings"
|
|
2806
2817
|
);
|
|
2807
2818
|
},
|
|
2819
|
+
async bookingDeclare(args) {
|
|
2820
|
+
return callDoor(
|
|
2821
|
+
DOORS.bookingDeclare,
|
|
2822
|
+
{
|
|
2823
|
+
p_organization_id: org,
|
|
2824
|
+
p_table_id: args.table_id,
|
|
2825
|
+
p_title: args.title,
|
|
2826
|
+
p_questions: args.questions,
|
|
2827
|
+
// AN EMPTY OBJECT IS NOT A MISTAKE. The store owns every default, so a
|
|
2828
|
+
// page declared with no availability comes back Monday-to-Friday,
|
|
2829
|
+
// nine-to-five, in the organization's own zone — and the screen draws
|
|
2830
|
+
// what came BACK rather than what it sent.
|
|
2831
|
+
p_availability: args.availability ?? {},
|
|
2832
|
+
p_presentation: args.presentation ?? {},
|
|
2833
|
+
p_submission_cap: args.submission_cap ?? null,
|
|
2834
|
+
p_quarantine_rule_id: args.quarantine_rule_id ?? null,
|
|
2835
|
+
p_notify_rule_id: args.notify_rule_id ?? null,
|
|
2836
|
+
p_form_id: args.form_id ?? null,
|
|
2837
|
+
p_slug: args.slug ?? null,
|
|
2838
|
+
p_home_id: args.home_id ?? null
|
|
2839
|
+
},
|
|
2840
|
+
"bookingDeclare"
|
|
2841
|
+
);
|
|
2842
|
+
},
|
|
2808
2843
|
async formDeclare(args) {
|
|
2809
2844
|
return callDoor(
|
|
2810
2845
|
DOORS.formDeclare,
|
|
@@ -3229,6 +3264,20 @@ function createRecordsClient(config) {
|
|
|
3229
3264
|
"subscriptionPreview"
|
|
3230
3265
|
);
|
|
3231
3266
|
},
|
|
3267
|
+
async views(args) {
|
|
3268
|
+
return callDoor(
|
|
3269
|
+
DOORS.views,
|
|
3270
|
+
{ p_organization_id: org, p_table_id: args?.table_id ?? null },
|
|
3271
|
+
"views"
|
|
3272
|
+
);
|
|
3273
|
+
},
|
|
3274
|
+
async viewDeclare({ table_id, spec }) {
|
|
3275
|
+
return callDoor(
|
|
3276
|
+
DOORS.viewDeclare,
|
|
3277
|
+
{ p_organization_id: org, p_table_id: table_id, p_spec: spec },
|
|
3278
|
+
"viewDeclare"
|
|
3279
|
+
);
|
|
3280
|
+
},
|
|
3232
3281
|
async subscriptionMute({ rule_id, muted }) {
|
|
3233
3282
|
return callDoor(
|
|
3234
3283
|
DOORS.subscriptionMute,
|