@herbertgao/pi-extensions 2026.9.19 → 2026.10.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 +14 -16
- package/THIRD_PARTY_NOTICES.md +29 -3
- package/node_modules/@herbertgao/pi-bark/README.md +39 -3
- package/node_modules/@herbertgao/pi-bark/package.json +1 -1
- package/node_modules/@herbertgao/pi-bark/src/index.ts +275 -15
- package/node_modules/@herbertgao/pi-cc-extensions/README.en.md +85 -68
- package/node_modules/@herbertgao/pi-cc-extensions/README.md +79 -62
- package/node_modules/@herbertgao/pi-cc-extensions/assets/readme/preview.webp +0 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/config/config.ts +116 -34
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/config/panel.ts +370 -118
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/agent-summary/core.ts +6 -36
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/agent-summary/index.ts +2 -2
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/compact-thinking.ts +31 -33
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/context.ts +330 -360
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/reference/index.ts +56 -108
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/reference/session.ts +97 -15
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/reference/subagent.ts +80 -45
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/flush-docked-bash.ts +36 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/footer-layout.ts +229 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/footer.ts +521 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/mcp-chip.ts +136 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/startup-header.ts +92 -61
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/working-message.ts +58 -38
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/index.ts +19 -3
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/compact-mode.ts +1127 -231
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/default-mode.ts +267 -262
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/index.ts +38 -48
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/markdown-enhance.ts +8 -2
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/hover.ts +2 -7
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/interaction.ts +287 -114
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/layout.ts +15 -6
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/packets.ts +18 -72
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/scroll.ts +61 -26
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/codemode.ts +303 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/ansi-utils.ts +25 -57
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-component.ts +125 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-edit-render.ts +227 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-header.ts +136 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-highlight.ts +151 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-inline.ts +324 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-layout.ts +762 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-limits.ts +152 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-palette.ts +410 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-parse.ts +535 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-presentation.ts +4 -4
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-renderer.ts +21 -3219
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-text.ts +44 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-write-render.ts +568 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/index.ts +103 -48
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/line-width-safety.ts +8 -7
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/write-execution.ts +2 -1
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/grouping.ts +171 -196
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/mcp-title.ts +39 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/{message-display.ts → tool/message-display.ts} +27 -93
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/names.ts +429 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/result.ts +259 -164
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/{show-more-hint.ts → tool/show-more-hint.ts} +10 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/transcript-refresh.ts +8 -26
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/ansi-color.ts +44 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/ansi-text.ts +77 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/component-tree.ts +34 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/format.ts +28 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/fullscreen-detect.ts +51 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/patch-keys.ts +124 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/sgr-mouse.ts +70 -0
- package/node_modules/@herbertgao/pi-cc-extensions/package.json +10 -8
- package/node_modules/@herbertgao/pi-subagents/CHANGELOG.md +6 -0
- package/node_modules/@herbertgao/pi-subagents/package.json +1 -1
- package/node_modules/@herbertgao/pi-subagents/src/mention-clone.ts +3 -2
- package/node_modules/@herbertgao/sol-pi/CONTRIBUTING.md +22 -0
- package/node_modules/@herbertgao/sol-pi/README.md +36 -17
- package/node_modules/@herbertgao/sol-pi/THIRD_PARTY_NOTICES.md +10 -6
- package/node_modules/@herbertgao/sol-pi/agents-install.md +15 -12
- package/node_modules/@herbertgao/sol-pi/docs/compatibility.md +24 -8
- package/node_modules/@herbertgao/sol-pi/docs/configuration.md +2 -2
- package/node_modules/@herbertgao/sol-pi/docs/star-history.md +18 -0
- package/node_modules/@herbertgao/sol-pi/package.json +4 -2
- package/node_modules/@herbertgao/sol-pi/scripts/check-sol-pi-config.mjs +1 -1
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/config.ts +1 -1
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/action-fusion/file-queue.ts +23 -4
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/action-fusion/index.ts +32 -1
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/action-fusion/then-run.ts +3 -2
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/observation-pack/observation.ts +1 -1
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/online-context-compact/economics.ts +27 -7
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/online-context-compact/extension.ts +137 -41
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/online-context-compact/index.ts +1 -0
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/online-context-compact/plan.ts +2 -1
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/online-context-compact/projection.ts +58 -0
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/online-context-compact/state.ts +28 -6
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/extensions/online-context-compact/tools.ts +2 -1
- package/node_modules/@herbertgao/sol-pi/src/sol-pi/runtime-paths.ts +15 -2
- package/node_modules/@juicesharp/rpiv-ask-user-question/package.json +2 -2
- package/node_modules/@pi-plugins/fast-mode/README.md +7 -1
- package/node_modules/@pi-plugins/fast-mode/dist/index.d.mts.map +1 -1
- package/node_modules/@pi-plugins/fast-mode/dist/index.mjs +7 -1
- package/node_modules/@pi-plugins/fast-mode/dist/index.mjs.map +1 -1
- package/node_modules/@pi-plugins/fast-mode/package.json +5 -5
- package/node_modules/pi-antigravity/README.md +3 -0
- package/node_modules/pi-antigravity/package.json +8 -8
- package/node_modules/pi-antigravity/src/auth/oauth.ts +6 -3
- package/node_modules/pi-antigravity/src/index.ts +114 -110
- package/node_modules/pi-antigravity/src/stream/stream.ts +1 -1
- package/node_modules/pi-antigravity/src/utils/util.ts +18 -1
- package/node_modules/pi-multi-account/CHANGELOG.md +20 -0
- package/node_modules/pi-multi-account/README.md +46 -8
- package/node_modules/pi-multi-account/config-file-transaction.ts +42 -0
- package/node_modules/pi-multi-account/index.ts +255 -269
- package/node_modules/pi-multi-account/model-pins.ts +36 -0
- package/node_modules/pi-multi-account/package.json +9 -7
- package/node_modules/pi-multi-account/slot-proxy-auth.ts +12 -2
- package/node_modules/pi-multi-account/slot-proxy.ts +27 -5
- package/node_modules/pi-web-access/CHANGELOG.md +17 -0
- package/node_modules/pi-web-access/README.md +6 -3
- package/node_modules/pi-web-access/brave-rate-limit.ts +170 -0
- package/node_modules/pi-web-access/brave.ts +28 -11
- package/node_modules/pi-web-access/dist/index.js +202 -33
- package/node_modules/pi-web-access/gemini-search.ts +2 -5
- package/node_modules/pi-web-access/index.ts +13 -7
- package/node_modules/pi-web-access/openai-search.ts +24 -10
- package/node_modules/pi-web-access/package.json +1 -1
- package/node_modules/pi-web-access/summary-review.ts +8 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/README.md +16 -12
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/adapter.d.ts +0 -5
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/adapter.js +2 -3
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/contract.d.ts +2 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/reader.d.ts +3 -0
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/reader.js +27 -15
- package/node_modules/{@herbertgao/resume-from/dist/adapters/codex → resume-from/dist/adapters/claude-code}/redaction.js +16 -3
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/writer.d.ts +2 -4
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/writer.js +1 -1
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/contract.d.ts +2 -4
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/index.js +1 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/read.d.ts +16 -0
- package/node_modules/resume-from/dist/adapters/codex/read.js +723 -0
- package/node_modules/{@herbertgao/resume-from/dist/adapters/pi → resume-from/dist/adapters/codex}/redaction.js +16 -3
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/rollout.d.ts +44 -4
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/rollout.js +88 -4
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/write.d.ts +2 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/write.js +2 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/contract.d.ts +5 -1
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/adapter.js +10 -6
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/contract.d.ts +2 -2
- package/node_modules/{@herbertgao/resume-from/dist/adapters/claude-code → resume-from/dist/adapters/pi}/redaction.js +16 -3
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/serialize.d.ts +2 -4
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/serialize.js +2 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/render.d.ts +1 -1
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/render.js +4 -4
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/runner.js +2 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/contract.d.ts +2 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/command.js +31 -8
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/wiring.d.ts +1 -1
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/wiring.js +1 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/confirmation.d.ts +4 -1
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/confirmation.js +2 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/contract.d.ts +8 -6
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/contract.d.ts +10 -5
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/finder.d.ts +2 -1
- package/node_modules/resume-from/dist/import/discovery/finder.js +269 -0
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/contract.d.ts +3 -3
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/lander.js +3 -3
- package/node_modules/resume-from/dist/import/pipeline.d.ts +28 -0
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/pipeline.js +31 -11
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/preview/builder.d.ts +2 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/preview/builder.js +9 -5
- package/node_modules/resume-from/dist/import/preview/warnings.d.ts +14 -0
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/preview/warnings.js +26 -20
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/wiring.js +12 -2
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/repo/contract.d.ts +9 -3
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/repo/git.d.ts +4 -4
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/repo/git.js +7 -4
- package/node_modules/resume-from/dist/platform/repo/reader.d.ts +3 -0
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/repo/reader.js +60 -20
- package/node_modules/{@herbertgao/resume-from → resume-from}/dist/session/contract.d.ts +8 -1
- package/node_modules/{@herbertgao/resume-from → resume-from}/package.json +19 -32
- package/node_modules/{@herbertgao/resume-from → resume-from}/shims/pi/extensions/resume-from.js +2 -2
- package/package.json +18 -22
- package/node_modules/@herbertgao/pi-cc-extensions/assets/readme/hero.en.svg +0 -101
- package/node_modules/@herbertgao/pi-cc-extensions/assets/readme/hero.svg +0 -101
- package/node_modules/@herbertgao/pi-cc-extensions/assets/readme/welcome.webp +0 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/render-utils.ts +0 -5
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/types.ts +0 -30
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/write-display-utils.ts +0 -12
- package/node_modules/@herbertgao/resume-from/dist/adapters/codex/read.js +0 -270
- package/node_modules/@herbertgao/resume-from/dist/import/discovery/finder.js +0 -129
- package/node_modules/@herbertgao/resume-from/dist/import/pipeline.d.ts +0 -17
- package/node_modules/@herbertgao/resume-from/dist/import/preview/warnings.d.ts +0 -11
- package/node_modules/@herbertgao/resume-from/dist/platform/repo/reader.d.ts +0 -8
- package/node_modules/pi-footer/CHANGELOG.md +0 -145
- package/node_modules/pi-footer/LICENSE +0 -21
- package/node_modules/pi-footer/README.md +0 -354
- package/node_modules/pi-footer/package.json +0 -68
- package/node_modules/pi-footer/src/cache.ts +0 -106
- package/node_modules/pi-footer/src/colors.ts +0 -237
- package/node_modules/pi-footer/src/config.ts +0 -202
- package/node_modules/pi-footer/src/event-widgets.ts +0 -41
- package/node_modules/pi-footer/src/extension-statuses.ts +0 -102
- package/node_modules/pi-footer/src/git.ts +0 -135
- package/node_modules/pi-footer/src/index.ts +0 -268
- package/node_modules/pi-footer/src/metrics.ts +0 -141
- package/node_modules/pi-footer/src/presets.ts +0 -383
- package/node_modules/pi-footer/src/render.ts +0 -114
- package/node_modules/pi-footer/src/separators.ts +0 -52
- package/node_modules/pi-footer/src/types.ts +0 -122
- package/node_modules/pi-footer/src/ui/color-level-confirm.ts +0 -22
- package/node_modules/pi-footer/src/ui/color-options.ts +0 -195
- package/node_modules/pi-footer/src/ui/config-lifecycle.ts +0 -61
- package/node_modules/pi-footer/src/ui/edit-colors.ts +0 -13
- package/node_modules/pi-footer/src/ui/events.ts +0 -35
- package/node_modules/pi-footer/src/ui/extension-status-picker.ts +0 -60
- package/node_modules/pi-footer/src/ui/extension-statuses.ts +0 -73
- package/node_modules/pi-footer/src/ui/fields.ts +0 -252
- package/node_modules/pi-footer/src/ui/global-menu.ts +0 -126
- package/node_modules/pi-footer/src/ui/helpers.ts +0 -44
- package/node_modules/pi-footer/src/ui/layout.ts +0 -17
- package/node_modules/pi-footer/src/ui/line-list.ts +0 -19
- package/node_modules/pi-footer/src/ui/model.ts +0 -64
- package/node_modules/pi-footer/src/ui/navigation.ts +0 -29
- package/node_modules/pi-footer/src/ui/option-edit.ts +0 -93
- package/node_modules/pi-footer/src/ui/overlay-render.ts +0 -103
- package/node_modules/pi-footer/src/ui/screen-context.ts +0 -18
- package/node_modules/pi-footer/src/ui/screen-controller.ts +0 -27
- package/node_modules/pi-footer/src/ui/screen-render.ts +0 -32
- package/node_modules/pi-footer/src/ui/screen-state.ts +0 -20
- package/node_modules/pi-footer/src/ui/screen.ts +0 -243
- package/node_modules/pi-footer/src/ui/screens/add-widget.ts +0 -92
- package/node_modules/pi-footer/src/ui/screens/confirm-exit.ts +0 -52
- package/node_modules/pi-footer/src/ui/screens/controller.ts +0 -12
- package/node_modules/pi-footer/src/ui/screens/edit-colors.ts +0 -68
- package/node_modules/pi-footer/src/ui/screens/edit-widget.ts +0 -115
- package/node_modules/pi-footer/src/ui/screens/extension-status-row.ts +0 -61
- package/node_modules/pi-footer/src/ui/screens/global.ts +0 -75
- package/node_modules/pi-footer/src/ui/screens/line-list.ts +0 -108
- package/node_modules/pi-footer/src/ui/screens/main.ts +0 -99
- package/node_modules/pi-footer/src/ui/screens/terminal.ts +0 -121
- package/node_modules/pi-footer/src/ui/screens/widget-list.ts +0 -154
- package/node_modules/pi-footer/src/ui/terminal-menu.ts +0 -32
- package/node_modules/pi-footer/src/ui/theme.ts +0 -48
- package/node_modules/pi-footer/src/ui/title-bar.ts +0 -100
- package/node_modules/pi-footer/src/ui/widget-actions.ts +0 -76
- package/node_modules/pi-footer/src/ui.ts +0 -66
- package/node_modules/pi-footer/src/widgets/context.ts +0 -28
- package/node_modules/pi-footer/src/widgets/core/active-tools.ts +0 -17
- package/node_modules/pi-footer/src/widgets/core/context-window.ts +0 -24
- package/node_modules/pi-footer/src/widgets/core/cwd-basename.ts +0 -19
- package/node_modules/pi-footer/src/widgets/core/cwd.ts +0 -108
- package/node_modules/pi-footer/src/widgets/core/event.ts +0 -34
- package/node_modules/pi-footer/src/widgets/core/external-status.ts +0 -102
- package/node_modules/pi-footer/src/widgets/core/model-provider.ts +0 -20
- package/node_modules/pi-footer/src/widgets/core/model.ts +0 -35
- package/node_modules/pi-footer/src/widgets/core/provider.ts +0 -17
- package/node_modules/pi-footer/src/widgets/core/session-name.ts +0 -17
- package/node_modules/pi-footer/src/widgets/core/text-verbosity.ts +0 -17
- package/node_modules/pi-footer/src/widgets/core/thinking-level.ts +0 -17
- package/node_modules/pi-footer/src/widgets/git/ahead-behind.ts +0 -17
- package/node_modules/pi-footer/src/widgets/git/branch.ts +0 -81
- package/node_modules/pi-footer/src/widgets/git/clean.ts +0 -19
- package/node_modules/pi-footer/src/widgets/git/deletions.ts +0 -17
- package/node_modules/pi-footer/src/widgets/git/diff.ts +0 -38
- package/node_modules/pi-footer/src/widgets/git/insertions.ts +0 -17
- package/node_modules/pi-footer/src/widgets/git/remote.ts +0 -17
- package/node_modules/pi-footer/src/widgets/git/root.ts +0 -17
- package/node_modules/pi-footer/src/widgets/git/sha.ts +0 -17
- package/node_modules/pi-footer/src/widgets/git/staged.ts +0 -17
- package/node_modules/pi-footer/src/widgets/git/status.ts +0 -19
- package/node_modules/pi-footer/src/widgets/git/unstaged.ts +0 -17
- package/node_modules/pi-footer/src/widgets/git/untracked.ts +0 -17
- package/node_modules/pi-footer/src/widgets/instance.ts +0 -118
- package/node_modules/pi-footer/src/widgets/layout/custom-text.ts +0 -18
- package/node_modules/pi-footer/src/widgets/layout/flex-separator.ts +0 -32
- package/node_modules/pi-footer/src/widgets/layout/separator.ts +0 -57
- package/node_modules/pi-footer/src/widgets/layout/spacer.ts +0 -31
- package/node_modules/pi-footer/src/widgets/options.ts +0 -122
- package/node_modules/pi-footer/src/widgets/project/runtime.ts +0 -361
- package/node_modules/pi-footer/src/widgets/registry.ts +0 -223
- package/node_modules/pi-footer/src/widgets/session/assistant-messages.ts +0 -17
- package/node_modules/pi-footer/src/widgets/session/compactions.ts +0 -17
- package/node_modules/pi-footer/src/widgets/session/elapsed.ts +0 -18
- package/node_modules/pi-footer/src/widgets/session/last-activity.ts +0 -18
- package/node_modules/pi-footer/src/widgets/session/messages.ts +0 -19
- package/node_modules/pi-footer/src/widgets/session/session-id.ts +0 -17
- package/node_modules/pi-footer/src/widgets/session/session-start.ts +0 -18
- package/node_modules/pi-footer/src/widgets/session/tool-results.ts +0 -17
- package/node_modules/pi-footer/src/widgets/session/total-messages.ts +0 -19
- package/node_modules/pi-footer/src/widgets/session/total-time.ts +0 -18
- package/node_modules/pi-footer/src/widgets/session/user-messages.ts +0 -17
- package/node_modules/pi-footer/src/widgets/store.ts +0 -26
- package/node_modules/pi-footer/src/widgets/tokens/cache-hit-rate.ts +0 -55
- package/node_modules/pi-footer/src/widgets/tokens/cache-read.ts +0 -18
- package/node_modules/pi-footer/src/widgets/tokens/cache-write.ts +0 -18
- package/node_modules/pi-footer/src/widgets/tokens/context-bar.ts +0 -108
- package/node_modules/pi-footer/src/widgets/tokens/context-length.ts +0 -26
- package/node_modules/pi-footer/src/widgets/tokens/context-remaining.ts +0 -29
- package/node_modules/pi-footer/src/widgets/tokens/context.ts +0 -29
- package/node_modules/pi-footer/src/widgets/tokens/cost.ts +0 -51
- package/node_modules/pi-footer/src/widgets/tokens/input-speed.ts +0 -25
- package/node_modules/pi-footer/src/widgets/tokens/input-tokens.ts +0 -18
- package/node_modules/pi-footer/src/widgets/tokens/output-speed.ts +0 -25
- package/node_modules/pi-footer/src/widgets/tokens/output-tokens.ts +0 -18
- package/node_modules/pi-footer/src/widgets/tokens/tokens.ts +0 -20
- package/node_modules/pi-footer/src/widgets/tokens/total-speed.ts +0 -25
- package/node_modules/pi-footer/src/widgets/tokens/total-tokens.ts +0 -18
- package/node_modules/pi-footer/src/widgets/types.ts +0 -181
- package/node_modules/pi-footer/src/widgets/utils/colors.ts +0 -11
- package/node_modules/pi-footer/src/widgets/utils/context.ts +0 -112
- package/node_modules/pi-footer/src/widgets/utils/session.ts +0 -19
- package/node_modules/pi-footer/src/widgets/utils/token-format.ts +0 -78
- /package/node_modules/{@herbertgao/resume-from → resume-from}/LICENSE +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/entries.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/entries.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/layout.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/layout.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/readback.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/readback.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/redaction.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/validation.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/claude-code/validation.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/readback.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/readback.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/redaction.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/validation.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/codex/validation.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/adapter.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/format.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/format.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/parse.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/parse.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/redaction.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/validate.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/adapters/pi/validate.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/bin.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/bin.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/contract.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/agents.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/agents.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/args.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/args.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/contract.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/presentation.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/presentation.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/cli/runner.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/entry.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/entry.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/command.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/contract.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/picker.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/picker.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/presentation.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/presentation.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/register.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/register.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/ui.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/pi-extension/ui.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/profile.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/profile.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/registry.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/host/registry.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/errors.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/errors.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/homes.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/homes.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/ordering.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/discovery/ordering.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/errors.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/errors.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/errors.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/errors.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/handover.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/handover.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/lander.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/marker.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/landing/marker.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/preview/contract.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/preview/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/preview/format.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/preview/format.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/preview/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/preview/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/transfer/contract.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/transfer/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/transfer/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/transfer/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/transfer/rules.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/transfer/rules.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/import/wiring.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/contract.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/defaults.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/defaults.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/errors.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/errors.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/loader.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/loader.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/paths.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/paths.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/validate.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/config/validate.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/repo/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/repo/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/repo/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/store/contract.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/store/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/store/file-committer.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/store/file-committer.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/store/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/store/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/tokens/contract.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/tokens/contract.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/tokens/estimator.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/tokens/estimator.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/tokens/index.d.ts +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/tokens/index.js +0 -0
- /package/node_modules/{@herbertgao/resume-from → resume-from}/dist/session/contract.js +0 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// The Internal Design, as code: this module builds its four stages and nothing else builds
|
|
2
2
|
// them. Everything the stages need arrives from src/host/ — this module constructs no adapter,
|
|
3
3
|
// no committer, no estimator and no configuration.
|
|
4
|
+
import { realpath } from "node:fs/promises";
|
|
5
|
+
import { isAbsolute } from "node:path";
|
|
4
6
|
import { createSessionFinder } from "./discovery/index.js";
|
|
5
7
|
import { createSessionLander } from "./landing/index.js";
|
|
6
8
|
import { createPipelineFromStages } from "./pipeline.js";
|
|
@@ -9,10 +11,18 @@ import { createTransferRules } from "./transfer/index.js";
|
|
|
9
11
|
/** The four stages, wired. Internal: a host builds a pipeline, never a stage. */
|
|
10
12
|
export function buildStages(deps) {
|
|
11
13
|
return {
|
|
12
|
-
|
|
14
|
+
checkCancellation: () => deps.repo.checkCancellation(),
|
|
15
|
+
finder: createSessionFinder({ adapters: deps.adapters, config: deps.config, repo: deps.repo }),
|
|
13
16
|
rules: createTransferRules(),
|
|
14
17
|
// Per request: the preview reads the repository the request names (FR-13, FR-37).
|
|
15
|
-
|
|
18
|
+
async destinationFor(cwd) {
|
|
19
|
+
if (!isAbsolute(cwd))
|
|
20
|
+
throw new Error("The destination cwd must be absolute.");
|
|
21
|
+
const canonicalCwd = await realpath(cwd);
|
|
22
|
+
const identity = await deps.repo.identify(canonicalCwd);
|
|
23
|
+
return { cwd, canonicalCwd, identity };
|
|
24
|
+
},
|
|
25
|
+
previewFor: ({ cwd, canonicalCwd, identity }, descriptor) => createPreviewBuilder(deps.repo, cwd, canonicalCwd, identity, descriptor.repoPaths),
|
|
16
26
|
lander: createSessionLander(deps.handoverCommand === undefined ? {} : { handoverCommand: deps.handoverCommand }),
|
|
17
27
|
adapters: deps.adapters,
|
|
18
28
|
config: deps.config,
|
package/node_modules/{@herbertgao/resume-from → resume-from}/dist/platform/repo/contract.d.ts
RENAMED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/** The repository the command runs in (FR-13). */
|
|
2
2
|
export interface RepoIdentity {
|
|
3
|
-
/**
|
|
3
|
+
/** Canonical checkout root, or null when unresolved or bare (not an import destination). */
|
|
4
4
|
root: string | null;
|
|
5
|
-
/**
|
|
5
|
+
/** Canonical Git common directory shared by linked worktrees, or null when unresolved. */
|
|
6
|
+
commonDir: string | null;
|
|
7
|
+
/** True only for a resolved bare repository; its linked working trees report false. */
|
|
8
|
+
isBare: boolean;
|
|
9
|
+
/** Current HEAD commit, or null when unresolved or the repository has no commit yet. */
|
|
6
10
|
head: string | null;
|
|
7
11
|
branch: string | null;
|
|
8
12
|
}
|
|
@@ -24,7 +28,9 @@ export interface RepoReaderOptions {
|
|
|
24
28
|
}
|
|
25
29
|
/** Reads git state. It never writes to the repository. */
|
|
26
30
|
export interface RepoReader {
|
|
31
|
+
/** Throws AbortError with the signal reason as cause when cancelled; performs no I/O. */
|
|
32
|
+
checkCancellation(): void;
|
|
27
33
|
identify(cwd: string): Promise<RepoIdentity>;
|
|
28
34
|
/** Compares HEAD with a commit of a source session (FR-37). */
|
|
29
|
-
distanceFrom(sourceCommit: string): Promise<CommitDistance>;
|
|
35
|
+
distanceFrom(cwd: string, sourceCommit: string): Promise<CommitDistance>;
|
|
30
36
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RepoReaderOptions } from "./contract.js";
|
|
2
2
|
export interface GitResult {
|
|
3
|
-
/** True when git exited 0. A
|
|
3
|
+
/** True when git exited 0. A completed nonzero exit leaves the requested fact unresolved. */
|
|
4
4
|
ok: boolean;
|
|
5
5
|
stdout: string;
|
|
6
6
|
stderr: string;
|
|
@@ -8,9 +8,9 @@ export interface GitResult {
|
|
|
8
8
|
/**
|
|
9
9
|
* Runs a read-only git command in `cwd`.
|
|
10
10
|
*
|
|
11
|
-
* Rejects
|
|
12
|
-
* reported in `ok
|
|
13
|
-
*
|
|
11
|
+
* Rejects operational failures, including spawn failures, timeout and cancellation. A completed
|
|
12
|
+
* nonzero exit is reported in `ok`: callers leave the requested fact unresolved without trying
|
|
13
|
+
* to classify localized stderr (which need not mean the directory is outside Git).
|
|
14
14
|
*/
|
|
15
15
|
export declare function runGit(cwd: string, args: readonly string[], options?: RepoReaderOptions): Promise<GitResult>;
|
|
16
16
|
interface NormalizedOptions {
|
|
@@ -8,9 +8,9 @@ const DEFAULT_GIT_TIMEOUT_MS = 10_000;
|
|
|
8
8
|
/**
|
|
9
9
|
* Runs a read-only git command in `cwd`.
|
|
10
10
|
*
|
|
11
|
-
* Rejects
|
|
12
|
-
* reported in `ok
|
|
13
|
-
*
|
|
11
|
+
* Rejects operational failures, including spawn failures, timeout and cancellation. A completed
|
|
12
|
+
* nonzero exit is reported in `ok`: callers leave the requested fact unresolved without trying
|
|
13
|
+
* to classify localized stderr (which need not mean the directory is outside Git).
|
|
14
14
|
*/
|
|
15
15
|
export function runGit(cwd, args, options = {}) {
|
|
16
16
|
const processOptions = normalizeGitOptions(options);
|
|
@@ -49,7 +49,9 @@ export function normalizeGitOptions(options) {
|
|
|
49
49
|
}
|
|
50
50
|
function processError(cwd, options, cause) {
|
|
51
51
|
if (options.signal?.aborted === true || cause.name === "AbortError") {
|
|
52
|
-
|
|
52
|
+
const error = new Error(`git command aborted while reading ${cwd}`, { cause });
|
|
53
|
+
error.name = "AbortError";
|
|
54
|
+
return error;
|
|
53
55
|
}
|
|
54
56
|
if (cause.killed === true && cause.signal !== undefined) {
|
|
55
57
|
return new Error(`git command timed out after ${options.timeoutMs} ms while reading ${cwd}`, {
|
|
@@ -68,6 +70,7 @@ function gitEnv() {
|
|
|
68
70
|
// These would override `-C` and point git at a repository other than the one being asked about,
|
|
69
71
|
// for example when the tool runs inside a git hook.
|
|
70
72
|
delete env.GIT_DIR;
|
|
73
|
+
delete env.GIT_COMMON_DIR;
|
|
71
74
|
delete env.GIT_WORK_TREE;
|
|
72
75
|
delete env.GIT_INDEX_FILE;
|
|
73
76
|
return env;
|
|
@@ -5,38 +5,76 @@ import { normalizeGitOptions, runGit } from "./git.js";
|
|
|
5
5
|
function unknownDistance() {
|
|
6
6
|
return { known: false, ahead: 0, behind: 0 };
|
|
7
7
|
}
|
|
8
|
-
function
|
|
9
|
-
return { root: null, head: null, branch: null };
|
|
8
|
+
function unresolvedIdentity() {
|
|
9
|
+
return { root: null, commonDir: null, isBare: false, head: null, branch: null };
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Longer than any revision git can resolve: a full commit is 40 characters, a tag or a ref
|
|
13
13
|
* expression a few more. A longer string is a mistake or an attack, and is not sent to git.
|
|
14
14
|
*/
|
|
15
15
|
const MAX_REVISION_LENGTH = 256;
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
*
|
|
19
|
-
* `identify` takes the directory to look at; `distanceFrom` compares against the HEAD of `cwd`,
|
|
20
|
-
* which is the repository the command is running in.
|
|
21
|
-
*/
|
|
22
|
-
export function createRepoReader(cwd = process.cwd(), options = {}) {
|
|
16
|
+
/** A reader with process controls only; every lookup names its directory explicitly. */
|
|
17
|
+
export function createRepoReader(options = {}) {
|
|
23
18
|
const processOptions = normalizeGitOptions(options);
|
|
24
19
|
const git = (directory, args) => runGit(directory, args, processOptions);
|
|
20
|
+
const checkCancellation = () => {
|
|
21
|
+
if (processOptions.signal?.aborted) {
|
|
22
|
+
const error = new Error("Repository read aborted", { cause: processOptions.signal.reason });
|
|
23
|
+
error.name = "AbortError";
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
25
27
|
return {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
checkCancellation,
|
|
29
|
+
identify: async (directory) => {
|
|
30
|
+
checkCancellation();
|
|
31
|
+
const identity = await identify(directory, git);
|
|
32
|
+
checkCancellation();
|
|
33
|
+
return identity;
|
|
34
|
+
},
|
|
35
|
+
distanceFrom: async (cwd, sourceCommit) => {
|
|
36
|
+
checkCancellation();
|
|
37
|
+
const distance = await distanceFrom(cwd, sourceCommit, git);
|
|
38
|
+
checkCancellation();
|
|
39
|
+
return distance;
|
|
40
|
+
},
|
|
28
41
|
};
|
|
29
42
|
}
|
|
43
|
+
/** Git terminates path records with LF; all preceding whitespace belongs to the path. */
|
|
44
|
+
function pathOutput(stdout) {
|
|
45
|
+
return stdout.endsWith("\n") ? stdout.slice(0, -1) : stdout;
|
|
46
|
+
}
|
|
30
47
|
async function identify(directory, git) {
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
if (
|
|
34
|
-
return
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
48
|
+
// Resolve the input itself: a missing worktree must never inherit its parent's identity.
|
|
49
|
+
const dir = await resolveFully(resolve(directory));
|
|
50
|
+
if (dir === null)
|
|
51
|
+
return unresolvedIdentity();
|
|
52
|
+
const common = await git(dir, ["rev-parse", "--git-common-dir"]);
|
|
53
|
+
const commonPath = pathOutput(common.stdout);
|
|
54
|
+
if (!common.ok || commonPath === "")
|
|
55
|
+
return unresolvedIdentity();
|
|
56
|
+
const commonDir = await resolveFully(resolve(dir, commonPath));
|
|
57
|
+
if (commonDir === null)
|
|
58
|
+
return unresolvedIdentity();
|
|
59
|
+
const bare = await git(dir, ["rev-parse", "--is-bare-repository"]);
|
|
60
|
+
if (!bare.ok)
|
|
61
|
+
return unresolvedIdentity();
|
|
62
|
+
const isBare = bare.stdout.trim() === "true";
|
|
63
|
+
// Bare repositories have a shared identity but no checkout usable as an import destination.
|
|
64
|
+
let root = null;
|
|
65
|
+
if (!isBare) {
|
|
66
|
+
const toplevel = await git(dir, ["rev-parse", "--show-toplevel"]);
|
|
67
|
+
const checkoutPath = pathOutput(toplevel.stdout);
|
|
68
|
+
if (!toplevel.ok || checkoutPath === "")
|
|
69
|
+
return unresolvedIdentity();
|
|
70
|
+
root = await resolveFully(resolve(dir, checkoutPath));
|
|
71
|
+
if (root === null)
|
|
72
|
+
return unresolvedIdentity();
|
|
73
|
+
}
|
|
38
74
|
return {
|
|
39
75
|
root,
|
|
76
|
+
commonDir,
|
|
77
|
+
isBare,
|
|
40
78
|
head: await commitOf(dir, "HEAD", git),
|
|
41
79
|
branch: await branch(dir, git),
|
|
42
80
|
};
|
|
@@ -124,7 +162,9 @@ async function resolveFully(directory) {
|
|
|
124
162
|
try {
|
|
125
163
|
return await realpath(directory);
|
|
126
164
|
}
|
|
127
|
-
catch {
|
|
128
|
-
|
|
165
|
+
catch (error) {
|
|
166
|
+
if (error.code === "ENOENT")
|
|
167
|
+
return null;
|
|
168
|
+
throw error;
|
|
129
169
|
}
|
|
130
170
|
}
|
|
@@ -21,8 +21,15 @@ export interface SessionDescriptor {
|
|
|
21
21
|
updatedAt: string;
|
|
22
22
|
/** Turns the source holds, before any rule of section D or E runs. */
|
|
23
23
|
turnCount: number;
|
|
24
|
-
/**
|
|
24
|
+
/** First recorded candidate: repoPaths[0] ?? null, even when that path no longer exists (FR-13). */
|
|
25
25
|
repoPath: string | null;
|
|
26
|
+
/** Distinct absolute recorded directories, ordered by first appearance in the active conversation. */
|
|
27
|
+
repoPaths: string[];
|
|
28
|
+
/**
|
|
29
|
+
* Absolute directory of the session’s earliest non-sidechain record, when the format records one.
|
|
30
|
+
* Discovery matches it as a last resort, so a session that started here is still listed here.
|
|
31
|
+
*/
|
|
32
|
+
startDirectory: string | null;
|
|
26
33
|
/** Absolute path of the source file. Lets the user select by path (FR-12). */
|
|
27
34
|
filePath: string;
|
|
28
35
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"version": "0.
|
|
2
|
+
"name": "resume-from",
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Continue a coding session in a different agent, or a different profile.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -10,11 +10,8 @@
|
|
|
10
10
|
"codex"
|
|
11
11
|
],
|
|
12
12
|
"type": "module",
|
|
13
|
+
"packageManager": "pnpm@11.20.0",
|
|
13
14
|
"license": "MIT",
|
|
14
|
-
"author": "Herbert Gao",
|
|
15
|
-
"contributors": [
|
|
16
|
-
"Alexei Led"
|
|
17
|
-
],
|
|
18
15
|
"engines": {
|
|
19
16
|
"node": ">=24"
|
|
20
17
|
},
|
|
@@ -34,36 +31,34 @@
|
|
|
34
31
|
},
|
|
35
32
|
"files": [
|
|
36
33
|
"dist",
|
|
37
|
-
"shims/pi"
|
|
38
|
-
"README.md",
|
|
39
|
-
"LICENSE"
|
|
34
|
+
"shims/pi"
|
|
40
35
|
],
|
|
41
36
|
"scripts": {
|
|
42
37
|
"build": "node scripts/clean-dist.mjs && tsc -p tsconfig.build.json",
|
|
43
38
|
"typecheck": "tsc --noEmit",
|
|
44
39
|
"test": "vitest run",
|
|
45
40
|
"test:watch": "vitest",
|
|
46
|
-
"format": "biome format --write .",
|
|
47
|
-
"format:check": "biome format .",
|
|
48
41
|
"lint": "biome check . && eslint . --cache --cache-strategy content",
|
|
49
42
|
"lint:fix": "biome check --write .",
|
|
43
|
+
"packages:stage": "npm run build && node scripts/release/stage-npm-packages.mjs",
|
|
44
|
+
"packages:check": "npm run packages:stage && node scripts/release/check-npm-packages.mjs",
|
|
50
45
|
"pack:dry": "npm pack --dry-run",
|
|
51
|
-
"prepack": "npm run build"
|
|
52
|
-
"postpack": "node scripts/clean-dist.mjs"
|
|
46
|
+
"prepack": "npm run build"
|
|
53
47
|
},
|
|
54
48
|
"devDependencies": {
|
|
55
|
-
"@biomejs/biome": "2.5.
|
|
49
|
+
"@biomejs/biome": "2.5.14",
|
|
50
|
+
"@earendil-works/pi-tui": "^1.0.2",
|
|
56
51
|
"@eslint/js": "^10.0.1",
|
|
57
|
-
"@types/node": "^24.
|
|
58
|
-
"esbuild": "0.28.
|
|
59
|
-
"eslint": "^10.
|
|
60
|
-
"globals": "^17.
|
|
52
|
+
"@types/node": "^24.19.0",
|
|
53
|
+
"esbuild": "0.28.2",
|
|
54
|
+
"eslint": "^10.11.0",
|
|
55
|
+
"globals": "^17.12.0",
|
|
61
56
|
"typescript": "^7.0.2",
|
|
62
57
|
"typescript-compiler-api": "npm:typescript@6.0.3",
|
|
63
|
-
"vitest": "^
|
|
58
|
+
"vitest": "^5.0.3"
|
|
64
59
|
},
|
|
65
60
|
"dependencies": {
|
|
66
|
-
"gpt-tokenizer": "^
|
|
61
|
+
"gpt-tokenizer": "^4.0.0"
|
|
67
62
|
},
|
|
68
63
|
"peerDependencies": {
|
|
69
64
|
"@earendil-works/pi-tui": "*"
|
|
@@ -76,21 +71,13 @@
|
|
|
76
71
|
},
|
|
77
72
|
"repository": {
|
|
78
73
|
"type": "git",
|
|
79
|
-
"url": "git+https://github.com/
|
|
80
|
-
"directory": "packages/resume-from"
|
|
74
|
+
"url": "git+https://github.com/alexei-led/resume-from.git"
|
|
81
75
|
},
|
|
82
|
-
"homepage": "https://github.com/
|
|
76
|
+
"homepage": "https://github.com/alexei-led/resume-from#readme",
|
|
83
77
|
"bugs": {
|
|
84
|
-
"url": "https://github.com/
|
|
78
|
+
"url": "https://github.com/alexei-led/resume-from/issues"
|
|
85
79
|
},
|
|
86
80
|
"publishConfig": {
|
|
87
|
-
"access": "public"
|
|
88
|
-
"provenance": true
|
|
89
|
-
},
|
|
90
|
-
"x-upstream": {
|
|
91
|
-
"package": "resume-from",
|
|
92
|
-
"version": "0.2.0",
|
|
93
|
-
"repository": "https://github.com/alexei-led/resume-from",
|
|
94
|
-
"commit": "e1dad0dd4ae5fb6a5a50b905dd4359a29fd0910e"
|
|
81
|
+
"access": "public"
|
|
95
82
|
}
|
|
96
83
|
}
|
package/node_modules/{@herbertgao/resume-from → resume-from}/shims/pi/extensions/resume-from.js
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { homedir } from "node:os";
|
|
2
2
|
import { isAbsolute, join, resolve } from "node:path";
|
|
3
3
|
import { truncateToWidth } from "@earendil-works/pi-tui";
|
|
4
|
-
import { activatePiExtension } from "
|
|
5
|
-
import { formatRow, safeLines, safeText } from "
|
|
4
|
+
import { activatePiExtension } from "resume-from";
|
|
5
|
+
import { formatRow, safeLines, safeText } from "resume-from/pi-extension";
|
|
6
6
|
|
|
7
7
|
const COMMAND_NAME = "resume-from";
|
|
8
8
|
const DESCRIPTION =
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@herbertgao/pi-extensions",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.10.0",
|
|
4
4
|
"description": "Aggregate installer for HerbertGao-maintained Pi extensions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"extensions",
|
|
@@ -36,15 +36,14 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@ast-grep/cli": "^0.45.0",
|
|
38
38
|
"@ast-grep/napi": "^0.45.0",
|
|
39
|
-
"@bufbuild/protobuf": "^2.
|
|
39
|
+
"@bufbuild/protobuf": "^2.15.0",
|
|
40
40
|
"@dietrichgebert/ponytail": "4.10.0",
|
|
41
|
-
"@herbertgao/pi-bark": "0.
|
|
42
|
-
"@herbertgao/pi-cc-extensions": "0.
|
|
43
|
-
"@herbertgao/pi-subagents": "0.18.
|
|
44
|
-
"@herbertgao/
|
|
45
|
-
"@
|
|
46
|
-
"@juicesharp/rpiv-
|
|
47
|
-
"@juicesharp/rpiv-config": "^2.11.0",
|
|
41
|
+
"@herbertgao/pi-bark": "0.2.0",
|
|
42
|
+
"@herbertgao/pi-cc-extensions": "0.11.0",
|
|
43
|
+
"@herbertgao/pi-subagents": "0.18.5",
|
|
44
|
+
"@herbertgao/sol-pi": "0.4.0",
|
|
45
|
+
"@juicesharp/rpiv-ask-user-question": "2.12.0",
|
|
46
|
+
"@juicesharp/rpiv-config": "^2.12.0",
|
|
48
47
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
49
48
|
"@mozilla/readability": "^0.6.0",
|
|
50
49
|
"@napi-rs/keyring": "^2.1.0",
|
|
@@ -52,7 +51,7 @@
|
|
|
52
51
|
"@narumitw/pi-caffeinate": "0.49.8",
|
|
53
52
|
"@narumitw/pi-tui-kit": "^0.64.0",
|
|
54
53
|
"@noble/ed25519": "^3.1.0",
|
|
55
|
-
"@pi-plugins/fast-mode": "0.1.
|
|
54
|
+
"@pi-plugins/fast-mode": "0.1.13",
|
|
56
55
|
"@shikijs/cli": "^4.0.2",
|
|
57
56
|
"@tifan/pi-copy-response": "0.2.7",
|
|
58
57
|
"@tifan/pi-handoff": "2.2.2",
|
|
@@ -62,11 +61,10 @@
|
|
|
62
61
|
"@tifan/pi-recap": "0.4.7",
|
|
63
62
|
"@tifan/pi-rename": "0.6.0",
|
|
64
63
|
"@typesafe-ai/sdk": "0.6.0",
|
|
65
|
-
"chalk": "^6.0.0",
|
|
66
64
|
"croner": "^10.0.1",
|
|
67
65
|
"dbus-native": "^0.15.2",
|
|
68
66
|
"defuddle": "0.19.3",
|
|
69
|
-
"gpt-tokenizer": "^
|
|
67
|
+
"gpt-tokenizer": "^4.0.0",
|
|
70
68
|
"grok-mermaid": "0.2.3",
|
|
71
69
|
"jiti": "^2.7.0",
|
|
72
70
|
"js-yaml": "^5.2.2",
|
|
@@ -74,19 +72,19 @@
|
|
|
74
72
|
"minimatch": "^10.2.6",
|
|
75
73
|
"nanoid": "^5.0.0",
|
|
76
74
|
"p-limit": "^6.1.0",
|
|
77
|
-
"pi-antigravity": "0.
|
|
78
|
-
"pi-footer": "0.5.1",
|
|
75
|
+
"pi-antigravity": "0.9.0",
|
|
79
76
|
"pi-jev-auto-mode": "0.5.0",
|
|
80
77
|
"pi-lens": "4.3.0",
|
|
81
|
-
"pi-multi-account": "1.
|
|
78
|
+
"pi-multi-account": "1.24.0",
|
|
82
79
|
"pi-next-cue": "1.0.7",
|
|
83
80
|
"pi-typesafe": "0.8.1",
|
|
84
|
-
"pi-web-access": "0.
|
|
81
|
+
"pi-web-access": "0.35.0",
|
|
85
82
|
"pidusage": "^4.0.1",
|
|
86
83
|
"promise.try": "^2.0.1",
|
|
87
84
|
"proper-lockfile": "4.1.2",
|
|
88
85
|
"qrcode-terminal": "^0.12.0",
|
|
89
86
|
"remote-pi": "0.7.0",
|
|
87
|
+
"resume-from": "0.4.1",
|
|
90
88
|
"turndown": "^7.2.0",
|
|
91
89
|
"unbash": "4.0.10",
|
|
92
90
|
"undici": "^8.11.2",
|
|
@@ -111,7 +109,6 @@
|
|
|
111
109
|
"@herbertgao/pi-bark",
|
|
112
110
|
"@herbertgao/pi-cc-extensions",
|
|
113
111
|
"@herbertgao/pi-subagents",
|
|
114
|
-
"@herbertgao/resume-from",
|
|
115
112
|
"@herbertgao/sol-pi",
|
|
116
113
|
"@juicesharp/rpiv-ask-user-question",
|
|
117
114
|
"@narumitw/pi-btw",
|
|
@@ -126,14 +123,14 @@
|
|
|
126
123
|
"@tifan/pi-rename",
|
|
127
124
|
"grok-mermaid",
|
|
128
125
|
"pi-antigravity",
|
|
129
|
-
"pi-footer",
|
|
130
126
|
"pi-jev-auto-mode",
|
|
131
127
|
"pi-lens",
|
|
132
128
|
"pi-multi-account",
|
|
133
129
|
"pi-next-cue",
|
|
134
130
|
"pi-typesafe",
|
|
135
131
|
"pi-web-access",
|
|
136
|
-
"remote-pi"
|
|
132
|
+
"remote-pi",
|
|
133
|
+
"resume-from"
|
|
137
134
|
],
|
|
138
135
|
"engines": {
|
|
139
136
|
"node": ">=24"
|
|
@@ -144,7 +141,7 @@
|
|
|
144
141
|
"./node_modules/@herbertgao/pi-cc-extensions/extensions/index.ts",
|
|
145
142
|
"./node_modules/@herbertgao/sol-pi/src/sol-pi/index.ts",
|
|
146
143
|
"./node_modules/@tifan/pi-copy-response/src/index.ts",
|
|
147
|
-
"./node_modules
|
|
144
|
+
"./node_modules/resume-from/shims/pi/extensions/resume-from.js",
|
|
148
145
|
"./node_modules/@tifan/pi-handoff/src/index.ts",
|
|
149
146
|
"./node_modules/@tifan/pi-handoff/src/session-query.ts",
|
|
150
147
|
"./node_modules/@tifan/pi-inline-skills/src/index.ts",
|
|
@@ -165,8 +162,7 @@
|
|
|
165
162
|
"./node_modules/pi-web-access/dist",
|
|
166
163
|
"./node_modules/pi-antigravity/src/index.ts",
|
|
167
164
|
"./node_modules/pi-typesafe/extensions/index.js",
|
|
168
|
-
"./node_modules/remote-pi/dist/index.js"
|
|
169
|
-
"./node_modules/pi-footer/src/index.ts"
|
|
165
|
+
"./node_modules/remote-pi/dist/index.js"
|
|
170
166
|
],
|
|
171
167
|
"themes": [
|
|
172
168
|
"./node_modules/@herbertgao/pi-cc-extensions/themes/cc-dark.json",
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="400" viewBox="0 0 1200 400" role="img" aria-labelledby="title desc">
|
|
2
|
-
<title id="title">pi-cc-extensions
|
|
3
|
-
</title>
|
|
4
|
-
<desc id="desc">The Claude and Pi brand marks together connect three extension capabilities: Claude Code-style output, context inspection, and historical Session references.
|
|
5
|
-
</desc>
|
|
6
|
-
<defs>
|
|
7
|
-
<linearGradient id="panel" x1="0" y1="0" x2="1" y2="1">
|
|
8
|
-
<stop offset="0" stop-color="#0D131B"/>
|
|
9
|
-
<stop offset="1" stop-color="#090D12"/>
|
|
10
|
-
</linearGradient>
|
|
11
|
-
</defs>
|
|
12
|
-
<rect width="1200" height="400" rx="28" fill="url(#panel)"/>
|
|
13
|
-
<rect x="1" y="1" width="1198" height="398" rx="27" fill="none" stroke="#263241" stroke-width="2"/>
|
|
14
|
-
<g id="title-block" transform="translate(64 58)" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', sans-serif">
|
|
15
|
-
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="16" font-weight="600" letter-spacing="1.4">
|
|
16
|
-
<text x="0" y="0" fill="#66E3C4">PI EXTENSION
|
|
17
|
-
</text>
|
|
18
|
-
</g>
|
|
19
|
-
<text x="0" y="82" fill="#F4F7FA" font-size="54" font-weight="750" letter-spacing="-1.5">pi-cc-extensions
|
|
20
|
-
</text>
|
|
21
|
-
<text x="0" y="130" fill="#B8C3CF" font-size="23">Make Pi work like Claude Code 🙃
|
|
22
|
-
</text>
|
|
23
|
-
<g transform="translate(0 180)" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="17">
|
|
24
|
-
<rect width="488" height="58" rx="12" fill="#111923" stroke="#2B3948"/>
|
|
25
|
-
<text x="20" y="36" fill="#66E3C4">›
|
|
26
|
-
</text>
|
|
27
|
-
<text x="44" y="36" fill="#F4F7FA">/ccstyle
|
|
28
|
-
</text>
|
|
29
|
-
<text x="155" y="36" fill="#536172">·
|
|
30
|
-
</text>
|
|
31
|
-
<text x="178" y="36" fill="#7CC7FF">/context
|
|
32
|
-
</text>
|
|
33
|
-
<text x="292" y="36" fill="#536172">·
|
|
34
|
-
</text>
|
|
35
|
-
<text x="315" y="36" fill="#F2C879">@session:
|
|
36
|
-
</text>
|
|
37
|
-
<rect x="411" y="22" width="9" height="20" rx="2" fill="#66E3C4"/>
|
|
38
|
-
</g>
|
|
39
|
-
<g transform="translate(0 282)" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="15">
|
|
40
|
-
<circle cx="6" cy="-5" r="6" fill="#66E3C4"/>
|
|
41
|
-
<text x="22" y="0" fill="#8B9AAD">3 EXTENSIONS
|
|
42
|
-
</text>
|
|
43
|
-
<text x="160" y="0" fill="#3B4857">•
|
|
44
|
-
</text>
|
|
45
|
-
<text x="183" y="0" fill="#8B9AAD">TYPESCRIPT
|
|
46
|
-
</text>
|
|
47
|
-
<text x="303" y="0" fill="#3B4857">•
|
|
48
|
-
</text>
|
|
49
|
-
<text x="326" y="0" fill="#8B9AAD">NODE ≥ 22.19
|
|
50
|
-
</text>
|
|
51
|
-
</g>
|
|
52
|
-
</g>
|
|
53
|
-
<g id="extension-map" transform="translate(662 48)" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', sans-serif">
|
|
54
|
-
<g id="claude-pi-mark" transform="translate(0 0)">
|
|
55
|
-
<!-- Official Claude starburst vector; source: Anthropic Claude brand mark. -->
|
|
56
|
-
<path transform="translate(2 2) scale(.34)" fill="#D97757" d="m19.6 66.5 19.7-11 .3-1-.3-.5h-1l-3.3-.2-11.2-.3L14 53l-9.5-.5-2.4-.5L0 49l.2-1.5 2-1.3 2.9.2 6.3.5 9.5.6 6.9.4L38 49.1h1.6l.2-.7-.5-.4-.4-.4L29 41l-10.6-7-5.6-4.1-3-2-1.5-2-.6-4.2 2.7-3 3.7.3.9.2 3.7 2.9 8 6.1L37 36l1.5 1.2.6-.4.1-.3-.7-1.1L33 25l-6-10.4-2.7-4.3-.7-2.6c-.3-1-.4-2-.4-3l3-4.2L28 0l4.2.6L33.8 2l2.6 6 4.1 9.3L47 29.9l2 3.8 1 3.4.3 1h.7v-.5l.5-7.2 1-8.7 1-11.2.3-3.2 1.6-3.8 3-2L61 2.6l2 2.9-.3 1.8-1.1 7.7L59 27.1l-1.5 8.2h.9l1-1.1 4.1-5.4 6.9-8.6 3-3.5L77 13l2.3-1.8h4.3l3.1 4.7-1.4 4.9-4.4 5.6-3.7 4.7-5.3 7.1-3.2 5.7.3.4h.7l12-2.6 6.4-1.1 7.6-1.3 3.5 1.6.4 1.6-1.4 3.4-8.2 2-9.6 2-14.3 3.3-.2.1.2.3 6.4.6 2.8.2h6.8l12.6 1 3.3 2 1.9 2.7-.3 2-5.1 2.6-6.8-1.6-16-3.8-5.4-1.3h-.8v.4l4.6 4.5 8.3 7.5L89 80.1l.5 2.4-1.3 2-1.4-.2-9.2-7-3.6-3-8-6.8h-.5v.7l1.8 2.7 9.8 14.7.5 4.5-.7 1.4-2.6 1-2.7-.6-5.8-8-6-9-4.7-8.2-.5.4-2.9 30.2-1.3 1.5-3 1.2-2.5-2-1.4-3 1.4-6.2 1.6-8 1.3-6.4 1.2-7.9.7-2.6v-.2H49L43 72l-9 12.3-7.2 7.6-1.7.7-3-1.5.3-2.8L24 86l10-12.8 6-7.9 4-4.6-.1-.5h-.3L17.2 77.4l-4.7.6-2-2 .2-3 1-1 8-5.5Z"/>
|
|
57
|
-
<path d="M50 3V35" stroke="#3A4857" stroke-width="2"/>
|
|
58
|
-
<!-- Official Pi logo vectors; source: https://pi.dev/logo-auto.svg -->
|
|
59
|
-
<g transform="translate(52 -5) scale(.06)" fill="#F4F7FA">
|
|
60
|
-
<path fill-rule="evenodd" d="M165.29 165.29H517.36V400H400V517.36H282.65V634.72H165.29ZM282.65 282.65V400H400V282.65Z"/>
|
|
61
|
-
<path d="M517.36 400H634.72V634.72H517.36Z"/>
|
|
62
|
-
</g>
|
|
63
|
-
<text x="104" y="15" fill="#F4F7FA" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="15" font-weight="700" letter-spacing=".8">CLAUDE CODE UX
|
|
64
|
-
</text>
|
|
65
|
-
<text x="104" y="34" fill="#7F8D9C" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" letter-spacing="1.2">FOR PI
|
|
66
|
-
</text>
|
|
67
|
-
</g>
|
|
68
|
-
<g transform="translate(0 52)">
|
|
69
|
-
<rect width="474" height="82" rx="14" fill="#101821" stroke="#2C3A48"/>
|
|
70
|
-
<rect width="5" height="82" rx="2.5" fill="#66E3C4"/>
|
|
71
|
-
<text x="26" y="32" fill="#F4F7FA" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="18" font-weight="700">/ccstyle
|
|
72
|
-
</text>
|
|
73
|
-
<text x="26" y="59" fill="#8B9AAD" font-size="16">Tool summaries · Diffs · Status bar
|
|
74
|
-
</text>
|
|
75
|
-
<circle cx="438" cy="29" r="9" fill="#66E3C4" opacity=".18"/>
|
|
76
|
-
<path d="M434 29l3 3 6-7" fill="none" stroke="#66E3C4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
77
|
-
</g>
|
|
78
|
-
<g transform="translate(0 144)">
|
|
79
|
-
<rect width="474" height="82" rx="14" fill="#101821" stroke="#2C3A48"/>
|
|
80
|
-
<rect width="5" height="82" rx="2.5" fill="#7CC7FF"/>
|
|
81
|
-
<text x="26" y="32" fill="#F4F7FA" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="18" font-weight="700">/context
|
|
82
|
-
</text>
|
|
83
|
-
<text x="26" y="59" fill="#8B9AAD" font-size="16">Usage breakdown · Injected content preview
|
|
84
|
-
</text>
|
|
85
|
-
<g transform="translate(416 23)">
|
|
86
|
-
<rect width="42" height="14" rx="7" fill="#1C2B38"/>
|
|
87
|
-
<rect width="27" height="14" rx="7" fill="#7CC7FF"/>
|
|
88
|
-
</g>
|
|
89
|
-
</g>
|
|
90
|
-
<g transform="translate(0 236)">
|
|
91
|
-
<rect width="474" height="82" rx="14" fill="#101821" stroke="#2C3A48"/>
|
|
92
|
-
<rect width="5" height="82" rx="2.5" fill="#F2C879"/>
|
|
93
|
-
<text x="26" y="32" fill="#F4F7FA" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="18" font-weight="700">@session:
|
|
94
|
-
</text>
|
|
95
|
-
<text x="26" y="59" fill="#8B9AAD" font-size="16">History completion · Cross-session references
|
|
96
|
-
</text>
|
|
97
|
-
<text x="431" y="40" fill="#F2C879" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="26">@
|
|
98
|
-
</text>
|
|
99
|
-
</g>
|
|
100
|
-
</g>
|
|
101
|
-
</svg>
|