@estiva-app/interop 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/projection.d.ts +63 -12
- package/dist/projection.d.ts.map +1 -1
- package/dist/projection.js +126 -4
- package/dist/projection.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/projection.ts +202 -7
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,57 @@ how a declaration is read, is a MAJOR — in `0.x`, a MINOR — even when no
|
|
|
6
6
|
TypeScript signature moved. A consumer upgrading must be able to tell whether
|
|
7
7
|
manifests already published still mean what they meant.
|
|
8
8
|
|
|
9
|
+
## 0.6.0 — 2026-09-01
|
|
10
|
+
|
|
11
|
+
**Manifest behaviour: an object-creating action is now offered instead of
|
|
12
|
+
skipped.** No manifest changes shape; one that already declares
|
|
13
|
+
`input.type: "object"` starts being rendered, which is the point (RFC 0.4
|
|
14
|
+
§13.4).
|
|
15
|
+
|
|
16
|
+
- **`resolveActions` no longer drops them.** It used to say why: *"an action
|
|
17
|
+
that creates a whole new object needs a form and a parent, so it is skipped
|
|
18
|
+
rather than drawn as a control that cannot work."* True until something drew
|
|
19
|
+
one — and the consequence was that a manifest could describe the single most
|
|
20
|
+
useful cross-app action and no app could offer it. Ship has declared
|
|
21
|
+
`add-issue` with a real schema the whole time.
|
|
22
|
+
|
|
23
|
+
They resolve with `control: 'form'`, `fields` (each with any vocabulary
|
|
24
|
+
already looked up, the same service `options` performs for a `select`), and
|
|
25
|
+
**`createsUnder`** — the other half of "needs a form *and a parent*". A
|
|
26
|
+
consumer drawing only the properties would publish an orphan.
|
|
27
|
+
|
|
28
|
+
- **`buildActionEvent` takes `{ property: value }`** for those actions, and a
|
|
29
|
+
`newId` for the object being created.
|
|
30
|
+
|
|
31
|
+
`newId` is supplied rather than generated: ADR 0002 §10 constraint 2 — the
|
|
32
|
+
runtime reaches for nothing and is handed everything — and it makes the built
|
|
33
|
+
event a pure function of its inputs. It is **required** for a kind in NIP-01's
|
|
34
|
+
parameterized-replaceable range, because an object published without a `d` has
|
|
35
|
+
no address at all: nothing can reference it, comment on it, or act on it.
|
|
36
|
+
|
|
37
|
+
**The rule that makes construction possible, previously implicit: a property's
|
|
38
|
+
name is the tag its value is written to.** It held for Ship by a coincidence of
|
|
39
|
+
naming — `add-issue` declares `{ title }` and a Ship issue carries
|
|
40
|
+
`["title", …]` — and nothing said so, while RFC 0.4 §13.4 asserts the existing
|
|
41
|
+
declaration is already sufficient for a consumer to try. Stated now at the point
|
|
42
|
+
of use.
|
|
43
|
+
|
|
44
|
+
Its limit, recorded rather than designed around: **nothing can target an event's
|
|
45
|
+
`content`.** Ship's issue description lives there and is therefore not creatable
|
|
46
|
+
from another app, which is why `add-issue` declares only a title.
|
|
47
|
+
|
|
48
|
+
**Every refusal names what was allowed** — an undeclared field, a required one
|
|
49
|
+
left empty, a value outside a declared vocabulary, and a scalar handed to a form
|
|
50
|
+
or the reverse. That is a requirement rather than a nicety: the owning app
|
|
51
|
+
cannot enforce any of it, so a consumer that guesses is the one putting junk in
|
|
52
|
+
a shared record, and one told only "invalid" cannot do better next time.
|
|
53
|
+
|
|
54
|
+
Verified against production, through Ship's live manifest: resolved as a form,
|
|
55
|
+
built, published, **and Ship's own fold shows an ordinary issue** — right title,
|
|
56
|
+
default status, right parent. The fixture was deleted afterwards.
|
|
57
|
+
|
|
58
|
+
Additive, so a MINOR by the rule ADR 0002 §4b sets for `0.x`.
|
|
59
|
+
|
|
9
60
|
## 0.5.0 — 2026-09-01
|
|
10
61
|
|
|
11
62
|
**Manifest behaviour: two optional fields an action may now declare.** Nothing
|
package/dist/index.d.ts
CHANGED
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
* of every app that installed it, which is the objection that rules out
|
|
25
25
|
* iframes.
|
|
26
26
|
*/
|
|
27
|
-
export { resolveManifest, resolveForeignObject, resolveForeignEvent, resolveFolderProject, commentKindsOf, buildActionEvent, pickWidget, widgetChainProblem, CLOSED_WIDGETS, peopleViaRelay, createProjectionCache, createPeopleCache, MANIFEST_TTL_MS, PROFILE_HIT_TTL_MS, PROFILE_MISS_TTL_MS, type PeopleCache, type PeopleCacheOptions, type ProjectionCache, type ResolvedManifest, type QueryFn, type PeopleFn, type People, type ForeignObject, type FolderProject, type ResolvedSlot, type ResolvedAction, type ManifestAction, type ActionEffect, ACTION_EFFECTS, type UnsignedActionEvent, } from './projection.js';
|
|
27
|
+
export { resolveManifest, resolveForeignObject, resolveForeignEvent, resolveFolderProject, commentKindsOf, buildActionEvent, pickWidget, widgetChainProblem, CLOSED_WIDGETS, peopleViaRelay, createProjectionCache, createPeopleCache, MANIFEST_TTL_MS, PROFILE_HIT_TTL_MS, PROFILE_MISS_TTL_MS, type PeopleCache, type PeopleCacheOptions, type ProjectionCache, type ResolvedManifest, type QueryFn, type PeopleFn, type People, type ForeignObject, type FolderProject, type ResolvedSlot, type ResolvedAction, type ActionFormField, type ManifestAction, type ActionEffect, ACTION_EFFECTS, type UnsignedActionEvent, } from './projection.js';
|
|
28
28
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAA"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EAenB,cAAc,GAEf,MAAM,iBAAiB,CAAA"}
|
package/dist/projection.d.ts
CHANGED
|
@@ -263,7 +263,28 @@ export interface ManifestAction {
|
|
|
263
263
|
};
|
|
264
264
|
input?: {
|
|
265
265
|
type: string;
|
|
266
|
+
/** For a scalar input: the vocabulary its value must come from. */
|
|
266
267
|
enum?: string;
|
|
268
|
+
/**
|
|
269
|
+
* For `type: 'object'`: the fields a consumer draws, and which are required.
|
|
270
|
+
*
|
|
271
|
+
* **A property's name is the tag its value is written to** (PRO-4). That
|
|
272
|
+
* rule was implicit — Ship's `add-issue` declares `{ title }` and a Ship
|
|
273
|
+
* issue carries `["title", …]`, so it held by coincidence of naming and
|
|
274
|
+
* nothing said so. It is stated here because a consumer cannot construct
|
|
275
|
+
* the event without it, and RFC 0.4 §13.4 asserts the existing declaration
|
|
276
|
+
* is already sufficient for one to try.
|
|
277
|
+
*
|
|
278
|
+
* Its limit, recorded rather than designed around: **nothing can target an
|
|
279
|
+
* event's `content`.** Ship's issue description lives there and is
|
|
280
|
+
* therefore not creatable from another app, which is why `add-issue`
|
|
281
|
+
* declares only a title.
|
|
282
|
+
*/
|
|
283
|
+
properties?: Record<string, {
|
|
284
|
+
type?: string;
|
|
285
|
+
enum?: string;
|
|
286
|
+
}>;
|
|
287
|
+
required?: string[];
|
|
267
288
|
};
|
|
268
289
|
}
|
|
269
290
|
/**
|
|
@@ -276,6 +297,19 @@ export interface ManifestAction {
|
|
|
276
297
|
* them on this side is what lets the React component stay a dumb renderer that
|
|
277
298
|
* would work for any app.
|
|
278
299
|
*/
|
|
300
|
+
/** One field of an object-creating action's form. */
|
|
301
|
+
export interface ActionFormField {
|
|
302
|
+
/** Also the tag its value is written to — see {@link ManifestAction.input}. */
|
|
303
|
+
name: string;
|
|
304
|
+
type: string;
|
|
305
|
+
required: boolean;
|
|
306
|
+
/** When the property names a vocabulary, its entries, already looked up. */
|
|
307
|
+
options?: {
|
|
308
|
+
value: string;
|
|
309
|
+
label: string;
|
|
310
|
+
colour?: string;
|
|
311
|
+
}[];
|
|
312
|
+
}
|
|
279
313
|
export interface ResolvedAction {
|
|
280
314
|
id: string;
|
|
281
315
|
label: string;
|
|
@@ -286,13 +320,27 @@ export interface ResolvedAction {
|
|
|
286
320
|
* something this version does not recognise — both meaning *unknown*.
|
|
287
321
|
*/
|
|
288
322
|
effect?: ActionEffect;
|
|
289
|
-
control: 'select' | 'pubkey' | 'text';
|
|
323
|
+
control: 'select' | 'pubkey' | 'text' | 'form';
|
|
290
324
|
/** For `select`: the declared vocabulary, already looked up. */
|
|
291
325
|
options?: {
|
|
292
326
|
value: string;
|
|
293
327
|
label: string;
|
|
294
328
|
colour?: string;
|
|
295
329
|
}[];
|
|
330
|
+
/**
|
|
331
|
+
* For `form`: the fields to draw, in declaration order, with any vocabulary
|
|
332
|
+
* already looked up — the same service `options` performs for a `select`.
|
|
333
|
+
*/
|
|
334
|
+
fields?: ActionFormField[];
|
|
335
|
+
/**
|
|
336
|
+
* For `form`: that the new object hangs under the one the action was invoked
|
|
337
|
+
* on (`emits.toAddressOf: 'self'`).
|
|
338
|
+
*
|
|
339
|
+
* Surfaced because it is the other half of "needs a form **and a parent**",
|
|
340
|
+
* which is what made these unrenderable: a consumer drawing only the
|
|
341
|
+
* properties would publish an orphan.
|
|
342
|
+
*/
|
|
343
|
+
createsUnder?: string;
|
|
296
344
|
/** The value this field holds right now, so a control can show it. */
|
|
297
345
|
current?: string;
|
|
298
346
|
field?: string;
|
|
@@ -662,16 +710,6 @@ lookupPeople?: PeopleFn,
|
|
|
662
710
|
depth?: number,
|
|
663
711
|
/** See {@link ProjectionCache}. Omitting it is exactly the old behaviour. */
|
|
664
712
|
cache?: ProjectionCache): Promise<FolderProject | null>;
|
|
665
|
-
/**
|
|
666
|
-
* Build the event that performs a manifest-declared action.
|
|
667
|
-
*
|
|
668
|
-
* Pure, and separate from the Convex action for the same reason `projection.ts`
|
|
669
|
-
* is separate from `foreign.ts`: this is the part worth testing against a live
|
|
670
|
-
* relay, and it must not need a deployment or a signed-in session to run.
|
|
671
|
-
*
|
|
672
|
-
* Returns a string on refusal rather than throwing — every failure here is
|
|
673
|
-
* something a user should read.
|
|
674
|
-
*/
|
|
675
713
|
export declare function buildActionEvent(args: {
|
|
676
714
|
manifest: {
|
|
677
715
|
records?: RecordsRule;
|
|
@@ -685,7 +723,20 @@ export declare function buildActionEvent(args: {
|
|
|
685
723
|
objectAuthor: string;
|
|
686
724
|
folder: string;
|
|
687
725
|
actionId: string;
|
|
688
|
-
|
|
726
|
+
/**
|
|
727
|
+
* A scalar for a change or a comment; `{ property: value }` for an
|
|
728
|
+
* object-creating action, whose form has several fields.
|
|
729
|
+
*/
|
|
730
|
+
value: string | Record<string, string>;
|
|
731
|
+
/**
|
|
732
|
+
* A fresh identifier for an object being created, when its kind is
|
|
733
|
+
* parameterized-replaceable and therefore needs a `d`.
|
|
734
|
+
*
|
|
735
|
+
* Supplied rather than generated: ADR 0002 §10 constraint 2 — the runtime
|
|
736
|
+
* reaches for nothing and is handed everything. It also makes the built event
|
|
737
|
+
* a pure function of its inputs, which is what lets a test assert on one.
|
|
738
|
+
*/
|
|
739
|
+
newId?: string;
|
|
689
740
|
pubkey: string;
|
|
690
741
|
createdAtMs: number;
|
|
691
742
|
}): UnsignedActionEvent | string;
|
package/dist/projection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
|
package/dist/projection.js
CHANGED
|
@@ -156,13 +156,50 @@ function resolveActions(manifest, kind, folded) {
|
|
|
156
156
|
for (const action of manifest.actions ?? []) {
|
|
157
157
|
if (!applies(action))
|
|
158
158
|
continue;
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
/*
|
|
160
|
+
Three shapes now, where there were two.
|
|
161
|
+
|
|
162
|
+
A field-setting change and a comment each render as one control. An action
|
|
163
|
+
that creates a whole new object was skipped, because it "needs a form and
|
|
164
|
+
a parent" — and that was true right up until something drew one. It is
|
|
165
|
+
the single most useful cross-app action there is, so the manifest could
|
|
166
|
+
describe it and no app could offer it (PRO-4).
|
|
167
|
+
*/
|
|
162
168
|
const isChange = !!action.emits.field;
|
|
163
169
|
const isComment = action.emits.scope === 'address';
|
|
164
|
-
|
|
170
|
+
const isCreation = action.input?.type === 'object' && !!action.input.properties;
|
|
171
|
+
if (!isChange && !isComment && !isCreation)
|
|
172
|
+
continue;
|
|
173
|
+
if (isCreation) {
|
|
174
|
+
const properties = action.input.properties;
|
|
175
|
+
const required = new Set(action.input.required ?? []);
|
|
176
|
+
out.push({
|
|
177
|
+
id: action.id,
|
|
178
|
+
label: action.label,
|
|
179
|
+
...(action.description ? { description: action.description } : {}),
|
|
180
|
+
...(action.effect ? { effect: action.effect } : {}),
|
|
181
|
+
control: 'form',
|
|
182
|
+
fields: Object.entries(properties).map(([name, spec]) => ({
|
|
183
|
+
name,
|
|
184
|
+
type: spec.type ?? 'string',
|
|
185
|
+
required: required.has(name),
|
|
186
|
+
...(spec.enum && manifest.vocabularies?.[spec.enum]
|
|
187
|
+
? {
|
|
188
|
+
options: manifest.vocabularies[spec.enum].map((v) => ({
|
|
189
|
+
value: v.value,
|
|
190
|
+
label: v.label,
|
|
191
|
+
colour: v.colour,
|
|
192
|
+
})),
|
|
193
|
+
}
|
|
194
|
+
: {}),
|
|
195
|
+
})),
|
|
196
|
+
// The parent is not a property and never appears in `properties`; it
|
|
197
|
+
// comes from `emits`, and a form that omitted it would publish an
|
|
198
|
+
// orphan the owning app cannot show anywhere.
|
|
199
|
+
...(action.emits.toAddressOf ? { createsUnder: action.emits.toAddressOf } : {}),
|
|
200
|
+
});
|
|
165
201
|
continue;
|
|
202
|
+
}
|
|
166
203
|
const vocab = action.input?.enum ? manifest.vocabularies?.[action.input.enum] : undefined;
|
|
167
204
|
out.push({
|
|
168
205
|
id: action.id,
|
|
@@ -1547,6 +1584,83 @@ cache) {
|
|
|
1547
1584
|
* Returns a string on refusal rather than throwing — every failure here is
|
|
1548
1585
|
* something a user should read.
|
|
1549
1586
|
*/
|
|
1587
|
+
/**
|
|
1588
|
+
* NIP-01's parameterized-replaceable range. An event in it is addressed by
|
|
1589
|
+
* `(kind, pubkey, d)`, so one created without a `d` has no address — it cannot
|
|
1590
|
+
* be referenced, commented on, or acted upon, and the owning app will not find
|
|
1591
|
+
* it where it looks.
|
|
1592
|
+
*/
|
|
1593
|
+
const isAddressableKind = (kind) => kind >= 30000 && kind < 40000;
|
|
1594
|
+
/**
|
|
1595
|
+
* The event an object-creating action publishes.
|
|
1596
|
+
*
|
|
1597
|
+
* Split out because it shares almost nothing with a change: the tags come from
|
|
1598
|
+
* the form rather than from `records`, and the result is a new object rather
|
|
1599
|
+
* than a statement about an existing one.
|
|
1600
|
+
*
|
|
1601
|
+
* **Every refusal names what was allowed**, and that is the requirement rather
|
|
1602
|
+
* than a nicety. The owning app cannot enforce any of this — anyone can publish
|
|
1603
|
+
* anything — so a consumer that guesses is the one putting junk in a shared
|
|
1604
|
+
* record, and a consumer told only "invalid" cannot do better next time.
|
|
1605
|
+
*/
|
|
1606
|
+
function buildCreationEvent(args) {
|
|
1607
|
+
const { declared, address, folder, value, newId } = args;
|
|
1608
|
+
const properties = declared.input.properties;
|
|
1609
|
+
const required = declared.input.required ?? [];
|
|
1610
|
+
if (typeof value === 'string') {
|
|
1611
|
+
return `"${declared.label}" takes a form: ${Object.keys(properties).join(', ')}.`;
|
|
1612
|
+
}
|
|
1613
|
+
const allowed = Object.keys(properties);
|
|
1614
|
+
for (const name of Object.keys(value)) {
|
|
1615
|
+
if (!allowed.includes(name)) {
|
|
1616
|
+
return `"${name}" is not a field of "${declared.label}" — it takes ${allowed.join(', ')}.`;
|
|
1617
|
+
}
|
|
1618
|
+
}
|
|
1619
|
+
for (const name of required) {
|
|
1620
|
+
if (!value[name]?.trim())
|
|
1621
|
+
return `"${name}" is required by "${declared.label}".`;
|
|
1622
|
+
}
|
|
1623
|
+
/*
|
|
1624
|
+
A property may name a vocabulary of its own, checked exactly as a scalar
|
|
1625
|
+
action's is — the honour system does not get weaker because there are
|
|
1626
|
+
several fields. Ship declares none today (`add-issue` takes a bare title),
|
|
1627
|
+
so this is a path an app grows into rather than one in use.
|
|
1628
|
+
*/
|
|
1629
|
+
for (const [name, held] of Object.entries(value)) {
|
|
1630
|
+
const vocabName = properties[name]?.enum;
|
|
1631
|
+
if (!vocabName || !held)
|
|
1632
|
+
continue;
|
|
1633
|
+
const vocab = args.vocabularies?.[vocabName] ?? [];
|
|
1634
|
+
if (!vocab.some((entry) => entry.value === held)) {
|
|
1635
|
+
return `"${held}" is not one of ${vocab.map((e) => e.value).join(', ')}.`;
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1638
|
+
if (isAddressableKind(declared.emits.kind) && !newId) {
|
|
1639
|
+
return `Creating a kind ${declared.emits.kind} needs an identifier, and none was supplied.`;
|
|
1640
|
+
}
|
|
1641
|
+
const tags = [];
|
|
1642
|
+
if (isAddressableKind(declared.emits.kind))
|
|
1643
|
+
tags.push(['d', newId]);
|
|
1644
|
+
// A property's name is the tag it writes. See `ManifestAction.input`.
|
|
1645
|
+
for (const [name, held] of Object.entries(value)) {
|
|
1646
|
+
if (held !== '')
|
|
1647
|
+
tags.push([name, held]);
|
|
1648
|
+
}
|
|
1649
|
+
// The parent. `toAddressOf: "self"` names the object the action was invoked
|
|
1650
|
+
// on; any other value is a shape nothing declares yet, and guessing at one
|
|
1651
|
+
// would publish a link the owning app never asked for.
|
|
1652
|
+
if (declared.emits.setTag && declared.emits.toAddressOf === 'self') {
|
|
1653
|
+
tags.push([declared.emits.setTag, address]);
|
|
1654
|
+
}
|
|
1655
|
+
tags.push(['h', folder]);
|
|
1656
|
+
return {
|
|
1657
|
+
pubkey: args.pubkey,
|
|
1658
|
+
created_at: Math.floor(args.createdAtMs / 1000),
|
|
1659
|
+
kind: declared.emits.kind,
|
|
1660
|
+
tags,
|
|
1661
|
+
content: '',
|
|
1662
|
+
};
|
|
1663
|
+
}
|
|
1550
1664
|
export function buildActionEvent(args) {
|
|
1551
1665
|
const { manifest, kind, address, folder, actionId, value } = args;
|
|
1552
1666
|
const records = manifest.records;
|
|
@@ -1559,6 +1673,14 @@ export function buildActionEvent(args) {
|
|
|
1559
1673
|
if (!appliesTo.includes(String(kind))) {
|
|
1560
1674
|
return `"${declared.label}" does not apply to a kind ${kind}.`;
|
|
1561
1675
|
}
|
|
1676
|
+
// An object-creating action is a different event entirely — a new object
|
|
1677
|
+
// rather than a change to one — so it branches before the scalar path.
|
|
1678
|
+
if (declared.input?.type === 'object' && declared.input.properties) {
|
|
1679
|
+
return buildCreationEvent({ ...args, declared, vocabularies: manifest.vocabularies });
|
|
1680
|
+
}
|
|
1681
|
+
if (typeof value !== 'string') {
|
|
1682
|
+
return `"${declared.label}" takes a single value, not a form.`;
|
|
1683
|
+
}
|
|
1562
1684
|
// Validate against the manifest's own vocabulary. The owning app cannot
|
|
1563
1685
|
// enforce this — anyone can publish anything (RFC_UPDATES.md §3) — so a
|
|
1564
1686
|
// consumer that skips the check is the one putting junk in the shared record.
|
package/dist/projection.js.map
CHANGED
|
@@ -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.
|
|
3
|
+
"version": "0.6.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",
|
package/src/index.ts
CHANGED
package/src/projection.ts
CHANGED
|
@@ -370,7 +370,28 @@ export interface ManifestAction {
|
|
|
370
370
|
*/
|
|
371
371
|
alsoRead?: number[]
|
|
372
372
|
}
|
|
373
|
-
input?: {
|
|
373
|
+
input?: {
|
|
374
|
+
type: string
|
|
375
|
+
/** For a scalar input: the vocabulary its value must come from. */
|
|
376
|
+
enum?: string
|
|
377
|
+
/**
|
|
378
|
+
* For `type: 'object'`: the fields a consumer draws, and which are required.
|
|
379
|
+
*
|
|
380
|
+
* **A property's name is the tag its value is written to** (PRO-4). That
|
|
381
|
+
* rule was implicit — Ship's `add-issue` declares `{ title }` and a Ship
|
|
382
|
+
* issue carries `["title", …]`, so it held by coincidence of naming and
|
|
383
|
+
* nothing said so. It is stated here because a consumer cannot construct
|
|
384
|
+
* the event without it, and RFC 0.4 §13.4 asserts the existing declaration
|
|
385
|
+
* is already sufficient for one to try.
|
|
386
|
+
*
|
|
387
|
+
* Its limit, recorded rather than designed around: **nothing can target an
|
|
388
|
+
* event's `content`.** Ship's issue description lives there and is
|
|
389
|
+
* therefore not creatable from another app, which is why `add-issue`
|
|
390
|
+
* declares only a title.
|
|
391
|
+
*/
|
|
392
|
+
properties?: Record<string, { type?: string; enum?: string }>
|
|
393
|
+
required?: string[]
|
|
394
|
+
}
|
|
374
395
|
}
|
|
375
396
|
|
|
376
397
|
/**
|
|
@@ -383,6 +404,16 @@ export interface ManifestAction {
|
|
|
383
404
|
* them on this side is what lets the React component stay a dumb renderer that
|
|
384
405
|
* would work for any app.
|
|
385
406
|
*/
|
|
407
|
+
/** One field of an object-creating action's form. */
|
|
408
|
+
export interface ActionFormField {
|
|
409
|
+
/** Also the tag its value is written to — see {@link ManifestAction.input}. */
|
|
410
|
+
name: string
|
|
411
|
+
type: string
|
|
412
|
+
required: boolean
|
|
413
|
+
/** When the property names a vocabulary, its entries, already looked up. */
|
|
414
|
+
options?: { value: string; label: string; colour?: string }[]
|
|
415
|
+
}
|
|
416
|
+
|
|
386
417
|
export interface ResolvedAction {
|
|
387
418
|
id: string
|
|
388
419
|
label: string
|
|
@@ -393,9 +424,23 @@ export interface ResolvedAction {
|
|
|
393
424
|
* something this version does not recognise — both meaning *unknown*.
|
|
394
425
|
*/
|
|
395
426
|
effect?: ActionEffect
|
|
396
|
-
control: 'select' | 'pubkey' | 'text'
|
|
427
|
+
control: 'select' | 'pubkey' | 'text' | 'form'
|
|
397
428
|
/** For `select`: the declared vocabulary, already looked up. */
|
|
398
429
|
options?: { value: string; label: string; colour?: string }[]
|
|
430
|
+
/**
|
|
431
|
+
* For `form`: the fields to draw, in declaration order, with any vocabulary
|
|
432
|
+
* already looked up — the same service `options` performs for a `select`.
|
|
433
|
+
*/
|
|
434
|
+
fields?: ActionFormField[]
|
|
435
|
+
/**
|
|
436
|
+
* For `form`: that the new object hangs under the one the action was invoked
|
|
437
|
+
* on (`emits.toAddressOf: 'self'`).
|
|
438
|
+
*
|
|
439
|
+
* Surfaced because it is the other half of "needs a form **and a parent**",
|
|
440
|
+
* which is what made these unrenderable: a consumer drawing only the
|
|
441
|
+
* properties would publish an orphan.
|
|
442
|
+
*/
|
|
443
|
+
createsUnder?: string
|
|
399
444
|
/** The value this field holds right now, so a control can show it. */
|
|
400
445
|
current?: string
|
|
401
446
|
field?: string
|
|
@@ -422,12 +467,50 @@ function resolveActions(
|
|
|
422
467
|
const out: ResolvedAction[] = []
|
|
423
468
|
for (const action of manifest.actions ?? []) {
|
|
424
469
|
if (!applies(action)) continue
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
470
|
+
/*
|
|
471
|
+
Three shapes now, where there were two.
|
|
472
|
+
|
|
473
|
+
A field-setting change and a comment each render as one control. An action
|
|
474
|
+
that creates a whole new object was skipped, because it "needs a form and
|
|
475
|
+
a parent" — and that was true right up until something drew one. It is
|
|
476
|
+
the single most useful cross-app action there is, so the manifest could
|
|
477
|
+
describe it and no app could offer it (PRO-4).
|
|
478
|
+
*/
|
|
428
479
|
const isChange = !!action.emits.field
|
|
429
480
|
const isComment = action.emits.scope === 'address'
|
|
430
|
-
|
|
481
|
+
const isCreation = action.input?.type === 'object' && !!action.input.properties
|
|
482
|
+
if (!isChange && !isComment && !isCreation) continue
|
|
483
|
+
|
|
484
|
+
if (isCreation) {
|
|
485
|
+
const properties = action.input!.properties!
|
|
486
|
+
const required = new Set(action.input!.required ?? [])
|
|
487
|
+
out.push({
|
|
488
|
+
id: action.id,
|
|
489
|
+
label: action.label,
|
|
490
|
+
...(action.description ? { description: action.description } : {}),
|
|
491
|
+
...(action.effect ? { effect: action.effect } : {}),
|
|
492
|
+
control: 'form',
|
|
493
|
+
fields: Object.entries(properties).map(([name, spec]) => ({
|
|
494
|
+
name,
|
|
495
|
+
type: spec.type ?? 'string',
|
|
496
|
+
required: required.has(name),
|
|
497
|
+
...(spec.enum && manifest.vocabularies?.[spec.enum]
|
|
498
|
+
? {
|
|
499
|
+
options: manifest.vocabularies[spec.enum].map((v) => ({
|
|
500
|
+
value: v.value,
|
|
501
|
+
label: v.label,
|
|
502
|
+
colour: v.colour,
|
|
503
|
+
})),
|
|
504
|
+
}
|
|
505
|
+
: {}),
|
|
506
|
+
})),
|
|
507
|
+
// The parent is not a property and never appears in `properties`; it
|
|
508
|
+
// comes from `emits`, and a form that omitted it would publish an
|
|
509
|
+
// orphan the owning app cannot show anywhere.
|
|
510
|
+
...(action.emits.toAddressOf ? { createsUnder: action.emits.toAddressOf } : {}),
|
|
511
|
+
})
|
|
512
|
+
continue
|
|
513
|
+
}
|
|
431
514
|
|
|
432
515
|
const vocab = action.input?.enum ? manifest.vocabularies?.[action.input.enum] : undefined
|
|
433
516
|
out.push({
|
|
@@ -2168,6 +2251,95 @@ export async function resolveFolderProject(
|
|
|
2168
2251
|
* Returns a string on refusal rather than throwing — every failure here is
|
|
2169
2252
|
* something a user should read.
|
|
2170
2253
|
*/
|
|
2254
|
+
/**
|
|
2255
|
+
* NIP-01's parameterized-replaceable range. An event in it is addressed by
|
|
2256
|
+
* `(kind, pubkey, d)`, so one created without a `d` has no address — it cannot
|
|
2257
|
+
* be referenced, commented on, or acted upon, and the owning app will not find
|
|
2258
|
+
* it where it looks.
|
|
2259
|
+
*/
|
|
2260
|
+
const isAddressableKind = (kind: number) => kind >= 30000 && kind < 40000
|
|
2261
|
+
|
|
2262
|
+
/**
|
|
2263
|
+
* The event an object-creating action publishes.
|
|
2264
|
+
*
|
|
2265
|
+
* Split out because it shares almost nothing with a change: the tags come from
|
|
2266
|
+
* the form rather than from `records`, and the result is a new object rather
|
|
2267
|
+
* than a statement about an existing one.
|
|
2268
|
+
*
|
|
2269
|
+
* **Every refusal names what was allowed**, and that is the requirement rather
|
|
2270
|
+
* than a nicety. The owning app cannot enforce any of this — anyone can publish
|
|
2271
|
+
* anything — so a consumer that guesses is the one putting junk in a shared
|
|
2272
|
+
* record, and a consumer told only "invalid" cannot do better next time.
|
|
2273
|
+
*/
|
|
2274
|
+
function buildCreationEvent(args: {
|
|
2275
|
+
declared: ManifestAction
|
|
2276
|
+
vocabularies?: Manifest['vocabularies']
|
|
2277
|
+
address: string
|
|
2278
|
+
folder: string
|
|
2279
|
+
value: string | Record<string, string>
|
|
2280
|
+
newId?: string
|
|
2281
|
+
pubkey: string
|
|
2282
|
+
createdAtMs: number
|
|
2283
|
+
}): UnsignedActionEvent | string {
|
|
2284
|
+
const { declared, address, folder, value, newId } = args
|
|
2285
|
+
const properties = declared.input!.properties!
|
|
2286
|
+
const required = declared.input!.required ?? []
|
|
2287
|
+
|
|
2288
|
+
if (typeof value === 'string') {
|
|
2289
|
+
return `"${declared.label}" takes a form: ${Object.keys(properties).join(', ')}.`
|
|
2290
|
+
}
|
|
2291
|
+
|
|
2292
|
+
const allowed = Object.keys(properties)
|
|
2293
|
+
for (const name of Object.keys(value)) {
|
|
2294
|
+
if (!allowed.includes(name)) {
|
|
2295
|
+
return `"${name}" is not a field of "${declared.label}" — it takes ${allowed.join(', ')}.`
|
|
2296
|
+
}
|
|
2297
|
+
}
|
|
2298
|
+
for (const name of required) {
|
|
2299
|
+
if (!value[name]?.trim()) return `"${name}" is required by "${declared.label}".`
|
|
2300
|
+
}
|
|
2301
|
+
/*
|
|
2302
|
+
A property may name a vocabulary of its own, checked exactly as a scalar
|
|
2303
|
+
action's is — the honour system does not get weaker because there are
|
|
2304
|
+
several fields. Ship declares none today (`add-issue` takes a bare title),
|
|
2305
|
+
so this is a path an app grows into rather than one in use.
|
|
2306
|
+
*/
|
|
2307
|
+
for (const [name, held] of Object.entries(value)) {
|
|
2308
|
+
const vocabName = properties[name]?.enum
|
|
2309
|
+
if (!vocabName || !held) continue
|
|
2310
|
+
const vocab = args.vocabularies?.[vocabName] ?? []
|
|
2311
|
+
if (!vocab.some((entry) => entry.value === held)) {
|
|
2312
|
+
return `"${held}" is not one of ${vocab.map((e) => e.value).join(', ')}.`
|
|
2313
|
+
}
|
|
2314
|
+
}
|
|
2315
|
+
|
|
2316
|
+
if (isAddressableKind(declared.emits.kind) && !newId) {
|
|
2317
|
+
return `Creating a kind ${declared.emits.kind} needs an identifier, and none was supplied.`
|
|
2318
|
+
}
|
|
2319
|
+
|
|
2320
|
+
const tags: string[][] = []
|
|
2321
|
+
if (isAddressableKind(declared.emits.kind)) tags.push(['d', newId!])
|
|
2322
|
+
// A property's name is the tag it writes. See `ManifestAction.input`.
|
|
2323
|
+
for (const [name, held] of Object.entries(value)) {
|
|
2324
|
+
if (held !== '') tags.push([name, held])
|
|
2325
|
+
}
|
|
2326
|
+
// The parent. `toAddressOf: "self"` names the object the action was invoked
|
|
2327
|
+
// on; any other value is a shape nothing declares yet, and guessing at one
|
|
2328
|
+
// would publish a link the owning app never asked for.
|
|
2329
|
+
if (declared.emits.setTag && declared.emits.toAddressOf === 'self') {
|
|
2330
|
+
tags.push([declared.emits.setTag, address])
|
|
2331
|
+
}
|
|
2332
|
+
tags.push(['h', folder])
|
|
2333
|
+
|
|
2334
|
+
return {
|
|
2335
|
+
pubkey: args.pubkey,
|
|
2336
|
+
created_at: Math.floor(args.createdAtMs / 1000),
|
|
2337
|
+
kind: declared.emits.kind,
|
|
2338
|
+
tags,
|
|
2339
|
+
content: '',
|
|
2340
|
+
}
|
|
2341
|
+
}
|
|
2342
|
+
|
|
2171
2343
|
export function buildActionEvent(args: {
|
|
2172
2344
|
manifest: { records?: RecordsRule; actions?: ManifestAction[]; vocabularies?: Manifest['vocabularies'] }
|
|
2173
2345
|
kind: number
|
|
@@ -2177,7 +2349,20 @@ export function buildActionEvent(args: {
|
|
|
2177
2349
|
objectAuthor: string
|
|
2178
2350
|
folder: string
|
|
2179
2351
|
actionId: string
|
|
2180
|
-
|
|
2352
|
+
/**
|
|
2353
|
+
* A scalar for a change or a comment; `{ property: value }` for an
|
|
2354
|
+
* object-creating action, whose form has several fields.
|
|
2355
|
+
*/
|
|
2356
|
+
value: string | Record<string, string>
|
|
2357
|
+
/**
|
|
2358
|
+
* A fresh identifier for an object being created, when its kind is
|
|
2359
|
+
* parameterized-replaceable and therefore needs a `d`.
|
|
2360
|
+
*
|
|
2361
|
+
* Supplied rather than generated: ADR 0002 §10 constraint 2 — the runtime
|
|
2362
|
+
* reaches for nothing and is handed everything. It also makes the built event
|
|
2363
|
+
* a pure function of its inputs, which is what lets a test assert on one.
|
|
2364
|
+
*/
|
|
2365
|
+
newId?: string
|
|
2181
2366
|
pubkey: string
|
|
2182
2367
|
createdAtMs: number
|
|
2183
2368
|
}): UnsignedActionEvent | string {
|
|
@@ -2192,6 +2377,16 @@ export function buildActionEvent(args: {
|
|
|
2192
2377
|
return `"${declared.label}" does not apply to a kind ${kind}.`
|
|
2193
2378
|
}
|
|
2194
2379
|
|
|
2380
|
+
// An object-creating action is a different event entirely — a new object
|
|
2381
|
+
// rather than a change to one — so it branches before the scalar path.
|
|
2382
|
+
if (declared.input?.type === 'object' && declared.input.properties) {
|
|
2383
|
+
return buildCreationEvent({ ...args, declared, vocabularies: manifest.vocabularies })
|
|
2384
|
+
}
|
|
2385
|
+
|
|
2386
|
+
if (typeof value !== 'string') {
|
|
2387
|
+
return `"${declared.label}" takes a single value, not a form.`
|
|
2388
|
+
}
|
|
2389
|
+
|
|
2195
2390
|
// Validate against the manifest's own vocabulary. The owning app cannot
|
|
2196
2391
|
// enforce this — anyone can publish anything (RFC_UPDATES.md §3) — so a
|
|
2197
2392
|
// consumer that skips the check is the one putting junk in the shared record.
|