@agentshouse/mdruntime 0.1.0-c0bed82db8d73 → 0.1.0-c0c9861edaba9
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 +2 -1
- package/dist/adapter.d.ts +0 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +1 -0
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +8 -1
- package/dist/bootstrap.d.ts +8 -4
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +76 -41
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +1 -2
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +65 -19
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +228 -217
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +5 -2
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +2 -1
- package/dist/memory.d.ts +1 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +2 -6
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +1 -1
- package/dist/query.d.ts +6 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/reach.d.ts +6 -0
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +23 -6
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +1 -5
- package/dist/replica.d.ts +1 -2
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +2 -2
- package/dist/rows.d.ts +15 -5
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +102 -71
- package/dist/store.d.ts +4 -9
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +10 -7
- package/dist/stored.d.ts +10 -3
- package/dist/stored.d.ts.map +1 -1
- package/dist/stored.js +110 -70
- package/dist/tables.d.ts +5 -7
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +5 -5
- package/package.json +1 -2
- package/AGENTS.md +0 -312
package/dist/rows.js
CHANGED
|
@@ -22,6 +22,41 @@ export function settingsTextPath(path) {
|
|
|
22
22
|
export function folderOf(path) {
|
|
23
23
|
return path.slice(0, Math.max(path.lastIndexOf('/'), 0));
|
|
24
24
|
}
|
|
25
|
+
export function placedOf(pointer, reach) {
|
|
26
|
+
const [first = '', ...rest] = pointer.split('/').slice(1);
|
|
27
|
+
const keys = [first];
|
|
28
|
+
const gaps = [[]];
|
|
29
|
+
for (const segment of rest) {
|
|
30
|
+
if (ARRAY_INDEX.test(segment)) {
|
|
31
|
+
gaps.at(-1).push(segment);
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
keys.push(segment);
|
|
35
|
+
gaps.push([]);
|
|
36
|
+
}
|
|
37
|
+
const places = gaps
|
|
38
|
+
.map((gap, at) => {
|
|
39
|
+
const open = at < gaps.length - 1 ? reach !== 'exact' : reach === 'link';
|
|
40
|
+
return `/${gap.map((number) => `[.:]${number}`).join('')}.${open ? '*' : ''}`;
|
|
41
|
+
})
|
|
42
|
+
.join('');
|
|
43
|
+
return {
|
|
44
|
+
keys: keys.map((key) => `/${key}`).join(''),
|
|
45
|
+
places,
|
|
46
|
+
glob: /[[*]/u.test(places),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function placesOf({ done, head, tail }) {
|
|
50
|
+
return `${done}/${head}${tail}.`;
|
|
51
|
+
}
|
|
52
|
+
function throughOf(keys, places) {
|
|
53
|
+
const gaps = places.split('/').slice(1);
|
|
54
|
+
return keys
|
|
55
|
+
.split('/')
|
|
56
|
+
.slice(1)
|
|
57
|
+
.map((key, at) => `/${key}${gaps[at].replace(/\.\d*/gu, '').replaceAll(':', '/')}`)
|
|
58
|
+
.join('');
|
|
59
|
+
}
|
|
25
60
|
function plainObject(value) {
|
|
26
61
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
27
62
|
}
|
|
@@ -50,75 +85,59 @@ function scalarOf(value) {
|
|
|
50
85
|
return JSON.stringify(value);
|
|
51
86
|
return null;
|
|
52
87
|
}
|
|
53
|
-
function held(reading,
|
|
54
|
-
const at = reading.reached.get(form) ?? 0;
|
|
55
|
-
reading.reached.set(form, at + 1);
|
|
56
|
-
const kind = kindOf(value);
|
|
88
|
+
function held(reading, keys, places, value) {
|
|
57
89
|
reading.values.push({
|
|
58
|
-
|
|
59
|
-
|
|
90
|
+
keys,
|
|
91
|
+
places,
|
|
60
92
|
item: -1,
|
|
61
|
-
kind,
|
|
93
|
+
kind: kindOf(value),
|
|
62
94
|
value: scalarOf(value),
|
|
63
95
|
size: Array.isArray(value) ? value.length : null,
|
|
64
|
-
single,
|
|
65
96
|
});
|
|
66
97
|
if (!Array.isArray(value))
|
|
67
98
|
return;
|
|
68
99
|
value.forEach((item, index) => {
|
|
69
100
|
const itemKind = kindOf(item);
|
|
70
101
|
reading.values.push({
|
|
71
|
-
|
|
72
|
-
|
|
102
|
+
keys,
|
|
103
|
+
places,
|
|
73
104
|
item: index,
|
|
74
105
|
kind: itemKind,
|
|
75
106
|
value: itemKind === 'array' ? null : scalarOf(item),
|
|
76
107
|
size: null,
|
|
77
|
-
single: false,
|
|
78
108
|
});
|
|
79
109
|
});
|
|
80
110
|
}
|
|
81
|
-
function record(reading, node,
|
|
111
|
+
function record(reading, node, at) {
|
|
82
112
|
const value = Array.isArray(node)
|
|
83
|
-
? node.map((item, index) => compared(reading, `${exact}/${index}`, item))
|
|
84
|
-
: compared(reading, exact, node);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
held(reading, form.text, value, !form.through && value !== undefined && !plainObject(value));
|
|
89
|
-
}
|
|
90
|
-
if (Array.isArray(node) || plainObject(node) || !reading.references.has(exact))
|
|
91
|
-
return;
|
|
92
|
-
const found = compared(reading, exact, node);
|
|
93
|
-
if (typeof found !== 'string')
|
|
113
|
+
? node.map((item, index) => compared(reading, `${at.exact}/${index}`, item))
|
|
114
|
+
: compared(reading, at.exact, node);
|
|
115
|
+
const places = placesOf(at);
|
|
116
|
+
held(reading, at.keys, places, value);
|
|
117
|
+
if (typeof value !== 'string' || !reading.references.has(at.exact))
|
|
94
118
|
return;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
record(reading, node, forms, exact);
|
|
119
|
+
reading.links.push({
|
|
120
|
+
kind: 'field',
|
|
121
|
+
keys: at.keys,
|
|
122
|
+
places,
|
|
123
|
+
target: value,
|
|
124
|
+
field: throughOf(at.keys, places),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function walk(reading, node, at) {
|
|
128
|
+
record(reading, node, at);
|
|
106
129
|
if (Array.isArray(node)) {
|
|
107
|
-
node.forEach((item, index) => walk(reading, item,
|
|
108
|
-
...(form.pending
|
|
109
|
-
? []
|
|
110
|
-
: [{ text: `${form.text}/${index}`, through: form.through, pending: false }]),
|
|
111
|
-
{ text: form.text, through: true, pending: true },
|
|
112
|
-
]), `${exact}/${index}`));
|
|
130
|
+
node.forEach((item, index) => walk(reading, item, { ...at, tail: `${at.tail}.${index}`, exact: `${at.exact}/${index}` }));
|
|
113
131
|
return;
|
|
114
132
|
}
|
|
115
133
|
if (!plainObject(node))
|
|
116
134
|
return;
|
|
117
135
|
for (const [key, value] of Object.entries(node)) {
|
|
118
136
|
const segment = escapePointer(key);
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
137
|
+
const exact = `${at.exact}/${segment}`;
|
|
138
|
+
walk(reading, value, ARRAY_INDEX.test(segment)
|
|
139
|
+
? { ...at, head: `${at.head}${at.tail.replaceAll('.', ':')}:${segment}`, tail: '', exact }
|
|
140
|
+
: { keys: `${at.keys}/${segment}`, done: placesOf(at), head: '', tail: '', exact });
|
|
122
141
|
}
|
|
123
142
|
}
|
|
124
143
|
function bodyTargets(path, content) {
|
|
@@ -128,7 +147,7 @@ function bodyTargets(path, content) {
|
|
|
128
147
|
if (seen.has(reached))
|
|
129
148
|
continue;
|
|
130
149
|
seen.add(reached);
|
|
131
|
-
found.push({ kind: 'body',
|
|
150
|
+
found.push({ kind: 'body', keys: '', places: '', target: reached, field: '' });
|
|
132
151
|
}
|
|
133
152
|
return found;
|
|
134
153
|
}
|
|
@@ -138,49 +157,61 @@ function typedRows(path, content, document, composition) {
|
|
|
138
157
|
path,
|
|
139
158
|
references: new Set(definition === undefined ? [] : references(document, definition).map((one) => one.pointer)),
|
|
140
159
|
values: [],
|
|
141
|
-
|
|
142
|
-
targets: new Map(),
|
|
160
|
+
links: [],
|
|
143
161
|
};
|
|
144
162
|
for (const [name, value] of Object.entries(document.fields)) {
|
|
145
163
|
const segment = escapePointer(name);
|
|
146
|
-
walk(reading, value,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}
|
|
164
|
+
walk(reading, value, {
|
|
165
|
+
keys: `/${segment}`,
|
|
166
|
+
done: '',
|
|
167
|
+
head: '',
|
|
168
|
+
tail: '',
|
|
169
|
+
exact: `/${segment}`,
|
|
170
|
+
});
|
|
153
171
|
}
|
|
172
|
+
const links = reading.links;
|
|
154
173
|
if (definition !== undefined) {
|
|
155
174
|
const sectioned = new Set();
|
|
156
175
|
for (const { target: reached } of sectionReferences(path, content, definition)) {
|
|
157
176
|
if (reached === null || sectioned.has(reached))
|
|
158
177
|
continue;
|
|
159
178
|
sectioned.add(reached);
|
|
160
|
-
links.push({ kind: 'section',
|
|
179
|
+
links.push({ kind: 'section', keys: '', places: '', target: reached, field: '' });
|
|
161
180
|
}
|
|
162
181
|
}
|
|
163
182
|
return { values: reading.values, links: [...links, ...bodyTargets(path, content)] };
|
|
164
183
|
}
|
|
165
|
-
|
|
184
|
+
function read(path, content) {
|
|
166
185
|
const folder = folderOf(path);
|
|
167
|
-
const unread = {
|
|
168
|
-
if (content === null)
|
|
169
|
-
return { ...unread, declared: null, queried: true };
|
|
170
|
-
const read = parseFrontmatter(content, path);
|
|
171
|
-
const declared = read.ok ? (read.frontmatter.type ?? 'any') : null;
|
|
172
|
-
if (!markdownPath(path)) {
|
|
173
|
-
return { ...unread, declared, queried: true, links: bodyTargets(path, content) };
|
|
186
|
+
const unread = { fields: null, folder, type: null };
|
|
187
|
+
if (content === null) {
|
|
188
|
+
return { described: { ...unread, declared: null, queried: true }, document: null };
|
|
174
189
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
190
|
+
const parsed = parseFrontmatter(content, path);
|
|
191
|
+
const declared = parsed.ok ? (parsed.frontmatter.type ?? 'any') : null;
|
|
192
|
+
if (!markdownPath(path) || !parsed.ok) {
|
|
193
|
+
return { described: { ...unread, declared, queried: !markdownPath(path) }, document: null };
|
|
194
|
+
}
|
|
195
|
+
const document = parsed.frontmatter;
|
|
178
196
|
return {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
197
|
+
described: {
|
|
198
|
+
type: document.type ?? 'any',
|
|
199
|
+
declared,
|
|
200
|
+
queried: true,
|
|
201
|
+
folder,
|
|
202
|
+
fields: JSON.stringify(document.fields),
|
|
203
|
+
},
|
|
204
|
+
document,
|
|
185
205
|
};
|
|
186
206
|
}
|
|
207
|
+
export function described(path, content) {
|
|
208
|
+
return read(path, content).described;
|
|
209
|
+
}
|
|
210
|
+
export function derived(path, content, composition) {
|
|
211
|
+
const { described: columns, document } = read(path, content);
|
|
212
|
+
if (document !== null) {
|
|
213
|
+
return { ...columns, ...typedRows(path, content, document, composition) };
|
|
214
|
+
}
|
|
215
|
+
const links = content === null || markdownPath(path) ? [] : bodyTargets(path, content);
|
|
216
|
+
return { ...columns, values: [], links };
|
|
217
|
+
}
|
package/dist/store.d.ts
CHANGED
|
@@ -7,12 +7,8 @@ import type { Submission } from './outcome.js';
|
|
|
7
7
|
import type { RoomDraftRecord, SavedDraft } from './room-draft.js';
|
|
8
8
|
import type { ModelState } from './model.js';
|
|
9
9
|
import type { SearchWindow } from './search.js';
|
|
10
|
-
import type { CommittedWrite, ConversationWrite, CountedRoom, HeldConversation, HeldEntry, MessageWindow, QueryAnswer, QueryRoom, Referrer, RoomCommit, RuntimeDatabase, SearchAsk, StoredEntry, StoredFile, TypedEntry, View, Walked } from './tables.js';
|
|
10
|
+
import type { CommittedWrite, ConversationWrite, CountedRoom, HeldConversation, HeldEntry, KeptPart, MessageWindow, QueryAnswer, QueryRoom, Referrer, RoomCommit, RuntimeDatabase, SearchAsk, StoredEntry, StoredFile, TypedEntry, View, Walked } from './tables.js';
|
|
11
11
|
export type { ConversationWrite, HeldConversation, MessageWindow } from './tables.js';
|
|
12
|
-
export type TransferWriting = {
|
|
13
|
-
readonly token: string | null;
|
|
14
|
-
readonly written: number;
|
|
15
|
-
};
|
|
16
12
|
export type TransferRecord = {
|
|
17
13
|
readonly locator: string;
|
|
18
14
|
readonly transfer: string;
|
|
@@ -20,12 +16,10 @@ export type TransferRecord = {
|
|
|
20
16
|
readonly from: string;
|
|
21
17
|
readonly last: string;
|
|
22
18
|
readonly pageToken: string | null;
|
|
23
|
-
readonly writing: TransferWriting | null;
|
|
24
19
|
readonly inventory: BootstrapInventory | null;
|
|
25
20
|
readonly done: BootstrapInventory;
|
|
26
21
|
readonly models: {
|
|
27
22
|
readonly collection: ModelState;
|
|
28
|
-
readonly selection: ModelState;
|
|
29
23
|
};
|
|
30
24
|
readonly key: number | null;
|
|
31
25
|
};
|
|
@@ -90,6 +84,7 @@ export type RefreshedPage = StagedPage & {
|
|
|
90
84
|
export type Opened = {
|
|
91
85
|
readonly rooms: ReadonlyMap<string, ReplicaRecord>;
|
|
92
86
|
readonly transfers: ReadonlyMap<string, TransferRecord>;
|
|
87
|
+
readonly kept: ReadonlyMap<string, ReadonlyMap<string, number>>;
|
|
93
88
|
readonly unindexed: ReadonlySet<number>;
|
|
94
89
|
readonly overlaid: ReadonlyMap<number, ReadonlySet<string>>;
|
|
95
90
|
readonly erasing: boolean;
|
|
@@ -125,7 +120,7 @@ export type RuntimeStore = {
|
|
|
125
120
|
search(ask: SearchAsk): Promise<SearchWindow>;
|
|
126
121
|
stage(record: TransferRecord, composition: Composition, page: StagedPage, written?: string): Promise<number | null>;
|
|
127
122
|
transferPart(locator: string, token: string): Promise<Uint8Array | null>;
|
|
128
|
-
|
|
123
|
+
keepParts(parts: readonly KeptPart[]): Promise<void>;
|
|
129
124
|
refresh(key: number, page: RefreshedPage): Promise<void>;
|
|
130
125
|
unrefresh(key: number): Promise<void>;
|
|
131
126
|
commit(commit: Commit): Promise<CommittedWrite>;
|
|
@@ -133,7 +128,7 @@ export type RuntimeStore = {
|
|
|
133
128
|
erase(locator: string | null, limit: number): Promise<boolean>;
|
|
134
129
|
abandon(locator: string, kept?: boolean): Promise<number | null>;
|
|
135
130
|
release(key: number): Promise<void>;
|
|
136
|
-
rederive(key: number,
|
|
131
|
+
rederive(key: number, bytes: number): Promise<boolean>;
|
|
137
132
|
fact(name: string, value: unknown): Promise<void>;
|
|
138
133
|
queues(): Promise<readonly QueueRecord[]>;
|
|
139
134
|
submit(locator: string, id: string, submission: Submission, lost: boolean): Promise<void>;
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,MAAM,EACN,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAGV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,SAAS,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store.js
CHANGED
|
@@ -120,7 +120,7 @@ export function openRuntimeStore(fenced, authored) {
|
|
|
120
120
|
return {
|
|
121
121
|
async opened() {
|
|
122
122
|
const held = await authored.ask({ kind: 'replica.open' });
|
|
123
|
-
const unindexed = new Set(held.keys.flatMap(({ key, rederiving }) =>
|
|
123
|
+
const unindexed = new Set(held.keys.flatMap(({ key, rederiving, searching }) => rederiving === null && searching === null ? [] : [key]));
|
|
124
124
|
const overlaid = new Map();
|
|
125
125
|
for (const { key, path } of held.overlaid) {
|
|
126
126
|
const paths = overlaid.get(key) ?? new Set();
|
|
@@ -140,6 +140,9 @@ export function openRuntimeStore(fenced, authored) {
|
|
|
140
140
|
locator,
|
|
141
141
|
{ ...JSON.parse(record), key },
|
|
142
142
|
])),
|
|
143
|
+
kept: held.kept
|
|
144
|
+
.filter(({ locator }) => !fenced(locator))
|
|
145
|
+
.reduce((parts, { locator, token, bytes }) => parts.set(locator, new Map(parts.get(locator)).set(token, bytes)), new Map()),
|
|
143
146
|
unindexed,
|
|
144
147
|
overlaid,
|
|
145
148
|
erasing: held.erasing.length > 0,
|
|
@@ -206,10 +209,10 @@ export function openRuntimeStore(fenced, authored) {
|
|
|
206
209
|
return null;
|
|
207
210
|
return authored.ask({ kind: 'replica.transferPart', locator, token });
|
|
208
211
|
},
|
|
209
|
-
async
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
212
|
+
async keepParts(parts) {
|
|
213
|
+
const kept = parts.filter(({ locator }) => !fenced(locator));
|
|
214
|
+
if (kept.length > 0)
|
|
215
|
+
await authored.ask({ kind: 'replica.keepParts', parts: kept });
|
|
213
216
|
},
|
|
214
217
|
async refresh(key, page) {
|
|
215
218
|
await authored.ask({
|
|
@@ -261,9 +264,9 @@ export function openRuntimeStore(fenced, authored) {
|
|
|
261
264
|
async release(key) {
|
|
262
265
|
await authored.ask({ kind: 'replica.release', key });
|
|
263
266
|
},
|
|
264
|
-
async rederive(key,
|
|
267
|
+
async rederive(key, bytes) {
|
|
265
268
|
change(key);
|
|
266
|
-
return (await authored.ask({ kind: 'replica.rederive', key,
|
|
269
|
+
return (await authored.ask({ kind: 'replica.rederive', key, bytes })).done;
|
|
267
270
|
},
|
|
268
271
|
async fact(name, value) {
|
|
269
272
|
await authored.ask({ kind: 'replica.fact', name, value: JSON.stringify(value) });
|
package/dist/stored.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export type HeldKey = {
|
|
|
34
34
|
readonly locator: string;
|
|
35
35
|
readonly transfer: string;
|
|
36
36
|
readonly rederiving: number | null;
|
|
37
|
+
readonly searching: number | null;
|
|
37
38
|
};
|
|
38
39
|
export type ReplicaOpened = {
|
|
39
40
|
readonly rooms: readonly {
|
|
@@ -46,6 +47,11 @@ export type ReplicaOpened = {
|
|
|
46
47
|
readonly key: number;
|
|
47
48
|
readonly record: string;
|
|
48
49
|
}[];
|
|
50
|
+
readonly kept: readonly {
|
|
51
|
+
readonly locator: string;
|
|
52
|
+
readonly token: string;
|
|
53
|
+
readonly bytes: number;
|
|
54
|
+
}[];
|
|
49
55
|
readonly keys: readonly HeldKey[];
|
|
50
56
|
readonly facts: Readonly<Record<string, string>>;
|
|
51
57
|
readonly presentation: readonly {
|
|
@@ -122,7 +128,7 @@ export declare function release(connection: Connection, key: number): null;
|
|
|
122
128
|
export declare function erase(connection: Connection, locator: string | null, limit: number): {
|
|
123
129
|
readonly remaining: boolean;
|
|
124
130
|
};
|
|
125
|
-
export declare function rederive(connection: Connection, key: number,
|
|
131
|
+
export declare function rederive(connection: Connection, key: number, bytes: number): {
|
|
126
132
|
readonly done: boolean;
|
|
127
133
|
};
|
|
128
134
|
export declare function entries(connection: Connection, key: number, view: View, list: readonly string[]): HeldEntry[];
|
|
@@ -135,11 +141,12 @@ export declare function files(connection: Connection, key: number, view: View, a
|
|
|
135
141
|
}[];
|
|
136
142
|
export declare function typedWithin(connection: Connection, key: number, view: View, roots: readonly string[], within: boolean): boolean;
|
|
137
143
|
export declare function transferPart(connection: Connection, locator: string, token: string): Uint8Array | null;
|
|
138
|
-
export
|
|
144
|
+
export type KeptPart = {
|
|
139
145
|
readonly locator: string;
|
|
140
146
|
readonly token: string;
|
|
141
147
|
readonly part: Uint8Array;
|
|
142
|
-
}
|
|
148
|
+
};
|
|
149
|
+
export declare function keepParts(connection: Connection, parts: readonly KeptPart[]): null;
|
|
143
150
|
export declare function opened(connection: Connection): ReplicaOpened;
|
|
144
151
|
export declare function ended(connection: Connection): void;
|
|
145
152
|
//# sourceMappingURL=stored.d.ts.map
|
package/dist/stored.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stored.d.ts","sourceRoot":"","sources":["../src/stored.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAoB3C,CAAC;
|
|
1
|
+
{"version":3,"file":"stored.d.ts","sourceRoot":"","sources":["../src/stored.ts"],"names":[],"mappings":"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"}
|