@ai-matrx/records 0.29.0 → 0.36.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 +111 -0
- package/dist/core/index.cjs +93 -12
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +52 -7
- package/dist/core/index.d.ts +52 -7
- package/dist/core/index.js +93 -12
- package/dist/core/index.js.map +1 -1
- package/dist/{field-DrOTIPCF.d.cts → field-CWBdZfFv.d.cts} +277 -9
- package/dist/{field-DrOTIPCF.d.ts → field-CWBdZfFv.d.ts} +277 -9
- package/dist/index.cjs +35 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +165 -141
- package/dist/index.d.ts +165 -141
- package/dist/index.js +35 -8
- package/dist/index.js.map +1 -1
- package/dist/react/index.cjs +93 -12
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +481 -149
- package/dist/react/index.d.ts +481 -149
- package/dist/react/index.js +93 -12
- package/dist/react/index.js.map +1 -1
- package/dist/use-cases/index.cjs +74 -3
- 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 +74 -3
- package/dist/use-cases/index.js.map +1 -1
- package/package.json +1 -1
package/dist/react/index.cjs
CHANGED
|
@@ -49,6 +49,8 @@ __export(react_exports, {
|
|
|
49
49
|
RULE_NODE_KINDS: () => RULE_NODE_KINDS,
|
|
50
50
|
RULE_USES: () => RULE_USES,
|
|
51
51
|
RecordsProvider: () => RecordsProvider,
|
|
52
|
+
STAGE_RULE_ENFORCEMENT: () => STAGE_RULE_ENFORCEMENT,
|
|
53
|
+
STAGE_RULE_ON_FAIL: () => STAGE_RULE_ON_FAIL,
|
|
52
54
|
STORAGE_MODES: () => STORAGE_MODES,
|
|
53
55
|
STORE_DOORS: () => STORE_DOORS,
|
|
54
56
|
STORE_KNOBS: () => STORE_KNOBS,
|
|
@@ -152,6 +154,7 @@ var RULE_USES = ["validate", "compute", "membership", "applicability"];
|
|
|
152
154
|
var PER_VALUE_ACCESS_WORDS = ["visibility", "access", "share", "acl", "permission", "permissions", "secret"];
|
|
153
155
|
var PARITY_FIELD_TYPES = [
|
|
154
156
|
{ parity_type: "attachment", behavior: "relation", made_of: "REC-31: a File record reached through a relation, target the kernel `File` Table" },
|
|
157
|
+
{ parity_type: "checkbox", behavior: "boolean", made_of: "a ticked or unticked answer, stored as a REAL boolean \u2014 and a record that never answered holds neither, so filters and group-by see three states, not two" },
|
|
155
158
|
{ parity_type: "currency", behavior: "range", made_of: "FLD-N-1: a number whose UNIT is the currency and whose format is currency \u2014 on the Field, never in presentation" },
|
|
156
159
|
{ parity_type: "datetime", behavior: "range", made_of: "a range of kind date or datetime \u2014 the dated modifier says the VALUES are dated, which is a different question" },
|
|
157
160
|
{ parity_type: "email", behavior: "text", made_of: "text whose format is email" },
|
|
@@ -188,6 +191,7 @@ var RULE_NODE_KINDS = [
|
|
|
188
191
|
{ node: "parent_field", evaluated_by: "W1-RULE-APPLY" },
|
|
189
192
|
{ node: "present", evaluated_by: "W1-RULE" },
|
|
190
193
|
{ node: "previous", evaluated_by: "PIPELINES" },
|
|
194
|
+
{ node: "sibling_count", evaluated_by: "STAGE-RULES" },
|
|
191
195
|
{ node: "stage_count", evaluated_by: "PIPELINES" },
|
|
192
196
|
{ node: "sub", evaluated_by: "W1-RULE" }
|
|
193
197
|
];
|
|
@@ -206,6 +210,8 @@ var STORE_DOORS = [
|
|
|
206
210
|
{ name: "absence_reasons", args: "", returns: "text[]", security: "invoker" },
|
|
207
211
|
{ name: "actor_vocabulary", args: "", returns: "text[]", security: "invoker" },
|
|
208
212
|
{ name: "actor_word", args: "p_declared text", returns: "text", security: "invoker" },
|
|
213
|
+
{ name: "addressed_cap", args: "p_user_id uuid, p_type text, p_id uuid, p_organization_id uuid DEFAULT NULL::uuid, p_table_id uuid DEFAULT NULL::uuid", returns: "permission_level", security: "definer" },
|
|
214
|
+
{ name: "addressed_cap_specific", args: "p_user_id uuid, p_type text, p_id uuid, p_organization_id uuid DEFAULT NULL::uuid, p_table_id uuid DEFAULT NULL::uuid", returns: "permission_level", security: "definer" },
|
|
209
215
|
{ name: "agent_change_approval", args: "p_organization uuid, p_conversation uuid DEFAULT NULL::uuid, p_table uuid DEFAULT NULL::uuid", returns: "jsonb", security: "definer" },
|
|
210
216
|
{ name: "agent_context", args: "p_organization_id uuid, p_table_id uuid, p_limit integer DEFAULT 50", returns: "jsonb", security: "invoker" },
|
|
211
217
|
{ name: "agent_table_claim", args: "p_organization uuid, p_table uuid, p_conversation uuid DEFAULT NULL::uuid", returns: "void", security: "definer" },
|
|
@@ -379,7 +385,7 @@ var STORE_DOORS = [
|
|
|
379
385
|
{ name: "entity_records_find", args: "p_organization_id uuid, p_token text, p_key text, p_value jsonb DEFAULT NULL::jsonb, p_limit integer DEFAULT 50, p_offset integer DEFAULT 0", returns: "jsonb", security: "invoker" },
|
|
380
386
|
{ name: "entity_table", args: "p_token text", returns: "TABLE(token text, schema_name text, table_name text, type text, title_column text, label text, has_organization boolean, has_deleted_at boolean)", security: "invoker" },
|
|
381
387
|
{ name: "entity_value_write", args: "p_organization_id uuid, p_token text, p_record_id uuid, p_patch jsonb", returns: "jsonb", security: "invoker" },
|
|
382
|
-
{ name: "export_ceiling", args: "p_organization_id uuid DEFAULT NULL::uuid", returns: "integer", security: "
|
|
388
|
+
{ name: "export_ceiling", args: "p_organization_id uuid DEFAULT NULL::uuid", returns: "integer", security: "invoker" },
|
|
383
389
|
{ name: "export_records", args: "p_organization_id uuid, p_table_id uuid, p_limit integer DEFAULT 1000", returns: "TABLE(id uuid, document jsonb)", security: "invoker" },
|
|
384
390
|
{ name: "external_foreign_table_findings", args: "", returns: "SETOF text", security: "definer" },
|
|
385
391
|
{ name: "external_history_event", args: "p_organization_id uuid, p_link_id uuid, p_operation text", returns: "bigint", security: "definer" },
|
|
@@ -459,6 +465,9 @@ var STORE_DOORS = [
|
|
|
459
465
|
{ name: "io_proposal_reject", args: "p_organization_id uuid, p_import_id uuid, p_column text", returns: "boolean", security: "definer" },
|
|
460
466
|
{ name: "io_proposal_spec", args: "p_proposal jsonb", returns: "jsonb", security: "invoker" },
|
|
461
467
|
{ name: "io_record_changed", args: "", returns: "trigger", security: "definer" },
|
|
468
|
+
{ name: "io_record_changed_stmt_delete", args: "", returns: "trigger", security: "definer" },
|
|
469
|
+
{ name: "io_record_changed_stmt_insert", args: "", returns: "trigger", security: "definer" },
|
|
470
|
+
{ name: "io_record_changed_stmt_update", args: "", returns: "trigger", security: "definer" },
|
|
462
471
|
{ name: "io_relation_candidate", args: "p_organization_id uuid, p_table_id uuid, p_words text[]", returns: "uuid", security: "invoker" },
|
|
463
472
|
{ name: "io_restore", args: "p_organization_id uuid, p_record_id uuid, p_version integer", returns: "integer", security: "definer" },
|
|
464
473
|
{ name: "io_restore", args: "p_organization_id uuid, p_record_id uuid, p_version integer, p_author jsonb", returns: "integer", security: "definer" },
|
|
@@ -467,6 +476,8 @@ var STORE_DOORS = [
|
|
|
467
476
|
{ name: "io_value_shape", args: "p_envelope jsonb", returns: "jsonb", security: "invoker" },
|
|
468
477
|
{ name: "is_a_retirement", args: "p_old_deleted timestamp with time zone, p_new_deleted timestamp with time zone, p_old_data jsonb, p_new_data jsonb, p_old_table uuid, p_new_table uuid, p_old_org uuid, p_new_org uuid, p_old_class text, p_new_class text", returns: "boolean", security: "invoker" },
|
|
469
478
|
{ name: "ladder_replanners", args: "p_roots text[] DEFAULT ARRAY['custom.has_visibility'::text, 'custom.effective_level'::text, 'custom.reaches_directly'::text, 'custom.visible_set'::text]", returns: "TABLE(fn text, lang text, why text, remedy text)", security: "definer" },
|
|
479
|
+
{ name: "level_floor", args: "", returns: "permission_level", security: "definer" },
|
|
480
|
+
{ name: "levels_raised_by_a_less_specific_rung", args: "", returns: "TABLE(organization_id uuid, organization_name text, member_id uuid, member_email text, record_id uuid, addressed_level permission_level, answered_level permission_level)", security: "definer" },
|
|
470
481
|
{ name: "list_door_disagreements", args: "p_pretend text DEFAULT NULL::text, p_only_organization uuid DEFAULT NULL::uuid, p_sample integer DEFAULT 200", returns: "TABLE(organization_id uuid, organization_name text, member_id uuid, table_id uuid, record_id uuid, door text, why text)", security: "invoker" },
|
|
471
482
|
{ name: "list_door_disagreements", args: "p_pretend text, p_only_organization uuid, p_sample integer, p_exhaustive boolean", returns: "TABLE(organization_id uuid, organization_name text, member_id uuid, table_id uuid, record_id uuid, door text, why text)", security: "invoker" },
|
|
472
483
|
{ name: "lookup_value", args: "p_organization_id uuid, p_record_id uuid, p_field_data jsonb", returns: "jsonb", security: "invoker" },
|
|
@@ -497,9 +508,9 @@ var STORE_DOORS = [
|
|
|
497
508
|
{ name: "organization_references", args: "p_kind text, p_organization_id uuid, p_row jsonb", returns: "TABLE(site text, what text, ref_id uuid, openable boolean)", security: "invoker" },
|
|
498
509
|
{ name: "owning_table", args: "p_organization_id uuid, p_record_id uuid", returns: "uuid", security: "invoker" },
|
|
499
510
|
{ name: "owning_table_gone", args: "p_organization_id uuid, p_record_id uuid", returns: "boolean", security: "invoker" },
|
|
500
|
-
{ name: "page_ceiling", args: "p_organization_id uuid DEFAULT NULL::uuid", returns: "integer", security: "
|
|
511
|
+
{ name: "page_ceiling", args: "p_organization_id uuid DEFAULT NULL::uuid", returns: "integer", security: "invoker" },
|
|
501
512
|
{ name: "page_contract", args: "p_organization_id uuid", returns: "jsonb", security: "definer" },
|
|
502
|
-
{ name: "page_size", args: "p_organization_id uuid, p_door text, p_limit integer, p_default integer DEFAULT NULL::integer, p_ceiling integer DEFAULT NULL::integer", returns: "integer", security: "
|
|
513
|
+
{ name: "page_size", args: "p_organization_id uuid, p_door text, p_limit integer, p_default integer DEFAULT NULL::integer, p_ceiling integer DEFAULT NULL::integer", returns: "integer", security: "invoker" },
|
|
503
514
|
{ name: "parity_field_types", args: "", returns: "TABLE(parity_type text, behavior text, made_of text)", security: "invoker" },
|
|
504
515
|
{ name: "parity_type", args: "p_field_data jsonb", returns: "text", security: "invoker" },
|
|
505
516
|
{ name: "parity_values", args: "p_organization_id uuid, p_record_id uuid", returns: "TABLE(field_key text, field_id uuid, parity_type text, behavior text, unit text, format text, value jsonb, value_version integer, actor text, written_at timestamp with time zone)", security: "invoker" },
|
|
@@ -508,7 +519,9 @@ var STORE_DOORS = [
|
|
|
508
519
|
{ name: "pin_agent_cells", args: "p_new jsonb, p_old jsonb, p_agent_keys text[]", returns: "jsonb", security: "invoker" },
|
|
509
520
|
{ name: "pipeline_board", args: "p_organization_id uuid, p_table_id uuid, p_measure text DEFAULT NULL::text", returns: "TABLE(stage_key text, stage_label text, stage_position integer, cards bigint, total numeric, wip_limit integer, over_limit boolean)", security: "definer" },
|
|
510
521
|
{ name: "pipeline_declare", args: "p_organization_id uuid, p_table_id uuid, p_spec jsonb", returns: "jsonb", security: "definer" },
|
|
522
|
+
{ name: "pipeline_gate_preview", args: "p_organization_id uuid, p_table_id uuid, p_stage text, p_gate jsonb", returns: "jsonb", security: "definer" },
|
|
511
523
|
{ name: "pipeline_move", args: "p_organization_id uuid, p_record_id uuid, p_to text, p_also jsonb DEFAULT '{}'::jsonb, p_expected_version integer DEFAULT NULL::integer", returns: "jsonb", security: "definer" },
|
|
524
|
+
{ name: "pipeline_pending", args: "p_organization_id uuid, p_table_id uuid", returns: "jsonb", security: "definer" },
|
|
512
525
|
{ name: "pipeline_read", args: "p_organization_id uuid, p_table_id uuid", returns: "jsonb", security: "definer" },
|
|
513
526
|
{ name: "pipeline_transition_refusal", args: "p_organization_id uuid, p_record_id uuid, p_to text", returns: "jsonb", security: "definer" },
|
|
514
527
|
{ name: "portal_admits", args: "p_organization_id uuid, p_user_id uuid DEFAULT NULL::uuid", returns: "boolean", security: "definer" },
|
|
@@ -575,6 +588,7 @@ var STORE_DOORS = [
|
|
|
575
588
|
{ name: "record_carrying_edges", args: "p_id uuid, p_data_class text, p_data jsonb, p_deleted_at timestamp with time zone", returns: "TABLE(container_id uuid, item_id uuid, edge_role text)", security: "invoker" },
|
|
576
589
|
{ name: "record_delete", args: "p_organization_id uuid, p_record_id uuid", returns: "timestamp with time zone", security: "definer" },
|
|
577
590
|
{ name: "record_history", args: "p_organization_id uuid, p_record_id uuid, p_limit integer DEFAULT 200, p_offset integer DEFAULT 0", returns: "TABLE(version integer, occurred_at timestamp with time zone, operation text, operation_label text, actor jsonb, changes jsonb, migration_id uuid, undoable boolean)", security: "definer" },
|
|
591
|
+
{ name: "record_platform_keys", args: "", returns: "text[]", security: "invoker" },
|
|
578
592
|
{ name: "record_relation_edges", args: "p_organization_id uuid, p_id uuid, p_table_id uuid, p_data_class text, p_data jsonb, p_deleted_at timestamp with time zone", returns: "TABLE(target_id uuid, edge_role text, field_id uuid, ord integer)", security: "invoker" },
|
|
579
593
|
{ name: "record_reparent", args: "p_organization_id uuid, p_record_id uuid, p_parent_id uuid", returns: "void", security: "definer" },
|
|
580
594
|
{ name: "record_resolve", args: "p_organization_id uuid, p_id uuid", returns: "jsonb", security: "definer" },
|
|
@@ -583,12 +597,14 @@ var STORE_DOORS = [
|
|
|
583
597
|
{ name: "record_restore_version", args: "p_organization_id uuid, p_record_id uuid, p_version integer", returns: "jsonb", security: "definer" },
|
|
584
598
|
{ name: "record_restore_version", args: "p_organization_id uuid, p_record_id uuid, p_version integer, p_author jsonb", returns: "jsonb", security: "definer" },
|
|
585
599
|
{ name: "record_scope_context", args: "p_organization_id uuid, p_record_id uuid, p_relations integer DEFAULT 12, p_history integer DEFAULT 15, p_siblings integer DEFAULT 8", returns: "jsonb", security: "definer" },
|
|
600
|
+
{ name: "record_stage_pending", args: "p_organization_id uuid, p_record_id uuid", returns: "jsonb", security: "definer" },
|
|
586
601
|
{ name: "record_state_as_of", args: "p_record_id uuid, p_at timestamp with time zone", returns: "TABLE(state jsonb, replayed boolean)", security: "definer" },
|
|
587
602
|
{ name: "record_table", args: "p_organization_id uuid, p_record_id uuid", returns: "uuid", security: "definer" },
|
|
588
603
|
{ name: "record_update", args: "p_organization_id uuid, p_record_id uuid, p_patch jsonb, p_expected_version integer DEFAULT NULL::integer", returns: "integer", security: "definer" },
|
|
589
604
|
{ name: "record_values", args: "p_organization_id uuid, p_record_id uuid", returns: "jsonb", security: "invoker" },
|
|
590
605
|
{ name: "record_values_versioned", args: "p_organization_id uuid, p_record_id uuid", 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)", security: "definer" },
|
|
591
606
|
{ name: "record_write", args: "p_organization_id uuid, p_table_id uuid, p_data jsonb", returns: "uuid", security: "definer" },
|
|
607
|
+
{ name: "record_write_many", args: "p_organization_id uuid, p_table_id uuid, p_rows jsonb[], p_ids uuid[] DEFAULT NULL::uuid[]", returns: "uuid[]", security: "definer" },
|
|
592
608
|
{ name: "refusals_claiming_a_level_never_asked", args: "", returns: "TABLE(function_name text, identity_args text, why text)", security: "invoker" },
|
|
593
609
|
{ name: "relation_carry", args: "p_organization_id uuid, p_container_id uuid, p_item_id uuid", returns: "uuid", security: "definer" },
|
|
594
610
|
{ name: "relation_edges_withdraw", args: "p_organization_id uuid, p_field_ids uuid[], p_why text", returns: "integer", security: "definer" },
|
|
@@ -645,6 +661,8 @@ var STORE_DOORS = [
|
|
|
645
661
|
{ name: "size_refusal", args: "p_organization_id uuid, p_data jsonb", returns: "text", security: "invoker" },
|
|
646
662
|
{ name: "source_next_pointer", args: "p_sources jsonb", returns: "text", security: "invoker" },
|
|
647
663
|
{ name: "source_pointer", args: "p_sources jsonb, p_source jsonb", returns: "text", security: "invoker" },
|
|
664
|
+
{ name: "stage_rule_enforcement", args: "p_organization_id uuid", returns: "text", security: "invoker" },
|
|
665
|
+
{ name: "stage_rule_on_fail_kinds", args: "", returns: "TABLE(behaviour text, note text)", security: "invoker" },
|
|
648
666
|
{ name: "stamp_value_envelopes", args: "p_data jsonb, p_actor text, p_on_behalf_of text, p_at timestamp with time zone", returns: "jsonb", security: "invoker" },
|
|
649
667
|
{ name: "storage_modes", args: "", returns: "text[]", security: "invoker" },
|
|
650
668
|
{ name: "store_is_open", args: "p_organization_id uuid DEFAULT NULL::uuid", returns: "boolean", security: "invoker" },
|
|
@@ -655,6 +673,7 @@ var STORE_DOORS = [
|
|
|
655
673
|
{ name: "subscriptions", args: "p_organization_id uuid, p_table_id uuid DEFAULT NULL::uuid", returns: "TABLE(rule_id uuid, name text, table_id uuid, saved_view_id uuid, cadence text, schedule text, quiet_hours jsonb, channel text, recipient_user_id uuid, event_key text, muted boolean, mine boolean, i_may_mute boolean, last_sent_at timestamp with time zone, next_digest_at timestamp with time zone)", security: "definer" },
|
|
656
674
|
{ name: "table_capacity", args: "p_organization_id uuid, p_table_id uuid", returns: "jsonb", security: "definer" },
|
|
657
675
|
{ name: "table_carries_its_rows", args: "p_user_id uuid, p_table_id uuid, p_required permission_level DEFAULT 'viewer'::permission_level", returns: "boolean", security: "definer" },
|
|
676
|
+
{ name: "table_column_source", args: "p_organization_id uuid, p_table_id uuid", returns: "text", security: "invoker" },
|
|
658
677
|
{ name: "table_contents", args: "p_organization_id uuid, p_table_id uuid", returns: "TABLE(record_id uuid, kind text, goes_at integer)", security: "invoker" },
|
|
659
678
|
{ name: "table_declare", args: "p_organization_id uuid, p_spec jsonb", returns: "uuid", security: "definer" },
|
|
660
679
|
{ name: "table_has_a_visible_record", args: "p_user uuid, p_organization_id uuid, p_table_id uuid", returns: "boolean", security: "definer" },
|
|
@@ -669,6 +688,7 @@ var STORE_DOORS = [
|
|
|
669
688
|
{ name: "tables_at_home", args: "p_organization_id uuid, p_home_ids uuid[]", returns: "TABLE(table_id uuid, home_record_id uuid, kind text)", security: "definer" },
|
|
670
689
|
{ name: "tables_described_without_asking", args: "", returns: "TABLE(function_name text, identity_args text, why text)", security: "invoker" },
|
|
671
690
|
{ name: "trg_associations_bump_visibility", args: "", returns: "trigger", security: "definer" },
|
|
691
|
+
{ name: "undeclared_keys", args: "p_organization_id uuid, p_table_id uuid, p_data jsonb", returns: "text[]", security: "invoker" },
|
|
672
692
|
{ name: "validate_custom_fields", args: "p_token text, p_organization_id uuid, p_values jsonb", returns: "void", security: "invoker" },
|
|
673
693
|
{ name: "validate_value_envelope", args: "p_organization_id uuid, p_fields custom.record[], p_data jsonb", returns: "void", security: "invoker" },
|
|
674
694
|
{ name: "validate_values", args: "p_organization_id uuid, p_fields custom.record[], p_values jsonb, p_record_type text DEFAULT NULL::text", returns: "void", security: "invoker" },
|
|
@@ -680,6 +700,8 @@ var STORE_DOORS = [
|
|
|
680
700
|
{ name: "value_restore", args: "p_organization_id uuid, p_record_id uuid, p_field_key text, p_version integer", returns: "jsonb", security: "definer" },
|
|
681
701
|
{ name: "value_restore", args: "p_organization_id uuid, p_record_id uuid, p_field_key text, p_version integer, p_author jsonb", returns: "jsonb", security: "definer" },
|
|
682
702
|
{ name: "value_versions", args: "p_old jsonb, p_new jsonb", returns: "jsonb", security: "invoker" },
|
|
703
|
+
{ name: "view_declare", args: "p_organization_id uuid, p_table_id uuid, p_spec jsonb", returns: "uuid", security: "definer" },
|
|
704
|
+
{ name: "views", args: "p_organization_id uuid, p_table_id uuid DEFAULT NULL::uuid", returns: "TABLE(view_id uuid, name text, table_id uuid, filters jsonb, definition jsonb, created_at timestamp with time zone)", security: "definer" },
|
|
683
705
|
{ name: "visibility_ancestors", args: "p_item_type text, p_item_id uuid", returns: "TABLE(container_type text, container_id uuid, depth integer, max_level permission_level)", security: "definer" },
|
|
684
706
|
{ name: "visibility_as_of", args: "p_organization_id uuid, p_record_id uuid, p_at timestamp with time zone", returns: "TABLE(principal_kind text, principal_id uuid, level permission_level, through_kind text, through_id uuid, reason text, replayed boolean, held_from timestamp with time zone, held_to timestamp with time zone)", security: "definer" },
|
|
685
707
|
{ name: "visibility_cache_rebuild", args: "", returns: "integer", security: "definer" },
|
|
@@ -767,6 +789,7 @@ var STORE_KNOBS = [
|
|
|
767
789
|
{ key: "sandbox_message_bytes", value: "65536", type: "integer" },
|
|
768
790
|
{ key: "sandbox_org_components", value: "true", type: "boolean" },
|
|
769
791
|
{ key: "signup_provisioning_guard", value: "false", type: "boolean" },
|
|
792
|
+
{ key: "stage_rule_enforcement", value: '"refuse"', type: "enum" },
|
|
770
793
|
{ key: "system_enabled", value: "false", type: "boolean" },
|
|
771
794
|
{ key: "table_record_ceiling", value: "150000", type: "integer" },
|
|
772
795
|
{ key: "value_max_bytes", value: "100000", type: "integer" },
|
|
@@ -776,19 +799,20 @@ var STORE_REFUSAL_CODES = [
|
|
|
776
799
|
{ code: "02000", 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,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_assign,work_record_states,work_set_state" },
|
|
777
800
|
{ code: "0A000", 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" },
|
|
778
801
|
{ code: "22003", raised_by: "context_resolve" },
|
|
779
|
-
{ code: "22004", raised_by: "_entity_custom_fields_guard,_value_envelope,actor_word,agg_assert_key,agg_sql,anon_capture,anon_token_issue,anon_write,assert_client_may_reach,booking_declare,capture_submit,checklist_declare,context_resolve,dashboard_block_normalize,dashboard_declare,dashboard_window_sql,doc_render_write,doc_sign,doc_signature_write,doc_template_save,enrich_land,enrich_normalize,external_history_event,external_rows,external_source_declare,external_stub_upsert,external_write_through,external_writes_set,field_history,form_declare,form_submit,home_add,io_comment_write,io_import_begin,io_infer_column,io_outbox_drain,io_restore,migrate_choice_keys,migrate_purge,migrate_reclass,migrate_split,migrate_undo,organization_clear,organization_contents,pipeline_declare,portal_declare,portal_invite,portal_principal_bind,provenance_retention_days,provenance_write,query_across_homes,query_by_coordinates,query_rollup,record_delete,record_reparent,record_resolve,record_restore,record_update,record_write,relation_carry,relation_own,rule_declare,share_grant,sign_request_create,sign_request_sign,subscription_declare,table_declare,value_restore,work_approval_decide,work_approval_request,work_template_declare" },
|
|
802
|
+
{ code: "22004", raised_by: "_entity_custom_fields_guard,_value_envelope,actor_word,agg_assert_key,agg_sql,anon_capture,anon_token_issue,anon_write,assert_client_may_reach,booking_declare,capture_submit,checklist_declare,context_resolve,dashboard_block_normalize,dashboard_declare,dashboard_window_sql,doc_render_write,doc_sign,doc_signature_write,doc_template_save,enrich_land,enrich_normalize,external_history_event,external_rows,external_source_declare,external_stub_upsert,external_write_through,external_writes_set,field_history,form_declare,form_submit,home_add,io_comment_write,io_import_begin,io_infer_column,io_outbox_drain,io_restore,migrate_choice_keys,migrate_purge,migrate_reclass,migrate_split,migrate_undo,organization_clear,organization_contents,pipeline_declare,pipeline_gate_preview,portal_declare,portal_invite,portal_principal_bind,provenance_retention_days,provenance_write,query_across_homes,query_by_coordinates,query_rollup,record_delete,record_reparent,record_resolve,record_restore,record_update,record_write,record_write_many,relation_carry,relation_own,rule_declare,share_grant,sign_request_create,sign_request_sign,subscription_declare,table_declare,value_restore,view_declare,work_approval_decide,work_approval_request,work_template_declare" },
|
|
780
803
|
{ code: "22007", raised_by: "dashboard_window_sql" },
|
|
781
804
|
{ code: "22012", raised_by: "rule_eval" },
|
|
782
|
-
{ code: "22023", 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_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,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" },
|
|
783
|
-
{ code: "23503", 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,work_set_state,work_take_assignment,work_template_instantiate" },
|
|
805
|
+
{ code: "22023", 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" },
|
|
806
|
+
{ code: "23503", 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" },
|
|
784
807
|
{ code: "23505", 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,work_approval_decide,work_slot_hold" },
|
|
785
|
-
{ code: "23514", 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_shape_guard,_value_envelope,_work_shape_guard,_workdoors_approval_guard,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,validate_value_envelope,validate_values,work_set_state,work_slots_declare,work_take_assignment,work_template_instantiate" },
|
|
808
|
+
{ code: "23514", raised_by: "_checklist_instantiate,_checklist_step_guard,_claimed_column_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_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" },
|
|
786
809
|
{ code: "40001", raised_by: "has_visibility_at" },
|
|
787
810
|
{ code: "42501", 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,visibility_as_of,work_approval_decide,work_approval_read,work_approval_request,work_person" },
|
|
788
811
|
{ code: "42703", raised_by: "entity_table,portal_declare" },
|
|
789
812
|
{ code: "53400", raised_by: "anon_rate_take,delete_cascade_closure,enrich_due,enrich_land,promote_field" },
|
|
790
813
|
{ code: "54001", raised_by: "record_delete" },
|
|
791
|
-
{ code: "PT409", raised_by: "record_update" }
|
|
814
|
+
{ code: "PT409", raised_by: "record_update" },
|
|
815
|
+
{ code: "PT428", raised_by: "_record_rule_uses" }
|
|
792
816
|
];
|
|
793
817
|
var ENTITY_TOKENS = [
|
|
794
818
|
"access_delta_probe",
|
|
@@ -1452,6 +1476,7 @@ var ENTITY_TOKENS = [
|
|
|
1452
1476
|
"plan_node_artifact",
|
|
1453
1477
|
"plan_node_step",
|
|
1454
1478
|
"plan_profile",
|
|
1479
|
+
"platform_action_request",
|
|
1455
1480
|
"platform_actor_session",
|
|
1456
1481
|
"platform_actor_token",
|
|
1457
1482
|
"platform_actor_token_event",
|
|
@@ -1953,6 +1978,14 @@ var DOORS = {
|
|
|
1953
1978
|
pipelineTransitionRefusal: "pipeline_transition_refusal",
|
|
1954
1979
|
pipelineMove: "pipeline_move",
|
|
1955
1980
|
tableStageField: "table_stage_field",
|
|
1981
|
+
// STAGE-RULES. A gate can refuse or it can hand the change to the approvals queue; the
|
|
1982
|
+
// closed list is the store's, the knob is the organization's, and what is WAITING on a
|
|
1983
|
+
// card has to be askable or a card that did not move looks like a card nobody dragged.
|
|
1984
|
+
stageRuleOnFailKinds: "stage_rule_on_fail_kinds",
|
|
1985
|
+
stageRuleEnforcement: "stage_rule_enforcement",
|
|
1986
|
+
recordStagePending: "record_stage_pending",
|
|
1987
|
+
pipelinePending: "pipeline_pending",
|
|
1988
|
+
pipelineGatePreview: "pipeline_gate_preview",
|
|
1956
1989
|
ruleMembers: "rule_members",
|
|
1957
1990
|
ruleMembership: "rule_membership",
|
|
1958
1991
|
ruleRun: "rule_run",
|
|
@@ -2271,7 +2304,17 @@ var BY_SQLSTATE = {
|
|
|
2271
2304
|
// the grants not copied, land here.
|
|
2272
2305
|
PGRST202: "store_not_served",
|
|
2273
2306
|
PGRST205: "store_not_served",
|
|
2274
|
-
PGRST301: "door"
|
|
2307
|
+
PGRST301: "door",
|
|
2308
|
+
// PT428 — NOT A FAILURE, and the release gate's live census is what found it
|
|
2309
|
+
// missing: the store raises it and this package answered `internal`, which is
|
|
2310
|
+
// the one classification that tells a screen nothing. A stage gate whose
|
|
2311
|
+
// `on_fail` is `require_approval` files the request and leaves the record
|
|
2312
|
+
// where it was; the transaction is rolled back to the pipeline's own block, so
|
|
2313
|
+
// "nothing was written" is a fact rather than a promise. Landed by lane
|
|
2314
|
+
// STAGE-RULES; mapped here by STAGE-RULES-2 the day after, when the census
|
|
2315
|
+
// caught it — the sixth time that census has been the thing that found a
|
|
2316
|
+
// refusal class rather than a person guessing one.
|
|
2317
|
+
PT428: "needs_approval"
|
|
2275
2318
|
};
|
|
2276
2319
|
var MAPPED_SQLSTATES = Object.keys(BY_SQLSTATE);
|
|
2277
2320
|
function parseDetail(details) {
|
|
@@ -2450,16 +2493,17 @@ function createRecordsClient(config) {
|
|
|
2450
2493
|
if (!door.ok) return err(door.error);
|
|
2451
2494
|
const { document, hidden } = unfold(door.data);
|
|
2452
2495
|
let computed = [];
|
|
2496
|
+
let computedUnavailable = null;
|
|
2453
2497
|
if (withComputed) {
|
|
2454
2498
|
const provenance = await callDoor(
|
|
2455
2499
|
DOORS.computedProvenance,
|
|
2456
2500
|
{ p_organization_id: org, p_record_id: record_id },
|
|
2457
2501
|
"recordRead.computed"
|
|
2458
2502
|
);
|
|
2459
|
-
if (
|
|
2460
|
-
|
|
2503
|
+
if (provenance.ok) computed = provenance.data ?? [];
|
|
2504
|
+
else computedUnavailable = provenance.error;
|
|
2461
2505
|
}
|
|
2462
|
-
return ok({ record_id, document, hidden, computed });
|
|
2506
|
+
return ok({ record_id, document, hidden, computed, computedUnavailable });
|
|
2463
2507
|
},
|
|
2464
2508
|
async list({ table_id, limit = 50, offset = 0 }) {
|
|
2465
2509
|
const door = await callDoor(
|
|
@@ -2798,6 +2842,41 @@ function createRecordsClient(config) {
|
|
|
2798
2842
|
"tableStageField"
|
|
2799
2843
|
);
|
|
2800
2844
|
},
|
|
2845
|
+
async stageRuleOnFailKinds() {
|
|
2846
|
+
return callDoor(
|
|
2847
|
+
DOORS.stageRuleOnFailKinds,
|
|
2848
|
+
{},
|
|
2849
|
+
"stageRuleOnFailKinds"
|
|
2850
|
+
);
|
|
2851
|
+
},
|
|
2852
|
+
async stageRuleEnforcement() {
|
|
2853
|
+
return callDoor(
|
|
2854
|
+
DOORS.stageRuleEnforcement,
|
|
2855
|
+
{ p_organization_id: org },
|
|
2856
|
+
"stageRuleEnforcement"
|
|
2857
|
+
);
|
|
2858
|
+
},
|
|
2859
|
+
async recordStagePending({ record_id }) {
|
|
2860
|
+
return callDoor(
|
|
2861
|
+
DOORS.recordStagePending,
|
|
2862
|
+
{ p_organization_id: org, p_record_id: record_id },
|
|
2863
|
+
"recordStagePending"
|
|
2864
|
+
);
|
|
2865
|
+
},
|
|
2866
|
+
async pipelinePending({ table_id }) {
|
|
2867
|
+
return callDoor(
|
|
2868
|
+
DOORS.pipelinePending,
|
|
2869
|
+
{ p_organization_id: org, p_table_id: table_id },
|
|
2870
|
+
"pipelinePending"
|
|
2871
|
+
);
|
|
2872
|
+
},
|
|
2873
|
+
async pipelineGatePreview({ table_id, stage, gate }) {
|
|
2874
|
+
return callDoor(
|
|
2875
|
+
DOORS.pipelineGatePreview,
|
|
2876
|
+
{ p_organization_id: org, p_table_id: table_id, p_stage: stage, p_gate: gate },
|
|
2877
|
+
"pipelineGatePreview"
|
|
2878
|
+
);
|
|
2879
|
+
},
|
|
2801
2880
|
async ruleMembers({ rule_id }) {
|
|
2802
2881
|
return callDoor(
|
|
2803
2882
|
DOORS.ruleMembers,
|
|
@@ -4479,6 +4558,8 @@ function looksLikeAnId(value) {
|
|
|
4479
4558
|
|
|
4480
4559
|
// src/pipeline.ts
|
|
4481
4560
|
var PIPELINE_RULE_KINDS = ["moves", "requires", "who", "limit", "entry"];
|
|
4561
|
+
var STAGE_RULE_ON_FAIL = ["refuse", "require_approval"];
|
|
4562
|
+
var STAGE_RULE_ENFORCEMENT = ["refuse", "warn"];
|
|
4482
4563
|
function mayDrag(level) {
|
|
4483
4564
|
return level === "editor" || level === "admin" || level === "owner";
|
|
4484
4565
|
}
|