@weaveprotocol/core 0.2.3 → 0.2.4

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/README.md CHANGED
@@ -4,6 +4,11 @@ A peer-to-peer data protocol for the browser. You own your identity as a
4
4
  written-down code, keep your data in signed records that sync directly between
5
5
  devices, and every app is a view onto that data rather than its owner.
6
6
 
7
+ > **Building an app?** Short guides — sign-in, collections and rules,
8
+ > queries, screens, agents — are in [packages/core/docs](packages/core/docs/README.md),
9
+ > and ship in the package as `node_modules/@weaveprotocol/core/docs/`, so a
10
+ > coding agent finds the ones that match the installed version.
11
+ >
7
12
  > **Building a client, or an agent that needs the architecture?** The
8
13
  > protocol is specified in [spec](spec/README.md): wire formats,
9
14
  > what is signed, and what every peer must check. The tests are its
@@ -459,7 +464,7 @@ relays still meet. Underneath are
459
464
 
460
465
  What the note limits: **writing**, per space, checked by every peer. What it
461
466
  cannot limit: **reading** a private space it was given — whoever holds a space's
462
- key can read all of it, and that key does not change yet. Spaces an app wants
467
+ key can read all of it, until the space's key changes (`spaces.changeKey`). Spaces an app wants
463
468
  for itself are created by the home, as part of the approval, so they land in
464
469
  the account's list on every device.
465
470
 
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/node/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAO1C,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAC3B,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAC3I,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAkBD,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,UAAU,CA4djD,CAAC;AAEH,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAgBlF;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,OAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAMlG"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/node/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAO1C,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAC3B,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAC3I,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAkBD,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,UAAU,CAoejD,CAAC;AAEH,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAgBlF;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,OAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAMlG"}
@@ -1,5 +1,5 @@
1
1
  import { rolePresets } from '../space/presets.js';
2
- import { app, appScreen, checkApp, proposeApp, reviewApp } from '../schemas/apps.js';
2
+ import { app, appScreen, checkApp, proposeApp, reviewApp, supersededApps } from '../schemas/apps.js';
3
3
  import { SCREEN_GUIDE } from '../schemas/screens.js';
4
4
  import { describeCollection } from '../records/describe.js';
5
5
  const space = { type: 'string', description: 'Space id, from spaces_list' };
