@estiva-app/interop 0.2.0 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@estiva-app/interop",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Render and act on another app's objects from its published NIP-89 manifest. The owner defines the projection; the consumer decides how it looks.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -50,7 +50,7 @@
50
50
  "@estiva-app/protocol": ">=0.3.0"
51
51
  },
52
52
  "devDependencies": {
53
- "@estiva-app/protocol": "^0.3.0",
53
+ "@estiva-app/protocol": ">=0.3.0",
54
54
  "typescript": "~5.9.3"
55
55
  }
56
56
  }
package/src/index.ts CHANGED
@@ -35,6 +35,15 @@ export {
35
35
  widgetChainProblem,
36
36
  CLOSED_WIDGETS,
37
37
  peopleViaRelay,
38
+ createProjectionCache,
39
+ createPeopleCache,
40
+ MANIFEST_TTL_MS,
41
+ PROFILE_HIT_TTL_MS,
42
+ PROFILE_MISS_TTL_MS,
43
+ type PeopleCache,
44
+ type PeopleCacheOptions,
45
+ type ProjectionCache,
46
+ type ResolvedManifest,
38
47
  type QueryFn,
39
48
  type PeopleFn,
40
49
  type People,
package/src/projection.ts CHANGED
@@ -50,6 +50,92 @@ export type People = Record<string, Profile>
50
50
  export type PeopleFn = (pubkeys: string[]) => Promise<People>
51
51
 
52
52
  /** The default: one kind:0 query, straight to the relay. */
53
+ /**
54
+ * How long a *name* may be believed.
55
+ *
56
+ * Names change rarely, so this is generous. See {@link PROFILE_MISS_TTL_MS} for
57
+ * the half that matters.
58
+ */
59
+ export const PROFILE_HIT_TTL_MS = 10 * 60_000
60
+
61
+ /**
62
+ * How long an *absent* profile may be believed, and it is deliberately short.
63
+ *
64
+ * A miss is somebody who has not finished setting up their identity — which is
65
+ * to say, precisely the person whose name is about to arrive. Cached as long as
66
+ * a hit, they render as `nostr:<8 chars>` until a full reload, and a consumer
67
+ * that re-reads on a timer looks like its refresh is broken. That is PEE-3,
68
+ * found in Peek once its panels started polling.
69
+ */
70
+ export const PROFILE_MISS_TTL_MS = 60_000
71
+
72
+ export interface PeopleCacheOptions {
73
+ hitTtlMs?: number
74
+ missTtlMs?: number
75
+ /** Injectable clock. A test needs to move time, not wait ten minutes. */
76
+ now?: () => number
77
+ }
78
+
79
+ /**
80
+ * A profile store that outlives any one lookup.
81
+ *
82
+ * The store and the lookup have different lifetimes, which is why this is not
83
+ * simply a wrapped {@link PeopleFn}: a consumer builds its query per call —
84
+ * Peek's carries the viewer's token — while the profiles it finds are public
85
+ * and worth keeping across all of them. `through` takes the lookup of the
86
+ * moment and answers from one store.
87
+ *
88
+ * **Caller-owned**, like {@link createProjectionCache}. Peek's original lived in
89
+ * a module-level `Map`, which worked but meant every test needed a reset hook
90
+ * to undo the previous one.
91
+ */
92
+ export interface PeopleCache {
93
+ /** Wrap a lookup so it batches and expires against this store. */
94
+ through(fromRelay: PeopleFn): PeopleFn
95
+ /** The common case: {@link peopleViaRelay}, cached. */
96
+ viaRelay(query: QueryFn): PeopleFn
97
+ /** Forget everything. What a sign-out should call. */
98
+ clear(): void
99
+ }
100
+
101
+ /** A profile with nothing in it is a miss — the relay had no `kind:0`. */
102
+ const isMiss = (person: People[string]) => Object.keys(person).length === 0
103
+
104
+ export function createPeopleCache(options: PeopleCacheOptions = {}): PeopleCache {
105
+ const hitTtlMs = options.hitTtlMs ?? PROFILE_HIT_TTL_MS
106
+ const missTtlMs = options.missTtlMs ?? PROFILE_MISS_TTL_MS
107
+ const now = options.now ?? Date.now
108
+ const known = new Map<string, { person: People[string]; expiresAt: number }>()
109
+
110
+ const through = (fromRelay: PeopleFn): PeopleFn => async (pubkeys) => {
111
+ const at = now()
112
+ /*
113
+ One lookup for the whole unknown set, never one per key. A screen with ten
114
+ reference widgets asks about the same handful of people, and asking
115
+ separately would turn one request into N — which is the cost this exists
116
+ to avoid, not a detail of it.
117
+ */
118
+ const unknown = pubkeys.filter((key) => {
119
+ const cached = known.get(key)
120
+ return cached === undefined || cached.expiresAt <= at
121
+ })
122
+ if (unknown.length > 0) {
123
+ const found = await fromRelay(unknown)
124
+ for (const key of unknown) {
125
+ const person = found[key] ?? {}
126
+ known.set(key, { person, expiresAt: at + (isMiss(person) ? missTtlMs : hitTtlMs) })
127
+ }
128
+ }
129
+ return Object.fromEntries(pubkeys.map((key) => [key, known.get(key)?.person ?? {}]))
130
+ }
131
+
132
+ return {
133
+ through,
134
+ viaRelay: (query) => through(peopleViaRelay(query)),
135
+ clear: () => known.clear(),
136
+ }
137
+ }
138
+
53
139
  export function peopleViaRelay(query: QueryFn): PeopleFn {
54
140
  return async (pubkeys) => {
55
141
  if (pubkeys.length === 0) return {}
@@ -311,6 +397,19 @@ function resolveActions(
311
397
 
312
398
  const tagValue = (e: SignedEvent, name: string) => e.tags.find((t) => t[0] === name)?.[1]
313
399
 
400
+ /**
401
+ * Does the event carry this tag with this value — on **any** of them?
402
+ *
403
+ * `tagValue` reads the first tag with a given name, which is the wrong test for
404
+ * deciding whether an event would have matched a filter: a relay's `#a` matches
405
+ * if *any* `a` tag equals the wanted value, and an event may legitimately carry
406
+ * several. Used where a filter's own predicate is re-applied to a merged
407
+ * response (SHI-13), so that "did this come back because of that filter?" is
408
+ * answered the way the relay answered it.
409
+ */
410
+ const hasTagValue = (e: SignedEvent, name: string, value: string) =>
411
+ e.tags.some((t) => t[0] === name && t[1] === value)
412
+
314
413
  /** A manifest event's `content`, or null when it is not parseable JSON. */
315
414
  function parseManifest(event: SignedEvent): Manifest | null {
316
415
  try {
@@ -358,16 +457,100 @@ function webTemplate(event: SignedEvent, entity: string): string | undefined {
358
457
  return undefined
359
458
  }
360
459
 
361
- export async function resolveManifest(
362
- pointer: AddressPointer,
363
- query: QueryFn,
364
- ): Promise<{
460
+ /** What {@link resolveManifest} answers with. */
461
+ export interface ResolvedManifest {
365
462
  manifest: Manifest
366
463
  address: string
367
464
  viaRecommendation: boolean
368
465
  /** NIP-89 `web` template, `<bech32>` not yet substituted. */
369
466
  webTemplate?: string
370
- } | null> {
467
+ }
468
+
469
+ /**
470
+ * A memo for the half of a resolve that does not change between refreshes.
471
+ *
472
+ * Resolving one reference costs four round trips, and **two of them are NIP-89
473
+ * discovery** — the author's `kind:31989` recommendation, then the `kind:31990`
474
+ * manifest itself. A consumer that re-resolves on a timer pays for both every
475
+ * time, and they answer the same thing until an app republishes its manifest.
476
+ * Measured on Ship, where a reference widget re-resolves on the poll: 4
477
+ * requests per reference per tick, identical on the second resolve, against a
478
+ * relay that meters reads at 300 a minute.
479
+ *
480
+ * **Owned by the caller, not this module.** A module-level cache would be
481
+ * invisible global state shared by every consumer in the process, impossible to
482
+ * scope to a screen and awkward to reset in a test. A caller that wants no
483
+ * caching passes nothing and gets exactly the old behaviour.
484
+ *
485
+ * Deliberately only the manifest. The object, its changes, its comments and its
486
+ * children are the parts a refresh exists to notice, and caching those is how
487
+ * a live widget becomes a screenshot.
488
+ */
489
+ export interface ProjectionCache {
490
+ /** Forget everything. Worth calling after publishing a manifest. */
491
+ clear(): void
492
+ /** @internal */
493
+ lookup(key: string, now: number): { value: ResolvedManifest | null } | undefined
494
+ /** @internal */
495
+ remember(key: string, value: ResolvedManifest | null, now: number): void
496
+ }
497
+
498
+ /**
499
+ * How long a manifest may be believed without asking again.
500
+ *
501
+ * Five minutes is a compromise with one real cost: republish a manifest and
502
+ * consumers keep drawing the old projection for up to that long. That is
503
+ * recoverable and self-correcting, where the alternative — asking twice per
504
+ * reference per tick, for ever — is neither.
505
+ */
506
+ export const MANIFEST_TTL_MS = 5 * 60_000
507
+
508
+ export function createProjectionCache(ttlMs: number = MANIFEST_TTL_MS): ProjectionCache {
509
+ const entries = new Map<string, { at: number; value: ResolvedManifest | null }>()
510
+ return {
511
+ clear: () => entries.clear(),
512
+ lookup(key, now) {
513
+ const found = entries.get(key)
514
+ if (!found) return undefined
515
+ // `>=`, not `>`: a TTL of 0 must mean "never believe it", and an entry
516
+ // exactly at the boundary has expired rather than being on its last tick.
517
+ if (now - found.at >= ttlMs) {
518
+ entries.delete(key)
519
+ return undefined
520
+ }
521
+ return { value: found.value }
522
+ },
523
+ remember(key, value, now) {
524
+ entries.set(key, { at: now, value })
525
+ },
526
+ }
527
+ }
528
+
529
+ /**
530
+ * A negative answer is cached too.
531
+ *
532
+ * "No app claims this kind" costs the same two round trips as a hit and is just
533
+ * as stable. Caching only successes would leave the expensive case — a
534
+ * reference nothing can draw — paying full price on every tick for ever.
535
+ */
536
+ export async function resolveManifest(
537
+ pointer: AddressPointer,
538
+ query: QueryFn,
539
+ cache?: ProjectionCache,
540
+ ): Promise<ResolvedManifest | null> {
541
+ const key = `${pointer.kind}:${pointer.pubkey}`
542
+ const now = Date.now()
543
+ const memo = cache?.lookup(key, now)
544
+ if (memo) return memo.value
545
+ const answer = await resolveManifestUncached(pointer, query)
546
+ cache?.remember(key, answer, now)
547
+ return answer
548
+ }
549
+
550
+ async function resolveManifestUncached(
551
+ pointer: AddressPointer,
552
+ query: QueryFn,
553
+ ): Promise<ResolvedManifest | null> {
371
554
  const parse = parseManifest
372
555
  const addressOf = (event: SignedEvent) =>
373
556
  `${event.kind}:${event.pubkey}:${tagValue(event, 'd') ?? ''}`
@@ -932,6 +1115,8 @@ export async function resolveForeignEvent(
932
1115
  query: QueryFn,
933
1116
  /** Defaults to asking the relay. The browser passes a cached lookup. */
934
1117
  lookupPeople?: PeopleFn,
1118
+ /** See {@link ProjectionCache}. Omitting it is exactly the old behaviour. */
1119
+ cache?: ProjectionCache,
935
1120
  ): Promise<ForeignObject | null> {
936
1121
  let pointer: EventPointer
937
1122
  try {
@@ -956,6 +1141,7 @@ export async function resolveForeignEvent(
956
1141
  const resolved = await resolveManifest(
957
1142
  { kind: root.kind, pubkey: root.pubkey, identifier: '', relays: pointer.relays },
958
1143
  query,
1144
+ cache,
959
1145
  )
960
1146
  if (!resolved) return null
961
1147
 
@@ -990,6 +1176,11 @@ export async function resolveForeignObject(
990
1176
  * recursing forever. See `MAX_LIST_DEPTH`.
991
1177
  */
992
1178
  depth = 0,
1179
+ /**
1180
+ * Optional memo for the NIP-89 discovery half. See {@link ProjectionCache} —
1181
+ * omitting it is exactly the old behaviour.
1182
+ */
1183
+ cache?: ProjectionCache,
993
1184
  ): Promise<ForeignObject | null> {
994
1185
  let pointer: AddressPointer
995
1186
  try {
@@ -1001,7 +1192,7 @@ export async function resolveForeignObject(
1001
1192
  }
1002
1193
  const address = pointerToAddress(pointer)
1003
1194
 
1004
- const resolved = await resolveManifest(pointer, query)
1195
+ const resolved = await resolveManifest(pointer, query, cache)
1005
1196
  if (!resolved) return null
1006
1197
  const { manifest, viaRecommendation } = resolved
1007
1198
  // Substituted here rather than in the component: `<bech32>` is a NIP-89
@@ -1013,15 +1204,29 @@ export async function resolveForeignObject(
1013
1204
  if (!projection) return null
1014
1205
  const records = foldRuleOf(manifest)
1015
1206
 
1016
- // One round trip for the root, its changes and its comments. `#a` on both the
1017
- // change and the comment kind, because both point at the object by *address*
1018
- // rather than by event id — which is what makes them survive the author
1019
- // replacing the root event.
1207
+ /*
1208
+ One round trip for the root, its changes, its comments **and its children**.
1209
+
1210
+ `#a` on both the change and the comment kind, because both point at the
1211
+ object by *address* rather than by event id — which is what makes them
1212
+ survive the author replacing the root event.
1213
+
1214
+ The children used to be a second round trip, issued after the root came
1215
+ back. They never needed to be: the child filter is built from the manifest
1216
+ and the *pointer*, and an addressable event's `d` is `pointer.identifier` by
1217
+ definition — it is what we just queried by. So once the manifest is known,
1218
+ nothing about the child filter depends on the root's contents (SHI-13).
1219
+
1220
+ That is the difference between two requests per reference per refresh and
1221
+ one, and with the manifest memoised it is the whole cost of a tick.
1222
+ */
1223
+ const childFilter = childFilterFor({ projection, manifest, pointer, depth })
1020
1224
  const events = await query([
1021
1225
  { kinds: [pointer.kind], authors: [pointer.pubkey], '#d': [pointer.identifier], limit: 1 },
1022
1226
  // Only when the app actually declares a change kind — see `foldRuleOf`.
1023
1227
  ...(manifest.records ? [{ kinds: [manifest.records.changeKind], '#a': [address], limit: 500 }] : []),
1024
1228
  { kinds: commentKinds, '#a': [address], limit: 200 },
1229
+ ...(childFilter ? [childFilter.filter] : []),
1025
1230
  ])
1026
1231
 
1027
1232
  const root = events.find(
@@ -1059,8 +1264,19 @@ export async function resolveForeignObject(
1059
1264
  records,
1060
1265
  )
1061
1266
 
1267
+ /*
1268
+ Matched on the comment filter's own criteria — the kind **and** the `a` tag.
1269
+
1270
+ Kind alone was safe while this was its own query: the relay only returned
1271
+ what the comment filter asked for. Now that the children ride in the same
1272
+ request (SHI-13), a child sharing the comment kind would arrive here too and
1273
+ be counted as a comment on its own parent. Peek is exactly that shape: its
1274
+ Topic declares `kind:9` messages as children and `kind:9` as its comment
1275
+ kind, so every message in the Folder would have become a comment on the
1276
+ Topic — a widget silently showing a conversation twice.
1277
+ */
1062
1278
  const comments = events
1063
- .filter((e) => commentKinds.includes(e.kind))
1279
+ .filter((e) => commentKinds.includes(e.kind) && hasTagValue(e, 'a', address))
1064
1280
  .sort(byOrder)
1065
1281
  .map((e) => ({ id: e.id, author: e.pubkey, body: e.content, createdAt: e.created_at }))
1066
1282
 
@@ -1089,12 +1305,10 @@ export async function resolveForeignObject(
1089
1305
  A child may be a regular event with no address of its own (Peek's messages
1090
1306
  are), so this builds by event rather than by pointer.
1091
1307
  */
1092
- const children = await resolveChildren({
1093
- projection,
1094
- root,
1308
+ const children = childrenFrom({
1309
+ events,
1310
+ childFilter,
1095
1311
  manifest,
1096
- query,
1097
- depth,
1098
1312
  webTemplate: resolved.webTemplate,
1099
1313
  viaRecommendation,
1100
1314
  })
@@ -1113,48 +1327,82 @@ export async function resolveForeignObject(
1113
1327
  }
1114
1328
 
1115
1329
  /**
1116
- * Resolve a projection's `list` slot into child objects.
1330
+ * The filter for a projection's `list` slot, or nothing.
1331
+ *
1332
+ * Split out from fetching so it can be built **before** the root event is in
1333
+ * hand and merged into the object's own round trip (SHI-13). Everything it
1334
+ * needs is in the manifest and the pointer: an addressable event's `d` *is*
1335
+ * `pointer.identifier`, since that is what the root filter matches on, so
1336
+ * reading it back off the root taught us nothing we did not already know.
1117
1337
  *
1118
- * Returns undefined when no `list` is declared — distinct from `[]`, which
1119
- * means "declared, and nothing matched". A renderer needs to tell "this holds
1120
- * nothing" from "this holds no list".
1338
+ * Returns undefined when no `list` is declared — distinct from a declared list
1339
+ * that matches nothing, which a renderer must be able to tell apart. The two
1340
+ * other "declared but not renderable" cases are folded in here too, and both
1341
+ * come back as `[]` from {@link childrenFrom}: a depth budget already spent,
1342
+ * and a child kind the manifest never says how to draw.
1121
1343
  */
1122
- async function resolveChildren(args: {
1344
+ function childFilterFor(args: {
1123
1345
  projection: { widget: string | string[]; slots: Record<string, SlotSpec | SlotSpec[]> }
1124
- root: SignedEvent
1125
1346
  manifest: Manifest
1126
- query: QueryFn
1347
+ pointer: AddressPointer
1127
1348
  depth: number
1128
- webTemplate?: string
1129
- viaRecommendation: boolean
1130
- }): Promise<ForeignObject[] | undefined> {
1131
- const { projection, root, manifest, query, depth, webTemplate, viaRecommendation } = args
1349
+ }): { filter: Record<string, unknown>; kind: number; via: string; parent: string } | null | undefined {
1350
+ const { projection, manifest, pointer, depth } = args
1132
1351
  const spec = projection.slots.list
1133
1352
  const children = !Array.isArray(spec) ? spec?.children : undefined
1134
1353
  if (!children) return undefined
1135
1354
  // The consumer's budget, not the manifest's — see MAX_LIST_DEPTH.
1136
- if (depth >= MAX_LIST_DEPTH) return []
1137
-
1138
- const childProjection = manifest.projections?.[String(children.kind)]
1355
+ if (depth >= MAX_LIST_DEPTH) return null
1139
1356
  // A declared list whose child kind has no projection is not renderable, and
1140
1357
  // an empty list is the honest answer: the objects exist, this app has not
1141
1358
  // said how to draw them.
1142
- if (!childProjection) return []
1359
+ if (!manifest.projections?.[String(children.kind)]) return null
1143
1360
 
1144
- const identifier = tagValue(root, 'd') ?? ''
1145
1361
  const parent =
1146
1362
  children.match === 'identifier'
1147
- ? identifier
1148
- : pointerToAddress({ kind: root.kind, pubkey: root.pubkey, identifier, relays: [] })
1363
+ ? pointer.identifier
1364
+ : pointerToAddress({ ...pointer, relays: [] })
1149
1365
 
1150
- const found = await query([
1151
- { kinds: [children.kind], [`#${children.via}`]: [parent], limit: children.limit ?? 100 },
1152
- ])
1366
+ return {
1367
+ filter: { kinds: [children.kind], [`#${children.via}`]: [parent], limit: children.limit ?? 100 },
1368
+ kind: children.kind,
1369
+ via: children.via,
1370
+ parent,
1371
+ }
1372
+ }
1153
1373
 
1374
+ /**
1375
+ * The child objects, picked back out of the merged result set.
1376
+ *
1377
+ * **Matched on the filter's own criteria, never on kind alone.** Peek's Topic
1378
+ * declares `kind:9` messages as its children and `kind:9` as its comment kind,
1379
+ * so a merged response carries both under one number and only the tag tells
1380
+ * them apart. An event can honestly be both — Ship writes a `kind:9` with an
1381
+ * `a` naming the object *and* an `h` naming the Folder — and it appeared in
1382
+ * both result sets when these were two queries. Re-applying each filter's own
1383
+ * predicate reproduces that, rather than making them compete.
1384
+ */
1385
+ function childrenFrom(args: {
1386
+ events: SignedEvent[]
1387
+ childFilter: ReturnType<typeof childFilterFor>
1388
+ manifest: Manifest
1389
+ webTemplate?: string
1390
+ viaRecommendation: boolean
1391
+ }): ForeignObject[] | undefined {
1392
+ const { events, childFilter, manifest, webTemplate, viaRecommendation } = args
1393
+ if (childFilter === undefined) return undefined
1394
+ if (childFilter === null) return []
1395
+
1396
+ const childProjection = manifest.projections?.[String(childFilter.kind)]
1397
+ if (!childProjection) return []
1154
1398
  const records = foldRuleOf(manifest)
1155
- return found.sort(byOrder).map((event) =>
1156
- buildChildObject({ root: event, manifest, projection: childProjection, records, webTemplate, viaRecommendation }),
1157
- )
1399
+
1400
+ return events
1401
+ .filter((e) => e.kind === childFilter.kind && hasTagValue(e, childFilter.via, childFilter.parent))
1402
+ .sort(byOrder)
1403
+ .map((event) =>
1404
+ buildChildObject({ root: event, manifest, projection: childProjection, records, webTemplate, viaRecommendation }),
1405
+ )
1158
1406
  }
1159
1407
 
1160
1408
  /**
@@ -1472,6 +1720,8 @@ export async function resolveFolderProject(
1472
1720
  * own `list` is a budget check rather than a thing nobody remembered.
1473
1721
  */
1474
1722
  depth = 0,
1723
+ /** See {@link ProjectionCache}. Omitting it is exactly the old behaviour. */
1724
+ cache?: ProjectionCache,
1475
1725
  ): Promise<FolderProject | null> {
1476
1726
  // The render loop this forbids is not hypothetical: two folders naming each
1477
1727
  // other's projects resolve forever, and the manifest declaring them is
@@ -1684,7 +1934,7 @@ export async function resolveFolderProject(
1684
1934
 
1685
1935
  // 3. Now the authoritative manifest — the object's author gets to say which
1686
1936
  // app renders their project (kind:31989), same as for an inline reference.
1687
- const resolved = await resolveManifest(pointer, query)
1937
+ const resolved = await resolveManifest(pointer, query, cache)
1688
1938
  if (!resolved) {
1689
1939
  return null
1690
1940
  }