@agentshouse/mdruntime 0.1.0-cc7bd7a53214e → 0.1.0-ccd098ff75bbf
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 +24 -11
- package/dist/adapter.d.ts +172 -49
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +1 -9
- package/dist/attached-model.d.ts +15 -0
- package/dist/attached-model.d.ts.map +1 -0
- package/dist/attached-model.js +64 -0
- package/dist/attempt.d.ts +16 -0
- package/dist/attempt.d.ts.map +1 -0
- package/dist/attempt.js +70 -0
- package/dist/binary.d.ts +18 -0
- package/dist/binary.d.ts.map +1 -0
- package/dist/binary.js +8 -0
- package/dist/bootstrap.d.ts +39 -7
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +187 -45
- package/dist/chain.d.ts +11 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +64 -0
- package/dist/change-set.d.ts +9 -14
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +11 -56
- package/dist/change.d.ts +45 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +34 -0
- package/dist/client.d.ts +37 -15
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +110 -27
- package/dist/collection.d.ts +9 -13
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +46 -56
- package/dist/compile.d.ts +16 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +740 -0
- package/dist/connection.d.ts +62 -25
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +3831 -958
- package/dist/conversation.d.ts +56 -16
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +739 -242
- package/dist/digest.d.ts +7 -0
- package/dist/digest.d.ts.map +1 -0
- package/dist/digest.js +113 -0
- package/dist/durability.d.ts +5 -1
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +5 -0
- package/dist/entry.d.ts +19 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +151 -0
- package/dist/expectation.d.ts +21 -0
- package/dist/expectation.d.ts.map +1 -0
- package/dist/expectation.js +70 -0
- package/dist/failure.d.ts +13 -0
- package/dist/failure.d.ts.map +1 -0
- package/dist/failure.js +19 -0
- package/dist/fence.d.ts +6 -0
- package/dist/fence.d.ts.map +1 -0
- package/dist/fence.js +10 -0
- package/dist/file.d.ts +2 -10
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +3 -120
- package/dist/fulltext.d.ts +27 -0
- package/dist/fulltext.d.ts.map +1 -0
- package/dist/fulltext.js +368 -0
- package/dist/host.d.ts +15 -2
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +134 -31
- package/dist/identity.d.ts +4 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +16 -1
- package/dist/index.d.ts +20 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/live.d.ts +22 -0
- package/dist/live.d.ts.map +1 -0
- package/dist/live.js +123 -0
- package/dist/memory.d.ts +22 -8
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +167 -47
- package/dist/messages.d.ts +28 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +90 -0
- package/dist/model.d.ts +17 -14
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +16 -4
- package/dist/name.d.ts +4 -0
- package/dist/name.d.ts.map +1 -0
- package/dist/name.js +122 -0
- package/dist/observation.d.ts +19 -2
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +113 -12
- package/dist/open.d.ts +2 -0
- package/dist/open.d.ts.map +1 -0
- package/dist/open.js +1 -0
- package/dist/opened.d.ts +22 -0
- package/dist/opened.d.ts.map +1 -0
- package/dist/opened.js +107 -0
- package/dist/outcome.d.ts +62 -3
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +67 -1
- package/dist/overlay.d.ts +15 -5
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +136 -180
- package/dist/paths.d.ts +0 -1
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +0 -16
- package/dist/query.d.ts +65 -5
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +122 -40
- package/dist/reach.d.ts +11 -4
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +211 -75
- package/dist/react.d.ts +43 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +54 -0
- package/dist/readiness.d.ts +64 -0
- package/dist/readiness.d.ts.map +1 -0
- package/dist/readiness.js +33 -0
- package/dist/reads.d.ts +11 -0
- package/dist/reads.d.ts.map +1 -0
- package/dist/reads.js +100 -0
- package/dist/recovery.d.ts +25 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/recovery.js +198 -0
- package/dist/refresh.d.ts +19 -7
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +125 -53
- package/dist/replica.d.ts +59 -33
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +321 -156
- package/dist/room-draft.d.ts +41 -9
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +186 -37
- package/dist/rows.d.ts +37 -34
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +187 -82
- package/dist/save.d.ts +72 -6
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +889 -178
- package/dist/search.d.ts +41 -29
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +37 -105
- package/dist/seed.d.ts +16 -0
- package/dist/seed.d.ts.map +1 -0
- package/dist/seed.js +75 -0
- package/dist/shared.d.ts +16 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +431 -0
- package/dist/status.d.ts +6 -2
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +0 -8
- package/dist/store.d.ts +123 -58
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +359 -344
- package/dist/stored.d.ts +145 -0
- package/dist/stored.d.ts.map +1 -0
- package/dist/stored.js +557 -0
- package/dist/tables.d.ts +354 -0
- package/dist/tables.d.ts.map +1 -0
- package/dist/tables.js +624 -0
- package/dist/turn.d.ts +9 -0
- package/dist/turn.d.ts.map +1 -0
- package/dist/turn.js +75 -0
- package/dist/validation.d.ts +30 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +162 -0
- package/dist/windows.d.ts +22 -0
- package/dist/windows.d.ts.map +1 -0
- package/dist/windows.js +89 -0
- package/dist/wire.d.ts +170 -45
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +69 -46
- package/dist/words.d.ts +19 -0
- package/dist/words.d.ts.map +1 -0
- package/dist/words.js +150 -0
- package/package.json +33 -10
- package/AGENTS.md +0 -215
- package/dist/attachment.d.ts +0 -3
- package/dist/attachment.d.ts.map +0 -1
- package/dist/attachment.js +0 -8
- package/dist/read-side.d.ts +0 -18
- package/dist/read-side.d.ts.map +0 -1
- package/dist/read-side.js +0 -377
package/dist/room-draft.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room-draft.d.ts","sourceRoot":"","sources":["../src/room-draft.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"room-draft.d.ts","sourceRoot":"","sources":["../src/room-draft.ts"],"names":[],"mappings":"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"}
|
package/dist/room-draft.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { apply, parse, serialize } from '@agentshouse/mdmodel';
|
|
1
|
+
import { apply, equalValue, frontmatterValue, parse, serialize, } from '@agentshouse/mdmodel';
|
|
2
|
+
import { runtimeError } from './failure.js';
|
|
3
|
+
import { sha256 } from './digest.js';
|
|
4
|
+
import { binaryLocalId } from './identity.js';
|
|
2
5
|
import { normalize } from './paths.js';
|
|
6
|
+
export function returnedBy(kind) {
|
|
7
|
+
return { kind, code: kind, fields: {}, retryable: false };
|
|
8
|
+
}
|
|
9
|
+
export function staleWrite(current) {
|
|
10
|
+
return { outcome: 'stale', code: 'stale', retryable: false, current };
|
|
11
|
+
}
|
|
3
12
|
function malformed() {
|
|
4
|
-
throw
|
|
13
|
+
throw runtimeError('room-draft-malformed');
|
|
5
14
|
}
|
|
6
15
|
function plain(value) {
|
|
7
16
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
8
17
|
}
|
|
9
|
-
function frontmatterValue(value) {
|
|
10
|
-
if (Array.isArray(value))
|
|
11
|
-
return value.every(frontmatterValue);
|
|
12
|
-
return (value === null ||
|
|
13
|
-
typeof value === 'string' ||
|
|
14
|
-
typeof value === 'boolean' ||
|
|
15
|
-
(typeof value === 'number' && Number.isFinite(value)));
|
|
16
|
-
}
|
|
17
18
|
function text(value) {
|
|
18
19
|
return typeof value === 'string' ? value : malformed();
|
|
19
20
|
}
|
|
@@ -61,6 +62,7 @@ const PART_NAMES = new Set([
|
|
|
61
62
|
'creation',
|
|
62
63
|
'move',
|
|
63
64
|
'removal',
|
|
65
|
+
'file',
|
|
64
66
|
]);
|
|
65
67
|
export function readParts(value) {
|
|
66
68
|
if (!plain(value) || Object.keys(value).some((name) => !PART_NAMES.has(name)))
|
|
@@ -88,7 +90,12 @@ export function readParts(value) {
|
|
|
88
90
|
if (!plain(value.move))
|
|
89
91
|
malformed();
|
|
90
92
|
const base = markdownBase(value.move.base);
|
|
91
|
-
|
|
93
|
+
const room = optionalText(value.move.room);
|
|
94
|
+
parts.move = {
|
|
95
|
+
to: text(value.move.to),
|
|
96
|
+
...(room === undefined ? {} : { room }),
|
|
97
|
+
...(base === undefined ? {} : { base }),
|
|
98
|
+
};
|
|
92
99
|
}
|
|
93
100
|
if (value.removal !== undefined) {
|
|
94
101
|
if (!plain(value.removal))
|
|
@@ -96,6 +103,13 @@ export function readParts(value) {
|
|
|
96
103
|
const base = markdownBase(value.removal.base);
|
|
97
104
|
parts.removal = base === undefined ? {} : { base };
|
|
98
105
|
}
|
|
106
|
+
if (value.file !== undefined) {
|
|
107
|
+
if (!plain(value.file) || !(value.file.blob instanceof Blob))
|
|
108
|
+
malformed();
|
|
109
|
+
if (Object.keys(value).length > 1)
|
|
110
|
+
throw runtimeError('room-draft-file-exclusive');
|
|
111
|
+
parts.file = { blob: value.file.blob };
|
|
112
|
+
}
|
|
99
113
|
return parts;
|
|
100
114
|
}
|
|
101
115
|
function named(record) {
|
|
@@ -108,17 +122,78 @@ function kept(prior, base) {
|
|
|
108
122
|
if (prior !== undefined)
|
|
109
123
|
return prior.base;
|
|
110
124
|
if (base === undefined)
|
|
111
|
-
throw
|
|
125
|
+
throw runtimeError('room-draft-base-missing');
|
|
112
126
|
return base;
|
|
113
127
|
}
|
|
128
|
+
function movePart(current, move) {
|
|
129
|
+
return {
|
|
130
|
+
to: move.to,
|
|
131
|
+
...(move.room === undefined ? {} : { room: move.room }),
|
|
132
|
+
base: kept(current, move.base),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
114
135
|
function editsText(parts) {
|
|
115
136
|
return (parts.preamble !== undefined ||
|
|
116
137
|
named(parts.fields).length > 0 ||
|
|
117
138
|
named(parts.sections).length > 0);
|
|
118
139
|
}
|
|
119
|
-
|
|
140
|
+
function partNames(parts) {
|
|
141
|
+
const names = [];
|
|
142
|
+
for (const [name, part] of Object.entries(parts)) {
|
|
143
|
+
if (name === 'preamble' || name === 'markdown')
|
|
144
|
+
names.push(name);
|
|
145
|
+
else if ((name === 'fields' || name === 'sections') && plain(part))
|
|
146
|
+
names.push(...Object.keys(part).map((one) => `${name}/${one}`));
|
|
147
|
+
else
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return names.sort().join('\u0000');
|
|
151
|
+
}
|
|
152
|
+
function withBaseOf(prior, part) {
|
|
153
|
+
return plain(part) && plain(prior) && Object.hasOwn(prior, 'base')
|
|
154
|
+
? { ...part, base: prior.base }
|
|
155
|
+
: part;
|
|
156
|
+
}
|
|
157
|
+
export function gatheredParts(earlier, later) {
|
|
158
|
+
if (!plain(earlier) || !plain(later))
|
|
159
|
+
return null;
|
|
160
|
+
const named = partNames(earlier);
|
|
161
|
+
if (named === null || named !== partNames(later))
|
|
162
|
+
return null;
|
|
163
|
+
return Object.fromEntries(Object.entries(later).map(([name, part]) => [
|
|
164
|
+
name,
|
|
165
|
+
name === 'fields' || name === 'sections'
|
|
166
|
+
? Object.fromEntries(Object.entries(part).map(([one, value]) => [
|
|
167
|
+
one,
|
|
168
|
+
withBaseOf(earlier[name][one], value),
|
|
169
|
+
]))
|
|
170
|
+
: withBaseOf(earlier[name], part),
|
|
171
|
+
]));
|
|
172
|
+
}
|
|
173
|
+
export function held(current, parts, file) {
|
|
120
174
|
if (parts.markdown !== undefined && editsText(parts)) {
|
|
121
|
-
throw
|
|
175
|
+
throw runtimeError('room-draft-markdown-exclusive');
|
|
176
|
+
}
|
|
177
|
+
if (file !== undefined) {
|
|
178
|
+
if (current !== undefined && current.file === undefined) {
|
|
179
|
+
throw runtimeError('room-draft-file-exclusive');
|
|
180
|
+
}
|
|
181
|
+
return { file: { ...file, base: current?.file === undefined ? file.base : current.file.base } };
|
|
182
|
+
}
|
|
183
|
+
if (current?.file !== undefined) {
|
|
184
|
+
if (editsText(parts) ||
|
|
185
|
+
parts.markdown !== undefined ||
|
|
186
|
+
parts.creation !== undefined ||
|
|
187
|
+
(parts.move === undefined && parts.removal === undefined)) {
|
|
188
|
+
throw runtimeError('room-draft-file-exclusive');
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
file: current.file,
|
|
192
|
+
...(parts.move === undefined ? {} : { move: movePart(current.move, parts.move) }),
|
|
193
|
+
...(parts.removal === undefined
|
|
194
|
+
? {}
|
|
195
|
+
: { removal: { base: kept(current.removal, parts.removal.base) } }),
|
|
196
|
+
};
|
|
122
197
|
}
|
|
123
198
|
const next = {};
|
|
124
199
|
const fields = named(parts.fields);
|
|
@@ -149,24 +224,15 @@ export function held(current, parts) {
|
|
|
149
224
|
}
|
|
150
225
|
if (parts.creation !== undefined)
|
|
151
226
|
next.creation = parts.creation;
|
|
152
|
-
if (parts.move !== undefined)
|
|
153
|
-
next.move =
|
|
154
|
-
}
|
|
227
|
+
if (parts.move !== undefined)
|
|
228
|
+
next.move = movePart(current?.move, parts.move);
|
|
155
229
|
if (parts.removal !== undefined) {
|
|
156
230
|
next.removal = { base: kept(current?.removal, parts.removal.base) };
|
|
157
231
|
}
|
|
158
232
|
if (Object.keys(next).length === 0)
|
|
159
|
-
throw
|
|
233
|
+
throw runtimeError('room-draft-empty');
|
|
160
234
|
return next;
|
|
161
235
|
}
|
|
162
|
-
export function equalValue(left, right) {
|
|
163
|
-
if (left === right)
|
|
164
|
-
return true;
|
|
165
|
-
return (Array.isArray(left) &&
|
|
166
|
-
Array.isArray(right) &&
|
|
167
|
-
left.length === right.length &&
|
|
168
|
-
left.every((item, index) => equalValue(item, right[index])));
|
|
169
|
-
}
|
|
170
236
|
function sameField(left, right) {
|
|
171
237
|
if (left === null || right === null)
|
|
172
238
|
return left === right;
|
|
@@ -174,7 +240,7 @@ function sameField(left, right) {
|
|
|
174
240
|
}
|
|
175
241
|
export function underneath(parts, path, visible) {
|
|
176
242
|
const markdown = visible?.documents[path] ?? null;
|
|
177
|
-
const document = visible?.collection.
|
|
243
|
+
const document = visible?.collection.document(path);
|
|
178
244
|
const report = {};
|
|
179
245
|
const fields = {};
|
|
180
246
|
for (const [name, part] of named(parts.fields)) {
|
|
@@ -207,8 +273,27 @@ export function underneath(parts, path, visible) {
|
|
|
207
273
|
report.move = markdown;
|
|
208
274
|
if (parts.removal !== undefined && markdown !== parts.removal.base)
|
|
209
275
|
report.removal = markdown;
|
|
276
|
+
if (parts.file !== undefined) {
|
|
277
|
+
const file = binaryBase(visible, path);
|
|
278
|
+
if (file !== parts.file.base || markdown !== null)
|
|
279
|
+
report.file = file;
|
|
280
|
+
}
|
|
210
281
|
return report;
|
|
211
282
|
}
|
|
283
|
+
const UNTYPED_MEDIA_TYPE = 'application/octet-stream';
|
|
284
|
+
export async function heldFile(blob, base) {
|
|
285
|
+
return {
|
|
286
|
+
localId: binaryLocalId(),
|
|
287
|
+
...(blob instanceof File ? { name: blob.name } : {}),
|
|
288
|
+
byteLength: blob.size,
|
|
289
|
+
mediaType: blob.type === '' ? UNTYPED_MEDIA_TYPE : blob.type,
|
|
290
|
+
sha256: await sha256(blob),
|
|
291
|
+
base,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
export function binaryBase(visible, path) {
|
|
295
|
+
return visible?.binaries[path] === undefined ? null : (visible.revisions[path] ?? null);
|
|
296
|
+
}
|
|
212
297
|
export function changedParts(path, report) {
|
|
213
298
|
return [
|
|
214
299
|
...(report.creation === undefined ? [] : [{ path, part: 'creation' }]),
|
|
@@ -218,6 +303,7 @@ export function changedParts(path, report) {
|
|
|
218
303
|
...(report.markdown === undefined ? [] : [{ path, part: 'markdown' }]),
|
|
219
304
|
...(report.move === undefined ? [] : [{ path, part: 'move' }]),
|
|
220
305
|
...(report.removal === undefined ? [] : [{ path, part: 'removal' }]),
|
|
306
|
+
...(report.file === undefined ? [] : [{ path, part: 'file' }]),
|
|
221
307
|
];
|
|
222
308
|
}
|
|
223
309
|
function joined(existing, returned) {
|
|
@@ -234,16 +320,15 @@ function frontmatterOf(fields) {
|
|
|
234
320
|
const opened = parse('---\n---\n');
|
|
235
321
|
if (!opened.ok)
|
|
236
322
|
return malformed();
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
return serialize(document);
|
|
323
|
+
const next = apply(opened.document, fields.map(([name, part]) => ({
|
|
324
|
+
kind: 'field',
|
|
325
|
+
name,
|
|
326
|
+
value: part.value,
|
|
327
|
+
prior: undefined,
|
|
328
|
+
})));
|
|
329
|
+
return next.outcome === 'applied' ? serialize(next.document) : malformed();
|
|
245
330
|
}
|
|
246
|
-
function
|
|
331
|
+
export function partsAfter(markdown, parts) {
|
|
247
332
|
const fields = named(parts.fields);
|
|
248
333
|
const pieces = [
|
|
249
334
|
...(fields.length === 0 ? [] : [frontmatterOf(fields)]),
|
|
@@ -274,18 +359,21 @@ export function returnedInto(existing, returned) {
|
|
|
274
359
|
delete next.fields;
|
|
275
360
|
delete next.sections;
|
|
276
361
|
delete next.preamble;
|
|
277
|
-
const value =
|
|
362
|
+
const value = partsAfter(whole.value, existing.markdown === undefined ? existing : returned);
|
|
278
363
|
next.markdown = { value, base: whole.base };
|
|
279
364
|
}
|
|
280
365
|
const creation = existing.creation ?? returned.creation;
|
|
281
366
|
const move = existing.move ?? returned.move;
|
|
282
367
|
const removal = existing.removal ?? returned.removal;
|
|
368
|
+
const file = existing.file ?? returned.file;
|
|
283
369
|
if (creation !== undefined)
|
|
284
370
|
next.creation = creation;
|
|
285
371
|
if (move !== undefined)
|
|
286
372
|
next.move = move;
|
|
287
373
|
if (removal !== undefined)
|
|
288
374
|
next.removal = removal;
|
|
375
|
+
if (file !== undefined)
|
|
376
|
+
next.file = file;
|
|
289
377
|
return next;
|
|
290
378
|
}
|
|
291
379
|
export function moveTarget(move) {
|
|
@@ -321,9 +409,70 @@ export function changesOf(path, parts) {
|
|
|
321
409
|
if (parts.markdown !== undefined) {
|
|
322
410
|
changes.push({ kind: 'replace', path, content: parts.markdown.value });
|
|
323
411
|
}
|
|
412
|
+
if (parts.file !== undefined && parts.removal === undefined) {
|
|
413
|
+
const { base, name: _name, ...file } = parts.file;
|
|
414
|
+
const at = parts.move === undefined ? path : moveTarget(parts.move);
|
|
415
|
+
if (base !== null && at !== path)
|
|
416
|
+
changes.push({ kind: 'move', path, to: at });
|
|
417
|
+
changes.push({ kind: 'binary', path: at, ...file });
|
|
418
|
+
if (base === null && at !== path)
|
|
419
|
+
bases.push({ kind: 'absent', path: at });
|
|
420
|
+
return { changes, bases };
|
|
421
|
+
}
|
|
422
|
+
if (parts.file?.base === null)
|
|
423
|
+
return { changes, bases };
|
|
324
424
|
if (parts.move !== undefined)
|
|
325
425
|
changes.push({ kind: 'move', path, to: moveTarget(parts.move) });
|
|
326
426
|
if (parts.removal !== undefined)
|
|
327
427
|
changes.push({ kind: 'remove', path });
|
|
328
428
|
return { changes, bases };
|
|
329
429
|
}
|
|
430
|
+
function rebased(before, after) {
|
|
431
|
+
return before === undefined ? after : { ...after, base: before.base };
|
|
432
|
+
}
|
|
433
|
+
function rebasedAll(before, after) {
|
|
434
|
+
return {
|
|
435
|
+
...before,
|
|
436
|
+
...Object.fromEntries(Object.entries(after).map(([name, part]) => [name, rebased(before?.[name], part)])),
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
export function joinedDraft(carried, saved) {
|
|
440
|
+
const draft = saved.find((item) => item.path === carried.path);
|
|
441
|
+
if (draft === undefined)
|
|
442
|
+
return carried;
|
|
443
|
+
const held = carried.parts;
|
|
444
|
+
const next = draft.parts;
|
|
445
|
+
return {
|
|
446
|
+
path: carried.path,
|
|
447
|
+
parts: {
|
|
448
|
+
...held,
|
|
449
|
+
...next,
|
|
450
|
+
...(next.fields === undefined ? {} : { fields: rebasedAll(held.fields, next.fields) }),
|
|
451
|
+
...(next.sections === undefined
|
|
452
|
+
? {}
|
|
453
|
+
: { sections: rebasedAll(held.sections, next.sections) }),
|
|
454
|
+
...(next.preamble === undefined ? {} : { preamble: rebased(held.preamble, next.preamble) }),
|
|
455
|
+
...(next.markdown === undefined ? {} : { markdown: rebased(held.markdown, next.markdown) }),
|
|
456
|
+
},
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
export function withdrawnDrafts(drafts, changes) {
|
|
460
|
+
return drafts.flatMap((draft) => {
|
|
461
|
+
const file = draft.parts.file;
|
|
462
|
+
const at = draft.parts.move?.to ?? draft.path;
|
|
463
|
+
const change = changes.find((item) => (item.kind === 'move' || item.kind === 'remove') && item.path === at);
|
|
464
|
+
if (file === undefined || change === undefined)
|
|
465
|
+
return [draft];
|
|
466
|
+
if (change.kind === 'move') {
|
|
467
|
+
return [
|
|
468
|
+
{
|
|
469
|
+
path: draft.path,
|
|
470
|
+
parts: change.to === draft.path ? { file } : { file, move: { to: change.to, base: null } },
|
|
471
|
+
},
|
|
472
|
+
];
|
|
473
|
+
}
|
|
474
|
+
return file.base === null
|
|
475
|
+
? []
|
|
476
|
+
: [{ path: draft.path, parts: { file, removal: { base: null } } }];
|
|
477
|
+
});
|
|
478
|
+
}
|
package/dist/rows.d.ts
CHANGED
|
@@ -1,41 +1,44 @@
|
|
|
1
|
-
import { type Document } from '@agentshouse/mdmodel';
|
|
2
|
-
import type { HeadChange } from './adapter.js';
|
|
3
1
|
import { type Composition } from './collection.js';
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
values: Fields;
|
|
13
|
-
sizes: Readonly<Record<string, number>>;
|
|
14
|
-
directories: readonly string[];
|
|
15
|
-
body: string;
|
|
16
|
-
change: HeadChange | null;
|
|
2
|
+
export type ValueKind = 'string' | 'number' | 'boolean' | 'null' | 'array' | 'object' | 'undefined';
|
|
3
|
+
type HeldValue = {
|
|
4
|
+
readonly keys: string;
|
|
5
|
+
readonly places: string;
|
|
6
|
+
readonly item: number;
|
|
7
|
+
readonly kind: ValueKind;
|
|
8
|
+
readonly value: string | number | null;
|
|
9
|
+
readonly size: number | null;
|
|
17
10
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
kind:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
markdown: string;
|
|
11
|
+
type LinkKind = 'field' | 'section' | 'body';
|
|
12
|
+
type HeldLink = {
|
|
13
|
+
readonly kind: LinkKind;
|
|
14
|
+
readonly keys: string;
|
|
15
|
+
readonly places: string;
|
|
16
|
+
readonly target: string;
|
|
17
|
+
readonly field: string;
|
|
26
18
|
};
|
|
27
|
-
export type
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
type: string;
|
|
19
|
+
export type Derived = {
|
|
20
|
+
readonly type: string | null;
|
|
21
|
+
readonly declared: string | null;
|
|
22
|
+
readonly queried: boolean;
|
|
23
|
+
readonly folder: string;
|
|
24
|
+
readonly fields: string | null;
|
|
25
|
+
readonly values: readonly HeldValue[];
|
|
26
|
+
readonly links: readonly HeldLink[];
|
|
36
27
|
};
|
|
37
|
-
export type Row = DocumentRow | BodyRow | ReferenceRow;
|
|
38
28
|
export declare function documentKey(room: string, path: string): string;
|
|
39
|
-
export declare function
|
|
29
|
+
export declare function roomOfKey(key: string): string;
|
|
30
|
+
export declare function pathOfKey(key: string): string;
|
|
31
|
+
export declare function markdownPath(path: string): boolean;
|
|
32
|
+
export declare function settingsTextPath(path: string): boolean;
|
|
33
|
+
export declare function folderOf(path: string): string;
|
|
34
|
+
export type Reach = 'exact' | 'value' | 'link';
|
|
35
|
+
export type Placed = {
|
|
36
|
+
readonly keys: string;
|
|
37
|
+
readonly places: string;
|
|
38
|
+
readonly glob: boolean;
|
|
39
|
+
};
|
|
40
|
+
export declare function placedOf(pointer: string, reach: Reach): Placed;
|
|
41
|
+
export declare function kindOf(value: unknown): ValueKind;
|
|
42
|
+
export declare function derived(path: string, content: string | null, composition: Composition): Derived;
|
|
40
43
|
export {};
|
|
41
44
|
//# sourceMappingURL=rows.d.ts.map
|
package/dist/rows.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"AAWA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9D,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEpG,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,KAAK,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C,KAAK,QAAQ,GAAG;IACd,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC,CAAC;AAMF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAWD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhG,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAuB9D;AAwBD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAMhD;AAsHD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAmB/F"}
|