@ai-matrx/records 0.84.2 → 0.84.3

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.
@@ -210,9 +210,20 @@ function takePrimedDoorAnswer(key) {
210
210
  registry2.delete(key);
211
211
  return null;
212
212
  }
213
- function dropPrimedDoorAnswers() {
214
- doorRegistry().clear();
213
+ function dropPrimedDoorAnswers(doors) {
214
+ const registry2 = doorRegistry();
215
+ if (!doors) {
216
+ registry2.clear();
217
+ return;
218
+ }
219
+ for (const key of [...registry2.keys()]) if (doors.some((door) => key.startsWith(`${door}|`))) registry2.delete(key);
215
220
  }
221
+ var LOOK_WRITES = {
222
+ view_declare: ["views", "view_look_read", "grid_layout", "table_page_bundle"],
223
+ view_designate: ["views", "view_look_read", "grid_layout", "table_page_bundle"],
224
+ view_look_set: ["views", "view_look_read", "grid_layout", "table_page_bundle"],
225
+ view_record_order_set: ["views", "view_look_read", "grid_layout", "table_page_bundle"]
226
+ };
216
227
  function isWritingDoor(door) {
217
228
  return /(_declare|_set(_|$)|_update|_write|_delete|_restore|_archive|_upsert|_reparent|_change|_duplicate|_move|_decide|_run$|_submit|_publish|_import_|_start$|_complete|_sign$|_add$|_retire|_propose|_promote|_land$|_pin$|_mute|_snooze|_unsnooze|_clear|_unclear|_revoke|_issue|_bind|_unbind|_apply|_backfill|_sync$|_decorate|_designate|_ensure|^migrate_|^home_add|^capture_|^claim_|^record_stage|^anon_|^io_import_|^io_comment_resolve|^enrich_(declare|land|pin)|^field_(declare|duplicate|propose|restore|retire|update)|^table_(declare|ensure|from_example|move|sync)|^value_restore|^relation_own)/.test(door);
218
229
  }
@@ -2713,6 +2724,11 @@ function createRecordsClient(given) {
2713
2724
  for (const key of [...bundleParts.keys()]) if (key.includes(tableId)) bundleParts.delete(key);
2714
2725
  }
2715
2726
  function primedFor(door, args) {
2727
+ const look = LOOK_WRITES[door];
2728
+ if (look) {
2729
+ dropPrimedDoorAnswers(look);
2730
+ return null;
2731
+ }
2716
2732
  if (isWritingDoor(door)) {
2717
2733
  dropPrimedDoorAnswers();
2718
2734
  return null;