@graview/core 0.1.30 → 0.1.32

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.
Files changed (102) hide show
  1. package/README.md +11 -1
  2. package/dist/app.d.ts +8 -0
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js.map +1 -1
  5. package/dist/catalog.d.ts +312 -0
  6. package/dist/catalog.d.ts.map +1 -0
  7. package/dist/catalog.js +459 -0
  8. package/dist/catalog.js.map +1 -0
  9. package/dist/cli/document-schema.d.ts.map +1 -1
  10. package/dist/cli/document-schema.js +9 -0
  11. package/dist/cli/document-schema.js.map +1 -1
  12. package/dist/days.d.ts +7 -1
  13. package/dist/days.d.ts.map +1 -1
  14. package/dist/days.js +10 -4
  15. package/dist/days.js.map +1 -1
  16. package/dist/document/compile-checked.d.ts.map +1 -1
  17. package/dist/document/compile-checked.js +3 -2
  18. package/dist/document/compile-checked.js.map +1 -1
  19. package/dist/document/compiled.d.ts.map +1 -1
  20. package/dist/document/compiled.js +2 -0
  21. package/dist/document/compiled.js.map +1 -1
  22. package/dist/document/connection-findings.d.ts +6 -0
  23. package/dist/document/connection-findings.d.ts.map +1 -0
  24. package/dist/document/connection-findings.js +110 -0
  25. package/dist/document/connection-findings.js.map +1 -0
  26. package/dist/document/connection-spec.d.ts +38 -0
  27. package/dist/document/connection-spec.d.ts.map +1 -0
  28. package/dist/document/connection-spec.js +43 -0
  29. package/dist/document/connection-spec.js.map +1 -0
  30. package/dist/document/schema.d.ts +6 -5
  31. package/dist/document/schema.d.ts.map +1 -1
  32. package/dist/document/schema.js +7 -0
  33. package/dist/document/schema.js.map +1 -1
  34. package/dist/document/to-document.d.ts.map +1 -1
  35. package/dist/document/to-document.js +1 -0
  36. package/dist/document/to-document.js.map +1 -1
  37. package/dist/document.schema.json +149 -2
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/installation.d.ts +1 -1
  43. package/dist/mutations/arg-shape.d.ts +2 -0
  44. package/dist/mutations/arg-shape.d.ts.map +1 -1
  45. package/dist/mutations/arg-shape.js +4 -0
  46. package/dist/mutations/arg-shape.js.map +1 -1
  47. package/dist/mutations/form.d.ts +2 -0
  48. package/dist/mutations/form.d.ts.map +1 -1
  49. package/dist/mutations/form.js +1 -1
  50. package/dist/mutations/form.js.map +1 -1
  51. package/dist/ops/lineage.d.ts +7 -0
  52. package/dist/ops/lineage.d.ts.map +1 -1
  53. package/dist/ops/lineage.js +5 -4
  54. package/dist/ops/lineage.js.map +1 -1
  55. package/dist/scaffold/project.d.ts.map +1 -1
  56. package/dist/scaffold/project.js +3 -0
  57. package/dist/scaffold/project.js.map +1 -1
  58. package/dist/scaffold/ui.d.ts.map +1 -1
  59. package/dist/scaffold/ui.js +3 -0
  60. package/dist/scaffold/ui.js.map +1 -1
  61. package/dist/subscription-shape.d.ts +135 -0
  62. package/dist/subscription-shape.d.ts.map +1 -0
  63. package/dist/subscription-shape.js +55 -0
  64. package/dist/subscription-shape.js.map +1 -0
  65. package/dist/subscriptions.d.ts +68 -0
  66. package/dist/subscriptions.d.ts.map +1 -0
  67. package/dist/subscriptions.js +425 -0
  68. package/dist/subscriptions.js.map +1 -0
  69. package/dist/sync/connection-filter.d.ts +12 -0
  70. package/dist/sync/connection-filter.d.ts.map +1 -0
  71. package/dist/sync/connection-filter.js +34 -0
  72. package/dist/sync/connection-filter.js.map +1 -0
  73. package/dist/sync/connection.d.ts +65 -0
  74. package/dist/sync/connection.d.ts.map +1 -0
  75. package/dist/sync/connection.js +148 -0
  76. package/dist/sync/connection.js.map +1 -0
  77. package/dist/sync/engine.d.ts.map +1 -1
  78. package/dist/sync/engine.js +4 -0
  79. package/dist/sync/engine.js.map +1 -1
  80. package/dist/sync/google-calendar.d.ts +27 -2
  81. package/dist/sync/google-calendar.d.ts.map +1 -1
  82. package/dist/sync/google-calendar.js +55 -14
  83. package/dist/sync/google-calendar.js.map +1 -1
  84. package/dist/sync/index.d.ts +3 -1
  85. package/dist/sync/index.d.ts.map +1 -1
  86. package/dist/sync/index.js +1 -0
  87. package/dist/sync/index.js.map +1 -1
  88. package/dist/version.d.ts +1 -1
  89. package/dist/version.js +1 -1
  90. package/dist/wall-time.d.ts +60 -0
  91. package/dist/wall-time.d.ts.map +1 -0
  92. package/dist/wall-time.js +111 -0
  93. package/dist/wall-time.js.map +1 -0
  94. package/dist/when-typed.d.ts +15 -0
  95. package/dist/when-typed.d.ts.map +1 -0
  96. package/dist/when-typed.js +158 -0
  97. package/dist/when-typed.js.map +1 -0
  98. package/dist/words.d.ts +6 -1
  99. package/dist/words.d.ts.map +1 -1
  100. package/dist/words.js +6 -1
  101. package/dist/words.js.map +1 -1
  102. package/package.json +9 -1
