@chopin-ai/harness-pi 0.2.0 → 0.3.0
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/dist/acp.d.ts +1 -8
- package/dist/acp.js +7 -10
- package/dist/acp.js.map +1 -1
- package/dist/auth.d.ts +1 -9
- package/dist/auth.js +3 -23
- package/dist/auth.js.map +1 -1
- package/dist/bridge.js +2 -2
- package/dist/bridge.js.map +1 -1
- package/dist/client-context.d.ts +7 -0
- package/dist/client-context.js +20 -0
- package/dist/client-context.js.map +1 -0
- package/dist/continuation.d.ts +34 -0
- package/dist/continuation.js +171 -0
- package/dist/continuation.js.map +1 -0
- package/dist/http.d.ts +3 -3
- package/dist/http.js +8 -67
- package/dist/http.js.map +1 -1
- package/dist/idle-compaction.d.ts +25 -0
- package/dist/idle-compaction.js +173 -0
- package/dist/idle-compaction.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/layer.d.ts +14 -3
- package/dist/layer.js +65 -10
- package/dist/layer.js.map +1 -1
- package/dist/mcp.d.ts +14 -0
- package/dist/mcp.js +77 -4
- package/dist/mcp.js.map +1 -1
- package/dist/mode.js +2 -0
- package/dist/mode.js.map +1 -1
- package/dist/protocol.d.ts +293 -1
- package/dist/protocol.js +176 -3
- package/dist/protocol.js.map +1 -1
- package/dist/server.d.ts +9 -7
- package/dist/server.js +155 -22
- package/dist/server.js.map +1 -1
- package/dist/service.d.ts +42 -2
- package/dist/service.js +169 -27
- package/dist/service.js.map +1 -1
- package/dist/submissions.d.ts +1 -1
- package/dist/submissions.js +2 -1
- package/dist/submissions.js.map +1 -1
- package/package.json +10 -9
package/dist/protocol.d.ts
CHANGED
|
@@ -32,15 +32,39 @@ export declare const SubmissionSchema: Type.TUnion<[TObject<{
|
|
|
32
32
|
* was answered.
|
|
33
33
|
*/
|
|
34
34
|
export declare function lastFailure(submissions: Readonly<Record<string, Static<typeof SubmissionSchema>>>): string | undefined;
|
|
35
|
+
/** Why a submission got no answer, with the harness's detail, such as the provider's own message, when it gave one. */
|
|
36
|
+
export declare function unansweredText(settled: {
|
|
37
|
+
reason: string;
|
|
38
|
+
detail?: unknown;
|
|
39
|
+
}): string;
|
|
40
|
+
/** The detail the harness gave with an unanswered submission, as text. */
|
|
41
|
+
export declare function detailText(detail: unknown): string | undefined;
|
|
35
42
|
type Call<A extends TSchema> = ReturnType<typeof method<A>> & {};
|
|
36
43
|
type Query<A extends TSchema | undefined, R extends TSchema> = ReturnType<typeof method<A, R>> & {};
|
|
37
44
|
declare const ForkArgs: TObject<{
|
|
38
45
|
conversation: TNumber;
|
|
39
46
|
at: TNumber;
|
|
40
47
|
}>;
|
|
41
|
-
/**
|
|
48
|
+
/** The largest image a message may carry, before it is encoded. */
|
|
49
|
+
export declare const IMAGE_MAX_BYTES: number;
|
|
50
|
+
/** An image a message carries, in a format models take, as base64. */
|
|
51
|
+
export declare const ImageSchema: TObject<{
|
|
52
|
+
data: Type.TString;
|
|
53
|
+
mimeType: Type.TUnion<[Type.TLiteral<"image/png">, Type.TLiteral<"image/jpeg">, Type.TLiteral<"image/gif">, Type.TLiteral<"image/webp">]>;
|
|
54
|
+
}>;
|
|
55
|
+
export type Image = Static<typeof ImageSchema>;
|
|
56
|
+
/** The most images one message may carry. */
|
|
57
|
+
export declare const IMAGES_MAX = 20;
|
|
58
|
+
/**
|
|
59
|
+
* A message says something, shows something, or both. `request`, chosen by the client, makes sending the same message
|
|
60
|
+
* again harmless: it is admitted once.
|
|
61
|
+
*/
|
|
42
62
|
declare const SubmitArgs: TObject<{
|
|
43
63
|
text: Type.TString;
|
|
64
|
+
images: Type.TOptional<TArray<TObject<{
|
|
65
|
+
data: Type.TString;
|
|
66
|
+
mimeType: Type.TUnion<[Type.TLiteral<"image/png">, Type.TLiteral<"image/jpeg">, Type.TLiteral<"image/gif">, Type.TLiteral<"image/webp">]>;
|
|
67
|
+
}>>>;
|
|
44
68
|
steer: Type.TOptional<Type.TBoolean>;
|
|
45
69
|
request: Type.TOptional<Type.TString>;
|
|
46
70
|
}>;
|
|
@@ -55,6 +79,28 @@ declare const ModelArgs: TObject<{
|
|
|
55
79
|
declare const NameArgs: TObject<{
|
|
56
80
|
name: Type.TString;
|
|
57
81
|
}>;
|
|
82
|
+
declare const ContextArgs: TObject<{
|
|
83
|
+
text: Type.TString;
|
|
84
|
+
}>;
|
|
85
|
+
declare const RetryArgs: TObject<{
|
|
86
|
+
text: Type.TOptional<Type.TString>;
|
|
87
|
+
images: Type.TOptional<TArray<TObject<{
|
|
88
|
+
data: Type.TString;
|
|
89
|
+
mimeType: Type.TUnion<[Type.TLiteral<"image/png">, Type.TLiteral<"image/jpeg">, Type.TLiteral<"image/gif">, Type.TLiteral<"image/webp">]>;
|
|
90
|
+
}>>>;
|
|
91
|
+
}>;
|
|
92
|
+
declare const ResetArgs: TObject<{
|
|
93
|
+
handoff: Type.TOptional<Type.TString>;
|
|
94
|
+
}>;
|
|
95
|
+
/** The kind of entry `retry` writes, which leaves the entries it names out of what the model sees; they stay in the transcript. */
|
|
96
|
+
export declare const REWIND_KIND = "chopin.rewind";
|
|
97
|
+
declare const QueueArgs: TObject<{
|
|
98
|
+
queue: TArray<TObject<{
|
|
99
|
+
id: TNumber;
|
|
100
|
+
text: Type.TOptional<Type.TString>;
|
|
101
|
+
steer: Type.TOptional<Type.TBoolean>;
|
|
102
|
+
}>>;
|
|
103
|
+
}>;
|
|
58
104
|
/** A thinking level as the model library names them; the service takes only those the conversation's model has. */
|
|
59
105
|
declare const ThinkingArgs: TObject<{
|
|
60
106
|
level: Type.TString;
|
|
@@ -104,6 +150,31 @@ declare const Summaries: TArray<TObject<{
|
|
|
104
150
|
created: TNumber;
|
|
105
151
|
modified: TNumber;
|
|
106
152
|
}>>;
|
|
153
|
+
/** A model the owner's agent can use now, with what a client shows to pick it. */
|
|
154
|
+
export declare const ModelChoiceSchema: TObject<{
|
|
155
|
+
provider: Type.TString;
|
|
156
|
+
modelId: Type.TString;
|
|
157
|
+
name: Type.TString;
|
|
158
|
+
contextWindow: TNumber;
|
|
159
|
+
images: Type.TBoolean;
|
|
160
|
+
thinkingLevels: TArray<Type.TString>;
|
|
161
|
+
}>;
|
|
162
|
+
/** The models the owner can use now, those whose providers have credentials, and the one a new conversation takes. */
|
|
163
|
+
export declare const ModelChoicesSchema: TObject<{
|
|
164
|
+
models: TArray<TObject<{
|
|
165
|
+
provider: Type.TString;
|
|
166
|
+
modelId: Type.TString;
|
|
167
|
+
name: Type.TString;
|
|
168
|
+
contextWindow: TNumber;
|
|
169
|
+
images: Type.TBoolean;
|
|
170
|
+
thinkingLevels: TArray<Type.TString>;
|
|
171
|
+
}>>;
|
|
172
|
+
current: Type.TUnion<[TObject<{
|
|
173
|
+
provider: Type.TString;
|
|
174
|
+
modelId: Type.TString;
|
|
175
|
+
}>, Type.TNull]>;
|
|
176
|
+
}>;
|
|
177
|
+
export type ModelChoices = Static<typeof ModelChoicesSchema>;
|
|
107
178
|
/** An owner's conversations. */
|
|
108
179
|
export declare const Conversations: import("@earendil-works/chord").RemoteContract<{
|
|
109
180
|
readonly version: 1;
|
|
@@ -120,6 +191,8 @@ export declare const Conversations: import("@earendil-works/chord").RemoteContra
|
|
|
120
191
|
loaded: Query<undefined, typeof LoadedSchema>;
|
|
121
192
|
fork: Query<typeof ForkArgs, TNumber>;
|
|
122
193
|
summaries: Query<undefined, typeof Summaries>;
|
|
194
|
+
/** Asked anew each time, so a credential set a moment ago shows its provider's models. */
|
|
195
|
+
models: Query<undefined, typeof ModelChoicesSchema>;
|
|
123
196
|
};
|
|
124
197
|
};
|
|
125
198
|
};
|
|
@@ -164,16 +237,235 @@ export declare const Conversation: import("@earendil-works/chord").RemoteContrac
|
|
|
164
237
|
transcript: Query<TObject<{}>, TArray<TUnknown>>;
|
|
165
238
|
/** Takes back every message still queued, answering with their texts in the order they were sent. */
|
|
166
239
|
withdraw: Query<TObject<{}>, typeof Texts>;
|
|
240
|
+
/**
|
|
241
|
+
* Arranges the messages still queued as listed, by their submission ids: in that order, each as it was, with new
|
|
242
|
+
* text, or to steer the turn under way; one left out is taken back. One the agent took up meanwhile stays sent,
|
|
243
|
+
* listed or not. A message put again is a new submission under a new id, as the queue in the view shows.
|
|
244
|
+
*/
|
|
245
|
+
requeue: Call<typeof QueueArgs>;
|
|
246
|
+
/**
|
|
247
|
+
* Asks the latest message again, once the agent has stopped: as it was, or as what is given, which replaces it
|
|
248
|
+
* whole, its images included. The model no longer sees that message or anything after it.
|
|
249
|
+
*/
|
|
250
|
+
retry: Query<typeof RetryArgs, TNumber>;
|
|
251
|
+
/** Starts the model on a fresh context, with a note to carry over if given; the transcript keeps everything. */
|
|
252
|
+
reset: Call<typeof ResetArgs>;
|
|
167
253
|
abort: Call<TObject<{}>>;
|
|
168
254
|
setMode: Call<typeof ModeArgs>;
|
|
169
255
|
setModel: Call<typeof ModelArgs>;
|
|
170
256
|
setName: Call<typeof NameArgs>;
|
|
257
|
+
/** What the client shows its user now, such as the page they are on; the model reads it before each request. */
|
|
258
|
+
setContext: Call<typeof ContextArgs>;
|
|
171
259
|
setThinking: Call<typeof ThinkingArgs>;
|
|
172
260
|
compact: Call<typeof CompactArgs>;
|
|
173
261
|
};
|
|
174
262
|
};
|
|
175
263
|
};
|
|
176
264
|
}>;
|
|
265
|
+
/** A provider the owner holds a credential for, and its kind; never the secret. */
|
|
266
|
+
export declare const CredentialSchema: TObject<{
|
|
267
|
+
provider: Type.TString;
|
|
268
|
+
type: Type.TUnion<[Type.TLiteral<"api_key">, Type.TLiteral<"oauth">]>;
|
|
269
|
+
}>;
|
|
270
|
+
export type CredentialInfo = Static<typeof CredentialSchema>;
|
|
271
|
+
declare const KeyArgs: TObject<{
|
|
272
|
+
provider: Type.TString;
|
|
273
|
+
key: Type.TString;
|
|
274
|
+
}>;
|
|
275
|
+
declare const ProviderArgs: TObject<{
|
|
276
|
+
provider: Type.TString;
|
|
277
|
+
}>;
|
|
278
|
+
/**
|
|
279
|
+
* The credentials an owner's agent reaches models with, where clients may set them. Secrets only ever travel to the
|
|
280
|
+
* service, which keeps each where it keeps that owner's credentials.
|
|
281
|
+
*/
|
|
282
|
+
export declare const Credentials: import("@earendil-works/chord").RemoteContract<{
|
|
283
|
+
readonly version: 1;
|
|
284
|
+
readonly input: TObject<{}>;
|
|
285
|
+
readonly host: import("@earendil-works/chord").HostNamed;
|
|
286
|
+
readonly variants: {
|
|
287
|
+
owner: {
|
|
288
|
+
state: {
|
|
289
|
+
providers: TArray<TObject<{
|
|
290
|
+
provider: Type.TString;
|
|
291
|
+
type: Type.TUnion<[Type.TLiteral<"api_key">, Type.TLiteral<"oauth">]>;
|
|
292
|
+
}>>;
|
|
293
|
+
};
|
|
294
|
+
methods: {
|
|
295
|
+
setKey: Call<typeof KeyArgs>;
|
|
296
|
+
remove: Call<typeof ProviderArgs>;
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
};
|
|
300
|
+
}>;
|
|
301
|
+
/** An MCP server a client set, and how many tools it offers, or why it offers none yet; never its headers. */
|
|
302
|
+
export declare const McpServerSchema: TObject<{
|
|
303
|
+
name: Type.TString;
|
|
304
|
+
url: Type.TString;
|
|
305
|
+
tools: TNumber;
|
|
306
|
+
error: Type.TOptional<Type.TString>;
|
|
307
|
+
}>;
|
|
308
|
+
export type McpServerState = Static<typeof McpServerSchema>;
|
|
309
|
+
declare const McpArgs: TObject<{
|
|
310
|
+
name: Type.TString;
|
|
311
|
+
url: Type.TString;
|
|
312
|
+
headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
|
|
313
|
+
}>;
|
|
314
|
+
declare const McpNameArgs: TObject<{
|
|
315
|
+
name: Type.TString;
|
|
316
|
+
}>;
|
|
317
|
+
/**
|
|
318
|
+
* The MCP servers an owner's clients set, on top of the layer's: kept in memory alone, headers and all, so a client
|
|
319
|
+
* sets them again once the service restarts. Setting one by a name already set replaces it, its headers included.
|
|
320
|
+
*/
|
|
321
|
+
export declare const Mcp: import("@earendil-works/chord").RemoteContract<{
|
|
322
|
+
readonly version: 1;
|
|
323
|
+
readonly input: TObject<{}>;
|
|
324
|
+
readonly host: import("@earendil-works/chord").HostNamed;
|
|
325
|
+
readonly variants: {
|
|
326
|
+
owner: {
|
|
327
|
+
state: {
|
|
328
|
+
servers: TArray<TObject<{
|
|
329
|
+
name: Type.TString;
|
|
330
|
+
url: Type.TString;
|
|
331
|
+
tools: TNumber;
|
|
332
|
+
error: Type.TOptional<Type.TString>;
|
|
333
|
+
}>>;
|
|
334
|
+
};
|
|
335
|
+
methods: {
|
|
336
|
+
set: Call<typeof McpArgs>;
|
|
337
|
+
remove: Call<typeof McpNameArgs>;
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
};
|
|
341
|
+
}>;
|
|
342
|
+
/** Where the RSI loop stands: the layer version in use, the failures it knows, what waits for the owner, what it spent. */
|
|
343
|
+
export declare const LoopStandingSchema: TObject<{
|
|
344
|
+
version: TNumber;
|
|
345
|
+
inUse: TNumber;
|
|
346
|
+
archived: TNumber;
|
|
347
|
+
kinds: TNumber;
|
|
348
|
+
recurring: TNumber;
|
|
349
|
+
shelved: TNumber;
|
|
350
|
+
corrections: TNumber;
|
|
351
|
+
held: TNumber;
|
|
352
|
+
spentUsd: TNumber;
|
|
353
|
+
weeklyBudgetUsd: Type.TUnion<[TNumber, Type.TNull]>;
|
|
354
|
+
}>;
|
|
355
|
+
/** A change the loop kept, archived or in use. */
|
|
356
|
+
export declare const LoopChangeSchema: TObject<{
|
|
357
|
+
id: Type.TString;
|
|
358
|
+
added: Type.TString;
|
|
359
|
+
kind: Type.TString;
|
|
360
|
+
archived: Type.TBoolean;
|
|
361
|
+
text: Type.TString;
|
|
362
|
+
}>;
|
|
363
|
+
/** A kind of correction the owner made in enough sessions to be asked whether the loop learns from it. */
|
|
364
|
+
export declare const CorrectionKindSchema: TObject<{
|
|
365
|
+
key: Type.TString;
|
|
366
|
+
sessions: TNumber;
|
|
367
|
+
examples: TArray<Type.TString>;
|
|
368
|
+
}>;
|
|
369
|
+
/** A change the audit held for the owner to approve, which is still tested before it is kept, or refuse. */
|
|
370
|
+
export declare const HeldChangeSchema: TObject<{
|
|
371
|
+
id: Type.TString;
|
|
372
|
+
failure: Type.TString;
|
|
373
|
+
kind: Type.TString;
|
|
374
|
+
skill: Type.TOptional<Type.TString>;
|
|
375
|
+
text: Type.TString;
|
|
376
|
+
prediction: Type.TString;
|
|
377
|
+
reasons: TArray<Type.TString>;
|
|
378
|
+
}>;
|
|
379
|
+
/** How the loop runs: none runs without a weekly budget; models as `provider/model`. */
|
|
380
|
+
export declare const LoopSettingsSchema: TObject<{
|
|
381
|
+
weeklyBudgetUsd: Type.TUnion<[TNumber, Type.TNull]>;
|
|
382
|
+
regularModel: Type.TUnion<[Type.TString, Type.TNull]>;
|
|
383
|
+
strongModel: Type.TUnion<[Type.TString, Type.TNull]>;
|
|
384
|
+
holdForReview: Type.TBoolean;
|
|
385
|
+
}>;
|
|
386
|
+
export type LoopStanding = Static<typeof LoopStandingSchema>;
|
|
387
|
+
export type LoopChange = Static<typeof LoopChangeSchema>;
|
|
388
|
+
export type CorrectionKind = Static<typeof CorrectionKindSchema>;
|
|
389
|
+
export type HeldChange = Static<typeof HeldChangeSchema>;
|
|
390
|
+
export type LoopSettings = Static<typeof LoopSettingsSchema>;
|
|
391
|
+
declare const LoopChanges: TArray<TObject<{
|
|
392
|
+
id: Type.TString;
|
|
393
|
+
added: Type.TString;
|
|
394
|
+
kind: Type.TString;
|
|
395
|
+
archived: Type.TBoolean;
|
|
396
|
+
text: Type.TString;
|
|
397
|
+
}>>;
|
|
398
|
+
declare const CorrectionKinds: TArray<TObject<{
|
|
399
|
+
key: Type.TString;
|
|
400
|
+
sessions: TNumber;
|
|
401
|
+
examples: TArray<Type.TString>;
|
|
402
|
+
}>>;
|
|
403
|
+
declare const HeldChanges: TArray<TObject<{
|
|
404
|
+
id: Type.TString;
|
|
405
|
+
failure: Type.TString;
|
|
406
|
+
kind: Type.TString;
|
|
407
|
+
skill: Type.TOptional<Type.TString>;
|
|
408
|
+
text: Type.TString;
|
|
409
|
+
prediction: Type.TString;
|
|
410
|
+
reasons: TArray<Type.TString>;
|
|
411
|
+
}>>;
|
|
412
|
+
declare const SettingsChange: TObject<{
|
|
413
|
+
weeklyBudgetUsd: Type.TOptional<Type.TUnion<[TNumber, Type.TNull]>>;
|
|
414
|
+
regularModel: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
415
|
+
strongModel: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
|
|
416
|
+
holdForReview: Type.TOptional<Type.TBoolean>;
|
|
417
|
+
}>;
|
|
418
|
+
declare const UndoArgs: TObject<{
|
|
419
|
+
id: Type.TString;
|
|
420
|
+
}>;
|
|
421
|
+
declare const AnswerArgs: TObject<{
|
|
422
|
+
key: Type.TString;
|
|
423
|
+
learn: Type.TBoolean;
|
|
424
|
+
}>;
|
|
425
|
+
declare const DecideArgs: TObject<{
|
|
426
|
+
id: Type.TString;
|
|
427
|
+
approve: Type.TBoolean;
|
|
428
|
+
}>;
|
|
429
|
+
/**
|
|
430
|
+
* The owner's RSI loop: what it learned and spent, and the decisions it waits on. Only clients reach it; the agent
|
|
431
|
+
* has no tool for it, so it never approves its own changes.
|
|
432
|
+
*/
|
|
433
|
+
export declare const Loop: import("@earendil-works/chord").RemoteContract<{
|
|
434
|
+
readonly version: 1;
|
|
435
|
+
readonly input: TObject<{}>;
|
|
436
|
+
readonly host: import("@earendil-works/chord").HostNamed;
|
|
437
|
+
readonly variants: {
|
|
438
|
+
owner: {
|
|
439
|
+
state: {};
|
|
440
|
+
methods: {
|
|
441
|
+
standing: Query<undefined, typeof LoopStandingSchema>;
|
|
442
|
+
changes: Query<undefined, typeof LoopChanges>;
|
|
443
|
+
/** Archives a change in use, named by its id or a prefix of it, so new conversations run without it. */
|
|
444
|
+
undo: Call<typeof UndoArgs>;
|
|
445
|
+
corrections: Query<undefined, typeof CorrectionKinds>;
|
|
446
|
+
/** Learns from every correction of a kind, or dismisses them all. */
|
|
447
|
+
answer: Call<typeof AnswerArgs>;
|
|
448
|
+
held: Query<undefined, typeof HeldChanges>;
|
|
449
|
+
decide: Call<typeof DecideArgs>;
|
|
450
|
+
settings: Query<undefined, typeof LoopSettingsSchema>;
|
|
451
|
+
/** Changes the settings given, a null clearing one; answers with all of them. */
|
|
452
|
+
setSettings: Query<typeof SettingsChange, typeof LoopSettingsSchema>;
|
|
453
|
+
};
|
|
454
|
+
};
|
|
455
|
+
};
|
|
456
|
+
}>;
|
|
457
|
+
/** The loop a service's owner is answered from; an action refused says why, and nothing else of it fails that way. */
|
|
458
|
+
export interface LoopControl {
|
|
459
|
+
standing(): Promise<LoopStanding>;
|
|
460
|
+
changes(): Promise<LoopChange[]>;
|
|
461
|
+
undo(id: string): Promise<string | undefined>;
|
|
462
|
+
corrections(): Promise<CorrectionKind[]>;
|
|
463
|
+
answer(key: string, learn: boolean): Promise<string | undefined>;
|
|
464
|
+
held(): Promise<HeldChange[]>;
|
|
465
|
+
decide(id: string, approve: boolean): Promise<string | undefined>;
|
|
466
|
+
settings(): Promise<LoopSettings>;
|
|
467
|
+
setSettings(change: Partial<LoopSettings>): Promise<LoopSettings>;
|
|
468
|
+
}
|
|
177
469
|
export interface ConnectOptions {
|
|
178
470
|
/** A credential sent as a bearer header, kept out of the address and so out of any proxy's logs; not in browsers. */
|
|
179
471
|
token?: string;
|
package/dist/protocol.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { createHost, hostNamed, isChordError, method, remote, webSocketLink } from "@earendil-works/chord";
|
|
2
2
|
import { Type } from "typebox";
|
|
3
|
-
import { unansweredText } from "./acp.js";
|
|
4
3
|
import { backoff } from "./backoff.js";
|
|
5
4
|
export const HOST = "chopin";
|
|
6
5
|
/** What a conversation may do: `read` admits only tools that change nothing; `full` admits every tool. */
|
|
@@ -21,10 +20,33 @@ export function lastFailure(submissions) {
|
|
|
21
20
|
const outcome = latest === undefined ? undefined : submissions[String(latest)];
|
|
22
21
|
return outcome?.status === "unanswered" && outcome.reason !== "aborted" ? unansweredText(outcome) : undefined;
|
|
23
22
|
}
|
|
23
|
+
/** Why a submission got no answer, with the harness's detail, such as the provider's own message, when it gave one. */
|
|
24
|
+
export function unansweredText(settled) {
|
|
25
|
+
const detail = detailText(settled.detail);
|
|
26
|
+
return detail === undefined ? settled.reason : `${settled.reason}: ${detail}`;
|
|
27
|
+
}
|
|
28
|
+
/** The detail the harness gave with an unanswered submission, as text. */
|
|
29
|
+
export function detailText(detail) {
|
|
30
|
+
return detail === undefined ? undefined : typeof detail === "string" ? detail : JSON.stringify(detail);
|
|
31
|
+
}
|
|
24
32
|
const ForkArgs = Type.Object({ conversation: Type.Number(), at: Type.Number() });
|
|
25
|
-
/**
|
|
33
|
+
/** The largest image a message may carry, before it is encoded. */
|
|
34
|
+
export const IMAGE_MAX_BYTES = 5 * 1024 * 1024;
|
|
35
|
+
/** An image a message carries, in a format models take, as base64. */
|
|
36
|
+
export const ImageSchema = Type.Object({
|
|
37
|
+
data: Type.String({ minLength: 1, maxLength: 4 * Math.ceil(IMAGE_MAX_BYTES / 3) }),
|
|
38
|
+
mimeType: Type.Union([Type.Literal("image/png"), Type.Literal("image/jpeg"), Type.Literal("image/gif"), Type.Literal("image/webp")]),
|
|
39
|
+
});
|
|
40
|
+
/** The most images one message may carry. */
|
|
41
|
+
export const IMAGES_MAX = 20;
|
|
42
|
+
const Images = Type.Array(ImageSchema, { maxItems: IMAGES_MAX });
|
|
43
|
+
/**
|
|
44
|
+
* A message says something, shows something, or both. `request`, chosen by the client, makes sending the same message
|
|
45
|
+
* again harmless: it is admitted once.
|
|
46
|
+
*/
|
|
26
47
|
const SubmitArgs = Type.Object({
|
|
27
|
-
text: Type.String(
|
|
48
|
+
text: Type.String(),
|
|
49
|
+
images: Type.Optional(Images),
|
|
28
50
|
steer: Type.Optional(Type.Boolean()),
|
|
29
51
|
request: Type.Optional(Type.String({ minLength: 1 })),
|
|
30
52
|
});
|
|
@@ -33,6 +55,14 @@ const ModeArgs = Type.Object({ mode: ModeSchema });
|
|
|
33
55
|
const ModelArgs = Type.Object({ provider: Type.String({ minLength: 1 }), modelId: Type.String({ minLength: 1 }) });
|
|
34
56
|
const NoArgs = Type.Object({});
|
|
35
57
|
const NameArgs = Type.Object({ name: Type.String({ maxLength: 200 }) });
|
|
58
|
+
const ContextArgs = Type.Object({ text: Type.String({ maxLength: 4_000 }) });
|
|
59
|
+
const RetryArgs = Type.Object({ text: Type.Optional(Type.String()), images: Type.Optional(Images) });
|
|
60
|
+
const ResetArgs = Type.Object({ handoff: Type.Optional(Type.String({ minLength: 1 })) });
|
|
61
|
+
/** The kind of entry `retry` writes, which leaves the entries it names out of what the model sees; they stay in the transcript. */
|
|
62
|
+
export const REWIND_KIND = "chopin.rewind";
|
|
63
|
+
const QueueArgs = Type.Object({
|
|
64
|
+
queue: Type.Array(Type.Object({ id: Type.Number(), text: Type.Optional(Type.String({ minLength: 1 })), steer: Type.Optional(Type.Boolean()) })),
|
|
65
|
+
});
|
|
36
66
|
/** A thinking level as the model library names them; the service takes only those the conversation's model has. */
|
|
37
67
|
const ThinkingArgs = Type.Object({ level: Type.String({ minLength: 1 }) });
|
|
38
68
|
const CompactArgs = Type.Object({ instructions: Type.Optional(Type.String()) });
|
|
@@ -64,6 +94,17 @@ export const SummarySchema = Type.Object({
|
|
|
64
94
|
modified: Type.Number(),
|
|
65
95
|
});
|
|
66
96
|
const Summaries = Type.Array(SummarySchema);
|
|
97
|
+
/** A model the owner's agent can use now, with what a client shows to pick it. */
|
|
98
|
+
export const ModelChoiceSchema = Type.Object({
|
|
99
|
+
provider: Type.String(),
|
|
100
|
+
modelId: Type.String(),
|
|
101
|
+
name: Type.String(),
|
|
102
|
+
contextWindow: Type.Number(),
|
|
103
|
+
images: Type.Boolean(),
|
|
104
|
+
thinkingLevels: Type.Array(Type.String()),
|
|
105
|
+
});
|
|
106
|
+
/** The models the owner can use now, those whose providers have credentials, and the one a new conversation takes. */
|
|
107
|
+
export const ModelChoicesSchema = Type.Object({ models: Type.Array(ModelChoiceSchema), current: Type.Union([ModelArgs, Type.Null()]) });
|
|
67
108
|
/** An owner's conversations. */
|
|
68
109
|
export const Conversations = remote("chopin.conversations", {
|
|
69
110
|
version: 1,
|
|
@@ -78,6 +119,8 @@ export const Conversations = remote("chopin.conversations", {
|
|
|
78
119
|
loaded: method(undefined, LoadedSchema),
|
|
79
120
|
fork: method(ForkArgs, Type.Number()),
|
|
80
121
|
summaries: method(undefined, Summaries),
|
|
122
|
+
/** Asked anew each time, so a credential set a moment ago shows its provider's models. */
|
|
123
|
+
models: method(undefined, ModelChoicesSchema),
|
|
81
124
|
},
|
|
82
125
|
},
|
|
83
126
|
},
|
|
@@ -108,16 +151,146 @@ export const Conversation = remote("chopin.conversation", {
|
|
|
108
151
|
transcript: method(NoArgs, Type.Array(Type.Unknown())),
|
|
109
152
|
/** Takes back every message still queued, answering with their texts in the order they were sent. */
|
|
110
153
|
withdraw: method(NoArgs, Texts),
|
|
154
|
+
/**
|
|
155
|
+
* Arranges the messages still queued as listed, by their submission ids: in that order, each as it was, with new
|
|
156
|
+
* text, or to steer the turn under way; one left out is taken back. One the agent took up meanwhile stays sent,
|
|
157
|
+
* listed or not. A message put again is a new submission under a new id, as the queue in the view shows.
|
|
158
|
+
*/
|
|
159
|
+
requeue: method(QueueArgs),
|
|
160
|
+
/**
|
|
161
|
+
* Asks the latest message again, once the agent has stopped: as it was, or as what is given, which replaces it
|
|
162
|
+
* whole, its images included. The model no longer sees that message or anything after it.
|
|
163
|
+
*/
|
|
164
|
+
retry: method(RetryArgs, Type.Number()),
|
|
165
|
+
/** Starts the model on a fresh context, with a note to carry over if given; the transcript keeps everything. */
|
|
166
|
+
reset: method(ResetArgs),
|
|
111
167
|
abort: method(NoArgs),
|
|
112
168
|
setMode: method(ModeArgs),
|
|
113
169
|
setModel: method(ModelArgs),
|
|
114
170
|
setName: method(NameArgs),
|
|
171
|
+
/** What the client shows its user now, such as the page they are on; the model reads it before each request. */
|
|
172
|
+
setContext: method(ContextArgs),
|
|
115
173
|
setThinking: method(ThinkingArgs),
|
|
116
174
|
compact: method(CompactArgs),
|
|
117
175
|
},
|
|
118
176
|
},
|
|
119
177
|
},
|
|
120
178
|
});
|
|
179
|
+
/** A provider the owner holds a credential for, and its kind; never the secret. */
|
|
180
|
+
export const CredentialSchema = Type.Object({ provider: Type.String(), type: Type.Union([Type.Literal("api_key"), Type.Literal("oauth")]) });
|
|
181
|
+
const CredentialList = Type.Array(CredentialSchema);
|
|
182
|
+
const KeyArgs = Type.Object({ provider: Type.String({ minLength: 1 }), key: Type.String({ minLength: 1 }) });
|
|
183
|
+
const ProviderArgs = Type.Object({ provider: Type.String({ minLength: 1 }) });
|
|
184
|
+
/**
|
|
185
|
+
* The credentials an owner's agent reaches models with, where clients may set them. Secrets only ever travel to the
|
|
186
|
+
* service, which keeps each where it keeps that owner's credentials.
|
|
187
|
+
*/
|
|
188
|
+
export const Credentials = remote("chopin.credentials", {
|
|
189
|
+
version: 1,
|
|
190
|
+
input: Type.Object({}),
|
|
191
|
+
host: hostNamed(HOST),
|
|
192
|
+
variants: {
|
|
193
|
+
owner: {
|
|
194
|
+
state: { providers: CredentialList },
|
|
195
|
+
methods: {
|
|
196
|
+
setKey: method(KeyArgs),
|
|
197
|
+
remove: method(ProviderArgs),
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
/** An MCP server a client set, and how many tools it offers, or why it offers none yet; never its headers. */
|
|
203
|
+
export const McpServerSchema = Type.Object({ name: Type.String(), url: Type.String(), tools: Type.Number(), error: Type.Optional(Type.String()) });
|
|
204
|
+
const McpServerName = Type.String({ pattern: "^[A-Za-z0-9_-]{1,32}$" });
|
|
205
|
+
const McpArgs = Type.Object({ name: McpServerName, url: Type.String({ minLength: 1 }), headers: Type.Optional(Type.Record(Type.String(), Type.String())) });
|
|
206
|
+
const McpNameArgs = Type.Object({ name: McpServerName });
|
|
207
|
+
/**
|
|
208
|
+
* The MCP servers an owner's clients set, on top of the layer's: kept in memory alone, headers and all, so a client
|
|
209
|
+
* sets them again once the service restarts. Setting one by a name already set replaces it, its headers included.
|
|
210
|
+
*/
|
|
211
|
+
export const Mcp = remote("chopin.mcp", {
|
|
212
|
+
version: 1,
|
|
213
|
+
input: Type.Object({}),
|
|
214
|
+
host: hostNamed(HOST),
|
|
215
|
+
variants: {
|
|
216
|
+
owner: {
|
|
217
|
+
state: { servers: Type.Array(McpServerSchema) },
|
|
218
|
+
methods: {
|
|
219
|
+
set: method(McpArgs),
|
|
220
|
+
remove: method(McpNameArgs),
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
/** Where the RSI loop stands: the layer version in use, the failures it knows, what waits for the owner, what it spent. */
|
|
226
|
+
export const LoopStandingSchema = Type.Object({
|
|
227
|
+
version: Type.Number(),
|
|
228
|
+
inUse: Type.Number(),
|
|
229
|
+
archived: Type.Number(),
|
|
230
|
+
kinds: Type.Number(),
|
|
231
|
+
recurring: Type.Number(),
|
|
232
|
+
shelved: Type.Number(),
|
|
233
|
+
corrections: Type.Number(),
|
|
234
|
+
held: Type.Number(),
|
|
235
|
+
spentUsd: Type.Number(),
|
|
236
|
+
weeklyBudgetUsd: Type.Union([Type.Number(), Type.Null()]),
|
|
237
|
+
});
|
|
238
|
+
/** A change the loop kept, archived or in use. */
|
|
239
|
+
export const LoopChangeSchema = Type.Object({ id: Type.String(), added: Type.String(), kind: Type.String(), archived: Type.Boolean(), text: Type.String() });
|
|
240
|
+
/** A kind of correction the owner made in enough sessions to be asked whether the loop learns from it. */
|
|
241
|
+
export const CorrectionKindSchema = Type.Object({ key: Type.String(), sessions: Type.Number(), examples: Type.Array(Type.String()) });
|
|
242
|
+
/** A change the audit held for the owner to approve, which is still tested before it is kept, or refuse. */
|
|
243
|
+
export const HeldChangeSchema = Type.Object({
|
|
244
|
+
id: Type.String(),
|
|
245
|
+
failure: Type.String(),
|
|
246
|
+
kind: Type.String(),
|
|
247
|
+
skill: Type.Optional(Type.String()),
|
|
248
|
+
text: Type.String(),
|
|
249
|
+
prediction: Type.String(),
|
|
250
|
+
reasons: Type.Array(Type.String()),
|
|
251
|
+
});
|
|
252
|
+
/** How the loop runs: none runs without a weekly budget; models as `provider/model`. */
|
|
253
|
+
export const LoopSettingsSchema = Type.Object({
|
|
254
|
+
weeklyBudgetUsd: Type.Union([Type.Number({ minimum: 0 }), Type.Null()]),
|
|
255
|
+
regularModel: Type.Union([Type.String({ minLength: 1 }), Type.Null()]),
|
|
256
|
+
strongModel: Type.Union([Type.String({ minLength: 1 }), Type.Null()]),
|
|
257
|
+
holdForReview: Type.Boolean(),
|
|
258
|
+
});
|
|
259
|
+
const LoopChanges = Type.Array(LoopChangeSchema);
|
|
260
|
+
const CorrectionKinds = Type.Array(CorrectionKindSchema);
|
|
261
|
+
const HeldChanges = Type.Array(HeldChangeSchema);
|
|
262
|
+
const SettingsChange = Type.Partial(LoopSettingsSchema);
|
|
263
|
+
const UndoArgs = Type.Object({ id: Type.String({ minLength: 1 }) });
|
|
264
|
+
const AnswerArgs = Type.Object({ key: Type.String({ minLength: 1 }), learn: Type.Boolean() });
|
|
265
|
+
const DecideArgs = Type.Object({ id: Type.String({ minLength: 1 }), approve: Type.Boolean() });
|
|
266
|
+
/**
|
|
267
|
+
* The owner's RSI loop: what it learned and spent, and the decisions it waits on. Only clients reach it; the agent
|
|
268
|
+
* has no tool for it, so it never approves its own changes.
|
|
269
|
+
*/
|
|
270
|
+
export const Loop = remote("chopin.loop", {
|
|
271
|
+
version: 1,
|
|
272
|
+
input: Type.Object({}),
|
|
273
|
+
host: hostNamed(HOST),
|
|
274
|
+
variants: {
|
|
275
|
+
owner: {
|
|
276
|
+
state: {},
|
|
277
|
+
methods: {
|
|
278
|
+
standing: method(undefined, LoopStandingSchema),
|
|
279
|
+
changes: method(undefined, LoopChanges),
|
|
280
|
+
/** Archives a change in use, named by its id or a prefix of it, so new conversations run without it. */
|
|
281
|
+
undo: method(UndoArgs),
|
|
282
|
+
corrections: method(undefined, CorrectionKinds),
|
|
283
|
+
/** Learns from every correction of a kind, or dismisses them all. */
|
|
284
|
+
answer: method(AnswerArgs),
|
|
285
|
+
held: method(undefined, HeldChanges),
|
|
286
|
+
decide: method(DecideArgs),
|
|
287
|
+
settings: method(undefined, LoopSettingsSchema),
|
|
288
|
+
/** Changes the settings given, a null clearing one; answers with all of them. */
|
|
289
|
+
setSettings: method(SettingsChange, LoopSettingsSchema),
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
},
|
|
293
|
+
});
|
|
121
294
|
/**
|
|
122
295
|
* A client host connected to the agent service at `url`, which carries the client's credential. A link that drops
|
|
123
296
|
* is dialled again, waiting longer each time, until the host is closed; references come back live once the service
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAiC,MAAM,uBAAuB,CAAC;AAC1I,OAAO,EAAE,IAAI,EAAqF,MAAM,SAAS,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAWvC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;AAE7B,0GAA0G;AAC1G,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,KAAK,GAAoB,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;CACjH,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,WAAsE;IAChG,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,OAAO,OAAO,EAAE,MAAM,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChH,CAAC;AAKD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjF,2GAA2G;AAC3G,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACpC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;CACtD,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AACnD,4EAA4E;AAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACxE,mHAAmH;AACnH,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAChF,2FAA2F;AAC3F,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACnH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAExC,qGAAqG;AACrG,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE;IACX,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;CACzF,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;IACtC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE;IAC5B,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CACtC,CAAC,CAAC;AAGH,uGAAuG;AACvG,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAE5C,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,sBAAsB,EAAE;IAC1D,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;YACzC,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAA8B;gBACrE,6GAA6G;gBAC7G,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAA0C;gBAChF,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAoC;gBACxE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAuC;aAC9E;SACF;KACF;CACF,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,qBAAqB,EAAE;IACxD,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IACnD,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;gBACpB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACnB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC;gBACzD,OAAO,EAAE,aAAa;aACvB;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAsC;gBAC9E,oFAAoF;gBACpF,KAAK,EAAE,MAAM,CAAC,SAAS,CAA2B;gBAClD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAsB;gBAChD,+FAA+F;gBAC/F,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAyC;gBAC9F,qGAAqG;gBACrG,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAqC;gBACnE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAsB;gBAC1C,OAAO,EAAE,MAAM,CAAC,QAAQ,CAA0B;gBAClD,QAAQ,EAAE,MAAM,CAAC,SAAS,CAA2B;gBACrD,OAAO,EAAE,MAAM,CAAC,QAAQ,CAA0B;gBAClD,WAAW,EAAE,MAAM,CAAC,YAAY,CAA8B;gBAC9D,OAAO,EAAE,MAAM,CAAC,WAAW,CAA6B;aACzD;SACF;KACF;CACF,CAAC,CAAC;AASH;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,GAAiB,EAAE,OAAO,GAAmB,EAAE;IACrE,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClG,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,MAAiD,CAAC;IACtD,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YACvB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/F,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAqD,EAAE,EAAE;QACrF,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,oEAAoE;QACpE,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9H,IAAI,MAA0B,CAAC;QAC/B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,OAAO;gBAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC1E,KAAK,EAAE,CAAC;QACV,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,GAAG,KAAK,CAAC;QACb,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mGAAmG;AACnG,MAAM,OAAO,GAAG,KAAK,CAAC;AAEtB,qFAAqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAEtC,gEAAgE;AAChE,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAsB;QAChC,KAAK,CAAC,0CAA0C,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF;AASD,6GAA6G;AAC7G,MAAM,UAAU,IAAI,CAAI,IAAU,EAAE,IAA8B,EAAE,OAAO,GAAgB,EAAE;IAC3F,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAID,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,IAAU,EAAE,YAAoB,EAAE,OAAO,GAAgB,EAAE;IAC1F,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC3F,CAAC;AAYD,MAAM,UAAU,QAAQ,CAAC,IAAU,EAAE,OAAO,GAAgB,EAAE;IAC5D,IAAI,IAA2C,CAAC;IAChD,IAAI,OAAuD,CAAC;IAC5D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO;QACL,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,QAAQ;gBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACxE,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9G,IAAI,EAAE,OAAO,EAAE,CAAC;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,OAAO,KAAK,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAC/C,CAAC,IAAI,EAAE,EAAE;gBACP,OAAO,GAAG,SAAS,CAAC;gBACpB,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;gBACjB,OAAO,GAAG,SAAS,CAAC;gBACpB,MAAM,KAAK,CAAC;YACd,CAAC,CACF,CAAC;YACF,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,EAAE,OAAO,EAAE,CAAC;YAChB,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAS,WAAW,CAAI,OAAmB,EAAE,MAAmB;IAC9D,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,KAAK,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uGAAuG;AACvG,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,IAAiE,EACjE,OAAO,GAAgB,EAAE;IAEzB,+GAA+G;IAC/G,2BAA2B;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAChD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAC1F,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACjG,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,iBAAiB,CAAC,IAAU,EAAE,OAAO,GAAgB,EAAE;IACrE,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,KAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtJ,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAY,EAAE;QAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,YAAY,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,6GAA6G;QAC7G,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1G,MAAM,OAAO,GAAG,OAAO,YAAY,cAAc,CAAC,CAAC,CAAE,OAAO,CAAC,MAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5E,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,OAAO,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,OAAO,CAAC,GAA0D;IAChF,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,QAAQ;IACtB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ;IACtB,IAAI,MAAqD,CAAC;IAC1D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpE,MAAM,GAAG,SAAS,CAAC;QACnB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC9C,MAAM,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,iHAAiH;AACjH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAI,OAAoB,EAAE,IAAyC;IAC7F,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC;QACH,SAAS,CAAC;YACR,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4GAA4G;gBAC5G,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACjH,MAAM,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,4DAA4D;AAC5D,SAAS,KAAK,CAAC,EAAU,EAAE,MAAmB;IAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|