page-agent-sdk 3.16.0 → 3.17.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 +4 -2
- package/README.zh-CN.md +4 -2
- package/dist/page-agent-sdk.headless.js +31 -7
- package/dist/page-agent-sdk.iife.js +146 -146
- package/dist/page-agent-sdk.js +970 -918
- package/dist/page-agent-sdk.umd.cjs +34 -34
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/skills/page-agent-sdk-integrate/references/integration-prompt.md +1 -0
- package/types/index.d.ts +37 -0
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/page-agent-sdk)
|
|
10
10
|
[](https://github.com/whyymj/page-agent-sdk/blob/master/LICENSE)
|
|
11
|
-
[](#self-tests)
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -247,6 +247,8 @@ ChatDialog, MessageContent, CodePreview, SkillPanel, DebugDrawer, useChat
|
|
|
247
247
|
| `drawerHidden` | `boolean` · default `false` | Drawer mode hidden by default (not shown after `mount`; requires `sdk.show()` to display): for "click button to show chatbox" scenarios; only effective when `drawer: true` |
|
|
248
248
|
| `inputRows` | `number` · default `2` | Input box rows (visible height); `1` = single row; `2` = 2-row initial height, auto-expands up to max-height:100px; `>2` = taller initial height |
|
|
249
249
|
| `onClose` | `() => void` | Drawer mode close callback (default `hide`; pass to override and sync external mount state) |
|
|
250
|
+
| `theme` | `'light' \| 'dark'` · default `'dark'` | Built-in theme (dark = Ark design palette); fully customizable via `--cs-*` on an ancestor |
|
|
251
|
+
| `icons` | `Partial<DialogIcons>` | **Icon customization**: partial override of default emojis (`header` 🤖 / `subagent` 🤖 / `subagentProgress` 🧬 / `empty` 💬 / `focus` 🎯 / `queued` 📋 / `queuedEdit` ✏️ / `recommend` 💡 / `conflict` ⚠️; `assistantAvatar`/`userAvatar` default to built-in SVG, pass a text glyph to replace). Values are plain text (emoji/char, not parsed as HTML); empty string hides the icon; unset keys keep defaults |
|
|
250
252
|
|
|
251
253
|
### Extension points
|
|
252
254
|
|
|
@@ -528,7 +530,7 @@ function switchTo(i: number) {
|
|
|
528
530
|
## Self-tests
|
|
529
531
|
|
|
530
532
|
```bash
|
|
531
|
-
npm test #
|
|
533
|
+
npm test # 2192 assertions (tsx, source-level; no LLM dependency)
|
|
532
534
|
npm run test:e2e # 698 integration assertions (node, built dist; covers APIs/options/modules/simple&complex scenes: default systemPrompt(capability overview) / dynamic register + inspect sync / inspect(tools/middleware/subagent/verify/mcp/todos/lastCompression/checkpoints reflect config) / custom tools/middleware/skills/memory injection / runtime dynamic reconfiguration(setTools/addTool/removeTool/setLlm/setMemory/setSubagents reflect) / switchSession(on/off) / shareContext on/off sharing/independent / storage backends + object config / presets(3) / checkpoint / exports complete(39+ fns/components) / util fns usable(isQuotaError/estimateTokens/jpEval/searchJson) / source=builtin / mount boundary / hook multi-listener / llm config / hide/show / error scenes)
|
|
533
535
|
```
|
|
534
536
|
|
package/README.zh-CN.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/page-agent-sdk)
|
|
10
10
|
[](https://github.com/whyymj/page-agent-sdk/blob/master/LICENSE)
|
|
11
|
-
[](#自测)
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -243,6 +243,8 @@ ChatDialog, MessageContent, CodePreview, SkillPanel, DebugDrawer, useChat
|
|
|
243
243
|
| `drawerHidden` | `boolean` · 默认 `false` | 抽屉模式默认隐藏(`mount` 后不显示,需 `sdk.show()` 才出现):适合「点击按钮才出现聊天框」场景;仅 `drawer:true` 生效 |
|
|
244
244
|
| `inputRows` | `number` · 默认 `2` | 输入框行数(可见高度);`1` = 单行;`2` = 2 行初始高度,自动扩展至 max-height:100px;`>2` = 更高初始高度 |
|
|
245
245
|
| `onClose` | `() => void` | 抽屉模式关闭回调(默认 `hide`;传此选项覆盖默认,便于同步外部挂载状态) |
|
|
246
|
+
| `theme` | `'light' \| 'dark'` · 默认 `'dark'` | 内置主题(dark = 方舟设计稿深色紫调);亦可祖先覆盖 `--cs-*` 完全自定义 |
|
|
247
|
+
| `icons` | `Partial<DialogIcons>` | **图标自定义**:局部覆盖默认 emoji(`header` 🤖 / `subagent` 🤖 / `subagentProgress` 🧬 / `empty` 💬 / `focus` 🎯 / `queued` 📋 / `queuedEdit` ✏️ / `recommend` 💡 / `conflict` ⚠️;`assistantAvatar`/`userAvatar` 缺省 = 内置 SVG,传文本字形替换)。值为纯文本(emoji/字符,不解析 HTML);空串 = 隐藏该图标;未传键用默认 |
|
|
246
248
|
|
|
247
249
|
### 扩展点
|
|
248
250
|
|
|
@@ -473,7 +475,7 @@ function switchTo(i: number) {
|
|
|
473
475
|
## 自测
|
|
474
476
|
|
|
475
477
|
```bash
|
|
476
|
-
npm test #
|
|
478
|
+
npm test # 2192 项断言(tsx 源码级,不依赖 LLM)
|
|
477
479
|
npm run test:e2e # 698 项集成断言(node 跑构建产物 dist;覆盖各 API/配置项/功能模块/简单与复杂场景:默认 systemPrompt(含能力概述) / 动态注册与 inspect 同步 / inspect(tools/middleware/subagent/verify/mcp/todos/lastCompression/checkpoints 反映配置) / 自定义 tools/middleware/skills/memory 注入 / 运行时动态重配置(setTools/addTool/removeTool/setLlm/setMemory/setSubagents 反映) / switchSession(开/未开) / shareContext 开/关共享独立 / storage 后端+对象配置 / presets 三预设 / checkpoint / 导出项完整(39+ 函数/组件) / 工具函数可用(isQuotaError/estimateTokens/jpEval/searchJson) / source=builtin / mount 边界 / hook 多监听器 / llm 配置 / 错误场景)
|
|
478
480
|
```
|
|
479
481
|
|
|
@@ -11508,9 +11508,32 @@ function Nd(e = {}) {
|
|
|
11508
11508
|
};
|
|
11509
11509
|
}
|
|
11510
11510
|
//#endregion
|
|
11511
|
+
//#region src/core/components/icons.ts
|
|
11512
|
+
var Pd = {
|
|
11513
|
+
header: "🤖",
|
|
11514
|
+
subagent: "🤖",
|
|
11515
|
+
subagentProgress: "🧬",
|
|
11516
|
+
empty: "💬",
|
|
11517
|
+
focus: "🎯",
|
|
11518
|
+
queued: "📋",
|
|
11519
|
+
queuedEdit: "✏️",
|
|
11520
|
+
recommend: "💡",
|
|
11521
|
+
conflict: "⚠️"
|
|
11522
|
+
};
|
|
11523
|
+
function Fd(e) {
|
|
11524
|
+
let t = { ...Pd };
|
|
11525
|
+
if (!e) return t;
|
|
11526
|
+
let n = Object.keys(Pd);
|
|
11527
|
+
for (let r of n) {
|
|
11528
|
+
let n = e[r];
|
|
11529
|
+
typeof n == "string" && (t[r] = n);
|
|
11530
|
+
}
|
|
11531
|
+
return e.assistantAvatar && (t.assistantAvatar = e.assistantAvatar), e.userAvatar && (t.userAvatar = e.userAvatar), t;
|
|
11532
|
+
}
|
|
11533
|
+
//#endregion
|
|
11511
11534
|
//#region src/core/composables/chatContext.ts
|
|
11512
|
-
var
|
|
11513
|
-
function
|
|
11535
|
+
var Id = Symbol("chatContext");
|
|
11536
|
+
function Ld(e = {}) {
|
|
11514
11537
|
let t = Nd({
|
|
11515
11538
|
fetchResponse: e.fetchResponse,
|
|
11516
11539
|
fetchStream: e.fetchStream,
|
|
@@ -11596,18 +11619,19 @@ function Fd(e = {}) {
|
|
|
11596
11619
|
},
|
|
11597
11620
|
focusChipClick: (t) => {
|
|
11598
11621
|
e.onFocusChipClick?.(t);
|
|
11599
|
-
}
|
|
11622
|
+
},
|
|
11623
|
+
icons: Fd(e.icons)
|
|
11600
11624
|
};
|
|
11601
11625
|
}
|
|
11602
|
-
function
|
|
11603
|
-
let e = Rn(
|
|
11626
|
+
function Rd() {
|
|
11627
|
+
let e = Rn(Id);
|
|
11604
11628
|
if (!e) throw Error("useChatContext 必须在 provide(chatContextKey) 的组件子树内调用");
|
|
11605
11629
|
return e;
|
|
11606
11630
|
}
|
|
11607
11631
|
//#endregion
|
|
11608
11632
|
//#region src/core/index.headless.ts
|
|
11609
|
-
function
|
|
11633
|
+
function zd(e) {
|
|
11610
11634
|
return wd(e);
|
|
11611
11635
|
}
|
|
11612
11636
|
//#endregion
|
|
11613
|
-
export { Ll as CAPABILITIES, Bl as CONTEXT_PRESETS, Zc as CompressDecisionSchema, is as DEFAULT_PROMPT_SOFT_CAP, nc as DEFAULT_SYSTEM_PROMPT, vc as HTML_VOID_TAGS, Ao as HUMAN_CONFIRM_TOOL_NAME, ai as MIN_CONTEXT_WINDOW, rs as SOFT_CAP_MIN_WINDOW, Zo as STOP_WORDS, Aa as UNSAFE_KEYS, $u as actionsToInspectInfo, Qu as actionsToTools, Qr as agentError, Ys as analyzeContext, Ba as applyPatchToClone, Ua as applyPatchToLive, Zr as asAgentError, rc as buildDataPrompt, ic as buildSystemPrompt,
|
|
11637
|
+
export { Ll as CAPABILITIES, Bl as CONTEXT_PRESETS, Zc as CompressDecisionSchema, is as DEFAULT_PROMPT_SOFT_CAP, nc as DEFAULT_SYSTEM_PROMPT, vc as HTML_VOID_TAGS, Ao as HUMAN_CONFIRM_TOOL_NAME, ai as MIN_CONTEXT_WINDOW, rs as SOFT_CAP_MIN_WINDOW, Zo as STOP_WORDS, Aa as UNSAFE_KEYS, $u as actionsToInspectInfo, Qu as actionsToTools, Qr as agentError, Ys as analyzeContext, Ba as applyPatchToClone, Ua as applyPatchToLive, Zr as asAgentError, rc as buildDataPrompt, ic as buildSystemPrompt, Id as chatContextKey, Eu as commitSetToBind, tc as connectMcp, m as constructLlmFromConfig, p as constructOpenLlmSync, jd as copyText, Wi as createAgent, ko as createApprovalMiddleware, Ld as createChatContext, zd as createChatSdk, Bo as createCheckpointManager, Vo as createCheckpointMiddleware, ll as createConflictManager, Xs as createContextInspectorMiddleware, Pu as createDataOps, Wc as createHtmlFormatCheck, qc as createHtmlSubagent, No as createHumanConfirmMiddleware, Mo as createHumanConfirmTool, Al as createMemoryBackend, So as createMemoryMiddleware, u as createProxyLlm, Ad as createRagSubagent, ao as createSandboxRunner, zl as createSdkEvents, gd as createSerialRunner, Pl as createSessionStore, fd as createSkillStore, Es as createSubagentMiddleware, us as createSubagentTracker, ks as createSubagentsMiddleware, od as createUsageHintsMiddleware, As as createVerifyMiddleware, cc as createVfs, Ml as createWebStorageBackend, Is as createWriteBackCheck, Fa as deepClone, nd as defineDataToolset, so as defineSkill, Jc as defineTool, Pa as deleteByPath, Qc as deriveTitle, sa as describeSchemaNode, Oi as detectGarbledToolCall, qa as diffObjects, Bu as domToStructure, Hu as domTools, td as domToolsStatic, $o as estimateMessageTokens, es as estimateRoundTokens, X as estimateTokens, g as extractReasoningDelta, ba as extractSchemaHint, Zs as extractText, h as extractTextDelta, _ as extractUsage, Iu as fetchDocTools, ed as fetchTools, Tu as filterByToolMode, Ka as findStrippedKeys, ca as formatConstraints, qr as formatZodIssues, Z as getByPath, Vu as getDomTool, Gu as getEnvSummary, Ji as getSchemaAtPath, Gi as getSchemaTopKeys, li as getTraceMetrics, $ as hashValue, ha as htmlOrchestratorPrompt, ts as indexSummarize, Ju as inspectEnvTool, Yu as inspectTools, $c as isChatModel, yi as isContextLengthError, Ki as isPathAllowed, Sl as isQuotaError, ja as isUnsafePath, eu as jpEval, Yr as jsonParseError, Ra as limitDepth, Ia as maybeParseValue, y as normalizeUsage, ci as offloadPassThroughChars, si as offloadThresholdChars, ma as presets, ta as projectBySchema, ea as projectBySchemaDeep, La as projectFields, ns as recallRounds, la as renderSchemaHint, ua as renderSchemaOverview, pa as renderSchemaShallow, Rl as resolveCapabilities, Hl as resolveContextOptions, Il as resolveDialogConfig, cl as resolveLlm, oi as resolveModelCaps, as as resolvePromptSoftCap, Fl as resolveStorage, Ga as restoreInPlace, Wa as restoreLive, Xr as routeError, oo as runHostScript, iu as runSandboxedScript, Ma as safeMerge, Wu as safeSerialize, Q as safeStringify, nu as searchJson, rd as selectBuiltinTools, Na as setByPath, os as shouldTriggerCompression, ga as systemPromptHelpers, Qo as tokenize, Y as toolError, qi as unwrapSchema, Nd as useChat, Rd as useChatContext, bc as validateHtmlFormat, e as z, Jr as zodError };
|