@zihanw/pi-forge 0.5.0 → 0.5.2
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 +53 -0
- package/README.md +6 -2
- package/README.zh-CN.md +5 -2
- package/dist/codecs/prompt-stack.d.ts.map +1 -1
- package/dist/codecs/prompt-stack.js +17 -0
- package/dist/codecs/prompt-stack.js.map +1 -1
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +81 -0
- package/dist/compiler.js.map +1 -1
- package/dist/context-diff-history.d.ts +61 -0
- package/dist/context-diff-history.d.ts.map +1 -0
- package/dist/context-diff-history.js +84 -0
- package/dist/context-diff-history.js.map +1 -0
- package/dist/context-diff-snapshot.d.ts +19 -0
- package/dist/context-diff-snapshot.d.ts.map +1 -0
- package/dist/context-diff-snapshot.js +146 -0
- package/dist/context-diff-snapshot.js.map +1 -0
- package/dist/context-diff.d.ts +70 -0
- package/dist/context-diff.d.ts.map +1 -0
- package/dist/context-diff.js +259 -0
- package/dist/context-diff.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts +2 -0
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +19 -2
- package/dist/lifecycle.js.map +1 -1
- package/dist/payload-capture.d.ts +10 -0
- package/dist/payload-capture.d.ts.map +1 -1
- package/dist/payload-capture.js +39 -9
- package/dist/payload-capture.js.map +1 -1
- package/dist/payload-command.d.ts +2 -0
- package/dist/payload-command.d.ts.map +1 -1
- package/dist/payload-command.js +36 -6
- package/dist/payload-command.js.map +1 -1
- package/dist/payload-state.d.ts +3 -0
- package/dist/payload-state.d.ts.map +1 -1
- package/dist/payload-state.js +5 -0
- package/dist/payload-state.js.map +1 -1
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +43 -9
- package/dist/preview.js.map +1 -1
- package/dist/regex.d.ts +12 -0
- package/dist/regex.d.ts.map +1 -1
- package/dist/regex.js +81 -5
- package/dist/regex.js.map +1 -1
- package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
- package/dist/runtime/tool-policy-runtime.js +13 -3
- package/dist/runtime/tool-policy-runtime.js.map +1 -1
- package/dist/runtime/web-editor-runtime.d.ts +2 -1
- package/dist/runtime/web-editor-runtime.d.ts.map +1 -1
- package/dist/runtime/web-editor-runtime.js +8 -3
- package/dist/runtime/web-editor-runtime.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/ui-contribution/contrib-port.d.ts +170 -0
- package/dist/ui-contribution/contrib-port.d.ts.map +1 -0
- package/dist/ui-contribution/contrib-port.js +640 -0
- package/dist/ui-contribution/contrib-port.js.map +1 -0
- package/dist/ui-contribution/index.d.ts +3 -0
- package/dist/ui-contribution/index.d.ts.map +1 -0
- package/dist/ui-contribution/index.js +2 -0
- package/dist/ui-contribution/index.js.map +1 -0
- package/dist/web-editor/client-script.generated.d.ts.map +1 -1
- package/dist/web-editor/client-script.generated.js +1 -1
- package/dist/web-editor/client-script.generated.js.map +1 -1
- package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
- package/dist/web-editor/client-styles.generated.js +1 -1
- package/dist/web-editor/client-styles.generated.js.map +1 -1
- package/dist/web-editor/contrib-service.d.ts +41 -0
- package/dist/web-editor/contrib-service.d.ts.map +1 -0
- package/dist/web-editor/contrib-service.js +174 -0
- package/dist/web-editor/contrib-service.js.map +1 -0
- package/dist/web-editor/line-diff.d.ts +28 -0
- package/dist/web-editor/line-diff.d.ts.map +1 -0
- package/dist/web-editor/line-diff.js +216 -0
- package/dist/web-editor/line-diff.js.map +1 -0
- package/dist/web-editor/page.d.ts +1 -1
- package/dist/web-editor/page.d.ts.map +1 -1
- package/dist/web-editor/page.js +2 -2
- package/dist/web-editor/page.js.map +1 -1
- package/dist/web-editor/schema-form.d.ts +63 -0
- package/dist/web-editor/schema-form.d.ts.map +1 -0
- package/dist/web-editor/schema-form.js +213 -0
- package/dist/web-editor/schema-form.js.map +1 -0
- package/dist/web-editor/server.d.ts.map +1 -1
- package/dist/web-editor/server.js +125 -7
- package/dist/web-editor/server.js.map +1 -1
- package/dist/web-editor/styles.d.ts.map +1 -1
- package/dist/web-editor/styles.js +188 -21
- package/dist/web-editor/styles.js.map +1 -1
- package/dist/web-editor/types.d.ts +19 -0
- package/dist/web-editor/types.d.ts.map +1 -1
- package/dist/web-host.d.ts +7 -3
- package/dist/web-host.d.ts.map +1 -1
- package/dist/web-host.js +85 -12
- package/dist/web-host.js.map +1 -1
- package/docs/README.md +1 -0
- package/docs/concepts/agent-profiles.md +1 -1
- package/docs/concepts/prompt-stacks.md +4 -0
- package/docs/design/0.5.1-plan.md +237 -0
- package/docs/design/architecture-0.5.md +22 -1
- package/docs/design/context-diff-plan.md +8 -2
- package/docs/development/release.md +7 -1
- package/docs/development/roadmap.md +14 -0
- package/docs/getting-started.md +1 -1
- package/docs/guides/delegation.md +3 -3
- package/docs/guides/use-cases.md +4 -2
- package/docs/guides/web-editor.md +5 -1
- package/docs/reference/commands.md +1 -1
- package/docs/reference/configuration.md +6 -3
- package/docs/reference/features.md +5 -0
- package/docs/reference/public-api.md +14 -2
- package/docs/reference/stack-schema.md +59 -2
- package/docs/reference/ui-contribution-port.md +51 -0
- package/docs/zh-CN/concepts/agent-profiles.md +1 -1
- package/docs/zh-CN/concepts/prompt-stacks.md +10 -4
- package/docs/zh-CN/guides/delegation.md +2 -2
- package/docs/zh-CN/guides/web-editor.md +4 -0
- package/docs/zh-CN/reference/commands.md +1 -1
- package/examples/custom-system-status-extension/README.md +4 -3
- package/examples/custom-system-status-extension/index.ts +8 -6
- package/examples/hack-prompt-stack.json +118 -0
- package/examples/minimal-prompt-stack.json +36 -0
- package/package.json +6 -1
- package/examples/image-reader-prompt-stack.json +0 -114
- package/examples/reviewer-prompt-stack.json +0 -104
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,59 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
In 0.x development, breaking changes may occur in minor releases and will be explicitly noted.
|
|
8
8
|
|
|
9
|
+
## [0.5.2] - 2026-08-28
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **Optional consecutive-role message merge.** Stacks can set `context.mergeConsecutiveRoles: true` (plus an optional `context.mergeSeparator`, default a blank line) to compile runs of consecutive stack items that share the same declared role into a single provider message. Only stack-authored `user`/`assistant` items merge: chat-history output (including the implicit history tail and a trailing user history message) and custom-role items are hard boundaries, and merging runs after compiled-stage regex so existing rule semantics are unchanged. Preview reflects the merged layout and attributes merged messages to their source items ("A + B"). The web editor's Stack tab exposes both options.
|
|
14
|
+
- **System-position validation warning.** Stack validation now warns when an enabled `system` item appears after enabled non-system items, since item position across the system/message channels has no effect on compilation. Roles are never silently converted; the warning suggests a user-role item for in-conversation injection.
|
|
15
|
+
- **Per-rule regex frequency.** Regex rules accept `frequency: "turn" | "request"` (default `"turn"`, preserving prior behavior). Outgoing message rules with `"request"` also run on tool-result follow-up requests over Pi's full natural context — closing the gap where tool output (for example an API key returned by a tool) reached the provider unfiltered until the next user turn. Wire-consistent by construction: each request is rebuilt from the transcript, so re-application never doubles. `finalize` rules and system-only targets ignore `frequency` with a validation warning. The regex editor exposes the field, and preview notes that follow-up applications are not represented.
|
|
16
|
+
- **Finalize rules can scrub stored tool results.** A `finalize` rule whose `roles` explicitly includes `"toolResult"` now rewrites stored tool-result messages at `message_end` — before the follow-up request, so the wire inherits the scrubbed transcript. Rules without `roles` keep assistant-only behavior; user messages are never finalized. The `hack-prompt-stack.json` example demonstrates the wire-plus-transcript pair (`redact-api-keys-outgoing` with `frequency: "request"` + `redact-api-keys-finalize`) for two illustrative token shapes; regex redaction is not an exhaustive secret scanner.
|
|
17
|
+
|
|
18
|
+
- **Web editor localization.** The editor interface is available in English and Chinese: a language selector in the top bar (Auto / English / 中文) writes `webEditor.locale` in the project config, `"auto"` (default) follows the browser language, and the initial page render honors `Accept-Language`. Navigation, the stack workspace chrome, all built-in stack/profile tabs, the preview/diff dock, and the generic settings form renderer are localized with instant switching; contributed settings tabs remain provider-owned and are not translated, and compiler/server-generated diagnostics stay in English.
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- The settings status no longer compares localized placeholder text to decide when to show "Settings ready", so the contribution surface behaves identically in both interface languages.
|
|
23
|
+
|
|
24
|
+
## [0.5.1] - 2026-08-23
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- **Cross-platform release CI.** The complete verification surface, including
|
|
29
|
+
the real-browser editor suite and packed-install smoke, now runs on GitHub's
|
|
30
|
+
macOS and Windows hosted runners in addition to Linux. Generated TypeScript
|
|
31
|
+
output and repository text files are pinned to LF so tracked `dist/` checks
|
|
32
|
+
remain deterministic across operating systems.
|
|
33
|
+
- **UI contribution framework (Lane 1).** Optional packages can now contribute schema-driven configuration pages to the web editor without shipping any UI code into the main package:
|
|
34
|
+
- New versioned `@zihanw/pi-forge/ui-contribution` entry point: a generic RPC contract over the Pi event bus (`UI_CONTRIBUTION_PORT_VERSION = 1`, with its own version counter separate from the `/subagent` host port) exposing exactly two operations — `listContributions` and `writeValues` — over discover/available/request/reply/unavailable channels. Wire messages carry `hostId` + `generation` binding, version negotiation (`minVersion`/`maxVersion`), bounded discovery timeouts, explicit duplicate-provider failure, and recursive JSON-compatibility validators. All payloads are plain data: no functions, components, or live contexts cross the bus. See the [UI contribution port contract](docs/reference/ui-contribution-port.md).
|
|
35
|
+
- Web server routes: `GET /api/contrib` returns discovered tab descriptors at page load, and `PUT /api/contrib/<tabId>` proxies submitted values to the contributing package over the bus. The forge side is fully generic and knows nothing about subagents; it never owns the schema, validation, or persistence of contributed tabs (the provider writes its own config files), and with no provider discovered there is no contributed tab and zero cost.
|
|
36
|
+
- Contribution discovery tolerates provider churn across sessions: providers that appear after startup surface their tabs, departed providers are cleared, and service stop cancels pending discovery.
|
|
37
|
+
- Data-driven stack-tab registry replaces the stack editor's hardcoded `"policy" | "regex" | "stack"` tab union. Built-in tabs keep their existing hosts (including the legacy imperative items workspace as an ordinary tab), while contributed configuration renders through a self-contained host on a separate top-level **Settings** surface.
|
|
38
|
+
- Generic schema-form renderer: a self-contained Vue component bridged via the vue-host mechanism, covering deliberately restricted v1 field types — boolean, number, enum, string, plus a record/table shape for keyed per-entry lists. Record identities may use live catalog-backed `keyOptions`, while validation and persistence remain provider-owned. No imperative code was added to `legacy-editor.ts`.
|
|
39
|
+
- **Context diff — per-turn prompt observability (Lane 2).** Consecutive real provider requests are diffed automatically so KV-cache reuse is observable:
|
|
40
|
+
- Host-neutral pure engine (`src/context-diff.ts`): `TurnSnapshot`/`TurnDiff` shapes, block classification (`same`/`added`/`removed`/`modified`) aligned by stable content-derived keys with positional fallback, and a prefix-walk cache-boundary algorithm that walks matching block hashes and trims the char-level common prefix inside the first mismatched block — no Myers diff. Token figures are chars/4 approximations: relative deltas are accurate, and absolute boundary claims are labeled approx in the UI.
|
|
41
|
+
- Automatic per-turn capture: every provider request enters a rolling history of the last 20 turns (not just manually armed captures), and each new snapshot is auto-diffed against the previous turn. Block hashes cover role and serialized wire-relevant fields, and request-level sections (tool definitions and similar) participate as blocks so wire changes break the cache boundary faithfully.
|
|
42
|
+
- `GET /api/context-diff` serves the latest snapshot, the previous-turn diff, and summary rollups (added/removed/net tokens, prefix tokens and ratio).
|
|
43
|
+
- Preview/diff dock: the preview modal is promoted into a wider right-side panel with three focused views — **Preview** (the live compiled draft), **Draft diff** (the unsaved draft against the saved stack), and **Run diff** (the latest captured provider turn against its predecessor). Diff views hide unchanged blocks by default, show modified blocks in Before/After columns, keep run/cache metadata collapsed until requested, and offer **Focus/Split** controls to use the full editor width without permanently crowding stack editing. The panel is a self-contained Vue component riding Lane 1's data-driven registry; no imperative code was added to `legacy-editor.ts`.
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
|
|
47
|
+
- Preview/Draft/Run diffs now render git-style unified or split line views with old/new line numbers, inline changed spans, and changes-only/three-line/all-line context controls. Chars/4 figures are labeled strictly as estimates. Each captured provider request is correlated with its completed assistant message, so Run metadata shows Pi's actual input/output/cache-read/cache-write usage and a provider-reported cache-hit rate when cache reporting has been observed; otherwise it says the rate is not reported instead of presenting a synthetic zero.
|
|
48
|
+
|
|
49
|
+
- Schema-driven record settings can now provide catalog-backed `keyOptions`, rendered as a duplicate-safe selector instead of a free-text identity field. UI-contribution handlers may resolve asynchronously, allowing optional packages to refresh host-owned catalogs before returning a schema or validating a write; stale replies are suppressed if that provider generation stops while the handler is pending.
|
|
50
|
+
|
|
51
|
+
- Selective stack tool allow lists now select from Pi's complete registered tool catalog, so built-in inactive tools such as `grep`, `find`, and `ls` can be activated by a stack and are restored to their prior inactive state when the policy is removed. Allow lists containing `*` remain on the active baseline and do not expand to every inactive tool. The web editor now states the active-vs-registered distinction explicitly.
|
|
52
|
+
- The docked Compiled preview now consumes the editor's current in-memory stack draft, refreshes from actual draft-change notifications, aborts superseded requests, and no longer silently previews the saved disk version while unsaved edits are visible.
|
|
53
|
+
- Plugin configuration no longer mounts inside the stack Preview dock. Contributed pages now live on an independent top-level **Settings** surface, so switching between Stack Preview and Subagent Settings cannot unmount or constrain the settings form.
|
|
54
|
+
- Preview now owns a dedicated DOM mount instead of sharing the legacy stack-tab panel, so saving or selecting another stack cannot leave an active-but-empty dock. Draft changes immediately invalidate visible compiled output, Preview and Run requests both reject superseded responses, and browser tests cover save/selection plus controlled delayed-response races.
|
|
55
|
+
- Settings autosaves are serialized per contribution host and replay the newest full form snapshot after an in-flight write, preventing a slow older PUT from overwriting a newer edit while the UI reports `Saved`. Drafts and save status are retained independently per Settings page during rapid tab switches, while a forge-owned monotonic provider-session key forces clean forms to remount with fresh schema and values after fast provider churn. PUT results are bound to the provider session that received them, so a delayed old-session success retries the preserved draft instead of overwriting the new session. Duplicate contribution IDs are ignored after the first descriptor and Settings button IDs cannot collide with built-in stack tabs.
|
|
56
|
+
- Compiled draft diffs align messages with stable source keys rather than positional `message-<index>` IDs, avoiding cascades of false modifications after insertions. Split Preview and top-level Settings collapse to usable single-column layouts on narrow screens without document-level horizontal overflow.
|
|
57
|
+
- The stack editor now keeps the Project/Global selector attached to **New stack** instead of stretching it across a full row, leaves only primary actions in the toolbar, moves infrequent capture/import/export/delete actions into **More**, and compacts the status, metadata, tab, sidebar, and item-list chrome so editing and Preview/Diff receive substantially more viewport space.
|
|
58
|
+
- The profile editor now keeps the canonical `global:<id>` selector visible in list, summary, edit heading, and save status. Profile JSON continues to store a bare schema ID and same-scope prompt-stack references relatively; their global identity is carried by storage scope and is no longer visually lost in the editor.
|
|
59
|
+
- Context-diff fidelity (architecture review F1–F3/F6 and re-review R1–R4): block hashes are computed from the faithful redacted serialization rather than the lossy capture projection, preserving provider field order for request-level blocks; blocks align by stable unique keys so insertions before existing messages classify correctly; token rounding is conservative and consistent so per-block chips cannot contradict summary totals; and the empty Diff view reflects automatic per-turn capture instead of instructing manual arming.
|
|
60
|
+
- UI-contribution hardening (F4/F5/F7): a partial-patch `writeValues` success no longer clobbers cached descriptor values with stale data; contribution lifecycle handles late-surfacing and departed providers and cancels pending discovery on stop; malformed or oversized `/api/contrib` request bodies return 400/413 instead of surfacing raw validator failures.
|
|
61
|
+
|
|
9
62
|
## [0.5.0] - 2026-08-21
|
|
10
63
|
|
|
11
64
|
### Planning
|
package/README.md
CHANGED
|
@@ -17,6 +17,7 @@ Think of it as a character sheet and workbench for your AI agent.
|
|
|
17
17
|
- Use immutable stack `parameters` with the deterministic forge-v1 template engine.
|
|
18
18
|
- Apply deterministic regex transforms to outgoing prompts or finalized assistant messages.
|
|
19
19
|
- Edit stacks and profiles in a local browser UI and inspect the exact provider payload.
|
|
20
|
+
- Inspect prompt changes in the Preview dock: **Preview** compiles the live draft, **Draft diff** compares unsaved edits with disk, and **Run diff** compares recent provider turns. Git-style unified/split views include old/new line numbers, inline highlights, and changes-only/three-line/all-line context. Run metadata keeps chars/4 estimates separate from Pi's provider-reported prompt/cache usage and real cache-hit rate.
|
|
20
21
|
- Run an explicitly enabled profile as an experimental, approval-gated foreground subagent.
|
|
21
22
|
|
|
22
23
|
## Install
|
|
@@ -57,7 +58,7 @@ Restart Pi or run:
|
|
|
57
58
|
/preset ui
|
|
58
59
|
```
|
|
59
60
|
|
|
60
|
-
The local editor can create, fork, validate, preview, import, export, and delete prompt stacks. Its **Agent profiles** view manages one-shot model/thinking/stack presets. Writes require a trusted project.
|
|
61
|
+
The local editor can create, fork, validate, preview, import, export, and delete prompt stacks. Its **Agent profiles** view manages one-shot model/thinking/stack presets. Writes require a trusted project. When `@zihanw/pi-forge-subagents` is installed, its schema-driven editor appears on the separate top-level **Settings** surface and persists to the optional package's `subagents.json` files.
|
|
61
62
|
|
|
62
63
|
### 3. Save a profile
|
|
63
64
|
|
|
@@ -83,10 +84,13 @@ Stacks can `replace`, `append`, or `prepend` Pi's base system prompt. During com
|
|
|
83
84
|
|
|
84
85
|
Agent profiles are project-local references to an exact provider/model, thinking level, and prompt stack. They intentionally do not duplicate tool or skill policy—the referenced stack remains the source of truth.
|
|
85
86
|
|
|
87
|
+
> **Naming note.** The `/preset` command family manages prompt stacks. The name reflects what a stack file actually behaves like: one document carrying both the context composition (blocks and slots) and the tool/skill/regex policy that travels with it—a complete preset, not a bare prompt. Resource and command naming will converge in a future release (see the [roadmap](docs/development/roadmap.md)); until then, "prompt stack" names the document and "preset" names the commands that manage it.
|
|
88
|
+
|
|
86
89
|
Start with these examples:
|
|
87
90
|
|
|
88
91
|
- [Default Pi mirror](examples/default-prompt-stack.json) keeps normal Pi behavior while making its sections movable.
|
|
89
|
-
- [
|
|
92
|
+
- [Minimal worker](examples/minimal-prompt-stack.json) shows the smallest usable stack with a narrow tool allow-list.
|
|
93
|
+
- [Regex hack pack](examples/hack-prompt-stack.json) demonstrates request-frequency outgoing redaction plus transcript-finalize scrubbing for two illustrative token shapes; it is not an exhaustive secret scanner.
|
|
90
94
|
- [Custom system-status extension](examples/custom-system-status-extension/README.md) registers a trusted macro and slot.
|
|
91
95
|
|
|
92
96
|
## Common commands
|
package/README.zh-CN.md
CHANGED
|
@@ -57,7 +57,7 @@ cp examples/default-prompt-stack.json .pi/forge/prompt-stacks/default.json
|
|
|
57
57
|
/preset ui
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
本地编辑器可以新建、fork、校验、预览、导入、导出和删除 prompt stack,并可在新建/fork
|
|
60
|
+
本地编辑器可以新建、fork、校验、预览、导入、导出和删除 prompt stack,并可在新建/fork/导入时明确选择写入项目或用户全局存储。Preview dock 提供带旧/新行号和行内高亮的 unified/split diff,可只看变化行或保留三行/全部上下文;Run diff 会把 chars/4 估算与 Pi 返回的真实 prompt/cache usage、cache hit rate 明确分开。切换到 **Agent profiles** 可以浏览项目与全局 profile、编辑和删除全局 profile(通过显式 `global:<id>` 路由)。写入操作要求项目已被信任。Delegation 配置由可选包 `@zihanw/pi-forge-subagents` 的 `subagents.json` 文件管理,不在编辑器中。
|
|
61
61
|
|
|
62
62
|
### 3. 保存 profile
|
|
63
63
|
|
|
@@ -83,10 +83,13 @@ Stack 可以 `replace`、`append` 或 `prepend` Pi 的基础 system prompt。编
|
|
|
83
83
|
|
|
84
84
|
Agent profile 是项目级或用户全局预设,引用精确 provider/model、思考等级和 prompt stack。它不会重复保存工具或 skill 策略;被引用的 stack 始终是唯一来源。项目 profile 和 stack 可以遮蔽同 ID 的全局资源;需要精确选择时使用 `project:<id>` 或 `global:<id>`。
|
|
85
85
|
|
|
86
|
+
> **命名说明。** `/preset` 命令族管理的是 prompt stack(提示词栈)。命令名反映 stack 文件的实际作用:一份文档同时携带上下文编排(blocks/slots)和随附的 tool/skill/regex 策略——更接近一份完整预设,而不是一段裸提示词。资源与命令命名将在未来版本统一(见 [roadmap](docs/development/roadmap.md));在那之前,"prompt stack/提示词栈"指文档本身,"preset/预设"指管理它的命令族。
|
|
87
|
+
|
|
86
88
|
推荐从这些示例开始:
|
|
87
89
|
|
|
88
90
|
- [默认 Pi mirror](examples/default-prompt-stack.json):保留 Pi 默认行为,同时让所有区域都可移动。
|
|
89
|
-
- [
|
|
91
|
+
- [最小 worker](examples/minimal-prompt-stack.json):展示带有精简工具白名单的最小可用 stack。
|
|
92
|
+
- [Regex hack pack](examples/hack-prompt-stack.json):针对两种示例 token 形态展示 request 频率的出站脱敏和 transcript finalize 清理;它不是完整的密钥扫描器。
|
|
90
93
|
- [自定义 system-status extension](examples/custom-system-status-extension/README.md):注册可信 macro 和 slot。
|
|
91
94
|
|
|
92
95
|
## 常用命令
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-stack.d.ts","sourceRoot":"","sources":["../../src/codecs/prompt-stack.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,iBAAiB,EAEjB,WAAW,EACX,qBAAqB,EAIrB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAKpD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAiC7G;AAcD,sFAAsF;AACtF,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,MAAM,GACb,iBAAiB,CAQnB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE/D;AAuGD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"prompt-stack.d.ts","sourceRoot":"","sources":["../../src/codecs/prompt-stack.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,iBAAiB,EAEjB,WAAW,EACX,qBAAqB,EAIrB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAKpD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAiC7G;AAcD,sFAAsF;AACtF,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,MAAM,GACb,iBAAiB,CAQnB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE/D;AAuGD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,qBAAqB,EAAE,CA0E/E"}
|
|
@@ -163,6 +163,7 @@ export function validatePromptStack(stack) {
|
|
|
163
163
|
let chatHistoryCount = 0;
|
|
164
164
|
if (!stack.id.trim())
|
|
165
165
|
diagnostics.push({ level: "error", message: "Stack id must not be empty." });
|
|
166
|
+
let seenNonSystemItem = false;
|
|
166
167
|
for (const item of stack.items) {
|
|
167
168
|
if (ids.has(item.id))
|
|
168
169
|
diagnostics.push({ level: "error", message: `Duplicate item id: ${item.id}`, itemId: item.id });
|
|
@@ -170,6 +171,20 @@ export function validatePromptStack(stack) {
|
|
|
170
171
|
if (item.role && !VALID_ROLES.has(item.role)) {
|
|
171
172
|
diagnostics.push({ level: "error", message: `Invalid role: ${item.role}`, itemId: item.id });
|
|
172
173
|
}
|
|
174
|
+
if (item.enabled !== false) {
|
|
175
|
+
if (item.role === "system") {
|
|
176
|
+
if (seenNonSystemItem) {
|
|
177
|
+
diagnostics.push({
|
|
178
|
+
level: "warning",
|
|
179
|
+
message: "System item appears after non-system items; item position across the system/message channels has no effect on compilation. Use a user-role item for in-conversation injection.",
|
|
180
|
+
itemId: item.id,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else if (item.role === "user" || item.role === "assistant" || item.role === "custom") {
|
|
185
|
+
seenNonSystemItem = true;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
173
188
|
if (item.kind === "slot") {
|
|
174
189
|
if (!SUPPORTED_SLOTS.has(item.slot)) {
|
|
175
190
|
diagnostics.push({ level: "warning", message: `Unsupported slot: ${item.slot}`, itemId: item.id });
|
|
@@ -295,6 +310,8 @@ function validateRawContext(value, diagnostics) {
|
|
|
295
310
|
return;
|
|
296
311
|
}
|
|
297
312
|
validateOptionalBoolean(value, "allowDuplicateChatHistory", "context.allowDuplicateChatHistory", diagnostics);
|
|
313
|
+
validateOptionalBoolean(value, "mergeConsecutiveRoles", "context.mergeConsecutiveRoles", diagnostics);
|
|
314
|
+
validateOptionalString(value, "mergeSeparator", "context.mergeSeparator", diagnostics);
|
|
298
315
|
}
|
|
299
316
|
function validateRawVariables(value, diagnostics) {
|
|
300
317
|
if (value === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-stack.js","sourceRoot":"","sources":["../../src/codecs/prompt-stack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-stack.js","sourceRoot":"","sources":["../../src/codecs/prompt-stack.ts"],"names":[],"mappings":"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"}
|
package/dist/compiler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAEX,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,WAAW,EAKX,MAAM,YAAY,CAAC;AAgBpB,qBAAa,wBAAwB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;gBAE7C,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa;IAMtD,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,yBAAyB;IAIxE,eAAe,CAAC,gBAAgB,EAAE,YAAY,EAAE,GAAG,qBAAqB;IAIxE,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAI3C;AAuDD,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,MAAM,GACtB,yBAAyB,CAE3B;
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAEX,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,WAAW,EAKX,MAAM,YAAY,CAAC;AAgBpB,qBAAa,wBAAwB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;gBAE7C,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa;IAMtD,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,yBAAyB;IAIxE,eAAe,CAAC,gBAAgB,EAAE,YAAY,EAAE,GAAG,qBAAqB;IAIxE,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAI3C;AAuDD,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,MAAM,GACtB,yBAAyB,CAE3B;AAyKD,wBAAgB,eAAe,CAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,YAAY,EAAE,GAC9B,qBAAqB,CAEvB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,GAAG,SAAS,CASjF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAWvE"}
|
package/dist/compiler.js
CHANGED
|
@@ -116,8 +116,89 @@ function compileMessagesWithRenderer(stack, runtime, originalMessages, templateR
|
|
|
116
116
|
messageSources.push(...implicitHistoryMessageSources(originalMessages));
|
|
117
117
|
}
|
|
118
118
|
messages = applyRegexRulesToMessages(stack, messages, "compiled", diagnostics);
|
|
119
|
+
if (stack.context?.mergeConsecutiveRoles) {
|
|
120
|
+
const merged = mergeConsecutiveStackItemMessages(messages, messageSources, stack.context.mergeSeparator ?? "\n\n", diagnostics);
|
|
121
|
+
messages = merged.messages;
|
|
122
|
+
messageSources = merged.sources;
|
|
123
|
+
}
|
|
119
124
|
return { messages, messageSources, diagnostics };
|
|
120
125
|
}
|
|
126
|
+
const MERGEABLE_MESSAGE_ROLES = new Set(["user", "assistant"]);
|
|
127
|
+
/**
|
|
128
|
+
* Merge runs of consecutive stack-item messages that share the same declared
|
|
129
|
+
* role. Runs only combine stack-authored synthetic messages: chat-history
|
|
130
|
+
* output (including the implicit history tail) and custom-role items are hard
|
|
131
|
+
* boundaries. Runs execute after compiled-stage regex so rule semantics are
|
|
132
|
+
* unchanged, and only text-only messages participate.
|
|
133
|
+
*/
|
|
134
|
+
function mergeConsecutiveStackItemMessages(messages, sources, separator, diagnostics) {
|
|
135
|
+
const mergedMessages = [];
|
|
136
|
+
const mergedSources = [];
|
|
137
|
+
for (let index = 0; index < messages.length; index++) {
|
|
138
|
+
const message = messages[index];
|
|
139
|
+
const source = sources[index];
|
|
140
|
+
const role = messageRole(message);
|
|
141
|
+
const last = mergedMessages.length - 1;
|
|
142
|
+
const lastMessage = last >= 0 ? mergedMessages[last] : undefined;
|
|
143
|
+
const lastSource = last >= 0 ? mergedSources[last] : undefined;
|
|
144
|
+
// A merge run requires both neighbours to be mergeable stack items of the
|
|
145
|
+
// same role. History and custom-role messages are hard boundaries.
|
|
146
|
+
const canMerge = lastMessage !== undefined
|
|
147
|
+
&& lastSource?.kind === "stack-item"
|
|
148
|
+
&& MERGEABLE_MESSAGE_ROLES.has(messageRole(lastMessage))
|
|
149
|
+
&& source?.kind === "stack-item"
|
|
150
|
+
&& MERGEABLE_MESSAGE_ROLES.has(role)
|
|
151
|
+
&& role === messageRole(lastMessage)
|
|
152
|
+
&& isTextOnlyMessage(lastMessage)
|
|
153
|
+
&& isTextOnlyMessage(message);
|
|
154
|
+
if (!canMerge) {
|
|
155
|
+
mergedMessages.push(message);
|
|
156
|
+
// sources always parallel messages; the fallback stays a merge boundary.
|
|
157
|
+
mergedSources.push(source ?? { kind: "implicit-history", role });
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
const priorItems = lastSource.mergedItems ?? [{ itemId: lastSource.itemId, itemName: lastSource.itemName }];
|
|
161
|
+
const mergedItems = [...priorItems, { itemId: source.itemId, itemName: source.itemName }];
|
|
162
|
+
if (priorItems.length === 1) {
|
|
163
|
+
diagnostics.push({
|
|
164
|
+
level: "info",
|
|
165
|
+
message: `Merged consecutive ${role} stack items into one message.`,
|
|
166
|
+
itemId: lastSource.itemId,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
mergedMessages[last] = appendMessageText(lastMessage, message, separator);
|
|
170
|
+
mergedSources[last] = {
|
|
171
|
+
kind: "stack-item",
|
|
172
|
+
itemId: lastSource.itemId,
|
|
173
|
+
itemName: mergedItems.map((item) => item.itemName?.trim() || item.itemId || "item").join(" + "),
|
|
174
|
+
role,
|
|
175
|
+
mergedItems,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
return { messages: mergedMessages, sources: mergedSources };
|
|
179
|
+
}
|
|
180
|
+
function isTextOnlyMessage(message) {
|
|
181
|
+
const content = message.content;
|
|
182
|
+
if (typeof content === "string")
|
|
183
|
+
return true;
|
|
184
|
+
if (!Array.isArray(content))
|
|
185
|
+
return false;
|
|
186
|
+
return content.every((part) => isPlainObject(part) && part.type === "text" && typeof part.text === "string");
|
|
187
|
+
}
|
|
188
|
+
function appendMessageText(base, addition, separator) {
|
|
189
|
+
const baseContent = base.content;
|
|
190
|
+
const additionContent = addition.content;
|
|
191
|
+
const baseText = typeof baseContent === "string" ? baseContent : textPartsToText(baseContent);
|
|
192
|
+
const additionText = typeof additionContent === "string" ? additionContent : textPartsToText(additionContent);
|
|
193
|
+
return { ...base, content: [{ type: "text", text: baseText + separator + additionText }] };
|
|
194
|
+
}
|
|
195
|
+
function textPartsToText(content) {
|
|
196
|
+
if (!Array.isArray(content))
|
|
197
|
+
return "";
|
|
198
|
+
return content
|
|
199
|
+
.map((part) => (isPlainObject(part) && part.type === "text" && typeof part.text === "string" ? part.text : ""))
|
|
200
|
+
.join("");
|
|
201
|
+
}
|
|
121
202
|
function renderSlotWithDependencies(item, stack, runtime, diagnostics, templateRenderer) {
|
|
122
203
|
const slotDefinition = getRegisteredSlot(item.slot);
|
|
123
204
|
if (slotDefinition?.dependencies?.length) {
|
package/dist/compiler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-neutral rolling context-diff history.
|
|
3
|
+
*
|
|
4
|
+
* Keeps the last N turn snapshots captured from provider payloads and exposes
|
|
5
|
+
* the latest engine-computed diff plus compact summaries for recent turns.
|
|
6
|
+
*/
|
|
7
|
+
import { type TurnDiff, type TurnSnapshot } from "./context-diff.ts";
|
|
8
|
+
import { type ContextDiffCapture } from "./context-diff-snapshot.ts";
|
|
9
|
+
export declare const CONTEXT_DIFF_HISTORY_LIMIT = 20;
|
|
10
|
+
export interface ContextDiffHistory {
|
|
11
|
+
turns: TurnSnapshot[];
|
|
12
|
+
latestDiff?: TurnDiff;
|
|
13
|
+
nextTurnNumber?: number;
|
|
14
|
+
usageByTurnId: Map<string, ContextDiffProviderUsage>;
|
|
15
|
+
cacheReportingModels: Set<string>;
|
|
16
|
+
}
|
|
17
|
+
export interface ContextDiffProviderUsageInput {
|
|
18
|
+
provider: string;
|
|
19
|
+
model: string;
|
|
20
|
+
stopReason: string;
|
|
21
|
+
input: number;
|
|
22
|
+
output: number;
|
|
23
|
+
cacheRead: number;
|
|
24
|
+
cacheWrite: number;
|
|
25
|
+
totalTokens: number;
|
|
26
|
+
}
|
|
27
|
+
export interface ContextDiffProviderUsage extends ContextDiffProviderUsageInput {
|
|
28
|
+
promptTokens: number;
|
|
29
|
+
cacheHitRatio: number | null;
|
|
30
|
+
cacheStatus: "reported" | "not-reported";
|
|
31
|
+
}
|
|
32
|
+
export interface ContextDiffTurnSummary {
|
|
33
|
+
turnId: string;
|
|
34
|
+
capturedAt: string;
|
|
35
|
+
stackId: string;
|
|
36
|
+
approxTokens: number;
|
|
37
|
+
blockCount: number;
|
|
38
|
+
chars: number;
|
|
39
|
+
deltaTokens?: number;
|
|
40
|
+
prefixTokens?: number;
|
|
41
|
+
prefixRatio?: number;
|
|
42
|
+
changedBlocks?: number;
|
|
43
|
+
usage?: ContextDiffProviderUsage;
|
|
44
|
+
}
|
|
45
|
+
export interface ContextDiffView {
|
|
46
|
+
turns: ContextDiffTurnSummary[];
|
|
47
|
+
latest: {
|
|
48
|
+
turn: TurnSnapshot;
|
|
49
|
+
diff: TurnDiff;
|
|
50
|
+
usage?: ContextDiffProviderUsage;
|
|
51
|
+
} | null;
|
|
52
|
+
latestDiff: TurnDiff | null;
|
|
53
|
+
}
|
|
54
|
+
export declare function createContextDiffHistory(): ContextDiffHistory;
|
|
55
|
+
/** Append a captured payload, evict old turns past the limit, and compute the latest diff. */
|
|
56
|
+
export declare function appendContextDiffCapture(history: ContextDiffHistory, capture: ContextDiffCapture): TurnDiff | undefined;
|
|
57
|
+
/** Attach the authoritative usage returned on the assistant message for one captured provider request. */
|
|
58
|
+
export declare function attachContextDiffUsage(history: ContextDiffHistory, turnId: string, usage: ContextDiffProviderUsageInput): boolean;
|
|
59
|
+
/** Build the response-shaped view: compact summaries for recent turns + latest full diff. */
|
|
60
|
+
export declare function getContextDiffView(history: ContextDiffHistory): ContextDiffView;
|
|
61
|
+
//# sourceMappingURL=context-diff-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-diff-history.d.ts","sourceRoot":"","sources":["../src/context-diff-history.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAA+B,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE1F,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACrD,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,6BAA6B;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,UAAU,GAAG,cAAc,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,wBAAwB,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,MAAM,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,KAAK,CAAC,EAAE,wBAAwB,CAAA;KAAE,GAAG,IAAI,CAAC;IACxF,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAO7D;AAED,8FAA8F;AAC9F,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,kBAAkB,GACzB,QAAQ,GAAG,SAAS,CAiBtB;AAED,0GAA0G;AAC1G,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,6BAA6B,GAClC,OAAO,CAcT;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,eAAe,CA0B/E"}
|