package/README.md CHANGED
@@ -92,7 +92,17 @@ Everything a Graview app declares, and the checker that verifies it.
92
92
  a conflict policy (`report`, `theirs`, `ours`), resources the remote owns
93
93
  (`readonly`, refused here with their `because`), links seeded from a
94
94
  version field, and transports for Google Calendar and for a tool server
95
- over MCP (`mcpClient`, `mcpDoor`, `doorClient`, `mcpRemote`).
95
+ over MCP (`mcpClient`, `mcpDoor`, `doorClient`, `mcpRemote`). The Google
96
+ transport follows every page, starts a full resync when Google rejects
97
+ the sync token, and asks `token({ refresh: true })` once when Google
98
+ refuses an access token; `scripts/verify-google-calendar.mjs` proves it
99
+ against a real test calendar (credentials from
100
+ `~/.graview-google-test.env`, made once by
101
+ `scripts/google-calendar-once.mjs`; `scripts/calendar-sync-demo.mjs` is
102
+ the same by hand). A document declares one as `connections.<name>` —
103
+ calendar, kind and fields, a color or tag filter, `read` or `both`, the
104
+ conflict policy — judged by `graview check` and run by `graview serve`
105
+ and `graview preview`; `connection(…)` builds its engine for any host.
96
106
  - **A spreadsheet brought in** — `@graview/core/import`: `importRows(store,
97
107
  kind, rows, mapping, { by })` reads each cell by its field's type, links a
98
108
  cell to a record by its name, keeps every row that fits as one undoable
package/dist/app.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { ConnectionSpec } from "./document/connection-spec.js";
1
2
  import type { ArrangementWords } from "./arrangement.js";
2
3
  import type { InvariantDefinition } from "./invariants/types.js";
3
4
  import type { AnyMutationDefinition } from "./mutations/types.js";
@@ -247,6 +248,13 @@ export interface GraviewApp<S extends AnySchema = AnySchema> {
247
248
  * ever honor, which is a control that does nothing.
248
249
  */
249
250
  readonly settings?: readonly SettingDeclaration[];
251
+ /**
252
+ * OTHER SYSTEMS THIS APP IS KEPT IN STEP WITH, by name — today, Google
253
+ * calendars (`connections.<name>` in a document). Data: `graview serve`
254
+ * and the preview run them (`@graview/ship`'s `runConnections`), and a
255
+ * host hands them its own tokens.
256
+ */
257
+ readonly connections?: Readonly<Record<string, ConnectionSpec>>;
250
258
  }
