@herbertgao/pi-extensions 2026.8.11 → 2026.8.13
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 +23 -10
- package/{node_modules/@herbertgao/pi-mermaid-open/LICENSE → THIRD_PARTY_NOTICES.md} +19 -1
- package/node_modules/@czottmann/pi-automode/CHANGELOG.md +15 -0
- package/node_modules/@czottmann/pi-automode/README.md +5 -3
- package/node_modules/@czottmann/pi-automode/docs/adr/ADR-001-permission-precedence-and-trust-boundaries.md +2 -0
- package/node_modules/@czottmann/pi-automode/docs/adr/ADR-002-global-config-in-extension-data-directory.md +60 -0
- package/node_modules/@czottmann/pi-automode/docs/adr/INDEX.md +1 -0
- package/node_modules/@czottmann/pi-automode/docs/automode-classifier-flow.md +4 -4
- package/node_modules/@czottmann/pi-automode/docs/configuration.md +20 -4
- package/node_modules/@czottmann/pi-automode/docs/observability-logging.md +1 -1
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/bash.ts +692 -0
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/config.ts +181 -3
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/constants.ts +4 -1
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/extension.ts +143 -36
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/hard-deny.ts +103 -148
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/paths.ts +32 -6
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode/permissions.ts +344 -22
- package/node_modules/@czottmann/pi-automode/extensions/auto-mode.ts +1 -0
- package/node_modules/@czottmann/pi-automode/package.json +4 -1
- package/node_modules/@herbertgao/pi-cc-extensions/README.en.md +2 -1
- package/node_modules/@herbertgao/pi-cc-extensions/README.md +2 -1
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/config/config.ts +4 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/config/panel.ts +21 -1
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/agent-summary/core.ts +1 -1
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/context.ts +19 -19
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/compact-mode.ts +4 -2
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/default-mode.ts +2 -1
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/grouping.ts +10 -2
- package/node_modules/@herbertgao/pi-cc-extensions/package.json +3 -3
- package/node_modules/@herbertgao/pi-subagents/CHANGELOG.md +10 -0
- package/node_modules/@herbertgao/pi-subagents/README.md +21 -15
- package/node_modules/@herbertgao/pi-subagents/package.json +3 -3
- package/node_modules/@herbertgao/pi-subagents/src/agent-file-toggle.ts +11 -8
- package/node_modules/@herbertgao/pi-subagents/src/agent-manager.ts +184 -106
- package/node_modules/@herbertgao/pi-subagents/src/cross-extension-rpc.ts +31 -11
- package/node_modules/@herbertgao/pi-subagents/src/custom-agents.ts +9 -1
- package/node_modules/@herbertgao/pi-subagents/src/index.ts +156 -31
- package/node_modules/@herbertgao/pi-subagents/src/invocation-config.ts +17 -0
- package/node_modules/@herbertgao/pi-subagents/src/model-resolver.ts +14 -0
- package/node_modules/@herbertgao/pi-subagents/src/schedule.ts +8 -0
- package/node_modules/@herbertgao/pi-subagents/src/settings.ts +32 -1
- package/node_modules/@herbertgao/pi-subagents/src/types.ts +17 -2
- package/node_modules/@herbertgao/pi-subagents/src/ui/agent-widget.ts +23 -2
- package/node_modules/@herbertgao/pi-subagents/src/ui/conversation-viewer.ts +259 -24
- package/node_modules/@juicesharp/rpiv-ask-user-question/package.json +2 -2
- package/node_modules/@luxusai/pi-hindsight/CHANGELOG.md +376 -0
- package/node_modules/@luxusai/pi-hindsight/README.md +92 -0
- package/node_modules/@luxusai/pi-hindsight/docs/adr/001-memory-lifecycle-and-scope.md +56 -0
- package/node_modules/@luxusai/pi-hindsight/docs/adr/002-explicit-routing-strategy-seam.md +169 -0
- package/node_modules/@luxusai/pi-hindsight/docs/adr/003-tui-memory-mode-vocabulary.md +107 -0
- package/node_modules/@luxusai/pi-hindsight/docs/adr/004-lifeos-dual-bank-design.md +89 -0
- package/node_modules/@luxusai/pi-hindsight/docs/adr/005-domain-banks-and-agent-first-surface.md +189 -0
- package/node_modules/@luxusai/pi-hindsight/docs/assets/logos/pi-hindsight-logo-dark.webp +0 -0
- package/node_modules/@luxusai/pi-hindsight/docs/assets/logos/pi-hindsight-logo-dark@2x.webp +0 -0
- package/node_modules/@luxusai/pi-hindsight/docs/coding-memory-evaluation.md +54 -0
- package/node_modules/@luxusai/pi-hindsight/docs/compatibility.md +75 -0
- package/node_modules/@luxusai/pi-hindsight/docs/hindsight-core-functions.md +300 -0
- package/node_modules/@luxusai/pi-hindsight/docs/mission-and-mental-model-quality.md +158 -0
- package/node_modules/@luxusai/pi-hindsight/docs/next-opt-out-design.md +164 -0
- package/node_modules/@luxusai/pi-hindsight/docs/risky-memory-modes.md +139 -0
- package/node_modules/@luxusai/pi-hindsight/docs/starter-mental-model-suggestions.md +74 -0
- package/node_modules/@luxusai/pi-hindsight/docs/surface-reference.md +261 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/banks/bank-operations.ts +151 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/banks/bank-selection.ts +18 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/banks/bank-settings-presenter.ts +46 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/banks/bank-templates.ts +383 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/banks/banking.ts +240 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/banks/knowledge-page-seed.ts +176 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/banks/retain-strategies.ts +178 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/client/client-retry.ts +41 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/client/client.ts +386 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/client/fetch-compat.ts +39 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/client/timeout.ts +34 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/config/config-defaults.ts +140 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/config/config-editing-model.ts +61 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/config/config-editing-registry.ts +925 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/config/config-field-paths.ts +247 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/config/config-normalize.ts +547 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/config/config-writer.ts +480 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/config/config.ts +182 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/config/setup-gate.ts +86 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-execute.ts +1010 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-parse.ts +175 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-plan.ts +425 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-presentation.ts +210 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-sessions.ts +817 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/index.ts +25 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/git-seed.ts +319 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/memory-lifecycle-recall.ts +196 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/memory-lifecycle-retain.ts +189 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/memory-lifecycle-runtime.ts +65 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/memory-lifecycle.ts +260 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/mental-models.ts +244 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/observation-scopes.ts +59 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/recall-cleanup.ts +82 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/recall-visibility.ts +45 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/recall.ts +331 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/retain-cursor.ts +354 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/retain-job-builder.ts +66 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/retain-receipts.ts +132 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/retain.ts +228 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-bank-template-operations.ts +74 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-config-operations.ts +16 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-control-operations.ts +648 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-diagnostics-operations.ts +105 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-identity.ts +68 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-operation-service.ts +71 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-operation-types.ts +13 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-recall-operations.ts +162 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-retain-operations.ts +131 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-scope.ts +104 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-session-operations.ts +37 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/operation-catalog.ts +893 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/reflect-presenter.ts +35 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/scope-migrate.ts +177 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/operations/tools.ts +7 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/queue/flush-presenter.ts +21 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/queue/jsonl-queue-store.ts +112 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/queue/queue-delivery.ts +111 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/queue/queue-lock.ts +214 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/queue/queue-operations.ts +70 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/queue/queue.ts +392 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/bank-template-presentation.ts +45 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/commands.ts +9 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/guided-setup.ts +860 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/prefill-input.ts +105 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-flow.ts +189 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-server-probe.ts +299 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui-actions.ts +201 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui-facts.ts +47 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui-render.ts +239 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui-types.ts +50 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui.ts +259 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/tui/tool-presenters.ts +77 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/types.ts +534 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/utils/diagnostics.ts +319 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/utils/messages.ts +325 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/utils/sanitize.ts +42 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/utils/session-memory-meta.ts +244 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/utils/session-operations.ts +56 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/utils/session.ts +50 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/utils/status-fields.ts +167 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/utils/status-health.ts +207 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/utils/status.ts +120 -0
- package/node_modules/@luxusai/pi-hindsight/extensions/version.ts +8 -0
- package/node_modules/@luxusai/pi-hindsight/package.json +118 -0
- package/node_modules/@luxusai/pi-hindsight/skills/hindsight-memory-doctor/SKILL.md +75 -0
- package/node_modules/@narumitw/pi-btw/dist/index.ts +143 -46
- package/node_modules/@narumitw/pi-btw/dist/index.ts.map +3 -3
- package/node_modules/@narumitw/pi-btw/package.json +6 -6
- package/node_modules/@narumitw/pi-btw/src/fullscreen-ui.ts +136 -22
- package/node_modules/{@herbertgao → @tifan}/pi-copy-response/README.md +2 -4
- package/node_modules/{@herbertgao → @tifan}/pi-copy-response/package.json +5 -15
- package/node_modules/{@herbertgao → @tifan}/pi-handoff/README.md +4 -6
- package/node_modules/@tifan/pi-handoff/package.json +43 -0
- package/node_modules/{@herbertgao → @tifan}/pi-handoff/src/index.ts +1 -1
- package/node_modules/{@herbertgao → @tifan}/pi-inline-skills/README.md +2 -4
- package/node_modules/{@herbertgao → @tifan}/pi-inline-skills/package.json +5 -15
- package/node_modules/{@herbertgao → @tifan}/pi-mermaid-open/README.md +5 -7
- package/node_modules/{@herbertgao → @tifan}/pi-mermaid-open/package.json +5 -19
- package/node_modules/{@herbertgao → @tifan}/pi-preferred-thinking/README.md +4 -6
- package/node_modules/{@herbertgao → @tifan}/pi-preferred-thinking/package.json +6 -16
- package/node_modules/{@herbertgao → @tifan}/pi-preferred-thinking/src/index.ts +1 -6
- package/node_modules/{@herbertgao → @tifan}/pi-recap/README.md +4 -6
- package/node_modules/@tifan/pi-recap/package.json +42 -0
- package/node_modules/{@herbertgao → @tifan}/pi-recap/src/models.ts +1 -6
- package/node_modules/{@herbertgao → @tifan}/pi-rename/README.md +13 -8
- package/node_modules/@tifan/pi-rename/package.json +47 -0
- package/node_modules/@tifan/pi-rename/src/herdr-label.ts +4 -0
- package/node_modules/{@herbertgao → @tifan}/pi-rename/src/index.ts +4 -16
- package/node_modules/{@herbertgao → @tifan}/pi-rename/src/models.ts +1 -6
- package/node_modules/{@herbertgao → @tifan}/pi-titlebar-spinner/README.md +2 -4
- package/node_modules/{@herbertgao → @tifan}/pi-titlebar-spinner/package.json +5 -15
- package/node_modules/pi-lens/CHANGELOG.md +96 -1
- package/node_modules/pi-lens/dist/clients/actionable-warnings-logger.js +2 -1
- package/node_modules/pi-lens/dist/clients/actionable-warnings.js +14 -5
- package/node_modules/pi-lens/dist/clients/advisory-provenance.js +48 -18
- package/node_modules/pi-lens/dist/clients/ast-grep-client.js +1 -3
- package/node_modules/pi-lens/dist/clients/atomic-write-staging.js +16 -4
- package/node_modules/pi-lens/dist/clients/bash-file-access.js +3 -1
- package/node_modules/pi-lens/dist/clients/biome-client.js +1 -3
- package/node_modules/pi-lens/dist/clients/blocker-freshness.js +21 -8
- package/node_modules/pi-lens/dist/clients/bounded-cache.js +24 -8
- package/node_modules/pi-lens/dist/clients/bounded-pid-file-lock.js +4 -3
- package/node_modules/pi-lens/dist/clients/cache-manager.js +6 -7
- package/node_modules/pi-lens/dist/clients/cache-observability.js +461 -66
- package/node_modules/pi-lens/dist/clients/call-graph.js +238 -63
- package/node_modules/pi-lens/dist/clients/codebase-model.js +13 -5
- package/node_modules/pi-lens/dist/clients/complexity-client.js +1 -3
- package/node_modules/pi-lens/dist/clients/dead-code-client.js +19 -8
- package/node_modules/pi-lens/dist/clients/dead-code-logger.js +1 -2
- package/node_modules/pi-lens/dist/clients/deadline-utils.js +3 -1
- package/node_modules/pi-lens/dist/clients/debug-heap.js +8 -1
- package/node_modules/pi-lens/dist/clients/degradation-ledger.js +1 -1
- package/node_modules/pi-lens/dist/clients/dependency-checker.js +11 -7
- package/node_modules/pi-lens/dist/clients/diagnostic-dispositions.js +39 -2
- package/node_modules/pi-lens/dist/clients/diagnostic-line-freshness.js +5 -1
- package/node_modules/pi-lens/dist/clients/dispatch/auxiliary-lsp.js +2 -3
- package/node_modules/pi-lens/dist/clients/dispatch/dispatcher.js +13 -1
- package/node_modules/pi-lens/dist/clients/dispatch/facts/function-facts.js +3 -1
- package/node_modules/pi-lens/dist/clients/dispatch/facts/import-facts.js +2 -1
- package/node_modules/pi-lens/dist/clients/dispatch/facts/tree-sitter-facts.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/integration.js +9 -4
- package/node_modules/pi-lens/dist/clients/dispatch/rules/error-swallowing.js +3 -1
- package/node_modules/pi-lens/dist/clients/dispatch/rules/pass-through-wrappers.js +6 -2
- package/node_modules/pi-lens/dist/clients/dispatch/rules/unsafe-boundary.js +31 -7
- package/node_modules/pi-lens/dist/clients/dispatch/runners/actionlint.js +5 -2
- package/node_modules/pi-lens/dist/clients/dispatch/runners/biome-check.js +10 -14
- package/node_modules/pi-lens/dist/clients/dispatch/runners/cpp-check.js +5 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/dotnet-build.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/elixir-check.js +3 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/eslint.js +25 -6
- package/node_modules/pi-lens/dist/clients/dispatch/runners/fish-indent.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/gleam-check.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/golangci-lint.js +3 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/hadolint.js +13 -8
- package/node_modules/pi-lens/dist/clients/dispatch/runners/helm-lint.js +4 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/htmlhint.js +25 -10
- package/node_modules/pi-lens/dist/clients/dispatch/runners/javac.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/ktlint.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/lsp.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/markdownlint.js +28 -4
- package/node_modules/pi-lens/dist/clients/dispatch/runners/mypy.js +6 -8
- package/node_modules/pi-lens/dist/clients/dispatch/runners/oxlint.js +212 -11
- package/node_modules/pi-lens/dist/clients/dispatch/runners/php-lint.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/phpstan.js +8 -4
- package/node_modules/pi-lens/dist/clients/dispatch/runners/psscriptanalyzer.js +10 -6
- package/node_modules/pi-lens/dist/clients/dispatch/runners/pyright.js +23 -14
- package/node_modules/pi-lens/dist/clients/dispatch/runners/rust-clippy.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/shellcheck.js +7 -9
- package/node_modules/pi-lens/dist/clients/dispatch/runners/shfmt.js +5 -2
- package/node_modules/pi-lens/dist/clients/dispatch/runners/sqlfluff.js +7 -7
- package/node_modules/pi-lens/dist/clients/dispatch/runners/stylelint.js +6 -8
- package/node_modules/pi-lens/dist/clients/dispatch/runners/terragrunt.js +13 -8
- package/node_modules/pi-lens/dist/clients/dispatch/runners/tflint.js +13 -8
- package/node_modules/pi-lens/dist/clients/dispatch/runners/tree-sitter.js +17 -3
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/candidate-probe.js +7 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/runner-helpers.js +24 -1
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/tool-failure.js +35 -0
- package/node_modules/pi-lens/dist/clients/dispatch/runners/yaml-rule-parser.js +1 -3
- package/node_modules/pi-lens/dist/clients/dispatch/runners/yamllint.js +6 -8
- package/node_modules/pi-lens/dist/clients/dispatch/runners/zig-check.js +1 -1
- package/node_modules/pi-lens/dist/clients/dispatch/suppress-writer.js +2 -1
- package/node_modules/pi-lens/dist/clients/dispatch/types.js +6 -1
- package/node_modules/pi-lens/dist/clients/dispatch/utils/lsp-diagnostics.js +6 -2
- package/node_modules/pi-lens/dist/clients/extension-log.js +5 -3
- package/node_modules/pi-lens/dist/clients/feature-hints.js +8 -1
- package/node_modules/pi-lens/dist/clients/file-kinds.js +34 -129
- package/node_modules/pi-lens/dist/clients/file-utils.js +17 -1
- package/node_modules/pi-lens/dist/clients/finding-delivery-gate.js +57 -2
- package/node_modules/pi-lens/dist/clients/formatters.js +144 -27
- package/node_modules/pi-lens/dist/clients/freshness.js +38 -0
- package/node_modules/pi-lens/dist/clients/git-guard.js +43 -13
- package/node_modules/pi-lens/dist/clients/go-client.js +1 -3
- package/node_modules/pi-lens/dist/clients/grammar-source.js +1 -1
- package/node_modules/pi-lens/dist/clients/gzip-stage-write.js +30 -4
- package/node_modules/pi-lens/dist/clients/host-edit-normalize.js +1 -3
- package/node_modules/pi-lens/dist/clients/install-diagnostics.js +4 -2
- package/node_modules/pi-lens/dist/clients/installer/index.js +86 -77
- package/node_modules/pi-lens/dist/clients/instance-reaper.js +5 -2
- package/node_modules/pi-lens/dist/clients/instance-registry.js +4 -2
- package/node_modules/pi-lens/dist/clients/jscpd-client.js +6 -1
- package/node_modules/pi-lens/dist/clients/knip-client.js +29 -15
- package/node_modules/pi-lens/dist/clients/language-profile.js +4 -1
- package/node_modules/pi-lens/dist/clients/latency-logger.js +13 -2
- package/node_modules/pi-lens/dist/clients/lens-config.js +1 -1
- package/node_modules/pi-lens/dist/clients/lens-map.js +8 -3
- package/node_modules/pi-lens/dist/clients/live-bus-emitter.js +1 -1
- package/node_modules/pi-lens/dist/clients/lsp/config.js +4 -6
- package/node_modules/pi-lens/dist/clients/lsp/edits.js +119 -32
- package/node_modules/pi-lens/dist/clients/lsp/index.js +94 -35
- package/node_modules/pi-lens/dist/clients/lsp/inferred-project.js +2 -1
- package/node_modules/pi-lens/dist/clients/lsp/jvm-runtime.js +4 -1
- package/node_modules/pi-lens/dist/clients/lsp/launch.js +11 -3
- package/node_modules/pi-lens/dist/clients/lsp/pending-aux-coverage.js +152 -0
- package/node_modules/pi-lens/dist/clients/lsp/server.js +19 -7
- package/node_modules/pi-lens/dist/clients/lsp/tsserver-sync.js +10 -2
- package/node_modules/pi-lens/dist/clients/lsp/workspace-diagnostics-cache.js +9 -4
- package/node_modules/pi-lens/dist/clients/lsp-document-symbols.js +1 -3
- package/node_modules/pi-lens/dist/clients/lsp-mutation.js +10 -20
- package/node_modules/pi-lens/dist/clients/mcp/host-shim.js +1 -1
- package/node_modules/pi-lens/dist/clients/memory-sampler.js +73 -7
- package/node_modules/pi-lens/dist/clients/metrics-client.js +1 -3
- package/node_modules/pi-lens/dist/clients/middle-man-analysis.js +8 -3
- package/node_modules/pi-lens/dist/clients/module-report-lsp.js +7 -1
- package/node_modules/pi-lens/dist/clients/module-report.js +14 -17
- package/node_modules/pi-lens/dist/clients/ndjson-logger.js +3 -5
- package/node_modules/pi-lens/dist/clients/opaque-mutation-scan.js +220 -0
- package/node_modules/pi-lens/dist/clients/package-manager.js +6 -1
- package/node_modules/pi-lens/dist/clients/pipeline.js +57 -9
- package/node_modules/pi-lens/dist/clients/project-conventions.js +2 -8
- package/node_modules/pi-lens/dist/clients/project-diagnostics/cache.js +10 -7
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/call-graph-impact.js +2 -1
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/gitleaks.js +3 -1
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/runner-findings.js +13 -9
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/trivy.js +3 -1
- package/node_modules/pi-lens/dist/clients/project-diagnostics/scanner.js +5 -2
- package/node_modules/pi-lens/dist/clients/project-lens-config.js +12 -5
- package/node_modules/pi-lens/dist/clients/project-snapshot-fingerprint.js +48 -0
- package/node_modules/pi-lens/dist/clients/project-snapshot-persist-worker.js +15 -1
- package/node_modules/pi-lens/dist/clients/project-snapshot.js +472 -66
- package/node_modules/pi-lens/dist/clients/read-expansion.js +12 -2
- package/node_modules/pi-lens/dist/clients/read-guard-logger.js +5 -4
- package/node_modules/pi-lens/dist/clients/read-guard-tool-lines.js +5 -2
- package/node_modules/pi-lens/dist/clients/read-guard.js +1 -1
- package/node_modules/pi-lens/dist/clients/resource-sampler.js +1 -1
- package/node_modules/pi-lens/dist/clients/reverse-deps.js +6 -5
- package/node_modules/pi-lens/dist/clients/review-graph/builder.js +42 -17
- package/node_modules/pi-lens/dist/clients/review-graph/git-identity.js +8 -2
- package/node_modules/pi-lens/dist/clients/review-graph/import-resolvers.js +10 -1
- package/node_modules/pi-lens/dist/clients/review-graph/query.js +2 -1
- package/node_modules/pi-lens/dist/clients/review-graph/tsconfig-paths.js +4 -2
- package/node_modules/pi-lens/dist/clients/review-graph/workspace-modules.js +2 -2
- package/node_modules/pi-lens/dist/clients/ruff-client.js +6 -5
- package/node_modules/pi-lens/dist/clients/runtime-agent-end.js +63 -31
- package/node_modules/pi-lens/dist/clients/runtime-context.js +12 -4
- package/node_modules/pi-lens/dist/clients/runtime-coordinator.js +83 -4
- package/node_modules/pi-lens/dist/clients/runtime-session.js +14 -0
- package/node_modules/pi-lens/dist/clients/runtime-tool-call.js +59 -3
- package/node_modules/pi-lens/dist/clients/runtime-tool-result.js +148 -34
- package/node_modules/pi-lens/dist/clients/runtime-turn.js +147 -6
- package/node_modules/pi-lens/dist/clients/rust-client.js +1 -3
- package/node_modules/pi-lens/dist/clients/safe-spawn.js +150 -11
- package/node_modules/pi-lens/dist/clients/security-scan-client.js +1 -3
- package/node_modules/pi-lens/dist/clients/session-summary.js +3 -1
- package/node_modules/pi-lens/dist/clients/sg-runner.js +1 -3
- package/node_modules/pi-lens/dist/clients/source-filter.js +10 -6
- package/node_modules/pi-lens/dist/clients/source-walker.js +1 -1
- package/node_modules/pi-lens/dist/clients/spawn-timeout-cooldown.js +96 -0
- package/node_modules/pi-lens/dist/clients/startup-scan.js +4 -1
- package/node_modules/pi-lens/dist/clients/tool-definition.js +7 -0
- package/node_modules/pi-lens/dist/clients/tool-policy.js +26 -11
- package/node_modules/pi-lens/dist/clients/tool-render.js +2 -1
- package/node_modules/pi-lens/dist/clients/tree-sitter-client.js +10 -4
- package/node_modules/pi-lens/dist/clients/tree-sitter-logger.js +2 -2
- package/node_modules/pi-lens/dist/clients/tree-sitter-symbol-extractor.js +12 -5
- package/node_modules/pi-lens/dist/clients/warm-attach.js +12 -5
- package/node_modules/pi-lens/dist/clients/widget-state.js +27 -11
- package/node_modules/pi-lens/dist/clients/word-index.js +3 -1
- package/node_modules/pi-lens/dist/clients/workspace-topology.js +8 -2
- package/node_modules/pi-lens/dist/clients/zizmor-config.js +9 -1
- package/node_modules/pi-lens/dist/i18n.js +13 -5
- package/node_modules/pi-lens/dist/index.js +10797 -8627
- package/node_modules/pi-lens/dist/mcp/server.js +3 -1
- package/node_modules/pi-lens/dist/tools/ast-grep-replace.js +68 -12
- package/node_modules/pi-lens/dist/tools/lens-diagnostic-mark.js +21 -7
- package/node_modules/pi-lens/dist/tools/lens-diagnostics.js +164 -35
- package/node_modules/pi-lens/dist/tools/lsp-diagnostics.js +24 -7
- package/node_modules/pi-lens/dist/tools/lsp-navigation.js +3 -1
- package/node_modules/pi-lens/dist/tools/module-report.js +1 -1
- package/node_modules/pi-lens/dist/tools/project-report.js +1 -1
- package/node_modules/pi-lens/dist/tools/symbol-search.js +5 -2
- package/node_modules/pi-lens/docs/durable-store-audit-1202.md +1 -1
- package/node_modules/pi-lens/docs/servercapabilities.md +1 -1
- package/node_modules/pi-lens/package.json +160 -156
- package/node_modules/pi-lens/rules/typos/_typos.toml +2 -2
- package/node_modules/pi-lens/scripts/analyze-pi-lens-logs.mjs +31 -13
- package/node_modules/pi-lens/scripts/download-grammars.js +9 -3
- package/node_modules/pi-lens/scripts/rpc-load-check.mjs +30 -9
- package/node_modules/pi-mcp-adapter/CHANGELOG.md +47 -0
- package/node_modules/pi-mcp-adapter/README.md +42 -13
- package/node_modules/pi-mcp-adapter/commands.ts +4 -2
- package/node_modules/pi-mcp-adapter/config.ts +45 -5
- package/node_modules/pi-mcp-adapter/direct-tools.ts +103 -92
- package/node_modules/pi-mcp-adapter/dist/agent-dir.d.ts +10 -0
- package/node_modules/pi-mcp-adapter/dist/agent-dir.js +63 -0
- package/node_modules/pi-mcp-adapter/dist/agent-dir.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/agent-plugin-loader.d.ts +8 -0
- package/node_modules/pi-mcp-adapter/dist/agent-plugin-loader.js +356 -0
- package/node_modules/pi-mcp-adapter/dist/agent-plugin-loader.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/config.d.ts +123 -0
- package/node_modules/pi-mcp-adapter/dist/config.js +1087 -0
- package/node_modules/pi-mcp-adapter/dist/config.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/metadata-cache.d.ts +19 -0
- package/node_modules/pi-mcp-adapter/dist/metadata-cache.js +319 -0
- package/node_modules/pi-mcp-adapter/dist/metadata-cache.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/package-mcp-loader.d.ts +2 -0
- package/node_modules/pi-mcp-adapter/dist/package-mcp-loader.js +156 -0
- package/node_modules/pi-mcp-adapter/dist/package-mcp-loader.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/resource-tools.d.ts +1 -0
- package/node_modules/pi-mcp-adapter/dist/resource-tools.js +15 -0
- package/node_modules/pi-mcp-adapter/dist/resource-tools.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/types.d.ts +564 -0
- package/node_modules/pi-mcp-adapter/dist/types.js +287 -0
- package/node_modules/pi-mcp-adapter/dist/types.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/ui-app-bridge-helpers.d.ts +6 -0
- package/node_modules/pi-mcp-adapter/dist/ui-app-bridge-helpers.js +37 -0
- package/node_modules/pi-mcp-adapter/dist/ui-app-bridge-helpers.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/ui-stream-types.d.ts +104 -0
- package/node_modules/pi-mcp-adapter/dist/ui-stream-types.js +59 -0
- package/node_modules/pi-mcp-adapter/dist/ui-stream-types.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/ui-tool-visibility.d.ts +4 -0
- package/node_modules/pi-mcp-adapter/dist/ui-tool-visibility.js +27 -0
- package/node_modules/pi-mcp-adapter/dist/ui-tool-visibility.js.map +1 -0
- package/node_modules/pi-mcp-adapter/dist/utils.d.ts +32 -0
- package/node_modules/pi-mcp-adapter/dist/utils.js +338 -0
- package/node_modules/pi-mcp-adapter/dist/utils.js.map +1 -0
- package/node_modules/pi-mcp-adapter/failure-backoff.ts +23 -0
- package/node_modules/pi-mcp-adapter/index.ts +204 -82
- package/node_modules/pi-mcp-adapter/init.ts +41 -30
- package/node_modules/pi-mcp-adapter/lifecycle.ts +16 -8
- package/node_modules/pi-mcp-adapter/mcp-code.ts +2 -0
- package/node_modules/pi-mcp-adapter/mcp-oauth-provider.ts +66 -16
- package/node_modules/pi-mcp-adapter/mcp-output-guard.ts +95 -7
- package/node_modules/pi-mcp-adapter/mcp-probe.ts +18 -4
- package/node_modules/pi-mcp-adapter/mcp-references.ts +368 -0
- package/node_modules/pi-mcp-adapter/mcp-status.ts +8 -19
- package/node_modules/pi-mcp-adapter/metadata-cache.ts +20 -12
- package/node_modules/pi-mcp-adapter/namespace-tools.ts +276 -0
- package/node_modules/pi-mcp-adapter/package.json +24 -6
- package/node_modules/pi-mcp-adapter/proxy-modes.ts +66 -10
- package/node_modules/pi-mcp-adapter/search-ranking.ts +2 -0
- package/node_modules/pi-mcp-adapter/server-manager.ts +63 -12
- package/node_modules/pi-mcp-adapter/state.ts +1 -3
- package/node_modules/pi-mcp-adapter/tool-result-renderer.ts +16 -2
- package/node_modules/pi-mcp-adapter/types.ts +48 -1
- package/node_modules/pi-mcp-adapter/ui-server.ts +3 -19
- package/node_modules/pi-mcp-adapter/ui-session.ts +2 -1
- package/node_modules/pi-mcp-adapter/utils.ts +21 -19
- package/node_modules/pi-web-access/CHANGELOG.md +26 -0
- package/node_modules/pi-web-access/README.md +71 -14
- package/node_modules/pi-web-access/chrome-cookies.ts +115 -35
- package/node_modules/pi-web-access/credential-source.ts +6 -2
- package/node_modules/pi-web-access/curator-page.ts +5 -3
- package/node_modules/pi-web-access/curator-server.ts +2 -1
- package/node_modules/pi-web-access/extract.ts +89 -9
- package/node_modules/pi-web-access/fetch-params.ts +13 -0
- package/node_modules/pi-web-access/gemini-adc.ts +298 -0
- package/node_modules/pi-web-access/gemini-api.ts +59 -15
- package/node_modules/pi-web-access/gemini-search.ts +58 -18
- package/node_modules/pi-web-access/gemini-url-context.ts +3 -2
- package/node_modules/pi-web-access/gemini-web-config.ts +57 -7
- package/node_modules/pi-web-access/gemini-web.ts +9 -3
- package/node_modules/pi-web-access/github-api.ts +5 -4
- package/node_modules/pi-web-access/github-issue-pr.ts +700 -0
- package/node_modules/pi-web-access/index.ts +403 -297
- package/node_modules/pi-web-access/kimi-search.ts +234 -0
- package/node_modules/pi-web-access/openai-search.ts +118 -21
- package/node_modules/pi-web-access/package.json +3 -2
- package/node_modules/pi-web-access/ssrf-protection.ts +4 -1
- package/node_modules/pi-web-access/utils.ts +307 -1
- package/node_modules/pi-web-access/youtube-extract.ts +2 -2
- package/package.json +46 -37
- package/node_modules/@herbertgao/pi-copy-response/CHANGELOG.md +0 -49
- package/node_modules/@herbertgao/pi-copy-response/LICENSE +0 -22
- package/node_modules/@herbertgao/pi-handoff/CHANGELOG.md +0 -83
- package/node_modules/@herbertgao/pi-handoff/LICENSE +0 -22
- package/node_modules/@herbertgao/pi-handoff/package.json +0 -60
- package/node_modules/@herbertgao/pi-inline-skills/CHANGELOG.md +0 -57
- package/node_modules/@herbertgao/pi-inline-skills/LICENSE +0 -22
- package/node_modules/@herbertgao/pi-mermaid-open/CHANGELOG.md +0 -39
- package/node_modules/@herbertgao/pi-preferred-thinking/CHANGELOG.md +0 -63
- package/node_modules/@herbertgao/pi-preferred-thinking/LICENSE +0 -22
- package/node_modules/@herbertgao/pi-recap/CHANGELOG.md +0 -101
- package/node_modules/@herbertgao/pi-recap/LICENSE +0 -22
- package/node_modules/@herbertgao/pi-recap/package.json +0 -55
- package/node_modules/@herbertgao/pi-rename/CHANGELOG.md +0 -49
- package/node_modules/@herbertgao/pi-rename/LICENSE +0 -22
- package/node_modules/@herbertgao/pi-rename/package.json +0 -63
- package/node_modules/@herbertgao/pi-titlebar-spinner/CHANGELOG.md +0 -25
- package/node_modules/@herbertgao/pi-titlebar-spinner/LICENSE +0 -22
- /package/node_modules/{@herbertgao → @tifan}/pi-copy-response/src/index.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-handoff/src/complete-text.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-handoff/src/session-query.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-inline-skills/src/index.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-mermaid-open/herdr-plugin/herdr-plugin.toml +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-mermaid-open/herdr-plugin/viewer.mjs +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-mermaid-open/src/index.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-recap/src/index.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-recap/src/model-picker.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-recap/src/sanitize.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-recap/src/tui.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-rename/src/model-picker.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-rename/src/naming.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-rename/src/sanitize.ts +0 -0
- /package/node_modules/{@herbertgao → @tifan}/pi-titlebar-spinner/src/index.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@narumitw/pi-btw",
|
|
3
|
-
"version": "0.55.
|
|
3
|
+
"version": "0.55.4",
|
|
4
4
|
"description": "Pi extension that adds a /btw side-question command.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
"prepack": "npm run build"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@biomejs/biome": "2.5.
|
|
38
|
-
"@earendil-works/pi-ai": "0.84.
|
|
39
|
-
"@earendil-works/pi-coding-agent": "0.84.
|
|
40
|
-
"@earendil-works/pi-tui": "0.84.
|
|
37
|
+
"@biomejs/biome": "2.5.10",
|
|
38
|
+
"@earendil-works/pi-ai": "0.84.3",
|
|
39
|
+
"@earendil-works/pi-coding-agent": "0.84.3",
|
|
40
|
+
"@earendil-works/pi-tui": "0.84.3",
|
|
41
41
|
"esbuild": "0.28.2",
|
|
42
42
|
"typescript": "7.0.2"
|
|
43
43
|
},
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"directory": "packages/pi-btw"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@narumitw/pi-tui-kit": "^0.
|
|
50
|
+
"@narumitw/pi-tui-kit": "^0.59.0"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"@earendil-works/pi-ai": "*",
|
|
@@ -7,9 +7,14 @@ import {
|
|
|
7
7
|
} from "@earendil-works/pi-coding-agent";
|
|
8
8
|
import {
|
|
9
9
|
type Component,
|
|
10
|
+
isKeyRelease,
|
|
11
|
+
Key,
|
|
12
|
+
matchesKey,
|
|
10
13
|
type OverlayHandle,
|
|
11
14
|
type TUI,
|
|
12
15
|
TuiAltScreen,
|
|
16
|
+
type TuiInputListener,
|
|
17
|
+
type TuiInputListenerResult,
|
|
13
18
|
truncateToWidth,
|
|
14
19
|
} from "@earendil-works/pi-tui";
|
|
15
20
|
import { sanitizeSingleLine } from "./text.js";
|
|
@@ -25,6 +30,7 @@ type BtwCustomFactory<T> = (
|
|
|
25
30
|
type BtwFullscreenTui = TUI & {
|
|
26
31
|
flash?: (message: string, durationMs?: number) => void;
|
|
27
32
|
setLayoutRoot(component: Component | undefined): void;
|
|
33
|
+
addInputListenerBeforeViewport?(listener: TuiInputListener): () => void;
|
|
28
34
|
};
|
|
29
35
|
|
|
30
36
|
export interface BtwFullscreenLayoutComponent extends Component {
|
|
@@ -69,9 +75,10 @@ export async function runBtwFullscreen<T>(
|
|
|
69
75
|
));
|
|
70
76
|
let liveEditorText = ctx.ui.getEditorText();
|
|
71
77
|
let restoreEditor = false;
|
|
78
|
+
let host: BtwFullscreenHost<T> | undefined;
|
|
72
79
|
const outcome = await ctx.ui.custom<FullscreenOutcome<T>>(
|
|
73
|
-
(parent, theme, keybindings, done) =>
|
|
74
|
-
new BtwFullscreenHost(
|
|
80
|
+
(parent, theme, keybindings, done) => {
|
|
81
|
+
host = new BtwFullscreenHost(
|
|
75
82
|
parent,
|
|
76
83
|
theme,
|
|
77
84
|
keybindings,
|
|
@@ -87,7 +94,13 @@ export async function runBtwFullscreen<T>(
|
|
|
87
94
|
done(value);
|
|
88
95
|
},
|
|
89
96
|
createTui,
|
|
90
|
-
)
|
|
97
|
+
);
|
|
98
|
+
return host;
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
overlay: true,
|
|
102
|
+
onHandle: (handle) => host?.setParentOverlay(handle),
|
|
103
|
+
},
|
|
91
104
|
);
|
|
92
105
|
if (restoreEditor) {
|
|
93
106
|
try {
|
|
@@ -100,6 +113,59 @@ export async function runBtwFullscreen<T>(
|
|
|
100
113
|
return outcome.value;
|
|
101
114
|
}
|
|
102
115
|
|
|
116
|
+
type BtwInputListeners = {
|
|
117
|
+
beforeViewport: Set<TuiInputListener>;
|
|
118
|
+
regular: Set<TuiInputListener>;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
const btwInputListeners = new WeakMap<BtwTuiAltScreen, BtwInputListeners>();
|
|
122
|
+
|
|
123
|
+
function dispatchBtwInput(listeners: BtwInputListeners, data: string): TuiInputListenerResult {
|
|
124
|
+
let current = data;
|
|
125
|
+
for (const group of [listeners.beforeViewport, listeners.regular]) {
|
|
126
|
+
for (const listener of group) {
|
|
127
|
+
const result = listener(current);
|
|
128
|
+
if (result?.consume) return result;
|
|
129
|
+
if (result?.data !== undefined) current = result.data;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return current === data ? undefined : { data: current };
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
class BtwTuiAltScreen extends TuiAltScreen {
|
|
136
|
+
override addInputListener(listener: TuiInputListener): () => void {
|
|
137
|
+
let listeners = btwInputListeners.get(this);
|
|
138
|
+
if (!listeners) {
|
|
139
|
+
const registeredListeners: BtwInputListeners = {
|
|
140
|
+
beforeViewport: new Set(),
|
|
141
|
+
regular: new Set(),
|
|
142
|
+
};
|
|
143
|
+
btwInputListeners.set(this, registeredListeners);
|
|
144
|
+
super.addInputListener((data) => dispatchBtwInput(registeredListeners, data));
|
|
145
|
+
listeners = registeredListeners;
|
|
146
|
+
}
|
|
147
|
+
listeners.regular.add(listener);
|
|
148
|
+
return () => listeners.regular.delete(listener);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
addInputListenerBeforeViewport(listener: TuiInputListener): () => void {
|
|
152
|
+
const listeners = btwInputListeners.get(this);
|
|
153
|
+
if (!listeners) return super.addInputListener(listener);
|
|
154
|
+
listeners.beforeViewport.add(listener);
|
|
155
|
+
return () => listeners.beforeViewport.delete(listener);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
override removeInputListener(listener: TuiInputListener): void {
|
|
159
|
+
const listeners = btwInputListeners.get(this);
|
|
160
|
+
if (!listeners) {
|
|
161
|
+
super.removeInputListener(listener);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
listeners.beforeViewport.delete(listener);
|
|
165
|
+
listeners.regular.delete(listener);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
103
169
|
function createBtwFullscreenTui(
|
|
104
170
|
parent: TUI,
|
|
105
171
|
theme: Theme,
|
|
@@ -108,7 +174,7 @@ function createBtwFullscreenTui(
|
|
|
108
174
|
): BtwFullscreenTui {
|
|
109
175
|
const styleSearchMatch = (text: string) =>
|
|
110
176
|
theme.bg("searchMatchBg", theme.fg("searchMatchText", text));
|
|
111
|
-
return new
|
|
177
|
+
return new BtwTuiAltScreen(parent.terminal, parent.getShowHardwareCursor(), undefined, {
|
|
112
178
|
mouse: true,
|
|
113
179
|
searchMatchStyle: (text) => theme.underline(styleSearchMatch(text)),
|
|
114
180
|
searchCurrentMatchStyle: (text) => theme.bold(theme.inverse(styleSearchMatch(text))),
|
|
@@ -139,10 +205,18 @@ function openUrlInBrowser(target: string): void {
|
|
|
139
205
|
|
|
140
206
|
class BtwFullscreenHost<T> implements Component {
|
|
141
207
|
private fullscreen: BtwFullscreenTui | undefined;
|
|
208
|
+
private parentOverlay: OverlayHandle | undefined;
|
|
142
209
|
private cancelActiveCustom: (() => void) | undefined;
|
|
210
|
+
private hardCancelActiveCustom: (() => void) | undefined;
|
|
211
|
+
private removeHardCancelListener: (() => void) | undefined;
|
|
143
212
|
private started = false;
|
|
144
213
|
private disposed = false;
|
|
145
214
|
private finished = false;
|
|
215
|
+
private parentStopped = false;
|
|
216
|
+
private parentRestarted = false;
|
|
217
|
+
private fullscreenCreated = false;
|
|
218
|
+
private fullscreenStopped = false;
|
|
219
|
+
private cleanupError: unknown;
|
|
146
220
|
|
|
147
221
|
constructor(
|
|
148
222
|
private readonly parent: TUI,
|
|
@@ -156,6 +230,10 @@ class BtwFullscreenHost<T> implements Component {
|
|
|
156
230
|
queueMicrotask(() => void this.start());
|
|
157
231
|
}
|
|
158
232
|
|
|
233
|
+
setParentOverlay(overlay: OverlayHandle): void {
|
|
234
|
+
this.parentOverlay = overlay;
|
|
235
|
+
}
|
|
236
|
+
|
|
159
237
|
render(width: number): string[] {
|
|
160
238
|
return [truncateToWidth(this.theme.fg("muted", "Opening btw side thread…"), width)];
|
|
161
239
|
}
|
|
@@ -172,45 +250,69 @@ class BtwFullscreenHost<T> implements Component {
|
|
|
172
250
|
if (this.started || this.finished) return;
|
|
173
251
|
this.started = true;
|
|
174
252
|
let outcome: FullscreenOutcome<T>;
|
|
175
|
-
let parentStopped = false;
|
|
176
|
-
let fullscreenCreated = false;
|
|
177
253
|
try {
|
|
178
254
|
if (this.disposed) throw new FullscreenUiDisposedError();
|
|
179
255
|
this.parent.stop({ preserveScreen: true });
|
|
180
|
-
parentStopped = true;
|
|
256
|
+
this.parentStopped = true;
|
|
181
257
|
if (this.disposed) throw new FullscreenUiDisposedError();
|
|
182
258
|
this.fullscreen = this.createTui(this.parent, this.theme);
|
|
183
|
-
fullscreenCreated = true;
|
|
259
|
+
this.fullscreenCreated = true;
|
|
184
260
|
this.fullscreen.start();
|
|
261
|
+
// Waiting for the custom promise would leave follow-up keys bound to the side TUI.
|
|
262
|
+
const addHardCancelListener =
|
|
263
|
+
this.fullscreen.addInputListenerBeforeViewport?.bind(this.fullscreen) ??
|
|
264
|
+
this.fullscreen.addInputListener.bind(this.fullscreen);
|
|
265
|
+
this.removeHardCancelListener = addHardCancelListener((data) => {
|
|
266
|
+
if (isKeyRelease(data) || !matchesKey(data, Key.ctrl("c"))) return undefined;
|
|
267
|
+
try {
|
|
268
|
+
this.hardCancelActiveCustom?.();
|
|
269
|
+
} finally {
|
|
270
|
+
this.restoreParent();
|
|
271
|
+
}
|
|
272
|
+
return { consume: true };
|
|
273
|
+
});
|
|
185
274
|
outcome = { kind: "completed", value: await this.run(this.createContext()) };
|
|
186
275
|
} catch (error) {
|
|
187
276
|
outcome = { kind: "failed", error };
|
|
188
277
|
}
|
|
189
278
|
|
|
190
|
-
let cleanupError: unknown;
|
|
191
279
|
try {
|
|
192
280
|
this.cancelActiveCustom?.();
|
|
193
281
|
} catch (error) {
|
|
194
|
-
cleanupError
|
|
282
|
+
this.cleanupError ??= error;
|
|
195
283
|
}
|
|
196
|
-
|
|
284
|
+
this.restoreParent();
|
|
285
|
+
if (this.cleanupError !== undefined) outcome = { kind: "failed", error: this.cleanupError };
|
|
286
|
+
this.finished = true;
|
|
287
|
+
this.done(outcome);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
private restoreParent(): void {
|
|
291
|
+
this.removeHardCancelListener?.();
|
|
292
|
+
this.removeHardCancelListener = undefined;
|
|
293
|
+
if (this.fullscreenCreated && !this.fullscreenStopped) {
|
|
294
|
+
this.fullscreenStopped = true;
|
|
197
295
|
try {
|
|
198
296
|
this.fullscreen?.stop({ preserveScreen: true });
|
|
199
297
|
} catch (error) {
|
|
200
|
-
cleanupError ??= error;
|
|
298
|
+
this.cleanupError ??= error;
|
|
201
299
|
}
|
|
202
300
|
}
|
|
203
|
-
if (parentStopped)
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
301
|
+
if (!this.parentStopped || this.parentRestarted) return;
|
|
302
|
+
const parentOverlay = this.parentOverlay;
|
|
303
|
+
this.parentOverlay = undefined;
|
|
304
|
+
try {
|
|
305
|
+
parentOverlay?.setHidden(true);
|
|
306
|
+
} catch (error) {
|
|
307
|
+
this.cleanupError ??= error;
|
|
308
|
+
}
|
|
309
|
+
try {
|
|
310
|
+
this.parent.start();
|
|
311
|
+
this.parentRestarted = true;
|
|
312
|
+
this.parent.renderNow(false);
|
|
313
|
+
} catch (error) {
|
|
314
|
+
this.cleanupError ??= error;
|
|
210
315
|
}
|
|
211
|
-
if (cleanupError !== undefined) outcome = { kind: "failed", error: cleanupError };
|
|
212
|
-
this.finished = true;
|
|
213
|
-
this.done(outcome);
|
|
214
316
|
}
|
|
215
317
|
|
|
216
318
|
private createContext(): ExtensionCommandContext {
|
|
@@ -296,6 +398,7 @@ class BtwFullscreenHost<T> implements Component {
|
|
|
296
398
|
if (promiseSettled || !hasPendingValue) return;
|
|
297
399
|
promiseSettled = true;
|
|
298
400
|
this.cancelActiveCustom = undefined;
|
|
401
|
+
this.hardCancelActiveCustom = undefined;
|
|
299
402
|
if (!factorySettled) {
|
|
300
403
|
resolve(pendingValue as Value);
|
|
301
404
|
return;
|
|
@@ -319,6 +422,7 @@ class BtwFullscreenHost<T> implements Component {
|
|
|
319
422
|
closed = true;
|
|
320
423
|
promiseSettled = true;
|
|
321
424
|
this.cancelActiveCustom = undefined;
|
|
425
|
+
this.hardCancelActiveCustom = undefined;
|
|
322
426
|
try {
|
|
323
427
|
unmount();
|
|
324
428
|
reject(error);
|
|
@@ -331,6 +435,16 @@ class BtwFullscreenHost<T> implements Component {
|
|
|
331
435
|
disposeComponent();
|
|
332
436
|
if (!promiseSettled) fail(new FullscreenUiDisposedError());
|
|
333
437
|
};
|
|
438
|
+
this.hardCancelActiveCustom = () => {
|
|
439
|
+
if (promiseSettled) return;
|
|
440
|
+
try {
|
|
441
|
+
component?.handleInput?.("\u0003");
|
|
442
|
+
} catch (error) {
|
|
443
|
+
fail(error);
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
this.cancelActiveCustom?.();
|
|
447
|
+
};
|
|
334
448
|
|
|
335
449
|
let created: ReturnType<BtwCustomFactory<Value>>;
|
|
336
450
|
try {
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
# @
|
|
2
|
-
|
|
3
|
-
> HerbertGao-maintained fork of [@tifan/pi-copy-response](https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-copy-response), distributed under MIT with the original attribution preserved.
|
|
1
|
+
# @tifan/pi-copy-response
|
|
4
2
|
|
|
5
3
|
Pick one assistant response from the current pi session, preview it, then copy it to the system clipboard.
|
|
6
4
|
|
|
@@ -11,7 +9,7 @@ Use this when pi's built-in `/copy` is not enough. `/copy` copies only the last
|
|
|
11
9
|
## Install
|
|
12
10
|
|
|
13
11
|
```bash
|
|
14
|
-
pi install npm:@
|
|
12
|
+
pi install npm:@tifan/pi-copy-response
|
|
15
13
|
```
|
|
16
14
|
|
|
17
15
|
## Commands
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@tifan/pi-copy-response",
|
|
3
3
|
"version": "0.2.6",
|
|
4
4
|
"description": "Pick and copy an assistant response from the current pi session.",
|
|
5
5
|
"keywords": [
|
|
@@ -8,22 +8,18 @@
|
|
|
8
8
|
"pi-extension",
|
|
9
9
|
"pi-package"
|
|
10
10
|
],
|
|
11
|
-
"homepage": "https://github.com/
|
|
12
|
-
"bugs": "https://github.com/
|
|
11
|
+
"homepage": "https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-copy-response#readme",
|
|
12
|
+
"bugs": "https://github.com/tifandotme/pi-extensions/issues",
|
|
13
13
|
"license": "MIT",
|
|
14
|
-
"author": "
|
|
15
|
-
"contributors": [
|
|
16
|
-
"Tifan Dwi Avianto <hi@tifan.me>"
|
|
17
|
-
],
|
|
14
|
+
"author": "Tifan Dwi Avianto <hi@tifan.me>",
|
|
18
15
|
"repository": {
|
|
19
16
|
"type": "git",
|
|
20
|
-
"url": "git+https://github.com/
|
|
17
|
+
"url": "git+https://github.com/tifandotme/pi-extensions.git",
|
|
21
18
|
"directory": "packages/pi-copy-response"
|
|
22
19
|
},
|
|
23
20
|
"files": [
|
|
24
21
|
"src/**/*.ts",
|
|
25
22
|
"README.md",
|
|
26
|
-
"CHANGELOG.md",
|
|
27
23
|
"LICENSE"
|
|
28
24
|
],
|
|
29
25
|
"type": "module",
|
|
@@ -38,11 +34,5 @@
|
|
|
38
34
|
"extensions": [
|
|
39
35
|
"./src/index.ts"
|
|
40
36
|
]
|
|
41
|
-
},
|
|
42
|
-
"x-upstream": {
|
|
43
|
-
"package": "@tifan/pi-copy-response",
|
|
44
|
-
"version": "0.2.6",
|
|
45
|
-
"repository": "https://github.com/tifandotme/pi-extensions",
|
|
46
|
-
"commit": "460d580"
|
|
47
37
|
}
|
|
48
38
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
# @
|
|
2
|
-
|
|
3
|
-
> HerbertGao-maintained fork of [@tifan/pi-handoff](https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-handoff), distributed under MIT with the original attribution preserved.
|
|
1
|
+
# @tifan/pi-handoff
|
|
4
2
|
|
|
5
3
|
Start a fresh pi session from a handoff document, and query past sessions for context, decisions, or code changes.
|
|
6
4
|
|
|
7
5
|
## Install
|
|
8
6
|
|
|
9
7
|
```bash
|
|
10
|
-
pi install npm:@
|
|
8
|
+
pi install npm:@tifan/pi-handoff
|
|
11
9
|
```
|
|
12
10
|
|
|
13
11
|
## Requirements
|
|
@@ -42,8 +40,8 @@ Pi provides session loading and compaction-aware context reconstruction, but not
|
|
|
42
40
|
|
|
43
41
|
## Release notes
|
|
44
42
|
|
|
45
|
-
See [CHANGELOG.md](CHANGELOG.md)
|
|
43
|
+
See [CHANGELOG.md](https://github.com/tifandotme/pi-extensions/blob/master/packages/pi-handoff/CHANGELOG.md)
|
|
46
44
|
|
|
47
45
|
## License
|
|
48
46
|
|
|
49
|
-
[MIT](LICENSE)
|
|
47
|
+
[MIT](https://github.com/tifandotme/pi-extensions/blob/master/LICENSE)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tifan/pi-handoff",
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "Transfer pi session context to a new session and query past sessions.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"handoff",
|
|
7
|
+
"pi",
|
|
8
|
+
"pi-extension",
|
|
9
|
+
"pi-package",
|
|
10
|
+
"session"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-handoff#readme",
|
|
13
|
+
"bugs": "https://github.com/tifandotme/pi-extensions/issues",
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"author": "Tifan Dwi Avianto <hi@tifan.me>",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/tifandotme/pi-extensions.git",
|
|
19
|
+
"directory": "packages/pi-handoff"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"src/**/*.ts",
|
|
23
|
+
"README.md",
|
|
24
|
+
"LICENSE"
|
|
25
|
+
],
|
|
26
|
+
"type": "module",
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public",
|
|
29
|
+
"provenance": true
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@tifan/pi-rename": "^0.5.0"
|
|
33
|
+
},
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=20"
|
|
36
|
+
},
|
|
37
|
+
"pi": {
|
|
38
|
+
"extensions": [
|
|
39
|
+
"./src/index.ts",
|
|
40
|
+
"./src/session-query.ts"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AgentMessage } from "@earendil-works/pi-agent-core"
|
|
2
2
|
import type { Message } from "@earendil-works/pi-ai/compat"
|
|
3
|
-
import { sanitizeRenameText } from "@
|
|
3
|
+
import { sanitizeRenameText } from "@tifan/pi-rename/naming"
|
|
4
4
|
import type {
|
|
5
5
|
ExtensionAPI,
|
|
6
6
|
ExtensionCommandContext,
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
# @
|
|
2
|
-
|
|
3
|
-
> HerbertGao-maintained fork of [@tifan/pi-inline-skills](https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-inline-skills), distributed under MIT with the original attribution preserved.
|
|
1
|
+
# @tifan/pi-inline-skills
|
|
4
2
|
|
|
5
3
|
Load skills from inside a pi prompt.
|
|
6
4
|
|
|
@@ -11,7 +9,7 @@ Type `/` and part of a skill name, pick a skill, then keep writing. On submit, t
|
|
|
11
9
|
## Install
|
|
12
10
|
|
|
13
11
|
```bash
|
|
14
|
-
pi install npm:@
|
|
12
|
+
pi install npm:@tifan/pi-inline-skills
|
|
15
13
|
```
|
|
16
14
|
|
|
17
15
|
## Usage
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@tifan/pi-inline-skills",
|
|
3
3
|
"version": "1.0.5",
|
|
4
4
|
"description": "Inline /skill autocomplete in the pi editor.",
|
|
5
5
|
"keywords": [
|
|
@@ -9,22 +9,18 @@
|
|
|
9
9
|
"pi-package",
|
|
10
10
|
"skills"
|
|
11
11
|
],
|
|
12
|
-
"homepage": "https://github.com/
|
|
13
|
-
"bugs": "https://github.com/
|
|
12
|
+
"homepage": "https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-inline-skills#readme",
|
|
13
|
+
"bugs": "https://github.com/tifandotme/pi-extensions/issues",
|
|
14
14
|
"license": "MIT",
|
|
15
|
-
"author": "
|
|
16
|
-
"contributors": [
|
|
17
|
-
"Tifan Dwi Avianto <hi@tifan.me>"
|
|
18
|
-
],
|
|
15
|
+
"author": "Tifan Dwi Avianto <hi@tifan.me>",
|
|
19
16
|
"repository": {
|
|
20
17
|
"type": "git",
|
|
21
|
-
"url": "git+https://github.com/
|
|
18
|
+
"url": "git+https://github.com/tifandotme/pi-extensions.git",
|
|
22
19
|
"directory": "packages/pi-inline-skills"
|
|
23
20
|
},
|
|
24
21
|
"files": [
|
|
25
22
|
"src/**/*.ts",
|
|
26
23
|
"README.md",
|
|
27
|
-
"CHANGELOG.md",
|
|
28
24
|
"LICENSE"
|
|
29
25
|
],
|
|
30
26
|
"type": "module",
|
|
@@ -39,11 +35,5 @@
|
|
|
39
35
|
"extensions": [
|
|
40
36
|
"./src/index.ts"
|
|
41
37
|
]
|
|
42
|
-
},
|
|
43
|
-
"x-upstream": {
|
|
44
|
-
"package": "@tifan/pi-inline-skills",
|
|
45
|
-
"version": "1.0.5",
|
|
46
|
-
"repository": "https://github.com/tifandotme/pi-extensions",
|
|
47
|
-
"commit": "460d580"
|
|
48
38
|
}
|
|
49
39
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
# @
|
|
2
|
-
|
|
3
|
-
> HerbertGao-maintained fork of [@tifan/pi-mermaid-open](https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-mermaid-open), distributed under MIT with the original attribution preserved.
|
|
1
|
+
# @tifan/pi-mermaid-open
|
|
4
2
|
|
|
5
3
|
Find Mermaid diagrams that Pi left unrendered and show one in a terminal image viewer.
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
https://github.com/user-attachments/assets/d0c1d46f-0cba-4bf3-a44e-9aa0f4b8e3fd
|
|
8
6
|
|
|
9
7
|
## How it works
|
|
10
8
|
|
|
@@ -19,7 +17,7 @@ Find Mermaid diagrams that Pi left unrendered and show one in a terminal image v
|
|
|
19
17
|
## Install
|
|
20
18
|
|
|
21
19
|
```bash
|
|
22
|
-
pi install npm:@
|
|
20
|
+
pi install npm:@tifan/pi-mermaid-open
|
|
23
21
|
```
|
|
24
22
|
|
|
25
23
|
## Requirements
|
|
@@ -35,8 +33,8 @@ pi install npm:@herbertgao/pi-mermaid-open
|
|
|
35
33
|
|
|
36
34
|
## Release notes
|
|
37
35
|
|
|
38
|
-
See [CHANGELOG.md](CHANGELOG.md)
|
|
36
|
+
See [CHANGELOG.md](https://github.com/tifandotme/pi-extensions/blob/master/packages/pi-mermaid-open/CHANGELOG.md)
|
|
39
37
|
|
|
40
38
|
## License
|
|
41
39
|
|
|
42
|
-
[MIT](LICENSE)
|
|
40
|
+
[MIT](https://github.com/tifandotme/pi-extensions/blob/master/LICENSE)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@tifan/pi-mermaid-open",
|
|
3
3
|
"version": "0.2.0",
|
|
4
4
|
"description": "Find skipped Mermaid diagrams and show them in a terminal image viewer.",
|
|
5
5
|
"keywords": [
|
|
@@ -9,23 +9,19 @@
|
|
|
9
9
|
"pi-extension",
|
|
10
10
|
"pi-package"
|
|
11
11
|
],
|
|
12
|
-
"homepage": "https://github.com/
|
|
13
|
-
"bugs": "https://github.com/
|
|
12
|
+
"homepage": "https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-mermaid-open#readme",
|
|
13
|
+
"bugs": "https://github.com/tifandotme/pi-extensions/issues",
|
|
14
14
|
"license": "MIT",
|
|
15
|
-
"author": "
|
|
16
|
-
"contributors": [
|
|
17
|
-
"Tifan Dwi Avianto <hi@tifan.me>"
|
|
18
|
-
],
|
|
15
|
+
"author": "Tifan Dwi Avianto <hi@tifan.me>",
|
|
19
16
|
"repository": {
|
|
20
17
|
"type": "git",
|
|
21
|
-
"url": "git+https://github.com/
|
|
18
|
+
"url": "git+https://github.com/tifandotme/pi-extensions.git",
|
|
22
19
|
"directory": "packages/pi-mermaid-open"
|
|
23
20
|
},
|
|
24
21
|
"files": [
|
|
25
22
|
"src/**/*.ts",
|
|
26
23
|
"herdr-plugin/**/*",
|
|
27
24
|
"README.md",
|
|
28
|
-
"CHANGELOG.md",
|
|
29
25
|
"LICENSE"
|
|
30
26
|
],
|
|
31
27
|
"type": "module",
|
|
@@ -33,14 +29,10 @@
|
|
|
33
29
|
"access": "public",
|
|
34
30
|
"provenance": true
|
|
35
31
|
},
|
|
36
|
-
"scripts": {
|
|
37
|
-
"test": "node --experimental-strip-types --test tests/**/*.test.ts"
|
|
38
|
-
},
|
|
39
32
|
"dependencies": {
|
|
40
33
|
"grok-mermaid": "0.2.2"
|
|
41
34
|
},
|
|
42
35
|
"peerDependencies": {
|
|
43
|
-
"@earendil-works/pi-coding-agent": ">=0.84.0",
|
|
44
36
|
"@earendil-works/pi-tui": ">=0.84.0"
|
|
45
37
|
},
|
|
46
38
|
"engines": {
|
|
@@ -50,11 +42,5 @@
|
|
|
50
42
|
"extensions": [
|
|
51
43
|
"./src/index.ts"
|
|
52
44
|
]
|
|
53
|
-
},
|
|
54
|
-
"x-upstream": {
|
|
55
|
-
"package": "@tifan/pi-mermaid-open",
|
|
56
|
-
"version": "0.2.0",
|
|
57
|
-
"repository": "https://github.com/tifandotme/pi-extensions",
|
|
58
|
-
"commit": "b39d1e6359c78718cbf8fe5c74c82b89065e9a0b"
|
|
59
45
|
}
|
|
60
46
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
# @
|
|
2
|
-
|
|
3
|
-
> HerbertGao-maintained fork of [@tifan/pi-preferred-thinking](https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-preferred-thinking), distributed under MIT with the original attribution preserved.
|
|
1
|
+
# @tifan/pi-preferred-thinking
|
|
4
2
|
|
|
5
3
|
Set and apply per-model thinking levels from Pi's native `enabledModels` setting.
|
|
6
4
|
|
|
7
5
|
## Install
|
|
8
6
|
|
|
9
7
|
```bash
|
|
10
|
-
pi install npm:@
|
|
8
|
+
pi install npm:@tifan/pi-preferred-thinking
|
|
11
9
|
```
|
|
12
10
|
|
|
13
11
|
This package requires Pi 0.84.2 or newer.
|
|
@@ -49,8 +47,8 @@ read. Existing users must move preferences to `enabledModels` or set them with
|
|
|
49
47
|
|
|
50
48
|
## Release notes
|
|
51
49
|
|
|
52
|
-
See [CHANGELOG.md](CHANGELOG.md)
|
|
50
|
+
See [CHANGELOG.md](https://github.com/tifandotme/pi-extensions/blob/master/packages/pi-preferred-thinking/CHANGELOG.md)
|
|
53
51
|
|
|
54
52
|
## License
|
|
55
53
|
|
|
56
|
-
[MIT](LICENSE)
|
|
54
|
+
[MIT](https://github.com/tifandotme/pi-extensions/blob/master/LICENSE)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
3
|
-
"version": "0.
|
|
2
|
+
"name": "@tifan/pi-preferred-thinking",
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Set and apply per-model thinking levels from Pi's native settings.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi",
|
|
@@ -9,22 +9,18 @@
|
|
|
9
9
|
"settings",
|
|
10
10
|
"thinking"
|
|
11
11
|
],
|
|
12
|
-
"homepage": "https://github.com/
|
|
13
|
-
"bugs": "https://github.com/
|
|
12
|
+
"homepage": "https://github.com/tifandotme/pi-extensions/tree/master/packages/pi-preferred-thinking#readme",
|
|
13
|
+
"bugs": "https://github.com/tifandotme/pi-extensions/issues",
|
|
14
14
|
"license": "MIT",
|
|
15
|
-
"author": "
|
|
16
|
-
"contributors": [
|
|
17
|
-
"Tifan Dwi Avianto <hi@tifan.me>"
|
|
18
|
-
],
|
|
15
|
+
"author": "Tifan Dwi Avianto <hi@tifan.me>",
|
|
19
16
|
"repository": {
|
|
20
17
|
"type": "git",
|
|
21
|
-
"url": "git+https://github.com/
|
|
18
|
+
"url": "git+https://github.com/tifandotme/pi-extensions.git",
|
|
22
19
|
"directory": "packages/pi-preferred-thinking"
|
|
23
20
|
},
|
|
24
21
|
"files": [
|
|
25
22
|
"src/**/*.ts",
|
|
26
23
|
"README.md",
|
|
27
|
-
"CHANGELOG.md",
|
|
28
24
|
"LICENSE"
|
|
29
25
|
],
|
|
30
26
|
"type": "module",
|
|
@@ -42,11 +38,5 @@
|
|
|
42
38
|
"extensions": [
|
|
43
39
|
"./src/index.ts"
|
|
44
40
|
]
|
|
45
|
-
},
|
|
46
|
-
"x-upstream": {
|
|
47
|
-
"package": "@tifan/pi-preferred-thinking",
|
|
48
|
-
"version": "1.0.0",
|
|
49
|
-
"repository": "https://github.com/tifandotme/pi-extensions",
|
|
50
|
-
"commit": "b39d1e6359c78718cbf8fe5c74c82b89065e9a0b"
|
|
51
41
|
}
|
|
52
42
|
}
|