@plurnk/plurnk-contracts 1.7.0 → 1.9.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/SPEC.md +227 -63
- package/dist/conformance/agui-v1.json +541 -0
- package/dist/plurnk.gemma.gbnf +26 -22
- package/dist/plurnk.qwen.gbnf +26 -22
- package/dist/schema/A2aAgentDefinition.json +44 -0
- package/dist/schema/AcpPlan.json +63 -0
- package/dist/schema/AguiClientConformance.json +74 -0
- package/dist/schema/AguiConformanceKit.json +111 -0
- package/dist/schema/AguiDiscovery.json +70 -0
- package/dist/schema/ClientDisplayCapabilities.json +1 -1
- package/dist/schema/ClientInteractionProjection.json +2 -2
- package/dist/schema/ClientInteractionRequest.json +1 -1
- package/dist/schema/ClientInteractionResolution.json +1 -1
- package/dist/schema/ClientStatement.json +16 -11
- package/dist/schema/EntryReadResult.json +2 -2
- package/dist/schema/FunctionalityCandidate.json +33 -0
- package/dist/schema/FunctionalityDefinitionState.json +33 -0
- package/dist/schema/FunctionalityDiscoverQuery.json +16 -0
- package/dist/schema/FunctionalityDiscoverResult.json +15 -0
- package/dist/schema/FunctionalityListResult.json +15 -0
- package/dist/schema/FunctionalityMutationResult.json +16 -0
- package/dist/schema/LineMarker.json +1 -1
- package/dist/schema/LoopFlags.json +1 -1
- package/dist/schema/MatcherBody.json +1 -1
- package/dist/schema/McpConfigurationOverlay.json +25 -0
- package/dist/schema/McpServerDefinition.json +3 -2
- package/dist/schema/McpServerOptions.json +36 -0
- package/dist/schema/ModelCatalogPage.json +122 -0
- package/dist/schema/ModelCatalogQuery.json +32 -0
- package/dist/schema/ModelReadiness.json +47 -0
- package/dist/schema/ModelRoute.json +23 -0
- package/dist/schema/Notice.json +1 -1
- package/dist/schema/OperationResult.json +3 -3
- package/dist/schema/ParsedPath.json +1 -1
- package/dist/schema/Plan.json +52 -0
- package/dist/schema/PlurnkStatement.json +57 -40
- package/dist/schema/Position.json +1 -1
- package/dist/schema/ProblemDetails.json +1 -1
- package/dist/schema/ProposalDisposition.json +1 -1
- package/dist/schema/ProposalProjection.json +5 -6
- package/dist/schema/ProviderAccounting.json +3 -3
- package/dist/schema/ProviderCost.json +1 -1
- package/dist/schema/ProviderRequestAccounting.json +3 -3
- package/dist/schema/ProviderUsage.json +1 -1
- package/dist/schema/RangeExtent.json +1 -1
- package/dist/schema/ReasoningPolicy.json +7 -0
- package/dist/schema/ResourceSelection.json +3 -3
- package/dist/schema/SendBody.json +1 -1
- package/dist/schema/SkillDefinition.json +26 -0
- package/dist/schema/TextLineMarker.json +1 -1
- package/dist/schema/TextRegion.json +1 -1
- package/dist/src/AcpPlanValue.d.ts +7 -0
- package/dist/src/AcpPlanValue.d.ts.map +1 -0
- package/dist/src/AcpPlanValue.js +32 -0
- package/dist/src/AcpPlanValue.js.map +1 -0
- package/dist/src/AguiConformance.d.ts +11 -0
- package/dist/src/AguiConformance.d.ts.map +1 -0
- package/dist/src/AguiConformance.js +16 -0
- package/dist/src/AguiConformance.js.map +1 -0
- package/dist/src/ApplicationPort.d.ts +271 -0
- package/dist/src/ApplicationPort.d.ts.map +1 -0
- package/dist/src/ApplicationPort.js +2 -0
- package/dist/src/ApplicationPort.js.map +1 -0
- package/dist/src/AstBuilder.d.ts.map +1 -1
- package/dist/src/AstBuilder.js +44 -22
- package/dist/src/AstBuilder.js.map +1 -1
- package/dist/src/PlanValue.d.ts +10 -0
- package/dist/src/PlanValue.d.ts.map +1 -0
- package/dist/src/PlanValue.js +58 -0
- package/dist/src/PlanValue.js.map +1 -0
- package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
- package/dist/src/PlurnkErrorStrategy.js +33 -19
- package/dist/src/PlurnkErrorStrategy.js.map +1 -1
- package/dist/src/PlurnkParser.js +3 -3
- package/dist/src/PlurnkParser.js.map +1 -1
- package/dist/src/Problems.js +1 -1
- package/dist/src/Validator.d.ts +68 -1
- package/dist/src/Validator.d.ts.map +1 -1
- package/dist/src/Validator.js +373 -0
- package/dist/src/Validator.js.map +1 -1
- package/dist/src/generated/plurnkLexer.d.ts +30 -28
- package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
- package/dist/src/generated/plurnkLexer.js +398 -381
- package/dist/src/generated/plurnkLexer.js.map +1 -1
- package/dist/src/generated/plurnkParser.d.ts +56 -39
- package/dist/src/generated/plurnkParser.d.ts.map +1 -1
- package/dist/src/generated/plurnkParser.js +644 -450
- package/dist/src/generated/plurnkParser.js.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.d.ts +7 -7
- package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.js +6 -6
- package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
- package/dist/src/index.d.ts +7 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +2 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.generated.d.ts +430 -21
- package/dist/src/types.generated.d.ts.map +1 -1
- package/dist/src/types.js +4 -0
- package/dist/src/types.js.map +1 -1
- package/package.json +7 -3
- package/plurnk.md +67 -78
|
@@ -1,4 +1,176 @@
|
|
|
1
|
+
export interface A2AAgentDefinition {
|
|
2
|
+
/**
|
|
3
|
+
* The local alias: the `a2a://<name>` authority.
|
|
4
|
+
*/
|
|
5
|
+
name: string;
|
|
6
|
+
/**
|
|
7
|
+
* The remote agent's absolute HTTP(S) base URL; its Agent Card is discovered at the standard well-known path unless `cardPath` names another.
|
|
8
|
+
*/
|
|
9
|
+
url: string;
|
|
10
|
+
/**
|
|
11
|
+
* An absolute URL pathname replacing the standard Agent Card path.
|
|
12
|
+
*/
|
|
13
|
+
cardPath?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Extra request headers; values may be symbolic `${NAME}` environment references.
|
|
16
|
+
*/
|
|
17
|
+
headers?: {
|
|
18
|
+
[k: string]: string;
|
|
19
|
+
};
|
|
20
|
+
authorization?: {
|
|
21
|
+
type: "bearer";
|
|
22
|
+
/**
|
|
23
|
+
* A symbolic `${NAME}` environment reference; the secret is never persisted.
|
|
24
|
+
*/
|
|
25
|
+
token: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface AcpPlan {
|
|
29
|
+
/**
|
|
30
|
+
* The complete list of current plan entries.
|
|
31
|
+
*/
|
|
32
|
+
entries: AcpPlanEntry[];
|
|
33
|
+
/**
|
|
34
|
+
* Metadata reserved by ACP. Consumers must not assume meanings for its keys.
|
|
35
|
+
*/
|
|
36
|
+
_meta?: ({
|
|
37
|
+
[k: string]: unknown;
|
|
38
|
+
} | null);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* One task or goal in an ACP execution plan.
|
|
42
|
+
*/
|
|
43
|
+
export interface AcpPlanEntry {
|
|
44
|
+
/**
|
|
45
|
+
* Human-readable description of what this task aims to accomplish.
|
|
46
|
+
*/
|
|
47
|
+
content: string;
|
|
48
|
+
/**
|
|
49
|
+
* The relative importance of this task.
|
|
50
|
+
*/
|
|
51
|
+
priority: ("high" | "medium" | "low");
|
|
52
|
+
/**
|
|
53
|
+
* The current execution status of this task.
|
|
54
|
+
*/
|
|
55
|
+
status: ("pending" | "in_progress" | "completed");
|
|
56
|
+
/**
|
|
57
|
+
* Metadata reserved by ACP. Consumers must not assume meanings for its keys.
|
|
58
|
+
*/
|
|
59
|
+
_meta?: ({
|
|
60
|
+
[k: string]: unknown;
|
|
61
|
+
} | null);
|
|
62
|
+
}
|
|
63
|
+
export type Disposition = ({
|
|
64
|
+
posture: ("native" | "generic");
|
|
65
|
+
dimensions: Dimensions;
|
|
66
|
+
evidence: Evidence;
|
|
67
|
+
} | {
|
|
68
|
+
posture: "unsupported";
|
|
69
|
+
reason: string;
|
|
70
|
+
dimensions: Dimensions;
|
|
71
|
+
evidence: Evidence;
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* @minItems 1
|
|
75
|
+
*/
|
|
76
|
+
export type Dimensions = [("admission" | "projection" | "framing" | "success" | "failure" | "lifecycle" | "durability" | "composition" | "presentation"), ...(("admission" | "projection" | "framing" | "success" | "failure" | "lifecycle" | "durability" | "composition" | "presentation"))[]];
|
|
77
|
+
/**
|
|
78
|
+
* @minItems 1
|
|
79
|
+
*/
|
|
80
|
+
export type Evidence = [string, ...(string)[]];
|
|
81
|
+
/**
|
|
82
|
+
* One client's exhaustive, evidence-bearing disposition for an installed AG-UI discovery surface.
|
|
83
|
+
*/
|
|
84
|
+
export interface AguiClientConformance {
|
|
85
|
+
schemaVersion: 1;
|
|
86
|
+
client: string;
|
|
87
|
+
actions: {
|
|
88
|
+
[k: string]: Disposition;
|
|
89
|
+
};
|
|
90
|
+
notifications: {
|
|
91
|
+
[k: string]: Disposition;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export type Name = string;
|
|
95
|
+
/**
|
|
96
|
+
* Language-neutral raw SSE and AG-UI lifecycle specimens consumed by every Plurnk client.
|
|
97
|
+
*/
|
|
98
|
+
export interface AguiConformanceKit {
|
|
99
|
+
schemaVersion: 1;
|
|
100
|
+
/**
|
|
101
|
+
* @minItems 1
|
|
102
|
+
*/
|
|
103
|
+
transport: [TransportSpecimen, ...(TransportSpecimen)[]];
|
|
104
|
+
/**
|
|
105
|
+
* @minItems 1
|
|
106
|
+
*/
|
|
107
|
+
lifecycles: [LifecycleSpecimen, ...(LifecycleSpecimen)[]];
|
|
108
|
+
}
|
|
109
|
+
export interface TransportSpecimen {
|
|
110
|
+
name: Name;
|
|
111
|
+
/**
|
|
112
|
+
* @minItems 1
|
|
113
|
+
*/
|
|
114
|
+
chunks: [string, ...(string)[]];
|
|
115
|
+
eof: boolean;
|
|
116
|
+
expect: ({
|
|
117
|
+
events: Event[];
|
|
118
|
+
} | {
|
|
119
|
+
error: "invalid-json";
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
export interface Event {
|
|
123
|
+
type: string;
|
|
124
|
+
[k: string]: unknown;
|
|
125
|
+
}
|
|
126
|
+
export interface LifecycleSpecimen {
|
|
127
|
+
name: Name;
|
|
128
|
+
/**
|
|
129
|
+
* @minItems 1
|
|
130
|
+
*/
|
|
131
|
+
events: [Event, ...(Event)[]];
|
|
132
|
+
expect: LifecycleExpectation;
|
|
133
|
+
}
|
|
134
|
+
export interface LifecycleExpectation {
|
|
135
|
+
completion: ("success" | "interrupt" | "error" | "dead-stream");
|
|
136
|
+
families: string[];
|
|
137
|
+
status?: number;
|
|
138
|
+
interrupt?: ("proposal" | "interaction");
|
|
139
|
+
action?: ActionExpectation;
|
|
140
|
+
}
|
|
141
|
+
export interface ActionExpectation {
|
|
142
|
+
kind: string;
|
|
143
|
+
ok: boolean;
|
|
144
|
+
status?: number;
|
|
145
|
+
}
|
|
1
146
|
export type ClientDisplayCapabilities = (SchemeDisplayCapability | MimetypeDisplayCapability)[];
|
|
147
|
+
/**
|
|
148
|
+
* The complete installed AG-UI+ management and notification surface. Action and notification names are object keys so identity has one representation.
|
|
149
|
+
*/
|
|
150
|
+
export interface AguiDiscovery {
|
|
151
|
+
schemaVersion: 1;
|
|
152
|
+
actions: {
|
|
153
|
+
[k: string]: Action;
|
|
154
|
+
};
|
|
155
|
+
notifications: {
|
|
156
|
+
[k: string]: Notification;
|
|
157
|
+
};
|
|
158
|
+
display: ClientDisplayCapabilities;
|
|
159
|
+
}
|
|
160
|
+
export interface Action {
|
|
161
|
+
scope: ("worldless" | "workspace" | "worker");
|
|
162
|
+
inputSchema: JsonSchema;
|
|
163
|
+
outputSchema: JsonSchema;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* A JSON Schema 2020-12 schema supplied by the contract owner.
|
|
167
|
+
*/
|
|
168
|
+
export interface JsonSchema {
|
|
169
|
+
[k: string]: unknown;
|
|
170
|
+
}
|
|
171
|
+
export interface Notification {
|
|
172
|
+
payloadSchema: JsonSchema;
|
|
173
|
+
}
|
|
2
174
|
export interface SchemeDisplayCapability {
|
|
3
175
|
kind: "scheme";
|
|
4
176
|
scheme: string;
|
|
@@ -40,7 +212,7 @@ export type ClientInteractionResolution = ({
|
|
|
40
212
|
});
|
|
41
213
|
export type ClientStatement = (PlurnkStatement | LookStatement | BuffStatement);
|
|
42
214
|
/**
|
|
43
|
-
* The parsed AST union for one protocol statement, discriminated by `op`. Every variant has fixed signal, target, lineMarker, body,
|
|
215
|
+
* The parsed AST union for one protocol statement, discriminated by `op`. Every variant has fixed signal, target, lineMarker, annotation, body, delimiter, and source-position fields; operation-specific schemas constrain their types. A null field records an omitted tolerated slot and does not satisfy runtime requirements by itself.
|
|
44
216
|
*/
|
|
45
217
|
export type PlurnkStatement = (FindStatement | ReadStatement | OpenStatement | FoldStatement | EditStatement | CopyStatement | MoveStatement | SendStatement | ExecStatement | BareStatement | WorkStatement | ForkStatement | KillStatement | PlanStatement);
|
|
46
218
|
/**
|
|
@@ -51,6 +223,11 @@ export type ParsedPath = (LocalPath | UrlPath);
|
|
|
51
223
|
* Parsed body of a FIND/OPEN/FOLD statement, discriminated on `dialect`. The dialect is determined by the body's leading characters (`//` xpath, `/` regex, `$` jsonpath, `~` semantic, `@` graph, else glob). The regex variant carries pattern and flags split out of the `/pattern/flags` literal; every variant remains JSON-serializable.
|
|
52
224
|
*/
|
|
53
225
|
export type MatcherBody = (XPathBody | RegexBody | JsonPathBody | SemanticBody | GraphBody | GlobBody);
|
|
226
|
+
/**
|
|
227
|
+
* Plurnk's complete model-native working-memory Plan entries.
|
|
228
|
+
*/
|
|
229
|
+
export type Plan = PlanEntry[];
|
|
230
|
+
export type AnnotationOrNull = (string | null);
|
|
54
231
|
export type TagSignal = (string[] | null);
|
|
55
232
|
export type PathOrNull = (ParsedPath | null);
|
|
56
233
|
export type TextLineMarkerOrNull = (TextLineMarker | null);
|
|
@@ -58,7 +235,8 @@ export type MatcherBodyOrNull = (MatcherBody | null);
|
|
|
58
235
|
export type LineMarkerOrNull = (LineMarker | null);
|
|
59
236
|
export interface FindStatement {
|
|
60
237
|
op: "FIND";
|
|
61
|
-
|
|
238
|
+
delimiter: string;
|
|
239
|
+
annotation: (string | null);
|
|
62
240
|
signal: (string[] | null);
|
|
63
241
|
target: (ParsedPath | null);
|
|
64
242
|
lineMarker: (LineMarker | null);
|
|
@@ -156,7 +334,8 @@ export interface Position {
|
|
|
156
334
|
}
|
|
157
335
|
export interface ReadStatement {
|
|
158
336
|
op: "READ";
|
|
159
|
-
|
|
337
|
+
delimiter: string;
|
|
338
|
+
annotation: (string | null);
|
|
160
339
|
signal: (string[] | null);
|
|
161
340
|
target: (ParsedPath | null);
|
|
162
341
|
lineMarker: (TextLineMarker | null);
|
|
@@ -174,25 +353,28 @@ export interface TextLineMarker {
|
|
|
174
353
|
}
|
|
175
354
|
export interface OpenStatement {
|
|
176
355
|
op: "OPEN";
|
|
177
|
-
|
|
356
|
+
delimiter: string;
|
|
357
|
+
annotation: (string | null);
|
|
178
358
|
signal: (string[] | null);
|
|
179
359
|
target: (ParsedPath | null);
|
|
180
|
-
lineMarker: null;
|
|
360
|
+
lineMarker: (TextLineMarker | null);
|
|
181
361
|
body: (MatcherBody | null);
|
|
182
362
|
position: Position;
|
|
183
363
|
}
|
|
184
364
|
export interface FoldStatement {
|
|
185
365
|
op: "FOLD";
|
|
186
|
-
|
|
366
|
+
delimiter: string;
|
|
367
|
+
annotation: (string | null);
|
|
187
368
|
signal: (string[] | null);
|
|
188
369
|
target: (ParsedPath | null);
|
|
189
|
-
lineMarker: null;
|
|
370
|
+
lineMarker: (TextLineMarker | null);
|
|
190
371
|
body: (MatcherBody | null);
|
|
191
372
|
position: Position;
|
|
192
373
|
}
|
|
193
374
|
export interface EditStatement {
|
|
194
375
|
op: "EDIT";
|
|
195
|
-
|
|
376
|
+
delimiter: string;
|
|
377
|
+
annotation: (string | null);
|
|
196
378
|
signal: (string[] | null);
|
|
197
379
|
target: (ParsedPath | null);
|
|
198
380
|
lineMarker: (TextLineMarker | null);
|
|
@@ -201,7 +383,8 @@ export interface EditStatement {
|
|
|
201
383
|
}
|
|
202
384
|
export interface CopyStatement {
|
|
203
385
|
op: "COPY";
|
|
204
|
-
|
|
386
|
+
delimiter: string;
|
|
387
|
+
annotation: (string | null);
|
|
205
388
|
signal: (string[] | null);
|
|
206
389
|
target: (ParsedPath | null);
|
|
207
390
|
lineMarker: (TextLineMarker | null);
|
|
@@ -217,7 +400,8 @@ export interface ResourceSelection {
|
|
|
217
400
|
}
|
|
218
401
|
export interface MoveStatement {
|
|
219
402
|
op: "MOVE";
|
|
220
|
-
|
|
403
|
+
delimiter: string;
|
|
404
|
+
annotation: (string | null);
|
|
221
405
|
signal: (string[] | null);
|
|
222
406
|
target: (ParsedPath | null);
|
|
223
407
|
lineMarker: (TextLineMarker | null);
|
|
@@ -226,7 +410,8 @@ export interface MoveStatement {
|
|
|
226
410
|
}
|
|
227
411
|
export interface SendStatement {
|
|
228
412
|
op: "SEND";
|
|
229
|
-
|
|
413
|
+
delimiter: string;
|
|
414
|
+
annotation: (string | null);
|
|
230
415
|
signal: (number | null);
|
|
231
416
|
target: (ParsedPath | null);
|
|
232
417
|
lineMarker: (LineMarker | null);
|
|
@@ -242,7 +427,8 @@ export interface SendBody {
|
|
|
242
427
|
}
|
|
243
428
|
export interface ExecStatement {
|
|
244
429
|
op: "EXEC";
|
|
245
|
-
|
|
430
|
+
delimiter: string;
|
|
431
|
+
annotation: (string | null);
|
|
246
432
|
signal: (string | null);
|
|
247
433
|
target: (ParsedPath | null);
|
|
248
434
|
lineMarker: (LineMarker | null);
|
|
@@ -251,7 +437,8 @@ export interface ExecStatement {
|
|
|
251
437
|
}
|
|
252
438
|
export interface BareStatement {
|
|
253
439
|
op: "BARE";
|
|
254
|
-
|
|
440
|
+
delimiter: string;
|
|
441
|
+
annotation: (string | null);
|
|
255
442
|
signal: (string[] | null);
|
|
256
443
|
target: null;
|
|
257
444
|
lineMarker: null;
|
|
@@ -260,7 +447,8 @@ export interface BareStatement {
|
|
|
260
447
|
}
|
|
261
448
|
export interface WorkStatement {
|
|
262
449
|
op: "WORK";
|
|
263
|
-
|
|
450
|
+
delimiter: string;
|
|
451
|
+
annotation: (string | null);
|
|
264
452
|
signal: (string | null);
|
|
265
453
|
target: (ParsedPath | null);
|
|
266
454
|
lineMarker: null;
|
|
@@ -269,7 +457,8 @@ export interface WorkStatement {
|
|
|
269
457
|
}
|
|
270
458
|
export interface ForkStatement {
|
|
271
459
|
op: "FORK";
|
|
272
|
-
|
|
460
|
+
delimiter: string;
|
|
461
|
+
annotation: (string | null);
|
|
273
462
|
signal: (string | null);
|
|
274
463
|
target: (ParsedPath | null);
|
|
275
464
|
lineMarker: null;
|
|
@@ -278,7 +467,8 @@ export interface ForkStatement {
|
|
|
278
467
|
}
|
|
279
468
|
export interface KillStatement {
|
|
280
469
|
op: "KILL";
|
|
281
|
-
|
|
470
|
+
delimiter: string;
|
|
471
|
+
annotation: (string | null);
|
|
282
472
|
signal: (number | null);
|
|
283
473
|
target: (ParsedPath | null);
|
|
284
474
|
lineMarker: null;
|
|
@@ -287,16 +477,41 @@ export interface KillStatement {
|
|
|
287
477
|
}
|
|
288
478
|
export interface PlanStatement {
|
|
289
479
|
op: "PLAN";
|
|
290
|
-
|
|
480
|
+
delimiter: string;
|
|
481
|
+
annotation: (string | null);
|
|
291
482
|
signal: (string[] | null);
|
|
292
483
|
target: (ParsedPath | null);
|
|
293
484
|
lineMarker: (LineMarker | null);
|
|
294
|
-
body:
|
|
485
|
+
body: Plan;
|
|
295
486
|
position: Position;
|
|
296
487
|
}
|
|
488
|
+
/**
|
|
489
|
+
* One finding, task, or goal in the model's working-memory plan.
|
|
490
|
+
*/
|
|
491
|
+
export interface PlanEntry {
|
|
492
|
+
/**
|
|
493
|
+
* Human-readable description of what this task aims to accomplish.
|
|
494
|
+
*/
|
|
495
|
+
content: string;
|
|
496
|
+
/**
|
|
497
|
+
* The relative importance of this task.
|
|
498
|
+
*/
|
|
499
|
+
priority: ("high" | "medium" | "low");
|
|
500
|
+
/**
|
|
501
|
+
* The current execution status of this task.
|
|
502
|
+
*/
|
|
503
|
+
status: ("pending" | "in_progress" | "completed" | "memory");
|
|
504
|
+
/**
|
|
505
|
+
* Opaque entry metadata preserved through standards projection.
|
|
506
|
+
*/
|
|
507
|
+
_meta?: ({
|
|
508
|
+
[k: string]: unknown;
|
|
509
|
+
} | null);
|
|
510
|
+
}
|
|
297
511
|
export interface LookStatement {
|
|
298
512
|
op: "LOOK";
|
|
299
|
-
|
|
513
|
+
delimiter: string;
|
|
514
|
+
annotation: AnnotationOrNull;
|
|
300
515
|
signal: TagSignal;
|
|
301
516
|
target: PathOrNull;
|
|
302
517
|
lineMarker: TextLineMarkerOrNull;
|
|
@@ -305,7 +520,8 @@ export interface LookStatement {
|
|
|
305
520
|
}
|
|
306
521
|
export interface BuffStatement {
|
|
307
522
|
op: "BUFF";
|
|
308
|
-
|
|
523
|
+
delimiter: string;
|
|
524
|
+
annotation: AnnotationOrNull;
|
|
309
525
|
signal: TagSignal;
|
|
310
526
|
target: PathOrNull;
|
|
311
527
|
lineMarker: LineMarkerOrNull;
|
|
@@ -373,6 +589,76 @@ export interface ProblemDetails {
|
|
|
373
589
|
retryable?: boolean;
|
|
374
590
|
[k: string]: unknown;
|
|
375
591
|
}
|
|
592
|
+
export interface FunctionalityCandidate {
|
|
593
|
+
/**
|
|
594
|
+
* The alias the candidate would take if added; a suggestion, never authority.
|
|
595
|
+
*/
|
|
596
|
+
alias?: string;
|
|
597
|
+
summary?: string;
|
|
598
|
+
/**
|
|
599
|
+
* The exact family definition, conforming to the family's definition schema.
|
|
600
|
+
*/
|
|
601
|
+
definition: {};
|
|
602
|
+
provenance: {
|
|
603
|
+
kind: string;
|
|
604
|
+
source: string;
|
|
605
|
+
reference?: string;
|
|
606
|
+
};
|
|
607
|
+
}
|
|
608
|
+
export type FunctionalityDefinitionState = ({
|
|
609
|
+
[k: string]: unknown;
|
|
610
|
+
} & {
|
|
611
|
+
alias: string;
|
|
612
|
+
origin: ("service" | "worker");
|
|
613
|
+
/**
|
|
614
|
+
* disabled: available, model-invisible. active: enabled and prepared. unavailable: enabled but preparation has an exact Problem. authorization-required: enabled and awaiting a protocol continuation.
|
|
615
|
+
*/
|
|
616
|
+
state: ("disabled" | "active" | "unavailable" | "authorization-required");
|
|
617
|
+
definition?: {};
|
|
618
|
+
/**
|
|
619
|
+
* Family-owned presentation facts about an active definition (a server's protocol version and tool names, an agent card summary). Never credentials, never authority.
|
|
620
|
+
*/
|
|
621
|
+
detail?: {};
|
|
622
|
+
problem?: ProblemDetails;
|
|
623
|
+
authorization?: {
|
|
624
|
+
url: string;
|
|
625
|
+
};
|
|
626
|
+
});
|
|
627
|
+
/**
|
|
628
|
+
* 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.
|
|
629
|
+
*/
|
|
630
|
+
export interface FunctionalityDiscoverQuery {
|
|
631
|
+
query?: string;
|
|
632
|
+
source?: string;
|
|
633
|
+
/**
|
|
634
|
+
* Caller-supplied configuration material the family interprets as candidates (a client's own PLURNK_MCP_* environment, a local directory list). It contributes candidates with client-configuration provenance; it never becomes durable authority.
|
|
635
|
+
*/
|
|
636
|
+
configuration?: {};
|
|
637
|
+
}
|
|
638
|
+
export interface FunctionalityDiscoverResult {
|
|
639
|
+
family: string;
|
|
640
|
+
candidates: FunctionalityCandidate[];
|
|
641
|
+
}
|
|
642
|
+
/**
|
|
643
|
+
* One inert discovery result: an exact family definition with its provenance. Discovery never installs, persists, enables, or executes it.
|
|
644
|
+
*/
|
|
645
|
+
export interface FunctionalityListResult {
|
|
646
|
+
family: string;
|
|
647
|
+
definitions: FunctionalityDefinitionState[];
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* 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.
|
|
651
|
+
*/
|
|
652
|
+
export interface FunctionalityMutationResult {
|
|
653
|
+
status: (200 | 201 | 202);
|
|
654
|
+
family: string;
|
|
655
|
+
alias: string;
|
|
656
|
+
definition?: FunctionalityDefinitionState;
|
|
657
|
+
removed?: true;
|
|
658
|
+
}
|
|
659
|
+
/**
|
|
660
|
+
* 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.
|
|
661
|
+
*/
|
|
376
662
|
export interface LoopFlags {
|
|
377
663
|
mode: ("ask" | "act");
|
|
378
664
|
auto: boolean;
|
|
@@ -380,6 +666,9 @@ export interface LoopFlags {
|
|
|
380
666
|
noInteraction: boolean;
|
|
381
667
|
noProposals: boolean;
|
|
382
668
|
}
|
|
669
|
+
export interface McpConfigurationOverlay {
|
|
670
|
+
[k: string]: string;
|
|
671
|
+
}
|
|
383
672
|
export type McpServerDefinition = ({
|
|
384
673
|
[k: string]: unknown;
|
|
385
674
|
} & {
|
|
@@ -418,11 +707,116 @@ export type McpServerDefinition = ({
|
|
|
418
707
|
clientId: string;
|
|
419
708
|
clientSecret: EnvironmentReference;
|
|
420
709
|
scope?: string;
|
|
710
|
+
issuer?: string;
|
|
421
711
|
});
|
|
422
712
|
tools?: string[];
|
|
423
713
|
read?: string[];
|
|
424
714
|
});
|
|
425
715
|
export type EnvironmentReference = string;
|
|
716
|
+
export type McpServerArguments = string[];
|
|
717
|
+
export type McpServerAuthorization = ({
|
|
718
|
+
type: "bearer";
|
|
719
|
+
token: string;
|
|
720
|
+
} | {
|
|
721
|
+
type: "oauth";
|
|
722
|
+
redirectUrl: string;
|
|
723
|
+
clientMetadataUrl: string;
|
|
724
|
+
scope?: string;
|
|
725
|
+
} | {
|
|
726
|
+
type: "oauth";
|
|
727
|
+
redirectUrl: string;
|
|
728
|
+
clientId: string;
|
|
729
|
+
clientSecret: string;
|
|
730
|
+
scope?: string;
|
|
731
|
+
} | {
|
|
732
|
+
type: "oauth";
|
|
733
|
+
redirectUrl: string;
|
|
734
|
+
scope?: string;
|
|
735
|
+
} | {
|
|
736
|
+
type: "client-credentials";
|
|
737
|
+
clientId: string;
|
|
738
|
+
clientSecret: string;
|
|
739
|
+
scope?: string;
|
|
740
|
+
issuer?: string;
|
|
741
|
+
});
|
|
742
|
+
export type McpServerToolNames = string[];
|
|
743
|
+
export type McpServerReadTools = string[];
|
|
744
|
+
export interface McpServerOptions {
|
|
745
|
+
args?: McpServerArguments;
|
|
746
|
+
cwd?: string;
|
|
747
|
+
env?: McpServerEnvironment;
|
|
748
|
+
headers?: McpServerHeaders;
|
|
749
|
+
authorization?: McpServerAuthorization;
|
|
750
|
+
tools?: McpServerToolNames;
|
|
751
|
+
read?: McpServerReadTools;
|
|
752
|
+
}
|
|
753
|
+
export interface McpServerEnvironment {
|
|
754
|
+
[k: string]: string;
|
|
755
|
+
}
|
|
756
|
+
export interface McpServerHeaders {
|
|
757
|
+
[k: string]: string;
|
|
758
|
+
}
|
|
759
|
+
export interface ModelCatalogPage {
|
|
760
|
+
/**
|
|
761
|
+
* @maxItems 100
|
|
762
|
+
*/
|
|
763
|
+
items: ModelCatalogEntry[];
|
|
764
|
+
offset: number;
|
|
765
|
+
total: number;
|
|
766
|
+
nextOffset?: number;
|
|
767
|
+
}
|
|
768
|
+
export interface ModelCatalogEntry {
|
|
769
|
+
selector: string;
|
|
770
|
+
provider: string;
|
|
771
|
+
providerName: string;
|
|
772
|
+
model: string;
|
|
773
|
+
modelName: string;
|
|
774
|
+
limits: ModelCatalogLimits;
|
|
775
|
+
capabilities: ModelCatalogCapabilities;
|
|
776
|
+
readiness: ModelReadiness;
|
|
777
|
+
}
|
|
778
|
+
export interface ModelCatalogLimits {
|
|
779
|
+
contextTokens: number;
|
|
780
|
+
inputTokens?: number;
|
|
781
|
+
outputTokens?: number;
|
|
782
|
+
}
|
|
783
|
+
export interface ModelCatalogCapabilities {
|
|
784
|
+
attachment: boolean;
|
|
785
|
+
reasoning: boolean;
|
|
786
|
+
toolCall: boolean;
|
|
787
|
+
structuredOutput?: boolean;
|
|
788
|
+
temperature?: boolean;
|
|
789
|
+
inputModalities: string[];
|
|
790
|
+
outputModalities: string[];
|
|
791
|
+
}
|
|
792
|
+
/**
|
|
793
|
+
* Local configuration evidence that a catalog provider is ready to attempt a request, without probing or validating credentials.
|
|
794
|
+
*/
|
|
795
|
+
export interface ModelReadiness {
|
|
796
|
+
ready: boolean;
|
|
797
|
+
causes: ModelReadinessCause[];
|
|
798
|
+
}
|
|
799
|
+
export interface ModelReadinessCause {
|
|
800
|
+
kind: ("credential" | "configuration");
|
|
801
|
+
/**
|
|
802
|
+
* Alternative environment-variable sets. Every name in one inner array is required; satisfying any inner array resolves this cause.
|
|
803
|
+
*
|
|
804
|
+
* @minItems 1
|
|
805
|
+
*/
|
|
806
|
+
alternatives: [[string, ...(string)[]], ...([string, ...(string)[]])[]];
|
|
807
|
+
}
|
|
808
|
+
export interface ModelCatalogQuery {
|
|
809
|
+
provider?: string;
|
|
810
|
+
search?: string;
|
|
811
|
+
availability?: ("configured" | "all");
|
|
812
|
+
offset?: number;
|
|
813
|
+
limit?: number;
|
|
814
|
+
}
|
|
815
|
+
export interface ModelRoute {
|
|
816
|
+
alias?: string;
|
|
817
|
+
provider: string;
|
|
818
|
+
model: string;
|
|
819
|
+
}
|
|
426
820
|
export interface Notice {
|
|
427
821
|
/**
|
|
428
822
|
* Producer identifier. Top-level for self-contained subsystems; colon-namespaced for parameterized producers such as `provider:openai` or `exec:search`.
|
|
@@ -512,6 +906,7 @@ export interface ProposalProjection {
|
|
|
512
906
|
op: ("FIND" | "READ" | "EDIT" | "COPY" | "MOVE" | "OPEN" | "FOLD" | "SEND" | "EXEC" | "BARE" | "WORK" | "FORK" | "KILL" | "PLAN");
|
|
513
907
|
target: {
|
|
514
908
|
scheme: (string | null);
|
|
909
|
+
authority: (string | null);
|
|
515
910
|
pathname: (string | null);
|
|
516
911
|
};
|
|
517
912
|
body: string;
|
|
@@ -519,7 +914,6 @@ export interface ProposalProjection {
|
|
|
519
914
|
[k: string]: unknown;
|
|
520
915
|
};
|
|
521
916
|
flags: LoopFlags;
|
|
522
|
-
staleClobberRisk: boolean;
|
|
523
917
|
disposition: ProposalDisposition;
|
|
524
918
|
}
|
|
525
919
|
/**
|
|
@@ -584,6 +978,21 @@ export type Tokens = number;
|
|
|
584
978
|
/**
|
|
585
979
|
* Known token quantities for one provider request. Omitted fields are unknown; explicit zero is observed or exactly derived.
|
|
586
980
|
*/
|
|
981
|
+
export type ReasoningPolicy = ("off" | "adaptive" | "low" | "medium" | "high");
|
|
982
|
+
export interface SkillDefinition {
|
|
983
|
+
/**
|
|
984
|
+
* The standard Agent Skills name: lowercase words joined by single hyphens, equal to the skill's directory name.
|
|
985
|
+
*/
|
|
986
|
+
name: string;
|
|
987
|
+
/**
|
|
988
|
+
* The universal Agent Skills root: the project's `.agents/skills` or the user's `~/.agents/skills`.
|
|
989
|
+
*/
|
|
990
|
+
scope: ("project" | "global");
|
|
991
|
+
/**
|
|
992
|
+
* 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.
|
|
993
|
+
*/
|
|
994
|
+
source?: string;
|
|
995
|
+
}
|
|
587
996
|
export interface TextRegion {
|
|
588
997
|
startLine: number;
|
|
589
998
|
startColumn: number;
|