@dev-sergeev/datalab-kit 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +26 -8
- package/THIRD_PARTY_NOTICES.md +6 -2
- package/dist/extension.js +8 -1
- package/dist/recap.d.ts +2 -0
- package/dist/recap.js +31 -0
- package/docs/adr/0002-package-delivery.md +2 -0
- package/node_modules/@gotgenes/pi-permission-system/src/authority/permission-prompt-component.ts +0 -11
- package/node_modules/@gotgenes/pi-permission-system/src/config/config-store.ts +0 -5
- package/node_modules/@gotgenes/pi-permission-system/src/index.ts +3 -15
- package/node_modules/@pi-plugins/elapsed/LICENSE +21 -0
- package/node_modules/@pi-plugins/elapsed/README.md +45 -0
- package/node_modules/@pi-plugins/elapsed/dist/index.d.mts +8 -0
- package/node_modules/@pi-plugins/elapsed/dist/index.d.mts.map +1 -0
- package/node_modules/@pi-plugins/elapsed/dist/index.mjs +47 -0
- package/node_modules/@pi-plugins/elapsed/dist/index.mjs.map +1 -0
- package/node_modules/@pi-plugins/elapsed/package.json +65 -0
- package/node_modules/@tifan/pi-recap/README.md +61 -0
- package/node_modules/@tifan/pi-recap/package.json +43 -0
- package/node_modules/@tifan/pi-recap/src/index.ts +584 -0
- package/node_modules/@tifan/pi-recap/src/model-picker.ts +233 -0
- package/node_modules/@tifan/pi-recap/src/models.ts +183 -0
- package/node_modules/@tifan/pi-recap/src/sanitize.ts +119 -0
- package/node_modules/@tifan/pi-recap/src/tui.ts +155 -0
- package/node_modules/@zigai/pi-extension-internals/README.md +24 -0
- package/node_modules/@zigai/pi-extension-internals/dist/editor-enhancer-registry.d.ts +21 -0
- package/node_modules/@zigai/pi-extension-internals/dist/editor-enhancer-registry.js +233 -0
- package/node_modules/@zigai/pi-extension-internals/dist/index.d.ts +6 -0
- package/node_modules/@zigai/pi-extension-internals/dist/index.js +3 -0
- package/node_modules/@zigai/pi-extension-internals/dist/linked-method-patch.d.ts +34 -0
- package/node_modules/@zigai/pi-extension-internals/dist/linked-method-patch.js +272 -0
- package/node_modules/@zigai/pi-extension-internals/dist/pi-internal-import.d.ts +11 -0
- package/node_modules/@zigai/pi-extension-internals/dist/pi-internal-import.js +139 -0
- package/node_modules/@zigai/pi-extension-internals/package.json +41 -0
- package/node_modules/@zigai/pi-extension-settings/LICENSE +21 -0
- package/node_modules/@zigai/pi-extension-settings/README.md +36 -0
- package/node_modules/@zigai/pi-extension-settings/dist/artifacts.d.ts +23 -0
- package/node_modules/@zigai/pi-extension-settings/dist/artifacts.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/artifacts.js +75 -0
- package/node_modules/@zigai/pi-extension-settings/dist/artifacts.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/cli-entry.d.ts +3 -0
- package/node_modules/@zigai/pi-extension-settings/dist/cli-entry.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/cli-entry.js +5 -0
- package/node_modules/@zigai/pi-extension-settings/dist/cli-entry.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/cli.d.ts +6 -0
- package/node_modules/@zigai/pi-extension-settings/dist/cli.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/cli.js +87 -0
- package/node_modules/@zigai/pi-extension-settings/dist/cli.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/definition-marker.d.ts +2 -0
- package/node_modules/@zigai/pi-extension-settings/dist/definition-marker.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/definition-marker.js +2 -0
- package/node_modules/@zigai/pi-extension-settings/dist/definition-marker.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/definition.d.ts +159 -0
- package/node_modules/@zigai/pi-extension-settings/dist/definition.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/definition.js +248 -0
- package/node_modules/@zigai/pi-extension-settings/dist/definition.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/file-system.d.ts +10 -0
- package/node_modules/@zigai/pi-extension-settings/dist/file-system.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/file-system.js +115 -0
- package/node_modules/@zigai/pi-extension-settings/dist/file-system.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/index.d.ts +2 -0
- package/node_modules/@zigai/pi-extension-settings/dist/index.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/index.js +2 -0
- package/node_modules/@zigai/pi-extension-settings/dist/index.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/json-value.d.ts +18 -0
- package/node_modules/@zigai/pi-extension-settings/dist/json-value.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/json-value.js +56 -0
- package/node_modules/@zigai/pi-extension-settings/dist/json-value.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/paths.d.ts +11 -0
- package/node_modules/@zigai/pi-extension-settings/dist/paths.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/paths.js +23 -0
- package/node_modules/@zigai/pi-extension-settings/dist/paths.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi-host-paths.d.ts +5 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi-host-paths.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi-host-paths.js +21 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi-host-paths.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi.d.ts +106 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi.js +122 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi.ts +2537 -0
- package/node_modules/@zigai/pi-extension-settings/dist/pi.ts.map +7 -0
- package/node_modules/@zigai/pi-extension-settings/dist/projects.d.ts +10 -0
- package/node_modules/@zigai/pi-extension-settings/dist/projects.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/projects.js +177 -0
- package/node_modules/@zigai/pi-extension-settings/dist/projects.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/runtime.d.ts +40 -0
- package/node_modules/@zigai/pi-extension-settings/dist/runtime.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/runtime.js +158 -0
- package/node_modules/@zigai/pi-extension-settings/dist/runtime.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/runtime.ts +158 -0
- package/node_modules/@zigai/pi-extension-settings/dist/runtime.ts.map +7 -0
- package/node_modules/@zigai/pi-extension-settings/dist/schema-document.d.ts +19 -0
- package/node_modules/@zigai/pi-extension-settings/dist/schema-document.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/schema-document.js +168 -0
- package/node_modules/@zigai/pi-extension-settings/dist/schema-document.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-documentation.d.ts +9 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-documentation.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-documentation.js +242 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-documentation.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-layer.d.ts +59 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-layer.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-layer.js +98 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-layer.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-loader.d.ts +80 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-loader.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-loader.js +144 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-loader.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-merge.d.ts +5 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-merge.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-merge.js +30 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-merge.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-revision.d.ts +10 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-revision.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-revision.js +16 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-revision.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-transaction.d.ts +54 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-transaction.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-transaction.js +202 -0
- package/node_modules/@zigai/pi-extension-settings/dist/settings-transaction.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/typebox-runtime.d.ts +5 -0
- package/node_modules/@zigai/pi-extension-settings/dist/typebox-runtime.d.ts.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/dist/typebox-runtime.js +9 -0
- package/node_modules/@zigai/pi-extension-settings/dist/typebox-runtime.js.map +1 -0
- package/node_modules/@zigai/pi-extension-settings/docs/generation.md +71 -0
- package/node_modules/@zigai/pi-extension-settings/docs/manual-setup.md +98 -0
- package/node_modules/@zigai/pi-extension-settings/docs/runtime.md +100 -0
- package/node_modules/@zigai/pi-extension-settings/docs/ui-controls.md +31 -0
- package/node_modules/@zigai/pi-extension-settings/package.json +97 -0
- package/node_modules/@zigai/pi-mention-anything/README.md +113 -0
- package/node_modules/@zigai/pi-mention-anything/config.schema.json +313 -0
- package/node_modules/@zigai/pi-mention-anything/docs/command-protocol.md +106 -0
- package/node_modules/@zigai/pi-mention-anything/docs/providers.md +128 -0
- package/node_modules/@zigai/pi-mention-anything/examples/query-command.mjs +96 -0
- package/node_modules/@zigai/pi-mention-anything/examples/recursive-tree.ts +28 -0
- package/node_modules/@zigai/pi-mention-anything/examples/static.ts +28 -0
- package/node_modules/@zigai/pi-mention-anything/examples/tmux.ts +90 -0
- package/node_modules/@zigai/pi-mention-anything/examples/tree-settings.json +25 -0
- package/node_modules/@zigai/pi-mention-anything/package.json +58 -0
- package/node_modules/@zigai/pi-mention-anything/src/api.ts +75 -0
- package/node_modules/@zigai/pi-mention-anything/src/autocomplete.ts +231 -0
- package/node_modules/@zigai/pi-mention-anything/src/chain-autocomplete.ts +596 -0
- package/node_modules/@zigai/pi-mention-anything/src/chain-syntax.ts +345 -0
- package/node_modules/@zigai/pi-mention-anything/src/command-provider.ts +291 -0
- package/node_modules/@zigai/pi-mention-anything/src/configured-source.ts +66 -0
- package/node_modules/@zigai/pi-mention-anything/src/editor.ts +180 -0
- package/node_modules/@zigai/pi-mention-anything/src/expand-mentions.ts +162 -0
- package/node_modules/@zigai/pi-mention-anything/src/index.ts +54 -0
- package/node_modules/@zigai/pi-mention-anything/src/initial-suggestions.ts +190 -0
- package/node_modules/@zigai/pi-mention-anything/src/list-provider.ts +71 -0
- package/node_modules/@zigai/pi-mention-anything/src/mention-hub.ts +307 -0
- package/node_modules/@zigai/pi-mention-anything/src/mention-resolution.ts +374 -0
- package/node_modules/@zigai/pi-mention-anything/src/mention-syntax.ts +105 -0
- package/node_modules/@zigai/pi-mention-anything/src/register-mention.ts +89 -0
- package/node_modules/@zigai/pi-mention-anything/src/rendering.ts +53 -0
- package/node_modules/@zigai/pi-mention-anything/src/selected-items.ts +21 -0
- package/node_modules/@zigai/pi-mention-anything/src/selection-history.ts +135 -0
- package/node_modules/@zigai/pi-mention-anything/src/settings-input.ts +317 -0
- package/node_modules/@zigai/pi-mention-anything/src/settings.prevalidated.ts +57 -0
- package/node_modules/@zigai/pi-mention-anything/src/settings.ts +52 -0
- package/node_modules/@zigai/pi-mention-anything/src/source-contract.ts +174 -0
- package/node_modules/@zigai/pi-mention-anything/src/source-controller.ts +1070 -0
- package/node_modules/@zigai/pi-mention-anything/src/source-runtime.ts +99 -0
- package/node_modules/@zigai/pi-mention-skill/README.md +60 -0
- package/node_modules/@zigai/pi-mention-skill/config.schema.json +81 -0
- package/node_modules/@zigai/pi-mention-skill/package.json +56 -0
- package/node_modules/@zigai/pi-mention-skill/src/index.ts +60 -0
- package/node_modules/@zigai/pi-mention-skill/src/settings-input.ts +74 -0
- package/node_modules/@zigai/pi-mention-skill/src/settings.prevalidated.ts +18 -0
- package/node_modules/@zigai/pi-mention-skill/src/settings.ts +54 -0
- package/node_modules/@zigai/pi-mention-skill/src/skill-commands.ts +18 -0
- package/node_modules/@zigai/pi-mention-skill/src/skill-content.ts +60 -0
- package/node_modules/@zigai/pi-mention-skill/src/skill-provider.ts +105 -0
- package/node_modules/@zigai/pi-mention-skill/src/slash-skill-filter.ts +29 -0
- package/node_modules/argparse/LICENSE +21 -0
- package/node_modules/argparse/README.md +257 -0
- package/node_modules/argparse/index.js +3 -0
- package/node_modules/argparse/lib/action/append/constant.js +47 -0
- package/node_modules/argparse/lib/action/append.js +53 -0
- package/node_modules/argparse/lib/action/count.js +40 -0
- package/node_modules/argparse/lib/action/help.js +47 -0
- package/node_modules/argparse/lib/action/store/constant.js +43 -0
- package/node_modules/argparse/lib/action/store/false.js +27 -0
- package/node_modules/argparse/lib/action/store/true.js +26 -0
- package/node_modules/argparse/lib/action/store.js +50 -0
- package/node_modules/argparse/lib/action/subparsers.js +149 -0
- package/node_modules/argparse/lib/action/version.js +47 -0
- package/node_modules/argparse/lib/action.js +146 -0
- package/node_modules/argparse/lib/action_container.js +482 -0
- package/node_modules/argparse/lib/argparse.js +14 -0
- package/node_modules/argparse/lib/argument/error.js +50 -0
- package/node_modules/argparse/lib/argument/exclusive.js +54 -0
- package/node_modules/argparse/lib/argument/group.js +75 -0
- package/node_modules/argparse/lib/argument_parser.js +1161 -0
- package/node_modules/argparse/lib/const.js +21 -0
- package/node_modules/argparse/lib/help/added_formatters.js +87 -0
- package/node_modules/argparse/lib/help/formatter.js +795 -0
- package/node_modules/argparse/lib/namespace.js +76 -0
- package/node_modules/argparse/lib/utils.js +57 -0
- package/node_modules/argparse/package.json +34 -0
- package/node_modules/esprima/LICENSE.BSD +21 -0
- package/node_modules/esprima/README.md +46 -0
- package/node_modules/esprima/bin/esparse.js +139 -0
- package/node_modules/esprima/bin/esvalidate.js +236 -0
- package/node_modules/esprima/dist/esprima.js +6709 -0
- package/node_modules/esprima/package.json +112 -0
- package/node_modules/extend-shallow/LICENSE +21 -0
- package/node_modules/extend-shallow/README.md +61 -0
- package/node_modules/extend-shallow/index.js +33 -0
- package/node_modules/extend-shallow/package.json +56 -0
- package/node_modules/graceful-fs/LICENSE +15 -0
- package/node_modules/graceful-fs/README.md +143 -0
- package/node_modules/graceful-fs/clone.js +23 -0
- package/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/node_modules/graceful-fs/package.json +53 -0
- package/node_modules/graceful-fs/polyfills.js +355 -0
- package/node_modules/gray-matter/LICENSE +21 -0
- package/node_modules/gray-matter/README.md +565 -0
- package/node_modules/gray-matter/gray-matter.d.ts +114 -0
- package/node_modules/gray-matter/index.js +228 -0
- package/node_modules/gray-matter/lib/defaults.js +18 -0
- package/node_modules/gray-matter/lib/engine.js +30 -0
- package/node_modules/gray-matter/lib/engines.js +54 -0
- package/node_modules/gray-matter/lib/excerpt.js +32 -0
- package/node_modules/gray-matter/lib/parse.js +13 -0
- package/node_modules/gray-matter/lib/stringify.js +56 -0
- package/node_modules/gray-matter/lib/to-file.js +43 -0
- package/node_modules/gray-matter/lib/utils.js +66 -0
- package/node_modules/gray-matter/package.json +127 -0
- package/node_modules/is-extendable/LICENSE +21 -0
- package/node_modules/is-extendable/README.md +72 -0
- package/node_modules/is-extendable/index.js +13 -0
- package/node_modules/is-extendable/package.json +51 -0
- package/node_modules/js-yaml/LICENSE +21 -0
- package/node_modules/js-yaml/README.md +302 -0
- package/node_modules/js-yaml/bin/js-yaml.js +132 -0
- package/node_modules/js-yaml/dist/js-yaml.js +4024 -0
- package/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
- package/node_modules/js-yaml/index.js +7 -0
- package/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
- package/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
- package/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
- package/node_modules/js-yaml/lib/js-yaml/loader.js +1679 -0
- package/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
- package/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
- package/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
- package/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
- package/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
- package/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
- package/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
- package/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
- package/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
- package/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
- package/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
- package/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
- package/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
- package/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
- package/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
- package/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
- package/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
- package/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
- package/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
- package/node_modules/js-yaml/lib/js-yaml.js +39 -0
- package/node_modules/js-yaml/package.json +52 -0
- package/node_modules/kind-of/LICENSE +21 -0
- package/node_modules/kind-of/README.md +367 -0
- package/node_modules/kind-of/index.js +129 -0
- package/node_modules/kind-of/package.json +88 -0
- package/node_modules/pi-toggle-skills/README.md +213 -0
- package/node_modules/pi-toggle-skills/package.json +60 -0
- package/node_modules/pi-toggle-skills/src/index.ts +112 -0
- package/node_modules/pi-toggle-skills/src/skill-discovery.ts +258 -0
- package/node_modules/pi-toggle-skills/src/skill-selector.ts +435 -0
- package/node_modules/pi-toggle-skills/toggle-skills.ts +316 -0
- package/node_modules/pi-toggle-skills/vitest.config.ts +15 -0
- package/node_modules/proper-lockfile/LICENSE +21 -0
- package/node_modules/proper-lockfile/README.md +183 -0
- package/node_modules/proper-lockfile/index.js +40 -0
- package/node_modules/proper-lockfile/lib/adapter.js +85 -0
- package/node_modules/proper-lockfile/lib/lockfile.js +342 -0
- package/node_modules/proper-lockfile/lib/mtime-precision.js +55 -0
- package/node_modules/proper-lockfile/node_modules/retry/.npmignore +3 -0
- package/node_modules/proper-lockfile/node_modules/retry/.travis.yml +15 -0
- package/node_modules/proper-lockfile/node_modules/retry/License +21 -0
- package/node_modules/proper-lockfile/node_modules/retry/Makefile +18 -0
- package/node_modules/proper-lockfile/node_modules/retry/README.md +227 -0
- package/node_modules/proper-lockfile/node_modules/retry/equation.gif +0 -0
- package/node_modules/proper-lockfile/node_modules/retry/example/dns.js +31 -0
- package/node_modules/proper-lockfile/node_modules/retry/example/stop.js +40 -0
- package/node_modules/proper-lockfile/node_modules/retry/index.js +1 -0
- package/node_modules/proper-lockfile/node_modules/retry/lib/retry.js +100 -0
- package/node_modules/proper-lockfile/node_modules/retry/lib/retry_operation.js +158 -0
- package/node_modules/proper-lockfile/node_modules/retry/package.json +32 -0
- package/node_modules/proper-lockfile/node_modules/retry/test/common.js +10 -0
- package/node_modules/proper-lockfile/node_modules/retry/test/integration/test-forever.js +24 -0
- package/node_modules/proper-lockfile/node_modules/retry/test/integration/test-retry-operation.js +258 -0
- package/node_modules/proper-lockfile/node_modules/retry/test/integration/test-retry-wrap.js +101 -0
- package/node_modules/proper-lockfile/node_modules/retry/test/integration/test-timeouts.js +69 -0
- package/node_modules/proper-lockfile/package.json +71 -0
- package/node_modules/section-matter/LICENSE +21 -0
- package/node_modules/section-matter/README.md +236 -0
- package/node_modules/section-matter/index.js +136 -0
- package/node_modules/section-matter/package.json +55 -0
- package/node_modules/signal-exit/LICENSE.txt +16 -0
- package/node_modules/signal-exit/README.md +39 -0
- package/node_modules/signal-exit/index.js +202 -0
- package/node_modules/signal-exit/package.json +38 -0
- package/node_modules/signal-exit/signals.js +53 -0
- package/node_modules/sprintf-js/.npmignore +1 -0
- package/node_modules/sprintf-js/LICENSE +24 -0
- package/node_modules/sprintf-js/README.md +88 -0
- package/node_modules/sprintf-js/bower.json +14 -0
- package/node_modules/sprintf-js/demo/angular.html +20 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
- package/node_modules/sprintf-js/gruntfile.js +36 -0
- package/node_modules/sprintf-js/package.json +22 -0
- package/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
- package/node_modules/sprintf-js/src/sprintf.js +208 -0
- package/node_modules/sprintf-js/test/test.js +82 -0
- package/node_modules/strip-bom-string/LICENSE +21 -0
- package/node_modules/strip-bom-string/README.md +66 -0
- package/node_modules/strip-bom-string/index.js +15 -0
- package/node_modules/strip-bom-string/package.json +60 -0
- package/package.json +13 -4
- package/dist/confirmation.d.ts +0 -33
- package/dist/confirmation.js +0 -64
- package/dist/yolo.d.ts +0 -6
- package/dist/yolo.js +0 -33
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Mention providers
|
|
2
|
+
|
|
3
|
+
Providers supply candidates and resolve targets. The shared engine handles pickers, caching, selection history, and context expansion.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { createListProvider, registerMention } from "@zigai/pi-mention-anything/api";
|
|
7
|
+
|
|
8
|
+
registerMention(pi, {
|
|
9
|
+
id: "environments",
|
|
10
|
+
configuration: () => ({ trigger: "env:", cache: true }),
|
|
11
|
+
provider: () =>
|
|
12
|
+
createListProvider(async () => [
|
|
13
|
+
{
|
|
14
|
+
id: "staging",
|
|
15
|
+
label: "Staging",
|
|
16
|
+
segment: "staging",
|
|
17
|
+
selectable: true,
|
|
18
|
+
navigable: false,
|
|
19
|
+
replacement: "deployment environment staging",
|
|
20
|
+
},
|
|
21
|
+
]),
|
|
22
|
+
});
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Candidates
|
|
26
|
+
|
|
27
|
+
| Field | Meaning |
|
|
28
|
+
| --------------- | -------------------------------------------------- |
|
|
29
|
+
| `id` | Stable identity within the source and parent path |
|
|
30
|
+
| `label` | Picker label |
|
|
31
|
+
| `segment` | Text inserted into the mention path |
|
|
32
|
+
| `selectable` | Can be selected as a completed target |
|
|
33
|
+
| `navigable` | Has a child picker |
|
|
34
|
+
| `description` | Optional secondary picker text |
|
|
35
|
+
| `searchText` | Optional search text |
|
|
36
|
+
| `data` | Optional JSON data passed to child requests |
|
|
37
|
+
| `replacement` | Optional text sent to the model |
|
|
38
|
+
| `insertionText` | Optional replacement for the entire editor mention |
|
|
39
|
+
|
|
40
|
+
Duplicate IDs within a response are invalid. Labels and segments can repeat; manually typed ambiguous segments remain unresolved. Picker selections retain the chosen ID. Provider data is separate from model context.
|
|
41
|
+
|
|
42
|
+
## Chains
|
|
43
|
+
|
|
44
|
+
`separator` enables chained selections. Branches open child pickers; leaves complete the mention with `completionSuffix`, which defaults to one space. Selectable branches also have a **Use this target** row.
|
|
45
|
+
|
|
46
|
+
Segments support independent quoting and escaping. Changing a parent removes its descendants when a new candidate is selected. Escape closes the popup and leaves the text intact.
|
|
47
|
+
|
|
48
|
+
## Provider interface
|
|
49
|
+
|
|
50
|
+
| Member | Contract |
|
|
51
|
+
| ------------------- | ------------------------------------------------------------------------------------------ |
|
|
52
|
+
| `filtering` | `local` for engine fuzzy matching; `provider` for source-owned search and ranking |
|
|
53
|
+
| `discover(request)` | Returns `{ items, nextCursor? }` |
|
|
54
|
+
| `resolve(request)` | Returns `{ status: "resolved", path, replacement? }` or `{ status: "unresolved", reason }` |
|
|
55
|
+
| `dispose()` | Optional cleanup, synchronous or asynchronous; awaited once at disposal |
|
|
56
|
+
|
|
57
|
+
Discovery requests contain `sourceId`, `cwd`, `trusted`, `query`, resolved ancestor `path`, `limit`, optional `cursor`, and `signal`. Resolution requests contain the same scope, `segments`, and `signal`. The signal covers cancellable provider I/O.
|
|
58
|
+
|
|
59
|
+
Exact resolution is independent of discovery pages. A parent can resolve for navigation without being selectable. Only selectable targets expand into context.
|
|
60
|
+
|
|
61
|
+
Local results use fuzzy matching and selection history. Provider-ranked results retain their order. **More…** loads the next page without changing the mention.
|
|
62
|
+
|
|
63
|
+
`createListProvider` adapts small enumerable lists and trees. It resolves each level by an unambiguous segment match. Larger sources can provide direct lookup through `resolve`.
|
|
64
|
+
|
|
65
|
+
## Expansion
|
|
66
|
+
|
|
67
|
+
| Policy | Behavior |
|
|
68
|
+
| -------------------------------- | ------------------------------------------------------ |
|
|
69
|
+
| `selected-or-resolved` (default) | Picker selections and resolvable typed mentions expand |
|
|
70
|
+
| `selected-only` | Only picker selections expand |
|
|
71
|
+
|
|
72
|
+
Incomplete and unresolved mentions remain literal. Selected targets retain their identity through refreshes. A whole chain expands once; replacement text is not interpreted as further mentions. Resolved submissions remain stable across retries and context rebuilds.
|
|
73
|
+
|
|
74
|
+
Replacement precedence:
|
|
75
|
+
|
|
76
|
+
1. Registration callback: `replacement(path, ctx, { signal })`
|
|
77
|
+
2. `replacementTemplate`
|
|
78
|
+
3. Exact-resolution replacement
|
|
79
|
+
4. Candidate replacement
|
|
80
|
+
5. Segment text
|
|
81
|
+
|
|
82
|
+
Templates accept `{{id}}`, `{{label}}`, `{{segment}}`, `{{path}}`, and `{{ids}}`. Unknown fields are invalid. Templates substitute these fields only, without evaluating code or traversing provider data.
|
|
83
|
+
|
|
84
|
+
## Cache options
|
|
85
|
+
|
|
86
|
+
These options belong to the API's `configuration` result or a settings command source.
|
|
87
|
+
|
|
88
|
+
| Option | Default | Behavior |
|
|
89
|
+
| --------------------------------------------------------- | ------------------------------------ | --------------------------------------------------------------- |
|
|
90
|
+
| `cache` | `false` | Reuse of successful discovery results |
|
|
91
|
+
| `cacheTtlMs` | None | Cache lifetime; expired results remain available during refresh |
|
|
92
|
+
| `refreshOnStartup` | `false` | Background root discovery at startup; requires caching |
|
|
93
|
+
| `refreshIntervalMs` | None | Periodic refresh of active entries; requires caching |
|
|
94
|
+
| `watchFiles` | None | File changes invalidate cached results; requires caching |
|
|
95
|
+
| `persistentCachePath` (API), `persistentCache` (settings) | None / `false` | Local disk cache scoped by configuration, cwd, and trust |
|
|
96
|
+
| `debounceMs` | `0` (API), `100` (settings commands) | Delay before discovery starts |
|
|
97
|
+
| `maxEntries` (API) | `64` | Retained cache scopes |
|
|
98
|
+
| `maxConcurrent` (API) | `4` | Concurrent requests per source |
|
|
99
|
+
|
|
100
|
+
Cache entries distinguish parent IDs, provider-owned queries, and page cursors. Equivalent requests share work. Cancelling one caller leaves other callers active. Failed refreshes preserve the previous results, including empty lists. Disposal cancels work and closes timers and watchers.
|
|
101
|
+
|
|
102
|
+
Persistent API caches require a `configurationKey` that changes with the source configuration. Settings sources calculate this key automatically.
|
|
103
|
+
|
|
104
|
+
## Limits
|
|
105
|
+
|
|
106
|
+
| Resource | Limit |
|
|
107
|
+
| ----------------------------- | ------------------------------------------------- |
|
|
108
|
+
| Provider-ranked page | 100 candidates |
|
|
109
|
+
| Local response | 10,000 candidates; searched before display limits |
|
|
110
|
+
| Picker paging scope | 10 pages / 1,000 candidates |
|
|
111
|
+
| Retained paging scopes | 32 |
|
|
112
|
+
| Selected branch continuations | 64 |
|
|
113
|
+
| Path | 64 segments |
|
|
114
|
+
| Candidate ID | 4,096 characters |
|
|
115
|
+
| Display/search field | 16,384 characters |
|
|
116
|
+
| Literal replacement | 1 MiB |
|
|
117
|
+
| Persistent cache file | 8 MiB |
|
|
118
|
+
|
|
119
|
+
## Examples
|
|
120
|
+
|
|
121
|
+
- [Static values](../examples/static.ts)
|
|
122
|
+
- [Declarative tree settings](../examples/tree-settings.json)
|
|
123
|
+
- [Recursive tree](../examples/recursive-tree.ts)
|
|
124
|
+
- [tmux sessions, windows, and panes](../examples/tmux.ts)
|
|
125
|
+
- [Query and pagination command](../examples/query-command.mjs)
|
|
126
|
+
- [Command protocol](command-protocol.md)
|
|
127
|
+
|
|
128
|
+
TypeScript examples run with `pi -e ./example.ts`.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// Version 1 protocol example. Read one JSON request on stdin.
|
|
2
|
+
// Search one million synthetic tickets using numeric prefix ranges, without enumerating the list.
|
|
3
|
+
import { readFileSync, writeFileSync } from "node:fs";
|
|
4
|
+
|
|
5
|
+
import { Type } from "typebox";
|
|
6
|
+
import { Value } from "typebox/value";
|
|
7
|
+
|
|
8
|
+
const requestSchema = Type.Union([
|
|
9
|
+
Type.Object({
|
|
10
|
+
version: Type.Literal(1),
|
|
11
|
+
method: Type.Literal("discover"),
|
|
12
|
+
sourceId: Type.String(),
|
|
13
|
+
cwd: Type.String(),
|
|
14
|
+
trusted: Type.Boolean(),
|
|
15
|
+
query: Type.String(),
|
|
16
|
+
path: Type.Array(Type.Unknown()),
|
|
17
|
+
limit: Type.Number(),
|
|
18
|
+
cursor: Type.Optional(Type.String()),
|
|
19
|
+
}),
|
|
20
|
+
Type.Object({
|
|
21
|
+
version: Type.Literal(1),
|
|
22
|
+
method: Type.Literal("resolve"),
|
|
23
|
+
sourceId: Type.String(),
|
|
24
|
+
cwd: Type.String(),
|
|
25
|
+
trusted: Type.Boolean(),
|
|
26
|
+
segments: Type.Array(Type.String()),
|
|
27
|
+
}),
|
|
28
|
+
]);
|
|
29
|
+
|
|
30
|
+
const input = readFileSync(0, "utf8");
|
|
31
|
+
const request = Value.Parse(requestSchema, JSON.parse(input));
|
|
32
|
+
|
|
33
|
+
/** @param {number} id */
|
|
34
|
+
function ticket(id) {
|
|
35
|
+
return {
|
|
36
|
+
id: String(id),
|
|
37
|
+
label: `Ticket ${id}`,
|
|
38
|
+
segment: String(id),
|
|
39
|
+
selectable: true,
|
|
40
|
+
navigable: false,
|
|
41
|
+
replacement: `issue tracker ticket #${id}`,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** @type {unknown} */
|
|
46
|
+
let result;
|
|
47
|
+
if (request.method === "resolve") {
|
|
48
|
+
let value = "";
|
|
49
|
+
if (request.segments.length === 1) value = request.segments[0] ?? "";
|
|
50
|
+
|
|
51
|
+
const id = Number(value);
|
|
52
|
+
if (/^[1-9]\d*$/.test(value) && id <= 1000000) {
|
|
53
|
+
result = { status: "resolved", path: [ticket(id)] };
|
|
54
|
+
} else {
|
|
55
|
+
result = { status: "unresolved", reason: "missing" };
|
|
56
|
+
}
|
|
57
|
+
} else {
|
|
58
|
+
const cursor = Number(request.cursor ?? "1");
|
|
59
|
+
const query = request.query.replace(/^Ticket\s+/i, "");
|
|
60
|
+
|
|
61
|
+
/** @type {Array<[number, number]>} */
|
|
62
|
+
const ranges = [];
|
|
63
|
+
if (query === "") ranges.push([1, 1000000]);
|
|
64
|
+
else if (/^[1-9]\d*$/.test(query)) {
|
|
65
|
+
for (let scale = 1; Number(query) * scale <= 1000000; scale *= 10) {
|
|
66
|
+
ranges.push([
|
|
67
|
+
Number(query) * scale,
|
|
68
|
+
Math.min((Number(query) + 1) * scale - 1, 1000000),
|
|
69
|
+
]);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const limit = Math.min(request.limit, 100);
|
|
74
|
+
|
|
75
|
+
/** @type {Array<ReturnType<typeof ticket>>} */
|
|
76
|
+
const items = [];
|
|
77
|
+
let nextCursor;
|
|
78
|
+
for (const [start, end] of ranges) {
|
|
79
|
+
for (let id = Math.max(start, cursor); id <= end; id += 1) {
|
|
80
|
+
if (items.length === limit) {
|
|
81
|
+
nextCursor = String(id);
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
items.push(ticket(id));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (nextCursor !== undefined) break;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const discovery = { items };
|
|
92
|
+
if (nextCursor !== undefined) Object.assign(discovery, { nextCursor });
|
|
93
|
+
result = discovery;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
writeFileSync(1, JSON.stringify({ version: 1, method: request.method, result }), "utf8");
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import {
|
|
3
|
+
createListProvider,
|
|
4
|
+
registerMention,
|
|
5
|
+
type Candidate,
|
|
6
|
+
} from "@zigai/pi-mention-anything/api";
|
|
7
|
+
|
|
8
|
+
/** A synthetic recursive tree: every branch can be selected or explored another level. */
|
|
9
|
+
export default function (pi: ExtensionAPI): void {
|
|
10
|
+
registerMention(pi, {
|
|
11
|
+
id: "tree",
|
|
12
|
+
configuration: () => ({ trigger: "tree:", separator: ":", cache: true }),
|
|
13
|
+
provider: () =>
|
|
14
|
+
createListProvider(async (request) => {
|
|
15
|
+
const parent = request.path.map((item) => item.id).join("/");
|
|
16
|
+
const candidates: Candidate[] = ["left", "right"].map((segment) => ({
|
|
17
|
+
id: `${parent}/${segment}`,
|
|
18
|
+
label: segment,
|
|
19
|
+
segment,
|
|
20
|
+
selectable: true,
|
|
21
|
+
navigable: true,
|
|
22
|
+
replacement: `tree node ${parent}/${segment}`,
|
|
23
|
+
}));
|
|
24
|
+
|
|
25
|
+
return candidates;
|
|
26
|
+
}),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { createListProvider, registerMention } from "@zigai/pi-mention-anything/api";
|
|
3
|
+
|
|
4
|
+
export default function (pi: ExtensionAPI): void {
|
|
5
|
+
registerMention(pi, {
|
|
6
|
+
id: "environments",
|
|
7
|
+
configuration: () => ({ trigger: "env:", cache: true }),
|
|
8
|
+
provider: () =>
|
|
9
|
+
createListProvider(async () => [
|
|
10
|
+
{
|
|
11
|
+
id: "staging",
|
|
12
|
+
label: "Staging",
|
|
13
|
+
segment: "staging",
|
|
14
|
+
selectable: true,
|
|
15
|
+
navigable: false,
|
|
16
|
+
replacement: "deployment environment staging",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: "production",
|
|
20
|
+
label: "Production",
|
|
21
|
+
segment: "production",
|
|
22
|
+
selectable: true,
|
|
23
|
+
navigable: false,
|
|
24
|
+
replacement: "deployment environment production",
|
|
25
|
+
},
|
|
26
|
+
]),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { execFile } from "node:child_process";
|
|
3
|
+
import {
|
|
4
|
+
createListProvider,
|
|
5
|
+
registerMention,
|
|
6
|
+
type Candidate,
|
|
7
|
+
} from "@zigai/pi-mention-anything/api";
|
|
8
|
+
|
|
9
|
+
export default function (pi: ExtensionAPI): void {
|
|
10
|
+
registerMention(pi, {
|
|
11
|
+
id: "tmux",
|
|
12
|
+
configuration: () => ({ trigger: "t:", separator: ":", cache: true, cacheTtlMs: 5000 }),
|
|
13
|
+
provider: (ctx) =>
|
|
14
|
+
createListProvider(async (request) => {
|
|
15
|
+
const parent = request.path.at(-1);
|
|
16
|
+
const level = request.path.length;
|
|
17
|
+
if (level > 2) return [];
|
|
18
|
+
|
|
19
|
+
let args: string[];
|
|
20
|
+
if (level === 0) args = ["list-sessions", "-F", "#{session_id}\t#{session_name}"];
|
|
21
|
+
else if (level === 1 && parent !== undefined)
|
|
22
|
+
args = ["list-windows", "-t", parent.id, "-F", "#{window_id}\t#{window_name}"];
|
|
23
|
+
else if (parent !== undefined)
|
|
24
|
+
args = [
|
|
25
|
+
"list-panes",
|
|
26
|
+
"-t",
|
|
27
|
+
parent.id,
|
|
28
|
+
"-F",
|
|
29
|
+
"#{pane_id}\t#{pane_index}\t#{pane_current_command}",
|
|
30
|
+
];
|
|
31
|
+
else return [];
|
|
32
|
+
|
|
33
|
+
const stdout = await new Promise<string>((resolve, reject) => {
|
|
34
|
+
execFile(
|
|
35
|
+
"tmux",
|
|
36
|
+
args,
|
|
37
|
+
{
|
|
38
|
+
cwd: ctx.cwd,
|
|
39
|
+
signal: request.signal,
|
|
40
|
+
timeout: 5000,
|
|
41
|
+
maxBuffer: 1048576,
|
|
42
|
+
},
|
|
43
|
+
(cause, output) => {
|
|
44
|
+
if (cause instanceof Error) reject(cause);
|
|
45
|
+
else if (cause !== null)
|
|
46
|
+
reject(new Error("tmux listing failed.", { cause }));
|
|
47
|
+
else resolve(output);
|
|
48
|
+
},
|
|
49
|
+
);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
return stdout
|
|
53
|
+
.trim()
|
|
54
|
+
.split("\n")
|
|
55
|
+
.filter(Boolean)
|
|
56
|
+
.map((line): Candidate => {
|
|
57
|
+
const columns = line.split("\t");
|
|
58
|
+
const id = columns.at(0);
|
|
59
|
+
const segment = columns.at(1);
|
|
60
|
+
const command = columns.at(2);
|
|
61
|
+
|
|
62
|
+
if (
|
|
63
|
+
id === undefined ||
|
|
64
|
+
id.length === 0 ||
|
|
65
|
+
segment === undefined ||
|
|
66
|
+
segment.length === 0
|
|
67
|
+
)
|
|
68
|
+
throw new Error("Invalid tmux listing.");
|
|
69
|
+
|
|
70
|
+
let description = id;
|
|
71
|
+
if (command !== undefined) description = `${id} ${command}`;
|
|
72
|
+
|
|
73
|
+
const candidate: Candidate = {
|
|
74
|
+
id,
|
|
75
|
+
label: segment,
|
|
76
|
+
segment,
|
|
77
|
+
description,
|
|
78
|
+
selectable: level === 2,
|
|
79
|
+
navigable: level < 2,
|
|
80
|
+
};
|
|
81
|
+
if (level !== 2) return candidate;
|
|
82
|
+
|
|
83
|
+
return {
|
|
84
|
+
...candidate,
|
|
85
|
+
replacement: `tmux pane ${id} in session ${request.path[0]?.segment}, window ${parent?.segment} (window ID ${parent?.id})`,
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
}),
|
|
89
|
+
});
|
|
90
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mentions": [
|
|
3
|
+
{
|
|
4
|
+
"id": "targets",
|
|
5
|
+
"trigger": "target:",
|
|
6
|
+
"separator": ":",
|
|
7
|
+
"replacementTemplate": "Selected target {{id}} at {{path}}",
|
|
8
|
+
"source": {
|
|
9
|
+
"type": "static",
|
|
10
|
+
"items": [
|
|
11
|
+
{ "id": "team-1", "name": "platform", "navigable": true },
|
|
12
|
+
{
|
|
13
|
+
"id": "service-1",
|
|
14
|
+
"name": "api",
|
|
15
|
+
"parentPath": ["team-1"],
|
|
16
|
+
"navigable": true,
|
|
17
|
+
"selectable": true
|
|
18
|
+
},
|
|
19
|
+
{ "id": "env-1", "name": "staging", "parentPath": ["team-1", "service-1"] },
|
|
20
|
+
{ "id": "env-2", "name": "production", "parentPath": ["team-1", "service-1"] }
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zigai/pi-mention-anything",
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"description": "Define arbitrary mention sources and triggers for Pi.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"autocomplete",
|
|
7
|
+
"custom",
|
|
8
|
+
"mention",
|
|
9
|
+
"pi-extension",
|
|
10
|
+
"pi-package"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/zigai/pi-tweaks/tree/main/packages/pi-mention-anything#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/zigai/pi-tweaks/issues"
|
|
15
|
+
},
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"author": "zigai",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/zigai/pi-tweaks.git",
|
|
21
|
+
"directory": "packages/pi-mention-anything"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"src",
|
|
25
|
+
"docs",
|
|
26
|
+
"examples",
|
|
27
|
+
"config.schema.json",
|
|
28
|
+
"README.md"
|
|
29
|
+
],
|
|
30
|
+
"type": "module",
|
|
31
|
+
"exports": {
|
|
32
|
+
".": "./src/index.ts",
|
|
33
|
+
"./api": "./src/api.ts"
|
|
34
|
+
},
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@zigai/pi-extension-internals": "0.1.5",
|
|
40
|
+
"@zigai/pi-extension-settings": "0.5.3"
|
|
41
|
+
},
|
|
42
|
+
"peerDependencies": {
|
|
43
|
+
"@earendil-works/pi-coding-agent": "*",
|
|
44
|
+
"@earendil-works/pi-tui": "*",
|
|
45
|
+
"typebox": "*"
|
|
46
|
+
},
|
|
47
|
+
"pi": {
|
|
48
|
+
"extensions": [
|
|
49
|
+
"./src/index.ts"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"piExtensionSettings": {
|
|
53
|
+
"definition": "./src/settings-input.ts",
|
|
54
|
+
"schema": "./config.schema.json",
|
|
55
|
+
"readme": "./README.md",
|
|
56
|
+
"prevalidation": "./src/settings.prevalidated.ts"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export {
|
|
2
|
+
createMentionAutocompleteProvider,
|
|
3
|
+
type MentionAutocompleteOptions,
|
|
4
|
+
} from "./autocomplete.ts";
|
|
5
|
+
export {
|
|
6
|
+
applyMentionEditor,
|
|
7
|
+
type MentionEditorContext,
|
|
8
|
+
type MentionEditorOptions,
|
|
9
|
+
} from "./editor.ts";
|
|
10
|
+
export {
|
|
11
|
+
contextContainsMentionTrigger,
|
|
12
|
+
expandMentions,
|
|
13
|
+
expandMentionsInMessages,
|
|
14
|
+
type MentionExpansionOptions,
|
|
15
|
+
} from "./expand-mentions.ts";
|
|
16
|
+
export {
|
|
17
|
+
createLazySelectionHistory,
|
|
18
|
+
rankInitialSuggestions,
|
|
19
|
+
rankWithSelectionHistory,
|
|
20
|
+
type InitialSuggestions,
|
|
21
|
+
type InitialSuggestionStrategy,
|
|
22
|
+
type Selection,
|
|
23
|
+
type SelectionHistory,
|
|
24
|
+
type SelectionHistoryOptions,
|
|
25
|
+
} from "./initial-suggestions.ts";
|
|
26
|
+
export {
|
|
27
|
+
autocompleteTriggerCharacter,
|
|
28
|
+
escapeRegExp,
|
|
29
|
+
extractMentionPrefix,
|
|
30
|
+
formatMention,
|
|
31
|
+
isMentionContext,
|
|
32
|
+
mentionPattern,
|
|
33
|
+
parseMentionName,
|
|
34
|
+
type MentionPrefix,
|
|
35
|
+
type ParsedMention,
|
|
36
|
+
} from "./mention-syntax.ts";
|
|
37
|
+
export {
|
|
38
|
+
registerMention,
|
|
39
|
+
type MentionConfiguration,
|
|
40
|
+
type MentionContext,
|
|
41
|
+
type MentionExtensionApi,
|
|
42
|
+
type MentionRegistration,
|
|
43
|
+
} from "./register-mention.ts";
|
|
44
|
+
export { createListProvider } from "./list-provider.ts";
|
|
45
|
+
export {
|
|
46
|
+
createSourceController,
|
|
47
|
+
type SourceController,
|
|
48
|
+
type SourceControllerOptions,
|
|
49
|
+
} from "./source-controller.ts";
|
|
50
|
+
export {
|
|
51
|
+
createCommandProvider,
|
|
52
|
+
type CommandRequestV1,
|
|
53
|
+
type CommandResponseV1,
|
|
54
|
+
} from "./command-provider.ts";
|
|
55
|
+
export { parseMentions, formatChain } from "./chain-syntax.ts";
|
|
56
|
+
export {
|
|
57
|
+
createChainAutocompleteProvider,
|
|
58
|
+
type ChainCompletionSource,
|
|
59
|
+
} from "./chain-autocomplete.ts";
|
|
60
|
+
export {
|
|
61
|
+
expandMentionText,
|
|
62
|
+
renderReplacementTemplate,
|
|
63
|
+
type ExpansionSource,
|
|
64
|
+
} from "./mention-resolution.ts";
|
|
65
|
+
export type {
|
|
66
|
+
Candidate,
|
|
67
|
+
DiscoveryRequest,
|
|
68
|
+
DiscoveryResponse,
|
|
69
|
+
JsonValue,
|
|
70
|
+
Provider,
|
|
71
|
+
Resolution,
|
|
72
|
+
ResolveRequest,
|
|
73
|
+
} from "./source-contract.ts";
|
|
74
|
+
export { autocompleteStartIndex, colorMentions, type MentionColorContext } from "./rendering.ts";
|
|
75
|
+
export { createSelectionHistory } from "./selection-history.ts";
|