@plurnk/plurnk-contracts 6.0.1 → 7.0.1
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/.env.defaults +5 -5
- package/README.md +4 -4
- package/SPEC.md +158 -2054
- package/dist/schema/{AguiDiscovery.json → AcpDiscovery.json} +4 -4
- package/dist/schema/ApplicationOperationEvent.json +2 -2
- package/dist/schema/CapabilityDescriptor.json +3 -3
- package/dist/schema/CapabilityPolicy.json +5 -1
- package/dist/schema/CapabilitySelector.json +3 -3
- package/dist/schema/ClientInteractionProjection.json +2 -2
- package/dist/schema/ClientInteractionRequest.json +26 -10
- package/dist/schema/ClientInteractionResolution.json +14 -6
- package/dist/schema/FunctionalityDefinitionState.json +3 -3
- package/dist/schema/FunctionalityDiscoverQuery.json +2 -1
- package/dist/schema/FunctionalityMutationResult.json +1 -1
- package/dist/schema/MatcherBody.json +2 -2
- package/dist/schema/McpServerDefinition.json +35 -9
- package/dist/schema/ModelCatalogPage.json +1 -1
- package/dist/schema/ModelRoute.json +2 -2
- package/dist/schema/Notice.json +1 -1
- package/dist/schema/PlurnkStatement.json +8 -8
- package/dist/schema/ProposalDisposition.json +1 -1
- package/dist/schema/ProposalPolicy.json +1 -1
- package/dist/schema/ProposalProjection.json +57 -6
- package/dist/schema/ResourceSelection.json +1 -1
- package/dist/schema/RollbackReport.json +1 -1
- package/dist/schema/{WorkerOwner.json → SessionOwner.json} +2 -2
- package/dist/schema/SkillDefinition.json +8 -7
- package/dist/src/Application.d.ts +97 -66
- package/dist/src/Application.d.ts.map +1 -1
- package/dist/src/Application.js +198 -1
- package/dist/src/Application.js.map +1 -1
- package/dist/src/ApplicationNotifications.d.ts +52 -0
- package/dist/src/ApplicationNotifications.d.ts.map +1 -0
- package/dist/src/ApplicationNotifications.js +2 -0
- package/dist/src/ApplicationNotifications.js.map +1 -0
- package/dist/src/ApplicationPort.d.ts +84 -75
- package/dist/src/ApplicationPort.d.ts.map +1 -1
- package/dist/src/ApplicationStream.d.ts +4 -4
- package/dist/src/ApplicationStream.d.ts.map +1 -1
- package/dist/src/CapabilityAdmission.d.ts +2 -0
- package/dist/src/CapabilityAdmission.d.ts.map +1 -1
- package/dist/src/CapabilityAdmission.js +14 -2
- package/dist/src/CapabilityAdmission.js.map +1 -1
- package/dist/src/Excerpt.js +1 -1
- package/dist/src/Excerpt.js.map +1 -1
- package/dist/src/Functionality.d.ts +3 -6
- package/dist/src/Functionality.d.ts.map +1 -1
- package/dist/src/HttpOrigin.d.ts +3 -3
- package/dist/src/HttpOrigin.js +1 -1
- package/dist/src/JsonDocument.js +1 -1
- package/dist/src/JsonDocument.js.map +1 -1
- package/dist/src/JsonResult.js +1 -1
- package/dist/src/JsonResult.js.map +1 -1
- package/dist/src/LogRow.d.ts +31 -0
- package/dist/src/LogRow.d.ts.map +1 -0
- package/dist/src/LogRow.js +46 -0
- package/dist/src/LogRow.js.map +1 -0
- package/dist/src/LoopLifecycle.d.ts +1 -1
- package/dist/src/LoopLifecycle.d.ts.map +1 -1
- package/dist/src/LoopLifecycle.js +2 -2
- package/dist/src/LoopLifecycle.js.map +1 -1
- package/dist/src/MessageResource.d.ts +4 -4
- package/dist/src/MessageResource.d.ts.map +1 -1
- package/dist/src/PathSyntax.js +2 -2
- package/dist/src/PathSyntax.js.map +1 -1
- package/dist/src/PlurnkParseError.js +1 -1
- package/dist/src/PlurnkParseError.js.map +1 -1
- package/dist/src/Problems.js +1 -1
- package/dist/src/Problems.js.map +1 -1
- package/dist/src/TurnDisposition.js +1 -1
- package/dist/src/TurnDisposition.js.map +1 -1
- package/dist/src/Validator.d.ts +5 -108
- package/dist/src/Validator.d.ts.map +1 -1
- package/dist/src/Validator.js +97 -518
- package/dist/src/Validator.js.map +1 -1
- package/dist/src/guards.js +1 -1
- package/dist/src/guards.js.map +1 -1
- package/dist/src/index.d.ts +6 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.generated.d.ts +91 -187
- package/dist/src/types.generated.d.ts.map +1 -1
- package/dist/src/types.js +7 -7
- package/dist/src/types.js.map +1 -1
- package/package.json +5 -9
- package/plurnk.md +16 -16
- package/dist/conformance/agui-v1.json +0 -716
- package/dist/schema/A2aAgentDefinition.json +0 -76
- package/dist/schema/AguiClientConformance.json +0 -74
- package/dist/schema/AguiConformanceKit.json +0 -111
- package/dist/src/AguiConformance.d.ts +0 -11
- package/dist/src/AguiConformance.d.ts.map +0 -1
- package/dist/src/AguiConformance.js +0 -16
- package/dist/src/AguiConformance.js.map +0 -1
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { LoopLifecycle } from "./LoopLifecycle.ts";
|
|
2
|
-
import type {
|
|
2
|
+
import type { LogAddressColumns } from "./LogRow.ts";
|
|
3
|
+
import type { Effort, JsonSchema, ModelRoute, OperationResult } from "./types.ts";
|
|
3
4
|
import type { RequestHeaders } from "./HttpOrigin.ts";
|
|
4
5
|
export type ProposalDecision = "accept" | "reject" | "cancel";
|
|
6
|
+
export type ProposalScope = "once" | "always";
|
|
5
7
|
export interface ApplicationOwnerIdentity {
|
|
6
8
|
readonly workspaceId: number;
|
|
7
9
|
readonly address: string;
|
|
8
10
|
}
|
|
9
11
|
export interface ProposalResolution {
|
|
10
12
|
readonly decision: ProposalDecision;
|
|
13
|
+
readonly scope?: ProposalScope;
|
|
11
14
|
readonly body?: string;
|
|
12
15
|
readonly outcome?: string;
|
|
13
16
|
}
|
|
@@ -17,9 +20,9 @@ export type ApplicationActionContext = {
|
|
|
17
20
|
readonly scope: "workspace";
|
|
18
21
|
readonly workspaceId: number;
|
|
19
22
|
} | {
|
|
20
|
-
readonly scope: "
|
|
23
|
+
readonly scope: "session";
|
|
21
24
|
readonly workspaceId: number;
|
|
22
|
-
readonly
|
|
25
|
+
readonly sessionId: number;
|
|
23
26
|
};
|
|
24
27
|
export interface ApplicationActionDescriptor {
|
|
25
28
|
readonly name: string;
|
|
@@ -31,110 +34,110 @@ export interface ClientEnvelope {
|
|
|
31
34
|
readonly workspaceId: number;
|
|
32
35
|
readonly workspaceName: string;
|
|
33
36
|
readonly projectRoot: string | null;
|
|
34
|
-
/** {§
|
|
37
|
+
/** {§execution-output-identity} The folder as the daemon spells it for display; null without a folder. */
|
|
35
38
|
readonly projectLabel: string | null;
|
|
36
39
|
}
|
|
37
|
-
export type
|
|
38
|
-
export type
|
|
39
|
-
export interface
|
|
40
|
+
export type ApplicationSessionOrigin = "model" | "_plurnk";
|
|
41
|
+
export type ApplicationSessionKind = "root" | "fork" | "work";
|
|
42
|
+
export interface ApplicationSessionProjection {
|
|
40
43
|
readonly id: number;
|
|
41
44
|
readonly name: string;
|
|
42
45
|
readonly created_at: string;
|
|
43
|
-
readonly origin:
|
|
46
|
+
readonly origin: ApplicationSessionOrigin;
|
|
44
47
|
readonly owner: string;
|
|
45
|
-
readonly
|
|
46
|
-
readonly kind:
|
|
48
|
+
readonly parentSessionId: number | null;
|
|
49
|
+
readonly kind: ApplicationSessionKind;
|
|
47
50
|
readonly lifecycle: LoopLifecycle;
|
|
48
|
-
/** {§
|
|
51
|
+
/** {§machine-processes} When the session was hidden, or null while it is shown. */
|
|
49
52
|
readonly hidden_at: string | null;
|
|
50
53
|
}
|
|
51
|
-
/** {§application-
|
|
52
|
-
export interface
|
|
54
|
+
/** {§application-session-observation} A session's latest finished reply ({§message-completion}). */
|
|
55
|
+
export interface ApplicationSessionReply {
|
|
53
56
|
/** The reply's durable log row. */
|
|
54
57
|
readonly id: number;
|
|
55
|
-
/** Its log coordinate `L/T/S` in its
|
|
58
|
+
/** Its log coordinate `L/T/S` in its session's log. */
|
|
56
59
|
readonly coordinate: string;
|
|
57
60
|
/** The message completion its receipt records. */
|
|
58
61
|
readonly completion: 200 | 499;
|
|
59
62
|
/** When it was recorded, Unix milliseconds. */
|
|
60
63
|
readonly at: number;
|
|
61
|
-
/** {§
|
|
64
|
+
/** {§application-session-observation} */
|
|
62
65
|
readonly excerpt: string;
|
|
63
66
|
readonly continued: boolean;
|
|
64
67
|
}
|
|
65
|
-
/** {§application-
|
|
66
|
-
export interface
|
|
68
|
+
/** {§application-session-observation} One place of the overview and what waits there. */
|
|
69
|
+
export interface ApplicationOverviewSession {
|
|
67
70
|
readonly workspaceId: number;
|
|
68
71
|
readonly id: number;
|
|
69
72
|
readonly name: string;
|
|
70
|
-
readonly
|
|
71
|
-
readonly kind:
|
|
73
|
+
readonly parentSessionId: number | null;
|
|
74
|
+
readonly kind: ApplicationSessionKind;
|
|
72
75
|
readonly lifecycle: LoopLifecycle;
|
|
73
76
|
/** The proposals and client interactions it waits on. */
|
|
74
77
|
readonly gates: number;
|
|
75
|
-
readonly reply:
|
|
78
|
+
readonly reply: ApplicationSessionReply | null;
|
|
76
79
|
}
|
|
77
|
-
/** {§application-
|
|
80
|
+
/** {§application-session-observation} A workspace the overview's places belong to. */
|
|
78
81
|
export interface ApplicationOverviewWorkspace {
|
|
79
82
|
readonly id: number;
|
|
80
83
|
readonly name: string;
|
|
81
84
|
readonly projectRoot: string | null;
|
|
82
|
-
/** {§
|
|
85
|
+
/** {§execution-output-identity} */
|
|
83
86
|
readonly projectLabel: string | null;
|
|
84
87
|
}
|
|
85
|
-
/** {§application-
|
|
86
|
-
export interface
|
|
87
|
-
readonly
|
|
88
|
+
/** {§application-session-observation} The places in a scope, most recently finished first, and the workspaces they belong to. */
|
|
89
|
+
export interface ApplicationSessionOverview {
|
|
90
|
+
readonly sessions: readonly ApplicationOverviewSession[];
|
|
88
91
|
readonly workspaces: readonly ApplicationOverviewWorkspace[];
|
|
89
92
|
/** The places in scope the overview leaves out. */
|
|
90
93
|
readonly omitted: number;
|
|
91
94
|
}
|
|
92
|
-
/** {§
|
|
95
|
+
/** {§machine-processes} A workspace's mark after a hide or a show. */
|
|
93
96
|
export interface ApplicationWorkspaceHiding {
|
|
94
97
|
readonly id: number;
|
|
95
98
|
/** When the workspace was hidden, or null while it is shown. */
|
|
96
99
|
readonly hidden_at: string | null;
|
|
97
100
|
}
|
|
98
|
-
/** {§
|
|
99
|
-
export interface
|
|
101
|
+
/** {§machine-processes} A session's mark after a hide or a show. */
|
|
102
|
+
export interface ApplicationSessionHiding {
|
|
100
103
|
readonly id: number;
|
|
101
|
-
/** When the
|
|
104
|
+
/** When the session was hidden, or null while it is shown. */
|
|
102
105
|
readonly hidden_at: string | null;
|
|
103
|
-
/** The
|
|
104
|
-
readonly
|
|
106
|
+
/** The sessions whose mark the call changed, in id order: the group it hid or showed, none when nothing changed. */
|
|
107
|
+
readonly sessionIds: readonly number[];
|
|
105
108
|
}
|
|
106
|
-
export interface
|
|
107
|
-
readonly origin?:
|
|
109
|
+
export interface ApplicationSessionQuery {
|
|
110
|
+
readonly origin?: ApplicationSessionOrigin;
|
|
108
111
|
/** Omitted means every lineage position; null means roots only. */
|
|
109
|
-
readonly
|
|
110
|
-
/** {§
|
|
112
|
+
readonly parentSessionId?: number | null;
|
|
113
|
+
/** {§machine-processes} Omitted lists every session; true only hidden ones, false only shown ones. */
|
|
111
114
|
readonly hidden?: boolean;
|
|
112
115
|
}
|
|
113
|
-
export type
|
|
116
|
+
export type ApplicationSessionIdentity = {
|
|
114
117
|
readonly id: number;
|
|
115
118
|
readonly name?: never;
|
|
116
119
|
} | {
|
|
117
120
|
readonly id?: never;
|
|
118
121
|
readonly name: string;
|
|
119
122
|
};
|
|
120
|
-
export type
|
|
123
|
+
export type ApplicationSessionCreation = {
|
|
121
124
|
readonly workspaceId: number;
|
|
122
125
|
readonly name?: string;
|
|
123
126
|
} & ({
|
|
124
|
-
readonly
|
|
127
|
+
readonly parentSessionId: number;
|
|
125
128
|
readonly owner?: never;
|
|
126
129
|
} | {
|
|
127
|
-
readonly
|
|
130
|
+
readonly parentSessionId?: never;
|
|
128
131
|
readonly owner?: string;
|
|
129
132
|
});
|
|
130
133
|
export interface ApplicationLoopProjection {
|
|
131
134
|
readonly id: number;
|
|
132
|
-
readonly
|
|
135
|
+
readonly sessionId: number;
|
|
133
136
|
readonly sequence: number;
|
|
134
137
|
readonly status: number;
|
|
135
138
|
readonly prompt: string;
|
|
136
139
|
readonly promptSource: string | null;
|
|
137
|
-
/** When the loop first ran ({§
|
|
140
|
+
/** When the loop first ran ({§session-wait-timing}), ISO 8601 UTC; null until it has. */
|
|
138
141
|
readonly claimedAt: string | null;
|
|
139
142
|
/** When the loop concluded, ISO 8601 UTC; null while it is unfinished. */
|
|
140
143
|
readonly terminatedAt: string | null;
|
|
@@ -144,34 +147,34 @@ export interface ApplicationLoopProjection {
|
|
|
144
147
|
/** Durable observation deadline, Unix milliseconds; null outside bounded parks. */
|
|
145
148
|
readonly waitUntil: number | null;
|
|
146
149
|
/**
|
|
147
|
-
* {§
|
|
148
|
-
* address in that
|
|
150
|
+
* {§loop-completion} The operation that opened the loop, by sending its first message: its session and its log
|
|
151
|
+
* address in that session's log. Null when no session's operation did, or none was recorded.
|
|
149
152
|
*/
|
|
150
153
|
readonly invocation: {
|
|
151
|
-
readonly
|
|
154
|
+
readonly sessionId: number;
|
|
152
155
|
readonly address: string;
|
|
153
156
|
} | null;
|
|
154
157
|
}
|
|
155
158
|
export interface ApplicationLoopPacket {
|
|
156
|
-
readonly
|
|
159
|
+
readonly sessionId: number;
|
|
157
160
|
readonly loopId: number;
|
|
158
|
-
/** The loop's number among its
|
|
161
|
+
/** The loop's number among its session's loops, the L of its log coordinates. */
|
|
159
162
|
readonly loopSeq: number;
|
|
160
163
|
readonly packetCount: number;
|
|
161
164
|
/** The loop's client gauge once this packet's turn has its call. */
|
|
162
165
|
readonly gauge: ApplicationGauge;
|
|
163
166
|
}
|
|
164
|
-
/** {§tokenomics
|
|
167
|
+
/** {§tokenomics} The client gauge: a packet's curation pair and the physical pair of its emission call. */
|
|
165
168
|
export interface ApplicationGauge {
|
|
166
169
|
readonly curationWeight: number | null;
|
|
167
170
|
readonly curationBudget: number | null;
|
|
168
171
|
readonly contextTokens: number | null;
|
|
169
172
|
readonly contextCapacity: number | null;
|
|
170
173
|
}
|
|
171
|
-
export type LogEntryWire = {
|
|
174
|
+
export type LogEntryWire = LogAddressColumns & {
|
|
172
175
|
id: number;
|
|
173
|
-
|
|
174
|
-
|
|
176
|
+
session_id: number;
|
|
177
|
+
session_name: string;
|
|
175
178
|
loop_id: number;
|
|
176
179
|
loop_seq: number;
|
|
177
180
|
turn_id: number;
|
|
@@ -182,14 +185,6 @@ export type LogEntryWire = {
|
|
|
182
185
|
source: string | null;
|
|
183
186
|
op: string | null;
|
|
184
187
|
signal: unknown;
|
|
185
|
-
scheme: string | null;
|
|
186
|
-
username: string | null;
|
|
187
|
-
password: string | null;
|
|
188
|
-
hostname: string | null;
|
|
189
|
-
port: number | null;
|
|
190
|
-
pathname: string | null;
|
|
191
|
-
query: string | null;
|
|
192
|
-
fragment: string | null;
|
|
193
188
|
lineMarker: unknown;
|
|
194
189
|
tx: unknown;
|
|
195
190
|
mimetype_tx: string;
|
|
@@ -205,23 +200,51 @@ export type LogEntryWire = {
|
|
|
205
200
|
invocation?: string;
|
|
206
201
|
answering?: string;
|
|
207
202
|
};
|
|
208
|
-
/** {§methods
|
|
203
|
+
/** {§methods} A prompt's admission: its acknowledgement, the loop it landed on and how it landed. */
|
|
209
204
|
export type ApplicationLoopAdmission = OperationResult & {
|
|
210
205
|
readonly action: "injected_next_turn" | "enqueued_new_loop";
|
|
211
206
|
readonly loopId: number;
|
|
212
207
|
readonly turnSeq?: number;
|
|
213
208
|
};
|
|
214
|
-
/** {§
|
|
209
|
+
/** {§acp-status-descendants} A declared alias as the route a session seeded from it gets, its configured effort included. */
|
|
215
210
|
export type ApplicationProviderAlias = ModelRoute & {
|
|
216
211
|
readonly alias: string;
|
|
217
212
|
readonly active: boolean;
|
|
218
213
|
readonly inputCapacity: number | null;
|
|
219
214
|
};
|
|
215
|
+
/** {§startup-admission} Result of an explicit operator-triggered model catalog refresh. */
|
|
216
|
+
export interface ApplicationServiceUpdateResult {
|
|
217
|
+
readonly catalog: {
|
|
218
|
+
readonly status: "updated" | "unchanged";
|
|
219
|
+
readonly providers: number;
|
|
220
|
+
readonly models: number;
|
|
221
|
+
readonly addedModels: number;
|
|
222
|
+
readonly updatedAt: string;
|
|
223
|
+
readonly path: string;
|
|
224
|
+
};
|
|
225
|
+
readonly service: {
|
|
226
|
+
readonly package: string;
|
|
227
|
+
readonly version: string;
|
|
228
|
+
readonly artifact: "source" | "dist";
|
|
229
|
+
readonly upgradeCommand: string;
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/** {§startup-admission} Formats an operator-triggered model catalog refresh result. */
|
|
233
|
+
export declare const formatServiceUpdateReport: (result: ApplicationServiceUpdateResult | Record<string, unknown>) => string;
|
|
234
|
+
export interface ParsedFamilyCommand {
|
|
235
|
+
readonly scopePrefix: "workspace" | "session";
|
|
236
|
+
readonly sub: string;
|
|
237
|
+
readonly rest: readonly string[];
|
|
238
|
+
readonly actionName: string;
|
|
239
|
+
readonly params: Record<string, unknown>;
|
|
240
|
+
}
|
|
241
|
+
/** {§acp-action-binding} Parses a family command (`mcp`, `skills`, `members`, `env`, `schedule`) into its action kind and parameters. */
|
|
242
|
+
export declare const parseFamilyCommand: (family: string, args: readonly string[]) => ParsedFamilyCommand;
|
|
220
243
|
export type ApplicationEventHandler = (workspaceId: number | null, method: string, params: unknown) => void;
|
|
221
244
|
/**
|
|
222
245
|
* {§credential-authority} The kind of a credential: an access token is presented as a bearer; a
|
|
223
246
|
* refresh token is exchanged for new credentials of its family and is never presented; a session
|
|
224
|
-
* is a browser's standing at the authorization server ({§
|
|
247
|
+
* is a browser's standing at the authorization server ({§auth-oauth-clients}), never a bearer.
|
|
225
248
|
*/
|
|
226
249
|
export type CredentialKind = "access" | "refresh" | "session";
|
|
227
250
|
/**
|
|
@@ -244,14 +267,14 @@ export interface IssuedCredential {
|
|
|
244
267
|
* {§credential-authority} The issuing face of the authority, published by the module that issues:
|
|
245
268
|
* the issuer origin where a request's caller obtains credentials, or, asked with no request in hand,
|
|
246
269
|
* the configured issuer or the listener's own origin; answered from the moment it is published
|
|
247
|
-
* ({§http-
|
|
270
|
+
* ({§http-host}). Published, the daemon authenticates; absent, every mounted resource
|
|
248
271
|
* admits anonymously.
|
|
249
272
|
*/
|
|
250
273
|
export interface CredentialFace {
|
|
251
274
|
readonly issuer: (req?: RequestHeaders) => string;
|
|
252
275
|
}
|
|
253
276
|
/**
|
|
254
|
-
* {§credential-
|
|
277
|
+
* {§credential-authority} A live browser sign-in: the family every credential of that sign-in shares,
|
|
255
278
|
* which is its handle and never a credential; whose it is; when it was established; when the last
|
|
256
279
|
* of its session credentials expires; and the clients holding credentials in it. Never a token.
|
|
257
280
|
*/
|
|
@@ -263,10 +286,10 @@ export interface CredentialSession {
|
|
|
263
286
|
readonly clients: readonly string[];
|
|
264
287
|
}
|
|
265
288
|
/**
|
|
266
|
-
* {§credential-
|
|
289
|
+
* {§credential-authority} The confidential client a module of this daemon registers for itself at
|
|
267
290
|
* setup: its id, the absolute pathnames under its own mounts it may be answered at, the scopes it may
|
|
268
291
|
* ask for and, optionally, the pathname of a stylesheet it serves for the authority's documents shown
|
|
269
|
-
* to its requests ({§
|
|
292
|
+
* to its requests ({§auth-oauth-clients}). The issuer supplies the origin of each. What others may
|
|
270
293
|
* know of it; never its secret.
|
|
271
294
|
*/
|
|
272
295
|
export interface ModuleClient {
|
|
@@ -302,7 +325,7 @@ export interface CredentialAuthority {
|
|
|
302
325
|
};
|
|
303
326
|
revokeFamily(family: string): void;
|
|
304
327
|
onRevoked(listener: (family: string) => void): () => void;
|
|
305
|
-
/** {§credential-
|
|
328
|
+
/** {§credential-authority} The live browser sign-ins of `subject`, oldest first; never a token. */
|
|
306
329
|
sessions(subject: string): readonly CredentialSession[];
|
|
307
330
|
/**
|
|
308
331
|
* Registers the calling module's own confidential client and answers its secret, minted for
|
|
@@ -321,4 +344,12 @@ export interface CredentialAuthority {
|
|
|
321
344
|
/** The published face, or null while nothing issues: the daemon authenticates nothing. */
|
|
322
345
|
face(): CredentialFace | null;
|
|
323
346
|
}
|
|
347
|
+
export interface ApplicationPersonaProjection {
|
|
348
|
+
readonly name: string;
|
|
349
|
+
readonly description: string;
|
|
350
|
+
readonly body: string;
|
|
351
|
+
readonly source: string;
|
|
352
|
+
readonly model?: string;
|
|
353
|
+
readonly effort?: Effort;
|
|
354
|
+
}
|
|
324
355
|
//# sourceMappingURL=Application.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/Application.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/Application.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,wBAAwB,GAC9B;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9F,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;CACrC;AAKD,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,0GAA0G;IAC1G,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,SAAS,CAAC;AAM3D,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9D,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,oGAAoG;AACpG,MAAM,WAAW,uBAAuB;IACpC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAAC;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC/B;AAED,yFAAyF;AACzF,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAClD;AAED,sFAAsF;AACtF,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mCAAmC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED,iIAAiI;AACjI,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC7D,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,sEAAsE;AACtE,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,oEAAoE;AACpE,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oHAAoH;IACpH,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAC3C,mEAAmE;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,sGAAsG;IACtG,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,0BAA0B,GAChC;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,MAAM,0BAA0B,GAAG;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,CACE;IAAE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAClE,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,yFAAyF;IACzF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI,CAAC;IAChD,uGAAuG;IACvG,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACxF;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;CACpC;AAED,2GAA2G;AAC3G,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAMD,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IAEf,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,qGAAqG;AACrG,MAAM,MAAM,wBAAwB,GAAG,eAAe,GAAG;IACrD,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,6HAA6H;AAC7H,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,2FAA2F;AAC3F,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,CAAC,OAAO,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE;QACd,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;QACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACnC,CAAC;CACL;AAED,uFAAuF;AACvF,eAAO,MAAM,yBAAyB,WAAY,8BAA8B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAiB5G,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,yIAAyI;AACzI,eAAO,MAAM,kBAAkB,WAAY,MAAM,QAAQ,SAAS,MAAM,EAAE,KAAG,mBAgL5E,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAClC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,KACd,IAAI,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,KAAK,MAAM,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,CAAC;IACtG,2FAA2F;IAC3F,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAC/C;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACzG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC1D,mGAAmG;IACnG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,iBAAiB,EAAE,CAAC;IACxD;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACnG,6FAA6F;IAC7F,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACxC,gGAAgG;IAChG,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,qFAAqF;IACrF,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACpC,0FAA0F;IAC1F,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC5B"}
|
package/dist/src/Application.js
CHANGED
|
@@ -1,2 +1,199 @@
|
|
|
1
|
-
|
|
1
|
+
import { isRecord } from "./guards.js";
|
|
2
|
+
/** {§startup-admission} Formats an operator-triggered model catalog refresh result. */
|
|
3
|
+
export const formatServiceUpdateReport = (result) => {
|
|
4
|
+
const cat = isRecord(result.catalog) ? result.catalog : {};
|
|
5
|
+
const svc = isRecord(result.service) ? result.service : {};
|
|
6
|
+
const addedModels = typeof cat.addedModels === "number" ? cat.addedModels : 0;
|
|
7
|
+
const added = addedModels > 0 ? `, +${addedModels} new` : "";
|
|
8
|
+
const status = typeof cat.status === "string" ? cat.status : "updated";
|
|
9
|
+
const models = typeof cat.models === "number" ? cat.models : 0;
|
|
10
|
+
const providers = typeof cat.providers === "number" ? cat.providers : 0;
|
|
11
|
+
const catLine = `catalog: ${status} (${models} models across ${providers} providers${added})`;
|
|
12
|
+
const suffix = svc.artifact === "source" ? " (source checkout)" : "";
|
|
13
|
+
const pkg = typeof svc.package === "string" ? svc.package : "@plurnk/plurnk-service";
|
|
14
|
+
const ver = typeof svc.version === "string" ? svc.version : "";
|
|
15
|
+
const upgradeCmd = typeof svc.upgradeCommand === "string"
|
|
16
|
+
? svc.upgradeCommand
|
|
17
|
+
: "npm install -g --ignore-scripts @plurnk/plurnk-service@latest @plurnk/plurnk@latest";
|
|
18
|
+
const verLine = `version: ${pkg}@${ver}${suffix} — to update packages, stop the daemon and run: ${upgradeCmd}`;
|
|
19
|
+
return `${catLine}\n${verLine}`;
|
|
20
|
+
};
|
|
21
|
+
/** {§acp-action-binding} Parses a family command (`mcp`, `skills`, `members`, `env`, `schedule`) into its action kind and parameters. */
|
|
22
|
+
export const parseFamilyCommand = (family, args) => {
|
|
23
|
+
let scopePrefix = family === "env" ? "session" : "workspace";
|
|
24
|
+
const filteredArgs = [];
|
|
25
|
+
for (let i = 0; i < args.length; i += 1) {
|
|
26
|
+
const tok = args[i] ?? "";
|
|
27
|
+
if (tok === "--scope" && args[i + 1] !== undefined) {
|
|
28
|
+
scopePrefix = args[i + 1] === "workspace" ? "workspace" : "session";
|
|
29
|
+
i += 1;
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (tok.startsWith("--scope=")) {
|
|
33
|
+
scopePrefix = tok.slice("--scope=".length) === "workspace" ? "workspace" : "session";
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (tok.length > 0) {
|
|
37
|
+
filteredArgs.push(tok);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const sub = filteredArgs[0] ?? "list";
|
|
41
|
+
const rest = filteredArgs.slice(1);
|
|
42
|
+
const actionName = `${scopePrefix}.${family}.${sub}`;
|
|
43
|
+
if (sub === "list") {
|
|
44
|
+
return { scopePrefix, sub, rest, actionName, params: {} };
|
|
45
|
+
}
|
|
46
|
+
if (sub === "discover") {
|
|
47
|
+
const query = rest.join(" ");
|
|
48
|
+
return {
|
|
49
|
+
scopePrefix,
|
|
50
|
+
sub,
|
|
51
|
+
rest,
|
|
52
|
+
actionName,
|
|
53
|
+
params: query.length === 0
|
|
54
|
+
? {}
|
|
55
|
+
: family === "skills"
|
|
56
|
+
? { source: query }
|
|
57
|
+
: family === "schedule"
|
|
58
|
+
? { rule: query }
|
|
59
|
+
: { query },
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (sub === "enable" || sub === "disable" || sub === "remove") {
|
|
63
|
+
const target = rest[0] ?? "";
|
|
64
|
+
return {
|
|
65
|
+
scopePrefix,
|
|
66
|
+
sub,
|
|
67
|
+
rest,
|
|
68
|
+
actionName,
|
|
69
|
+
params: family === "members" ? { file: target } : { alias: target },
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if ((sub === "add" || sub === "replace") && family === "mcp") {
|
|
73
|
+
const alias = rest[0] ?? "";
|
|
74
|
+
const target = rest[1] ?? "";
|
|
75
|
+
const extraArgs = rest.slice(2);
|
|
76
|
+
const params = /^https?:\/\//iu.test(target)
|
|
77
|
+
? { alias, type: "streamable-http", url: target }
|
|
78
|
+
: {
|
|
79
|
+
alias,
|
|
80
|
+
type: "stdio",
|
|
81
|
+
command: target,
|
|
82
|
+
...(extraArgs.length > 0 ? { args: extraArgs } : {}),
|
|
83
|
+
};
|
|
84
|
+
return {
|
|
85
|
+
scopePrefix,
|
|
86
|
+
sub,
|
|
87
|
+
rest,
|
|
88
|
+
actionName: `workspace.mcp.${sub}`,
|
|
89
|
+
params,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
if (sub === "complete" && family === "mcp") {
|
|
93
|
+
let server = "";
|
|
94
|
+
let ref = { type: "ref/prompt", name: "" };
|
|
95
|
+
let argTokens = [];
|
|
96
|
+
const uriMatch = /^([a-z0-9_-]+):\/\/\/(prompts|resources)\/(.+)$/iu.exec(rest[0] ?? "");
|
|
97
|
+
if (uriMatch) {
|
|
98
|
+
server = uriMatch[1] ?? "";
|
|
99
|
+
const kind = (uriMatch[2] ?? "").toLowerCase();
|
|
100
|
+
const target = decodeURIComponent(uriMatch[3] ?? "");
|
|
101
|
+
ref = kind === "resources"
|
|
102
|
+
? { type: "ref/resource", uri: target }
|
|
103
|
+
: { type: "ref/prompt", name: target };
|
|
104
|
+
argTokens = rest.slice(1);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
server = rest[0] ?? "";
|
|
108
|
+
const rawKind = (rest[1] ?? "prompt").toLowerCase();
|
|
109
|
+
const target = rest[2] ?? "";
|
|
110
|
+
ref = rawKind === "resource" || rawKind === "ref/resource"
|
|
111
|
+
? { type: "ref/resource", uri: target }
|
|
112
|
+
: { type: "ref/prompt", name: target };
|
|
113
|
+
argTokens = rest.slice(3);
|
|
114
|
+
}
|
|
115
|
+
const firstArg = argTokens[0] ?? "";
|
|
116
|
+
const eqIdx = firstArg.indexOf("=");
|
|
117
|
+
const argument = eqIdx >= 0
|
|
118
|
+
? { name: firstArg.slice(0, eqIdx), value: firstArg.slice(eqIdx + 1) }
|
|
119
|
+
: { name: firstArg, value: argTokens[1] ?? "" };
|
|
120
|
+
const contextArgs = {};
|
|
121
|
+
for (const extra of argTokens.slice(eqIdx >= 0 ? 1 : 2)) {
|
|
122
|
+
const cEq = extra.indexOf("=");
|
|
123
|
+
if (cEq > 0) {
|
|
124
|
+
contextArgs[extra.slice(0, cEq)] = extra.slice(cEq + 1);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
scopePrefix,
|
|
129
|
+
sub,
|
|
130
|
+
rest,
|
|
131
|
+
actionName: "workspace.mcp.complete",
|
|
132
|
+
params: {
|
|
133
|
+
server,
|
|
134
|
+
ref,
|
|
135
|
+
argument,
|
|
136
|
+
...(Object.keys(contextArgs).length > 0 ? { context: { arguments: contextArgs } } : {}),
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
if ((sub === "add" || sub === "replace") && family === "skills") {
|
|
141
|
+
const alias = rest[0] ?? "";
|
|
142
|
+
const source = rest[1] ?? "";
|
|
143
|
+
const refIdx = rest.indexOf("--ref");
|
|
144
|
+
const ref = refIdx >= 0 ? rest[refIdx + 1] : undefined;
|
|
145
|
+
return {
|
|
146
|
+
scopePrefix,
|
|
147
|
+
sub,
|
|
148
|
+
rest,
|
|
149
|
+
actionName: `workspace.skills.${sub}`,
|
|
150
|
+
params: {
|
|
151
|
+
alias,
|
|
152
|
+
source,
|
|
153
|
+
...(ref !== undefined ? { ref } : {}),
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
if (sub === "add" && family === "members") {
|
|
158
|
+
return {
|
|
159
|
+
scopePrefix,
|
|
160
|
+
sub,
|
|
161
|
+
rest,
|
|
162
|
+
actionName: "workspace.members.add",
|
|
163
|
+
params: { files: rest },
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
if ((sub === "add" || sub === "replace") && family === "env") {
|
|
167
|
+
const alias = rest[0] ?? "";
|
|
168
|
+
const value = rest.slice(1).join(" ");
|
|
169
|
+
return {
|
|
170
|
+
scopePrefix,
|
|
171
|
+
sub,
|
|
172
|
+
rest,
|
|
173
|
+
actionName: `${scopePrefix}.env.${sub}`,
|
|
174
|
+
params: { alias, value },
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
if ((sub === "add" || sub === "replace") && family === "schedule") {
|
|
178
|
+
const alias = rest[0] ?? "";
|
|
179
|
+
const sessionArg = rest[1] ?? "";
|
|
180
|
+
const rule = rest[2] ?? "";
|
|
181
|
+
const prompt = rest.slice(3).join(" ");
|
|
182
|
+
const target = sessionArg.startsWith("session://") ? sessionArg : `session://${sessionArg}`;
|
|
183
|
+
return {
|
|
184
|
+
scopePrefix,
|
|
185
|
+
sub,
|
|
186
|
+
rest,
|
|
187
|
+
actionName: `workspace.schedule.${sub}`,
|
|
188
|
+
params: { alias, rule, target, prompt },
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
scopePrefix,
|
|
193
|
+
sub,
|
|
194
|
+
rest,
|
|
195
|
+
actionName,
|
|
196
|
+
params: rest.length > 0 ? { args: rest } : {},
|
|
197
|
+
};
|
|
198
|
+
};
|
|
2
199
|
//# sourceMappingURL=Application.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/Application.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/Application.ts"],"names":[],"mappings":"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"}
|