@adaptiqai/deepseek-harness 0.2.6 → 0.2.12
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 +13 -9
- package/lib/client.js +4 -4
- package/lib/host.js +6281 -0
- package/lib/index.js +78 -4857
- package/lib/typert.host.js +54 -18
- package/lib/typert.remote-client.js +40 -18
- package/lib/types/client/Chips.d.ts +2 -0
- package/lib/types/client/Extras.d.ts +0 -6
- package/lib/types/client/Knowledge.d.ts +26 -0
- package/lib/types/client/Overlay.d.ts +13 -1
- package/lib/types/client/SettingsPage.d.ts +9 -0
- package/lib/types/client/Update.d.ts +48 -0
- package/lib/types/client/actions.d.ts +6 -0
- package/lib/types/client/attach.d.ts +62 -9
- package/lib/types/client/store.d.ts +2 -0
- package/lib/types/host/adapter.d.ts +22 -5
- package/lib/types/host/commands.d.ts +3 -0
- package/lib/types/host/controller.d.ts +6 -0
- package/lib/types/host/entry.d.ts +29 -0
- package/lib/types/host/index.d.ts +15 -1
- package/lib/types/host/relations.d.ts +23 -0
- package/lib/types/host/release-age.d.ts +57 -0
- package/lib/types/host/stream.d.ts +3 -1
- package/lib/types/host/tools.d.ts +1 -1
- package/lib/types/host/updater.d.ts +43 -0
- package/lib/types/host/wire.d.ts +31 -2
- package/package.json +11 -10
package/lib/typert.host.js
CHANGED
|
@@ -128,6 +128,28 @@ export const TYPERT = {
|
|
|
128
128
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/dismissNotice:result", "void", false),
|
|
129
129
|
sourceLocation: { file: 'src/host/controller.ts', line: 8, column: 1 },
|
|
130
130
|
},
|
|
131
|
+
{
|
|
132
|
+
id: "@adaptiqai/deepseek-harness#adaptiq/updatePlugin",
|
|
133
|
+
service: "adaptiqController",
|
|
134
|
+
namespace: "adaptiq",
|
|
135
|
+
method: "updatePlugin",
|
|
136
|
+
invocation: { kind: 'direct' },
|
|
137
|
+
parameters: [
|
|
138
|
+
],
|
|
139
|
+
result: codec("@adaptiqai/deepseek-harness#adaptiq/updatePlugin:result", "void", false),
|
|
140
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 9, column: 1 },
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
id: "@adaptiqai/deepseek-harness#adaptiq/activateUpdate",
|
|
144
|
+
service: "adaptiqController",
|
|
145
|
+
namespace: "adaptiq",
|
|
146
|
+
method: "activateUpdate",
|
|
147
|
+
invocation: { kind: 'direct' },
|
|
148
|
+
parameters: [
|
|
149
|
+
],
|
|
150
|
+
result: codec("@adaptiqai/deepseek-harness#adaptiq/activateUpdate:result", "void", false),
|
|
151
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 10, column: 1 },
|
|
152
|
+
},
|
|
131
153
|
{
|
|
132
154
|
id: "@adaptiqai/deepseek-harness#adaptiq/getSession",
|
|
133
155
|
service: "adaptiqController",
|
|
@@ -138,7 +160,7 @@ export const TYPERT = {
|
|
|
138
160
|
{ name: "sessionId", wire: "sessionId", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/getSession:sessionId", "string", false) },
|
|
139
161
|
],
|
|
140
162
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/getSession:result", "object", false),
|
|
141
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
163
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 11, column: 1 },
|
|
142
164
|
},
|
|
143
165
|
{
|
|
144
166
|
id: "@adaptiqai/deepseek-harness#adaptiq/watchSession",
|
|
@@ -152,7 +174,7 @@ export const TYPERT = {
|
|
|
152
174
|
],
|
|
153
175
|
cancellation: { parameter: 'signal' },
|
|
154
176
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/watchSession:result", "object", false),
|
|
155
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
177
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 12, column: 1 },
|
|
156
178
|
},
|
|
157
179
|
{
|
|
158
180
|
id: "@adaptiqai/deepseek-harness#adaptiq/setRemember",
|
|
@@ -165,7 +187,7 @@ export const TYPERT = {
|
|
|
165
187
|
{ name: "remember", wire: "remember", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/setRemember:remember", "boolean", false) },
|
|
166
188
|
],
|
|
167
189
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/setRemember:result", "object", false),
|
|
168
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
190
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 13, column: 1 },
|
|
169
191
|
},
|
|
170
192
|
{
|
|
171
193
|
id: "@adaptiqai/deepseek-harness#adaptiq/setSessionModel",
|
|
@@ -179,7 +201,7 @@ export const TYPERT = {
|
|
|
179
201
|
{ name: "lastUsed", wire: "lastUsed", source: 'json', acceptsUndefined: true, codec: codec("@adaptiqai/deepseek-harness#adaptiq/setSessionModel:lastUsed", "string", true) },
|
|
180
202
|
],
|
|
181
203
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/setSessionModel:result", "object", false),
|
|
182
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
204
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 14, column: 1 },
|
|
183
205
|
},
|
|
184
206
|
{
|
|
185
207
|
id: "@adaptiqai/deepseek-harness#adaptiq/listKnowledge",
|
|
@@ -194,7 +216,7 @@ export const TYPERT = {
|
|
|
194
216
|
{ name: "model", wire: "model", source: 'json', acceptsUndefined: true, codec: codec("@adaptiqai/deepseek-harness#adaptiq/listKnowledge:model", "string", true) },
|
|
195
217
|
],
|
|
196
218
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/listKnowledge:result", "object", false),
|
|
197
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
219
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 15, column: 1 },
|
|
198
220
|
},
|
|
199
221
|
{
|
|
200
222
|
id: "@adaptiqai/deepseek-harness#adaptiq/attachKnowledge",
|
|
@@ -207,7 +229,7 @@ export const TYPERT = {
|
|
|
207
229
|
{ name: "id", wire: "id", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/attachKnowledge:id", "string", false) },
|
|
208
230
|
],
|
|
209
231
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/attachKnowledge:result", "object", false),
|
|
210
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
232
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 16, column: 1 },
|
|
211
233
|
},
|
|
212
234
|
{
|
|
213
235
|
id: "@adaptiqai/deepseek-harness#adaptiq/detachKnowledge",
|
|
@@ -220,7 +242,7 @@ export const TYPERT = {
|
|
|
220
242
|
{ name: "id", wire: "id", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/detachKnowledge:id", "string", false) },
|
|
221
243
|
],
|
|
222
244
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/detachKnowledge:result", "object", false),
|
|
223
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
245
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 17, column: 1 },
|
|
224
246
|
},
|
|
225
247
|
{
|
|
226
248
|
id: "@adaptiqai/deepseek-harness#adaptiq/makeKnowledgeAvailable",
|
|
@@ -234,7 +256,7 @@ export const TYPERT = {
|
|
|
234
256
|
{ name: "sessionId", wire: "sessionId", source: 'json', acceptsUndefined: true, codec: codec("@adaptiqai/deepseek-harness#adaptiq/makeKnowledgeAvailable:sessionId", "string", true) },
|
|
235
257
|
],
|
|
236
258
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/makeKnowledgeAvailable:result", "object", false),
|
|
237
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
259
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 18, column: 1 },
|
|
238
260
|
},
|
|
239
261
|
{
|
|
240
262
|
id: "@adaptiqai/deepseek-harness#adaptiq/createKnowledge",
|
|
@@ -246,7 +268,7 @@ export const TYPERT = {
|
|
|
246
268
|
{ name: "input", wire: "input", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/createKnowledge:input", "object", false) },
|
|
247
269
|
],
|
|
248
270
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/createKnowledge:result", "object", false),
|
|
249
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
271
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 19, column: 1 },
|
|
250
272
|
},
|
|
251
273
|
{
|
|
252
274
|
id: "@adaptiqai/deepseek-harness#adaptiq/startPurchase",
|
|
@@ -259,7 +281,7 @@ export const TYPERT = {
|
|
|
259
281
|
{ name: "lanes", wire: "lanes", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/startPurchase:lanes", "number", false) },
|
|
260
282
|
],
|
|
261
283
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/startPurchase:result", "object", false),
|
|
262
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
284
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 20, column: 1 },
|
|
263
285
|
},
|
|
264
286
|
{
|
|
265
287
|
id: "@adaptiqai/deepseek-harness#adaptiq/checkPurchase",
|
|
@@ -270,7 +292,7 @@ export const TYPERT = {
|
|
|
270
292
|
parameters: [
|
|
271
293
|
],
|
|
272
294
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/checkPurchase:result", "void", false),
|
|
273
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
295
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 21, column: 1 },
|
|
274
296
|
},
|
|
275
297
|
{
|
|
276
298
|
id: "@adaptiqai/deepseek-harness#adaptiq/cancelPurchase",
|
|
@@ -281,7 +303,7 @@ export const TYPERT = {
|
|
|
281
303
|
parameters: [
|
|
282
304
|
],
|
|
283
305
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/cancelPurchase:result", "void", false),
|
|
284
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
306
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 22, column: 1 },
|
|
285
307
|
},
|
|
286
308
|
{
|
|
287
309
|
id: "@adaptiqai/deepseek-harness#adaptiq/dismissPurchase",
|
|
@@ -292,7 +314,7 @@ export const TYPERT = {
|
|
|
292
314
|
parameters: [
|
|
293
315
|
],
|
|
294
316
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/dismissPurchase:result", "void", false),
|
|
295
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
317
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 23, column: 1 },
|
|
296
318
|
},
|
|
297
319
|
{
|
|
298
320
|
id: "@adaptiqai/deepseek-harness#adaptiq/listConversations",
|
|
@@ -306,7 +328,7 @@ export const TYPERT = {
|
|
|
306
328
|
{ name: "cursor", wire: "cursor", source: 'json', acceptsUndefined: true, codec: codec("@adaptiqai/deepseek-harness#adaptiq/listConversations:cursor", "string", true) },
|
|
307
329
|
],
|
|
308
330
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/listConversations:result", "object", false),
|
|
309
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
331
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 24, column: 1 },
|
|
310
332
|
},
|
|
311
333
|
{
|
|
312
334
|
id: "@adaptiqai/deepseek-harness#adaptiq/attachConversation",
|
|
@@ -319,7 +341,7 @@ export const TYPERT = {
|
|
|
319
341
|
{ name: "conversationId", wire: "conversationId", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/attachConversation:conversationId", "string", false) },
|
|
320
342
|
],
|
|
321
343
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/attachConversation:result", "object", false),
|
|
322
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
344
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 25, column: 1 },
|
|
323
345
|
},
|
|
324
346
|
{
|
|
325
347
|
id: "@adaptiqai/deepseek-harness#adaptiq/detachConversation",
|
|
@@ -332,7 +354,7 @@ export const TYPERT = {
|
|
|
332
354
|
{ name: "conversationId", wire: "conversationId", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/detachConversation:conversationId", "string", false) },
|
|
333
355
|
],
|
|
334
356
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/detachConversation:result", "object", false),
|
|
335
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
357
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 26, column: 1 },
|
|
336
358
|
},
|
|
337
359
|
{
|
|
338
360
|
id: "@adaptiqai/deepseek-harness#adaptiq/openExternal",
|
|
@@ -344,7 +366,7 @@ export const TYPERT = {
|
|
|
344
366
|
{ name: "url", wire: "url", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/openExternal:url", "string", false) },
|
|
345
367
|
],
|
|
346
368
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/openExternal:result", "boolean", false),
|
|
347
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
369
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 27, column: 1 },
|
|
348
370
|
},
|
|
349
371
|
{
|
|
350
372
|
id: "@adaptiqai/deepseek-harness#adaptiq/diagnostics",
|
|
@@ -355,7 +377,7 @@ export const TYPERT = {
|
|
|
355
377
|
parameters: [
|
|
356
378
|
],
|
|
357
379
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/diagnostics:result", "object", false),
|
|
358
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
380
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 28, column: 1 },
|
|
359
381
|
},
|
|
360
382
|
],
|
|
361
383
|
model: {
|
|
@@ -424,6 +446,20 @@ export const TYPERT = {
|
|
|
424
446
|
"summary": "Take one notice down.",
|
|
425
447
|
"jsDoc": "/** Take one notice down. */"
|
|
426
448
|
},
|
|
449
|
+
{
|
|
450
|
+
"kind": "method",
|
|
451
|
+
"name": "updatePlugin",
|
|
452
|
+
"signature": "@Remote updatePlugin(): Promise<void>",
|
|
453
|
+
"summary": "Install the newest published version and load it, without a restart where the harness allows.",
|
|
454
|
+
"jsDoc": "/** Install the newest published version and load it, without a restart where the harness allows. */"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"kind": "method",
|
|
458
|
+
"name": "activateUpdate",
|
|
459
|
+
"signature": "@Remote activateUpdate(): Promise<void>",
|
|
460
|
+
"summary": "Switch to the newer version already installed on disk.",
|
|
461
|
+
"jsDoc": "/** Switch to the newer version already installed on disk. */"
|
|
462
|
+
},
|
|
427
463
|
{
|
|
428
464
|
"kind": "method",
|
|
429
465
|
"name": "getSession",
|
|
@@ -126,6 +126,28 @@ export const TYPERT_REMOTE = {
|
|
|
126
126
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/dismissNotice:result", "void", false),
|
|
127
127
|
sourceLocation: { file: 'src/host/controller.ts', line: 8, column: 1 },
|
|
128
128
|
},
|
|
129
|
+
{
|
|
130
|
+
id: "@adaptiqai/deepseek-harness#adaptiq/updatePlugin",
|
|
131
|
+
service: "adaptiqController",
|
|
132
|
+
namespace: "adaptiq",
|
|
133
|
+
method: "updatePlugin",
|
|
134
|
+
invocation: { kind: 'direct' },
|
|
135
|
+
parameters: [
|
|
136
|
+
],
|
|
137
|
+
result: codec("@adaptiqai/deepseek-harness#adaptiq/updatePlugin:result", "void", false),
|
|
138
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 9, column: 1 },
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
id: "@adaptiqai/deepseek-harness#adaptiq/activateUpdate",
|
|
142
|
+
service: "adaptiqController",
|
|
143
|
+
namespace: "adaptiq",
|
|
144
|
+
method: "activateUpdate",
|
|
145
|
+
invocation: { kind: 'direct' },
|
|
146
|
+
parameters: [
|
|
147
|
+
],
|
|
148
|
+
result: codec("@adaptiqai/deepseek-harness#adaptiq/activateUpdate:result", "void", false),
|
|
149
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 10, column: 1 },
|
|
150
|
+
},
|
|
129
151
|
{
|
|
130
152
|
id: "@adaptiqai/deepseek-harness#adaptiq/getSession",
|
|
131
153
|
service: "adaptiqController",
|
|
@@ -136,7 +158,7 @@ export const TYPERT_REMOTE = {
|
|
|
136
158
|
{ name: "sessionId", wire: "sessionId", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/getSession:sessionId", "string", false) },
|
|
137
159
|
],
|
|
138
160
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/getSession:result", "object", false),
|
|
139
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
161
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 11, column: 1 },
|
|
140
162
|
},
|
|
141
163
|
{
|
|
142
164
|
id: "@adaptiqai/deepseek-harness#adaptiq/watchSession",
|
|
@@ -150,7 +172,7 @@ export const TYPERT_REMOTE = {
|
|
|
150
172
|
],
|
|
151
173
|
cancellation: { parameter: 'signal' },
|
|
152
174
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/watchSession:result", "object", false),
|
|
153
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
175
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 12, column: 1 },
|
|
154
176
|
},
|
|
155
177
|
{
|
|
156
178
|
id: "@adaptiqai/deepseek-harness#adaptiq/setRemember",
|
|
@@ -163,7 +185,7 @@ export const TYPERT_REMOTE = {
|
|
|
163
185
|
{ name: "remember", wire: "remember", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/setRemember:remember", "boolean", false) },
|
|
164
186
|
],
|
|
165
187
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/setRemember:result", "object", false),
|
|
166
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
188
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 13, column: 1 },
|
|
167
189
|
},
|
|
168
190
|
{
|
|
169
191
|
id: "@adaptiqai/deepseek-harness#adaptiq/setSessionModel",
|
|
@@ -177,7 +199,7 @@ export const TYPERT_REMOTE = {
|
|
|
177
199
|
{ name: "lastUsed", wire: "lastUsed", source: 'json', acceptsUndefined: true, codec: codec("@adaptiqai/deepseek-harness#adaptiq/setSessionModel:lastUsed", "string", true) },
|
|
178
200
|
],
|
|
179
201
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/setSessionModel:result", "object", false),
|
|
180
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
202
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 14, column: 1 },
|
|
181
203
|
},
|
|
182
204
|
{
|
|
183
205
|
id: "@adaptiqai/deepseek-harness#adaptiq/listKnowledge",
|
|
@@ -192,7 +214,7 @@ export const TYPERT_REMOTE = {
|
|
|
192
214
|
{ name: "model", wire: "model", source: 'json', acceptsUndefined: true, codec: codec("@adaptiqai/deepseek-harness#adaptiq/listKnowledge:model", "string", true) },
|
|
193
215
|
],
|
|
194
216
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/listKnowledge:result", "object", false),
|
|
195
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
217
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 15, column: 1 },
|
|
196
218
|
},
|
|
197
219
|
{
|
|
198
220
|
id: "@adaptiqai/deepseek-harness#adaptiq/attachKnowledge",
|
|
@@ -205,7 +227,7 @@ export const TYPERT_REMOTE = {
|
|
|
205
227
|
{ name: "id", wire: "id", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/attachKnowledge:id", "string", false) },
|
|
206
228
|
],
|
|
207
229
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/attachKnowledge:result", "object", false),
|
|
208
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
230
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 16, column: 1 },
|
|
209
231
|
},
|
|
210
232
|
{
|
|
211
233
|
id: "@adaptiqai/deepseek-harness#adaptiq/detachKnowledge",
|
|
@@ -218,7 +240,7 @@ export const TYPERT_REMOTE = {
|
|
|
218
240
|
{ name: "id", wire: "id", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/detachKnowledge:id", "string", false) },
|
|
219
241
|
],
|
|
220
242
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/detachKnowledge:result", "object", false),
|
|
221
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
243
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 17, column: 1 },
|
|
222
244
|
},
|
|
223
245
|
{
|
|
224
246
|
id: "@adaptiqai/deepseek-harness#adaptiq/makeKnowledgeAvailable",
|
|
@@ -232,7 +254,7 @@ export const TYPERT_REMOTE = {
|
|
|
232
254
|
{ name: "sessionId", wire: "sessionId", source: 'json', acceptsUndefined: true, codec: codec("@adaptiqai/deepseek-harness#adaptiq/makeKnowledgeAvailable:sessionId", "string", true) },
|
|
233
255
|
],
|
|
234
256
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/makeKnowledgeAvailable:result", "object", false),
|
|
235
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
257
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 18, column: 1 },
|
|
236
258
|
},
|
|
237
259
|
{
|
|
238
260
|
id: "@adaptiqai/deepseek-harness#adaptiq/createKnowledge",
|
|
@@ -244,7 +266,7 @@ export const TYPERT_REMOTE = {
|
|
|
244
266
|
{ name: "input", wire: "input", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/createKnowledge:input", "object", false) },
|
|
245
267
|
],
|
|
246
268
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/createKnowledge:result", "object", false),
|
|
247
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
269
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 19, column: 1 },
|
|
248
270
|
},
|
|
249
271
|
{
|
|
250
272
|
id: "@adaptiqai/deepseek-harness#adaptiq/startPurchase",
|
|
@@ -257,7 +279,7 @@ export const TYPERT_REMOTE = {
|
|
|
257
279
|
{ name: "lanes", wire: "lanes", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/startPurchase:lanes", "number", false) },
|
|
258
280
|
],
|
|
259
281
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/startPurchase:result", "object", false),
|
|
260
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
282
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 20, column: 1 },
|
|
261
283
|
},
|
|
262
284
|
{
|
|
263
285
|
id: "@adaptiqai/deepseek-harness#adaptiq/checkPurchase",
|
|
@@ -268,7 +290,7 @@ export const TYPERT_REMOTE = {
|
|
|
268
290
|
parameters: [
|
|
269
291
|
],
|
|
270
292
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/checkPurchase:result", "void", false),
|
|
271
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
293
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 21, column: 1 },
|
|
272
294
|
},
|
|
273
295
|
{
|
|
274
296
|
id: "@adaptiqai/deepseek-harness#adaptiq/cancelPurchase",
|
|
@@ -279,7 +301,7 @@ export const TYPERT_REMOTE = {
|
|
|
279
301
|
parameters: [
|
|
280
302
|
],
|
|
281
303
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/cancelPurchase:result", "void", false),
|
|
282
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
304
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 22, column: 1 },
|
|
283
305
|
},
|
|
284
306
|
{
|
|
285
307
|
id: "@adaptiqai/deepseek-harness#adaptiq/dismissPurchase",
|
|
@@ -290,7 +312,7 @@ export const TYPERT_REMOTE = {
|
|
|
290
312
|
parameters: [
|
|
291
313
|
],
|
|
292
314
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/dismissPurchase:result", "void", false),
|
|
293
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
315
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 23, column: 1 },
|
|
294
316
|
},
|
|
295
317
|
{
|
|
296
318
|
id: "@adaptiqai/deepseek-harness#adaptiq/listConversations",
|
|
@@ -304,7 +326,7 @@ export const TYPERT_REMOTE = {
|
|
|
304
326
|
{ name: "cursor", wire: "cursor", source: 'json', acceptsUndefined: true, codec: codec("@adaptiqai/deepseek-harness#adaptiq/listConversations:cursor", "string", true) },
|
|
305
327
|
],
|
|
306
328
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/listConversations:result", "object", false),
|
|
307
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
329
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 24, column: 1 },
|
|
308
330
|
},
|
|
309
331
|
{
|
|
310
332
|
id: "@adaptiqai/deepseek-harness#adaptiq/attachConversation",
|
|
@@ -317,7 +339,7 @@ export const TYPERT_REMOTE = {
|
|
|
317
339
|
{ name: "conversationId", wire: "conversationId", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/attachConversation:conversationId", "string", false) },
|
|
318
340
|
],
|
|
319
341
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/attachConversation:result", "object", false),
|
|
320
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
342
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 25, column: 1 },
|
|
321
343
|
},
|
|
322
344
|
{
|
|
323
345
|
id: "@adaptiqai/deepseek-harness#adaptiq/detachConversation",
|
|
@@ -330,7 +352,7 @@ export const TYPERT_REMOTE = {
|
|
|
330
352
|
{ name: "conversationId", wire: "conversationId", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/detachConversation:conversationId", "string", false) },
|
|
331
353
|
],
|
|
332
354
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/detachConversation:result", "object", false),
|
|
333
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
355
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 26, column: 1 },
|
|
334
356
|
},
|
|
335
357
|
{
|
|
336
358
|
id: "@adaptiqai/deepseek-harness#adaptiq/openExternal",
|
|
@@ -342,7 +364,7 @@ export const TYPERT_REMOTE = {
|
|
|
342
364
|
{ name: "url", wire: "url", source: 'json', codec: codec("@adaptiqai/deepseek-harness#adaptiq/openExternal:url", "string", false) },
|
|
343
365
|
],
|
|
344
366
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/openExternal:result", "boolean", false),
|
|
345
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
367
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 27, column: 1 },
|
|
346
368
|
},
|
|
347
369
|
{
|
|
348
370
|
id: "@adaptiqai/deepseek-harness#adaptiq/diagnostics",
|
|
@@ -353,7 +375,7 @@ export const TYPERT_REMOTE = {
|
|
|
353
375
|
parameters: [
|
|
354
376
|
],
|
|
355
377
|
result: codec("@adaptiqai/deepseek-harness#adaptiq/diagnostics:result", "object", false),
|
|
356
|
-
sourceLocation: { file: 'src/host/controller.ts', line:
|
|
378
|
+
sourceLocation: { file: 'src/host/controller.ts', line: 28, column: 1 },
|
|
357
379
|
},
|
|
358
380
|
],
|
|
359
381
|
}
|
|
@@ -21,12 +21,6 @@ export declare function QuotaClaim({ dismiss }: {
|
|
|
21
21
|
* @returns true when our no-lanes notice is fresh.
|
|
22
22
|
*/
|
|
23
23
|
export declare function ownsQuota(account: AccountSnapshot | null): boolean;
|
|
24
|
-
/** Beside the plugin's title on its Plugins detail page. */
|
|
25
|
-
export declare function UpdateBadge({ t, useAqAccount, subject }: {
|
|
26
|
-
t: T;
|
|
27
|
-
useAqAccount: Hook<AccountSnapshot | null>;
|
|
28
|
-
subject: unknown;
|
|
29
|
-
}): import("react").JSX.Element | null;
|
|
30
24
|
/** The Knowledge entry in the sidebar's panel list. */
|
|
31
25
|
export declare function PanelIcon({ size }: {
|
|
32
26
|
size: number;
|
|
@@ -4,6 +4,32 @@ import { type T } from './ui.tsx';
|
|
|
4
4
|
type Hook<S> = <R>(select: (snapshot: S) => R) => R;
|
|
5
5
|
/** Upload limit for files dropped into the harness (larger sets go through the console). */
|
|
6
6
|
export declare const UPLOAD_LIMIT: number;
|
|
7
|
+
/** A failed read as the browser receives it. */
|
|
8
|
+
export interface ReadFailure {
|
|
9
|
+
readonly message: string;
|
|
10
|
+
readonly code: string | null;
|
|
11
|
+
readonly status: number | null;
|
|
12
|
+
}
|
|
13
|
+
export declare function readFailure(caught: unknown): ReadFailure;
|
|
14
|
+
/**
|
|
15
|
+
* A failed read: a calm line while the model starts (it comes back by itself),
|
|
16
|
+
* a neutral one for other passing trouble, red only when the person must act.
|
|
17
|
+
*/
|
|
18
|
+
export declare function ReadProblem({ failure, t, model, modelStatus, what }: {
|
|
19
|
+
failure: ReadFailure;
|
|
20
|
+
t: T;
|
|
21
|
+
model: string | null;
|
|
22
|
+
modelStatus: string | null;
|
|
23
|
+
what: 'knowledge' | 'conversations';
|
|
24
|
+
}): import("react").JSX.Element;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the conversation uses the model a list is for: only then does the
|
|
27
|
+
* page name it. A model the person is not using is never named.
|
|
28
|
+
* @param view - the conversation, or null.
|
|
29
|
+
* @param model - the model the list is for.
|
|
30
|
+
* @returns true when the conversation is on it.
|
|
31
|
+
*/
|
|
32
|
+
export declare function usingModel(view: Pick<SessionView, 'known' | 'model' | 'selectedModel'> | null, model: string | null): boolean;
|
|
7
33
|
/** @returns whether the other-models list starts open. */
|
|
8
34
|
export declare function otherModelsStartOpen(): boolean;
|
|
9
35
|
/** @param open - remember the other-models list as open or closed until the page reloads. */
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
import type { AccountSnapshot } from '@adaptiqai/core/types';
|
|
1
|
+
import type { AccountSnapshot, NoticeAction, NoticeView } from '@adaptiqai/core/types';
|
|
2
2
|
import type { Kit, UiState } from './actions.ts';
|
|
3
3
|
import { type T } from './ui.tsx';
|
|
4
4
|
type Hook<S> = <R>(select: (snapshot: S) => R) => R;
|
|
5
|
+
/**
|
|
6
|
+
* A notice's words in the UI language: from its dictionary keys when the Host
|
|
7
|
+
* named them, else as written (local toasts are already translated).
|
|
8
|
+
* @param notice - the notice.
|
|
9
|
+
* @param t - translate.
|
|
10
|
+
* @returns title, body and a label for each button.
|
|
11
|
+
*/
|
|
12
|
+
export declare function noticeWords(notice: NoticeView, t: T): {
|
|
13
|
+
title: string;
|
|
14
|
+
body: string;
|
|
15
|
+
label: (action: NoticeAction) => string;
|
|
16
|
+
};
|
|
5
17
|
/** The connect dialog: one navy surface, from welcome to "connected". */
|
|
6
18
|
export declare function ConnectDialog({ t, kit, account, welcome, onClose, onDone }: {
|
|
7
19
|
t: T;
|
|
@@ -16,6 +16,15 @@ export declare function MemoryBar({ store, thin }: {
|
|
|
16
16
|
store: MemoryView;
|
|
17
17
|
thin?: boolean;
|
|
18
18
|
}): import("react").JSX.Element;
|
|
19
|
+
/**
|
|
20
|
+
* The warning under the memory card. Where idle conversations sleep on their own
|
|
21
|
+
* (the server reports session history apart), only a full library warns; with
|
|
22
|
+
* one shared pool, it warns from 90 %.
|
|
23
|
+
*/
|
|
24
|
+
export declare function MemoryCallout({ store, t }: {
|
|
25
|
+
store: MemoryView;
|
|
26
|
+
t: T;
|
|
27
|
+
}): import("react").JSX.Element | null;
|
|
19
28
|
/**
|
|
20
29
|
* A model's facts, the same fields in the same order for every model:
|
|
21
30
|
* memory, thinking levels, region. A field is left out only when unknown.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin updates in the UI: one line with one button. "New version 0.3.0 —
|
|
3
|
+
* Update", then "Updating…", and where the harness can load new code in
|
|
4
|
+
* place nothing more; where it cannot, "Restart DeepSeek Harness to use the
|
|
5
|
+
* new version".
|
|
6
|
+
*/
|
|
7
|
+
import type { AccountSnapshot } from '@adaptiqai/core/types';
|
|
8
|
+
import { type UpdateStep } from '@adaptiqai/core/update';
|
|
9
|
+
import type { Kit } from './actions.ts';
|
|
10
|
+
import { type T } from './ui.tsx';
|
|
11
|
+
/** This browser half's own version, fixed at build time. */
|
|
12
|
+
export declare const CLIENT_VERSION: string;
|
|
13
|
+
/**
|
|
14
|
+
* The step to show for a snapshot.
|
|
15
|
+
* @param account - the account snapshot.
|
|
16
|
+
* @param clientVersion - this browser half's version.
|
|
17
|
+
* @returns the step.
|
|
18
|
+
*/
|
|
19
|
+
export declare function stepOf(account: AccountSnapshot | null, clientVersion?: string): UpdateStep;
|
|
20
|
+
/**
|
|
21
|
+
* The words for a step, and the button it offers.
|
|
22
|
+
* @param step - the step.
|
|
23
|
+
* @param t - translator.
|
|
24
|
+
* @returns the line, its button label and action, or null when there is nothing to say.
|
|
25
|
+
*/
|
|
26
|
+
export declare function updateWords(step: UpdateStep, t: T): {
|
|
27
|
+
text: string;
|
|
28
|
+
button: {
|
|
29
|
+
label: string;
|
|
30
|
+
action: 'update' | 'activate' | 'plugins';
|
|
31
|
+
} | null;
|
|
32
|
+
busy: boolean;
|
|
33
|
+
} | null;
|
|
34
|
+
type Hook<S> = <R>(select: (snapshot: S) => R) => R;
|
|
35
|
+
/** The update line at the top of Settings → AdaptiqAI. */
|
|
36
|
+
export declare function UpdateBanner({ t, kit, account }: {
|
|
37
|
+
t: T;
|
|
38
|
+
kit: Pick<Kit, 'updatePlugin' | 'activateUpdate' | 'nav'>;
|
|
39
|
+
account: AccountSnapshot;
|
|
40
|
+
}): import("react").JSX.Element | null;
|
|
41
|
+
/** Beside the plugin's title on its Plugins detail page. */
|
|
42
|
+
export declare function UpdateBadge({ t, kit, useAqAccount, subject }: {
|
|
43
|
+
t: T;
|
|
44
|
+
kit: Pick<Kit, 'updatePlugin' | 'activateUpdate'>;
|
|
45
|
+
useAqAccount: Hook<AccountSnapshot | null>;
|
|
46
|
+
subject: unknown;
|
|
47
|
+
}): import("react").JSX.Element | null;
|
|
48
|
+
export {};
|
|
@@ -24,6 +24,8 @@ export interface ModelChoice {
|
|
|
24
24
|
/** Harness navigation the plugin borrows: switch a conversation's model, open a new one. */
|
|
25
25
|
export interface Navigation {
|
|
26
26
|
selectPanel(id: string): void;
|
|
27
|
+
/** Opens this plugin's page in Plugins, or null when the harness has no such link. */
|
|
28
|
+
pluginsPage(): (() => void) | null;
|
|
27
29
|
selectModel(sessionId: string, choice: ModelChoice): Promise<void>;
|
|
28
30
|
/** Open a new conversation in the same workspace on the given model. */
|
|
29
31
|
startFresh(fromSessionId: string, choice: ModelChoice): Promise<void>;
|
|
@@ -44,6 +46,10 @@ export interface Kit {
|
|
|
44
46
|
setPreferences(patch: Partial<Preferences>): Promise<void>;
|
|
45
47
|
dismissNotice(id: string): Promise<void>;
|
|
46
48
|
runNoticeAction(notice: NoticeView, action: NoticeAction): Promise<void>;
|
|
49
|
+
/** Install the newest version through the harness and switch to it. */
|
|
50
|
+
updatePlugin(): Promise<void>;
|
|
51
|
+
/** Switch to the newer version already installed. */
|
|
52
|
+
activateUpdate(): Promise<void>;
|
|
47
53
|
open(url: string): void;
|
|
48
54
|
copyDiagnostics(): Promise<void>;
|
|
49
55
|
setRemember(sessionId: string, remember: boolean): Promise<SessionView>;
|
|
@@ -10,31 +10,75 @@ export interface AttachRow {
|
|
|
10
10
|
readonly tokens: number | null;
|
|
11
11
|
/** Attached to this conversation. */
|
|
12
12
|
readonly on: boolean;
|
|
13
|
-
/** Readiness of an attached item; a collection not ready yet cannot be added. */
|
|
14
|
-
readonly status: 'ready' | 'preparing' | 'failed' | 'not-ready';
|
|
13
|
+
/** Readiness of an attached item; a collection not ready yet cannot be added. `deferred`: used from the first message. */
|
|
14
|
+
readonly status: 'ready' | 'preparing' | 'failed' | 'not-ready' | 'deferred';
|
|
15
15
|
}
|
|
16
|
+
/** A collection in the add list's Knowledge tab. */
|
|
17
|
+
export interface KnowledgeRow extends AttachRow {
|
|
18
|
+
readonly kind: 'collection';
|
|
19
|
+
/** Made in the last {@link NEW_MS}: marked new. */
|
|
20
|
+
readonly isNew: boolean;
|
|
21
|
+
/** The model it is made for, when it is not this conversation's. */
|
|
22
|
+
readonly model: string | null;
|
|
23
|
+
/** Made for another model: greyed, with "make available" when the server can. */
|
|
24
|
+
readonly other: boolean;
|
|
25
|
+
readonly convertible: boolean;
|
|
26
|
+
readonly copying: 'building' | 'failed' | null;
|
|
27
|
+
}
|
|
28
|
+
/** How long a collection counts as new. */
|
|
29
|
+
export declare const NEW_MS: number;
|
|
30
|
+
/**
|
|
31
|
+
* The add list's Knowledge tab: the collections that work here, newest first
|
|
32
|
+
* (the ones made in the last days marked new), then the ones made for another
|
|
33
|
+
* model, greyed. Search only filters.
|
|
34
|
+
* @param view - the conversation.
|
|
35
|
+
* @param collections - the library page, or null while loading.
|
|
36
|
+
* @param query - search text.
|
|
37
|
+
* @param now - the time, for "new".
|
|
38
|
+
* @returns usable and other rows.
|
|
39
|
+
*/
|
|
40
|
+
export declare function knowledgeRows(view: SessionView, collections: readonly KnowledgeItem[] | null, query: string, now: number): {
|
|
41
|
+
usable: KnowledgeRow[];
|
|
42
|
+
other: KnowledgeRow[];
|
|
43
|
+
};
|
|
16
44
|
/**
|
|
17
|
-
* The add list: recent conversations on this model
|
|
18
|
-
* server pages them
|
|
19
|
-
* as on, with its readiness.
|
|
45
|
+
* The add list's Conversations tab: recent conversations on this model, newest
|
|
46
|
+
* first as the server pages them, never this one.
|
|
20
47
|
* @param view - the conversation.
|
|
21
48
|
* @param conversations - conversations on its model, or null while loading.
|
|
22
|
-
* @param collections - collections, or null while loading.
|
|
23
49
|
* @param query - search text.
|
|
24
50
|
* @returns the rows.
|
|
25
51
|
*/
|
|
26
|
-
export declare function
|
|
52
|
+
export declare function conversationRows(view: SessionView, conversations: readonly ConversationItem[] | null, query: string): AttachRow[];
|
|
53
|
+
/** One chip above the message box: something this conversation uses. */
|
|
54
|
+
export interface Chip {
|
|
55
|
+
readonly id: string;
|
|
56
|
+
readonly kind: 'collection' | 'conversation';
|
|
57
|
+
readonly name: string;
|
|
58
|
+
/** `preparing` shows a quiet progress; `failed` a muted mark. */
|
|
59
|
+
readonly state: 'ready' | 'preparing' | 'deferred' | 'failed';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The chips above the message box: the collections and conversations this
|
|
63
|
+
* conversation uses, and the collections made for it that are still getting ready.
|
|
64
|
+
* @param view - the conversation.
|
|
65
|
+
* @returns the chips, collections first.
|
|
66
|
+
*/
|
|
67
|
+
export declare function chipItems(view: SessionView): Chip[];
|
|
27
68
|
/** How long the pill says what a mention just added. */
|
|
28
69
|
export declare const ADDED_MS = 5000;
|
|
29
70
|
/**
|
|
30
|
-
* The pill's words after a mention: what was added,
|
|
71
|
+
* The pill's words after a mention or a new collection: what was added, what
|
|
72
|
+
* stays text because it is on another model, and a collection that just became
|
|
73
|
+
* ready and is used here.
|
|
31
74
|
* @param t - translate.
|
|
32
75
|
* @param added - the conversation's "just added" mark.
|
|
33
|
-
* @returns e.g. "+ Novel A, Novel B".
|
|
76
|
+
* @returns e.g. "+ Novel A, Novel B" or "“The book” ready, used here".
|
|
34
77
|
*/
|
|
35
78
|
export declare function addedText(t: T, added: {
|
|
36
79
|
readonly names: readonly string[];
|
|
37
80
|
readonly otherModel: readonly string[];
|
|
81
|
+
readonly ready?: readonly string[];
|
|
38
82
|
}): string;
|
|
39
83
|
/**
|
|
40
84
|
* Follows a conversation's "just added" mark and reports a new one for
|
|
@@ -49,4 +93,13 @@ export declare class AddedFlash {
|
|
|
49
93
|
seen(added: SessionView['added'] | undefined): void;
|
|
50
94
|
dispose(): void;
|
|
51
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* The pill's words while a collection created for this conversation is prepared.
|
|
98
|
+
* @param t - translate.
|
|
99
|
+
* @param preparing - the collections still preparing.
|
|
100
|
+
* @returns e.g. "Preparing “The book”…"; with several, the first and how many more.
|
|
101
|
+
*/
|
|
102
|
+
export declare function preparingText(t: T, preparing: readonly {
|
|
103
|
+
readonly name: string;
|
|
104
|
+
}[]): string;
|
|
52
105
|
export {};
|