@plurnk/plurnk-contracts 1.16.5 → 1.18.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/README.md +13 -62
- package/SPEC.md +633 -529
- package/dist/conformance/agui-v1.json +3 -50
- package/dist/schema/CapabilityDescriptor.json +6 -1
- package/dist/schema/CapabilityProjection.json +2 -4
- package/dist/schema/CapabilitySelector.json +6 -1
- package/dist/schema/ClientStatement.json +5 -52
- package/dist/schema/FunctionalityDefinitionState.json +10 -2
- package/dist/schema/LineMarker.json +1 -1
- package/dist/schema/LoopPolicy.json +2 -3
- package/dist/schema/MatcherBody.json +6 -6
- package/dist/schema/McpServerDefinition.json +17 -0
- package/dist/schema/ModelCatalogPage.json +10 -1
- package/dist/schema/ModelRoute.json +9 -0
- package/dist/schema/Notice.json +1 -1
- package/dist/schema/ParsedPath.json +3 -2
- package/dist/schema/Plan.json +10 -6
- package/dist/schema/PlurnkStatement.json +95 -143
- package/dist/schema/ProposalProjection.json +6 -1
- package/dist/schema/ResourceSelection.json +51 -27
- package/dist/schema/SkillDefinition.json +3 -3
- package/dist/src/AcpPlanValue.d.ts +0 -1
- package/dist/src/AcpPlanValue.d.ts.map +1 -1
- package/dist/src/AcpPlanValue.js +14 -13
- package/dist/src/AcpPlanValue.js.map +1 -1
- package/dist/src/ApplicationPort.d.ts +17 -14
- package/dist/src/ApplicationPort.d.ts.map +1 -1
- package/dist/src/JsonDocument.d.ts +2 -0
- package/dist/src/JsonDocument.d.ts.map +1 -0
- package/dist/src/JsonDocument.js +14 -0
- package/dist/src/JsonDocument.js.map +1 -0
- package/dist/src/LoopLifecycle.d.ts +3 -0
- package/dist/src/LoopLifecycle.d.ts.map +1 -0
- package/dist/src/LoopLifecycle.js +14 -0
- package/dist/src/LoopLifecycle.js.map +1 -0
- package/dist/src/PlanValue.d.ts +1 -1
- package/dist/src/PlanValue.d.ts.map +1 -1
- package/dist/src/PlanValue.js +10 -6
- package/dist/src/PlanValue.js.map +1 -1
- package/dist/src/PlurnkParseError.d.ts +3 -1
- package/dist/src/PlurnkParseError.d.ts.map +1 -1
- package/dist/src/PlurnkParseError.js +4 -1
- package/dist/src/PlurnkParseError.js.map +1 -1
- package/dist/src/TurnDisposition.d.ts +11 -0
- package/dist/src/TurnDisposition.d.ts.map +1 -0
- package/dist/src/TurnDisposition.js +32 -0
- package/dist/src/TurnDisposition.js.map +1 -0
- package/dist/src/Validator.js +1 -1
- package/dist/src/Validator.js.map +1 -1
- package/dist/src/index.d.ts +5 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +13 -8
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.generated.d.ts +172 -86
- package/dist/src/types.generated.d.ts.map +1 -1
- package/dist/src/types.js +9 -4
- package/dist/src/types.js.map +1 -1
- package/package.json +5 -23
- package/plurnk.md +106 -119
- package/bin/plurnk-contracts.js +0 -43
- package/dist/plurnk.gemma.gbnf +0 -141
- package/dist/plurnk.qwen.gbnf +0 -130
- package/dist/src/AstBuilder.d.ts +0 -20
- package/dist/src/AstBuilder.d.ts.map +0 -1
- package/dist/src/AstBuilder.js +0 -723
- package/dist/src/AstBuilder.js.map +0 -1
- package/dist/src/PlurnkErrorStrategy.d.ts +0 -11
- package/dist/src/PlurnkErrorStrategy.d.ts.map +0 -1
- package/dist/src/PlurnkErrorStrategy.js +0 -358
- package/dist/src/PlurnkErrorStrategy.js.map +0 -1
- package/dist/src/PlurnkParser.d.ts +0 -11
- package/dist/src/PlurnkParser.d.ts.map +0 -1
- package/dist/src/PlurnkParser.js +0 -335
- package/dist/src/PlurnkParser.js.map +0 -1
- package/dist/src/RecordingListener.d.ts +0 -9
- package/dist/src/RecordingListener.d.ts.map +0 -1
- package/dist/src/RecordingListener.js +0 -19
- package/dist/src/RecordingListener.js.map +0 -1
- package/dist/src/generated/plurnkLexer.d.ts +0 -174
- package/dist/src/generated/plurnkLexer.d.ts.map +0 -1
- package/dist/src/generated/plurnkLexer.js +0 -1215
- package/dist/src/generated/plurnkLexer.js.map +0 -1
- package/dist/src/generated/plurnkParser.d.ts +0 -477
- package/dist/src/generated/plurnkParser.d.ts.map +0 -1
- package/dist/src/generated/plurnkParser.js +0 -3298
- package/dist/src/generated/plurnkParser.js.map +0 -1
- package/dist/src/generated/plurnkParserVisitor.d.ts +0 -284
- package/dist/src/generated/plurnkParserVisitor.d.ts.map +0 -1
- package/dist/src/generated/plurnkParserVisitor.js +0 -245
- package/dist/src/generated/plurnkParserVisitor.js.map +0 -1
|
@@ -185,7 +185,10 @@ export interface MimetypeDisplayCapability {
|
|
|
185
185
|
display: CapabilityDisplay;
|
|
186
186
|
}
|
|
187
187
|
export interface CapabilityDescriptor {
|
|
188
|
-
|
|
188
|
+
/**
|
|
189
|
+
* An operation keyword, or a runtime tag: an execution's operation is its runtime.
|
|
190
|
+
*/
|
|
191
|
+
operation: "FIND" | "READ" | "EDIT" | "COPY" | "MOVE" | "SEND" | "BARE" | "WORK" | "FORK" | "KILL" | Lowercase<string>;
|
|
189
192
|
scheme?: string;
|
|
190
193
|
runtime?: string;
|
|
191
194
|
tool?: string;
|
|
@@ -200,7 +203,10 @@ export interface CapabilityPolicy {
|
|
|
200
203
|
* One exact, conjunctive selector over a routed PLURNK capability demand. Omitted fields are wildcards; at least one field is required.
|
|
201
204
|
*/
|
|
202
205
|
export interface CapabilitySelector {
|
|
203
|
-
|
|
206
|
+
/**
|
|
207
|
+
* An operation keyword, or a runtime tag: an execution's operation is its runtime.
|
|
208
|
+
*/
|
|
209
|
+
operation?: "FIND" | "READ" | "EDIT" | "COPY" | "MOVE" | "SEND" | "BARE" | "WORK" | "FORK" | "KILL" | Lowercase<string>;
|
|
204
210
|
scheme?: string;
|
|
205
211
|
runtime?: string;
|
|
206
212
|
tool?: string;
|
|
@@ -213,8 +219,6 @@ export interface CapabilitySelector {
|
|
|
213
219
|
export interface CapabilityProjection {
|
|
214
220
|
service: CapabilityPolicy;
|
|
215
221
|
workspace: CapabilityPolicy;
|
|
216
|
-
workerBound: CapabilityPolicy;
|
|
217
|
-
worker: CapabilityPolicy;
|
|
218
222
|
effective: CapabilityPolicy;
|
|
219
223
|
}
|
|
220
224
|
/**
|
|
@@ -246,48 +250,54 @@ export type ClientInteractionResolution = ({
|
|
|
246
250
|
} | {
|
|
247
251
|
status: "cancelled";
|
|
248
252
|
});
|
|
249
|
-
export type ClientStatement = (PlurnkStatement | LookStatement
|
|
253
|
+
export type ClientStatement = (PlurnkStatement | LookStatement);
|
|
250
254
|
/**
|
|
251
|
-
* The parsed AST union for one protocol statement, discriminated by `op`. Every variant has fixed signal, target, metadata, lineMarker,
|
|
255
|
+
* The parsed AST union for one protocol statement, discriminated by `op`. Every variant has fixed signal, target, metadata, lineMarker, aside, body, and source-position fields, and the text and log operations add a matcher lifted from the `pattern` option; operation-specific schemas constrain their types. A null field records an omitted tolerated slot and does not satisfy runtime requirements by itself.
|
|
252
256
|
*/
|
|
253
|
-
export type PlurnkStatement = (FindStatement | ReadStatement | EditStatement | CopyStatement | MoveStatement | SendStatement | ExecStatement | BareStatement | WorkStatement | ForkStatement | KillStatement |
|
|
257
|
+
export type PlurnkStatement = (FindStatement | ReadStatement | EditStatement | CopyStatement | MoveStatement | SendStatement | ExecStatement | BareStatement | WorkStatement | ForkStatement | KillStatement | DispositionStatement);
|
|
254
258
|
/**
|
|
255
259
|
* A parsed target slot from a plurnk statement. Discriminated on `kind`: a bare local path or a WHATWG-decomposed URL. Targets carry an exact address or a path glob; content matching belongs in the statement body.
|
|
256
260
|
*/
|
|
257
261
|
export type ParsedPath = (LocalPath | UrlPath);
|
|
258
262
|
/**
|
|
259
|
-
* Parsed single-line body of a matcher-bearing statement, discriminated on `dialect`. The dialect is determined by the body's leading characters (`//` xpath, `/` regex, `$` jsonpath, `~`
|
|
263
|
+
* Parsed single-line body of a matcher-bearing statement, discriminated on `dialect`. The dialect is determined by the body's leading characters (`//` xpath, `/` regex, `$` jsonpath, `~` full-text, `&` graph, else glob). The regex variant carries pattern and flags split out of the `/pattern/flags` literal; every variant remains JSON-serializable.
|
|
260
264
|
*/
|
|
261
|
-
export type MatcherBody = (XPathBody | RegexBody | JsonPathBody |
|
|
265
|
+
export type MatcherBody = (XPathBody | RegexBody | JsonPathBody | FtsBody | GraphBody | GlobBody);
|
|
262
266
|
/**
|
|
263
|
-
* Plurnk's
|
|
267
|
+
* Plurnk's model-native task inventory.
|
|
264
268
|
*/
|
|
265
269
|
export type Plan = PlanEntry[];
|
|
266
|
-
export type
|
|
270
|
+
export type AsideOrNull = (string | null);
|
|
267
271
|
export type SchemeMetadataOrNull = (string[] | null);
|
|
268
272
|
export type PathOrNull = (ParsedPath | null);
|
|
269
273
|
export type TextLineMarkerOrNull = (TextLineMarker | null);
|
|
270
274
|
export type MatcherBodyOrNull = (MatcherBody | null);
|
|
271
|
-
export type LineMarkerOrNull = (LineMarker | null);
|
|
272
275
|
export interface FindStatement {
|
|
273
276
|
op: "FIND";
|
|
274
|
-
|
|
275
|
-
annotation: (string | null);
|
|
277
|
+
aside: (string | null);
|
|
276
278
|
/**
|
|
277
279
|
* Opaque ordered scheme-metadata modifier blocks. Contracts preserve each block's raw inner text; the addressed scheme exclusively owns interpretation and validation.
|
|
278
280
|
*/
|
|
279
281
|
metadata: (string[] | null);
|
|
280
282
|
target: (ParsedPath | null);
|
|
281
283
|
lineMarker: (LineMarker | null);
|
|
282
|
-
|
|
284
|
+
/**
|
|
285
|
+
* The selection matcher lifted from the heading's `[{"pattern": …}]` option ({§matcher-option}); null when the heading carries none.
|
|
286
|
+
*/
|
|
287
|
+
matcher: (MatcherBody | null);
|
|
288
|
+
/**
|
|
289
|
+
* FIND takes no body; its matcher is the `pattern` option.
|
|
290
|
+
*/
|
|
291
|
+
body: null;
|
|
283
292
|
position: Position;
|
|
284
293
|
}
|
|
285
294
|
/**
|
|
286
|
-
* A bare local path with no `scheme://` prefix.
|
|
295
|
+
* A bare local path with no `scheme://` prefix. `raw` is the path as authored, minus any `#channel`, which is `fragment` exactly as on a URL; resolution is the runtime's job.
|
|
287
296
|
*/
|
|
288
297
|
export interface LocalPath {
|
|
289
298
|
kind: "local";
|
|
290
299
|
raw: string;
|
|
300
|
+
fragment?: (string | null);
|
|
291
301
|
}
|
|
292
302
|
/**
|
|
293
303
|
* A path with a `scheme://` prefix, fully decomposed via WHATWG URL.
|
|
@@ -308,7 +318,7 @@ export interface UrlPath {
|
|
|
308
318
|
fragment: (string | null);
|
|
309
319
|
}
|
|
310
320
|
/**
|
|
311
|
-
* The ordered numeric components parsed from a `<scope>` slot. AstBuilder converts each lexical number to a JavaScript number; the operation owner assigns arity and meaning, including text coordinates, result positions, timing, mutation anchors
|
|
321
|
+
* The ordered numeric components parsed from a `<scope>` slot. AstBuilder converts each lexical number to a JavaScript number; the operation owner assigns arity and meaning, including text coordinates, result positions, timing, and mutation anchors.
|
|
312
322
|
*/
|
|
313
323
|
export interface LineMarker {
|
|
314
324
|
/**
|
|
@@ -340,10 +350,10 @@ export interface JsonPathBody {
|
|
|
340
350
|
raw: string;
|
|
341
351
|
}
|
|
342
352
|
/**
|
|
343
|
-
*
|
|
353
|
+
* Native SQLite FTS5 query after the `~` prefix. SQLite owns query validation, tokenization, matching and ranking; the statement's scope selects ordinary result positions.
|
|
344
354
|
*/
|
|
345
|
-
export interface
|
|
346
|
-
dialect: "
|
|
355
|
+
export interface FtsBody {
|
|
356
|
+
dialect: "fts";
|
|
347
357
|
raw: string;
|
|
348
358
|
}
|
|
349
359
|
/**
|
|
@@ -369,14 +379,17 @@ export interface Position {
|
|
|
369
379
|
}
|
|
370
380
|
export interface ReadStatement {
|
|
371
381
|
op: "READ";
|
|
372
|
-
|
|
373
|
-
annotation: (string | null);
|
|
382
|
+
aside: (string | null);
|
|
374
383
|
/**
|
|
375
384
|
* Opaque ordered scheme-metadata modifier blocks. Contracts preserve each block's raw inner text; the addressed scheme exclusively owns interpretation and validation.
|
|
376
385
|
*/
|
|
377
386
|
metadata: (string[] | null);
|
|
378
387
|
target: (ParsedPath | null);
|
|
379
388
|
lineMarker: (TextLineMarker | null);
|
|
389
|
+
/**
|
|
390
|
+
* The selection matcher lifted from the heading's `[{"pattern": …}]` option ({§matcher-option}); null when the heading carries none.
|
|
391
|
+
*/
|
|
392
|
+
matcher: (MatcherBody | null);
|
|
380
393
|
body: null;
|
|
381
394
|
position: Position;
|
|
382
395
|
}
|
|
@@ -391,21 +404,23 @@ export interface TextLineMarker {
|
|
|
391
404
|
}
|
|
392
405
|
export interface EditStatement {
|
|
393
406
|
op: "EDIT";
|
|
394
|
-
|
|
395
|
-
annotation: (string | null);
|
|
407
|
+
aside: (string | null);
|
|
396
408
|
/**
|
|
397
409
|
* Opaque ordered scheme-metadata modifier blocks. Contracts preserve each block's raw inner text; the addressed scheme exclusively owns interpretation and validation.
|
|
398
410
|
*/
|
|
399
411
|
metadata: (string[] | null);
|
|
400
412
|
target: (ParsedPath | null);
|
|
401
413
|
lineMarker: (TextLineMarker | null);
|
|
414
|
+
/**
|
|
415
|
+
* The selection matcher lifted from the heading's `[{"pattern": …}]` option ({§matcher-option}); null when the heading carries none.
|
|
416
|
+
*/
|
|
417
|
+
matcher: (MatcherBody | null);
|
|
402
418
|
body: (string | null);
|
|
403
419
|
position: Position;
|
|
404
420
|
}
|
|
405
421
|
export interface CopyStatement {
|
|
406
422
|
op: "COPY";
|
|
407
|
-
|
|
408
|
-
annotation: (string | null);
|
|
423
|
+
aside: (string | null);
|
|
409
424
|
source: ResourceSelection;
|
|
410
425
|
destination: ResourceSelection;
|
|
411
426
|
position: Position;
|
|
@@ -420,19 +435,21 @@ export interface ResourceSelection {
|
|
|
420
435
|
*/
|
|
421
436
|
metadata: (string[] | null);
|
|
422
437
|
lineMarker: (TextLineMarker | null);
|
|
438
|
+
/**
|
|
439
|
+
* The selection matcher lifted from the operand's `[{"pattern": …}]` option; meaningful on the source operand, refused by the owner on a destination.
|
|
440
|
+
*/
|
|
441
|
+
matcher: (MatcherBody | null);
|
|
423
442
|
}
|
|
424
443
|
export interface MoveStatement {
|
|
425
444
|
op: "MOVE";
|
|
426
|
-
|
|
427
|
-
annotation: (string | null);
|
|
445
|
+
aside: (string | null);
|
|
428
446
|
source: ResourceSelection;
|
|
429
447
|
destination: ResourceSelection;
|
|
430
448
|
position: Position;
|
|
431
449
|
}
|
|
432
450
|
export interface SendStatement {
|
|
433
451
|
op: "SEND";
|
|
434
|
-
|
|
435
|
-
annotation: (string | null);
|
|
452
|
+
aside: (string | null);
|
|
436
453
|
/**
|
|
437
454
|
* Opaque ordered scheme-metadata modifier blocks. Contracts preserve each block's raw inner text; the addressed scheme exclusively owns interpretation and validation.
|
|
438
455
|
*/
|
|
@@ -441,10 +458,6 @@ export interface SendStatement {
|
|
|
441
458
|
lineMarker: (LineMarker | null);
|
|
442
459
|
body: (SendBody | null);
|
|
443
460
|
position: Position;
|
|
444
|
-
/**
|
|
445
|
-
* The turn disposition the label names ({§send-label}): NEXT 102, WAIT 202, TERM 200, FAIL 499; null for a mid-turn message to a recipient.
|
|
446
|
-
*/
|
|
447
|
-
status: ((102 | 200 | 202 | 499) | null);
|
|
448
461
|
}
|
|
449
462
|
/**
|
|
450
463
|
* Parsed body of a SEND statement. `raw` is the literal body text; `json` is the best-effort `JSON.parse(raw)` result, or null when the body isn't valid JSON.
|
|
@@ -454,17 +467,19 @@ export interface SendBody {
|
|
|
454
467
|
json: unknown;
|
|
455
468
|
}
|
|
456
469
|
export interface ExecStatement {
|
|
457
|
-
op: "EXEC";
|
|
458
|
-
delimiter: string;
|
|
459
|
-
annotation: (string | null);
|
|
460
470
|
/**
|
|
461
|
-
*
|
|
471
|
+
* The runtime tag the fence names, in its registered lowercase spelling. An execution has no operation keyword: the fence name is the runtime, and the log row's op shows it as written.
|
|
462
472
|
*/
|
|
463
|
-
|
|
473
|
+
runtime: Lowercase<string>;
|
|
464
474
|
/**
|
|
465
|
-
*
|
|
475
|
+
* Never present: an execution is named by its runtime.
|
|
466
476
|
*/
|
|
467
|
-
|
|
477
|
+
op?: never;
|
|
478
|
+
aside: (string | null);
|
|
479
|
+
/**
|
|
480
|
+
* Opaque ordered scheme-metadata modifier blocks. Contracts preserve each block's raw inner text; the addressed scheme exclusively owns interpretation and validation.
|
|
481
|
+
*/
|
|
482
|
+
metadata: (string[] | null);
|
|
468
483
|
target: (ParsedPath | null);
|
|
469
484
|
lineMarker: (LineMarker | null);
|
|
470
485
|
body: (string | null);
|
|
@@ -472,21 +487,19 @@ export interface ExecStatement {
|
|
|
472
487
|
}
|
|
473
488
|
export interface BareStatement {
|
|
474
489
|
op: "BARE";
|
|
475
|
-
|
|
476
|
-
annotation: (string | null);
|
|
490
|
+
aside: (string | null);
|
|
477
491
|
/**
|
|
478
492
|
* Opaque ordered scheme-metadata modifier blocks. Contracts preserve each block's raw inner text; the addressed scheme exclusively owns interpretation and validation.
|
|
479
493
|
*/
|
|
480
494
|
metadata: (string[] | null);
|
|
481
|
-
target: null;
|
|
495
|
+
target: (ParsedPath | null);
|
|
482
496
|
lineMarker: null;
|
|
483
497
|
body: string;
|
|
484
498
|
position: Position;
|
|
485
499
|
}
|
|
486
500
|
export interface WorkStatement {
|
|
487
501
|
op: "WORK";
|
|
488
|
-
|
|
489
|
-
annotation: (string | null);
|
|
502
|
+
aside: (string | null);
|
|
490
503
|
/**
|
|
491
504
|
* Opaque ordered scheme-metadata modifier blocks. Contracts preserve each block's raw inner text; the addressed scheme exclusively owns interpretation and validation.
|
|
492
505
|
*/
|
|
@@ -498,8 +511,7 @@ export interface WorkStatement {
|
|
|
498
511
|
}
|
|
499
512
|
export interface ForkStatement {
|
|
500
513
|
op: "FORK";
|
|
501
|
-
|
|
502
|
-
annotation: (string | null);
|
|
514
|
+
aside: (string | null);
|
|
503
515
|
/**
|
|
504
516
|
* Opaque ordered scheme-metadata modifier blocks. Contracts preserve each block's raw inner text; the addressed scheme exclusively owns interpretation and validation.
|
|
505
517
|
*/
|
|
@@ -511,8 +523,7 @@ export interface ForkStatement {
|
|
|
511
523
|
}
|
|
512
524
|
export interface KillStatement {
|
|
513
525
|
op: "KILL";
|
|
514
|
-
|
|
515
|
-
annotation: (string | null);
|
|
526
|
+
aside: (string | null);
|
|
516
527
|
/**
|
|
517
528
|
* Opaque ordered scheme-metadata modifier blocks. Contracts preserve each block's raw inner text; the addressed scheme exclusively owns interpretation and validation.
|
|
518
529
|
*/
|
|
@@ -523,23 +534,26 @@ export interface KillStatement {
|
|
|
523
534
|
*/
|
|
524
535
|
lineMarker: (TextLineMarker | null);
|
|
525
536
|
/**
|
|
526
|
-
*
|
|
537
|
+
* The selection matcher lifted from the heading's `[{"pattern": …}]` option ({§matcher-option}); null when the heading carries none.
|
|
527
538
|
*/
|
|
528
|
-
|
|
539
|
+
matcher: (MatcherBody | null);
|
|
540
|
+
/**
|
|
541
|
+
* KILL takes no body; its matcher is the `pattern` option.
|
|
542
|
+
*/
|
|
543
|
+
body: null;
|
|
529
544
|
position: Position;
|
|
530
545
|
}
|
|
531
|
-
export interface
|
|
532
|
-
op: "
|
|
533
|
-
|
|
534
|
-
annotation: (string | null);
|
|
546
|
+
export interface DispositionStatement {
|
|
547
|
+
op: "TASK";
|
|
548
|
+
aside: (string | null);
|
|
535
549
|
metadata: null;
|
|
536
550
|
target: null;
|
|
537
|
-
lineMarker: null;
|
|
551
|
+
lineMarker: (LineMarker | null);
|
|
538
552
|
body: Plan;
|
|
539
553
|
position: Position;
|
|
540
554
|
}
|
|
541
555
|
/**
|
|
542
|
-
* One
|
|
556
|
+
* One task or goal in the model's plan.
|
|
543
557
|
*/
|
|
544
558
|
export interface PlanEntry {
|
|
545
559
|
/**
|
|
@@ -549,7 +563,7 @@ export interface PlanEntry {
|
|
|
549
563
|
/**
|
|
550
564
|
* The current execution status of this task.
|
|
551
565
|
*/
|
|
552
|
-
status: ("
|
|
566
|
+
status: ("todo" | "in_progress" | "waiting" | "completed" | "failed");
|
|
553
567
|
/**
|
|
554
568
|
* Opaque entry metadata preserved through standards projection.
|
|
555
569
|
*/
|
|
@@ -559,24 +573,13 @@ export interface PlanEntry {
|
|
|
559
573
|
}
|
|
560
574
|
export interface LookStatement {
|
|
561
575
|
op: "LOOK";
|
|
562
|
-
|
|
563
|
-
annotation: AnnotationOrNull;
|
|
576
|
+
aside: AsideOrNull;
|
|
564
577
|
metadata: SchemeMetadataOrNull;
|
|
565
578
|
target: PathOrNull;
|
|
566
579
|
lineMarker: TextLineMarkerOrNull;
|
|
567
580
|
body: MatcherBodyOrNull;
|
|
568
581
|
position: Position;
|
|
569
582
|
}
|
|
570
|
-
export interface BuffStatement {
|
|
571
|
-
op: "BUFF";
|
|
572
|
-
delimiter: string;
|
|
573
|
-
annotation: AnnotationOrNull;
|
|
574
|
-
metadata: SchemeMetadataOrNull;
|
|
575
|
-
target: PathOrNull;
|
|
576
|
-
lineMarker: LineMarkerOrNull;
|
|
577
|
-
body: MatcherBodyOrNull;
|
|
578
|
-
position: Position;
|
|
579
|
-
}
|
|
580
583
|
export type EntryReadResult = ({
|
|
581
584
|
status: 200;
|
|
582
585
|
entry: ClientEntry;
|
|
@@ -656,12 +659,19 @@ export interface FunctionalityCandidate {
|
|
|
656
659
|
}
|
|
657
660
|
export type FunctionalityDefinitionState = {
|
|
658
661
|
alias: string;
|
|
659
|
-
|
|
662
|
+
/**
|
|
663
|
+
* Who owns this definition: the service baseline, the workspace, or one worker. A worker-scoped family (env) owns its definitions per worker, so origin names ownership rather than scope.
|
|
664
|
+
*/
|
|
665
|
+
origin: ("service" | "workspace" | "worker");
|
|
660
666
|
/**
|
|
661
667
|
* disabled: available, model-invisible. active: enabled and prepared. unavailable: enabled but preparation has an exact Problem. authorization-required: enabled and awaiting a protocol continuation.
|
|
662
668
|
*/
|
|
663
669
|
state: ("disabled" | "active" | "unavailable" | "authorization-required");
|
|
664
670
|
definition?: {};
|
|
671
|
+
/**
|
|
672
|
+
* The Worker this entry was copied from when this Worker was created (WORK or FORK), preserved across generations until this Worker changes the entry. Absent for an entry this Worker set itself. Worker-scoped families only.
|
|
673
|
+
*/
|
|
674
|
+
inherited?: string;
|
|
665
675
|
/**
|
|
666
676
|
* Family-owned presentation facts about an active definition (a server's protocol version and tool names, an agent card summary). Never credentials, never authority.
|
|
667
677
|
*/
|
|
@@ -707,28 +717,51 @@ export interface FunctionalityMutationResult {
|
|
|
707
717
|
* PLURNK operation failure using RFC 9457 Problem Details. Extension members are permitted so an owning boundary can add structured causal and recovery facts without inventing a second error envelope.
|
|
708
718
|
*/
|
|
709
719
|
export interface LoopPolicy {
|
|
710
|
-
capabilities: CapabilityPolicy;
|
|
711
720
|
proposals: ("review" | "accept" | "reject");
|
|
712
721
|
}
|
|
713
|
-
/**
|
|
714
|
-
* One purely subtractive capability-policy layer. Deny wins; when only is present, a demand must match at least one selector.
|
|
715
|
-
*/
|
|
716
722
|
export interface McpConfigurationOverlay {
|
|
717
723
|
[k: string]: string;
|
|
718
724
|
}
|
|
719
725
|
export type McpServerDefinition = {
|
|
726
|
+
/**
|
|
727
|
+
* Server alias: the runtime tag whose fence invokes it, and its resource scheme.
|
|
728
|
+
*/
|
|
720
729
|
name: string;
|
|
730
|
+
/**
|
|
731
|
+
* stdio launches a local command; http connects to a remote MCP endpoint.
|
|
732
|
+
*/
|
|
721
733
|
transport: ("stdio" | "http");
|
|
734
|
+
/**
|
|
735
|
+
* Executable to launch for stdio; arguments belong in args.
|
|
736
|
+
*/
|
|
722
737
|
command?: string;
|
|
738
|
+
/**
|
|
739
|
+
* Arguments passed to the stdio executable in order.
|
|
740
|
+
*/
|
|
723
741
|
args?: string[];
|
|
742
|
+
/**
|
|
743
|
+
* Working directory for the stdio process.
|
|
744
|
+
*/
|
|
724
745
|
cwd?: string;
|
|
746
|
+
/**
|
|
747
|
+
* Environment overrides for the stdio process; values may reference ${ENV_NAME}.
|
|
748
|
+
*/
|
|
725
749
|
env?: {
|
|
726
750
|
[k: string]: string;
|
|
727
751
|
};
|
|
752
|
+
/**
|
|
753
|
+
* HTTP MCP endpoint URL.
|
|
754
|
+
*/
|
|
728
755
|
url?: string;
|
|
756
|
+
/**
|
|
757
|
+
* HTTP request headers; values may reference ${ENV_NAME}. Authorization cannot also be configured here when authorization is set.
|
|
758
|
+
*/
|
|
729
759
|
headers?: {
|
|
730
760
|
[k: string]: string;
|
|
731
761
|
};
|
|
762
|
+
/**
|
|
763
|
+
* HTTP authentication. Secret fields reference the operator environment rather than embedding credentials.
|
|
764
|
+
*/
|
|
732
765
|
authorization?: ({
|
|
733
766
|
type: "bearer";
|
|
734
767
|
token: EnvironmentReference;
|
|
@@ -754,13 +787,28 @@ export type McpServerDefinition = {
|
|
|
754
787
|
scope?: string;
|
|
755
788
|
issuer?: string;
|
|
756
789
|
});
|
|
790
|
+
/**
|
|
791
|
+
* Exact enabled tool names; omitted enables all tools, an empty array enables none.
|
|
792
|
+
*/
|
|
757
793
|
tools?: string[];
|
|
794
|
+
/**
|
|
795
|
+
* Exact tool names the operator designates as read effects rather than host effects requiring proposal review.
|
|
796
|
+
*/
|
|
758
797
|
read?: string[];
|
|
759
798
|
};
|
|
799
|
+
/**
|
|
800
|
+
* An operator environment variable reference such as ${GITEA_TOKEN}, never a literal secret.
|
|
801
|
+
*/
|
|
760
802
|
export type EnvironmentReference = string;
|
|
761
803
|
export type McpServerArguments = string[];
|
|
804
|
+
/**
|
|
805
|
+
* HTTP authentication. Secret fields reference the operator environment rather than embedding credentials.
|
|
806
|
+
*/
|
|
762
807
|
export type McpServerAuthorization = ({
|
|
763
808
|
type: "bearer";
|
|
809
|
+
/**
|
|
810
|
+
* An operator environment variable reference such as ${GITEA_TOKEN}, never a literal secret.
|
|
811
|
+
*/
|
|
764
812
|
token: string;
|
|
765
813
|
} | {
|
|
766
814
|
type: "oauth";
|
|
@@ -771,6 +819,9 @@ export type McpServerAuthorization = ({
|
|
|
771
819
|
type: "oauth";
|
|
772
820
|
redirectUrl: string;
|
|
773
821
|
clientId: string;
|
|
822
|
+
/**
|
|
823
|
+
* An operator environment variable reference such as ${GITEA_TOKEN}, never a literal secret.
|
|
824
|
+
*/
|
|
774
825
|
clientSecret: string;
|
|
775
826
|
scope?: string;
|
|
776
827
|
} | {
|
|
@@ -780,14 +831,26 @@ export type McpServerAuthorization = ({
|
|
|
780
831
|
} | {
|
|
781
832
|
type: "client-credentials";
|
|
782
833
|
clientId: string;
|
|
834
|
+
/**
|
|
835
|
+
* An operator environment variable reference such as ${GITEA_TOKEN}, never a literal secret.
|
|
836
|
+
*/
|
|
783
837
|
clientSecret: string;
|
|
784
838
|
scope?: string;
|
|
785
839
|
issuer?: string;
|
|
786
840
|
});
|
|
841
|
+
/**
|
|
842
|
+
* Exact enabled tool names; omitted enables all tools, an empty array enables none.
|
|
843
|
+
*/
|
|
787
844
|
export type McpServerToolNames = string[];
|
|
845
|
+
/**
|
|
846
|
+
* Exact tool names the operator designates as read effects rather than host effects requiring proposal review.
|
|
847
|
+
*/
|
|
788
848
|
export type McpServerReadTools = string[];
|
|
789
849
|
export interface McpServerOptions {
|
|
790
850
|
args?: McpServerArguments;
|
|
851
|
+
/**
|
|
852
|
+
* Working directory for the stdio process.
|
|
853
|
+
*/
|
|
791
854
|
cwd?: string;
|
|
792
855
|
env?: McpServerEnvironment;
|
|
793
856
|
headers?: McpServerHeaders;
|
|
@@ -795,12 +858,22 @@ export interface McpServerOptions {
|
|
|
795
858
|
tools?: McpServerToolNames;
|
|
796
859
|
read?: McpServerReadTools;
|
|
797
860
|
}
|
|
861
|
+
/**
|
|
862
|
+
* Environment overrides for the stdio process; values may reference ${ENV_NAME}.
|
|
863
|
+
*/
|
|
798
864
|
export interface McpServerEnvironment {
|
|
799
865
|
[k: string]: string;
|
|
800
866
|
}
|
|
867
|
+
/**
|
|
868
|
+
* HTTP request headers; values may reference ${ENV_NAME}. Authorization cannot also be configured here when authorization is set.
|
|
869
|
+
*/
|
|
801
870
|
export interface McpServerHeaders {
|
|
802
871
|
[k: string]: string;
|
|
803
872
|
}
|
|
873
|
+
export type ReasoningPolicy = ("off" | "adaptive" | "low" | "medium" | "high" | "xhigh" | "max");
|
|
874
|
+
/**
|
|
875
|
+
* One deterministic bounded page from the release-pinned model catalog.
|
|
876
|
+
*/
|
|
804
877
|
export interface ModelCatalogPage {
|
|
805
878
|
/**
|
|
806
879
|
* @maxItems 100
|
|
@@ -828,6 +901,12 @@ export interface ModelCatalogLimits {
|
|
|
828
901
|
export interface ModelCatalogCapabilities {
|
|
829
902
|
attachment: boolean;
|
|
830
903
|
reasoning: boolean;
|
|
904
|
+
/**
|
|
905
|
+
* Portable reasoning policies admitted for this exact route by the installed provider adapter and provider-wide operator declarations; not a worker's combined model/spawn policy intersection.
|
|
906
|
+
*
|
|
907
|
+
* @minItems 1
|
|
908
|
+
*/
|
|
909
|
+
reasoningPolicies: [ReasoningPolicy, ...(ReasoningPolicy)[]];
|
|
831
910
|
toolCall: boolean;
|
|
832
911
|
structuredOutput?: boolean;
|
|
833
912
|
temperature?: boolean;
|
|
@@ -857,15 +936,15 @@ export interface ModelCatalogQuery {
|
|
|
857
936
|
offset?: number;
|
|
858
937
|
limit?: number;
|
|
859
938
|
}
|
|
860
|
-
export type ReasoningPolicy = ("off" | "adaptive" | "low" | "medium" | "high" | "xhigh" | "max");
|
|
861
|
-
/**
|
|
862
|
-
* A client-visible resolved provider/model identity. Alias is present only when a declared alias supplied the route; provider configuration remains private to the daemon. reasoningPolicy is the worker's durable effort selection — absent when the model has no reasoning dimension.
|
|
863
|
-
*/
|
|
864
939
|
export interface ModelRoute {
|
|
865
940
|
alias?: string;
|
|
866
941
|
provider: string;
|
|
867
942
|
model: string;
|
|
868
943
|
reasoningPolicy?: ReasoningPolicy;
|
|
944
|
+
/**
|
|
945
|
+
* Whether reasoningPolicy was chosen through worker.reasoning.set (explicit) or seeded from the alias configuration (default). Present exactly when reasoningPolicy is.
|
|
946
|
+
*/
|
|
947
|
+
reasoningSource?: ("default" | "explicit");
|
|
869
948
|
}
|
|
870
949
|
export interface Notice {
|
|
871
950
|
/**
|
|
@@ -873,7 +952,7 @@ export interface Notice {
|
|
|
873
952
|
*/
|
|
874
953
|
source: string;
|
|
875
954
|
/**
|
|
876
|
-
* Open discriminator within a source. Examples include `grammar_unenforced`, `
|
|
955
|
+
* Open discriminator within a source. Examples include `grammar_unenforced`, `search_progress`, and `turn_awaiting_model`.
|
|
877
956
|
*/
|
|
878
957
|
kind: string;
|
|
879
958
|
/**
|
|
@@ -937,9 +1016,13 @@ export interface RangeExtent {
|
|
|
937
1016
|
requested: RequestedRange;
|
|
938
1017
|
returned?: ReturnedRange;
|
|
939
1018
|
}
|
|
1019
|
+
export type LineMarkerOrNull = (LineMarker | null);
|
|
1020
|
+
/**
|
|
1021
|
+
* Parsed single-line body of a matcher-bearing statement, discriminated on `dialect`. The dialect is determined by the body's leading characters (`//` xpath, `/` regex, `$` jsonpath, `~` full-text, `&` graph, else glob). The regex variant carries pattern and flags split out of the `/pattern/flags` literal; every variant remains JSON-serializable.
|
|
1022
|
+
*/
|
|
940
1023
|
export type SendBodyOrNull = (SendBody | null);
|
|
941
1024
|
/**
|
|
942
|
-
* Plurnk's
|
|
1025
|
+
* Plurnk's model-native task inventory.
|
|
943
1026
|
*/
|
|
944
1027
|
export interface ProblemProjection {
|
|
945
1028
|
/**
|
|
@@ -979,7 +1062,10 @@ export interface ProposalProjection {
|
|
|
979
1062
|
workerId: number;
|
|
980
1063
|
loopId: number;
|
|
981
1064
|
turnId: number;
|
|
982
|
-
|
|
1065
|
+
/**
|
|
1066
|
+
* An operation keyword, or a runtime tag: an execution's operation is its runtime.
|
|
1067
|
+
*/
|
|
1068
|
+
op: "FIND" | "READ" | "EDIT" | "COPY" | "MOVE" | "SEND" | "BARE" | "WORK" | "FORK" | "KILL" | "TASK" | Lowercase<string>;
|
|
983
1069
|
target: {
|
|
984
1070
|
scheme: (string | null);
|
|
985
1071
|
authority: (string | null);
|
|
@@ -993,7 +1079,7 @@ export interface ProposalProjection {
|
|
|
993
1079
|
disposition: ProposalDisposition;
|
|
994
1080
|
}
|
|
995
1081
|
/**
|
|
996
|
-
* The
|
|
1082
|
+
* The immutable proposal disposition for one loop. Workspace capability admission precedes proposals.
|
|
997
1083
|
*/
|
|
998
1084
|
export type ProviderCost = ({
|
|
999
1085
|
kind: "charged";
|
|
@@ -1060,9 +1146,9 @@ export interface SkillDefinition {
|
|
|
1060
1146
|
*/
|
|
1061
1147
|
name: string;
|
|
1062
1148
|
/**
|
|
1063
|
-
*
|
|
1149
|
+
* Source: project `.agents/skills`, global `~/.agents/skills`, or a service-provided resource tree. Service sources are not installer targets.
|
|
1064
1150
|
*/
|
|
1065
|
-
scope: ("project" | "global");
|
|
1151
|
+
scope: ("project" | "global" | "service");
|
|
1066
1152
|
/**
|
|
1067
1153
|
* The standard installer package reference (`owner/repo`, a git URL, or a local path) that provides the skill; required to add a skill that is not yet installed.
|
|
1068
1154
|
*/
|