@agentshouse/mdruntime 0.1.0-cd507e16e5fc0 → 0.1.0-cd574a610e9c8
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 +21 -19
- package/dist/acceptance.d.ts +0 -3
- package/dist/acceptance.d.ts.map +1 -1
- package/dist/acceptance.js +75 -165
- package/dist/act-lanes.d.ts +30 -0
- package/dist/act-lanes.d.ts.map +1 -0
- package/dist/act-lanes.js +225 -0
- package/dist/actions.d.ts +8 -2
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +118 -67
- package/dist/adapter.d.ts +90 -58
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +0 -1
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +0 -5
- package/dist/authored.d.ts +88 -0
- package/dist/authored.d.ts.map +1 -0
- package/dist/authored.js +345 -0
- package/dist/bootstrap.d.ts +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +6 -19
- package/dist/change-set.d.ts +4 -0
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +6 -0
- package/dist/change.d.ts +4 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +7 -2
- package/dist/chat-types.d.ts +0 -2
- package/dist/chat-types.d.ts.map +1 -1
- package/dist/chat-types.js +0 -2
- package/dist/client.d.ts +13 -20
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +36 -20
- package/dist/collection.d.ts +25 -4
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +19 -2
- package/dist/column.d.ts +5 -0
- package/dist/column.d.ts.map +1 -0
- package/dist/column.js +9 -0
- package/dist/compile.d.ts +2 -0
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +31 -25
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +31 -24
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +1 -1
- package/dist/conversation-live.d.ts +26 -12
- package/dist/conversation-live.d.ts.map +1 -1
- package/dist/conversation-live.js +23 -12
- package/dist/conversation-row.d.ts +8 -1
- package/dist/conversation-row.d.ts.map +1 -1
- package/dist/conversation-row.js +20 -7
- package/dist/conversation.d.ts +37 -12
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +320 -234
- package/dist/declaration.d.ts +10 -0
- package/dist/declaration.d.ts.map +1 -0
- package/dist/declaration.js +24 -0
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +19 -44
- package/dist/durability.d.ts +4 -0
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +4 -0
- package/dist/entry.js +1 -1
- package/dist/expectation.d.ts +26 -13
- package/dist/expectation.d.ts.map +1 -1
- package/dist/expectation.js +72 -19
- package/dist/failure.d.ts +3 -0
- package/dist/failure.d.ts.map +1 -1
- package/dist/failure.js +6 -0
- package/dist/figures.d.ts.map +1 -1
- package/dist/figures.js +4 -2
- package/dist/file.d.ts +1 -1
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +3 -2
- package/dist/host.d.ts +18 -2
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +59 -15
- package/dist/index.d.ts +16 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -7
- package/dist/install.d.ts +10 -6
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +92 -111
- package/dist/lifecycle.d.ts +1 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +54 -40
- package/dist/listing.d.ts +11 -12
- package/dist/listing.d.ts.map +1 -1
- package/dist/listing.js +48 -72
- package/dist/live.d.ts +5 -3
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +74 -33
- package/dist/loaded.d.ts +5 -0
- package/dist/loaded.d.ts.map +1 -0
- package/dist/loaded.js +40 -0
- package/dist/locks.d.ts +2 -4
- package/dist/locks.d.ts.map +1 -1
- package/dist/locks.js +10 -39
- package/dist/lost.d.ts.map +1 -1
- package/dist/lost.js +11 -23
- package/dist/media.d.ts +6 -1
- package/dist/media.d.ts.map +1 -1
- package/dist/media.js +68 -17
- package/dist/memory.d.ts +8 -3
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +92 -33
- package/dist/messages.d.ts +12 -6
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +30 -38
- package/dist/model.d.ts +0 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +0 -5
- package/dist/models.d.ts +4 -8
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +97 -139
- package/dist/observation.d.ts +27 -12
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +184 -85
- package/dist/opened.d.ts +1 -1
- package/dist/opened.d.ts.map +1 -1
- package/dist/opened.js +5 -5
- package/dist/opening.d.ts.map +1 -1
- package/dist/opening.js +5 -9
- package/dist/outcome.d.ts +13 -1
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +32 -2
- package/dist/overlay.d.ts +6 -2
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +37 -24
- package/dist/page-metadata.d.ts +8 -0
- package/dist/page-metadata.d.ts.map +1 -0
- package/dist/page-metadata.js +19 -0
- package/dist/parts.d.ts +3 -58
- package/dist/parts.d.ts.map +1 -1
- package/dist/parts.js +10 -115
- package/dist/preparation.d.ts +27 -6
- package/dist/preparation.d.ts.map +1 -1
- package/dist/preparation.js +156 -68
- package/dist/presence.d.ts +58 -0
- package/dist/presence.d.ts.map +1 -0
- package/dist/presence.js +231 -0
- package/dist/queries.d.ts +2 -2
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +67 -31
- package/dist/query.d.ts +0 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/questions.d.ts +1 -5
- package/dist/questions.d.ts.map +1 -1
- package/dist/questions.js +1 -7
- package/dist/queue.d.ts +40 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +480 -0
- package/dist/reach.d.ts +2 -3
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +88 -26
- package/dist/react.d.ts +8 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +33 -1
- package/dist/readiness.d.ts +9 -3
- package/dist/readiness.d.ts.map +1 -1
- package/dist/readiness.js +3 -5
- package/dist/reads.d.ts +4 -2
- package/dist/reads.d.ts.map +1 -1
- package/dist/reads.js +11 -4
- package/dist/recovery.d.ts +3 -1
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +29 -7
- package/dist/refresh.js +2 -2
- package/dist/refusal.d.ts.map +1 -1
- package/dist/refusal.js +5 -6
- package/dist/replica.d.ts +5 -11
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +15 -17
- package/dist/retried.d.ts +30 -0
- package/dist/retried.d.ts.map +1 -0
- package/dist/retried.js +72 -0
- package/dist/room-draft.d.ts +31 -8
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +273 -66
- package/dist/room-drafts.d.ts.map +1 -1
- package/dist/room-drafts.js +22 -18
- package/dist/room-list.d.ts +10 -0
- package/dist/room-list.d.ts.map +1 -0
- package/dist/room-list.js +45 -0
- package/dist/rows.d.ts +2 -1
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +9 -10
- package/dist/runtime.d.ts +9 -18
- package/dist/runtime.d.ts.map +1 -1
- package/dist/save.d.ts +42 -90
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +327 -229
- package/dist/saves.d.ts +4 -40
- package/dist/saves.d.ts.map +1 -1
- package/dist/saves.js +143 -714
- package/dist/seed.d.ts.map +1 -1
- package/dist/seed.js +4 -5
- package/dist/shared.d.ts +0 -5
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +4 -90
- package/dist/shown.d.ts +7 -5
- package/dist/shown.d.ts.map +1 -1
- package/dist/shown.js +77 -63
- package/dist/socket/lanes.d.ts +12 -4
- package/dist/socket/lanes.d.ts.map +1 -1
- package/dist/socket/lanes.js +34 -8
- package/dist/socket/session.d.ts +0 -1
- package/dist/socket/session.d.ts.map +1 -1
- package/dist/socket.d.ts +3 -6
- package/dist/socket.d.ts.map +1 -1
- package/dist/socket.js +5 -16
- package/dist/source.d.ts +5 -7
- package/dist/source.d.ts.map +1 -1
- package/dist/source.js +18 -6
- package/dist/store/installs.d.ts +2 -2
- package/dist/store/installs.d.ts.map +1 -1
- package/dist/store/installs.js +10 -4
- package/dist/store/readiness.d.ts +5 -4
- package/dist/store/readiness.d.ts.map +1 -1
- package/dist/store/readiness.js +28 -12
- package/dist/store/records.d.ts +18 -7
- package/dist/store/records.d.ts.map +1 -1
- package/dist/store/records.js +58 -24
- package/dist/store/rooms-shown.d.ts +8 -0
- package/dist/store/rooms-shown.d.ts.map +1 -0
- package/dist/store/rooms-shown.js +13 -0
- package/dist/store/space.d.ts +1 -1
- package/dist/store/space.d.ts.map +1 -1
- package/dist/store/space.js +0 -2
- package/dist/store/watchers.js +1 -2
- package/dist/store.d.ts +23 -14
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +46 -17
- package/dist/stored.d.ts +25 -14
- package/dist/stored.d.ts.map +1 -1
- package/dist/stored.js +83 -32
- package/dist/surface.d.ts +5 -3
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +25 -23
- package/dist/sync.d.ts +1 -1
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +96 -92
- package/dist/tables.d.ts +16 -57
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +91 -332
- package/dist/tallies.d.ts.map +1 -1
- package/dist/tallies.js +6 -7
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +4 -10
- package/dist/wire.d.ts +53 -7
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +17 -4
- package/package.json +3 -2
- package/dist/attempt.d.ts +0 -16
- package/dist/attempt.d.ts.map +0 -1
- package/dist/attempt.js +0 -70
- package/dist/job.d.ts +0 -33
- package/dist/job.d.ts.map +0 -1
- package/dist/job.js +0 -54
- package/dist/log.d.ts +0 -6
- package/dist/log.d.ts.map +0 -1
- package/dist/log.js +0 -14
- package/dist/socket/rooms.d.ts +0 -44
- package/dist/socket/rooms.d.ts.map +0 -1
- package/dist/socket/rooms.js +0 -90
- package/dist/store/fences.d.ts +0 -16
- package/dist/store/fences.d.ts.map +0 -1
- package/dist/store/fences.js +0 -26
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SessionState } from '@agentshouse/session-content';
|
|
2
|
+
import type { AcceptedMessage, ConversationAction, ConversationHistoryRequest, ConversationStream, ListedAgent, ListedConversation, ProcessCommand, SessionOption } from './adapter.js';
|
|
2
3
|
import { type Cell } from './cell.js';
|
|
3
4
|
import type { ChangeSet } from './change-set.js';
|
|
4
5
|
import type { Asked, ConversationAgent, ConversationEntry, ConversationView, RunningTurn } from './conversation.js';
|
|
5
|
-
import type { JobMarker } from './job.js';
|
|
6
6
|
import type { CallResult } from './outcome.js';
|
|
7
7
|
import type { Recovery } from './recovery.js';
|
|
8
|
+
import type { Attempt, Retries } from './retried.js';
|
|
8
9
|
import type { ChatDraftRecord, RuntimeStore } from './store.js';
|
|
9
10
|
export type ConversationDependencies = {
|
|
10
|
-
call(name: ConversationAction, input: unknown): Promise<CallResult>;
|
|
11
|
+
call(name: ConversationAction, input: unknown, attempt?: Attempt): Promise<CallResult>;
|
|
11
12
|
history(request: ConversationHistoryRequest): Promise<CallResult>;
|
|
12
13
|
durably<T>(work: (local: RuntimeStore) => Promise<T>): Promise<T>;
|
|
13
14
|
local(): Promise<RuntimeStore>;
|
|
@@ -19,7 +20,9 @@ export type ConversationDependencies = {
|
|
|
19
20
|
full(): boolean;
|
|
20
21
|
closed(): boolean;
|
|
21
22
|
unanswered(): void;
|
|
23
|
+
heard(operation: string, lost: boolean): void;
|
|
22
24
|
readonly recovery: Recovery;
|
|
25
|
+
readonly retries: Retries;
|
|
23
26
|
};
|
|
24
27
|
export type Live = {
|
|
25
28
|
turn: RunningTurn | null;
|
|
@@ -30,10 +33,11 @@ export type Live = {
|
|
|
30
33
|
commands: readonly ProcessCommand[];
|
|
31
34
|
options: readonly SessionOption[];
|
|
32
35
|
starting: string | null;
|
|
33
|
-
|
|
36
|
+
state: SessionState | null;
|
|
34
37
|
link: {
|
|
35
38
|
connected: boolean;
|
|
36
39
|
} | null;
|
|
40
|
+
deliveryWaiting: readonly string[];
|
|
37
41
|
deliveryUnknown: readonly string[];
|
|
38
42
|
};
|
|
39
43
|
export declare const QUIET: Live;
|
|
@@ -42,11 +46,14 @@ export declare const FACTS: readonly Fact[];
|
|
|
42
46
|
type Watcher = {
|
|
43
47
|
readonly notify: (view: ConversationView) => void;
|
|
44
48
|
};
|
|
45
|
-
type
|
|
46
|
-
readonly window: readonly AcceptedMessage[] | null;
|
|
49
|
+
export type Kept = {
|
|
47
50
|
readonly draft: ChatDraftRecord | null;
|
|
48
51
|
readonly ended: string | null;
|
|
49
|
-
readonly
|
|
52
|
+
readonly dismissed: string | null;
|
|
53
|
+
readonly pins: readonly string[];
|
|
54
|
+
};
|
|
55
|
+
type HeldWindow = Kept & {
|
|
56
|
+
readonly window: readonly AcceptedMessage[] | null;
|
|
50
57
|
readonly more: boolean;
|
|
51
58
|
readonly total: number | null;
|
|
52
59
|
};
|
|
@@ -72,23 +79,29 @@ export type Audience<T> = {
|
|
|
72
79
|
};
|
|
73
80
|
type HeldFacts = {
|
|
74
81
|
readonly listKnown: boolean;
|
|
82
|
+
readonly openingRead: boolean;
|
|
83
|
+
readonly openingListed: boolean;
|
|
75
84
|
readonly listOwed: boolean;
|
|
76
85
|
readonly listTelling: boolean;
|
|
77
86
|
readonly agentsShown: string | null;
|
|
78
|
-
readonly
|
|
79
|
-
readonly agentsReading: boolean;
|
|
87
|
+
readonly listedShown: string | null;
|
|
80
88
|
readonly replicated: ReadonlySet<string>;
|
|
81
89
|
readonly handedReplicated: string | undefined;
|
|
82
90
|
};
|
|
83
91
|
export type Dispatch = Cell<{
|
|
84
92
|
readonly answered: boolean;
|
|
85
93
|
}>;
|
|
94
|
+
export type Relisted = {
|
|
95
|
+
readonly conversations: ReadonlyMap<string, ListedConversation>;
|
|
96
|
+
readonly agents: ReadonlyMap<string, ListedAgent>;
|
|
97
|
+
};
|
|
86
98
|
export type LiveConversations = {
|
|
87
99
|
readonly deps: ConversationDependencies;
|
|
88
100
|
readonly held: Cell<HeldFacts>;
|
|
89
101
|
readonly closing: AbortSignal;
|
|
90
102
|
readonly listeners: Audience<readonly ConversationEntry[]>;
|
|
91
103
|
readonly agentListeners: Audience<readonly ConversationAgent[]>;
|
|
104
|
+
readonly listedListeners: Audience<readonly ListedAgent[]>;
|
|
92
105
|
views(): Iterable<SharedView>;
|
|
93
106
|
viewJoined(key: string, conversation: string, asked: Asked, notify: (view: ConversationView) => void): {
|
|
94
107
|
readonly view: SharedView;
|
|
@@ -107,7 +120,7 @@ export type LiveConversations = {
|
|
|
107
120
|
caughtUpTo(conversation: string): void;
|
|
108
121
|
gapOpened(conversation: string): void;
|
|
109
122
|
generation(conversation: string): number;
|
|
110
|
-
heardAt(conversation: string,
|
|
123
|
+
heardAt(conversation: string, change: string): void;
|
|
111
124
|
newestHeard(conversation: string): string | undefined;
|
|
112
125
|
catching(conversation: string): Promise<void> | undefined;
|
|
113
126
|
catchingUntil(conversation: string, ended: Promise<void>): void;
|
|
@@ -116,9 +129,9 @@ export type LiveConversations = {
|
|
|
116
129
|
isCreating(conversation: string): boolean;
|
|
117
130
|
relisting(): boolean;
|
|
118
131
|
relistBegun(): void;
|
|
119
|
-
relistHeard(entries: readonly ListedConversation[]): void;
|
|
132
|
+
relistHeard(entries: readonly ListedConversation[], agents: readonly ListedAgent[]): void;
|
|
120
133
|
relistDropped(conversation: string): void;
|
|
121
|
-
relistTaken():
|
|
134
|
+
relistTaken(): Relisted | null;
|
|
122
135
|
sendingBegan(operation: string): Dispatch;
|
|
123
136
|
sendingEnded(operation: string, dispatch: Dispatch): void;
|
|
124
137
|
sending(operation: string): boolean;
|
|
@@ -127,6 +140,7 @@ export type LiveConversations = {
|
|
|
127
140
|
forget(conversation: string): void;
|
|
128
141
|
current(): boolean;
|
|
129
142
|
known(): boolean;
|
|
143
|
+
listed(): boolean;
|
|
130
144
|
reopened(): void;
|
|
131
145
|
lost(): void;
|
|
132
146
|
close(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-live.d.ts","sourceRoot":"","sources":["../src/conversation-live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"conversation-live.d.ts","sourceRoot":"","sources":["../src/conversation-live.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,9 @@ export const QUIET = {
|
|
|
6
6
|
commands: [],
|
|
7
7
|
options: [],
|
|
8
8
|
starting: null,
|
|
9
|
-
|
|
9
|
+
state: null,
|
|
10
10
|
link: null,
|
|
11
|
+
deliveryWaiting: [],
|
|
11
12
|
deliveryUnknown: [],
|
|
12
13
|
};
|
|
13
14
|
export const FACTS = [
|
|
@@ -16,8 +17,9 @@ export const FACTS = [
|
|
|
16
17
|
'commands',
|
|
17
18
|
'options',
|
|
18
19
|
'starting',
|
|
19
|
-
'
|
|
20
|
+
'state',
|
|
20
21
|
'link',
|
|
22
|
+
'deliveryWaiting',
|
|
21
23
|
'deliveryUnknown',
|
|
22
24
|
];
|
|
23
25
|
// A row is read at a glance and each telling clones the list to every observing tab, while a running line changes at each Kit flush.
|
|
@@ -61,7 +63,8 @@ function sharedView(conversation, asked) {
|
|
|
61
63
|
window: null,
|
|
62
64
|
draft: null,
|
|
63
65
|
ended: null,
|
|
64
|
-
|
|
66
|
+
dismissed: null,
|
|
67
|
+
pins: [],
|
|
65
68
|
more: false,
|
|
66
69
|
total: null,
|
|
67
70
|
}),
|
|
@@ -92,13 +95,15 @@ export function createLiveConversations(deps) {
|
|
|
92
95
|
const closing = new AbortController();
|
|
93
96
|
const listeners = createAudience();
|
|
94
97
|
const agentListeners = createAudience();
|
|
98
|
+
const listedListeners = createAudience();
|
|
95
99
|
const held = createCell({
|
|
96
100
|
listKnown: false,
|
|
101
|
+
openingRead: false,
|
|
102
|
+
openingListed: false,
|
|
97
103
|
listOwed: false,
|
|
98
104
|
listTelling: false,
|
|
99
105
|
agentsShown: null,
|
|
100
|
-
|
|
101
|
-
agentsReading: false,
|
|
106
|
+
listedShown: null,
|
|
102
107
|
replicated: new Set(),
|
|
103
108
|
handedReplicated: undefined,
|
|
104
109
|
});
|
|
@@ -111,6 +116,7 @@ export function createLiveConversations(deps) {
|
|
|
111
116
|
closing: closing.signal,
|
|
112
117
|
listeners,
|
|
113
118
|
agentListeners,
|
|
119
|
+
listedListeners,
|
|
114
120
|
views: () => views.values(),
|
|
115
121
|
viewJoined(key, conversation, asked, notify) {
|
|
116
122
|
const view = views.get(key) ?? sharedView(conversation, asked);
|
|
@@ -159,10 +165,10 @@ export function createLiveConversations(deps) {
|
|
|
159
165
|
behind.add(conversation);
|
|
160
166
|
},
|
|
161
167
|
generation: (conversation) => gaps.get(conversation) ?? 0,
|
|
162
|
-
heardAt(conversation,
|
|
168
|
+
heardAt(conversation, change) {
|
|
163
169
|
const heard = heardNewest.get(conversation);
|
|
164
|
-
if (heard === undefined ||
|
|
165
|
-
heardNewest.set(conversation,
|
|
170
|
+
if (heard === undefined || change > heard)
|
|
171
|
+
heardNewest.set(conversation, change);
|
|
166
172
|
},
|
|
167
173
|
newestHeard: (conversation) => heardNewest.get(conversation),
|
|
168
174
|
catching: (conversation) => catching.get(conversation),
|
|
@@ -182,14 +188,16 @@ export function createLiveConversations(deps) {
|
|
|
182
188
|
isCreating: (conversation) => creations.has(conversation),
|
|
183
189
|
relisting: () => relisting !== null,
|
|
184
190
|
relistBegun() {
|
|
185
|
-
relisting ??= new Map();
|
|
191
|
+
relisting ??= { conversations: new Map(), agents: new Map() };
|
|
186
192
|
},
|
|
187
|
-
relistHeard(entries) {
|
|
193
|
+
relistHeard(entries, agents) {
|
|
188
194
|
for (const entry of entries)
|
|
189
|
-
relisting?.set(entry.conversation, { ...entry });
|
|
195
|
+
relisting?.conversations.set(entry.conversation, { ...entry });
|
|
196
|
+
for (const agent of agents)
|
|
197
|
+
relisting?.agents.set(agent.id, { ...agent });
|
|
190
198
|
},
|
|
191
199
|
relistDropped(conversation) {
|
|
192
|
-
relisting?.delete(conversation);
|
|
200
|
+
relisting?.conversations.delete(conversation);
|
|
193
201
|
},
|
|
194
202
|
relistTaken() {
|
|
195
203
|
const whole = relisting;
|
|
@@ -224,8 +232,10 @@ export function createLiveConversations(deps) {
|
|
|
224
232
|
},
|
|
225
233
|
current: () => behind.size === 0,
|
|
226
234
|
known: () => held.now().listKnown,
|
|
235
|
+
listed: () => deps.stream() === undefined || held.now().openingListed,
|
|
227
236
|
reopened() {
|
|
228
237
|
relisting = null;
|
|
238
|
+
held.set({ openingRead: false, openingListed: false });
|
|
229
239
|
for (const [operation, dispatch] of sending)
|
|
230
240
|
if (!dispatch.now().answered)
|
|
231
241
|
sending.delete(operation);
|
|
@@ -243,6 +253,7 @@ export function createLiveConversations(deps) {
|
|
|
243
253
|
unsent.clear();
|
|
244
254
|
listeners.clear();
|
|
245
255
|
agentListeners.clear();
|
|
256
|
+
listedListeners.clear();
|
|
246
257
|
},
|
|
247
258
|
};
|
|
248
259
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { HeldRow } from './messages.js';
|
|
2
|
-
import { type HouseSource } from './source.js';
|
|
2
|
+
import { type HouseSource, type RequestAnswer } from './source.js';
|
|
3
3
|
export type ConversationLast = {
|
|
4
4
|
readonly text: string;
|
|
5
5
|
readonly by: 'owner' | 'agent' | 'house';
|
|
@@ -10,18 +10,25 @@ export type ConversationStart = Extract<HouseSource, {
|
|
|
10
10
|
}>;
|
|
11
11
|
export type ConversationAsk = {
|
|
12
12
|
readonly who: string;
|
|
13
|
+
readonly fromRoom: boolean;
|
|
13
14
|
readonly agent: string | null;
|
|
14
15
|
readonly room: {
|
|
15
16
|
readonly ref: string;
|
|
17
|
+
readonly handle: string;
|
|
16
18
|
readonly name: string;
|
|
17
19
|
};
|
|
18
20
|
readonly prompt: string;
|
|
21
|
+
readonly agentFunction: string | null;
|
|
22
|
+
readonly answer: RequestAnswer | null;
|
|
23
|
+
readonly instruction: string | null;
|
|
19
24
|
readonly at: string;
|
|
20
25
|
readonly request: string;
|
|
21
26
|
readonly message?: string;
|
|
22
27
|
};
|
|
23
28
|
export type ConversationHeld = {
|
|
24
29
|
readonly last: ConversationLast | null;
|
|
30
|
+
readonly answered: string | null;
|
|
31
|
+
readonly opened: string | null;
|
|
25
32
|
readonly failure: string | null;
|
|
26
33
|
readonly startedBy: ConversationStart | null;
|
|
27
34
|
readonly asks: ConversationAsk | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-row.d.ts","sourceRoot":"","sources":["../src/conversation-row.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-row.d.ts","sourceRoot":"","sources":["../src/conversation-row.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAY,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,CAAC,CAAC;AAE/F,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CACvC,CAAC;AA8DF,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,MAAM,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrE,gBAAgB,CAUlB"}
|
package/dist/conversation-row.js
CHANGED
|
@@ -12,19 +12,26 @@ function startOf(opened) {
|
|
|
12
12
|
const source = opened === null ? null : sourceOf(opened.source, opened.sender);
|
|
13
13
|
return source?.kind === 'request' || source?.kind === 'trigger' ? source : null;
|
|
14
14
|
}
|
|
15
|
-
const HOUSE_OPENING = 3;
|
|
16
|
-
function requested(text) {
|
|
17
|
-
return text.split('\n\n').slice(HOUSE_OPENING).join('\n\n');
|
|
18
|
-
}
|
|
19
15
|
function asksOf(asking, started, waiting) {
|
|
20
16
|
if (asking?.at == null)
|
|
21
17
|
return null;
|
|
22
18
|
const { at, text: prompt, identity } = asking;
|
|
23
19
|
const source = sourceOf(asking.source, asking.sender);
|
|
24
20
|
if (source?.kind === 'request') {
|
|
25
|
-
const { requester, room, request } = source;
|
|
21
|
+
const { requester, room, request, sent, agentFunction, answer, instruction } = source;
|
|
26
22
|
return waiting
|
|
27
|
-
? {
|
|
23
|
+
? {
|
|
24
|
+
who: requester.name,
|
|
25
|
+
fromRoom: requester.room,
|
|
26
|
+
agent: null,
|
|
27
|
+
room,
|
|
28
|
+
prompt: sent,
|
|
29
|
+
agentFunction: agentFunction?.name ?? null,
|
|
30
|
+
answer,
|
|
31
|
+
instruction,
|
|
32
|
+
at,
|
|
33
|
+
request,
|
|
34
|
+
}
|
|
28
35
|
: null;
|
|
29
36
|
}
|
|
30
37
|
if (source?.kind !== 'mail' || started?.kind !== 'request')
|
|
@@ -33,9 +40,13 @@ function asksOf(asking, started, waiting) {
|
|
|
33
40
|
return started.request === request
|
|
34
41
|
? {
|
|
35
42
|
who: owner,
|
|
43
|
+
fromRoom: false,
|
|
36
44
|
agent,
|
|
37
|
-
room: { ref: room, name: started.room.name },
|
|
45
|
+
room: { ref: room, handle: started.room.handle, name: started.room.name },
|
|
38
46
|
prompt,
|
|
47
|
+
agentFunction: null,
|
|
48
|
+
answer: null,
|
|
49
|
+
instruction: null,
|
|
39
50
|
at,
|
|
40
51
|
request,
|
|
41
52
|
message: identity,
|
|
@@ -46,6 +57,8 @@ export function heldFacts(held, listed) {
|
|
|
46
57
|
const startedBy = startOf(held?.opened ?? null);
|
|
47
58
|
return {
|
|
48
59
|
last: lastOf(held?.said ?? null),
|
|
60
|
+
answered: held?.answered ?? null,
|
|
61
|
+
opened: held?.openedTurn ?? null,
|
|
49
62
|
failure: listed.outcome === 'failed' ? (held?.failure ?? null) : null,
|
|
50
63
|
startedBy,
|
|
51
64
|
asks: asksOf(held?.asking ?? null, startedBy, listed.waiting),
|
package/dist/conversation.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type Part, type SessionState } from '@agentshouse/session-content';
|
|
2
|
+
import type { AgentEnvironment, ConversationEvent, ConversationMessage, ListedAgent, ProcessCommand, SessionOption } from './adapter.js';
|
|
2
3
|
import { type ChangeSet } from './change-set.js';
|
|
3
4
|
import { type LiveConversations } from './conversation-live.js';
|
|
4
5
|
import { type ConversationHeld } from './conversation-row.js';
|
|
5
|
-
import type { OpenJob } from './job.js';
|
|
6
6
|
import type { Open } from './open.js';
|
|
7
|
-
import { type CallResult, type Offline } from './outcome.js';
|
|
7
|
+
import { type BinaryLinkAnswer, type CallResult, type ConversationAttachAnswer, type Offline } from './outcome.js';
|
|
8
|
+
import type { ChatRequest } from './source.js';
|
|
8
9
|
import type { CycleProgress } from './status.js';
|
|
9
10
|
import type { RuntimeStore } from './store.js';
|
|
10
11
|
export type ConversationState = Open<'working' | 'asking' | 'idle'>;
|
|
@@ -20,6 +21,7 @@ export type ConversationEntry = ConversationHeld & {
|
|
|
20
21
|
finished: string | null;
|
|
21
22
|
outcome: string | null;
|
|
22
23
|
waiting: boolean;
|
|
24
|
+
subject: string | null;
|
|
23
25
|
state: ConversationState;
|
|
24
26
|
started: string | null;
|
|
25
27
|
line: string | null;
|
|
@@ -29,12 +31,15 @@ export type ConversationEntry = ConversationHeld & {
|
|
|
29
31
|
export type ConversationAgent = {
|
|
30
32
|
identity: string;
|
|
31
33
|
name: string;
|
|
34
|
+
cli: string;
|
|
35
|
+
model: string | null;
|
|
36
|
+
effort: string | null;
|
|
37
|
+
environment: AgentEnvironment;
|
|
32
38
|
};
|
|
33
39
|
export type RunningTurn = {
|
|
34
40
|
turn: string;
|
|
35
41
|
started: string | null;
|
|
36
|
-
parts: readonly
|
|
37
|
-
context: TurnContext | null;
|
|
42
|
+
parts: readonly Part[];
|
|
38
43
|
};
|
|
39
44
|
export type ChatDraft = {
|
|
40
45
|
text: string;
|
|
@@ -61,26 +66,40 @@ export type ConversationView = {
|
|
|
61
66
|
commands: readonly ProcessCommand[];
|
|
62
67
|
options: readonly SessionOption[];
|
|
63
68
|
starting: string | null;
|
|
64
|
-
|
|
69
|
+
state: SessionState | null;
|
|
65
70
|
link: {
|
|
66
71
|
connected: boolean;
|
|
67
72
|
} | null;
|
|
73
|
+
deliveryWaiting: readonly string[];
|
|
68
74
|
deliveryUnknown: readonly string[];
|
|
69
75
|
chatDraft: (ChatDraft & {
|
|
70
76
|
readonly revision: string;
|
|
71
77
|
}) | null;
|
|
72
|
-
|
|
78
|
+
dismissedSuggestion: string | null;
|
|
79
|
+
pins: readonly string[];
|
|
73
80
|
};
|
|
81
|
+
export type RequestDecision = 'approve' | 'decline';
|
|
74
82
|
export type ConversationSurface = {
|
|
75
83
|
list(): Promise<readonly ConversationEntry[]>;
|
|
76
84
|
read(conversation: string, options?: ConversationRead): Promise<ConversationView>;
|
|
77
85
|
create(input: unknown): Promise<CallResult>;
|
|
78
86
|
send(conversation: string, operation?: string, draft?: ChatDraft): Promise<CallResult | Offline>;
|
|
79
|
-
answer(conversation: string, answer: ConversationAnswer): Promise<CallResult>;
|
|
80
|
-
interrupt(conversation: string): Promise<CallResult>;
|
|
81
|
-
kill(conversation: string): Promise<CallResult>;
|
|
82
|
-
delete(conversation: string): Promise<CallResult>;
|
|
87
|
+
answer(conversation: string, answer: ConversationAnswer, operation: string): Promise<CallResult>;
|
|
88
|
+
interrupt(conversation: string, operation: string): Promise<CallResult>;
|
|
89
|
+
kill(conversation: string, operation: string): Promise<CallResult>;
|
|
90
|
+
delete(conversation: string, operation: string): Promise<CallResult>;
|
|
91
|
+
takeOut(conversation: string, message: string, operation: string): Promise<CallResult>;
|
|
92
|
+
decide(request: ChatRequest, decision: RequestDecision, operation: string): Promise<CallResult>;
|
|
93
|
+
rename(conversation: string, name: string, operation: string): Promise<CallResult>;
|
|
94
|
+
option(conversation: string, option: string, value: string | boolean, operation: string): Promise<CallResult>;
|
|
95
|
+
retry(conversation: string, message: string, operation: string): Promise<CallResult>;
|
|
96
|
+
pin(figures: readonly string[]): Promise<void>;
|
|
97
|
+
openTurn(conversation: string, turn: string): Promise<void>;
|
|
98
|
+
dismissSuggestion(conversation: string, suggestion: string): Promise<void>;
|
|
99
|
+
attach(file: File): Promise<ConversationAttachAnswer>;
|
|
100
|
+
attachment(link: string): Promise<BinaryLinkAnswer>;
|
|
83
101
|
};
|
|
102
|
+
export type ConversationFiles = Pick<ConversationSurface, 'attach' | 'attachment'>;
|
|
84
103
|
export type ConversationAnswer = {
|
|
85
104
|
interaction_id: string;
|
|
86
105
|
response: unknown;
|
|
@@ -88,10 +107,12 @@ export type ConversationAnswer = {
|
|
|
88
107
|
export type ChatDraftSurface = {
|
|
89
108
|
write(conversation: string, draft: ChatDraft, revision?: string): Promise<void>;
|
|
90
109
|
prepend(conversation: string, draft: ChatDraft): Promise<void>;
|
|
110
|
+
append(conversation: string, draft: ChatDraft): Promise<void>;
|
|
91
111
|
discard(conversation: string): Promise<void>;
|
|
92
112
|
};
|
|
93
113
|
export declare function unheldView(conversation: string): ConversationView;
|
|
94
114
|
export declare const SESSION_STARTED = "Session started";
|
|
115
|
+
export declare const CATCHING_UP = "catching-up";
|
|
95
116
|
export declare const HISTORY_CONVERSATIONS = 64;
|
|
96
117
|
export declare function newChat(agent: string): string;
|
|
97
118
|
export type Asked = {
|
|
@@ -100,16 +121,20 @@ export type Asked = {
|
|
|
100
121
|
before: readonly [string, string] | null;
|
|
101
122
|
total: boolean;
|
|
102
123
|
};
|
|
124
|
+
export declare function joinedDraft(first: string, second: string): string;
|
|
103
125
|
export declare function conversationsLearned(alive: LiveConversations): void;
|
|
104
|
-
export declare function conversationSurface(alive: LiveConversations): ConversationSurface;
|
|
126
|
+
export declare function conversationSurface(alive: LiveConversations, files: ConversationFiles): ConversationSurface;
|
|
105
127
|
export declare function chatDraftSurface(alive: LiveConversations): ChatDraftSurface;
|
|
106
128
|
export declare function conversationsOpened(alive: LiveConversations, local: RuntimeStore): Promise<void>;
|
|
129
|
+
export declare function reconcileOpening(alive: LiveConversations): Promise<void>;
|
|
107
130
|
export declare function reconcileConversations(alive: LiveConversations): Promise<void>;
|
|
108
131
|
export declare function catchUpConversations(alive: LiveConversations, progress: CycleProgress): Promise<void>;
|
|
132
|
+
export declare function holdsSubmission(alive: LiveConversations, operation: string): Promise<boolean>;
|
|
109
133
|
export declare function resendConversations(alive: LiveConversations, progress: CycleProgress): Promise<void>;
|
|
110
134
|
export declare function watchConversation(alive: LiveConversations, conversation: string, options: ConversationOptions, deliver: (view: ConversationView) => void): () => void;
|
|
111
135
|
export declare function watchConversationList(alive: LiveConversations, deliver: (entries: readonly ConversationEntry[]) => void): () => void;
|
|
112
136
|
export declare function watchConversationAgents(alive: LiveConversations, deliver: (agents: readonly ConversationAgent[]) => void): () => void;
|
|
137
|
+
export declare function watchListedAgents(alive: LiveConversations, deliver: (agents: readonly ListedAgent[]) => void): () => void;
|
|
113
138
|
export declare function conversationsChanged(alive: LiveConversations, set: ChangeSet): void;
|
|
114
139
|
export declare function receiveConversationEvent(alive: LiveConversations, event: ConversationEvent): void;
|
|
115
140
|
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"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"}
|