@@ -233,7 +233,8 @@ export const NODE_ACTIONS = Object.freeze([
233
233
  name: 'apps_list',
234
234
  description: 'The apps proposed in a space: each with its title, who proposed it (viaAgent when an agent did), and for every collection ' +
235
235
  'it needs whether it is new, already there, or would change one — with what it allows, worked out from its rules. ' +
236
- '"added" is true once a person has added it.',
236
+ '"added" is true once a person has added it. "updates" names the app it is a new version of; "superseded" is true ' +
237
+ 'once a newer version of it has been added, so it is only history.',
237
238
  input: { type: 'object', properties: { space }, required: ['space'] },
238
239
  readOnly: true,
239
240
  peerContent: true,
@@ -241,6 +242,7 @@ export const NODE_ACTIONS = Object.freeze([
241
242
  const spaceId = str(input, 'space');
242
243
  const collections = await node.collections.list(spaceId);
243
244
  const found = await node.records.list(spaceId, { collection: app.name });
245
+ const superseded = supersededApps(found, collections);
244
246
  return found.map((record) => {
245
247
  const review = record.body ? reviewApp(record.body, collections) : null;
246
248
  return {
@@ -250,7 +252,9 @@ export const NODE_ACTIONS = Object.freeze([
250
252
  proposedBy: record.createdBy,
251
253
  ...(record.viaAgent ? { viaAgent: true } : {}),
252
254
  ...(record.body && appScreen(record.body) ? { screen: appScreen(record.body).collection } : {}),
255
+ ...(record.body?.updates ? { updates: record.body.updates } : {}),
253
256
  added: review?.added ?? false,
257
+ superseded: superseded.has(record.key),
254
258
  problem: review?.problem ?? (record.body ? null : 'It could not be read'),
255
259
  needs: review?.needs.map(({ definition, status, summary, changes }) => ({ name: definition.name, status, summary, changes })) ?? [],
256
260
  };
@@ -272,6 +276,8 @@ export const NODE_ACTIONS = Object.freeze([
272
276
  '(name, title, description, schema, links, permissions, rules — no version). Nothing is defined yet: everyone in the ' +
273
277
  'space sees the proposal, with what it allows worked out from its rules, and a person who may define collections adds it. ' +
274
278
  'Read collections_list first and reuse what the space already has (std.poll, std.task…) rather than inventing a twin. ' +
279
+ 'To change an app that is already here, read apps_list and pass the key of its newest version, the one not superseded, as "updates": ' +
280
+ 'the change then shows as an update to it, and once it is added the old version is not offered again. ' +
275
281
  'For anything plain lists and forms can\'t show — a game board, a calendar, a whiteboard — give the main collection ' +
276
282
  'a "screen": its own HTML UI (one document, inline scripts and styles, no network unless the collection names exact origins in "network"). Inside it, use exactly: ' +
277
283
  'weave.me ({ did, name }), await weave.list("<collection>", { where: { "link:<rel>": key } }), ' +
@@ -284,6 +290,7 @@ export const NODE_ACTIONS = Object.freeze([
284
290
  space,
285
291
  title: { type: 'string', description: 'What people will call it, e.g. "Carpool"' },
286
292
  description: { type: 'string', description: 'What it is for, in a sentence' },
293
+ updates: { type: 'string', description: 'The key of the app this is a new version of, from apps_list' },
287
294
  needs: {
288
295
  type: 'array',
289
296
  description: 'Collection definitions, as collections_define takes them — without version',
@@ -298,6 +305,7 @@ export const NODE_ACTIONS = Object.freeze([
298
305
  const body = {
299
306
  title: str(input, 'title'),
300
307
  ...(typeof input.description === 'string' ? { description: input.description } : {}),
308
+ ...(typeof input.updates === 'string' ? { updates: input.updates } : {}),
301
309
  needs: input.needs,
302
310
  };
303
311
  const problem = checkApp(body);
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/node/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/node/actions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAgC,MAAM,oBAAoB,CAAC;AACnI,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAuC5D,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAW,CAAC;AACrF,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAW,CAAC;AAE9G,MAAM,GAAG,GAAG,CAAC,KAA8B,EAAE,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAW,CAAC;AAElF,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,2HAA2H;IACxI,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC/D,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;KACxB;CACO,CAAC;AACX,MAAM,OAAO,GAAG,CAAC,KAA8B,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAA2C,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAErJ,MAAM,CAAC,MAAM,YAAY,GAA8B,MAAM,CAAC,MAAM,CAAe;IACjF;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,gFAAgF;QAC7F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QACzC,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;KACtE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,kCAAkC;QAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QACzC,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;KAClC;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,0GAA0G;YAC1G,4GAA4G;YAC5G,+DAA+D;QACjE,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;gBAC3D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE;aACxG;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;SACjC;QACD,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;YACxB,UAAU,EAAE,KAAK,CAAC,UAAkC;YACpD,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;SAC7F,CAAC;KACL;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,iGAAiG;YACjG,4GAA4G;YAC5G,mFAAmF;QACrF,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK;gBACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE;gBACpF,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,2CAA2C,EAAE;aACxF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,IAAI;QACf,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3B,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAC9B,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EACnB,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACxG;SACF,CAAC;KACH;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,iDAAiD;QAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;QAC3F,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KACtE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mGAAmG;QAChH,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;QAC3F,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KAC7D;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,6EAA6E;QAC1F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;QACrE,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7C,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACvC,CAAC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,gHAAgH;YAChH,mGAAmG;QACrG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;QACrE,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAC9D;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,gHAAgH;YAChH,8GAA8G;QAChH,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK;gBACL,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;aACtF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;SACnC;QACD,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7I,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,CAAC;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,sFAAsF;QACnG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QACrG,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,CAAC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qEAAqE;QAClF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;QACrE,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAC9D;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,0GAA0G;YAC1G,4FAA4F;QAC9F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;QACrE,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAChE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,6GAA6G;YAC7G,0GAA0G;YAC1G,4KAA4K;QAC9K,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;QACrE,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACjE;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,2GAA2G;YAC3G,mHAAmH;YACnH,kFAAkF;YAClF,uHAAuH;YACvH,qHAAqH;YACrH,wIAAwI;YACxI,2JAA2J;YAC3J,yHAAyH;QAC3H,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK;gBACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,oEAAoE,EAAE;gBACvI,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8HAA8H;iBACjI;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,+GAA+G;iBAC7H;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,kIAAkI;wBAClI,0HAA0H;wBAC1H,yHAAyH;wBACzH,4HAA4H;wBAC5H,yBAAyB;iBAC5B;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4EAA4E,EAAE;gBACrH,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,0HAA0H;wBAC1H,yHAAyH;iBAC5H;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;SACtC;QACD,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;gBACjE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAiC;gBAC/C,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnH,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjI,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnH,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtH,CAAC,CAAC;YACH,2EAA2E;YAC3E,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,4HAA4H;YAC5H,mHAAmH;YACnH,mHAAmH;YACnH,mEAAmE;QACrE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;QACrE,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAM,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9E,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxE,OAAO;oBACL,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI;oBACjC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI;oBAC7C,UAAU,EAAE,MAAM,CAAC,SAAS;oBAC5B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,KAAK;oBAC7B,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;oBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC;oBACzE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;iBACpI,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,sHAAsH;YACtH,gKAAgK;QAClK,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QACzC,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,qHAAqH;YACrH,uHAAuH;YACvH,sHAAsH;YACtH,2HAA2H;YAC3H,uHAAuH;YACvH,sIAAsI;YACtI,uGAAuG;YACvG,qHAAqH;YACrH,oKAAoK;YACpK,gGAAgG;YAChG,gIAAgI;YAChI,kHAAkH;YAClH,0FAA0F;QAC5F,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK;gBACL,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBAClF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBAC7E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6DAA6D,EAAE;gBACvG,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,4EAA4E;oBACzF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;SACtC;QACD,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACpC,MAAM,IAAI,GAAQ;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;gBAC1B,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,KAAK,EAAE,KAAK,CAAC,KAAqC;aACnD,CAAC;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;gBACL,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,6EAA6E;gBACnF,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;aAC7H,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,2GAA2G;YAC3G,0EAA0E;QAC5E,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC/C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;SAC5B;QACD,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACvF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,kEAAkE;QAC/E,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK;gBACL,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;gBACzF,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACjC;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACrC,GAAG,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC;KACL;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,oEAAoE;YACpE,sHAAsH;YACtH,uFAAuF;YACvF,+FAA+F;YAC/F,+GAA+G;YAC/G,wEAAwE;YACxE,qFAAqF;QACvF,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK;gBACL,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;gBAC5F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;gBAChD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;gBAC9E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBACzF,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;SAClC;QACD,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;YAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAiB,EAAE,KAAyB,CAAC,CAAC;QAC1E,CAAC;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,kBAAkB;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QACjF,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC/E;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,+GAA+G;YAC/G,gGAAgG;QAClG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QACjF,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACnF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,4GAA4G;YAC5G,8FAA8F;QAChG,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK;gBACL,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBACjF,KAAK;aACN;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC;SAC1C;QACD,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE;YAC1E,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,OAAO,CAAC,KAAK,CAAC;SAClB,CAAC;KACL;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,wGAAwG;YACxG,wDAAwD;QAC1D,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnF,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;SAC3B;QACD,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;YAC1D,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClF,CAAC;KACL;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,0HAA0H;YAC1H,uEAAuE;QACzE,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACjH,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;SACxC;QACD,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAiC,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KACxI;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,qGAAqG;QAClH,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE;YAC3D,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;SACnC;QACD,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;KAC9G;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,oGAAoG;QACjH,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QACjF,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACxC,CAAC;KACF;CACF,CAAC,CAAC;AAEH,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,MAAkB,EAAE,KAAc;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,yBAAyB,CAAC;IAC1G,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,YAAY,GAAG,GAAG,CAAC;IAC3D,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI;YAAE,OAAO,kBAAkB,GAAG,GAAG,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAe,CAAC;YAAE,OAAO,IAAI,GAAG,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;QACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChE,IAAI,QAAQ,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,GAAG,aAAa,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1H,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,GAAG,0BAA0B,CAAC;IACpG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAa,EAAE,IAAY,EAAE,QAAiB,EAAE;IAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAgC,CAAC,CAAC;AAC5D,CAAC"}
@@ -11,6 +11,10 @@
11
11
  *
12
12
  * An agent can propose but never add: every peer ignores definitions signed
13
13
  * under an agent's note (see `identity/agent-note.ts`).
14
+ *
15
+ * A changed app is a new proposal that names the one it `updates`. Once the
16
+ * update is added, the app it replaced is superseded: it would only undo the
17
+ * update, so it is not offered again.
14
18
  */
15
19
  import type { DefineCollection, NodeCollection, NodeRecord, P2PNode } from '../node/types.js';
16
20
  import type { Typed } from '../query/types.js';
@@ -39,6 +43,8 @@ export interface App {
39
43
  readonly needs: ReadonlyArray<AppDefinition>;
40
44
  /** Where it was copied from: `<space id>/<record key>` */
41
45
  readonly from?: string;
46
+ /** The key of the app in this space that this one is a new version of */
47
+ readonly updates?: string;
42
48
  }
43
49
  /** At most this many collections in one app */
44
50
  export declare const MAX_APP_COLLECTIONS = 10;
@@ -74,6 +80,12 @@ export declare function appScreen(body: App): {
74
80
  * already there, or would change one that is — each with what it allows.
75
81
  */
76
82
  export declare function reviewApp(body: App, collections: ReadonlyArray<NodeCollection>): AppReview;
83
+ /**
84
+ * The apps a newer version has replaced: each one that an added app
85
+ * `updates`, and, through it, each one that app replaced in turn. Adding one
86
+ * of these would only undo the update.
87
+ */
88
+ export declare function supersededApps(records: ReadonlyArray<NodeRecord<App>>, collections: ReadonlyArray<NodeCollection>): ReadonlySet<string>;
77
89
  /**
78
90
  * Proposes an app in a space: one `std.app` record. Anyone in the space may,
79
91
  * an agent included; nothing is defined until a person adds it.
@@ -1 +1 @@
1
- {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/schemas/apps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/schemas/apps.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export const app = {
15
15
  description: { type: 'string', maxLength: 1000 },
16
16
  needs: { type: 'array', minItems: 1, maxItems: MAX_APP_COLLECTIONS, items: { type: 'object' } },
17
17
  from: { type: 'string', maxLength: 300 },
18
+ updates: { type: 'string', minLength: 1, maxLength: 100 },
18
19
  },
19
20
  required: ['title', 'needs'],
20
21
  },
@@ -31,6 +32,9 @@ export function checkApp(value) {
31
32
  if (body.description !== undefined && (typeof body.description !== 'string' || body.description.length > 1000)) {
32
33
  return 'An app\'s description is at most 1000 characters';
33
34
  }
35
+ if (body.updates !== undefined && (typeof body.updates !== 'string' || !body.updates || body.updates.length > 100)) {
36
+ return 'An app\'s "updates" is the key of the app it replaces';
37
+ }
34
38
  if (!Array.isArray(body.needs) || body.needs.length === 0 || body.needs.length > MAX_APP_COLLECTIONS) {
35
39
  return `An app needs 1–${MAX_APP_COLLECTIONS} collections`;
36
40
  }
@@ -129,6 +133,27 @@ export function reviewApp(body, collections) {
129
133
  });
130
134
  return { needs, added: needs.every((need) => need.status === 'same'), problem: null };
131
135
  }
136
+ /**
137
+ * The apps a newer version has replaced: each one that an added app
138
+ * `updates`, and, through it, each one that app replaced in turn. Adding one
139
+ * of these would only undo the update.
140
+ */
141
+ export function supersededApps(records, collections) {
142
+ const replaces = new Map();
143
+ for (const record of records) {
144
+ if (record.body?.updates && record.body.updates !== record.key)
145
+ replaces.set(record.key, record.body.updates);
146
+ }
147
+ const superseded = new Set();
148
+ for (const record of records) {
149
+ if (!record.body || !reviewApp(record.body, collections).added)
150
+ continue;
151
+ // Walk back from each added app; the guard stops at a loop.
152
+ for (let key = replaces.get(record.key); key && !superseded.has(key) && key !== record.key; key = replaces.get(key))
153
+ superseded.add(key);
154
+ }
155
+ return superseded;
156
+ }
132
157
  /**
133
158
  * Proposes an app in a space: one `std.app` record. Anyone in the space may,
134
159
  * an agent included; nothing is defined until a person adds it.
@@ -137,6 +162,11 @@ export async function proposeApp(node, spaceId, body) {
137
162
  const problem = checkApp(body);
138
163
  if (problem)
139
164
  throw new Error(problem);
165
+ if (body.updates) {
166
+ const replaced = await node.records.get(spaceId, body.updates);
167
+ if (!replaced || replaced.collection !== app.name)
168
+ throw new Error(`"updates" names no app in this space: ${body.updates}`);
169
+ }
140
170
  return node.records.put(spaceId, app.name, body);
141
171
  }
142
172
  /**
@@ -156,6 +186,9 @@ export async function addApp(node, spaceId, key) {
156
186
  const review = reviewApp(record.body, known);
157
187
  if (review.problem)
158
188
  throw new Error(review.problem);
189
+ const apps = await node.records.list(spaceId, { collection: app.name });
190
+ if (supersededApps(apps, known).has(key))
191
+ throw new Error('A newer version of this app has been added; adding this one would undo it');
159
192
  for (const need of review.needs) {
160
193
  if (need.status === 'same')
161
194
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/schemas/apps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/schemas/apps.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AA6B5D,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,uGAAuG;AACvG,MAAM,CAAC,MAAM,GAAG,GAAkC;IAChD,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,4FAA4F;IACzG,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;YACvD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;YAChD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC/F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;YACxC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;SAC1D;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;KAC7B;IACD,WAAW,EAAE,CAAC,UAAU,CAAC;IACzB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;CAChE,CAAC;AAEF,oDAAoD;AACpD,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,MAAM,IAAI,GAAG,KAA4B,CAAC;IAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,0BAA0B,CAAC;IACzE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,0CAA0C,CAAC;IACvI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/G,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QACnH,OAAO,uDAAuD,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrG,OAAO,kBAAkB,mBAAmB,cAAc,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,SAAS,KAAK,GAAG,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,GAAG,EAAE,kCAAkC,CAAC;QACtF,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,GAAG,EAAE,4CAA4C,CAAC;QAC5H,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,GAAG,EAAE,oEAAoE,CAAC;QACxG,MAAM,OAAO,GAAG,qBAAqB,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO;YAAE,OAAO,GAAG,EAAE,KAAK,OAAO,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,EAAE,KAAK,IAAI,CAAC,IAAI,kBAAkB,CAAC;QACvE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,EAAE,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAqBD,+EAA+E;AAC/E,SAAS,OAAO,CAAC,UAUhB;IACC,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE;QAC7B,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,EAAE;QACzC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC;QAC/C,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,QAAQ;QACvC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,WAAW,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrE,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,EAAE;QAC/B,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAE,MAA0D,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;AAEnI,sFAAsF;AACtF,SAAS,WAAW,CAAC,IAAoB,EAAE,MAAqB;IAC9D,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC3G,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;QAAE,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAChG,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAC3H,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAClI,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;QAAE,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAClG,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,SAAS,CAAC,IAAS;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAS,EAAE,WAA0C;IAC7E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAiB,EAAE;QACzD,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACtF,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAuC,EAAE,WAA0C;IAChH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,KAAK;YAAE,SAAS;QACzE,4DAA4D;QAC5D,KAAK,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3I,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAa,EAAE,OAAe,EAAE,IAAS;IACxE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9H,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAM,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAa,EAAE,OAAe,EAAE,GAAW;IACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAM,OAAO,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC;IACpG,mGAAmG;IACnG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;QAAE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/G,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAM,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IACvI,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,SAAS;QACrC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,0GAA0G;AAC1G,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,SAAiB,EAAE,GAAW,EAAE,OAAe;IAC1F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAM,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC;IACpG,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAClD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AACzI,CAAC"}
@@ -457,7 +457,7 @@ export declare function positionBetween(before?: string | null, after?: string |
457
457
  export declare function useSchemas(node: P2PNode, spaceId: string, schemas: ReadonlyArray<DefineCollection>): Promise<void>;
458
458
  export { contact, contactRequest, door, knock, knockAnswer } from './contacts.js';
459
459
  export type { Contact, ContactRequestRecord, Door, Knock, KnockAnswer } from './contacts.js';
460
- export { app, appScreen, checkApp, reviewApp, proposeApp, addApp, copyApp, MAX_APP_COLLECTIONS } from './apps.js';
460
+ export { app, appScreen, checkApp, reviewApp, supersededApps, proposeApp, addApp, copyApp, MAX_APP_COLLECTIONS } from './apps.js';
461
461
  export { SCREEN_GUIDE, SCREEN_CLIENT, screenDocument, screenPolicy, createScreenBridge } from './screens.js';
462
462
  export type { ScreenBridge, ScreenRecord, ScreenViewer } from './screens.js';
463
463
  export type { App, AppDefinition, AppReview, AppNeedReview } from './apps.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAY/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI3D,+EAA+E;AAC/E,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;mBAQnB,CAAC;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,sEAAsE;AACtE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWlB,CAAC;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,sCAAsC;AACtC,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;cAQd,CAAC;AACH,MAAM,WAAW,GAAG;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,sFAAsF;AACtF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAiBrB,CAAC;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,gDAAgD;AAChD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;oBAQpB,CAAC;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWlB,CAAC;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,uEAAuE;AACvE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;iBAYjB,CAAC;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,6DAA6D;AAC7D,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAcf,CAAC;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAef,CAAC;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAWf,CAAC;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgBf,CAAC;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,qCAAqC;AACrC,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,gBAAgB,CAAmD,CAAC;AACpH,8BAA8B;AAC9B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,gBAAgB,CAA6C,CAAC;AACxG,gCAAgC;AAChC,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,gBAAgB,CAA8C,CAAC;AAI3G;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAoBrF;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxH;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClF,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC7G,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7E,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAY/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI3D,+EAA+E;AAC/E,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;mBAQnB,CAAC;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,sEAAsE;AACtE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWlB,CAAC;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,sCAAsC;AACtC,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;cAQd,CAAC;AACH,MAAM,WAAW,GAAG;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,sFAAsF;AACtF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAiBrB,CAAC;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,gDAAgD;AAChD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;oBAQpB,CAAC;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWlB,CAAC;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,uEAAuE;AACvE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;iBAYjB,CAAC;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,6DAA6D;AAC7D,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAcf,CAAC;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAef,CAAC;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAWf,CAAC;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgBf,CAAC;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,qCAAqC;AACrC,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,gBAAgB,CAAmD,CAAC;AACpH,8BAA8B;AAC9B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,gBAAgB,CAA6C,CAAC;AACxG,gCAAgC;AAChC,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,gBAAgB,CAA8C,CAAC;AAI3G;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAoBrF;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxH;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClF,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC7G,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7E,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
@@ -226,6 +226,6 @@ export async function useSchemas(node, spaceId, schemas) {
226
226
  }
227
227
  }
228
228
  export { contact, contactRequest, door, knock, knockAnswer } from './contacts.js';
229
- export { app, appScreen, checkApp, reviewApp, proposeApp, addApp, copyApp, MAX_APP_COLLECTIONS } from './apps.js';
229
+ export { app, appScreen, checkApp, reviewApp, supersededApps, proposeApp, addApp, copyApp, MAX_APP_COLLECTIONS } from './apps.js';
230
230
  export { SCREEN_GUIDE, SCREEN_CLIENT, screenDocument, screenPolicy, createScreenBridge } from './screens.js';
231
231
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
package/docs/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # Building on Weave
2
+
3
+ Short guides for building an app with `@weaveprotocol/core`. They ship in the
4
+ package, so they always match the version installed: an agent working in an
5
+ app's repository finds them at `node_modules/@weaveprotocol/core/docs/`.
6
+
7
+ The package README, one folder up, covers every module in depth. The protocol
8
+ itself (what goes over the wire, what is signed, what every peer checks) is
9
+ specified in `spec/` in the repository: https://github.com/leifriksheim/weave/tree/main/spec
10
+
11
+ ## The model in ten lines
12
+
13
+ - An **account** is a seed the person keeps. Apps never need it.
14
+ - A **node** (`createNode`) is the whole stack in one object: it signs, stores,
15
+ encrypts, checks and syncs. Everything below goes through it.
16
+ - A **space** is a shared place: its members, their roles, and its data.
17
+ Private spaces are encrypted end to end.
18
+ - A **collection** is a named kind of record in a space, like `app.todo.item`.
19
+ Its definition (a JSON Schema, links, rules) is stored in the space itself.
20
+ - A **record** is a signed JSON body with a key that stays the same across
21
+ edits. Every edit is a new version.
22
+ - **Rules** say who may create, edit and delete. Every device checks every
23
+ record that arrives against them, so there is no server to write.
24
+ - **Queries** are plain JSON: Mongo-style filters, sorting, paging, and
25
+ `include` to follow links.
26
+
27
+ ## Guides
28
+
29
+ | Guide | Read it to |
30
+ |---|---|
31
+ | [building-an-app.md](building-an-app.md) | Get a node: sign-in, the account home, React |
32
+ | [collections.md](collections.md) | Say what your data is and who may do what with it |
33
+ | [records-and-queries.md](records-and-queries.md) | Write, edit, delete, query and watch records |
34
+ | [screens-and-apps.md](screens-and-apps.md) | Ship a small app inside a space, with no deploy |
35
+ | [agents.md](agents.md) | Let an agent read and write as the person, from a terminal or MCP |
36
+
37
+ ## Rules of thumb
38
+
39
+ - Import only from the package's entry points: `@weaveprotocol/core`, and
40
+ `/react`, `/session`, `/schemas`, `/elements`, `/calls` for those parts.
41
+ - Name your collections reverse-DNS style, `app.<yours>.<thing>`. `sys.*` is
42
+ the protocol's own, and `std.*` is the shared library in `/schemas`.
43
+ - Check the standard library (`@weaveprotocol/core/schemas`) before defining a
44
+ reaction, comment, tag, message, task or poll of your own. Using the same
45
+ one is how two apps see each other's data.
46
+ - Never keep state outside records if other people should see it. Records are
47
+ what syncs.
48
+ - A refused write throws with the reason in plain words. Show it, or check
49
+ first with `node.records.can` and hide the button.
package/docs/agents.md ADDED
@@ -0,0 +1,59 @@
1
+ # Agents
2
+
3
+ An agent reads and writes as the person, with a note from their account that
4
+ every peer checks. What it writes shows as theirs, "via agent", everywhere.
5
+ It never gets the seed, and it can't do what needs a person: define
6
+ collections, change roles, invite, join or leave spaces.
7
+
8
+ ## Every operation, described once
9
+
10
+ Every node operation is in `NODE_ACTIONS`: a name, a sentence and a JSON
11
+ Schema for its input. The CLI, the MCP server and the browser's WebMCP tools
12
+ are all generated from it.
13
+
14
+ ```typescript
15
+ import { NODE_ACTIONS, runAction } from '@weaveprotocol/core';
16
+
17
+ await runAction(node, 'records_put', { space, collection: 'app.todo.item', body: { text: 'milk' } });
18
+ ```
19
+
20
+ `records_query` takes the same plain-JSON query as `node.records.query`
21
+ ([records-and-queries.md](records-and-queries.md)).
22
+
23
+ ## Connecting an agent to someone's account
24
+
25
+ From `@weaveprotocol/cli`, the `weave` command:
26
+
27
+ ```bash
28
+ npx @weaveprotocol/cli connect wv_… # the code from "Connect an agent" in an app
29
+ ```
30
+
31
+ It makes a key for this computer's agent, waits while the person allows it at
32
+ their account home, and adds `weave mcp` to Claude Code, Claude Desktop and
33
+ Cursor where it finds them. The agent is then a node of its own: it follows
34
+ the account's spaces and keeps working with every tab closed.
35
+
36
+ ## Tools an agent gets
37
+
38
+ `node_info`, `spaces_list`, `spaces_status`, `spaces_preview_invite`, `spaces_access`, `spaces_profiles`,
39
+ `collections_list`, `records_query`, `records_list`, `records_get`,
40
+ `records_linked`, `records_history`, `records_can`, `records_put`,
41
+ `records_update`, `records_delete`, and for new tools: `apps_list`,
42
+ `apps_propose`, `apps_screen_guide`.
43
+
44
+ To make something new, an agent proposes an app (`apps_propose`): the
45
+ collections it needs and, optionally, a screen for each. The person reads what
46
+ it would do and adds it. See [screens-and-apps.md](screens-and-apps.md).
47
+
48
+ ## In your own code
49
+
50
+ `node.asAgent({ keys, note })` gives the same node acting as an agent, from an
51
+ agent's note issued by the account home. Everything it writes is signed under
52
+ that note.
53
+
54
+ ## Working on a Weave app with a coding agent
55
+
56
+ These guides ship inside the package so an agent in your repository can read
57
+ them at `node_modules/@weaveprotocol/core/docs/`, matched to the installed
58
+ version. A line in your project's `AGENTS.md` or `CLAUDE.md` pointing there is
59
+ enough.
@@ -0,0 +1,162 @@
1
+ # Building an app
2
+
3
+ An app needs a node. There are two ways to get one, and they end in the same
4
+ place: a `P2PNode` you read and write through.
5
+
6
+ ## Connect to the person's account home (recommended)
7
+
8
+ The app never sees the account's seed. It asks the person's account home for
9
+ access, the person picks which spaces it gets, and the home signs a note from
10
+ the account to a key the app made for itself. Every peer checks that note, so
11
+ the app cannot write anywhere it was not given.
12
+
13
+ ```tsx
14
+ import { createWeaveConnection } from '@weaveprotocol/core/session';
15
+ import { WeaveProvider, useConnection } from '@weaveprotocol/core/react';
16
+
17
+ const connection = createWeaveConnection({
18
+ home: 'https://weave-home.netlify.app/connect', // a suggestion: the person may use their own
19
+ request: {
20
+ name: 'Todo',
21
+ access: 'write', // or 'read'
22
+ scope: 'spaces', // or 'account', for every space
23
+ create: [{ name: 'Todos', visibility: 'private' }],
24
+ },
25
+ network: { relays: ['wss://p2p-web-relay.fly.dev'] },
26
+ });
27
+
28
+ createRoot(root).render(
29
+ <WeaveProvider connection={connection}>
30
+ <App />
31
+ </WeaveProvider>,
32
+ );
33
+
34
+ function App() {
35
+ const { connection, state } = useConnection();
36
+ if (state.status !== 'ready') return <button onClick={() => connection.connect()}>Connect with Weave</button>;
37
+ return <Todos />;
38
+ }
39
+ ```
40
+
41
+ - The grant lasts seven days and is remembered between visits. When it runs
42
+ out, `state.status` is `expired`, and connecting again renews it.
43
+ - `scope: 'spaces'` gives the spaces the person picks, plus any the app asked
44
+ to `create`. `scope: 'account'` gives every space, and lets the app make and
45
+ join spaces. Ask for the narrower one unless the app is a view onto
46
+ everything.
47
+ - Without React: `connectToHome`, `startConnectedNode` and `grantStore` from
48
+ `@weaveprotocol/core/session`.
49
+
50
+ ## Sign in inside the app
51
+
52
+ For an app that holds the account itself. The flow (where data lives, which
53
+ account, password or passkey, creating one, pairing a phone) ships as an
54
+ element and as a React component.
55
+
56
+ ```html
57
+ <weave-auth app-name="Todo" relays="wss://p2p-web-relay.fly.dev"></weave-auth>
58
+ <script type="module">
59
+ import '@weaveprotocol/core/elements';
60
+ document.querySelector('weave-auth').addEventListener('weave-session', (event) => {
61
+ const session = event.detail.session; // { account, did, sessionDid, node }, or null
62
+ if (session) start(session.node);
63
+ });
64
+ </script>
65
+ ```
66
+
67
+ ```tsx
68
+ import { createWeaveAuth } from '@weaveprotocol/core/session';
69
+ import { WeaveProvider, WeaveAuth, useWeave } from '@weaveprotocol/core/react';
70
+
71
+ const auth = createWeaveAuth({ appName: 'Todo', network: { relays: ['wss://p2p-web-relay.fly.dev'] } });
72
+
73
+ function App() {
74
+ const { state } = useWeave();
75
+ if (state?.stage !== 'ready') return <WeaveAuth />;
76
+ return <Todos />;
77
+ }
78
+
79
+ createRoot(root).render(<WeaveProvider auth={auth}><App /></WeaveProvider>);
80
+ ```
81
+
82
+ ## A node by hand
83
+
84
+ For scripts, tests and servers:
85
+
86
+ ```typescript
87
+ import { createNode, createIdentityManager, createLocalRootSigner, indexedDBStores, rolePresets } from '@weaveprotocol/core';
88
+
89
+ const manager = createIdentityManager();
90
+ const me = await manager.fromRecoveryCode(code);
91
+
92
+ const node = await createNode({
93
+ signer: createLocalRootSigner(me, manager.getProvider()),
94
+ stores: indexedDBStores('my-app'),
95
+ network: { relays: ['wss://p2p-web-relay.fly.dev'] },
96
+ });
97
+ ```
98
+
99
+ Leave out `network` to stay offline. Call `node.close()` when done.
100
+
101
+ ## Spaces
102
+
103
+ ```typescript
104
+ const space = await node.spaces.create({ name: 'Groceries', visibility: 'private', ...rolePresets.team });
105
+
106
+ const invite = await node.spaces.invite(space.id); // a link-safe string; treat it as a secret
107
+ const view = await node.spaces.invite(space.id, { write: false }); // read-only
108
+ await node.spaces.join(invite); // on the friend's side
109
+ await node.spaces.closeInvite(space.id, invite); // nobody else joins with it
110
+ ```
111
+
112
+ - `rolePresets`: `solo` (just you; invites are view-only), `team` (everyone
113
+ invited can write, invite and add collections), `community` (admins,
114
+ moderators, members). Or pass your own `roles`.
115
+ - A private invite carries the space key. Anyone holding it can read the
116
+ space, so don't log it or put it in a URL a server sees (use the fragment,
117
+ `#invite=…`).
118
+ - `node.spaces.list()` gives every space this node has, with `readable`,
119
+ `writable` and `role`.
120
+
121
+ ## React hooks
122
+
123
+ All from `@weaveprotocol/core/react`, below a `WeaveProvider`:
124
+
125
+ | Hook | Gives |
126
+ |---|---|
127
+ | `useNode()` | The node, to write with |
128
+ | `useSpaces()` | The spaces, kept current, with `create`, `join`, `leave` |
129
+ | `useQuery(space, query)` | `{ result, error }`, re-run as records change here or arrive from peers |
130
+ | `useRecord(space, key)` / `useLinked(space, key)` | One record; the records pointing at it |
131
+ | `useCollections(space)` / `useProfiles(space)` / `useAccess(space)` | What a space holds; who is in it; roles and members |
132
+ | `useSpaceStatus(space)` | Connection and peers |
133
+ | `useCan(space, action, target)` | Whether to show an edit or delete button |
134
+ | `useHoldSpace(space)` | Keeps a space syncing while the view is on screen |
135
+ | `useLive(space, load, deps)` | Anything else, reloaded as the space changes |
136
+
137
+ ```tsx
138
+ function Todos({ space }: { space: string }) {
139
+ const node = useNode();
140
+ const { result } = useQuery(space, { collection: todos, sort: { '@createdAt': 'asc' } });
141
+ if (!result) return null;
142
+ if (!result.complete && result.records.length === 0) return <p>Loading…</p>;
143
+ return result.records.map((todo) => <Todo key={todo.key} todo={todo} />);
144
+ }
145
+ ```
146
+
147
+ `result.complete` is false while an app that holds only part of a space is
148
+ still fetching a collection. Show "Loading…", not "Nothing here".
149
+
150
+ ## Live messages
151
+
152
+ For things that should reach whoever is connected now and be kept nowhere,
153
+ like typing or presence:
154
+
155
+ ```typescript
156
+ await node.spaces.send(space.id, { type: 'typing' });
157
+ node.subscribe((event) => {
158
+ if (event.type === 'message') console.log(event.from, event.message); // from: the sender's account
159
+ });
160
+ ```
161
+
162
+ At most 64 KB each. Someone who isn't connected misses it.
@@ -0,0 +1,151 @@
1
+ # Collections
2
+
3
+ A collection is a named kind of record in a space. Its definition is stored in
4
+ the space as a signed record, so another app, or an agent, can open the space
5
+ and know what its data means without your code.
6
+
7
+ ```typescript
8
+ import * as z from 'zod'; // or Valibot, ArkType, or plain JSON Schema
9
+ import { collection } from '@weaveprotocol/core';
10
+
11
+ const Poll = z.object({
12
+ question: z.string().min(1).max(500),
13
+ options: z.array(z.string().min(1)).min(2).max(10),
14
+ });
15
+
16
+ export const polls = collection({
17
+ name: 'app.poll',
18
+ title: 'Poll',
19
+ schema: Poll,
20
+ permissions: ['moderate'],
21
+ rules: {
22
+ edit: 'creator',
23
+ delete: ['creator', 'can:moderate'],
24
+ fixed: ['options'],
25
+ },
26
+ });
27
+
28
+ await node.collections.define(space.id, polls);
29
+ ```
30
+
31
+ `collection(…)` only keeps the definition's types, so queries and writes that
32
+ name `polls` are typed from the schema. Pass it where a collection name goes.
33
+
34
+ ## Names
35
+
36
+ Reverse-DNS, lower case, at least two parts: `app.poll`, `com.example.recipe`.
37
+ Letters, digits and `-` in each part. `sys.*` is the protocol's own and
38
+ `std.*` is the standard library.
39
+
40
+ ## Schemas
41
+
42
+ What gets stored is JSON Schema, in a small subset every app agrees on:
43
+
44
+ `type`, `properties`, `required`, `items`, `enum`, `const`, `minimum`,
45
+ `maximum`, `minLength`, `maxLength`, `minItems`, `maxItems`,
46
+ `additionalProperties` (true or false), `title`, `description`
47
+
48
+ and two that say what a value means, so any app can show it well:
49
+
50
+ - `oneOf: [{ const, title }]`: fixed choices with labels.
51
+ - `x-choicesFrom: { rel, field }`: the value picks from a list in the record
52
+ this one links to. A vote's `choice` picks from its poll's `options`.
53
+
54
+ Anything else, like `pattern` or `format`, is refused when you define the
55
+ collection, with the reason. A Zod `.regex()` or `.email()` fails for that
56
+ reason. Validators that can describe themselves as JSON Schema work directly:
57
+ Zod 4.2+, ArkType 2.1.28+, Valibot with `toStandardJsonSchema`.
58
+
59
+ A record that doesn't fit the schema is still kept and synced, and comes back
60
+ with `conforms: false`. Shape is checked when you write, not enforced on
61
+ arrival, because two peers may have seen different versions of a definition.
62
+ Rules, below, are enforced everywhere.
63
+
64
+ ## Links
65
+
66
+ Records point at each other with links: `{ rel: 'about', to: <record key> }`.
67
+ A definition declares the roles its records may carry:
68
+
69
+ ```typescript
70
+ links: {
71
+ about: { to: ['app.poll'], cardinality: 'one' }, // only at polls, at most one
72
+ mentions: { to: '*' }, // at anything, many
73
+ },
74
+ ```
75
+
76
+ A link role is lower camel case. Queries follow links with `include`
77
+ ([records-and-queries.md](records-and-queries.md)).
78
+
79
+ ## Rules
80
+
81
+ | Rule | Means | Default |
82
+ |---|---|---|
83
+ | `create` | Who may create a record | `member` |
84
+ | `edit` | Who may write later versions | `member` |
85
+ | `delete` | Who may delete | same as `edit` |
86
+ | `onePer` | At most one record per combination of these | none |
87
+ | `fixed` | Fields that keep the value the record was created with | none |
88
+
89
+ Who is one of these, or a list meaning any of them:
90
+
91
+ - `member`: anyone holding a role in the space.
92
+ - `creator`: whoever wrote the record's first version. Not allowed for `create`.
93
+ - `can:<permission>`: someone whose role holds a permission the collection
94
+ declares in `permissions`. `can:moderate` in `app.poll` is the permission
95
+ `app.poll/moderate`.
96
+
97
+ `onePer` names `@author` (the writer), `link:<rel>` (the record a link points
98
+ at) or a body field. It works by construction: the record's key is derived
99
+ from those values, so a second vote from the same person on the same poll is
100
+ the first vote's next version, not a new record.
101
+
102
+ ```typescript
103
+ rules: { edit: 'creator', delete: 'creator', onePer: ['@author', 'link:about'] } // one vote per person per poll
104
+ ```
105
+
106
+ ## Roles
107
+
108
+ Roles live in the space, not in your code. Each has a name, a rank and a list
109
+ of permissions:
110
+
111
+ ```typescript
112
+ await node.spaces.putRole(space.id, {
113
+ name: 'host', title: 'Host', rank: 50,
114
+ permissions: ['invite', 'app.poll/moderate'],
115
+ });
116
+ await node.spaces.setMember(space.id, did, 'host');
117
+ ```
118
+
119
+ - `*` alone is every permission. `*/*` is every permission any collection
120
+ declares, so a moderator can moderate every app in the space.
121
+ - Space permissions include `invite`, `define` (add or change collections)
122
+ and `manage`.
123
+ - You can only change people and roles ranked below your own.
124
+
125
+ ## Other options
126
+
127
+ - `history: 'all'` keeps every version of every record, hash-linked
128
+ (`node.records.history`). The default, `latest`, keeps the current one.
129
+ - `topics: ['channel']` lets a node that can't read the space still match
130
+ records by that field's value, for notifications. At most 8.
131
+ - `screen`: a small UI for the collection's records. See
132
+ [screens-and-apps.md](screens-and-apps.md).
133
+ - `version`: defining again bumps it. Records keep the version they were
134
+ written under.
135
+
136
+ ## The standard library
137
+
138
+ ```typescript
139
+ import { reaction, comment, poll, vote, useSchemas } from '@weaveprotocol/core/schemas';
140
+
141
+ await useSchemas(node, space.id, [poll, vote, reaction, comment]); // defines only what the space is missing
142
+ ```
143
+
144
+ Annotations that attach to any record: `reaction`, `comment`, `tag`,
145
+ `attachment`, `reference`. Common nouns: `message`, `column`, `task`, `poll`,
146
+ `vote`, `call`. They are ordinary collections. Using the same one is how two
147
+ apps agree: a poll asked in one can be voted on in another.
148
+
149
+ Hand-made order (cards on a board) uses a `position` string.
150
+ `positionBetween(before, after)` makes one that sorts between two others, so
151
+ moving a card rewrites only that card.
@@ -0,0 +1,125 @@
1
+ # Records and queries
2
+
3
+ A record is a JSON body in a collection of a space, signed by whoever wrote
4
+ it. Its `key` stays the same across edits, and links point at the key. Every
5
+ edit is a new version.
6
+
7
+ ## Writing
8
+
9
+ ```typescript
10
+ const todo = await node.records.put(space.id, todos, { text: 'milk', done: false });
11
+
12
+ await node.records.update(space.id, todo.key, { text: 'milk', done: true }); // the whole body, not a patch
13
+ await node.records.delete(space.id, todo.key);
14
+ ```
15
+
16
+ - `put` makes a new record with a random key, unless you give one
17
+ (`{ key }`). A chosen key suits a record there is one of by nature, like a
18
+ settings record.
19
+ - `update` takes the whole next body. Links carry over unless you pass new
20
+ ones.
21
+ - `delete` writes a version marked deleted, which syncs like any other.
22
+ - Pass a definition made with `collection(…)` instead of a name, and the body
23
+ is type-checked as you write it.
24
+ - A write this account isn't allowed to make throws, with the reason in plain
25
+ words. Nothing is signed. `node.records.can(space, 'edit', key)` asks first.
26
+
27
+ Which version wins is decided by `seq` (one higher each edit), then by version
28
+ id, never by a clock. Two devices that edited apart agree on the same winner.
29
+ Merging edits inside one record is not built yet, so design records so that
30
+ people edit different ones: one record per vote, per card, per reaction.
31
+
32
+ ## Links
33
+
34
+ ```typescript
35
+ await node.records.put(space.id, votes, { choice: 0 }, {
36
+ links: [{ rel: 'about', to: poll.key }],
37
+ });
38
+
39
+ const all = await node.records.linked(space.id, poll.key, { rel: 'about' });
40
+ ```
41
+
42
+ The roles a record may carry are declared on its collection
43
+ ([collections.md](collections.md)).
44
+
45
+ ## What a record looks like
46
+
47
+ ```typescript
48
+ {
49
+ key, version, seq, space, collection,
50
+ body, // null when encrypted and this node has no key
51
+ links, // [{ rel, to }]
52
+ root, // the account that wrote this version
53
+ createdBy, // the account that created the record
54
+ createdAt, updatedAt, // the writer's clock: for display only
55
+ verified, // signature, delegation and shape check out
56
+ conforms, // fits the collection's schema (null when there is none)
57
+ viaAgent, // true when an agent wrote it for the account
58
+ }
59
+ ```
60
+
61
+ Show `root` or `createdBy` as the author, not `author`, which is the session
62
+ key that signed. `node.spaces.profiles(space)` maps accounts to names.
63
+
64
+ ## Queries
65
+
66
+ A query is plain JSON, so an agent can write one, and it can cross a wire.
67
+
68
+ ```typescript
69
+ const { records, cursor, complete } = await node.records.query(space.id, {
70
+ collection: polls,
71
+ where: { closed: { $ne: true }, question: { $contains: 'may' } },
72
+ sort: { '@createdAt': 'desc' },
73
+ limit: 20,
74
+ include: {
75
+ votes: { rel: 'about', from: votes }, // records linking to each poll
76
+ reactions: { rel: 'about', from: 'std.reaction', count: true },
77
+ },
78
+ });
79
+ ```
80
+
81
+ - **Fields.** A bare name is a field of the body (`done`, `address.city`). A
82
+ name starting with `@` is about the record: `@key`, `@author`, `@root`,
83
+ `@createdBy`, `@createdAt`, `@updatedAt`, `@seq`.
84
+ - **Operators.** `$eq`, `$ne` (true for a missing field too), `$gt`, `$gte`,
85
+ `$lt`, `$lte`, `$in`, `$nin`, `$exists`, `$contains` (a case-insensitive
86
+ substring, or an element of a list). Combine with `$and`, `$or`, `$not`. A
87
+ bare value means `$eq`.
88
+ - **Sort** by several fields in order. Ties break on the key.
89
+ - **Paging.** Pass the `cursor` back to get the next page. It is null on the
90
+ last one.
91
+ - **Include** follows links. `direction: 'in'` (the default) finds records
92
+ linking to this one, `'out'` the ones it links to. Each include takes its own
93
+ `where`, `limit`, nested `include`, or `count: true` for just the number.
94
+ What it finds is on each record's `included`.
95
+ - Name collections by their definitions and the results are typed, includes
96
+ too.
97
+ - `complete` is false while a node that holds only part of a space is still
98
+ fetching a collection the query needs. Show "Loading…", not "Nothing here".
99
+ - A malformed query throws, saying what to fix.
100
+
101
+ This is not full-text search: `$contains` is a substring match.
102
+
103
+ ## Watching
104
+
105
+ ```typescript
106
+ const stop = node.records.watch(space.id, query, (result) => render(result));
107
+ stop();
108
+ ```
109
+
110
+ It runs now and again whenever the space's records change, here or from a
111
+ peer. In React, `useQuery(space, query)` does the same.
112
+
113
+ For anything else, subscribe to the node's events:
114
+
115
+ ```typescript
116
+ const unsubscribe = node.subscribe((event) => {
117
+ if (event.type === 'records') reload(event.space);
118
+ });
119
+ ```
120
+
121
+ ## History
122
+
123
+ `node.records.history(space, key)` gives the versions this node keeps, newest
124
+ first: the current one and the first one, or every one in a collection defined
125
+ with `history: 'all'`.
@@ -0,0 +1,129 @@
1
+ # Screens and apps
2
+
3
+ A space can grow its own tools without anyone deploying anything. An **app**
4
+ is a record that proposes some collections. A **screen** is a small UI that
5
+ travels on a collection definition.
6
+
7
+ ## Apps: proposing collections
8
+
9
+ ```typescript
10
+ import { proposeApp, reviewApp, addApp } from '@weaveprotocol/core/schemas';
11
+
12
+ const proposal = await proposeApp(node, space.id, {
13
+ title: 'Chores',
14
+ description: 'Who does what around the house this week.',
15
+ needs: [
16
+ {
17
+ name: 'app.chores.task',
18
+ title: 'Chore',
19
+ schema: {
20
+ type: 'object',
21
+ properties: { title: { type: 'string', minLength: 1, maxLength: 200 }, done: { type: 'boolean' } },
22
+ required: ['title'],
23
+ },
24
+ rules: { delete: 'creator' },
25
+ },
26
+ ],
27
+ });
28
+
29
+ // Someone allowed to define collections reads what it would do, then adds it
30
+ const review = reviewApp(proposal.body!, await node.collections.list(space.id));
31
+ await addApp(node, space.id, proposal.key);
32
+ ```
33
+
34
+ - A proposal is one `std.app` record. Nothing is defined yet, so it can't
35
+ break anything.
36
+ - `reviewApp` says, per collection, whether it is new, a change, or the same,
37
+ with a summary in sentences worked out from its rules. Show that to the
38
+ person before they add it.
39
+ - `addApp` defines each collection, signed by whoever adds it. They need the
40
+ `define` permission in the space.
41
+ - An agent can propose but never add: every peer ignores definitions signed
42
+ under an agent's note.
43
+ - At most 10 collections per app.
44
+ - To change an app, propose a new one with `updates: <its key>`. Until the
45
+ update is added, the old one stays in use; after, `supersededApps` names the
46
+ old one, and `addApp` refuses it, since adding it would undo the update.
47
+
48
+ ## Screens: a UI on a collection
49
+
50
+ A definition may carry `screen`: one HTML document, scripts and styles inline,
51
+ at most 48 KB. Apps that show the space can run it instead of plain lists.
52
+
53
+ It runs sealed: no network, no storage, no popups, no forms that submit, no
54
+ libraries or fonts from URLs. It reaches records only through `window.weave`,
55
+ as the person looking, so every rule still holds and a screen can do nothing
56
+ its viewer couldn't.
57
+
58
+ ```html
59
+ <ul id="list"></ul>
60
+ <form id="add"><input name="title" required><button>Add</button></form>
61
+ <script>
62
+ const list = document.getElementById('list');
63
+ async function draw() {
64
+ const chores = await weave.list({ collection: 'app.chores.task' });
65
+ list.replaceChildren(...chores.map((chore) => {
66
+ const item = document.createElement('li');
67
+ item.textContent = chore.body.title + (chore.body.done ? ' ✓' : '');
68
+ item.onclick = () => weave.update(chore.key, { ...chore.body, done: !chore.body.done });
69
+ return item;
70
+ }));
71
+ }
72
+ document.getElementById('add').onsubmit = async (event) => {
73
+ event.preventDefault();
74
+ await weave.put('app.chores.task', { title: event.target.title.value });
75
+ event.target.reset();
76
+ };
77
+ weave.onChange(draw);
78
+ draw();
79
+ </script>
80
+ ```
81
+
82
+ `window.weave`:
83
+
84
+ | | |
85
+ |---|---|
86
+ | `weave.me` | `{ did, name }`: who is looking |
87
+ | `weave.collections` | The collection names this screen may use (its app's) |
88
+ | `await weave.list({ collection, where })` | Records, oldest first. `where: { "link:<rel>": key }` or `{ field: value }` |
89
+ | `await weave.get(key)` | One record, or null |
90
+ | `await weave.put(collection, body, { links, key })` | Writes a record as the person looking |
91
+ | `await weave.update(key, body, { links })` | The next version |
92
+ | `await weave.remove(key)` | Deletes |
93
+ | `await weave.people()` | `[{ did, name }]` of the space |
94
+ | `weave.onChange(callback)` | Called when records change, here or on another device. Returns a stop function |
95
+
96
+ Each record is `{ key, collection, body, links, createdBy, createdAt, updatedAt, mine, viaAgent }`.
97
+
98
+ - Keep all state in records and redraw on `onChange`. Other people's changes
99
+ arrive that way.
100
+ - Two people can write at once. Let the collection's rules settle clashes
101
+ (`onePer`, creator-only edits), not the screen.
102
+ - A refused write rejects with the reason. An error the screen doesn't catch
103
+ is shown to the person.
104
+ - The full guide an agent is given is exported as `SCREEN_GUIDE` from
105
+ `@weaveprotocol/core/schemas`.
106
+
107
+ ## Hosting screens in your app
108
+
109
+ To show screens, run them in an `<iframe sandbox="allow-scripts">` whose page
110
+ removes network access (a strict Content-Security-Policy), and hand it a
111
+ message port to a bridge:
112
+
113
+ ```typescript
114
+ import { createScreenBridge, screenDocument } from '@weaveprotocol/core/schemas';
115
+
116
+ const channel = new MessageChannel();
117
+ const bridge = createScreenBridge({ node, spaceId, collections, port: channel.port1 });
118
+ frame.contentWindow.postMessage(
119
+ { weave: 'load', document: screenDocument(screen), me: { did: node.did, name }, collections },
120
+ '*',
121
+ [channel.port2],
122
+ );
123
+ // bridge.close() when the frame goes away
124
+ ```
125
+
126
+ The page inside the frame writes the document it is given, with `window.__weave`
127
+ set to `{ port, me, collections }` first. The Weave example app's frame page,
128
+ `apps/example/public/screen.html`, and `apps/example/src/components/apps/ScreenFrame.tsx`,
129
+ in the repository, show the whole thing.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weaveprotocol/core",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "type": "module",
5
5
  "description": "Self-sovereign P2P protocol for the browser — identity, schemas, storage, networking, and gossip sync",
6
6
  "repository": {
@@ -10,6 +10,7 @@
10
10
  },
11
11
  "files": [
12
12
  "dist",
13
+ "docs",
13
14
  "README.md"
14
15
  ],
15
16
  "main": "dist/index.js",