@agentshouse/mdruntime 0.1.0-c3903a68dcbbf → 0.1.0-c6e4c19c13638
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 +72 -41
- package/README.md +11 -11
- package/dist/adapter.d.ts +80 -51
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +1 -9
- package/dist/attached-model.d.ts +11 -0
- package/dist/attached-model.d.ts.map +1 -0
- package/dist/attached-model.js +34 -0
- package/dist/bootstrap.d.ts +5 -3
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +3 -3
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +2 -6
- package/dist/client.d.ts +4 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -16
- package/dist/collection.d.ts +0 -2
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +2 -12
- package/dist/connection.d.ts +11 -28
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +518 -639
- package/dist/conversation.d.ts +22 -11
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +250 -105
- package/dist/host.d.ts +7 -2
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +37 -57
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/memory.d.ts +11 -5
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +78 -27
- package/dist/model.d.ts +4 -11
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +4 -3
- package/dist/observation.d.ts +2 -0
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +24 -14
- package/dist/outcome.d.ts +5 -21
- package/dist/outcome.d.ts.map +1 -1
- 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 +8 -3
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +104 -36
- package/dist/reach.d.ts +40 -0
- package/dist/reach.d.ts.map +1 -0
- package/dist/reach.js +270 -0
- package/dist/react.d.ts +31 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +62 -0
- package/dist/read-side.d.ts +4 -0
- package/dist/read-side.d.ts.map +1 -1
- package/dist/read-side.js +116 -54
- package/dist/refresh.d.ts +2 -1
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +7 -3
- package/dist/replica.d.ts +4 -4
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +14 -19
- package/dist/room-draft.d.ts +3 -0
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +6 -4
- package/dist/rows.d.ts +2 -1
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +75 -38
- package/dist/save.d.ts +1 -2
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +92 -51
- package/dist/store.d.ts +6 -16
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +10 -32
- package/dist/wire.d.ts +51 -16
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +50 -65
- package/package.json +14 -2
package/dist/bootstrap.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { declaredAttachments } from './attachment.js';
|
|
2
2
|
import { readStaged } from './replica.js';
|
|
3
3
|
import { unconfirmed } from './transfer.js';
|
|
4
|
-
export async function bootstrapRoom(adapter, authorization, room,
|
|
4
|
+
export async function bootstrapRoom(adapter, authorization, room, held, remodel, continuing) {
|
|
5
5
|
const first = await adapter.bootstrap(authorization, {
|
|
6
6
|
locator: room.locator,
|
|
7
7
|
selection: room.replica.selection,
|
|
@@ -9,6 +9,7 @@ export async function bootstrapRoom(adapter, authorization, room, models, contin
|
|
|
9
9
|
if (first.kind !== 'bootstrap')
|
|
10
10
|
return first;
|
|
11
11
|
const roomVersion = first.roomVersion;
|
|
12
|
+
const models = remodel(first.models, held);
|
|
12
13
|
const documents = { ...first.documents };
|
|
13
14
|
const revisions = { ...first.revisions };
|
|
14
15
|
const changes = { ...first.changes };
|
|
@@ -38,13 +39,12 @@ export async function bootstrapRoom(adapter, authorization, room, models, contin
|
|
|
38
39
|
return readStaged({
|
|
39
40
|
locator: room.locator,
|
|
40
41
|
name: room.name,
|
|
42
|
+
handle: room.handle,
|
|
41
43
|
operations: room.operations,
|
|
42
44
|
replica: room.replica,
|
|
43
|
-
attachedModel: room.attachedModel,
|
|
44
45
|
model: models.collection,
|
|
45
46
|
typedSelection: room.typedSelection ?? null,
|
|
46
47
|
selectionModel: models.selection,
|
|
47
|
-
untypedFolders: room.untypedFolders ?? [],
|
|
48
48
|
providerOwnedPaths: room.providerOwnedPaths,
|
|
49
49
|
roomVersion,
|
|
50
50
|
documents,
|
package/dist/change-set.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-set.d.ts","sourceRoot":"","sources":["../src/change-set.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"change-set.d.ts","sourceRoot":"","sources":["../src/change-set.ts"],"names":[],"mappings":"AAEA,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;AAqBF,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,CAiDX;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"}
|
package/dist/change-set.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { untyped } from './collection.js';
|
|
2
1
|
import { sameChange } from './overlay.js';
|
|
3
2
|
import { beneath } from './paths.js';
|
|
4
3
|
import { compositionOf, sameMembership } from './replica.js';
|
|
@@ -7,9 +6,7 @@ function rowsAt(locator, replica, path) {
|
|
|
7
6
|
if (replica === null)
|
|
8
7
|
return [];
|
|
9
8
|
const document = replica.visible.collection.documents[path];
|
|
10
|
-
|
|
11
|
-
untyped(replica.confirmed.record.untypedFolders, path);
|
|
12
|
-
if (document === undefined && !carried && !replica.visible.binaryTargets.includes(path)) {
|
|
9
|
+
if (document === undefined && !replica.visible.binaryTargets.includes(path)) {
|
|
13
10
|
return [];
|
|
14
11
|
}
|
|
15
12
|
return rowsOf(locator, path, document ?? null, compositionOf(replica.confirmed.record), replica.visible.changes[path] ?? null);
|
|
@@ -36,8 +33,7 @@ export function changeSet(locator, before, after, changed = {}) {
|
|
|
36
33
|
const reclassified = oldRoom !== undefined && newRoom !== undefined && !sameMembership(oldRoom, newRoom);
|
|
37
34
|
for (const path of paths) {
|
|
38
35
|
const selected = newRoom?.typedSelection?.roots.some((root) => beneath(root, path)) ?? false;
|
|
39
|
-
const
|
|
40
|
-
const retyped = selected ? selectionChanged : !carried && collectionChanged;
|
|
36
|
+
const retyped = selected ? selectionChanged : collectionChanged;
|
|
41
37
|
if (before?.visible.documents[path] === after?.visible.documents[path] &&
|
|
42
38
|
before?.visible.binaryTargets.includes(path) ===
|
|
43
39
|
after?.visible.binaryTargets.includes(path) &&
|
package/dist/client.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { AppRoom,
|
|
1
|
+
import type { AppRoom, ConnectionRefusal, HistoryQuery, RoomSchemas, SavedRoomDraft, SaveResult } from './connection.js';
|
|
2
2
|
import type { HistoryResult, ServiceMode } from './adapter.js';
|
|
3
3
|
import type { ChatDraft, ConversationEntry, ConversationOptions, ConversationView } from './conversation.js';
|
|
4
4
|
import { type Observation } from './observation.js';
|
|
5
|
-
import type { CallResult, QueueEntry
|
|
5
|
+
import type { CallResult, QueueEntry } from './outcome.js';
|
|
6
6
|
import type { DocumentQuery, DocumentResult, GroupQuery, GroupResult } from './query.js';
|
|
7
7
|
import type { RoomDraft, RoomDraftParts, RoomDraftWrite } from './room-draft.js';
|
|
8
8
|
import type { SearchRequest, SearchResult } from './search.js';
|
|
@@ -10,15 +10,12 @@ import type { SyncStatus } from './status.js';
|
|
|
10
10
|
import { type RuntimePort } from './wire.js';
|
|
11
11
|
export type MdRuntimeClient = {
|
|
12
12
|
rooms(): Promise<readonly AppRoom[]>;
|
|
13
|
-
slots(): Promise<readonly AppSlot[]>;
|
|
14
13
|
query: {
|
|
15
14
|
(query: DocumentQuery): Promise<DocumentResult>;
|
|
16
15
|
(query: GroupQuery): Promise<GroupResult>;
|
|
17
16
|
};
|
|
18
17
|
search(request: SearchRequest): Promise<SearchResult>;
|
|
19
|
-
types(locator: string): Promise<
|
|
20
|
-
syncStatus(): Promise<SyncStatus>;
|
|
21
|
-
serviceMode(): Promise<ServiceMode>;
|
|
18
|
+
types(locator: string): Promise<RoomSchemas>;
|
|
22
19
|
roomDraft: {
|
|
23
20
|
list(): Promise<readonly RoomDraft[]>;
|
|
24
21
|
read(room: string, path: string): Promise<RoomDraft | null>;
|
|
@@ -26,7 +23,6 @@ export type MdRuntimeClient = {
|
|
|
26
23
|
discard(room: string, path: string, revision: string): Promise<RoomDraftWrite>;
|
|
27
24
|
};
|
|
28
25
|
save(room: string, roomDrafts: readonly SavedRoomDraft[]): Promise<SaveResult>;
|
|
29
|
-
outcome(identifier: string): Promise<SubmissionOutcome | null>;
|
|
30
26
|
presentation: {
|
|
31
27
|
read(): Promise<unknown>;
|
|
32
28
|
write(value: unknown): Promise<void>;
|
|
@@ -50,9 +46,7 @@ export type MdRuntimeClient = {
|
|
|
50
46
|
call(name: string, input: unknown): Promise<CallResult>;
|
|
51
47
|
reached(locator: string, roomVersion: string, path?: string): Promise<boolean>;
|
|
52
48
|
log(): Promise<string>;
|
|
53
|
-
storageLoss(): Promise<string | null>;
|
|
54
49
|
persistence(): Promise<boolean>;
|
|
55
|
-
deploymentFacts(): Promise<unknown>;
|
|
56
50
|
observe: {
|
|
57
51
|
(topic: 'deployment-facts'): Promise<Observation<unknown>>;
|
|
58
52
|
(topic: 'rooms'): Promise<Observation<readonly AppRoom[]>>;
|
|
@@ -66,6 +60,7 @@ export type MdRuntimeClient = {
|
|
|
66
60
|
(topic: 'room-drafts'): Promise<Observation<readonly RoomDraft[]>>;
|
|
67
61
|
(topic: 'presentation'): Promise<Observation<unknown>>;
|
|
68
62
|
(topic: 'conversation', conversation: string, options: ConversationOptions): Promise<Observation<ConversationView>>;
|
|
63
|
+
(topic: 'conversations'): Promise<Observation<readonly ConversationEntry[]>>;
|
|
69
64
|
};
|
|
70
65
|
reauthorize(): Promise<void>;
|
|
71
66
|
};
|
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,EACV,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { observed } from './observation.js';
|
|
2
|
-
import { answer, AUTHORIZATION_ENDED,
|
|
2
|
+
import { answer, AUTHORIZATION_ENDED, PORT_CLOSED, } from './wire.js';
|
|
3
3
|
export function connectMdRuntime(port) {
|
|
4
4
|
let sequence = 0;
|
|
5
5
|
let refusal = null;
|
|
@@ -8,7 +8,7 @@ export function connectMdRuntime(port) {
|
|
|
8
8
|
const opening = new Map();
|
|
9
9
|
const observations = new Map();
|
|
10
10
|
const send = (message) => {
|
|
11
|
-
port.postMessage(
|
|
11
|
+
port.postMessage(message);
|
|
12
12
|
};
|
|
13
13
|
function begin(id, topic, first) {
|
|
14
14
|
const handle = observed(first, () => {
|
|
@@ -53,14 +53,7 @@ export function connectMdRuntime(port) {
|
|
|
53
53
|
observations.clear();
|
|
54
54
|
}
|
|
55
55
|
port.addEventListener('message', (event) => {
|
|
56
|
-
const
|
|
57
|
-
if (wire === null)
|
|
58
|
-
return;
|
|
59
|
-
if (!wire.matching) {
|
|
60
|
-
refuse(PROTOCOL_MISMATCH);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
const message = answer(wire.message);
|
|
56
|
+
const message = answer(event.data);
|
|
64
57
|
if (message === null)
|
|
65
58
|
return;
|
|
66
59
|
if (message.kind === 'refusal') {
|
|
@@ -125,12 +118,9 @@ export function connectMdRuntime(port) {
|
|
|
125
118
|
}
|
|
126
119
|
return {
|
|
127
120
|
rooms: () => ask('rooms', []),
|
|
128
|
-
slots: () => ask('slots', []),
|
|
129
121
|
query: ((query) => ask('query', [query])),
|
|
130
122
|
search: (request) => ask('search', [request]),
|
|
131
123
|
types: (locator) => ask('types', [locator]),
|
|
132
|
-
syncStatus: () => ask('syncStatus', []),
|
|
133
|
-
serviceMode: () => ask('serviceMode', []),
|
|
134
124
|
roomDraft: {
|
|
135
125
|
list: () => ask('roomDraft.list', []),
|
|
136
126
|
read: (room, path) => ask('roomDraft.read', [room, path]),
|
|
@@ -138,7 +128,6 @@ export function connectMdRuntime(port) {
|
|
|
138
128
|
discard: (room, path, revision) => ask('roomDraft.discard', [room, path, revision]),
|
|
139
129
|
},
|
|
140
130
|
save: (room, roomDrafts) => ask('save', [room, roomDrafts]),
|
|
141
|
-
outcome: (identifier) => ask('outcome', [identifier]),
|
|
142
131
|
presentation: {
|
|
143
132
|
read: () => ask('presentation.read', []),
|
|
144
133
|
write: (value) => ask('presentation.write', [value]),
|
|
@@ -162,9 +151,7 @@ export function connectMdRuntime(port) {
|
|
|
162
151
|
call: (name, input) => ask('call', [name, input]),
|
|
163
152
|
reached: (locator, roomVersion, path) => ask('reached', [locator, roomVersion, path]),
|
|
164
153
|
log: () => ask('log', []),
|
|
165
|
-
storageLoss: () => ask('storageLoss', []),
|
|
166
154
|
persistence: () => ask('persistence', []),
|
|
167
|
-
deploymentFacts: () => ask('deploymentFacts', []),
|
|
168
155
|
observe: ((topic, ...input) => watch(topic, input)),
|
|
169
156
|
reauthorize: () => ask('reauthorize', []),
|
|
170
157
|
};
|
package/dist/collection.d.ts
CHANGED
|
@@ -13,9 +13,7 @@ export type Composition = {
|
|
|
13
13
|
roots: readonly string[];
|
|
14
14
|
model: ModelState;
|
|
15
15
|
} | null;
|
|
16
|
-
untypedFolders: readonly string[];
|
|
17
16
|
};
|
|
18
|
-
export declare function untyped(roots: readonly string[], path: string): boolean;
|
|
19
17
|
export declare function governing(composition: Composition, path: string): ModelState;
|
|
20
18
|
type Previous = {
|
|
21
19
|
text: Readonly<Record<string, string>>;
|
package/dist/collection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EAEb,KAAK,UAAU,EAEhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAO,MAAM,QAAQ,EAAE,eAAwE,CAAC;AAIhG,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9C,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE;QAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EAEb,KAAK,UAAU,EAEhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAO,MAAM,QAAQ,EAAE,eAAwE,CAAC;AAIhG,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9C,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE;QAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;CACnE,CAAC;AASF,wBAAgB,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAI5E;AAED,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAanF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,QAAQ,GAClB,UAAU,CAOZ;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,QAAQ,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAQpD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAEvD;AAwBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,WAAW,EAAE,WAAW,GACvB,UAAU,CA0BZ"}
|
package/dist/collection.js
CHANGED
|
@@ -6,9 +6,6 @@ function selected(composition, path) {
|
|
|
6
6
|
return (composition.selection !== null &&
|
|
7
7
|
composition.selection.roots.some((root) => beneath(root, path)));
|
|
8
8
|
}
|
|
9
|
-
export function untyped(roots, path) {
|
|
10
|
-
return roots.some((root) => beneath(root, path));
|
|
11
|
-
}
|
|
12
9
|
export function governing(composition, path) {
|
|
13
10
|
return composition.selection !== null && selected(composition, path)
|
|
14
11
|
? composition.selection.model
|
|
@@ -23,8 +20,6 @@ function parsedAt(text, path, previous) {
|
|
|
23
20
|
export function parseCollection(text, composition, previous) {
|
|
24
21
|
const documents = {};
|
|
25
22
|
for (const path of Object.keys(text).sort()) {
|
|
26
|
-
if (untyped(composition.untypedFolders, path))
|
|
27
|
-
continue;
|
|
28
23
|
const parsed = parsedAt(text, path, previous);
|
|
29
24
|
if (parsed.ok)
|
|
30
25
|
documents[path] = parsed.document;
|
|
@@ -34,8 +29,6 @@ export function parseCollection(text, composition, previous) {
|
|
|
34
29
|
export function readCollection(text, composition, previous) {
|
|
35
30
|
const documents = {};
|
|
36
31
|
for (const path of Object.keys(text).sort()) {
|
|
37
|
-
if (untyped(composition.untypedFolders, path))
|
|
38
|
-
continue;
|
|
39
32
|
const parsed = parsedAt(text, path, previous);
|
|
40
33
|
if (!parsed.ok)
|
|
41
34
|
return { kind: 'refused', refusal: parsed.refusal };
|
|
@@ -61,19 +54,16 @@ export function validateCollection(text, binaryTargets, composition) {
|
|
|
61
54
|
const collection = {};
|
|
62
55
|
const selection = {};
|
|
63
56
|
for (const [path, content] of Object.entries(text)) {
|
|
64
|
-
if (untyped(composition.untypedFolders, path))
|
|
65
|
-
continue;
|
|
66
57
|
if (selected(composition, path))
|
|
67
58
|
selection[path] = content;
|
|
68
59
|
else
|
|
69
60
|
collection[path] = content;
|
|
70
61
|
}
|
|
71
|
-
const linked = binaryTargets.filter((path) => !untyped(composition.untypedFolders, path));
|
|
72
62
|
const verdicts = [
|
|
73
|
-
validateAgainst(collection,
|
|
63
|
+
validateAgainst(collection, binaryTargets.filter((path) => !selected(composition, path)), composition.model),
|
|
74
64
|
];
|
|
75
65
|
if (composition.selection !== null) {
|
|
76
|
-
verdicts.push(validateAgainst(selection,
|
|
66
|
+
verdicts.push(validateAgainst(selection, binaryTargets.filter((path) => selected(composition, path)), composition.selection.model));
|
|
77
67
|
}
|
|
78
68
|
const refusals = verdicts.filter((verdict) => verdict.verdict === 'refuse');
|
|
79
69
|
if (refusals.length === 0)
|
package/dist/connection.d.ts
CHANGED
|
@@ -3,46 +3,37 @@ import { type Observation } from './observation.js';
|
|
|
3
3
|
import { type DocumentQuery, type DocumentResult, type GroupQuery, type GroupResult } from './query.js';
|
|
4
4
|
import { type SearchRequest, type SearchResult } from './search.js';
|
|
5
5
|
import { type Adapter, type Authorization, type HistoryResult, type RoomAttachment, type ProviderRefusal, type ServiceMode } from './adapter.js';
|
|
6
|
-
import { type ChatDraftSurface, type ConversationOptions, type ConversationSurface, type ConversationView } from './conversation.js';
|
|
6
|
+
import { type ChatDraftSurface, type ConversationEntry, type ConversationOptions, type ConversationSurface, type ConversationView } from './conversation.js';
|
|
7
7
|
import type { WrittenBy } from './change.js';
|
|
8
|
-
import type { CallResult, QueueEntry
|
|
8
|
+
import type { CallResult, QueueEntry } from './outcome.js';
|
|
9
9
|
import { type SaveRefusal } from './save.js';
|
|
10
10
|
import { type RoomDraft, type RoomDraftWrite } from './room-draft.js';
|
|
11
11
|
import { type SyncStatus } from './status.js';
|
|
12
12
|
import { type RuntimeShell } from './durability.js';
|
|
13
|
+
import { type NarrowedView, type PortReach, type RuntimeView } from './reach.js';
|
|
13
14
|
export type AppTypedSelection = {
|
|
14
15
|
roots: readonly string[];
|
|
15
|
-
attachedModel: import('./model.js').ModelIdentity | null;
|
|
16
16
|
model: TypesResult;
|
|
17
17
|
};
|
|
18
18
|
export type AppRoom = {
|
|
19
19
|
name: string;
|
|
20
20
|
locator: string;
|
|
21
|
+
handle: string;
|
|
21
22
|
operations: import('./adapter.js').OperationScopes;
|
|
22
23
|
replica: import('./adapter.js').ReplicaAdmission;
|
|
23
|
-
attachedModel: import('./model.js').ModelIdentity | null;
|
|
24
24
|
model: TypesResult;
|
|
25
25
|
typedSelection: AppTypedSelection | null;
|
|
26
|
-
untypedFolders: readonly string[];
|
|
27
26
|
providerOwnedPaths: readonly string[];
|
|
28
27
|
roomVersion: string | null;
|
|
29
28
|
attachments: readonly RoomAttachment[];
|
|
30
29
|
synchronizationAvailable: boolean;
|
|
31
30
|
refusal: ProviderRefusal | null;
|
|
32
31
|
};
|
|
33
|
-
export type
|
|
34
|
-
room: AppRoom;
|
|
35
|
-
segment: string | null;
|
|
36
|
-
};
|
|
37
|
-
export type AppSlot = {
|
|
38
|
-
slot: string;
|
|
39
|
-
entries: readonly AppSlotEntry[];
|
|
40
|
-
};
|
|
41
|
-
export type RoomTypes = {
|
|
32
|
+
export type RoomSchemas = {
|
|
42
33
|
collection: TypesResult;
|
|
43
34
|
typedSelection: TypesResult | null;
|
|
44
35
|
};
|
|
45
|
-
export type ConnectionRefusalReason = '
|
|
36
|
+
export type ConnectionRefusalReason = 'missing-required-guarantee' | 'revoked-authorization';
|
|
46
37
|
export type ConnectionRefusal = {
|
|
47
38
|
reason: ConnectionRefusalReason;
|
|
48
39
|
reauthorizationOffered: boolean;
|
|
@@ -51,9 +42,7 @@ export type ConnectionRefusal = {
|
|
|
51
42
|
export type MdRuntimeOptions = {
|
|
52
43
|
adapter: Adapter;
|
|
53
44
|
shell: RuntimeShell;
|
|
54
|
-
requiredGuarantees: readonly string[];
|
|
55
45
|
authorization?: Authorization;
|
|
56
|
-
discoveryIntervalMs?: number;
|
|
57
46
|
signal?: AbortSignal;
|
|
58
47
|
};
|
|
59
48
|
export type SaveResult = {
|
|
@@ -83,26 +72,21 @@ export type HistoryQuery = {
|
|
|
83
72
|
export type MdRuntime = {
|
|
84
73
|
loaded(): Promise<void>;
|
|
85
74
|
rooms(): readonly AppRoom[];
|
|
86
|
-
slots(): readonly AppSlot[];
|
|
87
75
|
query: {
|
|
88
76
|
(query: DocumentQuery): Promise<DocumentResult>;
|
|
89
77
|
(query: GroupQuery): Promise<GroupResult>;
|
|
90
78
|
};
|
|
91
79
|
search(request: SearchRequest): Promise<SearchResult>;
|
|
92
|
-
types(locator: string):
|
|
93
|
-
syncStatus(): SyncStatus;
|
|
94
|
-
serviceMode(): ServiceMode;
|
|
80
|
+
types(locator: string): RoomSchemas;
|
|
95
81
|
roomDraft: RoomDraftSurface;
|
|
96
82
|
conversation: ConversationSurface;
|
|
97
83
|
chatDraft: ChatDraftSurface;
|
|
98
84
|
presentation: PresentationSurface;
|
|
99
85
|
save(room: string, roomDrafts: readonly SavedRoomDraft[], writtenBy?: WrittenBy): Promise<SaveResult>;
|
|
100
|
-
outcome(identifier: string): SubmissionOutcome | null;
|
|
101
86
|
history(locator: string, path: string, query?: HistoryQuery): Promise<HistoryResult>;
|
|
102
87
|
call(name: string, input: unknown): Promise<CallResult>;
|
|
103
88
|
reached(locator: string, roomVersion: string, path?: string): boolean;
|
|
104
89
|
log(): string;
|
|
105
|
-
storageLoss(): string | null;
|
|
106
90
|
persistence(): boolean;
|
|
107
91
|
observe: {
|
|
108
92
|
(topic: 'rooms'): Promise<Observation<readonly AppRoom[]>>;
|
|
@@ -116,15 +100,14 @@ export type MdRuntime = {
|
|
|
116
100
|
(topic: 'room-drafts'): Promise<Observation<readonly RoomDraft[]>>;
|
|
117
101
|
(topic: 'presentation', app: string): Promise<Observation<unknown>>;
|
|
118
102
|
(topic: 'conversation', conversation: string, options: ConversationOptions): Promise<Observation<ConversationView>>;
|
|
103
|
+
(topic: 'conversations'): Promise<Observation<readonly ConversationEntry[]>>;
|
|
119
104
|
};
|
|
120
105
|
reauthorize(): Promise<void>;
|
|
121
106
|
};
|
|
122
|
-
export type RuntimeTopic = 'rooms' | 'connection-refusal' | 'storage-loss' | 'sync-status' | 'service-mode' | 'query' | 'queue' | 'room-drafts' | 'presentation' | 'conversation';
|
|
123
|
-
export type ComposedRuntime = {
|
|
124
|
-
md: MdRuntime;
|
|
107
|
+
export type RuntimeTopic = 'rooms' | 'connection-refusal' | 'storage-loss' | 'sync-status' | 'service-mode' | 'query' | 'queue' | 'room-drafts' | 'presentation' | 'conversation' | 'conversations';
|
|
108
|
+
export type ComposedRuntime = RuntimeView & {
|
|
125
109
|
stop(): Promise<void>;
|
|
126
|
-
|
|
110
|
+
within(reach: PortReach | null): NarrowedView;
|
|
127
111
|
};
|
|
128
|
-
export declare function createMdRuntime(options: MdRuntimeOptions): MdRuntime;
|
|
129
112
|
export declare function composeRuntime(options: MdRuntimeOptions): ComposedRuntime;
|
|
130
113
|
//# sourceMappingURL=connection.d.ts.map
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|