feat(tile-ipc): datastore strict-shim completion sweep (Phase 3.5g)
Audit table — legacy channel → strict shim mapping:
datastore-add-address → tile:datastore:add-address (NEW)
datastore-get-address → tile:datastore:get-address (NEW)
datastore-update-address → tile:datastore:update-address (NEW)
datastore-query-addresses → tile:datastore:query-addresses (NEW)
datastore-add-visit → tile:datastore:add-visit (NEW)
datastore-query-visits → tile:datastore:query-visits (NEW)
datastore-add-content → tile:datastore:add-content (NEW)
datastore-query-content → tile:datastore:query-content (NEW)
datastore-tag-address → tile:datastore:tag-address (NEW)
datastore-untag-address → tile:datastore:untag-address (NEW)
datastore-get-address-tags → tile:datastore:get-address-tags (NEW)
datastore-get-addresses-by-tag → tile:datastore:get-addresses-by-tag (NEW)
datastore-get-untagged-addresses → tile:datastore:get-untagged-addresses (NEW)
datastore-get-table → tile:datastore:get-table (pre-existing)
datastore-set-row → tile:datastore:set-row (pre-existing)
datastore-get-row → tile:datastore:get-row (pre-existing)
datastore-get-stats → tile:datastore:get-stats (pre-existing)
datastore-get-or-create-tag → tile:datastore:get-or-create-tag (pre-existing)
datastore-tag-address (item) → tile:datastore:tag-item (pre-existing)
datastore-untag-item → tile:datastore:untag-item (pre-existing)
datastore-get-tags-by-frecency → tile:datastore:get-tags-by-frecency (pre-existing)
datastore-rename-tag → tile:datastore:rename-tag (pre-existing)
datastore-update-tag-color → tile:datastore:update-tag-color (pre-existing)
datastore-delete-tag → tile:datastore:delete-tag (pre-existing)
datastore-add-item → tile:datastore:add-item (pre-existing)
datastore-get-item → tile:datastore:get-item (pre-existing)
datastore-update-item → tile:datastore:update-item (pre-existing)
datastore-delete-item → tile:datastore:delete-item (pre-existing)
datastore-hard-delete-item → tile:datastore:hard-delete-item (pre-existing)
datastore-update-item-title → tile:datastore:update-item-title (pre-existing)
datastore-update-item-favicon → tile:datastore:update-item-favicon (pre-existing)
datastore-query-items → tile:datastore:query-items (pre-existing)
datastore-get-item-tags → tile:datastore:get-item-tags (pre-existing)
datastore-get-items-by-tag → tile:datastore:get-items-by-tag (pre-existing)
datastore-get-history → tile:datastore:get-history (pre-existing)
datastore-record-item-visit → tile:datastore:record-item-visit (pre-existing)
datastore-get-item-visits → tile:datastore:get-item-visits (pre-existing)
datastore-query-item-visits → tile:datastore:query-item-visits (pre-existing)
datastore-track-navigation → tile:datastore:track-navigation (pre-existing)
datastore-add-item-event → tile:datastore:add-item-event (pre-existing)
datastore-get-item-event → tile:datastore:get-item-event (pre-existing)
datastore-query-item-events → tile:datastore:query-item-events (pre-existing)
datastore-delete-item-event → tile:datastore:delete-item-event (pre-existing)
datastore-delete-item-events → tile:datastore:delete-item-events (pre-existing)
datastore-get-latest-item-event → tile:datastore:get-latest-item-event (pre-existing)
datastore-count-item-events → tile:datastore:count-item-events (pre-existing)
Gaps filled: 13 (all address/visit/content/tag-address compat channels).
Dead-channel candidates: none — all 46 legacy channels have callers.
Changes:
- tile-ipc.ts: add _itemToAddress() helper, import dsAddContent/dsQueryContent
and dsTagItemAndPublish; add 13 new ipcMain.handle() shims under
"Address compat shims" section; capability-gate with ['items'],
['item_visits'], ['content'], or ['tags','item_tags'] as appropriate.
- tile-preload.cts: migrate 13 wrapper methods off legacy datastore-* channels
onto the new tile:datastore:* strict channels (pass tileToken).
- tsc --noEmit: clean.