@ai-matrx/records 0.41.0 → 0.43.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 +41 -0
- package/dist/core/index.cjs +75 -7
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +19 -3
- package/dist/core/index.d.ts +19 -3
- package/dist/core/index.js +75 -7
- package/dist/core/index.js.map +1 -1
- package/dist/{field-CVn0-HKo.d.cts → field-CdHqvIIy.d.cts} +30 -4
- package/dist/{field-CVn0-HKo.d.ts → field-CdHqvIIy.d.ts} +30 -4
- package/dist/index.cjs +49 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +85 -7
- package/dist/index.d.ts +85 -7
- package/dist/index.js +49 -4
- package/dist/index.js.map +1 -1
- package/dist/react/index.cjs +118 -11
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +135 -9
- package/dist/react/index.d.ts +135 -9
- package/dist/react/index.js +118 -11
- package/dist/react/index.js.map +1 -1
- package/dist/use-cases/index.cjs.map +1 -1
- package/dist/use-cases/index.d.cts +1 -1
- package/dist/use-cases/index.d.ts +1 -1
- package/dist/use-cases/index.js.map +1 -1
- package/package.json +1 -1
package/dist/react/index.d.cts
CHANGED
|
@@ -2078,6 +2078,11 @@ declare const STORE_DOORS: readonly [{
|
|
|
2078
2078
|
readonly args: "p_organization_id uuid, p_table_id uuid, p_by_id boolean DEFAULT false, p_limit integer DEFAULT 200, p_offset integer DEFAULT 0";
|
|
2079
2079
|
readonly returns: "TABLE(id uuid, document jsonb, level permission_level)";
|
|
2080
2080
|
readonly security: "definer";
|
|
2081
|
+
}, {
|
|
2082
|
+
readonly name: "read_records_by_ids";
|
|
2083
|
+
readonly args: "p_organization_id uuid, p_table_id uuid, p_record_ids uuid[], p_by_id boolean DEFAULT false";
|
|
2084
|
+
readonly returns: "TABLE(id uuid, document jsonb, level permission_level)";
|
|
2085
|
+
readonly security: "definer";
|
|
2081
2086
|
}, {
|
|
2082
2087
|
readonly name: "realtime_topic_admits";
|
|
2083
2088
|
readonly args: "p_topic text";
|
|
@@ -2198,6 +2203,11 @@ declare const STORE_DOORS: readonly [{
|
|
|
2198
2203
|
readonly args: "p_organization_id uuid, p_record_id uuid";
|
|
2199
2204
|
readonly returns: "TABLE(field_key text, field_id uuid, value jsonb, value_version integer, source jsonb, absent_reason text, actor text, on_behalf_of text, written_at timestamp with time zone, alternates jsonb)";
|
|
2200
2205
|
readonly security: "definer";
|
|
2206
|
+
}, {
|
|
2207
|
+
readonly name: "record_words";
|
|
2208
|
+
readonly args: "p_organization_id uuid, p_record_id uuid, p_noun text DEFAULT NULL::text";
|
|
2209
|
+
readonly returns: "text";
|
|
2210
|
+
readonly security: "definer";
|
|
2201
2211
|
}, {
|
|
2202
2212
|
readonly name: "record_write";
|
|
2203
2213
|
readonly args: "p_organization_id uuid, p_table_id uuid, p_data jsonb";
|
|
@@ -3141,7 +3151,7 @@ declare const STORE_KNOBS: readonly [{
|
|
|
3141
3151
|
*/
|
|
3142
3152
|
declare const STORE_REFUSAL_CODES: readonly [{
|
|
3143
3153
|
readonly code: "02000";
|
|
3144
|
-
readonly raised_by: "_checklist_instantiate,checklist_declare,checklist_run,checklist_step_complete,checklist_step_refusal,checklist_template_shape,conversation_scope_bind,dashboard_delete,dashboard_run,doc_letterhead,doc_render_body,doc_render_document,doc_render_read,doc_sign,doc_signature_intact,doc_signature_read,doc_template_delete,doc_template_read,doc_template_save,enrich_pin,entity_field_retire,entity_field_update,entity_record_read,entity_value_write,external_history_event,external_rows,external_stub_upsert,external_writes_set,io_restore,migrate_delete,migrate_extract_parent,migrate_merge,migrate_reclass,migrate_rename,migrate_reparent,migrate_retype,migrate_split,migrate_undo,organization_clear,portal_card,portal_declare,portal_invite,portal_preview,portal_principal_bind,portal_revoke,read_record,record_delete,record_restore,record_restore_preview,record_table,record_update,relation_uncarry,share_access,share_grant,share_lane_set,share_people,share_revoke,sign_request_cancel,sign_request_create,sign_request_remind,sign_request_unchanged,table_share_outside_accept,table_share_outside_invite,table_share_outside_resend,table_share_outside_revoke,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_assign,work_record_states,work_set_state";
|
|
3154
|
+
readonly raised_by: "_checklist_instantiate,_table_share_invite_payload,checklist_declare,checklist_run,checklist_step_complete,checklist_step_refusal,checklist_template_shape,conversation_scope_bind,dashboard_delete,dashboard_run,doc_letterhead,doc_render_body,doc_render_document,doc_render_read,doc_sign,doc_signature_intact,doc_signature_read,doc_template_delete,doc_template_read,doc_template_save,enrich_pin,entity_field_retire,entity_field_update,entity_record_read,entity_value_write,external_history_event,external_rows,external_stub_upsert,external_writes_set,io_restore,migrate_delete,migrate_extract_parent,migrate_merge,migrate_reclass,migrate_rename,migrate_reparent,migrate_retype,migrate_split,migrate_undo,organization_clear,portal_card,portal_declare,portal_invite,portal_preview,portal_principal_bind,portal_revoke,read_record,record_delete,record_restore,record_restore_preview,record_table,record_update,relation_uncarry,share_access,share_grant,share_lane_set,share_people,share_revoke,sign_request_cancel,sign_request_create,sign_request_remind,sign_request_unchanged,table_share_outside_accept,table_share_outside_invite,table_share_outside_resend,table_share_outside_revoke,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_assign,work_record_states,work_set_state";
|
|
3145
3155
|
}, {
|
|
3146
3156
|
readonly code: "0A000";
|
|
3147
3157
|
readonly raised_by: "checklist_step_complete,external_rows,external_source_declare,external_write_through,promote_field,promoted_index_expr,promoted_query_sql,promoted_read,rule_eval,work_assign";
|
|
@@ -3159,7 +3169,7 @@ declare const STORE_REFUSAL_CODES: readonly [{
|
|
|
3159
3169
|
readonly raised_by: "rule_eval";
|
|
3160
3170
|
}, {
|
|
3161
3171
|
readonly code: "22023";
|
|
3162
|
-
readonly raised_by: "_booking_availability,_entity_custom_fields_guard,_value_envelope,_work_shape_guard,actor_word,agg_assert_key,agg_sql,anon_token_issue,booking_declare,containment_parent,dashboard_block_normalize,dashboard_window_sql,doc_render_body,doc_render_write,doc_signature_write,enrich_declare,enrich_land,enrich_normalize,enrich_pin,entity_value_write,external_history_event,external_source_declare,external_stub_upsert,external_write_through,field_history,io_export,io_import_begin,io_import_finish,io_import_plan,io_import_report,io_proposal_accept,migrate_merge,migrate_reclass,my_levels,organization_clear,page_size,pin_agent_cells,pipeline_move,portal_declare,provenance_write,query_by_coordinates,query_rollup,record_update,record_write_many,relation_carry,rule_eval,rule_members,share_grant,share_lane_set,sign_request_create,sign_request_sign,subscription_declare,table_rules,visibility_as_of,work_approval_request,work_list,work_slot_hold";
|
|
3172
|
+
readonly raised_by: "_booking_availability,_entity_custom_fields_guard,_take_op_id,_value_envelope,_work_shape_guard,actor_word,agg_assert_key,agg_sql,anon_token_issue,booking_declare,containment_parent,dashboard_block_normalize,dashboard_window_sql,doc_render_body,doc_render_write,doc_signature_write,enrich_declare,enrich_land,enrich_normalize,enrich_pin,entity_value_write,external_history_event,external_source_declare,external_stub_upsert,external_write_through,field_history,io_export,io_import_begin,io_import_finish,io_import_plan,io_import_report,io_proposal_accept,migrate_merge,migrate_reclass,my_levels,organization_clear,page_size,pin_agent_cells,pipeline_move,portal_declare,provenance_write,query_by_coordinates,query_rollup,record_update,record_write_many,relation_carry,rule_eval,rule_members,share_grant,share_lane_set,sign_request_create,sign_request_sign,subscription_declare,table_rules,visibility_as_of,work_approval_request,work_list,work_slot_hold";
|
|
3163
3173
|
}, {
|
|
3164
3174
|
readonly code: "23503";
|
|
3165
3175
|
readonly raised_by: "_booking_availability,_checklist_instantiate,_containment_guard,_field_document_for,_pipeline_stage_key,_record_rule_uses,agg_digest_assemble,anon_publish,anon_rate_take,anon_token_issue,anon_write,assert_organization_wall,booking_cancel,booking_confirm,booking_declare,booking_hold,booking_reschedule,capture_publish,checklist_declare,checklist_steps_table,comment_write,dashboard_declare,delete_rule,doc_sign,doc_template_save,enrich_declare,enrich_due,enrich_land,form_declare,form_submit,home_add,inbound_declare,inbound_mail_land,inbound_set,io_comment_write,io_import_begin,io_import_finish,io_import_report,io_import_rows,io_proposal_accept,migrate_demote,migrate_promote,pipeline_board,pipeline_declare,pipeline_move,pipeline_read,pipeline_transition_refusal,promote_field,promote_table,record_applicability,record_reparent,relation_carry,relation_own,resolve_first_match,rule_applies,rule_declare,rule_eval,rule_members,rule_run,sign_request_create,subscription_mute,subscription_preview,view_declare,work_set_state,work_take_assignment,work_template_instantiate";
|
|
@@ -3168,13 +3178,13 @@ declare const STORE_REFUSAL_CODES: readonly [{
|
|
|
3168
3178
|
readonly raised_by: "_unique_rule_holds,doc_sign,doc_signature_write,entity_field_declare,field_declare,home_add,inbound_declare,io_proposal_accept,relation_carry,relation_own,share_grant,sign_request_cancel,sign_request_create,table_share_outside_invite,table_share_outside_resend,work_approval_decide,work_slot_hold";
|
|
3169
3179
|
}, {
|
|
3170
3180
|
readonly code: "23514";
|
|
3171
|
-
readonly raised_by: "_checklist_instantiate,_checklist_step_guard,_containment_guard,_dated_values_guard,_derived_fields,_entity_custom_fields_guard,_field_class_guard,_field_document_for,_field_shape_guard,_field_type_parity_guard,_merge_field_shape_guard,_merge_field_temporal_guard,_promoted_field_cap_guard,_record_rule_uses,_resolve_choice_words,_rule_shape_guard,_rule_topology_guard,_store_relation_edge_names_its_field,_table_columns_word_guard,_table_shape_guard,_undeclared_key_guard,_value_envelope,_work_shape_guard,_workdoors_approval_guard,assert_columns_are_defined,assert_entity_is_organization_scoped,capture_publish,capture_sheet_declare,checklist_declare,checklist_step_complete,doc_sign,doc_signature_write,doc_template_save,entity_field_declare,entity_field_retire,entity_field_update,entity_records_find,entity_table,field_declare,field_retire,field_update,home_add,io_import_rows,migrate_merge,relation_carry,relation_own,sign_request_create,sign_request_sign,table_declare,validate_value_envelope,validate_values,work_set_state,work_slots_declare,work_take_assignment,work_template_instantiate";
|
|
3181
|
+
readonly raised_by: "_checklist_instantiate,_checklist_step_guard,_containment_guard,_dated_values_guard,_derived_fields,_entity_custom_fields_guard,_field_class_guard,_field_document_for,_field_shape_guard,_field_type_parity_guard,_merge_field_shape_guard,_merge_field_temporal_guard,_promoted_field_cap_guard,_record_rule_uses,_resolve_choice_words,_rule_shape_guard,_rule_topology_guard,_store_relation_edge_names_its_field,_table_columns_word_guard,_table_shape_guard,_undeclared_key_guard,_value_envelope,_work_shape_guard,_workdoors_approval_guard,assert_columns_are_defined,assert_entity_is_organization_scoped,booking_declare,capture_publish,capture_sheet_declare,checklist_declare,checklist_step_complete,doc_sign,doc_signature_write,doc_template_save,entity_field_declare,entity_field_retire,entity_field_update,entity_records_find,entity_table,field_declare,field_retire,field_update,home_add,io_import_rows,migrate_merge,relation_carry,relation_own,sign_request_create,sign_request_sign,table_declare,validate_value_envelope,validate_values,work_set_state,work_slots_declare,work_take_assignment,work_template_instantiate";
|
|
3172
3182
|
}, {
|
|
3173
3183
|
readonly code: "40001";
|
|
3174
3184
|
readonly raised_by: "has_visibility_at";
|
|
3175
3185
|
}, {
|
|
3176
3186
|
readonly code: "42501";
|
|
3177
|
-
readonly raised_by: "_doc_render_immutable,_doc_signature_immutable,_field_definition_write,_field_write_door,_rule_definition_write,_store_door,anon_capture,anon_inbound_land,anon_publish,anon_token_issue,anon_token_verify,anon_write,assert_client_may_change,assert_client_may_open,assert_client_may_reach,assert_may_know_table,assert_organization_admin,assert_store_door,booking_confirm,booking_declare,booking_hold,capture_submit,checklist_run,comment_write,conversation_scope_bind,conversation_scope_unbind,enrich_declare,enrich_due,enrich_land,enrich_normalize,entity_field_declare,entity_field_retire,entity_field_update,entity_value_write,external_write_through,form_declare,form_submit,inbound_mail_land,io_comment_resolve,io_comment_write,io_import_begin,io_import_finish,io_restore,migrate_purge,migrate_reclass,my_levels,organization_clear,portal_declare,portal_invitation,portal_invite,portal_principal_bind,promote_table,query_visibility_parity,read_record,read_records,record_table,share_grant,subscription_mute,subscription_preview,table_share_outside_accept,table_share_outside_invite,table_share_outside_resend,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_person";
|
|
3187
|
+
readonly raised_by: "_doc_render_immutable,_doc_signature_immutable,_field_definition_write,_field_write_door,_rule_definition_write,_store_door,anon_capture,anon_inbound_land,anon_publish,anon_token_issue,anon_token_verify,anon_write,assert_client_may_change,assert_client_may_open,assert_client_may_reach,assert_may_know_table,assert_organization_admin,assert_store_door,booking_confirm,booking_declare,booking_hold,capture_submit,checklist_run,comment_write,conversation_scope_bind,conversation_scope_unbind,enrich_declare,enrich_due,enrich_land,enrich_normalize,entity_field_declare,entity_field_retire,entity_field_update,entity_value_write,external_write_through,form_declare,form_submit,inbound_mail_land,io_comment_resolve,io_comment_write,io_import_begin,io_import_finish,io_restore,migrate_purge,migrate_reclass,my_levels,organization_clear,portal_declare,portal_invitation,portal_invite,portal_principal_bind,promote_table,query_visibility_parity,read_record,read_records,read_records_by_ids,record_table,share_grant,subscription_mute,subscription_preview,table_share_outside_accept,table_share_outside_invite,table_share_outside_resend,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_person";
|
|
3178
3188
|
}, {
|
|
3179
3189
|
readonly code: "42703";
|
|
3180
3190
|
readonly raised_by: "entity_table,portal_declare";
|
|
@@ -3986,6 +3996,22 @@ interface FieldPatch {
|
|
|
3986
3996
|
unique?: boolean;
|
|
3987
3997
|
/** §D / T7: which fields a worked-out column reads. */
|
|
3988
3998
|
depends_on?: Uuid[];
|
|
3999
|
+
/**
|
|
4000
|
+
* FLD-9. WHEN a worked-out column works its answer out: when somebody reads the record,
|
|
4001
|
+
* or when somebody saves it.
|
|
4002
|
+
*
|
|
4003
|
+
* This door accepted the word, answered success and threw it away until 2026-09-21
|
|
4004
|
+
* (matrx-frontend `migrations/campaign/tails2_a_formula_says_when_it_works_itself_out.sql`)
|
|
4005
|
+
* — its spec builder used a fixed key list that did not carry it, so a person declaring a
|
|
4006
|
+
* write-stamped formula through this door silently got a read-time one. It is applied now,
|
|
4007
|
+
* in both arms, and the records already saved are brought with it.
|
|
4008
|
+
*
|
|
4009
|
+
* TWO THINGS IT REFUSES BY NAME rather than forcing quietly: a column that is not worked
|
|
4010
|
+
* out by the store has no moment to be worked out at, and a ROLL-UP adds up OTHER records,
|
|
4011
|
+
* so an answer stamped when this record was last saved would be wrong the moment one of
|
|
4012
|
+
* them changed — a roll-up is always `read`.
|
|
4013
|
+
*/
|
|
4014
|
+
compute_on?: ComputeOn;
|
|
3989
4015
|
}
|
|
3990
4016
|
|
|
3991
4017
|
/** One option, as `_choices` names it and as `optionsOf` returns it. */
|
|
@@ -6549,14 +6575,37 @@ interface RecordsActor {
|
|
|
6549
6575
|
*/
|
|
6550
6576
|
interface RecordsRealtimePort {
|
|
6551
6577
|
/**
|
|
6552
|
-
* Watch one organization's records of one table. Returns an unsubscribe.
|
|
6553
|
-
*
|
|
6554
|
-
*
|
|
6578
|
+
* Watch one organization's records of one table. Returns an unsubscribe.
|
|
6579
|
+
*
|
|
6580
|
+
* THE HOST NUDGES THROUGH THIS SINK AND REACHES AROUND NOTHING. Until 0.43.0 the callback
|
|
6581
|
+
* was `(recordId: Uuid) => void` and a host that also wanted to say "the SHAPE moved"
|
|
6582
|
+
* imported `tableShapeChanged` from `@ai-matrx/records/react` and called it directly —
|
|
6583
|
+
* which worked, and which meant the port contract did not describe half of what a port
|
|
6584
|
+
* actually does. A column appearing is not a row changing, and the package owns the
|
|
6585
|
+
* difference.
|
|
6586
|
+
*
|
|
6587
|
+
* NOTHING THAT ARRIVES HERE IS DATA. A nudge has not passed the read door, so the hook
|
|
6588
|
+
* re-reads — by id set when the nudge names ids, whole-page when it cannot.
|
|
6555
6589
|
*/
|
|
6556
6590
|
subscribeRecords(args: {
|
|
6557
6591
|
organization_id: Uuid;
|
|
6558
6592
|
table_id: Uuid;
|
|
6559
|
-
},
|
|
6593
|
+
}, sink: RecordsChangeSink): () => void;
|
|
6594
|
+
}
|
|
6595
|
+
/** What a realtime port may tell the package. Two calls, because a column is not a row. */
|
|
6596
|
+
interface RecordsChangeSink {
|
|
6597
|
+
/**
|
|
6598
|
+
* THESE RECORDS MOVED. `null` means "I cannot tell you which" — a reconnect, a tab wake, or
|
|
6599
|
+
* a change above the store's own id cap — and is the one case that costs a whole-page read.
|
|
6600
|
+
* An EMPTY array is not the same thing and is not a nudge at all.
|
|
6601
|
+
*/
|
|
6602
|
+
records(ids: readonly Uuid[] | null): void;
|
|
6603
|
+
/**
|
|
6604
|
+
* THIS TABLE'S SHAPE MOVED — a column added, retired or changed. Re-reading the rows would
|
|
6605
|
+
* redraw the same table without the new column in it, which is a screen that is out of date
|
|
6606
|
+
* while looking healthy.
|
|
6607
|
+
*/
|
|
6608
|
+
shape(): void;
|
|
6560
6609
|
}
|
|
6561
6610
|
/**
|
|
6562
6611
|
* OPTIONAL. Where a refusal that nobody asked about goes — the loud funnel.
|
|
@@ -6798,6 +6847,21 @@ interface RecordsClient {
|
|
|
6798
6847
|
rows: ReadRow[];
|
|
6799
6848
|
total: number | null;
|
|
6800
6849
|
}>>;
|
|
6850
|
+
/**
|
|
6851
|
+
* DOOR-1 FOR AN ID SET. Exactly these records of this Table, through
|
|
6852
|
+
* `custom.read_records_by_ids` — the same ladder, the same level, the same
|
|
6853
|
+
* field masking and the same page ceiling as `list`, addressed by id instead
|
|
6854
|
+
* of by page. An id the reader may not see simply does not come back, which
|
|
6855
|
+
* is the same answer `list` gives by omission.
|
|
6856
|
+
*
|
|
6857
|
+
* It exists because a realtime notice has always named the exact ids that
|
|
6858
|
+
* moved and no door could take them: three cells changing re-read a fifty-row
|
|
6859
|
+
* page in every watching browser.
|
|
6860
|
+
*/
|
|
6861
|
+
listByIds(args: {
|
|
6862
|
+
table_id: Uuid;
|
|
6863
|
+
ids: readonly Uuid[];
|
|
6864
|
+
}): Promise<RecordsResult<ReadRow[]>>;
|
|
6801
6865
|
query(query: RecordQuery): Promise<RecordsResult<{
|
|
6802
6866
|
rows: ReadRow[];
|
|
6803
6867
|
total: number | null;
|
|
@@ -7963,6 +8027,61 @@ interface RecordsClient {
|
|
|
7963
8027
|
}): Promise<RecordsResult<MyLevel[]>>;
|
|
7964
8028
|
}
|
|
7965
8029
|
|
|
8030
|
+
/**
|
|
8031
|
+
* THE CLIENT OPERATION LEDGER — how a browser recognises the echo of its own write.
|
|
8032
|
+
*
|
|
8033
|
+
* Every private-channel notice the record store broadcasts reaches EVERY browser watching that
|
|
8034
|
+
* Table, including the one that caused it. Until now the writer had no way to tell its own
|
|
8035
|
+
* change from a colleague's: the notice carried ids and nothing about who moved them, so
|
|
8036
|
+
* `recordsRealtimePort.ts` declared `acceptEchoFromSelf: true` and the writer re-read a page it
|
|
8037
|
+
* had already updated. It was named honestly rather than faked, and this is the other half.
|
|
8038
|
+
*
|
|
8039
|
+
* THE SHAPE. Every write through `RecordsClient` mints a uuid, sends it to the store as the
|
|
8040
|
+
* platform envelope key `_op_id`, and remembers it here. The store lifts that key out before
|
|
8041
|
+
* storage — it is never written onto the record — carries it on the change-feed row, and puts
|
|
8042
|
+
* it in the notice as `op_id`. A notice whose `op_id` is in this ledger is this browser's own
|
|
8043
|
+
* echo and is dropped.
|
|
8044
|
+
*
|
|
8045
|
+
* WHY A TIME WINDOW RATHER THAN A DELETE-ON-MATCH. One write can produce MORE THAN ONE notice:
|
|
8046
|
+
* a record write that also moves a column produces a `record` notice and a `field` notice, and
|
|
8047
|
+
* a statement touching two Tables produces one per Table. Forgetting an op the first time it
|
|
8048
|
+
* came back would make the second notice look like somebody else's and cost the re-read this
|
|
8049
|
+
* exists to avoid. So an op is remembered for a window and expires on its own.
|
|
8050
|
+
*
|
|
8051
|
+
* 🚨 THE WINDOW IS A CORRECTNESS BOUNDARY, NOT A TUNING KNOB, AND IT FAILS IN THE SAFE
|
|
8052
|
+
* DIRECTION BY CONSTRUCTION. Too SHORT and a late echo is treated as a stranger's change: one
|
|
8053
|
+
* extra read of a page that is already correct — invisible. Too LONG and a stranger's change
|
|
8054
|
+
* that happened to reuse our uuid would be dropped — which cannot happen, because it is a v4
|
|
8055
|
+
* uuid nobody else has ever seen. The only real cost of a long window is memory, so it is
|
|
8056
|
+
* bounded by COUNT as well as by time.
|
|
8057
|
+
*
|
|
8058
|
+
* WHAT THIS IS NOT. It is not a replacement for the store's optimistic concurrency, and it
|
|
8059
|
+
* never decides what is true — a dropped echo means "I already know about this", and every
|
|
8060
|
+
* path that could be wrong about that (a reconnect, a tab wake, a notice with no `op_id` at
|
|
8061
|
+
* all) re-reads through the door as it always did.
|
|
8062
|
+
*/
|
|
8063
|
+
|
|
8064
|
+
/**
|
|
8065
|
+
* Mint the id for one client operation and remember it as ours.
|
|
8066
|
+
*
|
|
8067
|
+
* ONE CALL IS ONE OPERATION. A fifty-row paste through `recordWriteMany` is ONE op id, because
|
|
8068
|
+
* the store announces one statement once — and it REFUSES a batch carrying two different ones
|
|
8069
|
+
* by name, for exactly that reason.
|
|
8070
|
+
*/
|
|
8071
|
+
declare function mintOpId(): Uuid;
|
|
8072
|
+
/**
|
|
8073
|
+
* Is this notice the echo of a write this browser made?
|
|
8074
|
+
*
|
|
8075
|
+
* `undefined`/`null` is NOT ours and never has been: a notice with no `op_id` came from a
|
|
8076
|
+
* server-side write, an agent tool, another client, or a store older than this mechanism —
|
|
8077
|
+
* all of which are changes this browser has not seen and must read.
|
|
8078
|
+
*/
|
|
8079
|
+
declare function isOwnOp(opId: string | null | undefined): boolean;
|
|
8080
|
+
/** Test seam: forget everything. Never called by product code. */
|
|
8081
|
+
declare function forgetAllOps(): void;
|
|
8082
|
+
/** Test seam: how many operations are currently remembered. */
|
|
8083
|
+
declare function rememberedOpCount(): number;
|
|
8084
|
+
|
|
7966
8085
|
interface RecordsProviderProps {
|
|
7967
8086
|
config: RecordsConfig;
|
|
7968
8087
|
children: ReactNode;
|
|
@@ -7997,6 +8116,13 @@ interface Async<T> {
|
|
|
7997
8116
|
/** The store's own refusal. Never null-and-empty at the same time. */
|
|
7998
8117
|
error: RecordsError | null;
|
|
7999
8118
|
reload: () => void;
|
|
8119
|
+
/**
|
|
8120
|
+
* Replace what is held WITHOUT a round trip — for a caller that has just read fresher rows
|
|
8121
|
+
* through the SAME door and would otherwise throw them away and read the page again.
|
|
8122
|
+
* It is never a way to put un-doored data on a screen: everything handed in here came back
|
|
8123
|
+
* from a door that applied the ladder.
|
|
8124
|
+
*/
|
|
8125
|
+
setData: (update: (current: T | null) => T | null) => void;
|
|
8000
8126
|
}
|
|
8001
8127
|
/** One Table's declaration. */
|
|
8002
8128
|
declare function useTable(tableId: Uuid | null): Async<Table | null>;
|
|
@@ -8164,4 +8290,4 @@ declare function useFieldMutation(): UseFieldMutation;
|
|
|
8164
8290
|
*/
|
|
8165
8291
|
declare function useMergeField(key: string | null, state?: Record<string, unknown>): MergeFieldResolution | null;
|
|
8166
8292
|
|
|
8167
|
-
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, tableShapeChanged, useEntityFieldMutation, useEntityFieldRights, useEntityFields, useEntityRecord, useEntityTable, useFieldMutation, useFields, useMergeField, useMyLevel, useMyLevels, useOptionalRecordsClient, useRecord, useRecordMutation, useRecords, useRecordsActor, useRecordsClient, useTable, useTables };
|
|
8293
|
+
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 RecordsChangeSink, 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, forgetAllOps, highestLevel, holdsARetiredChoice, indexedDbStore, isDecided, isOwnOp, isRecordsErr, isTheChosen, looksLikeAnId, mayDrag, measureKey, memoryStore, mintClientKey, mintOpId, ok, openCaptureQueue, optionKey, optionLabel, portalPath, publicFormPath, rememberedOpCount, scopeChip, tableShapeChanged, 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
|
@@ -2078,6 +2078,11 @@ declare const STORE_DOORS: readonly [{
|
|
|
2078
2078
|
readonly args: "p_organization_id uuid, p_table_id uuid, p_by_id boolean DEFAULT false, p_limit integer DEFAULT 200, p_offset integer DEFAULT 0";
|
|
2079
2079
|
readonly returns: "TABLE(id uuid, document jsonb, level permission_level)";
|
|
2080
2080
|
readonly security: "definer";
|
|
2081
|
+
}, {
|
|
2082
|
+
readonly name: "read_records_by_ids";
|
|
2083
|
+
readonly args: "p_organization_id uuid, p_table_id uuid, p_record_ids uuid[], p_by_id boolean DEFAULT false";
|
|
2084
|
+
readonly returns: "TABLE(id uuid, document jsonb, level permission_level)";
|
|
2085
|
+
readonly security: "definer";
|
|
2081
2086
|
}, {
|
|
2082
2087
|
readonly name: "realtime_topic_admits";
|
|
2083
2088
|
readonly args: "p_topic text";
|
|
@@ -2198,6 +2203,11 @@ declare const STORE_DOORS: readonly [{
|
|
|
2198
2203
|
readonly args: "p_organization_id uuid, p_record_id uuid";
|
|
2199
2204
|
readonly returns: "TABLE(field_key text, field_id uuid, value jsonb, value_version integer, source jsonb, absent_reason text, actor text, on_behalf_of text, written_at timestamp with time zone, alternates jsonb)";
|
|
2200
2205
|
readonly security: "definer";
|
|
2206
|
+
}, {
|
|
2207
|
+
readonly name: "record_words";
|
|
2208
|
+
readonly args: "p_organization_id uuid, p_record_id uuid, p_noun text DEFAULT NULL::text";
|
|
2209
|
+
readonly returns: "text";
|
|
2210
|
+
readonly security: "definer";
|
|
2201
2211
|
}, {
|
|
2202
2212
|
readonly name: "record_write";
|
|
2203
2213
|
readonly args: "p_organization_id uuid, p_table_id uuid, p_data jsonb";
|
|
@@ -3141,7 +3151,7 @@ declare const STORE_KNOBS: readonly [{
|
|
|
3141
3151
|
*/
|
|
3142
3152
|
declare const STORE_REFUSAL_CODES: readonly [{
|
|
3143
3153
|
readonly code: "02000";
|
|
3144
|
-
readonly raised_by: "_checklist_instantiate,checklist_declare,checklist_run,checklist_step_complete,checklist_step_refusal,checklist_template_shape,conversation_scope_bind,dashboard_delete,dashboard_run,doc_letterhead,doc_render_body,doc_render_document,doc_render_read,doc_sign,doc_signature_intact,doc_signature_read,doc_template_delete,doc_template_read,doc_template_save,enrich_pin,entity_field_retire,entity_field_update,entity_record_read,entity_value_write,external_history_event,external_rows,external_stub_upsert,external_writes_set,io_restore,migrate_delete,migrate_extract_parent,migrate_merge,migrate_reclass,migrate_rename,migrate_reparent,migrate_retype,migrate_split,migrate_undo,organization_clear,portal_card,portal_declare,portal_invite,portal_preview,portal_principal_bind,portal_revoke,read_record,record_delete,record_restore,record_restore_preview,record_table,record_update,relation_uncarry,share_access,share_grant,share_lane_set,share_people,share_revoke,sign_request_cancel,sign_request_create,sign_request_remind,sign_request_unchanged,table_share_outside_accept,table_share_outside_invite,table_share_outside_resend,table_share_outside_revoke,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_assign,work_record_states,work_set_state";
|
|
3154
|
+
readonly raised_by: "_checklist_instantiate,_table_share_invite_payload,checklist_declare,checklist_run,checklist_step_complete,checklist_step_refusal,checklist_template_shape,conversation_scope_bind,dashboard_delete,dashboard_run,doc_letterhead,doc_render_body,doc_render_document,doc_render_read,doc_sign,doc_signature_intact,doc_signature_read,doc_template_delete,doc_template_read,doc_template_save,enrich_pin,entity_field_retire,entity_field_update,entity_record_read,entity_value_write,external_history_event,external_rows,external_stub_upsert,external_writes_set,io_restore,migrate_delete,migrate_extract_parent,migrate_merge,migrate_reclass,migrate_rename,migrate_reparent,migrate_retype,migrate_split,migrate_undo,organization_clear,portal_card,portal_declare,portal_invite,portal_preview,portal_principal_bind,portal_revoke,read_record,record_delete,record_restore,record_restore_preview,record_table,record_update,relation_uncarry,share_access,share_grant,share_lane_set,share_people,share_revoke,sign_request_cancel,sign_request_create,sign_request_remind,sign_request_unchanged,table_share_outside_accept,table_share_outside_invite,table_share_outside_resend,table_share_outside_revoke,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_assign,work_record_states,work_set_state";
|
|
3145
3155
|
}, {
|
|
3146
3156
|
readonly code: "0A000";
|
|
3147
3157
|
readonly raised_by: "checklist_step_complete,external_rows,external_source_declare,external_write_through,promote_field,promoted_index_expr,promoted_query_sql,promoted_read,rule_eval,work_assign";
|
|
@@ -3159,7 +3169,7 @@ declare const STORE_REFUSAL_CODES: readonly [{
|
|
|
3159
3169
|
readonly raised_by: "rule_eval";
|
|
3160
3170
|
}, {
|
|
3161
3171
|
readonly code: "22023";
|
|
3162
|
-
readonly raised_by: "_booking_availability,_entity_custom_fields_guard,_value_envelope,_work_shape_guard,actor_word,agg_assert_key,agg_sql,anon_token_issue,booking_declare,containment_parent,dashboard_block_normalize,dashboard_window_sql,doc_render_body,doc_render_write,doc_signature_write,enrich_declare,enrich_land,enrich_normalize,enrich_pin,entity_value_write,external_history_event,external_source_declare,external_stub_upsert,external_write_through,field_history,io_export,io_import_begin,io_import_finish,io_import_plan,io_import_report,io_proposal_accept,migrate_merge,migrate_reclass,my_levels,organization_clear,page_size,pin_agent_cells,pipeline_move,portal_declare,provenance_write,query_by_coordinates,query_rollup,record_update,record_write_many,relation_carry,rule_eval,rule_members,share_grant,share_lane_set,sign_request_create,sign_request_sign,subscription_declare,table_rules,visibility_as_of,work_approval_request,work_list,work_slot_hold";
|
|
3172
|
+
readonly raised_by: "_booking_availability,_entity_custom_fields_guard,_take_op_id,_value_envelope,_work_shape_guard,actor_word,agg_assert_key,agg_sql,anon_token_issue,booking_declare,containment_parent,dashboard_block_normalize,dashboard_window_sql,doc_render_body,doc_render_write,doc_signature_write,enrich_declare,enrich_land,enrich_normalize,enrich_pin,entity_value_write,external_history_event,external_source_declare,external_stub_upsert,external_write_through,field_history,io_export,io_import_begin,io_import_finish,io_import_plan,io_import_report,io_proposal_accept,migrate_merge,migrate_reclass,my_levels,organization_clear,page_size,pin_agent_cells,pipeline_move,portal_declare,provenance_write,query_by_coordinates,query_rollup,record_update,record_write_many,relation_carry,rule_eval,rule_members,share_grant,share_lane_set,sign_request_create,sign_request_sign,subscription_declare,table_rules,visibility_as_of,work_approval_request,work_list,work_slot_hold";
|
|
3163
3173
|
}, {
|
|
3164
3174
|
readonly code: "23503";
|
|
3165
3175
|
readonly raised_by: "_booking_availability,_checklist_instantiate,_containment_guard,_field_document_for,_pipeline_stage_key,_record_rule_uses,agg_digest_assemble,anon_publish,anon_rate_take,anon_token_issue,anon_write,assert_organization_wall,booking_cancel,booking_confirm,booking_declare,booking_hold,booking_reschedule,capture_publish,checklist_declare,checklist_steps_table,comment_write,dashboard_declare,delete_rule,doc_sign,doc_template_save,enrich_declare,enrich_due,enrich_land,form_declare,form_submit,home_add,inbound_declare,inbound_mail_land,inbound_set,io_comment_write,io_import_begin,io_import_finish,io_import_report,io_import_rows,io_proposal_accept,migrate_demote,migrate_promote,pipeline_board,pipeline_declare,pipeline_move,pipeline_read,pipeline_transition_refusal,promote_field,promote_table,record_applicability,record_reparent,relation_carry,relation_own,resolve_first_match,rule_applies,rule_declare,rule_eval,rule_members,rule_run,sign_request_create,subscription_mute,subscription_preview,view_declare,work_set_state,work_take_assignment,work_template_instantiate";
|
|
@@ -3168,13 +3178,13 @@ declare const STORE_REFUSAL_CODES: readonly [{
|
|
|
3168
3178
|
readonly raised_by: "_unique_rule_holds,doc_sign,doc_signature_write,entity_field_declare,field_declare,home_add,inbound_declare,io_proposal_accept,relation_carry,relation_own,share_grant,sign_request_cancel,sign_request_create,table_share_outside_invite,table_share_outside_resend,work_approval_decide,work_slot_hold";
|
|
3169
3179
|
}, {
|
|
3170
3180
|
readonly code: "23514";
|
|
3171
|
-
readonly raised_by: "_checklist_instantiate,_checklist_step_guard,_containment_guard,_dated_values_guard,_derived_fields,_entity_custom_fields_guard,_field_class_guard,_field_document_for,_field_shape_guard,_field_type_parity_guard,_merge_field_shape_guard,_merge_field_temporal_guard,_promoted_field_cap_guard,_record_rule_uses,_resolve_choice_words,_rule_shape_guard,_rule_topology_guard,_store_relation_edge_names_its_field,_table_columns_word_guard,_table_shape_guard,_undeclared_key_guard,_value_envelope,_work_shape_guard,_workdoors_approval_guard,assert_columns_are_defined,assert_entity_is_organization_scoped,capture_publish,capture_sheet_declare,checklist_declare,checklist_step_complete,doc_sign,doc_signature_write,doc_template_save,entity_field_declare,entity_field_retire,entity_field_update,entity_records_find,entity_table,field_declare,field_retire,field_update,home_add,io_import_rows,migrate_merge,relation_carry,relation_own,sign_request_create,sign_request_sign,table_declare,validate_value_envelope,validate_values,work_set_state,work_slots_declare,work_take_assignment,work_template_instantiate";
|
|
3181
|
+
readonly raised_by: "_checklist_instantiate,_checklist_step_guard,_containment_guard,_dated_values_guard,_derived_fields,_entity_custom_fields_guard,_field_class_guard,_field_document_for,_field_shape_guard,_field_type_parity_guard,_merge_field_shape_guard,_merge_field_temporal_guard,_promoted_field_cap_guard,_record_rule_uses,_resolve_choice_words,_rule_shape_guard,_rule_topology_guard,_store_relation_edge_names_its_field,_table_columns_word_guard,_table_shape_guard,_undeclared_key_guard,_value_envelope,_work_shape_guard,_workdoors_approval_guard,assert_columns_are_defined,assert_entity_is_organization_scoped,booking_declare,capture_publish,capture_sheet_declare,checklist_declare,checklist_step_complete,doc_sign,doc_signature_write,doc_template_save,entity_field_declare,entity_field_retire,entity_field_update,entity_records_find,entity_table,field_declare,field_retire,field_update,home_add,io_import_rows,migrate_merge,relation_carry,relation_own,sign_request_create,sign_request_sign,table_declare,validate_value_envelope,validate_values,work_set_state,work_slots_declare,work_take_assignment,work_template_instantiate";
|
|
3172
3182
|
}, {
|
|
3173
3183
|
readonly code: "40001";
|
|
3174
3184
|
readonly raised_by: "has_visibility_at";
|
|
3175
3185
|
}, {
|
|
3176
3186
|
readonly code: "42501";
|
|
3177
|
-
readonly raised_by: "_doc_render_immutable,_doc_signature_immutable,_field_definition_write,_field_write_door,_rule_definition_write,_store_door,anon_capture,anon_inbound_land,anon_publish,anon_token_issue,anon_token_verify,anon_write,assert_client_may_change,assert_client_may_open,assert_client_may_reach,assert_may_know_table,assert_organization_admin,assert_store_door,booking_confirm,booking_declare,booking_hold,capture_submit,checklist_run,comment_write,conversation_scope_bind,conversation_scope_unbind,enrich_declare,enrich_due,enrich_land,enrich_normalize,entity_field_declare,entity_field_retire,entity_field_update,entity_value_write,external_write_through,form_declare,form_submit,inbound_mail_land,io_comment_resolve,io_comment_write,io_import_begin,io_import_finish,io_restore,migrate_purge,migrate_reclass,my_levels,organization_clear,portal_declare,portal_invitation,portal_invite,portal_principal_bind,promote_table,query_visibility_parity,read_record,read_records,record_table,share_grant,subscription_mute,subscription_preview,table_share_outside_accept,table_share_outside_invite,table_share_outside_resend,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_person";
|
|
3187
|
+
readonly raised_by: "_doc_render_immutable,_doc_signature_immutable,_field_definition_write,_field_write_door,_rule_definition_write,_store_door,anon_capture,anon_inbound_land,anon_publish,anon_token_issue,anon_token_verify,anon_write,assert_client_may_change,assert_client_may_open,assert_client_may_reach,assert_may_know_table,assert_organization_admin,assert_store_door,booking_confirm,booking_declare,booking_hold,capture_submit,checklist_run,comment_write,conversation_scope_bind,conversation_scope_unbind,enrich_declare,enrich_due,enrich_land,enrich_normalize,entity_field_declare,entity_field_retire,entity_field_update,entity_value_write,external_write_through,form_declare,form_submit,inbound_mail_land,io_comment_resolve,io_comment_write,io_import_begin,io_import_finish,io_restore,migrate_purge,migrate_reclass,my_levels,organization_clear,portal_declare,portal_invitation,portal_invite,portal_principal_bind,promote_table,query_visibility_parity,read_record,read_records,read_records_by_ids,record_table,share_grant,subscription_mute,subscription_preview,table_share_outside_accept,table_share_outside_invite,table_share_outside_resend,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_person";
|
|
3178
3188
|
}, {
|
|
3179
3189
|
readonly code: "42703";
|
|
3180
3190
|
readonly raised_by: "entity_table,portal_declare";
|
|
@@ -3986,6 +3996,22 @@ interface FieldPatch {
|
|
|
3986
3996
|
unique?: boolean;
|
|
3987
3997
|
/** §D / T7: which fields a worked-out column reads. */
|
|
3988
3998
|
depends_on?: Uuid[];
|
|
3999
|
+
/**
|
|
4000
|
+
* FLD-9. WHEN a worked-out column works its answer out: when somebody reads the record,
|
|
4001
|
+
* or when somebody saves it.
|
|
4002
|
+
*
|
|
4003
|
+
* This door accepted the word, answered success and threw it away until 2026-09-21
|
|
4004
|
+
* (matrx-frontend `migrations/campaign/tails2_a_formula_says_when_it_works_itself_out.sql`)
|
|
4005
|
+
* — its spec builder used a fixed key list that did not carry it, so a person declaring a
|
|
4006
|
+
* write-stamped formula through this door silently got a read-time one. It is applied now,
|
|
4007
|
+
* in both arms, and the records already saved are brought with it.
|
|
4008
|
+
*
|
|
4009
|
+
* TWO THINGS IT REFUSES BY NAME rather than forcing quietly: a column that is not worked
|
|
4010
|
+
* out by the store has no moment to be worked out at, and a ROLL-UP adds up OTHER records,
|
|
4011
|
+
* so an answer stamped when this record was last saved would be wrong the moment one of
|
|
4012
|
+
* them changed — a roll-up is always `read`.
|
|
4013
|
+
*/
|
|
4014
|
+
compute_on?: ComputeOn;
|
|
3989
4015
|
}
|
|
3990
4016
|
|
|
3991
4017
|
/** One option, as `_choices` names it and as `optionsOf` returns it. */
|
|
@@ -6549,14 +6575,37 @@ interface RecordsActor {
|
|
|
6549
6575
|
*/
|
|
6550
6576
|
interface RecordsRealtimePort {
|
|
6551
6577
|
/**
|
|
6552
|
-
* Watch one organization's records of one table. Returns an unsubscribe.
|
|
6553
|
-
*
|
|
6554
|
-
*
|
|
6578
|
+
* Watch one organization's records of one table. Returns an unsubscribe.
|
|
6579
|
+
*
|
|
6580
|
+
* THE HOST NUDGES THROUGH THIS SINK AND REACHES AROUND NOTHING. Until 0.43.0 the callback
|
|
6581
|
+
* was `(recordId: Uuid) => void` and a host that also wanted to say "the SHAPE moved"
|
|
6582
|
+
* imported `tableShapeChanged` from `@ai-matrx/records/react` and called it directly —
|
|
6583
|
+
* which worked, and which meant the port contract did not describe half of what a port
|
|
6584
|
+
* actually does. A column appearing is not a row changing, and the package owns the
|
|
6585
|
+
* difference.
|
|
6586
|
+
*
|
|
6587
|
+
* NOTHING THAT ARRIVES HERE IS DATA. A nudge has not passed the read door, so the hook
|
|
6588
|
+
* re-reads — by id set when the nudge names ids, whole-page when it cannot.
|
|
6555
6589
|
*/
|
|
6556
6590
|
subscribeRecords(args: {
|
|
6557
6591
|
organization_id: Uuid;
|
|
6558
6592
|
table_id: Uuid;
|
|
6559
|
-
},
|
|
6593
|
+
}, sink: RecordsChangeSink): () => void;
|
|
6594
|
+
}
|
|
6595
|
+
/** What a realtime port may tell the package. Two calls, because a column is not a row. */
|
|
6596
|
+
interface RecordsChangeSink {
|
|
6597
|
+
/**
|
|
6598
|
+
* THESE RECORDS MOVED. `null` means "I cannot tell you which" — a reconnect, a tab wake, or
|
|
6599
|
+
* a change above the store's own id cap — and is the one case that costs a whole-page read.
|
|
6600
|
+
* An EMPTY array is not the same thing and is not a nudge at all.
|
|
6601
|
+
*/
|
|
6602
|
+
records(ids: readonly Uuid[] | null): void;
|
|
6603
|
+
/**
|
|
6604
|
+
* THIS TABLE'S SHAPE MOVED — a column added, retired or changed. Re-reading the rows would
|
|
6605
|
+
* redraw the same table without the new column in it, which is a screen that is out of date
|
|
6606
|
+
* while looking healthy.
|
|
6607
|
+
*/
|
|
6608
|
+
shape(): void;
|
|
6560
6609
|
}
|
|
6561
6610
|
/**
|
|
6562
6611
|
* OPTIONAL. Where a refusal that nobody asked about goes — the loud funnel.
|
|
@@ -6798,6 +6847,21 @@ interface RecordsClient {
|
|
|
6798
6847
|
rows: ReadRow[];
|
|
6799
6848
|
total: number | null;
|
|
6800
6849
|
}>>;
|
|
6850
|
+
/**
|
|
6851
|
+
* DOOR-1 FOR AN ID SET. Exactly these records of this Table, through
|
|
6852
|
+
* `custom.read_records_by_ids` — the same ladder, the same level, the same
|
|
6853
|
+
* field masking and the same page ceiling as `list`, addressed by id instead
|
|
6854
|
+
* of by page. An id the reader may not see simply does not come back, which
|
|
6855
|
+
* is the same answer `list` gives by omission.
|
|
6856
|
+
*
|
|
6857
|
+
* It exists because a realtime notice has always named the exact ids that
|
|
6858
|
+
* moved and no door could take them: three cells changing re-read a fifty-row
|
|
6859
|
+
* page in every watching browser.
|
|
6860
|
+
*/
|
|
6861
|
+
listByIds(args: {
|
|
6862
|
+
table_id: Uuid;
|
|
6863
|
+
ids: readonly Uuid[];
|
|
6864
|
+
}): Promise<RecordsResult<ReadRow[]>>;
|
|
6801
6865
|
query(query: RecordQuery): Promise<RecordsResult<{
|
|
6802
6866
|
rows: ReadRow[];
|
|
6803
6867
|
total: number | null;
|
|
@@ -7963,6 +8027,61 @@ interface RecordsClient {
|
|
|
7963
8027
|
}): Promise<RecordsResult<MyLevel[]>>;
|
|
7964
8028
|
}
|
|
7965
8029
|
|
|
8030
|
+
/**
|
|
8031
|
+
* THE CLIENT OPERATION LEDGER — how a browser recognises the echo of its own write.
|
|
8032
|
+
*
|
|
8033
|
+
* Every private-channel notice the record store broadcasts reaches EVERY browser watching that
|
|
8034
|
+
* Table, including the one that caused it. Until now the writer had no way to tell its own
|
|
8035
|
+
* change from a colleague's: the notice carried ids and nothing about who moved them, so
|
|
8036
|
+
* `recordsRealtimePort.ts` declared `acceptEchoFromSelf: true` and the writer re-read a page it
|
|
8037
|
+
* had already updated. It was named honestly rather than faked, and this is the other half.
|
|
8038
|
+
*
|
|
8039
|
+
* THE SHAPE. Every write through `RecordsClient` mints a uuid, sends it to the store as the
|
|
8040
|
+
* platform envelope key `_op_id`, and remembers it here. The store lifts that key out before
|
|
8041
|
+
* storage — it is never written onto the record — carries it on the change-feed row, and puts
|
|
8042
|
+
* it in the notice as `op_id`. A notice whose `op_id` is in this ledger is this browser's own
|
|
8043
|
+
* echo and is dropped.
|
|
8044
|
+
*
|
|
8045
|
+
* WHY A TIME WINDOW RATHER THAN A DELETE-ON-MATCH. One write can produce MORE THAN ONE notice:
|
|
8046
|
+
* a record write that also moves a column produces a `record` notice and a `field` notice, and
|
|
8047
|
+
* a statement touching two Tables produces one per Table. Forgetting an op the first time it
|
|
8048
|
+
* came back would make the second notice look like somebody else's and cost the re-read this
|
|
8049
|
+
* exists to avoid. So an op is remembered for a window and expires on its own.
|
|
8050
|
+
*
|
|
8051
|
+
* 🚨 THE WINDOW IS A CORRECTNESS BOUNDARY, NOT A TUNING KNOB, AND IT FAILS IN THE SAFE
|
|
8052
|
+
* DIRECTION BY CONSTRUCTION. Too SHORT and a late echo is treated as a stranger's change: one
|
|
8053
|
+
* extra read of a page that is already correct — invisible. Too LONG and a stranger's change
|
|
8054
|
+
* that happened to reuse our uuid would be dropped — which cannot happen, because it is a v4
|
|
8055
|
+
* uuid nobody else has ever seen. The only real cost of a long window is memory, so it is
|
|
8056
|
+
* bounded by COUNT as well as by time.
|
|
8057
|
+
*
|
|
8058
|
+
* WHAT THIS IS NOT. It is not a replacement for the store's optimistic concurrency, and it
|
|
8059
|
+
* never decides what is true — a dropped echo means "I already know about this", and every
|
|
8060
|
+
* path that could be wrong about that (a reconnect, a tab wake, a notice with no `op_id` at
|
|
8061
|
+
* all) re-reads through the door as it always did.
|
|
8062
|
+
*/
|
|
8063
|
+
|
|
8064
|
+
/**
|
|
8065
|
+
* Mint the id for one client operation and remember it as ours.
|
|
8066
|
+
*
|
|
8067
|
+
* ONE CALL IS ONE OPERATION. A fifty-row paste through `recordWriteMany` is ONE op id, because
|
|
8068
|
+
* the store announces one statement once — and it REFUSES a batch carrying two different ones
|
|
8069
|
+
* by name, for exactly that reason.
|
|
8070
|
+
*/
|
|
8071
|
+
declare function mintOpId(): Uuid;
|
|
8072
|
+
/**
|
|
8073
|
+
* Is this notice the echo of a write this browser made?
|
|
8074
|
+
*
|
|
8075
|
+
* `undefined`/`null` is NOT ours and never has been: a notice with no `op_id` came from a
|
|
8076
|
+
* server-side write, an agent tool, another client, or a store older than this mechanism —
|
|
8077
|
+
* all of which are changes this browser has not seen and must read.
|
|
8078
|
+
*/
|
|
8079
|
+
declare function isOwnOp(opId: string | null | undefined): boolean;
|
|
8080
|
+
/** Test seam: forget everything. Never called by product code. */
|
|
8081
|
+
declare function forgetAllOps(): void;
|
|
8082
|
+
/** Test seam: how many operations are currently remembered. */
|
|
8083
|
+
declare function rememberedOpCount(): number;
|
|
8084
|
+
|
|
7966
8085
|
interface RecordsProviderProps {
|
|
7967
8086
|
config: RecordsConfig;
|
|
7968
8087
|
children: ReactNode;
|
|
@@ -7997,6 +8116,13 @@ interface Async<T> {
|
|
|
7997
8116
|
/** The store's own refusal. Never null-and-empty at the same time. */
|
|
7998
8117
|
error: RecordsError | null;
|
|
7999
8118
|
reload: () => void;
|
|
8119
|
+
/**
|
|
8120
|
+
* Replace what is held WITHOUT a round trip — for a caller that has just read fresher rows
|
|
8121
|
+
* through the SAME door and would otherwise throw them away and read the page again.
|
|
8122
|
+
* It is never a way to put un-doored data on a screen: everything handed in here came back
|
|
8123
|
+
* from a door that applied the ladder.
|
|
8124
|
+
*/
|
|
8125
|
+
setData: (update: (current: T | null) => T | null) => void;
|
|
8000
8126
|
}
|
|
8001
8127
|
/** One Table's declaration. */
|
|
8002
8128
|
declare function useTable(tableId: Uuid | null): Async<Table | null>;
|
|
@@ -8164,4 +8290,4 @@ declare function useFieldMutation(): UseFieldMutation;
|
|
|
8164
8290
|
*/
|
|
8165
8291
|
declare function useMergeField(key: string | null, state?: Record<string, unknown>): MergeFieldResolution | null;
|
|
8166
8292
|
|
|
8167
|
-
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, tableShapeChanged, useEntityFieldMutation, useEntityFieldRights, useEntityFields, useEntityRecord, useEntityTable, useFieldMutation, useFields, useMergeField, useMyLevel, useMyLevels, useOptionalRecordsClient, useRecord, useRecordMutation, useRecords, useRecordsActor, useRecordsClient, useTable, useTables };
|
|
8293
|
+
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 RecordsChangeSink, 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, forgetAllOps, highestLevel, holdsARetiredChoice, indexedDbStore, isDecided, isOwnOp, isRecordsErr, isTheChosen, looksLikeAnId, mayDrag, measureKey, memoryStore, mintClientKey, mintOpId, ok, openCaptureQueue, optionKey, optionLabel, portalPath, publicFormPath, rememberedOpCount, scopeChip, tableShapeChanged, useEntityFieldMutation, useEntityFieldRights, useEntityFields, useEntityRecord, useEntityTable, useFieldMutation, useFields, useMergeField, useMyLevel, useMyLevels, useOptionalRecordsClient, useRecord, useRecordMutation, useRecords, useRecordsActor, useRecordsClient, useTable, useTables };
|