@piagent/platform 1.40.0 → 1.42.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/CHANGELOG.md +1012 -2035
- package/CONTRIBUTING.md +2 -0
- package/README.md +128 -325
- package/README.vi.md +149 -143
- package/architecture/layers.json +10 -0
- package/docs/command-reference-vietnamese.md +2 -2
- package/docs/distribution-standard.md +6 -6
- package/docs/en/architecture.md +1 -0
- package/docs/languages.json +4 -4
- package/docs/operator-manual-vietnamese.md +7 -7
- package/docs/publishing-for-teams.md +2 -0
- package/docs/release-install-policy.md +3 -3
- package/docs/team-onboarding.md +2 -2
- package/docs/vi/architecture.md +1 -0
- package/docs-site/architecture.html +71 -63
- package/docs-site/assets/docs.css +2736 -1030
- package/docs-site/assets/docs.js +451 -43
- package/docs-site/assets/og.png +0 -0
- package/docs-site/assets/piagent-logo.svg +9 -31
- package/docs-site/assets/search-en.json +1 -0
- package/docs-site/assets/search-vi.json +1 -0
- package/docs-site/benchmark.html +71 -63
- package/docs-site/commands.html +72 -64
- package/docs-site/content/en/index.html +220 -131
- package/docs-site/content/en/quickstart.html +74 -90
- package/docs-site/content/en/update.html +80 -0
- package/docs-site/content/en/whats-new.html +1 -678
- package/docs-site/content/index.html +220 -131
- package/docs-site/content/quickstart.html +73 -108
- package/docs-site/content/update.html +80 -0
- package/docs-site/content/whats-new.html +1 -678
- package/docs-site/context-engine.html +73 -65
- package/docs-site/ecosystem.html +73 -65
- package/docs-site/en/architecture.html +67 -59
- package/docs-site/en/benchmark.html +67 -59
- package/docs-site/en/commands.html +68 -60
- package/docs-site/en/context-engine.html +68 -60
- package/docs-site/en/ecosystem.html +68 -60
- package/docs-site/en/index.html +281 -220
- package/docs-site/en/mcp-approval.html +67 -59
- package/docs-site/en/mcp-auth.html +67 -59
- package/docs-site/en/mcp-servers.html +68 -60
- package/docs-site/en/mcp.html +64 -56
- package/docs-site/en/permissions.html +68 -60
- package/docs-site/en/profiles.html +68 -60
- package/docs-site/en/quickstart.html +142 -150
- package/docs-site/en/runtime.html +67 -59
- package/docs-site/en/scope.html +68 -60
- package/docs-site/en/security.html +64 -56
- package/docs-site/en/team.html +67 -59
- package/docs-site/en/update.html +228 -0
- package/docs-site/en/whats-new.html +1601 -719
- package/docs-site/en/windows.html +71 -63
- package/docs-site/en/workflows.html +68 -60
- package/docs-site/favicon.svg +9 -14
- package/docs-site/index.html +281 -220
- package/docs-site/mcp-approval.html +70 -62
- package/docs-site/mcp-auth.html +70 -62
- package/docs-site/mcp-servers.html +71 -63
- package/docs-site/mcp.html +70 -62
- package/docs-site/permissions.html +72 -64
- package/docs-site/profiles.html +72 -64
- package/docs-site/quickstart.html +145 -172
- package/docs-site/releases.json +4449 -0
- package/docs-site/runtime.html +73 -65
- package/docs-site/scope.html +73 -65
- package/docs-site/security.html +73 -65
- package/docs-site/team.html +71 -63
- package/docs-site/update.html +228 -0
- package/docs-site/whats-new.html +1605 -723
- package/docs-site/windows.html +75 -67
- package/docs-site/workflows.html +73 -65
- package/evals/fixtures/piagent-webui/document-asset-v1.invalid.json +12 -0
- package/evals/fixtures/piagent-webui/document-asset-v1.valid.json +12 -0
- package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
- package/package.json +1 -1
- package/packages/piagent-core/package.json +1 -1
- package/packages/piagent-core/runtime/inspection/document-workspace-projection.ts +78 -15
- package/packages/piagent-core/skills/fe-change-report/SKILL.md +175 -0
- package/packages/piagent-core/skills/fe-change-report/scripts/build-report.mjs +183 -0
- package/packages/piagent-core/skills/fe-change-report/scripts/capture.mjs +150 -0
- package/packages/piagent-core/skills/fe-change-report/scripts/diff-regions.mjs +110 -0
- package/packages/piagent-webui/dist/client/assets/App-DBx4BU3F.js +5 -0
- package/packages/piagent-webui/dist/client/assets/LineReview-DzonwD-g.js +3 -0
- package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-BpoF2k2-.js → MarkdownMessage-DchODuO7.js} +2 -2
- package/packages/piagent-webui/dist/client/assets/SessionInspectorDrawer-BHHNlct3.js +1 -0
- package/packages/piagent-webui/dist/client/assets/SettingsPage-DX28MsZA.js +1 -0
- package/packages/piagent-webui/dist/client/assets/TerminalPanel-C--BiN0p.js +2 -0
- package/packages/piagent-webui/dist/client/assets/{TerminalView-Dw9xqakv.js → TerminalView-BML7uS6R.js} +3 -3
- package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-B7ieqDnt.js +2 -0
- package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-BOafuPU-.js +5 -0
- package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CGoGfUPk.js +1 -0
- package/packages/piagent-webui/dist/client/assets/api-BUjrtT1B.js +1 -0
- package/packages/piagent-webui/dist/client/assets/index-C7Azrwpq.js +132 -0
- package/packages/piagent-webui/dist/client/assets/index-Dqb2hNan.css +1 -0
- package/packages/piagent-webui/dist/client/assets/tab-close-Crj8vsUq.js +1 -0
- package/packages/piagent-webui/dist/client/assets/ui-preferences-B3UfDp-5.js +1 -0
- package/packages/piagent-webui/dist/client/assets/vendor-Ch5hIe0W.js +136 -0
- package/packages/piagent-webui/dist/client/index.html +5 -8
- package/packages/piagent-webui/extension/piagent-webui.ts +1 -0
- package/packages/piagent-webui/server/core-inspection-provider.ts +5 -0
- package/packages/piagent-webui/server/ipc-read-model-client.ts +1 -0
- package/packages/piagent-webui/server/read-model-provider.ts +1 -0
- package/packages/piagent-webui/server/read-only-router.ts +6 -0
- package/schemas/piagent-webui/catalog-v1.json +9 -0
- package/schemas/piagent-webui/document-asset-v1.schema.json +57 -0
- package/scripts/build-docs-site.mjs +205 -348
- package/scripts/check-public-wording.mjs +2 -1
- package/scripts/docs-site-icons.mjs +84 -0
- package/scripts/docs-site-nav.mjs +302 -0
- package/scripts/docs-site-releases.mjs +227 -0
- package/packages/piagent-webui/dist/client/assets/Alert-DGWhP2MM.js +0 -1
- package/packages/piagent-webui/dist/client/assets/Button-QItfZUNj.js +0 -1
- package/packages/piagent-webui/dist/client/assets/DialogTitle-CyaFPaiW.js +0 -3
- package/packages/piagent-webui/dist/client/assets/TerminalPanel-Dg3eghy4.js +0 -2
- package/packages/piagent-webui/dist/client/assets/Typography-B9om7Evq.js +0 -1
- package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-DtwXZAgK.js +0 -2
- package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-WS-yLlnb.js +0 -5
- package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CYCY-s44.js +0 -1
- package/packages/piagent-webui/dist/client/assets/index-BgJgso6j.js +0 -102
- package/packages/piagent-webui/dist/client/assets/index-Brs_HjIo.css +0 -1
- package/packages/piagent-webui/dist/client/assets/tab-close-CqPDs-w5.js +0 -1
- package/packages/piagent-webui/dist/client/assets/ui-preferences-BO3AV7QE.js +0 -10
- package/packages/piagent-webui/dist/client/assets/useId-DEefKUAT.js +0 -124
|
@@ -7,16 +7,13 @@
|
|
|
7
7
|
<meta name="csp-nonce" content="__PIAGENT_CSP_NONCE__" />
|
|
8
8
|
<meta name="piagent-webui-mode" content="__PIAGENT_WEBUI_MODE__" />
|
|
9
9
|
<title>Piagent WebUI</title>
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-C7Azrwpq.js"></script>
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/Typography-B9om7Evq.js">
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/Alert-DGWhP2MM.js">
|
|
16
|
-
<link rel="modulepreload" crossorigin href="/assets/DialogTitle-CyaFPaiW.js">
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/Button-QItfZUNj.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/vendor-Ch5hIe0W.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/ui-preferences-B3UfDp-5.js">
|
|
18
14
|
<link rel="modulepreload" crossorigin href="/assets/bootstrap-CedkNtRG.js">
|
|
19
|
-
<link rel="
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/api-BUjrtT1B.js">
|
|
16
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Dqb2hNan.css">
|
|
20
17
|
</head>
|
|
21
18
|
<body>
|
|
22
19
|
<div id="root"></div>
|
|
@@ -155,6 +155,7 @@ function readMethod(provider: CoreInspectionProvider, queue: HeldMessageQueue, s
|
|
|
155
155
|
if (method === "releaseMonitor" && args.length === 0) return provider.releaseMonitor();
|
|
156
156
|
if (method === "documents" && args.length === 0) return provider.documents();
|
|
157
157
|
if (method === "document" && args.length === 1 && typeof args[0] === "string" && REF.test(args[0])) return provider.document(args[0]);
|
|
158
|
+
if (method === "documentAsset" && args.length === 2 && typeof args[0] === "string" && REF.test(args[0]) && typeof args[1] === "string" && REF.test(args[1])) return provider.documentAsset(args[0], args[1]);
|
|
158
159
|
if (method === "logPreview" && args.length === 1 && typeof args[0] === "string" && REF.test(args[0])) return provider.logPreview(args[0]);
|
|
159
160
|
if (method === "transcript" && args.length === 2 && (args[0] === null || typeof args[0] === "string" && REF.test(args[0]))
|
|
160
161
|
&& Number.isInteger(args[1]) && Number(args[1]) >= 1 && Number(args[1]) <= 200) return provider.transcript(args[0] as string | null, Number(args[1]));
|
|
@@ -246,6 +246,11 @@ export class CoreInspectionProvider implements WebUiReadModelProvider {
|
|
|
246
246
|
return core.projectDocumentWorkspaceDocument({ ...this.#documentWorkspaceInput(core.matchesProtectedPath), documentRef });
|
|
247
247
|
}
|
|
248
248
|
|
|
249
|
+
async documentAsset(documentRef: string, name: string): Promise<unknown> {
|
|
250
|
+
const core = await loadCoreInspection();
|
|
251
|
+
return core.projectDocumentWorkspaceAsset({ ...this.#documentWorkspaceInput(core.matchesProtectedPath), documentRef, name });
|
|
252
|
+
}
|
|
253
|
+
|
|
249
254
|
#documentWorkspaceInput(matchesProtectedPath: (candidate: string, patterns: string[]) => unknown) {
|
|
250
255
|
const protectedPaths = this.#input.protectedPaths?.() ?? [];
|
|
251
256
|
return { cwd: this.#input.cwd, profileRoots: this.#input.documentReadRoots?.(),
|
|
@@ -64,6 +64,7 @@ export class IpcReadModelClient implements WebUiReadModelProvider {
|
|
|
64
64
|
releaseMonitor(): Promise<unknown> { return this.#request("releaseMonitor"); }
|
|
65
65
|
documents(): Promise<unknown> { return this.#request("documents"); }
|
|
66
66
|
document(documentRef: string): Promise<unknown> { return this.#request("document", [documentRef]); }
|
|
67
|
+
documentAsset(documentRef: string, name: string): Promise<unknown> { return this.#request("documentAsset", [documentRef, name]); }
|
|
67
68
|
activity(): Promise<unknown> { return this.#request("activity"); }
|
|
68
69
|
logPreview(activityRef: string): Promise<unknown> { return this.#request("logPreview", [activityRef]); }
|
|
69
70
|
transcript(beforeCursor: string | null, limit: number): Promise<unknown> { return this.#request("transcript", [beforeCursor, limit]); }
|
|
@@ -27,6 +27,7 @@ export type WebUiReadModelProvider = {
|
|
|
27
27
|
releaseMonitor(): unknown | Promise<unknown>;
|
|
28
28
|
documents(): unknown | Promise<unknown>;
|
|
29
29
|
document(documentRef: string): unknown | Promise<unknown>;
|
|
30
|
+
documentAsset?(documentRef: string, name: string): unknown | Promise<unknown>;
|
|
30
31
|
activity(): unknown | Promise<unknown>;
|
|
31
32
|
logPreview(activityRef: string): unknown | Promise<unknown>;
|
|
32
33
|
transcript(beforeCursor: string | null, limit: number): unknown | Promise<unknown>;
|
|
@@ -33,6 +33,12 @@ export async function routeReadOnlyRequest(url: URL, provider: WebUiReadModelPro
|
|
|
33
33
|
return { handled: true, status: 200, value: await provider.subagentTree(ref) };
|
|
34
34
|
}
|
|
35
35
|
if (url.pathname === "/api/v1/documents" && !url.search) return { handled: true, status: 200, value: await provider.documents() };
|
|
36
|
+
const asset = /^\/api\/v1\/documents\/([^/]+)\/assets\/([^/]+)$/.exec(url.pathname);
|
|
37
|
+
if (asset) {
|
|
38
|
+
if (url.search || !OPAQUE_REF.test(asset[1]) || !OPAQUE_REF.test(asset[2])) return { handled: true, status: 400, value: { error: { code: "invalid-document-asset-ref" } } };
|
|
39
|
+
if (!provider.documentAsset) return { handled: true, status: 503, value: { error: { code: "document-asset-unavailable" } } };
|
|
40
|
+
return { handled: true, status: 200, value: await provider.documentAsset(asset[1], asset[2]) };
|
|
41
|
+
}
|
|
36
42
|
if (url.pathname.startsWith("/api/v1/documents/")) {
|
|
37
43
|
const ref = url.pathname.slice("/api/v1/documents/".length);
|
|
38
44
|
if (url.search || !OPAQUE_REF.test(ref) || ref.includes("/")) return { handled: true, status: 400, value: { error: { code: "invalid-document-ref" } } };
|
|
@@ -182,6 +182,15 @@
|
|
|
182
182
|
"supported": true,
|
|
183
183
|
"current": true
|
|
184
184
|
},
|
|
185
|
+
{
|
|
186
|
+
"name": "document-asset-v1",
|
|
187
|
+
"file": "document-asset-v1.schema.json",
|
|
188
|
+
"id": "https://piagent.io.vn/schemas/piagent-webui/document-asset-v1.schema.json",
|
|
189
|
+
"documentVersion": 1,
|
|
190
|
+
"role": "read-model",
|
|
191
|
+
"supported": true,
|
|
192
|
+
"current": true
|
|
193
|
+
},
|
|
185
194
|
{
|
|
186
195
|
"name": "control-command-v1",
|
|
187
196
|
"file": "control-command-v1.schema.json",
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://piagent.io.vn/schemas/piagent-webui/document-asset-v1.schema.json",
|
|
4
|
+
"title": "Piagent WebUI change report screenshot v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schemaVersion", "version", "generatedAt", "documentRef", "name", "state", "mediaType", "sizeBytes", "base64", "reasonCode"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": { "const": 1 },
|
|
10
|
+
"version": { "const": "piagent-webui-document-asset-v1" },
|
|
11
|
+
"generatedAt": { "$ref": "common-v1.schema.json#/$defs/timestamp" },
|
|
12
|
+
"documentRef": { "$ref": "common-v1.schema.json#/$defs/opaqueRef" },
|
|
13
|
+
"name": {
|
|
14
|
+
"anyOf": [
|
|
15
|
+
{ "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^(before|after|diff)-[a-z0-9][a-z0-9-]{0,100}\\.png$" },
|
|
16
|
+
{ "type": "null" }
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"state": { "enum": ["ready", "unavailable"] },
|
|
20
|
+
"mediaType": { "enum": ["image/png", null] },
|
|
21
|
+
"sizeBytes": {
|
|
22
|
+
"anyOf": [
|
|
23
|
+
{ "type": "integer", "minimum": 8, "maximum": 8388608 },
|
|
24
|
+
{ "type": "null" }
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"base64": {
|
|
28
|
+
"anyOf": [
|
|
29
|
+
{ "type": "string", "minLength": 12, "maxLength": 11184812, "pattern": "^[A-Za-z0-9+/]+={0,2}$" },
|
|
30
|
+
{ "type": "null" }
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"reasonCode": { "$ref": "common-v1.schema.json#/$defs/nullableReasonCode" }
|
|
34
|
+
},
|
|
35
|
+
"allOf": [
|
|
36
|
+
{
|
|
37
|
+
"if": { "properties": { "state": { "const": "ready" } }, "required": ["state"] },
|
|
38
|
+
"then": {
|
|
39
|
+
"properties": {
|
|
40
|
+
"name": { "type": "string" },
|
|
41
|
+
"mediaType": { "const": "image/png" },
|
|
42
|
+
"sizeBytes": { "type": "integer" },
|
|
43
|
+
"base64": { "type": "string" },
|
|
44
|
+
"reasonCode": { "type": "null" }
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"else": {
|
|
48
|
+
"properties": {
|
|
49
|
+
"mediaType": { "type": "null" },
|
|
50
|
+
"sizeBytes": { "type": "null" },
|
|
51
|
+
"base64": { "type": "null" },
|
|
52
|
+
"reasonCode": { "$ref": "common-v1.schema.json#/$defs/reasonCode" }
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|