@agentshouse/mdruntime 0.1.0-alpha.9 → 0.1.0-c436a939f2119
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/AGENTS.md +210 -0
- package/README.md +44 -0
- package/dist/adapter.d.ts +155 -12
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +2 -3
- package/dist/attachment.d.ts +3 -0
- package/dist/attachment.d.ts.map +1 -0
- package/dist/attachment.js +8 -0
- package/dist/bootstrap.d.ts +3 -7
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +29 -27
- package/dist/change-set.d.ts +33 -0
- package/dist/change-set.d.ts.map +1 -0
- package/dist/change-set.js +87 -0
- package/dist/change.d.ts +9 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +6 -5
- package/dist/client.d.ts +40 -28
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +121 -177
- package/dist/collection.d.ts +15 -16
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +54 -87
- package/dist/connection.d.ts +57 -35
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +1475 -964
- package/dist/conversation.d.ts +41 -19
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +483 -327
- package/dist/durability.js +6 -6
- package/dist/file.d.ts +2 -2
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +48 -71
- package/dist/host.d.ts +7 -2
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +100 -102
- package/dist/identity.d.ts +1 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +10 -9
- package/dist/index.d.ts +12 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/log.js +5 -6
- package/dist/memory.d.ts +6 -3
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +206 -210
- package/dist/model.d.ts +10 -25
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +18 -21
- package/dist/observation.d.ts +25 -0
- package/dist/observation.d.ts.map +1 -0
- package/dist/observation.js +85 -0
- package/dist/outcome.d.ts +17 -20
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +1 -23
- package/dist/overlay.d.ts +9 -2
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +187 -43
- package/dist/paths.d.ts +0 -1
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +12 -19
- package/dist/query.d.ts +210 -10
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +420 -15
- package/dist/read-side.d.ts +14 -0
- package/dist/read-side.d.ts.map +1 -0
- package/dist/read-side.js +371 -0
- package/dist/refresh.d.ts +4 -5
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +45 -30
- package/dist/replica.d.ts +25 -5
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +232 -38
- package/dist/room-draft.d.ts +124 -0
- package/dist/room-draft.d.ts.map +1 -0
- package/dist/room-draft.js +327 -0
- package/dist/rows.d.ts +41 -0
- package/dist/rows.d.ts.map +1 -0
- package/dist/rows.js +100 -0
- package/dist/save.d.ts +8 -4
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +265 -350
- package/dist/search.d.ts +61 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +125 -0
- package/dist/status.d.ts +4 -6
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +9 -13
- package/dist/store.d.ts +68 -30
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +360 -134
- package/dist/transfer.d.ts +5 -0
- package/dist/transfer.d.ts.map +1 -1
- package/dist/transfer.js +1 -5
- package/dist/wire.d.ts +4 -3
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +50 -65
- package/package.json +6 -12
- package/dist/adapter.js.map +0 -1
- package/dist/bootstrap.js.map +0 -1
- package/dist/change.js.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/collection.js.map +0 -1
- package/dist/connection.js.map +0 -1
- package/dist/conversation.js.map +0 -1
- package/dist/durability.js.map +0 -1
- package/dist/file.js.map +0 -1
- package/dist/host.js.map +0 -1
- package/dist/identity.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/log.js.map +0 -1
- package/dist/memory.js.map +0 -1
- package/dist/model.js.map +0 -1
- package/dist/outcome.js.map +0 -1
- package/dist/overlay.js.map +0 -1
- package/dist/paths.js.map +0 -1
- package/dist/query.js.map +0 -1
- package/dist/refresh.js.map +0 -1
- package/dist/replica.js.map +0 -1
- package/dist/save.js.map +0 -1
- package/dist/status.js.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/transfer.js.map +0 -1
- package/dist/wire.js.map +0 -1
package/dist/bootstrap.js
CHANGED
|
@@ -1,36 +1,42 @@
|
|
|
1
|
+
import { declaredAttachments } from './attachment.js';
|
|
1
2
|
import { readStaged } from './replica.js';
|
|
2
3
|
import { unconfirmed } from './transfer.js';
|
|
3
|
-
export async function bootstrapRoom(adapter, authorization, room, models,
|
|
4
|
+
export async function bootstrapRoom(adapter, authorization, room, models, continuing) {
|
|
4
5
|
const first = await adapter.bootstrap(authorization, {
|
|
5
6
|
locator: room.locator,
|
|
6
|
-
selection: room.replica.selection
|
|
7
|
+
selection: room.replica.selection,
|
|
7
8
|
});
|
|
8
|
-
if (first.kind !== 'bootstrap')
|
|
9
|
+
if (first.kind !== 'bootstrap')
|
|
10
|
+
return first;
|
|
9
11
|
const roomVersion = first.roomVersion;
|
|
10
|
-
const documents = {
|
|
11
|
-
|
|
12
|
-
};
|
|
13
|
-
const revisions = {
|
|
14
|
-
...first.revisions
|
|
15
|
-
};
|
|
12
|
+
const documents = { ...first.documents };
|
|
13
|
+
const revisions = { ...first.revisions };
|
|
14
|
+
const changes = { ...first.changes };
|
|
16
15
|
const binaryTargets = new Set(first.binaryTargets);
|
|
16
|
+
const attachments = [first.attachments ?? []];
|
|
17
17
|
let pageToken = first.pageToken;
|
|
18
|
-
while(pageToken !== undefined){
|
|
18
|
+
while (pageToken !== undefined) {
|
|
19
|
+
if (!continuing())
|
|
20
|
+
return unconfirmed;
|
|
19
21
|
const page = await adapter.bootstrap(authorization, {
|
|
20
22
|
locator: room.locator,
|
|
21
23
|
selection: room.replica.selection,
|
|
22
|
-
pageToken
|
|
24
|
+
pageToken,
|
|
23
25
|
});
|
|
24
|
-
if (page.kind !== 'bootstrap')
|
|
25
|
-
|
|
26
|
+
if (page.kind !== 'bootstrap')
|
|
27
|
+
return page;
|
|
28
|
+
if (page.roomVersion !== roomVersion)
|
|
29
|
+
return unconfirmed;
|
|
26
30
|
Object.assign(documents, page.documents);
|
|
27
31
|
Object.assign(revisions, page.revisions);
|
|
28
|
-
|
|
32
|
+
Object.assign(changes, page.changes);
|
|
33
|
+
for (const target of page.binaryTargets)
|
|
34
|
+
binaryTargets.add(target);
|
|
35
|
+
attachments.push(page.attachments ?? []);
|
|
29
36
|
pageToken = page.pageToken;
|
|
30
37
|
}
|
|
31
|
-
|
|
38
|
+
return readStaged({
|
|
32
39
|
locator: room.locator,
|
|
33
|
-
collectionRoot: room.collectionRoot,
|
|
34
40
|
name: room.name,
|
|
35
41
|
operations: room.operations,
|
|
36
42
|
replica: room.replica,
|
|
@@ -38,18 +44,14 @@ export async function bootstrapRoom(adapter, authorization, room, models, bindin
|
|
|
38
44
|
model: models.collection,
|
|
39
45
|
typedSelection: room.typedSelection ?? null,
|
|
40
46
|
selectionModel: models.selection,
|
|
47
|
+
untypedFolders: room.untypedFolders ?? [],
|
|
41
48
|
providerOwnedPaths: room.providerOwnedPaths,
|
|
42
49
|
roomVersion,
|
|
43
50
|
documents,
|
|
44
|
-
binaryTargets: [
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
kind: 'staged',
|
|
51
|
-
confirmed
|
|
52
|
-
};
|
|
51
|
+
binaryTargets: [...binaryTargets].sort(),
|
|
52
|
+
revisions,
|
|
53
|
+
changes,
|
|
54
|
+
written: Object.fromEntries(Object.keys(documents).map((path) => [path, roomVersion])),
|
|
55
|
+
attachments: declaredAttachments(attachments),
|
|
56
|
+
});
|
|
53
57
|
}
|
|
54
|
-
|
|
55
|
-
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type Replica } from './replica.js';
|
|
2
|
+
import { type Row } from './rows.js';
|
|
3
|
+
export type DocumentChange = {
|
|
4
|
+
locator: string;
|
|
5
|
+
path: string;
|
|
6
|
+
before: readonly Row[];
|
|
7
|
+
after: readonly Row[];
|
|
8
|
+
};
|
|
9
|
+
export type MessageChange = {
|
|
10
|
+
conversation: string;
|
|
11
|
+
identity: string;
|
|
12
|
+
};
|
|
13
|
+
export type ChangeSet = {
|
|
14
|
+
documents: readonly DocumentChange[];
|
|
15
|
+
drafts: readonly {
|
|
16
|
+
locator: string;
|
|
17
|
+
path: string;
|
|
18
|
+
}[];
|
|
19
|
+
rooms: readonly string[];
|
|
20
|
+
queues: readonly string[];
|
|
21
|
+
presentations: readonly string[];
|
|
22
|
+
messages: readonly MessageChange[];
|
|
23
|
+
conversations: readonly string[];
|
|
24
|
+
};
|
|
25
|
+
export declare function changeSet(locator: string, before: Replica | null, after: Replica | null, changed?: {
|
|
26
|
+
drafts?: readonly string[];
|
|
27
|
+
room?: boolean;
|
|
28
|
+
queue?: boolean;
|
|
29
|
+
presentation?: string;
|
|
30
|
+
}): ChangeSet;
|
|
31
|
+
export declare function conversationChangeSet(messages: readonly MessageChange[], conversations: readonly string[]): ChangeSet;
|
|
32
|
+
export declare function mergeChangeSets(sets: readonly ChangeSet[]): ChangeSet;
|
|
33
|
+
//# sourceMappingURL=change-set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-set.d.ts","sourceRoot":"","sources":["../src/change-set.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiC,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAU,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;IACvB,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IACrC,MAAM,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC,CAAC;AAwBF,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,GAAG,IAAI,EACtB,KAAK,EAAE,OAAO,GAAG,IAAI,EACrB,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CAClB,GACL,SAAS,CAkDX;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,SAAS,CAUX;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAUrE"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { untyped } from './collection.js';
|
|
2
|
+
import { sameChange } from './overlay.js';
|
|
3
|
+
import { beneath } from './paths.js';
|
|
4
|
+
import { compositionOf, sameMembership } from './replica.js';
|
|
5
|
+
import { rowsOf } from './rows.js';
|
|
6
|
+
function rowsAt(locator, replica, path) {
|
|
7
|
+
if (replica === null)
|
|
8
|
+
return [];
|
|
9
|
+
const document = replica.visible.collection.documents[path];
|
|
10
|
+
const carried = Object.hasOwn(replica.visible.documents, path) &&
|
|
11
|
+
untyped(replica.confirmed.record.untypedFolders, path);
|
|
12
|
+
if (document === undefined && !carried && !replica.visible.binaryTargets.includes(path)) {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
return rowsOf(locator, path, document ?? null, compositionOf(replica.confirmed.record), replica.visible.changes[path] ?? null);
|
|
16
|
+
}
|
|
17
|
+
function modelShape(model) {
|
|
18
|
+
return model.status === 'unavailable' ? 'unavailable' : JSON.stringify(model.types);
|
|
19
|
+
}
|
|
20
|
+
export function changeSet(locator, before, after, changed = {}) {
|
|
21
|
+
const paths = new Set([
|
|
22
|
+
...Object.keys(before?.visible.documents ?? {}),
|
|
23
|
+
...Object.keys(after?.visible.documents ?? {}),
|
|
24
|
+
...(before?.visible.binaryTargets ?? []),
|
|
25
|
+
...(after?.visible.binaryTargets ?? []),
|
|
26
|
+
]);
|
|
27
|
+
const documents = [];
|
|
28
|
+
const oldRoom = before?.confirmed.record;
|
|
29
|
+
const newRoom = after?.confirmed.record;
|
|
30
|
+
const collectionChanged = oldRoom !== undefined &&
|
|
31
|
+
newRoom !== undefined &&
|
|
32
|
+
modelShape(oldRoom.model) !== modelShape(newRoom.model);
|
|
33
|
+
const selectionChanged = oldRoom !== undefined &&
|
|
34
|
+
newRoom !== undefined &&
|
|
35
|
+
modelShape(oldRoom.selectionModel) !== modelShape(newRoom.selectionModel);
|
|
36
|
+
const reclassified = oldRoom !== undefined && newRoom !== undefined && !sameMembership(oldRoom, newRoom);
|
|
37
|
+
for (const path of paths) {
|
|
38
|
+
const selected = newRoom?.typedSelection?.roots.some((root) => beneath(root, path)) ?? false;
|
|
39
|
+
const carried = newRoom !== undefined && untyped(newRoom.untypedFolders, path);
|
|
40
|
+
const retyped = selected ? selectionChanged : !carried && collectionChanged;
|
|
41
|
+
if (before?.visible.documents[path] === after?.visible.documents[path] &&
|
|
42
|
+
before?.visible.binaryTargets.includes(path) ===
|
|
43
|
+
after?.visible.binaryTargets.includes(path) &&
|
|
44
|
+
before?.visible.revisions[path] === after?.visible.revisions[path] &&
|
|
45
|
+
sameChange(before?.visible.changes[path], after?.visible.changes[path]) &&
|
|
46
|
+
!retyped &&
|
|
47
|
+
!reclassified)
|
|
48
|
+
continue;
|
|
49
|
+
documents.push({
|
|
50
|
+
locator,
|
|
51
|
+
path,
|
|
52
|
+
before: rowsAt(locator, before, path),
|
|
53
|
+
after: rowsAt(locator, after, path),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
documents,
|
|
58
|
+
drafts: (changed.drafts ?? []).map((path) => ({ locator, path })),
|
|
59
|
+
rooms: changed.room ? [locator] : [],
|
|
60
|
+
queues: changed.queue ? [locator] : [],
|
|
61
|
+
presentations: changed.presentation === undefined ? [] : [changed.presentation],
|
|
62
|
+
messages: [],
|
|
63
|
+
conversations: [],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export function conversationChangeSet(messages, conversations) {
|
|
67
|
+
return {
|
|
68
|
+
documents: [],
|
|
69
|
+
drafts: [],
|
|
70
|
+
rooms: [],
|
|
71
|
+
queues: [],
|
|
72
|
+
presentations: [],
|
|
73
|
+
messages,
|
|
74
|
+
conversations: [...new Set(conversations)],
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export function mergeChangeSets(sets) {
|
|
78
|
+
return {
|
|
79
|
+
documents: sets.flatMap((set) => set.documents),
|
|
80
|
+
drafts: sets.flatMap((set) => set.drafts),
|
|
81
|
+
rooms: [...new Set(sets.flatMap((set) => set.rooms))],
|
|
82
|
+
queues: [...new Set(sets.flatMap((set) => set.queues))],
|
|
83
|
+
presentations: [...new Set(sets.flatMap((set) => set.presentations))],
|
|
84
|
+
messages: sets.flatMap((set) => set.messages),
|
|
85
|
+
conversations: [...new Set(sets.flatMap((set) => set.conversations))],
|
|
86
|
+
};
|
|
87
|
+
}
|
package/dist/change.d.ts
CHANGED
|
@@ -17,6 +17,10 @@ export type Change = {
|
|
|
17
17
|
readonly path: string;
|
|
18
18
|
readonly fields: Readonly<Record<string, unknown>>;
|
|
19
19
|
readonly sections: Readonly<Record<string, string>>;
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: 'create';
|
|
22
|
+
readonly path: string;
|
|
23
|
+
readonly content: string;
|
|
20
24
|
} | {
|
|
21
25
|
readonly kind: 'replace';
|
|
22
26
|
readonly path: string;
|
|
@@ -54,12 +58,17 @@ export type Precondition = {
|
|
|
54
58
|
readonly kind: 'absent';
|
|
55
59
|
readonly path: string;
|
|
56
60
|
};
|
|
61
|
+
export type WrittenBy = {
|
|
62
|
+
readonly app: string;
|
|
63
|
+
readonly release: string;
|
|
64
|
+
};
|
|
57
65
|
export type ChangeBatch = {
|
|
58
66
|
validation?: import('./model.js').ValidationReceipt;
|
|
59
67
|
readonly id: string;
|
|
60
68
|
readonly baseRoomVersion: string;
|
|
61
69
|
readonly changes: readonly Change[];
|
|
62
70
|
readonly preconditions: readonly Precondition[];
|
|
71
|
+
readonly writtenBy?: WrittenBy;
|
|
63
72
|
};
|
|
64
73
|
export declare function immutable(batch: ChangeBatch): ChangeBatch;
|
|
65
74
|
//# sourceMappingURL=change.d.ts.map
|
package/dist/change.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../src/change.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GACd;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5E;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CAAC,EAAE,OAAO,YAAY,EAAE,iBAAiB,CAAC;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"change.d.ts","sourceRoot":"","sources":["../src/change.ts"],"names":[],"mappings":"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"}
|
package/dist/change.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
function frozen(value) {
|
|
2
|
-
if (Array.isArray(value))
|
|
3
|
-
|
|
2
|
+
if (Array.isArray(value))
|
|
3
|
+
return Object.freeze(value.map((item) => frozen(item)));
|
|
4
|
+
if (value === null || typeof value !== 'object')
|
|
5
|
+
return value;
|
|
4
6
|
const copy = {};
|
|
5
|
-
for (const [name, item] of Object.entries(value))
|
|
7
|
+
for (const [name, item] of Object.entries(value))
|
|
8
|
+
copy[name] = frozen(item);
|
|
6
9
|
return Object.freeze(copy);
|
|
7
10
|
}
|
|
8
11
|
export function immutable(batch) {
|
|
9
12
|
return frozen(batch);
|
|
10
13
|
}
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=change.js.map
|
package/dist/client.d.ts
CHANGED
|
@@ -1,37 +1,39 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type
|
|
5
|
-
import type { ConversationEntry, ConversationView, UnsentInstruction } from './conversation.js';
|
|
1
|
+
import type { AppRoom, AppSlot, ConnectionRefusal, HistoryQuery, RoomTypes, SavedRoomDraft, SaveResult } from './connection.js';
|
|
2
|
+
import type { HistoryResult, ServiceMode } from './adapter.js';
|
|
3
|
+
import type { ChatDraft, ConversationEntry, ConversationOptions, ConversationView } from './conversation.js';
|
|
4
|
+
import { type Observation } from './observation.js';
|
|
6
5
|
import type { CallResult, QueueEntry, SubmissionOutcome } from './outcome.js';
|
|
6
|
+
import type { DocumentQuery, DocumentResult, GroupQuery, GroupResult } from './query.js';
|
|
7
|
+
import type { RoomDraft, RoomDraftParts, RoomDraftWrite } from './room-draft.js';
|
|
8
|
+
import type { SearchRequest, SearchResult } from './search.js';
|
|
7
9
|
import type { SyncStatus } from './status.js';
|
|
8
10
|
import { type RuntimePort } from './wire.js';
|
|
9
11
|
export type MdRuntimeClient = {
|
|
10
12
|
rooms(): Promise<readonly AppRoom[]>;
|
|
11
|
-
|
|
13
|
+
slots(): Promise<readonly AppSlot[]>;
|
|
14
|
+
query: {
|
|
15
|
+
(query: DocumentQuery): Promise<DocumentResult>;
|
|
16
|
+
(query: GroupQuery): Promise<GroupResult>;
|
|
17
|
+
};
|
|
18
|
+
search(request: SearchRequest): Promise<SearchResult>;
|
|
12
19
|
types(locator: string): Promise<RoomTypes>;
|
|
13
20
|
syncStatus(): Promise<SyncStatus>;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
serviceMode(): Promise<ServiceMode>;
|
|
22
|
+
roomDraft: {
|
|
23
|
+
list(): Promise<readonly RoomDraft[]>;
|
|
24
|
+
read(room: string, path: string): Promise<RoomDraft | null>;
|
|
25
|
+
write(room: string, path: string, revision: string | null, parts: RoomDraftParts): Promise<RoomDraftWrite>;
|
|
26
|
+
discard(room: string, path: string, revision: string): Promise<RoomDraftWrite>;
|
|
19
27
|
};
|
|
20
|
-
save(
|
|
28
|
+
save(room: string, roomDrafts: readonly SavedRoomDraft[]): Promise<SaveResult>;
|
|
21
29
|
outcome(identifier: string): Promise<SubmissionOutcome | null>;
|
|
22
|
-
queue: {
|
|
23
|
-
discard(locator: string, identifier: string): Promise<void>;
|
|
24
|
-
};
|
|
25
30
|
presentation: {
|
|
26
31
|
read(): Promise<unknown>;
|
|
27
32
|
write(value: unknown): Promise<void>;
|
|
28
33
|
};
|
|
29
34
|
conversation: {
|
|
30
35
|
list(): Promise<readonly ConversationEntry[]>;
|
|
31
|
-
read(conversation: string): Promise<ConversationView>;
|
|
32
|
-
older(conversation: string): Promise<CallResult | null>;
|
|
33
|
-
compose(conversation: string, instruction: UnsentInstruction): Promise<void>;
|
|
34
|
-
discard(conversation: string): Promise<void>;
|
|
36
|
+
read(conversation: string, options?: ConversationOptions): Promise<ConversationView>;
|
|
35
37
|
create(input: unknown): Promise<CallResult>;
|
|
36
38
|
send(conversation: string): Promise<CallResult>;
|
|
37
39
|
answer(conversation: string, answer: unknown): Promise<CallResult>;
|
|
@@ -40,24 +42,34 @@ export type MdRuntimeClient = {
|
|
|
40
42
|
cancel(conversation: string, turn: string): Promise<CallResult>;
|
|
41
43
|
delete(conversation: string): Promise<CallResult>;
|
|
42
44
|
};
|
|
45
|
+
chatDraft: {
|
|
46
|
+
write(conversation: string, draft: ChatDraft): Promise<void>;
|
|
47
|
+
discard(conversation: string): Promise<void>;
|
|
48
|
+
};
|
|
43
49
|
history(locator: string, path: string, query?: HistoryQuery): Promise<HistoryResult>;
|
|
44
50
|
call(name: string, input: unknown): Promise<CallResult>;
|
|
51
|
+
reached(locator: string, roomVersion: string, path?: string): Promise<boolean>;
|
|
45
52
|
log(): Promise<string>;
|
|
46
53
|
storageLoss(): Promise<string | null>;
|
|
47
54
|
persistence(): Promise<boolean>;
|
|
55
|
+
deploymentFacts(): Promise<unknown>;
|
|
48
56
|
observe: {
|
|
49
|
-
(topic: '
|
|
50
|
-
(topic: '
|
|
51
|
-
(topic: '
|
|
52
|
-
(topic: '
|
|
53
|
-
(topic: '
|
|
54
|
-
(topic: '
|
|
55
|
-
(topic: '
|
|
56
|
-
(topic: '
|
|
57
|
-
(topic: '
|
|
57
|
+
(topic: 'deployment-facts'): Promise<Observation<unknown>>;
|
|
58
|
+
(topic: 'rooms'): Promise<Observation<readonly AppRoom[]>>;
|
|
59
|
+
(topic: 'connection-refusal'): Promise<Observation<ConnectionRefusal | null>>;
|
|
60
|
+
(topic: 'storage-loss'): Promise<Observation<string | null>>;
|
|
61
|
+
(topic: 'sync-status'): Promise<Observation<SyncStatus>>;
|
|
62
|
+
(topic: 'service-mode'): Promise<Observation<ServiceMode>>;
|
|
63
|
+
(topic: 'query', query: DocumentQuery): Promise<Observation<DocumentResult>>;
|
|
64
|
+
(topic: 'query', query: GroupQuery): Promise<Observation<GroupResult>>;
|
|
65
|
+
(topic: 'queue', locator: string): Promise<Observation<readonly QueueEntry[]>>;
|
|
66
|
+
(topic: 'room-drafts'): Promise<Observation<readonly RoomDraft[]>>;
|
|
67
|
+
(topic: 'presentation'): Promise<Observation<unknown>>;
|
|
68
|
+
(topic: 'conversation', conversation: string, options: ConversationOptions): Promise<Observation<ConversationView>>;
|
|
58
69
|
};
|
|
59
70
|
reauthorize(): Promise<void>;
|
|
60
71
|
};
|
|
61
72
|
export declare function connectMdRuntime(port: RuntimePort): MdRuntimeClient;
|
|
73
|
+
export type { Observation } from './observation.js';
|
|
62
74
|
export type { RuntimePort } from './wire.js';
|
|
63
75
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|