251
259
  /**
252
260
  * One thing a reader may set for themselves.
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAiUA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,QAA6C,EAC7C,UAAkC;IAElC,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACb,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAAC,UAAkC;IACnE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,8BAA8B,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,sDAAsD,CAAC;QAChE,KAAK,SAAS;YACZ,OAAO,0CAA0C,CAAC;QACpD;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AA+BD,MAAM,UAAU,SAAS,CAAsB,GAAkB;IAC/D,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAyUA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,QAA6C,EAC7C,UAAkC;IAElC,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACb,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAAC,UAAkC;IACnE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,8BAA8B,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,sDAAsD,CAAC;QAChE,KAAK,SAAS;YACZ,OAAO,0CAA0C,CAAC;QACpD;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AA+BD,MAAM,UAAU,SAAS,CAAsB,GAAkB;IAC/D,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,312 @@
1
+ import type { MutationCall } from "./mutations/types.js";
2
+ import type { Author } from "./ops/types.js";
3
+ import type { Principal } from "./permissions/types.js";
4
+ import type { AnySchema } from "./schema/schema.js";
5
+ import type { Store } from "./store.js";
6
+ /**
7
+ * WHAT THE AI IS POINTED AT: a record, several, one field of a record, a
8
+ * kind's list, a lens (a place, by its slug), an act (and the record it
9
+ * would run on), or a place with nothing in particular under the pointer.
10
+ */
11
+ export type AiTarget = {
12
+ readonly on: "record";
13
+ readonly id: string;
14
+ } | {
15
+ readonly on: "selection";
16
+ readonly ids: readonly string[];
17
+ } | {
18
+ readonly on: "field";
19
+ readonly id: string;
20
+ readonly field: string;
21
+ } | {
22
+ readonly on: "list";
23
+ readonly kind: string;
24
+ } | {
25
+ readonly on: "lens";
26
+ readonly place: string;
27
+ readonly kind?: string;
28
+ } | {
29
+ readonly on: "act";
30
+ readonly act: string;
31
+ readonly id?: string;
32
+ } | {
33
+ readonly on: "place";
34
+ readonly place: string;
35
+ };
36
+ /** What a context menu was opened on, as a face says it (`MenuTarget` in `@graview/react`). */
37
+ export interface PointedAt {
38
+ readonly on?: string | undefined;
39
+ readonly about?: readonly string[] | undefined;
40
+ readonly field?: string | undefined;
41
+ readonly place?: string | undefined;
42
+ }
43
+ /**
44
+ * THE TARGET A MENU WAS OPENED ON: a field of a record, a record, several,
45
+ * a kind's district or list, a lens, else the place itself ("home" when
46
+ * the menu landed on nothing at all).
47
+ */
48
+ export declare function aiTargetOf(pointed: PointedAt, has: (id: string) => boolean): AiTarget;
49
+ /** The records a target names, in order. */
50
+ export declare const recordsOfTarget: (target: AiTarget) => readonly string[];
51
+ /**
52
+ * A PANEL A KIND CAN BE DRAWN AS: a lens the framework ships, bound to the
53
+ * kind's own fields — the recipe `@graview/tools/draft` makes a draft of
54
+ * (`recipeDraft`), which is kept as a real lens with "Keep as a lens".
55
+ */
56
+ export interface PanelRecipe {
57
+ readonly lens: "blocks" | "columns" | "calendar";
58
+ readonly kind: string;
59
+ readonly group?: string;
60
+ readonly sort?: {
61
+ readonly by: string;
62
+ readonly direction?: "asc" | "desc";
63
+ };
64
+ readonly column?: string;
65
+ readonly start?: string;
66
+ readonly title?: string;
67
+ }
68
+ interface CandidateBase {
69
+ /** Unique in its catalog, stable for the same target and graph: what a model answers with. */
70
+ readonly id: string;
71
+ /** What it is, in a few words. */
72
+ readonly label: string;
73
+ /** One line a model and a person both read. */
74
+ readonly description: string;
75
+ }
76
+ /** An act this viewer may run here: its call, settled as far as the target settles it, and what it still asks. */
77
+ export interface ActCandidate extends CandidateBase {
78
+ readonly type: "act";
79
+ readonly mutation: string;
80
+ readonly args: Readonly<Record<string, unknown>>;
81
+ /** Arguments it still needs before it can run. */
82
+ readonly asks: readonly string[];
83
+ }
84
+ /** A panel of a kind (`PanelRecipe`). */
85
+ export interface PanelCandidate extends CandidateBase {
86
+ readonly type: "panel";
87
+ readonly panel: PanelRecipe;
88
+ }
89
+ /** A place of the app, by its slug. */
90
+ export interface PlaceCandidate extends CandidateBase {
91
+ readonly type: "place";
92
+ readonly place: string;
93
+ }
94
+ /** A record next to the target (or of the target's kind), and the relation that joins them. */
95
+ export interface RecordCandidate extends CandidateBase {
96
+ readonly type: "record";
97
+ readonly record: string;
98
+ readonly relation?: string;
99
+ }
100
+ /** A value for a field of a record, or a link a relation of it may make: the call that would set it, judged for this viewer. */
101
+ export interface FillCandidate extends CandidateBase {
102
+ readonly type: "fill";
103
+ readonly record: string;
104
+ readonly field: string;
105
+ readonly value: unknown;
106
+ readonly call: MutationCall;
107
+ }
108
+ export type AiCandidate = ActCandidate | PanelCandidate | PlaceCandidate | RecordCandidate | FillCandidate;
109
+ /** What an AI may pick from, for one target. */
110
+ export interface AiCatalog {
111
+ readonly target: AiTarget;
112
+ readonly candidates: readonly AiCandidate[];
113
+ }
114
+ /** An act a derivation already offers this viewer (`deriveAffordances(...).affordances` in `@graview/tools`). */
115
+ export interface CatalogAct {
116
+ readonly mutation: string;
117
+ readonly label: string;
118
+ readonly args: Readonly<Record<string, unknown>>;
119
+ readonly open?: readonly {
120
+ readonly name: string;
121
+ readonly optional?: boolean;
122
+ }[];
123
+ readonly why?: string;
124
+ readonly destructive?: boolean;
125
+ }
126
+ /** A place of the app as the catalog reads it: its slug, its title and the kind it pictures. */
127
+ export interface CatalogPlace {
128
+ readonly as: string;
129
+ readonly title: string;
130
+ readonly kind?: string;
131
+ }
132
+ export interface CatalogOptions {
133
+ /** Who is asking: every candidate is one this seat may see and run. */
134
+ readonly principal: Principal;
135
+ /**
136
+ * The acts the derivation offers this viewer here. Unsaid, the acts whose
137
+ * subject is the target's record, judged here. Either way an act is held
138
+ * to the policy again, and one that destroys is never a candidate.
139
+ */
140
+ readonly acts?: readonly CatalogAct[];
141
+ /** The app's places (`views.places()`, `placesOf(app)`). */
142
+ readonly places?: readonly CatalogPlace[];
143
+ /** The most of each type of candidate. 8 when unsaid. */
144
+ readonly each?: number;
145
+ }
146
+ /**
147
+ * THE CANDIDATES FOR A TARGET, as this viewer may see and run them.
148
+ *
149
+ * - acts: the derivation's (`acts`), else the acts whose subject is the
150
+ * target's record, each held to the policy; never one that destroys;
151
+ * - panels: per kind, a list, a list grouped by each choice, sorted by
152
+ * each number or date, a calendar of each date, columns of each choice;
153
+ * - places: the app's places that picture the target's kind (or every
154
+ * place, when the target is a place);
155
+ * - records: the records one link from the target's, by the relation
156
+ * that joins them, or a kind's own records;
157
+ * - fills: the values a field may take (a choice's options, yes or no)
158
+ * and the links a relation of the record may make, each as the call an
159
+ * act this viewer may run would make, rehearsed as them.
160
+ *
161
+ * Pure: the same store, target and viewer give the same catalog.
162
+ */
163
+ export declare function catalogOf<S extends AnySchema>(given: Store<S>, target: AiTarget, options: CatalogOptions): AiCatalog;
164
+ /** A record as the state names it. */
165
+ export interface AiRecordBrief {
166
+ readonly id: string;
167
+ readonly kind: string;
168
+ readonly label: string;
169
+ }
170
+ /** A kind, as the digest says it: its fields by type (a choice with its options), and its relations by the kinds they reach. */
171
+ export interface SchemaDigestKind {
172
+ readonly kind: string;
173
+ readonly noun: string;
174
+ readonly plural: string;
175
+ readonly fields: Readonly<Record<string, string>>;
176
+ readonly relations: Readonly<Record<string, readonly string[]>>;
177
+ }
178
+ /** The declaration, as a model is told it: the kinds this viewer sees and the acts it may run. `version` changes when either does. */
179
+ export interface SchemaDigest {
180
+ readonly version: string;
181
+ readonly kinds: readonly SchemaDigestKind[];
182
+ readonly acts: readonly {
183
+ readonly name: string;
184
+ readonly title: string;
185
+ readonly on?: readonly string[];
186
+ }[];
187
+ }
188
+ /** What the target is, as the state says it. */
189
+ export interface AiTargetState {
190
+ readonly on: AiTarget["on"];
191
+ readonly record?: AiRecordBrief & {
192
+ readonly fields: Readonly<Record<string, unknown>>;
193
+ };
194
+ readonly field?: string;
195
+ readonly kind?: string;
196
+ readonly place?: string;
197
+ readonly act?: string;
198
+ }
199
+ /**
200
+ * THE STATE A MODEL READS BESIDE THE CATALOG: compact JSON — where the
201
+ * viewer is, the target, the selection, the records one link away, the
202
+ * last few changes and a digest of the declaration — every part of it as
203
+ * this viewer may see it. The shape a decision provider takes as its
204
+ * `state` (Jev's), and the one a thinking model is handed as JSON.
205
+ */
206
+ export interface AiContextState {
207
+ readonly place?: string;
208
+ readonly target: AiTargetState;
209
+ readonly selection: readonly AiRecordBrief[];
210
+ readonly neighbors: readonly (AiRecordBrief & {
211
+ readonly relation: string;
212
+ readonly direction: "out" | "in";
213
+ })[];
214
+ readonly recent: readonly {
215
+ readonly intent: string;
216
+ readonly at: string;
217
+ readonly by: string;
218
+ }[];
219
+ readonly schema: SchemaDigest;
220
+ }
221
+ export interface AiContextOptions {
222
+ readonly principal: Principal;
223
+ /** The place the viewer is on (a lens's slug, "home"). */
224
+ readonly place?: string;
225
+ /** What else is selected. */
226
+ readonly selection?: readonly string[];
227
+ /** How many recent changes, newest first. 6 when unsaid. */
228
+ readonly recent?: number;
229
+ }
230
+ /**
231
+ * THE DECLARATION AS THIS VIEWER IS TOLD IT, cached per declaration and
232
+ * per what the viewer may see and run: the same schema and seat are one
233
+ * digest, made once.
234
+ */
235
+ export declare function schemaDigestOf<S extends AnySchema>(given: Store<S>, principal: Principal): SchemaDigest;
236
+ /**
237
+ * THE STATE FOR A TARGET, as this viewer may see it. A record it may not
238
+ * see is no target: the state says only what the target was (`on`).
239
+ */
240
+ export declare function aiContextOf<S extends AnySchema>(given: Store<S>, target: AiTarget, options: AiContextOptions): AiContextState;
241
+ /** Which model answered: a Fast one (a typed decision — Jev) or a Thinking one (a language model). */
242
+ export type AiTier = "fast" | "thinking";
243
+ /** What one call to a model used, as a host meters it. */
244
+ export interface AiUsage {
245
+ readonly tier: AiTier;
246
+ readonly model: string;
247
+ readonly inputTokens?: number;
248
+ readonly outputTokens?: number;
249
+ /** What it cost, in US dollars, when the provider says. */
250
+ readonly costUsd?: number;
251
+ }
252
+ /** What was asked: a suggestion for the target, fills for its fields, a record made, a panel, or words. */
253
+ export interface AiAsk {
254
+ readonly kind: "suggest" | "fill" | "record" | "panel" | "ask";
255
+ /** What the person asked, in their words or the menu row's. */
256
+ readonly said: string;
257
+ }
258
+ /** One thing offered, as the entry keeps it. */
259
+ export interface AiOffered {
260
+ readonly id: string;
261
+ readonly type: AiCandidate["type"];
262
+ readonly label: string;
263
+ readonly confidence?: number;
264
+ }
265
+ /** A panel an interaction made: the recipe it is drawn from again, and its title. */
266
+ export interface AiPanel {
267
+ readonly title: string;
268
+ readonly recipe: PanelRecipe;
269
+ }
270
+ /**
271
+ * AN AI INTERACTION, AS ACTIVITY DRAWS IT AND A HOST STORES IT: who asked,
272
+ * when, about what, what was asked, what was offered and what became of
273
+ * it, the batches it made (each undoable from the entry), a panel it drew,
274
+ * and the models it used with what they cost. Plain JSON, so a host keeps
275
+ * it as it is and hands it back (`HostAi.interactions`).
276
+ */
277
+ export interface AiInteraction {
278
+ readonly id: string;
279
+ /** When it was asked, ISO. */
280
+ readonly at: string;
281
+ readonly by: Author;
282
+ readonly target: AiTarget;
283
+ /** The target in words, as it was called when asked. */
284
+ readonly targetLabel: string;
285
+ readonly ask: AiAsk;
286
+ readonly offered: readonly AiOffered[];
287
+ /**
288
+ * What became of it: still waiting (`offered`), all of it taken
289
+ * (`accepted`), some (`partly`), put away (`dismissed`), a panel drawn
290
+ * (`drawn`), or the model failed (`failed`, said in `failed`).
291
+ */
292
+ readonly outcome: "offered" | "accepted" | "partly" | "dismissed" | "drawn" | "failed";
293
+ /** The offered ids that were taken. */
294
+ readonly accepted?: readonly string[];
295
+ /** The batches it made, in order: each carries lineage `interaction: <id>`. */
296
+ readonly batches?: readonly string[];
297
+ readonly panel?: AiPanel;
298
+ /** What a quick ask was answered, in words (`ask.kind` "ask"). */
299
+ readonly answer?: string;
300
+ readonly usage?: readonly AiUsage[];
301
+ readonly failed?: string;
302
+ }
303
+ /** Whether an interaction concerns a record: its target names it, it offered it, or a batch it made touched it. */
304
+ export declare function interactionTouches(interaction: AiInteraction, record: string, written?: (batch: string) => readonly string[]): boolean;
305
+ /** Whether a person asked it: their id, or for an agent, whom it acted for. */
306
+ export declare const interactionBy: (interaction: AiInteraction, person: string) => boolean;
307
+ /** Two lists of entries as one, newest first: a stored entry and this page's copy of it are one entry, the later-changed one kept. */
308
+ export declare function mergeInteractions(...lists: readonly (readonly AiInteraction[])[]): readonly AiInteraction[];
309
+ /** What the models an interaction used cost together, when any said. */
310
+ export declare function interactionCost(interaction: AiInteraction): number | undefined;
311
+ export {};
312
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}