@sng2c/pi-the-giver 0.1.0 → 0.1.1
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/node_modules/@earendil-works/pi-tui/README.md +779 -0
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +54 -0
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +632 -0
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts +22 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/box.js +104 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/box.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts +22 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js +35 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +249 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +1916 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts +28 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/image.js +76 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/image.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts +37 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/input.js +426 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts +31 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.js +69 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +95 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +688 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts +50 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js +159 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts +50 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js +185 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts +12 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js +23 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts +19 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/text.js +89 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/text.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts +13 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js +51 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts +39 -0
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.js +2 -0
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts +16 -0
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js +110 -0
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +23 -0
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/index.js +32 -0
- package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +193 -0
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +174 -0
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts +184 -0
- package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/keys.js +1173 -0
- package/node_modules/@earendil-works/pi-tui/dist/keys.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/kill-ring.d.ts +28 -0
- package/node_modules/@earendil-works/pi-tui/dist/kill-ring.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/kill-ring.js +44 -0
- package/node_modules/@earendil-works/pi-tui/dist/kill-ring.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts +50 -0
- package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js +339 -0
- package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +85 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +324 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +88 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js +315 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +227 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui.js +1077 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/undo-stack.d.ts +17 -0
- package/node_modules/@earendil-works/pi-tui/dist/undo-stack.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/undo-stack.js +25 -0
- package/node_modules/@earendil-works/pi-tui/dist/undo-stack.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +79 -0
- package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/utils.js +1017 -0
- package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/license +9 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/package.json +83 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/readme.md +297 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/source/index.d.ts +325 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/source/index.js +225 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/source/utilities.js +33 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
- package/node_modules/@earendil-works/pi-tui/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
- package/node_modules/@earendil-works/pi-tui/package.json +52 -0
- package/node_modules/@types/mime-types/LICENSE +21 -0
- package/node_modules/@types/mime-types/README.md +28 -0
- package/node_modules/@types/mime-types/index.d.ts +9 -0
- package/node_modules/@types/mime-types/package.json +25 -0
- package/node_modules/get-east-asian-width/index.d.ts +60 -0
- package/node_modules/get-east-asian-width/index.js +30 -0
- package/node_modules/get-east-asian-width/license +9 -0
- package/node_modules/get-east-asian-width/lookup-data.js +21 -0
- package/node_modules/get-east-asian-width/lookup.js +138 -0
- package/node_modules/get-east-asian-width/package.json +71 -0
- package/node_modules/get-east-asian-width/readme.md +65 -0
- package/node_modules/get-east-asian-width/utilities.js +24 -0
- package/node_modules/jiti/LICENSE +21 -0
- package/node_modules/jiti/README.md +258 -0
- package/node_modules/jiti/dist/babel.cjs +257 -0
- package/node_modules/jiti/dist/jiti.cjs +1 -0
- package/node_modules/jiti/lib/jiti-cli.mjs +34 -0
- package/node_modules/jiti/lib/jiti-hooks.mjs +124 -0
- package/node_modules/jiti/lib/jiti-native.mjs +121 -0
- package/node_modules/jiti/lib/jiti-register.d.mts +1 -0
- package/node_modules/jiti/lib/jiti-register.mjs +4 -0
- package/node_modules/jiti/lib/jiti-static.mjs +23 -0
- package/node_modules/jiti/lib/jiti.cjs +30 -0
- package/node_modules/jiti/lib/jiti.d.cts +8 -0
- package/node_modules/jiti/lib/jiti.d.mts +8 -0
- package/node_modules/jiti/lib/jiti.mjs +29 -0
- package/node_modules/jiti/lib/types.d.ts +420 -0
- package/node_modules/jiti/package.json +146 -0
- package/node_modules/koffi/CHANGELOG.md +1093 -0
- package/node_modules/koffi/LICENSE.txt +22 -0
- package/node_modules/koffi/README.md +43 -0
- package/node_modules/koffi/build/koffi/darwin_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/darwin_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/freebsd_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/freebsd_ia32/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/freebsd_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_armhf/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_ia32/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_loong64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_riscv64d/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/musl_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/musl_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/openbsd_ia32/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/openbsd_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/win32_arm64/koffi.exp +0 -0
- package/node_modules/koffi/build/koffi/win32_arm64/koffi.lib +0 -0
- package/node_modules/koffi/build/koffi/win32_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/win32_ia32/koffi.exp +0 -0
- package/node_modules/koffi/build/koffi/win32_ia32/koffi.lib +0 -0
- package/node_modules/koffi/build/koffi/win32_ia32/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/win32_x64/koffi.exp +0 -0
- package/node_modules/koffi/build/koffi/win32_x64/koffi.lib +0 -0
- package/node_modules/koffi/build/koffi/win32_x64/koffi.node +0 -0
- package/node_modules/koffi/doc/benchmarks.md +126 -0
- package/node_modules/koffi/doc/callbacks.md +210 -0
- package/node_modules/koffi/doc/contribute.md +148 -0
- package/node_modules/koffi/doc/functions.md +250 -0
- package/node_modules/koffi/doc/index.md +61 -0
- package/node_modules/koffi/doc/input.md +471 -0
- package/node_modules/koffi/doc/migration.md +159 -0
- package/node_modules/koffi/doc/misc.md +180 -0
- package/node_modules/koffi/doc/output.md +305 -0
- package/node_modules/koffi/doc/packaging.md +88 -0
- package/node_modules/koffi/doc/platforms.md +36 -0
- package/node_modules/koffi/doc/pointers.md +328 -0
- package/node_modules/koffi/doc/start.md +118 -0
- package/node_modules/koffi/doc/unions.md +186 -0
- package/node_modules/koffi/doc/variables.md +102 -0
- package/node_modules/koffi/index.d.ts +288 -0
- package/node_modules/koffi/index.js +634 -0
- package/node_modules/koffi/indirect.js +533 -0
- package/node_modules/koffi/lib/native/base/base.cc +11015 -0
- package/node_modules/koffi/lib/native/base/base.hh +6003 -0
- package/node_modules/koffi/lib/native/base/crc.inc +2214 -0
- package/node_modules/koffi/lib/native/base/crc_gen.py +72 -0
- package/node_modules/koffi/lib/native/base/mimetypes.inc +1248 -0
- package/node_modules/koffi/lib/native/base/mimetypes_gen.py +58 -0
- package/node_modules/koffi/lib/native/base/tower.cc +821 -0
- package/node_modules/koffi/lib/native/base/tower.hh +81 -0
- package/node_modules/koffi/lib/native/base/unicode.inc +408 -0
- package/node_modules/koffi/lib/native/base/unicode_gen.py +152 -0
- package/node_modules/koffi/package.json +38 -0
- package/node_modules/koffi/src/cnoke/LICENSE.txt +22 -0
- package/node_modules/koffi/src/cnoke/README.md +99 -0
- package/node_modules/koffi/src/cnoke/assets/FindCNoke.cmake +127 -0
- package/node_modules/koffi/src/cnoke/assets/toolchains.json +126 -0
- package/node_modules/koffi/src/cnoke/assets/win_delay_hook.c +36 -0
- package/node_modules/koffi/src/cnoke/cnoke.js +170 -0
- package/node_modules/koffi/src/cnoke/package.json +24 -0
- package/node_modules/koffi/src/cnoke/src/builder.js +511 -0
- package/node_modules/koffi/src/cnoke/src/index.js +10 -0
- package/node_modules/koffi/src/cnoke/src/tools.js +407 -0
- package/node_modules/koffi/src/koffi/CMakeLists.txt +182 -0
- package/node_modules/koffi/src/koffi/src/abi_arm32.cc +1018 -0
- package/node_modules/koffi/src/koffi/src/abi_arm32_asm.S +169 -0
- package/node_modules/koffi/src/koffi/src/abi_arm64.cc +1295 -0
- package/node_modules/koffi/src/koffi/src/abi_arm64_asm.S +195 -0
- package/node_modules/koffi/src/koffi/src/abi_arm64_asm.asm +174 -0
- package/node_modules/koffi/src/koffi/src/abi_loong64.cc +5 -0
- package/node_modules/koffi/src/koffi/src/abi_loong64_asm.S +204 -0
- package/node_modules/koffi/src/koffi/src/abi_riscv64.cc +915 -0
- package/node_modules/koffi/src/koffi/src/abi_riscv64_asm.S +203 -0
- package/node_modules/koffi/src/koffi/src/abi_x64_sysv.cc +939 -0
- package/node_modules/koffi/src/koffi/src/abi_x64_sysv_asm.S +231 -0
- package/node_modules/koffi/src/koffi/src/abi_x64_win.cc +715 -0
- package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.S +166 -0
- package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.asm +192 -0
- package/node_modules/koffi/src/koffi/src/abi_x86.cc +860 -0
- package/node_modules/koffi/src/koffi/src/abi_x86_asm.S +193 -0
- package/node_modules/koffi/src/koffi/src/abi_x86_asm.asm +177 -0
- package/node_modules/koffi/src/koffi/src/call.cc +1326 -0
- package/node_modules/koffi/src/koffi/src/call.hh +179 -0
- package/node_modules/koffi/src/koffi/src/errno.inc +462 -0
- package/node_modules/koffi/src/koffi/src/ffi.cc +2702 -0
- package/node_modules/koffi/src/koffi/src/ffi.hh +354 -0
- package/node_modules/koffi/src/koffi/src/init.js +105 -0
- package/node_modules/koffi/src/koffi/src/parser.cc +220 -0
- package/node_modules/koffi/src/koffi/src/parser.hh +54 -0
- package/node_modules/koffi/src/koffi/src/util.cc +1807 -0
- package/node_modules/koffi/src/koffi/src/util.hh +221 -0
- package/node_modules/koffi/src/koffi/src/uv.cc +193 -0
- package/node_modules/koffi/src/koffi/src/uv.def +10 -0
- package/node_modules/koffi/src/koffi/src/uv.hh +40 -0
- package/node_modules/koffi/src/koffi/src/win32.cc +198 -0
- package/node_modules/koffi/src/koffi/src/win32.hh +119 -0
- package/node_modules/koffi/src/koffi/tools/write_trampolines.js +77 -0
- package/node_modules/koffi/vendor/node-addon-api/LICENSE.md +9 -0
- package/node_modules/koffi/vendor/node-addon-api/README.md +95 -0
- package/node_modules/koffi/vendor/node-addon-api/napi-inl.deprecated.h +186 -0
- package/node_modules/koffi/vendor/node-addon-api/napi-inl.h +7033 -0
- package/node_modules/koffi/vendor/node-addon-api/napi.h +3309 -0
- package/node_modules/koffi/vendor/node-api-headers/LICENSE +21 -0
- package/node_modules/koffi/vendor/node-api-headers/README.md +95 -0
- package/node_modules/koffi/vendor/node-api-headers/def/js_native_api.def +125 -0
- package/node_modules/koffi/vendor/node-api-headers/def/node_api.def +157 -0
- package/node_modules/koffi/vendor/node-api-headers/include/js_native_api.h +591 -0
- package/node_modules/koffi/vendor/node-api-headers/include/js_native_api_types.h +210 -0
- package/node_modules/koffi/vendor/node-api-headers/include/node_api.h +265 -0
- package/node_modules/koffi/vendor/node-api-headers/include/node_api_types.h +58 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/aix.h +32 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/bsd.h +34 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/darwin.h +61 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/errno.h +483 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/linux.h +34 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/os390.h +33 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/posix.h +31 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/sunos.h +44 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/threadpool.h +37 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/tree.h +521 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/unix.h +512 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/version.h +43 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv/win.h +698 -0
- package/node_modules/koffi/vendor/node-api-headers/include/uv.h +1990 -0
- package/node_modules/marked/LICENSE.md +44 -0
- package/node_modules/marked/README.md +106 -0
- package/node_modules/marked/bin/main.js +282 -0
- package/node_modules/marked/bin/marked.js +15 -0
- package/node_modules/marked/lib/marked.cjs +2211 -0
- package/node_modules/marked/lib/marked.cjs.map +7 -0
- package/node_modules/marked/lib/marked.d.cts +728 -0
- package/node_modules/marked/lib/marked.d.ts +728 -0
- package/node_modules/marked/lib/marked.esm.js +2189 -0
- package/node_modules/marked/lib/marked.esm.js.map +7 -0
- package/node_modules/marked/lib/marked.umd.js +2213 -0
- package/node_modules/marked/lib/marked.umd.js.map +7 -0
- package/node_modules/marked/man/marked.1 +111 -0
- package/node_modules/marked/man/marked.1.md +92 -0
- package/node_modules/marked/marked.min.js +69 -0
- package/node_modules/marked/package.json +111 -0
- package/node_modules/mime-db/HISTORY.md +541 -0
- package/node_modules/mime-db/LICENSE +23 -0
- package/node_modules/mime-db/README.md +109 -0
- package/node_modules/mime-db/db.json +9342 -0
- package/node_modules/mime-db/index.js +12 -0
- package/node_modules/mime-db/package.json +56 -0
- package/node_modules/mime-types/HISTORY.md +428 -0
- package/node_modules/mime-types/LICENSE +23 -0
- package/node_modules/mime-types/README.md +126 -0
- package/node_modules/mime-types/index.js +211 -0
- package/node_modules/mime-types/mimeScore.js +57 -0
- package/node_modules/mime-types/package.json +49 -0
- package/node_modules/pi-subagents/CHANGELOG.md +1179 -0
- package/node_modules/pi-subagents/README.md +1380 -0
- package/node_modules/pi-subagents/agents/context-builder.md +46 -0
- package/node_modules/pi-subagents/agents/delegate.md +12 -0
- package/node_modules/pi-subagents/agents/oracle.md +73 -0
- package/node_modules/pi-subagents/agents/planner.md +55 -0
- package/node_modules/pi-subagents/agents/researcher.md +52 -0
- package/node_modules/pi-subagents/agents/reviewer.md +79 -0
- package/node_modules/pi-subagents/agents/scout.md +50 -0
- package/node_modules/pi-subagents/agents/worker.md +55 -0
- package/node_modules/pi-subagents/install.mjs +92 -0
- package/node_modules/pi-subagents/package.json +80 -0
- package/node_modules/pi-subagents/prompts/gather-context-and-clarify.md +13 -0
- package/node_modules/pi-subagents/prompts/parallel-cleanup.md +59 -0
- package/node_modules/pi-subagents/prompts/parallel-context-build.md +55 -0
- package/node_modules/pi-subagents/prompts/parallel-handoff-plan.md +61 -0
- package/node_modules/pi-subagents/prompts/parallel-research.md +50 -0
- package/node_modules/pi-subagents/prompts/parallel-review.md +54 -0
- package/node_modules/pi-subagents/prompts/review-loop.md +41 -0
- package/node_modules/pi-subagents/skills/pi-subagents/SKILL.md +860 -0
- package/node_modules/pi-subagents/src/agents/agent-management.ts +880 -0
- package/node_modules/pi-subagents/src/agents/agent-scope.ts +6 -0
- package/node_modules/pi-subagents/src/agents/agent-selection.ts +25 -0
- package/node_modules/pi-subagents/src/agents/agent-serializer.ts +110 -0
- package/node_modules/pi-subagents/src/agents/agents.ts +1423 -0
- package/node_modules/pi-subagents/src/agents/chain-serializer.ts +252 -0
- package/node_modules/pi-subagents/src/agents/frontmatter.ts +93 -0
- package/node_modules/pi-subagents/src/agents/identity.ts +30 -0
- package/node_modules/pi-subagents/src/agents/proactive-skills.ts +191 -0
- package/node_modules/pi-subagents/src/agents/skills.ts +729 -0
- package/node_modules/pi-subagents/src/extension/companion-suggestions.ts +359 -0
- package/node_modules/pi-subagents/src/extension/config.ts +39 -0
- package/node_modules/pi-subagents/src/extension/control-notices.ts +92 -0
- package/node_modules/pi-subagents/src/extension/doctor.ts +222 -0
- package/node_modules/pi-subagents/src/extension/fanout-child.ts +172 -0
- package/node_modules/pi-subagents/src/extension/index.ts +681 -0
- package/node_modules/pi-subagents/src/extension/schemas.ts +265 -0
- package/node_modules/pi-subagents/src/intercom/intercom-bridge.ts +412 -0
- package/node_modules/pi-subagents/src/intercom/result-intercom.ts +377 -0
- package/node_modules/pi-subagents/src/profiles/profiles.ts +637 -0
- package/node_modules/pi-subagents/src/runs/background/async-execution.ts +1021 -0
- package/node_modules/pi-subagents/src/runs/background/async-job-tracker.ts +431 -0
- package/node_modules/pi-subagents/src/runs/background/async-resume.ts +391 -0
- package/node_modules/pi-subagents/src/runs/background/async-status.ts +370 -0
- package/node_modules/pi-subagents/src/runs/background/chain-append.ts +282 -0
- package/node_modules/pi-subagents/src/runs/background/chain-root-attachment.ts +191 -0
- package/node_modules/pi-subagents/src/runs/background/completion-dedupe.ts +63 -0
- package/node_modules/pi-subagents/src/runs/background/control-channel.ts +227 -0
- package/node_modules/pi-subagents/src/runs/background/notify.ts +108 -0
- package/node_modules/pi-subagents/src/runs/background/parallel-groups.ts +45 -0
- package/node_modules/pi-subagents/src/runs/background/result-watcher.ts +316 -0
- package/node_modules/pi-subagents/src/runs/background/run-id-resolver.ts +83 -0
- package/node_modules/pi-subagents/src/runs/background/run-status.ts +274 -0
- package/node_modules/pi-subagents/src/runs/background/stale-run-reconciler.ts +368 -0
- package/node_modules/pi-subagents/src/runs/background/subagent-runner.ts +2797 -0
- package/node_modules/pi-subagents/src/runs/background/top-level-async.ts +13 -0
- package/node_modules/pi-subagents/src/runs/foreground/chain-clarify.ts +1333 -0
- package/node_modules/pi-subagents/src/runs/foreground/chain-execution.ts +1239 -0
- package/node_modules/pi-subagents/src/runs/foreground/execution.ts +1110 -0
- package/node_modules/pi-subagents/src/runs/foreground/subagent-executor.ts +3299 -0
- package/node_modules/pi-subagents/src/runs/shared/acceptance.ts +879 -0
- package/node_modules/pi-subagents/src/runs/shared/chain-outputs.ts +116 -0
- package/node_modules/pi-subagents/src/runs/shared/completion-guard.ts +147 -0
- package/node_modules/pi-subagents/src/runs/shared/dynamic-fanout.ts +295 -0
- package/node_modules/pi-subagents/src/runs/shared/long-running-guard.ts +175 -0
- package/node_modules/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +365 -0
- package/node_modules/pi-subagents/src/runs/shared/model-fallback.ts +145 -0
- package/node_modules/pi-subagents/src/runs/shared/nested-events.ts +877 -0
- package/node_modules/pi-subagents/src/runs/shared/nested-path.ts +52 -0
- package/node_modules/pi-subagents/src/runs/shared/nested-render.ts +115 -0
- package/node_modules/pi-subagents/src/runs/shared/parallel-utils.ts +197 -0
- package/node_modules/pi-subagents/src/runs/shared/pi-args.ts +242 -0
- package/node_modules/pi-subagents/src/runs/shared/pi-spawn.ts +147 -0
- package/node_modules/pi-subagents/src/runs/shared/run-history.ts +60 -0
- package/node_modules/pi-subagents/src/runs/shared/single-output.ts +180 -0
- package/node_modules/pi-subagents/src/runs/shared/structured-output.ts +77 -0
- package/node_modules/pi-subagents/src/runs/shared/subagent-control.ts +223 -0
- package/node_modules/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +222 -0
- package/node_modules/pi-subagents/src/runs/shared/workflow-graph.ts +206 -0
- package/node_modules/pi-subagents/src/runs/shared/worktree.ts +600 -0
- package/node_modules/pi-subagents/src/shared/artifacts.ts +112 -0
- package/node_modules/pi-subagents/src/shared/atomic-json.ts +73 -0
- package/node_modules/pi-subagents/src/shared/file-coalescer.ts +40 -0
- package/node_modules/pi-subagents/src/shared/fork-context.ts +187 -0
- package/node_modules/pi-subagents/src/shared/formatters.ts +133 -0
- package/node_modules/pi-subagents/src/shared/jsonl-writer.ts +81 -0
- package/node_modules/pi-subagents/src/shared/model-info.ts +78 -0
- package/node_modules/pi-subagents/src/shared/post-exit-stdio-guard.ts +85 -0
- package/node_modules/pi-subagents/src/shared/session-identity.ts +10 -0
- package/node_modules/pi-subagents/src/shared/session-tokens.ts +44 -0
- package/node_modules/pi-subagents/src/shared/settings.ts +448 -0
- package/node_modules/pi-subagents/src/shared/status-format.ts +49 -0
- package/node_modules/pi-subagents/src/shared/types.ts +1142 -0
- package/node_modules/pi-subagents/src/shared/utils.ts +554 -0
- package/node_modules/pi-subagents/src/slash/prompt-template-bridge.ts +420 -0
- package/node_modules/pi-subagents/src/slash/slash-bridge.ts +176 -0
- package/node_modules/pi-subagents/src/slash/slash-commands.ts +1282 -0
- package/node_modules/pi-subagents/src/slash/slash-live-state.ts +292 -0
- package/node_modules/pi-subagents/src/tui/render-helpers.ts +80 -0
- package/node_modules/pi-subagents/src/tui/render.ts +1740 -0
- package/node_modules/typebox/build/compile/code.d.mts +12 -0
- package/node_modules/typebox/build/compile/code.mjs +65 -0
- package/node_modules/typebox/build/compile/compile.d.mts +6 -0
- package/node_modules/typebox/build/compile/compile.mjs +12 -0
- package/node_modules/typebox/build/compile/index.d.mts +8 -0
- package/node_modules/typebox/build/compile/index.mjs +14 -0
- package/node_modules/typebox/build/compile/validator.d.mts +42 -0
- package/node_modules/typebox/build/compile/validator.mjs +116 -0
- package/node_modules/typebox/build/error/errors.d.mts +214 -0
- package/node_modules/typebox/build/error/errors.mjs +18 -0
- package/node_modules/typebox/build/error/index.d.mts +1 -0
- package/node_modules/typebox/build/error/index.mjs +1 -0
- package/node_modules/typebox/build/format/_idna.d.mts +2 -0
- package/node_modules/typebox/build/format/_idna.mjs +216 -0
- package/node_modules/typebox/build/format/_puny.d.mts +1 -0
- package/node_modules/typebox/build/format/_puny.mjs +74 -0
- package/node_modules/typebox/build/format/_registry.d.mts +15 -0
- package/node_modules/typebox/build/format/_registry.mjs +96 -0
- package/node_modules/typebox/build/format/date-time.d.mts +6 -0
- package/node_modules/typebox/build/format/date-time.mjs +11 -0
- package/node_modules/typebox/build/format/date.d.mts +6 -0
- package/node_modules/typebox/build/format/date.mjs +19 -0
- package/node_modules/typebox/build/format/duration.d.mts +5 -0
- package/node_modules/typebox/build/format/duration.mjs +8 -0
- package/node_modules/typebox/build/format/email.d.mts +5 -0
- package/node_modules/typebox/build/format/email.mjs +8 -0
- package/node_modules/typebox/build/format/format.d.mts +22 -0
- package/node_modules/typebox/build/format/format.mjs +22 -0
- package/node_modules/typebox/build/format/hostname.d.mts +7 -0
- package/node_modules/typebox/build/format/hostname.mjs +18 -0
- package/node_modules/typebox/build/format/idn-email.d.mts +5 -0
- package/node_modules/typebox/build/format/idn-email.mjs +8 -0
- package/node_modules/typebox/build/format/idn-hostname.d.mts +7 -0
- package/node_modules/typebox/build/format/idn-hostname.mjs +19 -0
- package/node_modules/typebox/build/format/index.d.mts +4 -0
- package/node_modules/typebox/build/format/index.mjs +4 -0
- package/node_modules/typebox/build/format/ipv4.d.mts +6 -0
- package/node_modules/typebox/build/format/ipv4.mjs +38 -0
- package/node_modules/typebox/build/format/ipv6.d.mts +5 -0
- package/node_modules/typebox/build/format/ipv6.mjs +67 -0
- package/node_modules/typebox/build/format/iri-reference.d.mts +5 -0
- package/node_modules/typebox/build/format/iri-reference.mjs +60 -0
- package/node_modules/typebox/build/format/iri.d.mts +5 -0
- package/node_modules/typebox/build/format/iri.mjs +13 -0
- package/node_modules/typebox/build/format/json-pointer-uri-fragment.d.mts +6 -0
- package/node_modules/typebox/build/format/json-pointer-uri-fragment.mjs +9 -0
- package/node_modules/typebox/build/format/json-pointer.d.mts +6 -0
- package/node_modules/typebox/build/format/json-pointer.mjs +9 -0
- package/node_modules/typebox/build/format/regex.d.mts +6 -0
- package/node_modules/typebox/build/format/regex.mjs +17 -0
- package/node_modules/typebox/build/format/relative-json-pointer.d.mts +6 -0
- package/node_modules/typebox/build/format/relative-json-pointer.mjs +9 -0
- package/node_modules/typebox/build/format/time.d.mts +5 -0
- package/node_modules/typebox/build/format/time.mjs +27 -0
- package/node_modules/typebox/build/format/uri-reference.d.mts +5 -0
- package/node_modules/typebox/build/format/uri-reference.mjs +9 -0
- package/node_modules/typebox/build/format/uri-template.d.mts +6 -0
- package/node_modules/typebox/build/format/uri-template.mjs +10 -0
- package/node_modules/typebox/build/format/uri.d.mts +5 -0
- package/node_modules/typebox/build/format/uri.mjs +135 -0
- package/node_modules/typebox/build/format/url.d.mts +6 -0
- package/node_modules/typebox/build/format/url.mjs +9 -0
- package/node_modules/typebox/build/format/uuid.d.mts +6 -0
- package/node_modules/typebox/build/format/uuid.mjs +9 -0
- package/node_modules/typebox/build/guard/emit.d.mts +58 -0
- package/node_modules/typebox/build/guard/emit.mjs +194 -0
- package/node_modules/typebox/build/guard/globals.d.mts +35 -0
- package/node_modules/typebox/build/guard/globals.mjs +90 -0
- package/node_modules/typebox/build/guard/guard.d.mts +63 -0
- package/node_modules/typebox/build/guard/guard.mjs +208 -0
- package/node_modules/typebox/build/guard/index.d.mts +6 -0
- package/node_modules/typebox/build/guard/index.mjs +6 -0
- package/node_modules/typebox/build/guard/native.d.mts +20 -0
- package/node_modules/typebox/build/guard/native.mjs +60 -0
- package/node_modules/typebox/build/guard/string.d.mts +6 -0
- package/node_modules/typebox/build/guard/string.mjs +164 -0
- package/node_modules/typebox/build/index.d.mts +8 -0
- package/node_modules/typebox/build/index.mjs +14 -0
- package/node_modules/typebox/build/schema/build.d.mts +35 -0
- package/node_modules/typebox/build/schema/build.mjs +99 -0
- package/node_modules/typebox/build/schema/check.d.mts +6 -0
- package/node_modules/typebox/build/schema/check.mjs +14 -0
- package/node_modules/typebox/build/schema/compile.d.mts +22 -0
- package/node_modules/typebox/build/schema/compile.mjs +46 -0
- package/node_modules/typebox/build/schema/engine/_context.d.mts +35 -0
- package/node_modules/typebox/build/schema/engine/_context.mjs +129 -0
- package/node_modules/typebox/build/schema/engine/_exact_optional.d.mts +3 -0
- package/node_modules/typebox/build/schema/engine/_exact_optional.mjs +20 -0
- package/node_modules/typebox/build/schema/engine/_externals.d.mts +7 -0
- package/node_modules/typebox/build/schema/engine/_externals.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/_functions.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/_functions.mjs +47 -0
- package/node_modules/typebox/build/schema/engine/_guard.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/_guard.mjs +26 -0
- package/node_modules/typebox/build/schema/engine/_reducer.d.mts +4 -0
- package/node_modules/typebox/build/schema/engine/_reducer.mjs +45 -0
- package/node_modules/typebox/build/schema/engine/_refine.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/_refine.mjs +29 -0
- package/node_modules/typebox/build/schema/engine/_stack.d.mts +18 -0
- package/node_modules/typebox/build/schema/engine/_stack.mjs +107 -0
- package/node_modules/typebox/build/schema/engine/_unique.d.mts +2 -0
- package/node_modules/typebox/build/schema/engine/_unique.mjs +5 -0
- package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/additionalItems.mjs +50 -0
- package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +9 -0
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +110 -0
- package/node_modules/typebox/build/schema/engine/allOf.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/allOf.mjs +47 -0
- package/node_modules/typebox/build/schema/engine/anyOf.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/anyOf.mjs +52 -0
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +5 -0
- package/node_modules/typebox/build/schema/engine/boolean.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/const.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/const.mjs +30 -0
- package/node_modules/typebox/build/schema/engine/contains.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/contains.mjs +42 -0
- package/node_modules/typebox/build/schema/engine/dependencies.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +45 -0
- package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +40 -0
- package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +38 -0
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/enum.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/enum.mjs +33 -0
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/format.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/format.mjs +26 -0
- package/node_modules/typebox/build/schema/engine/if.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/if.mjs +47 -0
- package/node_modules/typebox/build/schema/engine/index.d.mts +49 -0
- package/node_modules/typebox/build/schema/engine/index.mjs +55 -0
- package/node_modules/typebox/build/schema/engine/items.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/items.mjs +68 -0
- package/node_modules/typebox/build/schema/engine/maxContains.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/maxContains.mjs +42 -0
- package/node_modules/typebox/build/schema/engine/maxItems.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/maxItems.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/maxLength.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/maxLength.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/maxProperties.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/maximum.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/maximum.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/minContains.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/minContains.mjs +41 -0
- package/node_modules/typebox/build/schema/engine/minItems.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/minItems.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/minLength.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/minLength.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/minProperties.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/minProperties.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/minimum.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/minimum.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/multipleOf.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/not.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/not.mjs +37 -0
- package/node_modules/typebox/build/schema/engine/oneOf.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/oneOf.mjs +58 -0
- package/node_modules/typebox/build/schema/engine/pattern.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/pattern.mjs +28 -0
- package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +44 -0
- package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/prefixItems.mjs +35 -0
- package/node_modules/typebox/build/schema/engine/properties.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/properties.mjs +75 -0
- package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +39 -0
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +25 -0
- package/node_modules/typebox/build/schema/engine/ref.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/ref.mjs +58 -0
- package/node_modules/typebox/build/schema/engine/required.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/required.mjs +32 -0
- package/node_modules/typebox/build/schema/engine/schema.d.mts +9 -0
- package/node_modules/typebox/build/schema/engine/schema.mjs +352 -0
- package/node_modules/typebox/build/schema/engine/type.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/type.mjs +74 -0
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +51 -0
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +51 -0
- package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +6 -0
- package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +51 -0
- package/node_modules/typebox/build/schema/errors.d.mts +6 -0
- package/node_modules/typebox/build/schema/errors.mjs +24 -0
- package/node_modules/typebox/build/schema/index.d.mts +3 -0
- package/node_modules/typebox/build/schema/index.mjs +9 -0
- package/node_modules/typebox/build/schema/parse.d.mts +13 -0
- package/node_modules/typebox/build/schema/parse.mjs +27 -0
- package/node_modules/typebox/build/schema/pointer/index.d.mts +2 -0
- package/node_modules/typebox/build/schema/pointer/index.mjs +2 -0
- package/node_modules/typebox/build/schema/pointer/pointer-get.d.mts +9 -0
- package/node_modules/typebox/build/schema/pointer/pointer-get.mjs +2 -0
- package/node_modules/typebox/build/schema/pointer/pointer.d.mts +10 -0
- package/node_modules/typebox/build/schema/pointer/pointer.mjs +96 -0
- package/node_modules/typebox/build/schema/resolve/index.d.mts +1 -0
- package/node_modules/typebox/build/schema/resolve/index.mjs +1 -0
- package/node_modules/typebox/build/schema/resolve/ref.d.mts +3 -0
- package/node_modules/typebox/build/schema/resolve/ref.mjs +146 -0
- package/node_modules/typebox/build/schema/resolve/resolve.d.mts +1 -0
- package/node_modules/typebox/build/schema/resolve/resolve.mjs +1 -0
- package/node_modules/typebox/build/schema/schema.d.mts +10 -0
- package/node_modules/typebox/build/schema/schema.mjs +10 -0
- package/node_modules/typebox/build/schema/static/additionalProperties.d.mts +7 -0
- package/node_modules/typebox/build/schema/static/additionalProperties.mjs +3 -0
- package/node_modules/typebox/build/schema/static/allOf.d.mts +3 -0
- package/node_modules/typebox/build/schema/static/allOf.mjs +2 -0
- package/node_modules/typebox/build/schema/static/anyOf.d.mts +3 -0
- package/node_modules/typebox/build/schema/static/anyOf.mjs +2 -0
- package/node_modules/typebox/build/schema/static/const.d.mts +1 -0
- package/node_modules/typebox/build/schema/static/const.mjs +2 -0
- package/node_modules/typebox/build/schema/static/enum.d.mts +1 -0
- package/node_modules/typebox/build/schema/static/enum.mjs +2 -0
- package/node_modules/typebox/build/schema/static/if.d.mts +15 -0
- package/node_modules/typebox/build/schema/static/if.mjs +2 -0
- package/node_modules/typebox/build/schema/static/index.d.mts +1 -0
- package/node_modules/typebox/build/schema/static/index.mjs +1 -0
- package/node_modules/typebox/build/schema/static/items.d.mts +7 -0
- package/node_modules/typebox/build/schema/static/items.mjs +2 -0
- package/node_modules/typebox/build/schema/static/oneOf.d.mts +3 -0
- package/node_modules/typebox/build/schema/static/oneOf.mjs +2 -0
- package/node_modules/typebox/build/schema/static/patternProperties.d.mts +7 -0
- package/node_modules/typebox/build/schema/static/patternProperties.mjs +2 -0
- package/node_modules/typebox/build/schema/static/prefixItems.d.mts +3 -0
- package/node_modules/typebox/build/schema/static/prefixItems.mjs +2 -0
- package/node_modules/typebox/build/schema/static/properties.d.mts +11 -0
- package/node_modules/typebox/build/schema/static/properties.mjs +2 -0
- package/node_modules/typebox/build/schema/static/ref.d.mts +8 -0
- package/node_modules/typebox/build/schema/static/ref.mjs +3 -0
- package/node_modules/typebox/build/schema/static/required.d.mts +13 -0
- package/node_modules/typebox/build/schema/static/required.mjs +3 -0
- package/node_modules/typebox/build/schema/static/schema.d.mts +55 -0
- package/node_modules/typebox/build/schema/static/schema.mjs +2 -0
- package/node_modules/typebox/build/schema/static/static.d.mts +4 -0
- package/node_modules/typebox/build/schema/static/static.mjs +3 -0
- package/node_modules/typebox/build/schema/static/type.d.mts +4 -0
- package/node_modules/typebox/build/schema/static/type.mjs +3 -0
- package/node_modules/typebox/build/schema/static/unevaluatedProperties.d.mts +7 -0
- package/node_modules/typebox/build/schema/static/unevaluatedProperties.mjs +3 -0
- package/node_modules/typebox/build/schema/static/~comparer.d.mts +6 -0
- package/node_modules/typebox/build/schema/static/~comparer.mjs +2 -0
- package/node_modules/typebox/build/schema/static/~elements.d.mts +18 -0
- package/node_modules/typebox/build/schema/static/~elements.mjs +2 -0
- package/node_modules/typebox/build/schema/static/~non-readonly.d.mts +7 -0
- package/node_modules/typebox/build/schema/static/~non-readonly.mjs +2 -0
- package/node_modules/typebox/build/schema/static/~readonly.d.mts +6 -0
- package/node_modules/typebox/build/schema/static/~readonly.mjs +2 -0
- package/node_modules/typebox/build/schema/types/_guard.d.mts +10 -0
- package/node_modules/typebox/build/schema/types/_guard.mjs +16 -0
- package/node_modules/typebox/build/schema/types/_refine.d.mts +13 -0
- package/node_modules/typebox/build/schema/types/_refine.mjs +18 -0
- package/node_modules/typebox/build/schema/types/additionalItems.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/additionalItems.mjs +14 -0
- package/node_modules/typebox/build/schema/types/additionalProperties.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/additionalProperties.mjs +14 -0
- package/node_modules/typebox/build/schema/types/allOf.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/allOf.mjs +15 -0
- package/node_modules/typebox/build/schema/types/anchor.d.mts +8 -0
- package/node_modules/typebox/build/schema/types/anchor.mjs +12 -0
- package/node_modules/typebox/build/schema/types/anyOf.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/anyOf.mjs +15 -0
- package/node_modules/typebox/build/schema/types/const.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/const.mjs +12 -0
- package/node_modules/typebox/build/schema/types/contains.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/contains.mjs +14 -0
- package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/contentEncoding.mjs +13 -0
- package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/contentMediaType.mjs +13 -0
- package/node_modules/typebox/build/schema/types/default.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/default.mjs +12 -0
- package/node_modules/typebox/build/schema/types/defs.d.mts +6 -0
- package/node_modules/typebox/build/schema/types/defs.mjs +12 -0
- package/node_modules/typebox/build/schema/types/dependencies.d.mts +11 -0
- package/node_modules/typebox/build/schema/types/dependencies.mjs +16 -0
- package/node_modules/typebox/build/schema/types/dependentRequired.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/dependentRequired.mjs +15 -0
- package/node_modules/typebox/build/schema/types/dependentSchemas.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/dependentSchemas.mjs +15 -0
- package/node_modules/typebox/build/schema/types/dynamicAnchor.d.mts +8 -0
- package/node_modules/typebox/build/schema/types/dynamicAnchor.mjs +12 -0
- package/node_modules/typebox/build/schema/types/dynamicRef.d.mts +8 -0
- package/node_modules/typebox/build/schema/types/dynamicRef.mjs +12 -0
- package/node_modules/typebox/build/schema/types/else.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/else.mjs +14 -0
- package/node_modules/typebox/build/schema/types/enum.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/enum.mjs +13 -0
- package/node_modules/typebox/build/schema/types/exclusiveMaximum.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/exclusiveMaximum.mjs +13 -0
- package/node_modules/typebox/build/schema/types/exclusiveMinimum.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/exclusiveMinimum.mjs +13 -0
- package/node_modules/typebox/build/schema/types/format.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/format.mjs +13 -0
- package/node_modules/typebox/build/schema/types/id.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/id.mjs +13 -0
- package/node_modules/typebox/build/schema/types/if.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/if.mjs +14 -0
- package/node_modules/typebox/build/schema/types/index.d.mts +54 -0
- package/node_modules/typebox/build/schema/types/index.mjs +60 -0
- package/node_modules/typebox/build/schema/types/items.d.mts +19 -0
- package/node_modules/typebox/build/schema/types/items.mjs +26 -0
- package/node_modules/typebox/build/schema/types/maxContains.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/maxContains.mjs +13 -0
- package/node_modules/typebox/build/schema/types/maxItems.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/maxItems.mjs +13 -0
- package/node_modules/typebox/build/schema/types/maxLength.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/maxLength.mjs +13 -0
- package/node_modules/typebox/build/schema/types/maxProperties.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/maxProperties.mjs +13 -0
- package/node_modules/typebox/build/schema/types/maximum.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/maximum.mjs +13 -0
- package/node_modules/typebox/build/schema/types/minContains.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/minContains.mjs +13 -0
- package/node_modules/typebox/build/schema/types/minItems.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/minItems.mjs +13 -0
- package/node_modules/typebox/build/schema/types/minLength.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/minLength.mjs +13 -0
- package/node_modules/typebox/build/schema/types/minProperties.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/minProperties.mjs +13 -0
- package/node_modules/typebox/build/schema/types/minimum.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/minimum.mjs +13 -0
- package/node_modules/typebox/build/schema/types/multipleOf.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/multipleOf.mjs +13 -0
- package/node_modules/typebox/build/schema/types/not.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/not.mjs +14 -0
- package/node_modules/typebox/build/schema/types/oneOf.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/oneOf.mjs +15 -0
- package/node_modules/typebox/build/schema/types/pattern.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/pattern.mjs +14 -0
- package/node_modules/typebox/build/schema/types/patternProperties.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/patternProperties.mjs +15 -0
- package/node_modules/typebox/build/schema/types/prefixItems.d.mts +8 -0
- package/node_modules/typebox/build/schema/types/prefixItems.mjs +14 -0
- package/node_modules/typebox/build/schema/types/properties.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/properties.mjs +15 -0
- package/node_modules/typebox/build/schema/types/propertyNames.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/propertyNames.mjs +15 -0
- package/node_modules/typebox/build/schema/types/recursiveAnchor.d.mts +12 -0
- package/node_modules/typebox/build/schema/types/recursiveAnchor.mjs +19 -0
- package/node_modules/typebox/build/schema/types/recursiveRef.d.mts +8 -0
- package/node_modules/typebox/build/schema/types/recursiveRef.mjs +12 -0
- package/node_modules/typebox/build/schema/types/ref.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/ref.mjs +13 -0
- package/node_modules/typebox/build/schema/types/required.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/required.mjs +14 -0
- package/node_modules/typebox/build/schema/types/schema.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/schema.mjs +14 -0
- package/node_modules/typebox/build/schema/types/then.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/then.mjs +14 -0
- package/node_modules/typebox/build/schema/types/type.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/type.mjs +15 -0
- package/node_modules/typebox/build/schema/types/unevaluatedItems.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/unevaluatedItems.mjs +14 -0
- package/node_modules/typebox/build/schema/types/unevaluatedProperties.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/unevaluatedProperties.mjs +14 -0
- package/node_modules/typebox/build/schema/types/uniqueItems.d.mts +9 -0
- package/node_modules/typebox/build/schema/types/uniqueItems.mjs +13 -0
- package/node_modules/typebox/build/system/arguments/arguments.d.mts +5 -0
- package/node_modules/typebox/build/system/arguments/arguments.mjs +9 -0
- package/node_modules/typebox/build/system/arguments/index.d.mts +1 -0
- package/node_modules/typebox/build/system/arguments/index.mjs +1 -0
- package/node_modules/typebox/build/system/environment/environment.d.mts +1 -0
- package/node_modules/typebox/build/system/environment/environment.mjs +1 -0
- package/node_modules/typebox/build/system/environment/evaluate.d.mts +9 -0
- package/node_modules/typebox/build/system/environment/evaluate.mjs +37 -0
- package/node_modules/typebox/build/system/environment/index.d.mts +1 -0
- package/node_modules/typebox/build/system/environment/index.mjs +1 -0
- package/node_modules/typebox/build/system/hashing/hash.d.mts +4 -0
- package/node_modules/typebox/build/system/hashing/hash.mjs +232 -0
- package/node_modules/typebox/build/system/hashing/index.d.mts +1 -0
- package/node_modules/typebox/build/system/hashing/index.mjs +1 -0
- package/node_modules/typebox/build/system/index.d.mts +4 -0
- package/node_modules/typebox/build/system/index.mjs +4 -0
- package/node_modules/typebox/build/system/locale/_config.d.mts +7 -0
- package/node_modules/typebox/build/system/locale/_config.mjs +15 -0
- package/node_modules/typebox/build/system/locale/_locale.d.mts +40 -0
- package/node_modules/typebox/build/system/locale/_locale.mjs +40 -0
- package/node_modules/typebox/build/system/locale/ar_001.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/ar_001.mjs +41 -0
- package/node_modules/typebox/build/system/locale/bn_BD.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/bn_BD.mjs +41 -0
- package/node_modules/typebox/build/system/locale/cs_CZ.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/cs_CZ.mjs +41 -0
- package/node_modules/typebox/build/system/locale/de_DE.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/de_DE.mjs +41 -0
- package/node_modules/typebox/build/system/locale/el_GR.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/el_GR.mjs +41 -0
- package/node_modules/typebox/build/system/locale/en_US.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/en_US.mjs +40 -0
- package/node_modules/typebox/build/system/locale/es_419.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/es_419.mjs +41 -0
- package/node_modules/typebox/build/system/locale/es_AR.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/es_AR.mjs +41 -0
- package/node_modules/typebox/build/system/locale/es_ES.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/es_ES.mjs +41 -0
- package/node_modules/typebox/build/system/locale/es_MX.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/es_MX.mjs +41 -0
- package/node_modules/typebox/build/system/locale/fa_IR.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/fa_IR.mjs +41 -0
- package/node_modules/typebox/build/system/locale/fil_PH.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/fil_PH.mjs +41 -0
- package/node_modules/typebox/build/system/locale/fr_CA.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/fr_CA.mjs +41 -0
- package/node_modules/typebox/build/system/locale/fr_FR.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/fr_FR.mjs +41 -0
- package/node_modules/typebox/build/system/locale/ha_NG.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/ha_NG.mjs +41 -0
- package/node_modules/typebox/build/system/locale/hi_IN.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/hi_IN.mjs +41 -0
- package/node_modules/typebox/build/system/locale/hu_HU.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/hu_HU.mjs +41 -0
- package/node_modules/typebox/build/system/locale/id_ID.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/id_ID.mjs +41 -0
- package/node_modules/typebox/build/system/locale/index.d.mts +1 -0
- package/node_modules/typebox/build/system/locale/index.mjs +1 -0
- package/node_modules/typebox/build/system/locale/it_IT.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/it_IT.mjs +41 -0
- package/node_modules/typebox/build/system/locale/ja_JP.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/ja_JP.mjs +41 -0
- package/node_modules/typebox/build/system/locale/ko_KR.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/ko_KR.mjs +41 -0
- package/node_modules/typebox/build/system/locale/ms_MY.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/ms_MY.mjs +41 -0
- package/node_modules/typebox/build/system/locale/nl_NL.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/nl_NL.mjs +41 -0
- package/node_modules/typebox/build/system/locale/pl_PL.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/pl_PL.mjs +41 -0
- package/node_modules/typebox/build/system/locale/pt_BR.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/pt_BR.mjs +41 -0
- package/node_modules/typebox/build/system/locale/pt_PT.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/pt_PT.mjs +41 -0
- package/node_modules/typebox/build/system/locale/ro_RO.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/ro_RO.mjs +41 -0
- package/node_modules/typebox/build/system/locale/ru_RU.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/ru_RU.mjs +41 -0
- package/node_modules/typebox/build/system/locale/sv_SE.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/sv_SE.mjs +41 -0
- package/node_modules/typebox/build/system/locale/sw_TZ.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/sw_TZ.mjs +41 -0
- package/node_modules/typebox/build/system/locale/th_TH.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/th_TH.mjs +41 -0
- package/node_modules/typebox/build/system/locale/tr_TR.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/tr_TR.mjs +41 -0
- package/node_modules/typebox/build/system/locale/uk_UA.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/uk_UA.mjs +41 -0
- package/node_modules/typebox/build/system/locale/ur_PK.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/ur_PK.mjs +41 -0
- package/node_modules/typebox/build/system/locale/vi_VN.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/vi_VN.mjs +41 -0
- package/node_modules/typebox/build/system/locale/yo_NG.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/yo_NG.mjs +41 -0
- package/node_modules/typebox/build/system/locale/zh_Hans.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/zh_Hans.mjs +41 -0
- package/node_modules/typebox/build/system/locale/zh_Hant.d.mts +3 -0
- package/node_modules/typebox/build/system/locale/zh_Hant.mjs +41 -0
- package/node_modules/typebox/build/system/memory/assign.d.mts +14 -0
- package/node_modules/typebox/build/system/memory/assign.mjs +11 -0
- package/node_modules/typebox/build/system/memory/clone.d.mts +6 -0
- package/node_modules/typebox/build/system/memory/clone.mjs +63 -0
- package/node_modules/typebox/build/system/memory/create.d.mts +8 -0
- package/node_modules/typebox/build/system/memory/create.mjs +30 -0
- package/node_modules/typebox/build/system/memory/discard.d.mts +4 -0
- package/node_modules/typebox/build/system/memory/discard.mjs +17 -0
- package/node_modules/typebox/build/system/memory/index.d.mts +1 -0
- package/node_modules/typebox/build/system/memory/index.mjs +1 -0
- package/node_modules/typebox/build/system/memory/memory.d.mts +6 -0
- package/node_modules/typebox/build/system/memory/memory.mjs +7 -0
- package/node_modules/typebox/build/system/memory/metrics.d.mts +14 -0
- package/node_modules/typebox/build/system/memory/metrics.mjs +8 -0
- package/node_modules/typebox/build/system/memory/update.d.mts +7 -0
- package/node_modules/typebox/build/system/memory/update.mjs +32 -0
- package/node_modules/typebox/build/system/settings/index.d.mts +1 -0
- package/node_modules/typebox/build/system/settings/index.mjs +1 -0
- package/node_modules/typebox/build/system/settings/settings.d.mts +56 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +32 -0
- package/node_modules/typebox/build/system/system.d.mts +6 -0
- package/node_modules/typebox/build/system/system.mjs +6 -0
- package/node_modules/typebox/build/system/unreachable/index.d.mts +1 -0
- package/node_modules/typebox/build/system/unreachable/index.mjs +1 -0
- package/node_modules/typebox/build/system/unreachable/unreachable.d.mts +3 -0
- package/node_modules/typebox/build/system/unreachable/unreachable.mjs +6 -0
- package/node_modules/typebox/build/type/action/_optional.d.mts +19 -0
- package/node_modules/typebox/build/type/action/_optional.mjs +40 -0
- package/node_modules/typebox/build/type/action/_readonly.d.mts +19 -0
- package/node_modules/typebox/build/type/action/_readonly.mjs +40 -0
- package/node_modules/typebox/build/type/action/awaited.d.mts +11 -0
- package/node_modules/typebox/build/type/action/awaited.mjs +12 -0
- package/node_modules/typebox/build/type/action/capitalize.d.mts +11 -0
- package/node_modules/typebox/build/type/action/capitalize.mjs +12 -0
- package/node_modules/typebox/build/type/action/conditional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/conditional.mjs +12 -0
- package/node_modules/typebox/build/type/action/constructor-parameters.d.mts +11 -0
- package/node_modules/typebox/build/type/action/constructor-parameters.mjs +12 -0
- package/node_modules/typebox/build/type/action/evaluate.d.mts +11 -0
- package/node_modules/typebox/build/type/action/evaluate.mjs +12 -0
- package/node_modules/typebox/build/type/action/exclude.d.mts +11 -0
- package/node_modules/typebox/build/type/action/exclude.mjs +12 -0
- package/node_modules/typebox/build/type/action/extract.d.mts +11 -0
- package/node_modules/typebox/build/type/action/extract.mjs +12 -0
- package/node_modules/typebox/build/type/action/index.d.mts +27 -0
- package/node_modules/typebox/build/type/action/index.mjs +27 -0
- package/node_modules/typebox/build/type/action/indexed.d.mts +14 -0
- package/node_modules/typebox/build/type/action/indexed.mjs +15 -0
- package/node_modules/typebox/build/type/action/instance-type.d.mts +11 -0
- package/node_modules/typebox/build/type/action/instance-type.mjs +12 -0
- package/node_modules/typebox/build/type/action/interface.d.mts +14 -0
- package/node_modules/typebox/build/type/action/interface.mjs +20 -0
- package/node_modules/typebox/build/type/action/keyof.d.mts +11 -0
- package/node_modules/typebox/build/type/action/keyof.mjs +12 -0
- package/node_modules/typebox/build/type/action/lowercase.d.mts +11 -0
- package/node_modules/typebox/build/type/action/lowercase.mjs +12 -0
- package/node_modules/typebox/build/type/action/mapped.d.mts +12 -0
- package/node_modules/typebox/build/type/action/mapped.mjs +12 -0
- package/node_modules/typebox/build/type/action/module.d.mts +12 -0
- package/node_modules/typebox/build/type/action/module.mjs +12 -0
- package/node_modules/typebox/build/type/action/non-nullable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/non-nullable.mjs +12 -0
- package/node_modules/typebox/build/type/action/omit.d.mts +14 -0
- package/node_modules/typebox/build/type/action/omit.mjs +15 -0
- package/node_modules/typebox/build/type/action/options.d.mts +12 -0
- package/node_modules/typebox/build/type/action/options.mjs +12 -0
- package/node_modules/typebox/build/type/action/parameters.d.mts +11 -0
- package/node_modules/typebox/build/type/action/parameters.mjs +12 -0
- package/node_modules/typebox/build/type/action/partial.d.mts +11 -0
- package/node_modules/typebox/build/type/action/partial.mjs +12 -0
- package/node_modules/typebox/build/type/action/pick.d.mts +14 -0
- package/node_modules/typebox/build/type/action/pick.mjs +15 -0
- package/node_modules/typebox/build/type/action/readonly-type.d.mts +11 -0
- package/node_modules/typebox/build/type/action/readonly-type.mjs +12 -0
- package/node_modules/typebox/build/type/action/required.d.mts +11 -0
- package/node_modules/typebox/build/type/action/required.mjs +12 -0
- package/node_modules/typebox/build/type/action/return-type.d.mts +11 -0
- package/node_modules/typebox/build/type/action/return-type.mjs +12 -0
- package/node_modules/typebox/build/type/action/uncapitalize.d.mts +11 -0
- package/node_modules/typebox/build/type/action/uncapitalize.mjs +12 -0
- package/node_modules/typebox/build/type/action/uppercase.d.mts +11 -0
- package/node_modules/typebox/build/type/action/uppercase.mjs +12 -0
- package/node_modules/typebox/build/type/engine/awaited/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/awaited/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +19 -0
- package/node_modules/typebox/build/type/engine/call/distribute-arguments.d.mts +15 -0
- package/node_modules/typebox/build/type/engine/call/distribute-arguments.mjs +59 -0
- package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +23 -0
- package/node_modules/typebox/build/type/engine/call/instantiate.mjs +48 -0
- package/node_modules/typebox/build/type/engine/call/resolve-arguments.d.mts +13 -0
- package/node_modules/typebox/build/type/engine/call/resolve-arguments.mjs +39 -0
- package/node_modules/typebox/build/type/engine/call/resolve-target.d.mts +25 -0
- package/node_modules/typebox/build/type/engine/call/resolve-target.mjs +27 -0
- package/node_modules/typebox/build/type/engine/conditional/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/conditional/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/conditional/instantiate.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/conditional/instantiate.mjs +19 -0
- package/node_modules/typebox/build/type/engine/constructor-parameters/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/constructor-parameters/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/constructor-parameters/instantiate.d.mts +14 -0
- package/node_modules/typebox/build/type/engine/constructor-parameters/instantiate.mjs +22 -0
- package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +9 -0
- package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +19 -0
- package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +24 -0
- package/node_modules/typebox/build/type/engine/cyclic/check.mjs +54 -0
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +25 -0
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +53 -0
- package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +31 -0
- package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +53 -0
- package/node_modules/typebox/build/type/engine/cyclic/index.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/cyclic/index.mjs +6 -0
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +20 -0
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +30 -0
- package/node_modules/typebox/build/type/engine/cyclic/target.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/cyclic/target.mjs +16 -0
- package/node_modules/typebox/build/type/engine/enum/enum-to-union.d.mts +14 -0
- package/node_modules/typebox/build/type/engine/enum/enum-to-union.mjs +24 -0
- package/node_modules/typebox/build/type/engine/enum/index.d.mts +2 -0
- package/node_modules/typebox/build/type/engine/enum/index.mjs +2 -0
- package/node_modules/typebox/build/type/engine/enum/typescript-enum-to-enum-values.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/enum/typescript-enum-to-enum-values.mjs +9 -0
- package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +16 -0
- package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +47 -0
- package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +15 -0
- package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +22 -0
- package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +30 -0
- package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +63 -0
- package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +27 -0
- package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +55 -0
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +14 -0
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +27 -0
- package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +11 -0
- package/node_modules/typebox/build/type/engine/evaluate/index.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/evaluate/index.mjs +8 -0
- package/node_modules/typebox/build/type/engine/evaluate/instantiate.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/evaluate/instantiate.mjs +17 -0
- package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +11 -0
- package/node_modules/typebox/build/type/engine/exclude/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/exclude/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/exclude/instantiate.d.mts +16 -0
- package/node_modules/typebox/build/type/engine/exclude/instantiate.mjs +37 -0
- package/node_modules/typebox/build/type/engine/extract/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/extract/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/extract/instantiate.d.mts +16 -0
- package/node_modules/typebox/build/type/engine/extract/instantiate.mjs +37 -0
- package/node_modules/typebox/build/type/engine/helpers/index.d.mts +3 -0
- package/node_modules/typebox/build/type/engine/helpers/index.mjs +3 -0
- package/node_modules/typebox/build/type/engine/helpers/keys-to-indexer.d.mts +7 -0
- package/node_modules/typebox/build/type/engine/helpers/keys-to-indexer.mjs +15 -0
- package/node_modules/typebox/build/type/engine/helpers/keys.d.mts +3 -0
- package/node_modules/typebox/build/type/engine/helpers/keys.mjs +8 -0
- package/node_modules/typebox/build/type/engine/helpers/union.d.mts +7 -0
- package/node_modules/typebox/build/type/engine/helpers/union.mjs +3 -0
- package/node_modules/typebox/build/type/engine/index.d.mts +31 -0
- package/node_modules/typebox/build/type/engine/index.mjs +37 -0
- package/node_modules/typebox/build/type/engine/indexable/from-cyclic.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/indexable/from-cyclic.mjs +8 -0
- package/node_modules/typebox/build/type/engine/indexable/from-enum.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/indexable/from-enum.mjs +8 -0
- package/node_modules/typebox/build/type/engine/indexable/from-intersect.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/indexable/from-intersect.mjs +8 -0
- package/node_modules/typebox/build/type/engine/indexable/from-literal.d.mts +3 -0
- package/node_modules/typebox/build/type/engine/indexable/from-literal.mjs +5 -0
- package/node_modules/typebox/build/type/engine/indexable/from-template-literal.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/indexable/from-template-literal.mjs +8 -0
- package/node_modules/typebox/build/type/engine/indexable/from-type.d.mts +17 -0
- package/node_modules/typebox/build/type/engine/indexable/from-type.mjs +22 -0
- package/node_modules/typebox/build/type/engine/indexable/from-union.d.mts +4 -0
- package/node_modules/typebox/build/type/engine/indexable/from-union.mjs +7 -0
- package/node_modules/typebox/build/type/engine/indexable/to-indexable-keys.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/indexable/to-indexable-keys.mjs +12 -0
- package/node_modules/typebox/build/type/engine/indexable/to-indexable.d.mts +9 -0
- package/node_modules/typebox/build/type/engine/indexable/to-indexable.mjs +14 -0
- package/node_modules/typebox/build/type/engine/indexed/array-indexer.d.mts +12 -0
- package/node_modules/typebox/build/type/engine/indexed/array-indexer.mjs +18 -0
- package/node_modules/typebox/build/type/engine/indexed/from-array.d.mts +15 -0
- package/node_modules/typebox/build/type/engine/indexed/from-array.mjs +35 -0
- package/node_modules/typebox/build/type/engine/indexed/from-object.d.mts +9 -0
- package/node_modules/typebox/build/type/engine/indexed/from-object.mjs +18 -0
- package/node_modules/typebox/build/type/engine/indexed/from-tuple.d.mts +13 -0
- package/node_modules/typebox/build/type/engine/indexed/from-tuple.mjs +35 -0
- package/node_modules/typebox/build/type/engine/indexed/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/indexed/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +21 -0
- package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +37 -0
- package/node_modules/typebox/build/type/engine/instance-type/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/instance-type/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/instance-type/instantiate.d.mts +12 -0
- package/node_modules/typebox/build/type/engine/instance-type/instantiate.mjs +20 -0
- package/node_modules/typebox/build/type/engine/instantiate.d.mts +167 -0
- package/node_modules/typebox/build/type/engine/instantiate.mjs +172 -0
- package/node_modules/typebox/build/type/engine/interface/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/interface/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +16 -0
- package/node_modules/typebox/build/type/engine/interface/instantiate.mjs +19 -0
- package/node_modules/typebox/build/type/engine/intrinsics/from-literal.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/intrinsics/from-literal.mjs +9 -0
- package/node_modules/typebox/build/type/engine/intrinsics/from-template-literal.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/intrinsics/from-template-literal.mjs +8 -0
- package/node_modules/typebox/build/type/engine/intrinsics/from-type.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/intrinsics/from-type.mjs +13 -0
- package/node_modules/typebox/build/type/engine/intrinsics/from-union.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/intrinsics/from-union.mjs +7 -0
- package/node_modules/typebox/build/type/engine/intrinsics/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/intrinsics/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/intrinsics/instantiate.d.mts +34 -0
- package/node_modules/typebox/build/type/engine/intrinsics/instantiate.mjs +48 -0
- package/node_modules/typebox/build/type/engine/intrinsics/mapping.d.mts +9 -0
- package/node_modules/typebox/build/type/engine/intrinsics/mapping.mjs +4 -0
- package/node_modules/typebox/build/type/engine/keyof/from-any.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/keyof/from-any.mjs +8 -0
- package/node_modules/typebox/build/type/engine/keyof/from-array.d.mts +4 -0
- package/node_modules/typebox/build/type/engine/keyof/from-array.mjs +5 -0
- package/node_modules/typebox/build/type/engine/keyof/from-object.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/keyof/from-object.mjs +20 -0
- package/node_modules/typebox/build/type/engine/keyof/from-record.d.mts +4 -0
- package/node_modules/typebox/build/type/engine/keyof/from-record.mjs +5 -0
- package/node_modules/typebox/build/type/engine/keyof/from-tuple.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/keyof/from-tuple.mjs +7 -0
- package/node_modules/typebox/build/type/engine/keyof/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/keyof/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +27 -0
- package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +45 -0
- package/node_modules/typebox/build/type/engine/mapped/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/mapped/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/mapped/instantiate.d.mts +25 -0
- package/node_modules/typebox/build/type/engine/mapped/instantiate.mjs +50 -0
- package/node_modules/typebox/build/type/engine/mapped/mapped-variants.d.mts +15 -0
- package/node_modules/typebox/build/type/engine/mapped/mapped-variants.mjs +29 -0
- package/node_modules/typebox/build/type/engine/module/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/module/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +21 -0
- package/node_modules/typebox/build/type/engine/module/instantiate.mjs +34 -0
- package/node_modules/typebox/build/type/engine/non-nullable/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/non-nullable/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/non-nullable/instantiate.d.mts +15 -0
- package/node_modules/typebox/build/type/engine/non-nullable/instantiate.mjs +22 -0
- package/node_modules/typebox/build/type/engine/object/collapse.d.mts +12 -0
- package/node_modules/typebox/build/type/engine/object/collapse.mjs +14 -0
- package/node_modules/typebox/build/type/engine/object/from-cyclic.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/object/from-cyclic.mjs +8 -0
- package/node_modules/typebox/build/type/engine/object/from-intersect.d.mts +17 -0
- package/node_modules/typebox/build/type/engine/object/from-intersect.mjs +22 -0
- package/node_modules/typebox/build/type/engine/object/from-object.d.mts +3 -0
- package/node_modules/typebox/build/type/engine/object/from-object.mjs +4 -0
- package/node_modules/typebox/build/type/engine/object/from-tuple.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/object/from-tuple.mjs +9 -0
- package/node_modules/typebox/build/type/engine/object/from-type.d.mts +14 -0
- package/node_modules/typebox/build/type/engine/object/from-type.mjs +20 -0
- package/node_modules/typebox/build/type/engine/object/from-union.d.mts +12 -0
- package/node_modules/typebox/build/type/engine/object/from-union.mjs +26 -0
- package/node_modules/typebox/build/type/engine/object/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/object/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/omit/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/omit/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/omit/instantiate.d.mts +16 -0
- package/node_modules/typebox/build/type/engine/omit/instantiate.mjs +31 -0
- package/node_modules/typebox/build/type/engine/options/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/options/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/options/instantiate.mjs +13 -0
- package/node_modules/typebox/build/type/engine/parameters/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/parameters/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +14 -0
- package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +22 -0
- package/node_modules/typebox/build/type/engine/partial/from-cyclic.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/partial/from-cyclic.mjs +11 -0
- package/node_modules/typebox/build/type/engine/partial/from-intersect.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/partial/from-intersect.mjs +7 -0
- package/node_modules/typebox/build/type/engine/partial/from-object.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/partial/from-object.mjs +11 -0
- package/node_modules/typebox/build/type/engine/partial/from-type.d.mts +12 -0
- package/node_modules/typebox/build/type/engine/partial/from-type.mjs +17 -0
- package/node_modules/typebox/build/type/engine/partial/from-union.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/partial/from-union.mjs +7 -0
- package/node_modules/typebox/build/type/engine/partial/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/partial/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/partial/instantiate.d.mts +9 -0
- package/node_modules/typebox/build/type/engine/partial/instantiate.mjs +14 -0
- package/node_modules/typebox/build/type/engine/patterns/index.d.mts +2 -0
- package/node_modules/typebox/build/type/engine/patterns/index.mjs +2 -0
- package/node_modules/typebox/build/type/engine/patterns/pattern.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/patterns/pattern.mjs +11 -0
- package/node_modules/typebox/build/type/engine/patterns/template.d.mts +7 -0
- package/node_modules/typebox/build/type/engine/patterns/template.mjs +20 -0
- package/node_modules/typebox/build/type/engine/pick/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/pick/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/pick/instantiate.d.mts +17 -0
- package/node_modules/typebox/build/type/engine/pick/instantiate.mjs +32 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-array.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-array.mjs +7 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-cyclic.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-cyclic.mjs +11 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-intersect.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-intersect.mjs +7 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-object.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-object.mjs +11 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-tuple.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-tuple.mjs +7 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-type.d.mts +16 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-type.mjs +22 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-union.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/readonly-type/from-union.mjs +7 -0
- package/node_modules/typebox/build/type/engine/readonly-type/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/readonly-type/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/readonly-type/instantiate.d.mts +9 -0
- package/node_modules/typebox/build/type/engine/readonly-type/instantiate.mjs +14 -0
- package/node_modules/typebox/build/type/engine/record/from-key-any.d.mts +4 -0
- package/node_modules/typebox/build/type/engine/record/from-key-any.mjs +6 -0
- package/node_modules/typebox/build/type/engine/record/from-key-boolean.d.mts +7 -0
- package/node_modules/typebox/build/type/engine/record/from-key-boolean.mjs +5 -0
- package/node_modules/typebox/build/type/engine/record/from-key-enum.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/record/from-key-enum.mjs +8 -0
- package/node_modules/typebox/build/type/engine/record/from-key-integer.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/record/from-key-integer.mjs +7 -0
- package/node_modules/typebox/build/type/engine/record/from-key-intersect.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/record/from-key-intersect.mjs +8 -0
- package/node_modules/typebox/build/type/engine/record/from-key-literal.d.mts +11 -0
- package/node_modules/typebox/build/type/engine/record/from-key-literal.mjs +10 -0
- package/node_modules/typebox/build/type/engine/record/from-key-number.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/record/from-key-number.mjs +7 -0
- package/node_modules/typebox/build/type/engine/record/from-key-string.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/record/from-key-string.mjs +12 -0
- package/node_modules/typebox/build/type/engine/record/from-key-template-literal.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/record/from-key-template-literal.mjs +12 -0
- package/node_modules/typebox/build/type/engine/record/from-key-union.d.mts +20 -0
- package/node_modules/typebox/build/type/engine/record/from-key-union.mjs +39 -0
- package/node_modules/typebox/build/type/engine/record/from-key.d.mts +24 -0
- package/node_modules/typebox/build/type/engine/record/from-key.mjs +40 -0
- package/node_modules/typebox/build/type/engine/record/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/record/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/record/instantiate.d.mts +9 -0
- package/node_modules/typebox/build/type/engine/record/instantiate.mjs +16 -0
- package/node_modules/typebox/build/type/engine/record/record-create.d.mts +3 -0
- package/node_modules/typebox/build/type/engine/record/record-create.mjs +7 -0
- package/node_modules/typebox/build/type/engine/ref/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/ref/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +10 -0
- package/node_modules/typebox/build/type/engine/required/from-cyclic.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/required/from-cyclic.mjs +11 -0
- package/node_modules/typebox/build/type/engine/required/from-intersect.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/required/from-intersect.mjs +7 -0
- package/node_modules/typebox/build/type/engine/required/from-object.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/required/from-object.mjs +11 -0
- package/node_modules/typebox/build/type/engine/required/from-type.d.mts +12 -0
- package/node_modules/typebox/build/type/engine/required/from-type.mjs +17 -0
- package/node_modules/typebox/build/type/engine/required/from-union.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/required/from-union.mjs +7 -0
- package/node_modules/typebox/build/type/engine/required/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/required/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/required/instantiate.d.mts +9 -0
- package/node_modules/typebox/build/type/engine/required/instantiate.mjs +14 -0
- package/node_modules/typebox/build/type/engine/rest/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/rest/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/rest/spread.d.mts +12 -0
- package/node_modules/typebox/build/type/engine/rest/spread.mjs +19 -0
- package/node_modules/typebox/build/type/engine/return-type/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/return-type/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/return-type/instantiate.d.mts +11 -0
- package/node_modules/typebox/build/type/engine/return-type/instantiate.mjs +18 -0
- package/node_modules/typebox/build/type/engine/template-literal/create.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/template-literal/create.mjs +5 -0
- package/node_modules/typebox/build/type/engine/template-literal/decode.d.mts +30 -0
- package/node_modules/typebox/build/type/engine/template-literal/decode.mjs +87 -0
- package/node_modules/typebox/build/type/engine/template-literal/encode.d.mts +31 -0
- package/node_modules/typebox/build/type/engine/template-literal/encode.mjs +80 -0
- package/node_modules/typebox/build/type/engine/template-literal/index.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/template-literal/index.mjs +6 -0
- package/node_modules/typebox/build/type/engine/template-literal/instantiate.d.mts +9 -0
- package/node_modules/typebox/build/type/engine/template-literal/instantiate.mjs +14 -0
- package/node_modules/typebox/build/type/engine/template-literal/is-finite.d.mts +12 -0
- package/node_modules/typebox/build/type/engine/template-literal/is-finite.mjs +30 -0
- package/node_modules/typebox/build/type/engine/template-literal/is-pattern.d.mts +6 -0
- package/node_modules/typebox/build/type/engine/template-literal/is-pattern.mjs +9 -0
- package/node_modules/typebox/build/type/engine/template-literal/static.d.mts +18 -0
- package/node_modules/typebox/build/type/engine/template-literal/static.mjs +2 -0
- package/node_modules/typebox/build/type/engine/tuple/to-object.d.mts +12 -0
- package/node_modules/typebox/build/type/engine/tuple/to-object.mjs +14 -0
- package/node_modules/typebox/build/type/extends/any.d.mts +9 -0
- package/node_modules/typebox/build/type/extends/any.mjs +12 -0
- package/node_modules/typebox/build/type/extends/array.d.mts +20 -0
- package/node_modules/typebox/build/type/extends/array.mjs +21 -0
- package/node_modules/typebox/build/type/extends/async-iterator.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/async-iterator.mjs +9 -0
- package/node_modules/typebox/build/type/extends/bigint.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/bigint.mjs +9 -0
- package/node_modules/typebox/build/type/extends/boolean.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/boolean.mjs +9 -0
- package/node_modules/typebox/build/type/extends/constructor.d.mts +10 -0
- package/node_modules/typebox/build/type/extends/constructor.mjs +17 -0
- package/node_modules/typebox/build/type/extends/enum.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/enum.mjs +6 -0
- package/node_modules/typebox/build/type/extends/extends-left.d.mts +55 -0
- package/node_modules/typebox/build/type/extends/extends-left.mjs +83 -0
- package/node_modules/typebox/build/type/extends/extends-right.d.mts +25 -0
- package/node_modules/typebox/build/type/extends/extends-right.mjs +43 -0
- package/node_modules/typebox/build/type/extends/extends.d.mts +11 -0
- package/node_modules/typebox/build/type/extends/extends.mjs +15 -0
- package/node_modules/typebox/build/type/extends/function.d.mts +10 -0
- package/node_modules/typebox/build/type/extends/function.mjs +17 -0
- package/node_modules/typebox/build/type/extends/index.d.mts +2 -0
- package/node_modules/typebox/build/type/extends/index.mjs +2 -0
- package/node_modules/typebox/build/type/extends/inference.d.mts +34 -0
- package/node_modules/typebox/build/type/extends/inference.mjs +62 -0
- package/node_modules/typebox/build/type/extends/integer.d.mts +8 -0
- package/node_modules/typebox/build/type/extends/integer.mjs +10 -0
- package/node_modules/typebox/build/type/extends/intersect.d.mts +6 -0
- package/node_modules/typebox/build/type/extends/intersect.mjs +15 -0
- package/node_modules/typebox/build/type/extends/iterator.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/iterator.mjs +9 -0
- package/node_modules/typebox/build/type/extends/literal.d.mts +18 -0
- package/node_modules/typebox/build/type/extends/literal.mjs +44 -0
- package/node_modules/typebox/build/type/extends/never.d.mts +8 -0
- package/node_modules/typebox/build/type/extends/never.mjs +9 -0
- package/node_modules/typebox/build/type/extends/null.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/null.mjs +9 -0
- package/node_modules/typebox/build/type/extends/number.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/number.mjs +9 -0
- package/node_modules/typebox/build/type/extends/object.d.mts +25 -0
- package/node_modules/typebox/build/type/extends/object.mjs +87 -0
- package/node_modules/typebox/build/type/extends/parameters.d.mts +15 -0
- package/node_modules/typebox/build/type/extends/parameters.mjs +27 -0
- package/node_modules/typebox/build/type/extends/promise.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/promise.mjs +9 -0
- package/node_modules/typebox/build/type/extends/result.d.mts +27 -0
- package/node_modules/typebox/build/type/extends/result.mjs +39 -0
- package/node_modules/typebox/build/type/extends/return-type.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/return-type.mjs +9 -0
- package/node_modules/typebox/build/type/extends/string.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/string.mjs +9 -0
- package/node_modules/typebox/build/type/extends/symbol.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/symbol.mjs +9 -0
- package/node_modules/typebox/build/type/extends/template-literal.d.mts +6 -0
- package/node_modules/typebox/build/type/extends/template-literal.mjs +7 -0
- package/node_modules/typebox/build/type/extends/tuple.d.mts +25 -0
- package/node_modules/typebox/build/type/extends/tuple.mjs +60 -0
- package/node_modules/typebox/build/type/extends/undefined.d.mts +8 -0
- package/node_modules/typebox/build/type/extends/undefined.mjs +10 -0
- package/node_modules/typebox/build/type/extends/union.d.mts +11 -0
- package/node_modules/typebox/build/type/extends/union.mjs +23 -0
- package/node_modules/typebox/build/type/extends/unknown.d.mts +9 -0
- package/node_modules/typebox/build/type/extends/unknown.mjs +12 -0
- package/node_modules/typebox/build/type/extends/void.d.mts +7 -0
- package/node_modules/typebox/build/type/extends/void.mjs +9 -0
- package/node_modules/typebox/build/type/index.d.mts +5 -0
- package/node_modules/typebox/build/type/index.mjs +5 -0
- package/node_modules/typebox/build/type/script/index.d.mts +1 -0
- package/node_modules/typebox/build/type/script/index.mjs +1 -0
- package/node_modules/typebox/build/type/script/mapping.d.mts +365 -0
- package/node_modules/typebox/build/type/script/mapping.mjs +532 -0
- package/node_modules/typebox/build/type/script/parser.d.mts +260 -0
- package/node_modules/typebox/build/type/script/parser.mjs +135 -0
- package/node_modules/typebox/build/type/script/script.d.mts +17 -0
- package/node_modules/typebox/build/type/script/script.mjs +21 -0
- package/node_modules/typebox/build/type/script/token/bigint.d.mts +8 -0
- package/node_modules/typebox/build/type/script/token/bigint.mjs +14 -0
- package/node_modules/typebox/build/type/script/token/const.d.mts +11 -0
- package/node_modules/typebox/build/type/script/token/const.mjs +18 -0
- package/node_modules/typebox/build/type/script/token/ident.d.mts +16 -0
- package/node_modules/typebox/build/type/script/token/ident.mjs +26 -0
- package/node_modules/typebox/build/type/script/token/index.d.mts +12 -0
- package/node_modules/typebox/build/type/script/token/index.mjs +12 -0
- package/node_modules/typebox/build/type/script/token/integer.d.mts +11 -0
- package/node_modules/typebox/build/type/script/token/integer.mjs +19 -0
- package/node_modules/typebox/build/type/script/token/internal/char.d.mts +75 -0
- package/node_modules/typebox/build/type/script/token/internal/char.mjs +26 -0
- package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -0
- package/node_modules/typebox/build/type/script/token/internal/guard.mjs +15 -0
- package/node_modules/typebox/build/type/script/token/internal/many.d.mts +7 -0
- package/node_modules/typebox/build/type/script/token/internal/many.mjs +14 -0
- package/node_modules/typebox/build/type/script/token/internal/match.d.mts +6 -0
- package/node_modules/typebox/build/type/script/token/internal/match.mjs +11 -0
- package/node_modules/typebox/build/type/script/token/internal/optional.d.mts +5 -0
- package/node_modules/typebox/build/type/script/token/internal/optional.mjs +9 -0
- package/node_modules/typebox/build/type/script/token/internal/take.d.mts +6 -0
- package/node_modules/typebox/build/type/script/token/internal/take.mjs +34 -0
- package/node_modules/typebox/build/type/script/token/internal/trim.d.mts +19 -0
- package/node_modules/typebox/build/type/script/token/internal/trim.mjs +34 -0
- package/node_modules/typebox/build/type/script/token/number.d.mts +11 -0
- package/node_modules/typebox/build/type/script/token/number.mjs +19 -0
- package/node_modules/typebox/build/type/script/token/rest.d.mts +4 -0
- package/node_modules/typebox/build/type/script/token/rest.mjs +9 -0
- package/node_modules/typebox/build/type/script/token/span.d.mts +11 -0
- package/node_modules/typebox/build/type/script/token/span.mjs +24 -0
- package/node_modules/typebox/build/type/script/token/string.d.mts +11 -0
- package/node_modules/typebox/build/type/script/token/string.mjs +20 -0
- package/node_modules/typebox/build/type/script/token/unsigned_integer.d.mts +16 -0
- package/node_modules/typebox/build/type/script/token/unsigned_integer.mjs +26 -0
- package/node_modules/typebox/build/type/script/token/unsigned_number.d.mts +17 -0
- package/node_modules/typebox/build/type/script/token/unsigned_number.mjs +38 -0
- package/node_modules/typebox/build/type/script/token/until.d.mts +7 -0
- package/node_modules/typebox/build/type/script/token/until.mjs +24 -0
- package/node_modules/typebox/build/type/script/token/until_1.d.mts +5 -0
- package/node_modules/typebox/build/type/script/token/until_1.mjs +12 -0
- package/node_modules/typebox/build/type/types/_codec.d.mts +30 -0
- package/node_modules/typebox/build/type/types/_codec.mjs +61 -0
- package/node_modules/typebox/build/type/types/_immutable.d.mts +16 -0
- package/node_modules/typebox/build/type/types/_immutable.mjs +26 -0
- package/node_modules/typebox/build/type/types/_optional.d.mts +16 -0
- package/node_modules/typebox/build/type/types/_optional.mjs +27 -0
- package/node_modules/typebox/build/type/types/_readonly.d.mts +16 -0
- package/node_modules/typebox/build/type/types/_readonly.mjs +26 -0
- package/node_modules/typebox/build/type/types/_refine.d.mts +19 -0
- package/node_modules/typebox/build/type/types/_refine.mjs +20 -0
- package/node_modules/typebox/build/type/types/any.d.mts +10 -0
- package/node_modules/typebox/build/type/types/any.mjs +18 -0
- package/node_modules/typebox/build/type/types/array.d.mts +17 -0
- package/node_modules/typebox/build/type/types/array.mjs +24 -0
- package/node_modules/typebox/build/type/types/async-iterator.d.mts +16 -0
- package/node_modules/typebox/build/type/types/async-iterator.mjs +24 -0
- package/node_modules/typebox/build/type/types/base.d.mts +50 -0
- package/node_modules/typebox/build/type/types/base.mjs +84 -0
- package/node_modules/typebox/build/type/types/bigint.d.mts +12 -0
- package/node_modules/typebox/build/type/types/bigint.mjs +21 -0
- package/node_modules/typebox/build/type/types/boolean.d.mts +11 -0
- package/node_modules/typebox/build/type/types/boolean.mjs +17 -0
- package/node_modules/typebox/build/type/types/call.d.mts +16 -0
- package/node_modules/typebox/build/type/types/call.mjs +22 -0
- package/node_modules/typebox/build/type/types/constructor.d.mts +18 -0
- package/node_modules/typebox/build/type/types/constructor.mjs +24 -0
- package/node_modules/typebox/build/type/types/cyclic.d.mts +16 -0
- package/node_modules/typebox/build/type/types/cyclic.mjs +29 -0
- package/node_modules/typebox/build/type/types/deferred.d.mts +12 -0
- package/node_modules/typebox/build/type/types/deferred.mjs +16 -0
- package/node_modules/typebox/build/type/types/enum.d.mts +16 -0
- package/node_modules/typebox/build/type/types/enum.mjs +17 -0
- package/node_modules/typebox/build/type/types/function.d.mts +21 -0
- package/node_modules/typebox/build/type/types/function.mjs +25 -0
- package/node_modules/typebox/build/type/types/generic.d.mts +13 -0
- package/node_modules/typebox/build/type/types/generic.mjs +17 -0
- package/node_modules/typebox/build/type/types/identifier.d.mts +11 -0
- package/node_modules/typebox/build/type/types/identifier.mjs +17 -0
- package/node_modules/typebox/build/type/types/index.d.mts +48 -0
- package/node_modules/typebox/build/type/types/index.mjs +54 -0
- package/node_modules/typebox/build/type/types/infer.d.mts +15 -0
- package/node_modules/typebox/build/type/types/infer.mjs +20 -0
- package/node_modules/typebox/build/type/types/integer.d.mts +12 -0
- package/node_modules/typebox/build/type/types/integer.mjs +21 -0
- package/node_modules/typebox/build/type/types/intersect.d.mts +15 -0
- package/node_modules/typebox/build/type/types/intersect.mjs +24 -0
- package/node_modules/typebox/build/type/types/iterator.d.mts +16 -0
- package/node_modules/typebox/build/type/types/iterator.mjs +24 -0
- package/node_modules/typebox/build/type/types/literal.d.mts +31 -0
- package/node_modules/typebox/build/type/types/literal.mjs +62 -0
- package/node_modules/typebox/build/type/types/never.d.mts +12 -0
- package/node_modules/typebox/build/type/types/never.mjs +22 -0
- package/node_modules/typebox/build/type/types/null.d.mts +11 -0
- package/node_modules/typebox/build/type/types/null.mjs +17 -0
- package/node_modules/typebox/build/type/types/number.d.mts +12 -0
- package/node_modules/typebox/build/type/types/number.mjs +21 -0
- package/node_modules/typebox/build/type/types/object.d.mts +18 -0
- package/node_modules/typebox/build/type/types/object.mjs +28 -0
- package/node_modules/typebox/build/type/types/parameter.d.mts +17 -0
- package/node_modules/typebox/build/type/types/parameter.mjs +21 -0
- package/node_modules/typebox/build/type/types/promise.d.mts +16 -0
- package/node_modules/typebox/build/type/types/promise.mjs +24 -0
- package/node_modules/typebox/build/type/types/properties.d.mts +42 -0
- package/node_modules/typebox/build/type/types/properties.mjs +15 -0
- package/node_modules/typebox/build/type/types/record.d.mts +48 -0
- package/node_modules/typebox/build/type/types/record.mjs +64 -0
- package/node_modules/typebox/build/type/types/ref.d.mts +19 -0
- package/node_modules/typebox/build/type/types/ref.mjs +18 -0
- package/node_modules/typebox/build/type/types/rest.d.mts +11 -0
- package/node_modules/typebox/build/type/types/rest.mjs +17 -0
- package/node_modules/typebox/build/type/types/schema.d.mts +176 -0
- package/node_modules/typebox/build/type/types/schema.mjs +15 -0
- package/node_modules/typebox/build/type/types/static.d.mts +48 -0
- package/node_modules/typebox/build/type/types/static.mjs +3 -0
- package/node_modules/typebox/build/type/types/string.d.mts +12 -0
- package/node_modules/typebox/build/type/types/string.mjs +22 -0
- package/node_modules/typebox/build/type/types/symbol.d.mts +11 -0
- package/node_modules/typebox/build/type/types/symbol.mjs +17 -0
- package/node_modules/typebox/build/type/types/template-literal.d.mts +26 -0
- package/node_modules/typebox/build/type/types/template-literal.mjs +31 -0
- package/node_modules/typebox/build/type/types/this.d.mts +14 -0
- package/node_modules/typebox/build/type/types/this.mjs +17 -0
- package/node_modules/typebox/build/type/types/tuple.d.mts +38 -0
- package/node_modules/typebox/build/type/types/tuple.mjs +25 -0
- package/node_modules/typebox/build/type/types/undefined.d.mts +11 -0
- package/node_modules/typebox/build/type/types/undefined.mjs +17 -0
- package/node_modules/typebox/build/type/types/union.d.mts +15 -0
- package/node_modules/typebox/build/type/types/union.mjs +24 -0
- package/node_modules/typebox/build/type/types/unknown.d.mts +10 -0
- package/node_modules/typebox/build/type/types/unknown.mjs +17 -0
- package/node_modules/typebox/build/type/types/unsafe.d.mts +11 -0
- package/node_modules/typebox/build/type/types/unsafe.mjs +18 -0
- package/node_modules/typebox/build/type/types/void.d.mts +11 -0
- package/node_modules/typebox/build/type/types/void.mjs +17 -0
- package/node_modules/typebox/build/typebox.d.mts +73 -0
- package/node_modules/typebox/build/typebox.mjs +89 -0
- package/node_modules/typebox/build/value/assert/assert.d.mts +14 -0
- package/node_modules/typebox/build/value/assert/assert.mjs +28 -0
- package/node_modules/typebox/build/value/assert/index.d.mts +1 -0
- package/node_modules/typebox/build/value/assert/index.mjs +1 -0
- package/node_modules/typebox/build/value/check/check.d.mts +5 -0
- package/node_modules/typebox/build/value/check/check.mjs +11 -0
- package/node_modules/typebox/build/value/check/index.d.mts +1 -0
- package/node_modules/typebox/build/value/check/index.mjs +1 -0
- package/node_modules/typebox/build/value/clean/additional.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/additional.mjs +6 -0
- package/node_modules/typebox/build/value/clean/clean.d.mts +15 -0
- package/node_modules/typebox/build/value/clean/clean.mjs +15 -0
- package/node_modules/typebox/build/value/clean/from-array.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-array.mjs +8 -0
- package/node_modules/typebox/build/value/clean/from-base.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-base.mjs +4 -0
- package/node_modules/typebox/build/value/clean/from-cyclic.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-cyclic.mjs +6 -0
- package/node_modules/typebox/build/value/clean/from-intersect.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-intersect.mjs +26 -0
- package/node_modules/typebox/build/value/clean/from-object.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-object.mjs +31 -0
- package/node_modules/typebox/build/value/clean/from-record.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-record.mjs +32 -0
- package/node_modules/typebox/build/value/clean/from-ref.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-ref.mjs +8 -0
- package/node_modules/typebox/build/value/clean/from-tuple.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-tuple.mjs +14 -0
- package/node_modules/typebox/build/value/clean/from-type.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-type.mjs +23 -0
- package/node_modules/typebox/build/value/clean/from-union.d.mts +2 -0
- package/node_modules/typebox/build/value/clean/from-union.mjs +13 -0
- package/node_modules/typebox/build/value/clean/index.d.mts +1 -0
- package/node_modules/typebox/build/value/clean/index.mjs +1 -0
- package/node_modules/typebox/build/value/clone/clone.d.mts +5 -0
- package/node_modules/typebox/build/value/clone/clone.mjs +82 -0
- package/node_modules/typebox/build/value/clone/index.d.mts +1 -0
- package/node_modules/typebox/build/value/clone/index.mjs +1 -0
- package/node_modules/typebox/build/value/codec/callback.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/callback.mjs +25 -0
- package/node_modules/typebox/build/value/codec/decode.d.mts +12 -0
- package/node_modules/typebox/build/value/codec/decode.mjs +50 -0
- package/node_modules/typebox/build/value/codec/encode.d.mts +12 -0
- package/node_modules/typebox/build/value/codec/encode.mjs +50 -0
- package/node_modules/typebox/build/value/codec/from-array.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/from-array.mjs +38 -0
- package/node_modules/typebox/build/value/codec/from-cyclic.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/from-cyclic.mjs +8 -0
- package/node_modules/typebox/build/value/codec/from-intersect.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/from-intersect.mjs +58 -0
- package/node_modules/typebox/build/value/codec/from-object.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/from-object.mjs +45 -0
- package/node_modules/typebox/build/value/codec/from-record.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/from-record.mjs +44 -0
- package/node_modules/typebox/build/value/codec/from-ref.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/from-ref.mjs +31 -0
- package/node_modules/typebox/build/value/codec/from-tuple.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/from-tuple.mjs +35 -0
- package/node_modules/typebox/build/value/codec/from-type.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/from-type.mjs +22 -0
- package/node_modules/typebox/build/value/codec/from-union.d.mts +2 -0
- package/node_modules/typebox/build/value/codec/from-union.mjs +40 -0
- package/node_modules/typebox/build/value/codec/has.d.mts +5 -0
- package/node_modules/typebox/build/value/codec/has.mjs +93 -0
- package/node_modules/typebox/build/value/codec/index.d.mts +3 -0
- package/node_modules/typebox/build/value/codec/index.mjs +3 -0
- package/node_modules/typebox/build/value/convert/convert.d.mts +13 -0
- package/node_modules/typebox/build/value/convert/convert.mjs +15 -0
- package/node_modules/typebox/build/value/convert/from-additional.d.mts +6 -0
- package/node_modules/typebox/build/value/convert/from-additional.mjs +18 -0
- package/node_modules/typebox/build/value/convert/from-array.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-array.mjs +7 -0
- package/node_modules/typebox/build/value/convert/from-base.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-base.mjs +4 -0
- package/node_modules/typebox/build/value/convert/from-bigint.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-bigint.mjs +6 -0
- package/node_modules/typebox/build/value/convert/from-boolean.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-boolean.mjs +6 -0
- package/node_modules/typebox/build/value/convert/from-cyclic.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-cyclic.mjs +6 -0
- package/node_modules/typebox/build/value/convert/from-enum.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-enum.mjs +7 -0
- package/node_modules/typebox/build/value/convert/from-integer.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-integer.mjs +6 -0
- package/node_modules/typebox/build/value/convert/from-intersect.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-intersect.mjs +8 -0
- package/node_modules/typebox/build/value/convert/from-literal.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-literal.mjs +44 -0
- package/node_modules/typebox/build/value/convert/from-null.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-null.mjs +6 -0
- package/node_modules/typebox/build/value/convert/from-number.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-number.mjs +6 -0
- package/node_modules/typebox/build/value/convert/from-object.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-object.mjs +28 -0
- package/node_modules/typebox/build/value/convert/from-record.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-record.mjs +23 -0
- package/node_modules/typebox/build/value/convert/from-ref.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-ref.mjs +8 -0
- package/node_modules/typebox/build/value/convert/from-string.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-string.mjs +6 -0
- package/node_modules/typebox/build/value/convert/from-template-literal.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-template-literal.mjs +7 -0
- package/node_modules/typebox/build/value/convert/from-tuple.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-tuple.mjs +11 -0
- package/node_modules/typebox/build/value/convert/from-type.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-type.mjs +45 -0
- package/node_modules/typebox/build/value/convert/from-undefined.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-undefined.mjs +6 -0
- package/node_modules/typebox/build/value/convert/from-union.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-union.mjs +13 -0
- package/node_modules/typebox/build/value/convert/from-void.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/from-void.mjs +6 -0
- package/node_modules/typebox/build/value/convert/index.d.mts +1 -0
- package/node_modules/typebox/build/value/convert/index.mjs +1 -0
- package/node_modules/typebox/build/value/convert/try/index.d.mts +1 -0
- package/node_modules/typebox/build/value/convert/try/index.mjs +1 -0
- package/node_modules/typebox/build/value/convert/try/try-array.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/try/try-array.mjs +6 -0
- package/node_modules/typebox/build/value/convert/try/try-bigint.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/try/try-bigint.mjs +45 -0
- package/node_modules/typebox/build/value/convert/try/try-boolean.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/try/try-boolean.mjs +41 -0
- package/node_modules/typebox/build/value/convert/try/try-null.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/try/try-null.mjs +44 -0
- package/node_modules/typebox/build/value/convert/try/try-number.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/try/try-number.mjs +44 -0
- package/node_modules/typebox/build/value/convert/try/try-result.d.mts +8 -0
- package/node_modules/typebox/build/value/convert/try/try-result.mjs +17 -0
- package/node_modules/typebox/build/value/convert/try/try-string.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/try/try-string.mjs +12 -0
- package/node_modules/typebox/build/value/convert/try/try-undefined.d.mts +2 -0
- package/node_modules/typebox/build/value/convert/try/try-undefined.mjs +44 -0
- package/node_modules/typebox/build/value/convert/try/try.d.mts +8 -0
- package/node_modules/typebox/build/value/convert/try/try.mjs +8 -0
- package/node_modules/typebox/build/value/create/create.d.mts +5 -0
- package/node_modules/typebox/build/value/create/create.mjs +11 -0
- package/node_modules/typebox/build/value/create/error.d.mts +5 -0
- package/node_modules/typebox/build/value/create/error.mjs +7 -0
- package/node_modules/typebox/build/value/create/from-array.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-array.mjs +10 -0
- package/node_modules/typebox/build/value/create/from-async-iterator.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-async-iterator.mjs +5 -0
- package/node_modules/typebox/build/value/create/from-base.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-base.mjs +4 -0
- package/node_modules/typebox/build/value/create/from-bigint.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-bigint.mjs +7 -0
- package/node_modules/typebox/build/value/create/from-boolean.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-boolean.mjs +4 -0
- package/node_modules/typebox/build/value/create/from-constructor.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-constructor.mjs +10 -0
- package/node_modules/typebox/build/value/create/from-cyclic.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-cyclic.mjs +6 -0
- package/node_modules/typebox/build/value/create/from-default.d.mts +3 -0
- package/node_modules/typebox/build/value/create/from-default.mjs +10 -0
- package/node_modules/typebox/build/value/create/from-enum.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-enum.mjs +6 -0
- package/node_modules/typebox/build/value/create/from-function.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-function.mjs +6 -0
- package/node_modules/typebox/build/value/create/from-integer.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-integer.mjs +8 -0
- package/node_modules/typebox/build/value/create/from-intersect.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-intersect.mjs +8 -0
- package/node_modules/typebox/build/value/create/from-iterator.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-iterator.mjs +5 -0
- package/node_modules/typebox/build/value/create/from-literal.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-literal.mjs +4 -0
- package/node_modules/typebox/build/value/create/from-never.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-never.mjs +5 -0
- package/node_modules/typebox/build/value/create/from-null.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-null.mjs +4 -0
- package/node_modules/typebox/build/value/create/from-number.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-number.mjs +8 -0
- package/node_modules/typebox/build/value/create/from-object.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-object.mjs +9 -0
- package/node_modules/typebox/build/value/create/from-promise.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-promise.mjs +5 -0
- package/node_modules/typebox/build/value/create/from-record.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-record.mjs +8 -0
- package/node_modules/typebox/build/value/create/from-ref.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-ref.mjs +9 -0
- package/node_modules/typebox/build/value/create/from-string.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-string.mjs +9 -0
- package/node_modules/typebox/build/value/create/from-symbol.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-symbol.mjs +4 -0
- package/node_modules/typebox/build/value/create/from-template-literal.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-template-literal.mjs +11 -0
- package/node_modules/typebox/build/value/create/from-tuple.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-tuple.mjs +5 -0
- package/node_modules/typebox/build/value/create/from-type.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-type.mjs +69 -0
- package/node_modules/typebox/build/value/create/from-undefined.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-undefined.mjs +4 -0
- package/node_modules/typebox/build/value/create/from-union.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-union.mjs +9 -0
- package/node_modules/typebox/build/value/create/from-void.d.mts +2 -0
- package/node_modules/typebox/build/value/create/from-void.mjs +4 -0
- package/node_modules/typebox/build/value/create/index.d.mts +2 -0
- package/node_modules/typebox/build/value/create/index.mjs +2 -0
- package/node_modules/typebox/build/value/default/default.d.mts +13 -0
- package/node_modules/typebox/build/value/default/default.mjs +15 -0
- package/node_modules/typebox/build/value/default/from-array.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-array.mjs +12 -0
- package/node_modules/typebox/build/value/default/from-base.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-base.mjs +5 -0
- package/node_modules/typebox/build/value/default/from-cyclic.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-cyclic.mjs +7 -0
- package/node_modules/typebox/build/value/default/from-default.d.mts +3 -0
- package/node_modules/typebox/build/value/default/from-default.mjs +13 -0
- package/node_modules/typebox/build/value/default/from-intersect.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-intersect.mjs +9 -0
- package/node_modules/typebox/build/value/default/from-object.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-object.mjs +32 -0
- package/node_modules/typebox/build/value/default/from-record.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-record.mjs +26 -0
- package/node_modules/typebox/build/value/default/from-ref.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-ref.mjs +9 -0
- package/node_modules/typebox/build/value/default/from-tuple.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-tuple.mjs +14 -0
- package/node_modules/typebox/build/value/default/from-type.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-type.mjs +27 -0
- package/node_modules/typebox/build/value/default/from-union.d.mts +2 -0
- package/node_modules/typebox/build/value/default/from-union.mjs +14 -0
- package/node_modules/typebox/build/value/default/index.d.mts +1 -0
- package/node_modules/typebox/build/value/default/index.mjs +1 -0
- package/node_modules/typebox/build/value/delta/diff.d.mts +10 -0
- package/node_modules/typebox/build/value/delta/diff.mjs +129 -0
- package/node_modules/typebox/build/value/delta/edit.d.mts +24 -0
- package/node_modules/typebox/build/value/delta/edit.mjs +17 -0
- package/node_modules/typebox/build/value/delta/index.d.mts +3 -0
- package/node_modules/typebox/build/value/delta/index.mjs +3 -0
- package/node_modules/typebox/build/value/delta/patch.d.mts +8 -0
- package/node_modules/typebox/build/value/delta/patch.mjs +42 -0
- package/node_modules/typebox/build/value/equal/equal.d.mts +2 -0
- package/node_modules/typebox/build/value/equal/equal.mjs +6 -0
- package/node_modules/typebox/build/value/equal/index.d.mts +1 -0
- package/node_modules/typebox/build/value/equal/index.mjs +1 -0
- package/node_modules/typebox/build/value/errors/errors.d.mts +16 -0
- package/node_modules/typebox/build/value/errors/errors.mjs +17 -0
- package/node_modules/typebox/build/value/errors/index.d.mts +1 -0
- package/node_modules/typebox/build/value/errors/index.mjs +1 -0
- package/node_modules/typebox/build/value/hash/hash.d.mts +6 -0
- package/node_modules/typebox/build/value/hash/hash.mjs +10 -0
- package/node_modules/typebox/build/value/hash/index.d.mts +1 -0
- package/node_modules/typebox/build/value/hash/index.mjs +1 -0
- package/node_modules/typebox/build/value/index.d.mts +21 -0
- package/node_modules/typebox/build/value/index.mjs +30 -0
- package/node_modules/typebox/build/value/mutate/error.d.mts +3 -0
- package/node_modules/typebox/build/value/mutate/error.mjs +6 -0
- package/node_modules/typebox/build/value/mutate/from-array.d.mts +2 -0
- package/node_modules/typebox/build/value/mutate/from-array.mjs +16 -0
- package/node_modules/typebox/build/value/mutate/from-object.d.mts +2 -0
- package/node_modules/typebox/build/value/mutate/from-object.mjs +27 -0
- package/node_modules/typebox/build/value/mutate/from-unknown.d.mts +2 -0
- package/node_modules/typebox/build/value/mutate/from-unknown.mjs +7 -0
- package/node_modules/typebox/build/value/mutate/from-value.d.mts +2 -0
- package/node_modules/typebox/build/value/mutate/from-value.mjs +12 -0
- package/node_modules/typebox/build/value/mutate/index.d.mts +1 -0
- package/node_modules/typebox/build/value/mutate/index.mjs +1 -0
- package/node_modules/typebox/build/value/mutate/mutate.d.mts +9 -0
- package/node_modules/typebox/build/value/mutate/mutate.mjs +39 -0
- package/node_modules/typebox/build/value/parse/index.d.mts +1 -0
- package/node_modules/typebox/build/value/parse/index.mjs +1 -0
- package/node_modules/typebox/build/value/parse/parse.d.mts +11 -0
- package/node_modules/typebox/build/value/parse/parse.mjs +47 -0
- package/node_modules/typebox/build/value/pipeline/index.d.mts +1 -0
- package/node_modules/typebox/build/value/pipeline/index.mjs +1 -0
- package/node_modules/typebox/build/value/pipeline/pipeline.d.mts +10 -0
- package/node_modules/typebox/build/value/pipeline/pipeline.mjs +15 -0
- package/node_modules/typebox/build/value/pointer/index.d.mts +1 -0
- package/node_modules/typebox/build/value/pointer/index.mjs +1 -0
- package/node_modules/typebox/build/value/repair/error.d.mts +7 -0
- package/node_modules/typebox/build/value/repair/error.mjs +8 -0
- package/node_modules/typebox/build/value/repair/from-array.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-array.mjs +39 -0
- package/node_modules/typebox/build/value/repair/from-base.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-base.mjs +8 -0
- package/node_modules/typebox/build/value/repair/from-enum.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-enum.mjs +7 -0
- package/node_modules/typebox/build/value/repair/from-intersect.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-intersect.mjs +8 -0
- package/node_modules/typebox/build/value/repair/from-object.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-object.mjs +33 -0
- package/node_modules/typebox/build/value/repair/from-record.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-record.mjs +33 -0
- package/node_modules/typebox/build/value/repair/from-ref.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-ref.mjs +9 -0
- package/node_modules/typebox/build/value/repair/from-template-literal.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-template-literal.mjs +7 -0
- package/node_modules/typebox/build/value/repair/from-tuple.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-tuple.mjs +12 -0
- package/node_modules/typebox/build/value/repair/from-type.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-type.mjs +86 -0
- package/node_modules/typebox/build/value/repair/from-union.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-union.mjs +24 -0
- package/node_modules/typebox/build/value/repair/from-unknown.d.mts +2 -0
- package/node_modules/typebox/build/value/repair/from-unknown.mjs +12 -0
- package/node_modules/typebox/build/value/repair/index.d.mts +1 -0
- package/node_modules/typebox/build/value/repair/index.mjs +1 -0
- package/node_modules/typebox/build/value/repair/repair.d.mts +17 -0
- package/node_modules/typebox/build/value/repair/repair.mjs +20 -0
- package/node_modules/typebox/build/value/shared/index.d.mts +3 -0
- package/node_modules/typebox/build/value/shared/index.mjs +4 -0
- package/node_modules/typebox/build/value/shared/optional-undefined.d.mts +2 -0
- package/node_modules/typebox/build/value/shared/optional-undefined.mjs +15 -0
- package/node_modules/typebox/build/value/shared/union-priority-sort.d.mts +3 -0
- package/node_modules/typebox/build/value/shared/union-priority-sort.mjs +36 -0
- package/node_modules/typebox/build/value/shared/union-score-select.d.mts +3 -0
- package/node_modules/typebox/build/value/shared/union-score-select.mjs +51 -0
- package/node_modules/typebox/build/value/value.d.mts +16 -0
- package/node_modules/typebox/build/value/value.mjs +16 -0
- package/node_modules/typebox/license +23 -0
- package/node_modules/typebox/package.json +87 -0
- package/node_modules/typebox/readme.md +361 -0
- package/package.json +1 -40
- package/skills/giver/SKILL.md +24 -9
|
@@ -0,0 +1,1380 @@
|
|
|
1
|
+
<p>
|
|
2
|
+
<img src="https://raw.githubusercontent.com/nicobailon/pi-subagents/main/banner.png" alt="pi-subagents" width="1100">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
# pi-subagents
|
|
6
|
+
|
|
7
|
+
`pi-subagents` lets Pi delegate work to focused child agents. Use it for code review, scouting, implementation, parallel audits, saved workflows, background jobs, and anything else that benefits from a second or third set of model eyes.
|
|
8
|
+
|
|
9
|
+
https://github.com/user-attachments/assets/702554ec-faaf-4635-80aa-fb5d6e292fd1
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pi install npm:pi-subagents
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
That is the only required step. You can add optional pieces later.
|
|
18
|
+
|
|
19
|
+
## Try this first
|
|
20
|
+
|
|
21
|
+
You do not need to create agents, write config, or learn slash commands. After installing, ask Pi for delegation in plain language:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
Use reviewer to review this diff.
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
Ask oracle for a second opinion on my current plan.
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
Use scout to understand this code based on our discussion then ask me clarification questions.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
Run parallel reviewers: one for correctness, one for tests, and one for unnecessary complexity.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
That is enough to start.
|
|
40
|
+
|
|
41
|
+
## What happens
|
|
42
|
+
|
|
43
|
+
Pi is the parent session. A subagent is a focused child Pi session with its own job.
|
|
44
|
+
|
|
45
|
+
When you ask for a subagent, Pi starts the child, gives it the task, and brings the result back. Foreground runs stream in the conversation. Background runs keep working and can be checked later.
|
|
46
|
+
|
|
47
|
+
Installing the extension does not start an automatic reviewer in the background. It gives Pi a delegation tool. If you want every implementation reviewed, say that in your prompt or put it in your project instructions:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
When you finish implementing, run a reviewer subagent before summarizing.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Good first prompts
|
|
54
|
+
|
|
55
|
+
These cover most day-to-day use:
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
Ask oracle for a second opinion on my current plan. Challenge assumptions and tell me what I might be missing.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
Use oracle to help solve this hard bug. Have it inspect the code and propose the best next move before we edit anything.
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
Run parallel reviewers on this diff. I want one focused on correctness, one on tests, and one on unnecessary complexity.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
Have worker implement this approved plan. Afterward, run parallel reviewers, summarize their feedback, and apply the fixes that make sense.
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
Run a review loop on this change until reviewers stop finding fixes worth doing, with a max of 3 rounds.
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
Use scout to understand the auth flow, then have planner turn that into an implementation plan.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Those are ordinary Pi requests. Pi decides whether to call `subagent`, which agent to use, and whether a chain or parallel run makes sense.
|
|
82
|
+
|
|
83
|
+
## Common workflows
|
|
84
|
+
|
|
85
|
+
| Want | Ask naturally |
|
|
86
|
+
|------|---------------|
|
|
87
|
+
| Get a second opinion | “Ask oracle to review this plan and challenge assumptions.” |
|
|
88
|
+
| Solve a hard problem | “Use oracle to investigate this bug before we edit.” |
|
|
89
|
+
| Review a diff | “Use reviewer to review this diff.” |
|
|
90
|
+
| Run parallel reviewers | “Run reviewers for correctness, tests, and cleanup.” |
|
|
91
|
+
| Implement then review | “Implement this, then review it.” |
|
|
92
|
+
| Review until clean | “Run a review loop on this change with a max of 3 rounds.” |
|
|
93
|
+
| Execute a plan carefully | “Have worker implement this approved plan, then run reviewers and apply the feedback.” |
|
|
94
|
+
| Scout before planning | “Use scout to inspect the auth flow before planning.” |
|
|
95
|
+
| Run in the background | “Run this in the background.” |
|
|
96
|
+
| Browse agents | “Show me the available subagents.” |
|
|
97
|
+
| Use a saved workflow | “Run the review chain on this branch.” |
|
|
98
|
+
| See running work | “Show active async runs.” |
|
|
99
|
+
| Check setup | “Check whether subagents are configured correctly.” |
|
|
100
|
+
|
|
101
|
+
The extension ships with builtin agents you can use immediately.
|
|
102
|
+
|
|
103
|
+
## Builtin agents in plain English
|
|
104
|
+
|
|
105
|
+
| Agent | Use it when you want... |
|
|
106
|
+
|-------|--------------------------|
|
|
107
|
+
| `scout` | Fast local codebase recon: relevant files, entry points, data flow, risks, and where another agent should start. |
|
|
108
|
+
| `researcher` | Web/docs research with sources: official docs, specs, benchmarks, recent changes, and a concise research brief. |
|
|
109
|
+
| `planner` | A concrete implementation plan from existing context. It should read and plan, not edit code. |
|
|
110
|
+
| `worker` | Implementation work, including approved oracle handoffs. It edits files, validates, and escalates unapproved decisions instead of guessing. |
|
|
111
|
+
| `reviewer` | Code review and small fixes. It checks the implementation against the task/plan, tests, edge cases, and simplicity. |
|
|
112
|
+
| `context-builder` | A stronger setup pass before planning: gathers code context and writes handoff material such as `context.md` and `meta-prompt.md`. |
|
|
113
|
+
| `oracle` | A second opinion before acting. It challenges assumptions, catches drift, and recommends the safest next move without editing. |
|
|
114
|
+
| `delegate` | A lightweight general delegate when you want a child agent that behaves close to the parent session. |
|
|
115
|
+
|
|
116
|
+
A simple rule of thumb: use `scout` before you understand the code, `researcher` before you trust external facts, `planner` before a bigger change, `worker` to implement, `reviewer` to check, and `oracle` when the decision itself feels risky.
|
|
117
|
+
|
|
118
|
+
## Changing an agent's model
|
|
119
|
+
|
|
120
|
+
Builtin agents inherit your current Pi default model by default. This keeps new installs from depending on a provider you may not have configured. If you want every subagent without its own model to use a different default, set `subagents.defaultModel`. If you want a role to use a specific model, set an override instead of copying the bundled agent file.
|
|
121
|
+
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"defaultModel": "deepseek-v4-pro",
|
|
125
|
+
"subagents": {
|
|
126
|
+
"defaultModel": "deepseek-v4-flash",
|
|
127
|
+
"agentOverrides": {
|
|
128
|
+
"oracle": {
|
|
129
|
+
"model": "deepseek-v4-pro"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
For one run, put the override in the command:
|
|
137
|
+
|
|
138
|
+
```text
|
|
139
|
+
/run reviewer[model=anthropic/claude-sonnet-4:high] "Review this diff"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
For a persistent override, edit settings. This example pins the reviewer everywhere, adds a backup model for provider failures, and keeps the other builtins on your normal default model:
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"subagents": {
|
|
147
|
+
"agentOverrides": {
|
|
148
|
+
"reviewer": {
|
|
149
|
+
"model": "anthropic/claude-sonnet-4",
|
|
150
|
+
"thinking": "high",
|
|
151
|
+
"fallbackModels": ["openai/gpt-5-mini"]
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Use `~/.pi/agent/settings.json` for a user override or the project config settings file (`.pi/settings.json` in standard Pi) for a project override. `subagents.defaultModel` applies to builtin, package, user, and project agents that do not set `model` in frontmatter. Per-run model overrides and `agentOverrides.<name>.model` still win, and explicit agent frontmatter still wins over the global default. The same `agentOverrides` block can change `tools`, `skills`, inherited context, prompt text, or disable a builtin. Matching user and project agents also receive override fields that their frontmatter leaves unset, so a shared project config agent can keep the persona while local settings choose the model.
|
|
159
|
+
|
|
160
|
+
If your provider rejects model IDs with thinking suffixes, set `subagents.disableThinking: true` in user or project settings. That clears bundled builtin thinking defaults in one place; an explicit higher-precedence `agentOverrides.<name>.thinking` value can opt a role back in.
|
|
161
|
+
|
|
162
|
+
To inspect what `pi-subagents` has actually loaded right now, use:
|
|
163
|
+
|
|
164
|
+
```text
|
|
165
|
+
/subagents-models
|
|
166
|
+
/subagents-models reviewer
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
That reports the live runtime mapping, which can differ from settings on disk until you reload Pi.
|
|
170
|
+
|
|
171
|
+
## Where running subagents show up
|
|
172
|
+
|
|
173
|
+
Foreground runs stream progress in the conversation while they run.
|
|
174
|
+
|
|
175
|
+
Background runs keep working after control returns to you. Inspect active runs with `subagent({ action: "status" })`, or a specific run with `subagent({ action: "status", id: "..." })`.
|
|
176
|
+
|
|
177
|
+
They also show a compact async widget and send completion notifications. Parallel background runs show per-agent progress instead of fake chain steps. Chains with parallel groups keep their grouped shape in progress and results, so failed or paused agents stay visible next to completed ones. When a child is explicitly allowed to fan out with `tools: subagent`, its nested runs appear under that parent child in the main status tree instead of being hidden inside the child process.
|
|
178
|
+
|
|
179
|
+
You can also ask naturally:
|
|
180
|
+
|
|
181
|
+
```text
|
|
182
|
+
Show me the current async runs.
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Async runs also write machine-readable lifecycle artifacts for observability and workflow gates. For a top-level async run, `details.asyncDir` points at a directory containing `status.json`, `events.jsonl`, `output-<index>.log`, and `subagent-log-<runId>.md`; the final summary is written to Pi's subagent results directory as `<runId>.json`. Nested async runs use the same shape under the nested async root and are discoverable through status projections that read the nested-run registry. These files are append/update artifacts only; interactive foreground behavior is unchanged.
|
|
186
|
+
|
|
187
|
+
The stable v1 status/result fields are `lifecycleArtifactVersion`, `runId`/`id`, `sessionId`, `mode`, `state`, `startedAt`, `lastUpdate`, `endedAt`, `durationMs`, `cwd`, `asyncDir`, `sessionFile`, `outputFile`, `workflowGraph`, `steps`, `results`, `totalTokens`, `totalCost`, `model`/`attemptedModels`/`modelAttempts`, `toolCount`, `turnCount`, and nested `children` when a child is allowed to launch subagents. `events.jsonl` records lifecycle transitions such as `subagent.run.started`, `subagent.step.started`, `subagent.step.completed`/`failed`/`paused`, control attention events, nested interrupt failures, and `subagent.run.completed`; run boundary events include the lifecycle artifact version. Consumers should read these JSON files instead of scraping terminal output; unknown fields and event types should be ignored for forward compatibility.
|
|
188
|
+
|
|
189
|
+
If something feels misconfigured, run:
|
|
190
|
+
|
|
191
|
+
```text
|
|
192
|
+
/subagents-doctor
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
or ask:
|
|
196
|
+
|
|
197
|
+
```text
|
|
198
|
+
Check whether subagents and intercom are set up correctly.
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Recommended orchestration pattern (scaffolding)
|
|
202
|
+
|
|
203
|
+
Use orchestration as parent-agent guidance, not as a runtime workflow mode. For implementation work, the recommended loop is:
|
|
204
|
+
|
|
205
|
+
```text
|
|
206
|
+
clarify → planner → worker → fresh reviewers → worker
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Use the optional prompt shortcuts below when you want the pattern to be repeatable.
|
|
210
|
+
|
|
211
|
+
Packaged `planner`, `worker`, and `oracle` default to forked context when a launch omits `context`; pass `context: "fresh"` when you intentionally want a fresh child run.
|
|
212
|
+
|
|
213
|
+
Child-safety boundaries are enforced at runtime. Spawned child sessions do not receive the bundled `pi-subagents` skill, and forked child context filtering removes parent-only subagent artifacts (including old hidden orchestration-instruction messages, slash/status/control messages, and prior parent `subagent` tool-call/tool-result history) while preserving ordinary prose and unrelated tool calls/results. By default, children do not register the `subagent` tool and receive boundary instructions that they are not the parent orchestrator and must not propose or run subagents. The explicit exception is an agent whose resolved builtin `tools` includes `subagent`; that child gets a child-safe `subagent` tool for the fanout work the parent assigned, still bounded by `maxSubagentDepth`.
|
|
214
|
+
|
|
215
|
+
## Optional shortcuts
|
|
216
|
+
|
|
217
|
+
The package includes reusable prompt templates for common workflows. You do not need them, but they are handy when you want the same shape every time:
|
|
218
|
+
|
|
219
|
+
| Prompt | Use it for |
|
|
220
|
+
|--------|------------|
|
|
221
|
+
| `/parallel-review` | Launch fresh-context reviewers with distinct angles, then synthesize what to fix. |
|
|
222
|
+
| `/review-loop` | Run parent-controlled worker, reviewer, and fix-worker cycles until clean or capped. |
|
|
223
|
+
| `/parallel-research` | Combine `researcher` and `scout` for external evidence, local code context, and practical tradeoffs. |
|
|
224
|
+
| `/parallel-context-build` | Run `context-builder` agents in parallel to produce planning handoff context and meta-prompts. |
|
|
225
|
+
| `/parallel-handoff-plan` | Combine external research and `context-builder` passes into an implementation handoff plan and meta-prompt. |
|
|
226
|
+
| `/gather-context-and-clarify` | Scout/research first, then ask the user the clarification questions that matter. |
|
|
227
|
+
| `/parallel-cleanup` | Run review-only cleanup passes after implementation. |
|
|
228
|
+
|
|
229
|
+
Add `autofix` to `/parallel-review` or `/parallel-cleanup` to apply only the synthesized fixes worth doing now after reviewers return.
|
|
230
|
+
|
|
231
|
+
## Optional pi-intercom companion
|
|
232
|
+
|
|
233
|
+
`pi-subagents` works without `pi-intercom`. Install `pi-intercom` only if you want child agents to talk back to the parent Pi session while they are running.
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
pi install npm:pi-intercom
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
When `pi-intercom` is not active, `pi-subagents` may recommend it at session start, in `subagent({ action: "list" })`, and in `/subagents-doctor`. The recommendation is visible to the assistant so it can offer to run the install command or hide the recommendation after you approve that action.
|
|
240
|
+
|
|
241
|
+
Most users do not call `intercom` directly. After `pi-intercom` is installed, `pi-subagents` can automatically give child agents a private coordination channel back to the parent session. The bridge recognizes the normal `pi install npm:pi-intercom` package install as well as legacy local extension checkouts.
|
|
242
|
+
|
|
243
|
+
Use it for work where the child might need a decision instead of guessing:
|
|
244
|
+
|
|
245
|
+
```text
|
|
246
|
+
Run this implementation in the background. If the worker gets blocked or needs a product decision, have it ask me through intercom.
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
```text
|
|
250
|
+
Ask oracle to review this plan. If it sees a decision I need to make, have it ask me instead of assuming.
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
The child can use one dedicated coordination tool:
|
|
254
|
+
|
|
255
|
+
- `contact_supervisor`: the child contacts the parent/supervisor session that delegated the task. Use `reason: "need_decision"` for blocking decisions or clarification, and `reason: "progress_update"` for short non-blocking updates when a discovery changes the plan. Do not ask for clarification when the only conflict is review-only/no-edit versus progress-writing or artifact-writing instructions; no-edit wins.
|
|
256
|
+
|
|
257
|
+
Child-side routine completion handoffs are still not expected. With the intercom bridge active, parent-side `pi-subagents` sends grouped completion results through `pi-intercom`: one grouped message per foreground parent `subagent` run and one per completed async result file. Acknowledged foreground delivery returns a compact receipt with artifact/session paths; if unacknowledged, the normal full output is preserved. Grouped messages include child intercom targets, full child summaries, and compact nested child summaries under the parent child that launched them.
|
|
258
|
+
|
|
259
|
+
If a child appears stalled, needs-attention notices can show up in the parent session with useful next actions, such as checking `subagent({ action: "status" })`, interrupting the run, or nudging the child.
|
|
260
|
+
|
|
261
|
+
If messages do not show up, run:
|
|
262
|
+
|
|
263
|
+
```text
|
|
264
|
+
/subagents-doctor
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
For normal use, you do not need to configure anything. Advanced users can tune the bridge with `intercomBridge` in the configuration section below.
|
|
268
|
+
|
|
269
|
+
At this point, you know enough to use the plugin. The rest of this README is reference material for exact command syntax, custom agents, saved chains, worktrees, and configuration.
|
|
270
|
+
|
|
271
|
+
## Optional pi-permission-system integration
|
|
272
|
+
|
|
273
|
+
[`@gotgenes/pi-permission-system`](https://github.com/gotgenes/pi-packages/tree/main/packages/pi-permission-system)
|
|
274
|
+
adds a second policy layer — `allow` / `ask` / `deny` — on top of
|
|
275
|
+
pi-subagents' visibility-based tool restrictions.
|
|
276
|
+
|
|
277
|
+
The two compose independently:
|
|
278
|
+
|
|
279
|
+
| Layer | What it controls | Who provides it |
|
|
280
|
+
|-------|-----------------|-----------------|
|
|
281
|
+
| Visibility | Which tools are registered before the session starts | pi-subagents (`tools:` frontmatter key) |
|
|
282
|
+
| Policy | Runtime allow/ask/deny decisions on every tool call, bash command, MCP operation | pi-permission-system (`permission:` frontmatter key) |
|
|
283
|
+
|
|
284
|
+
### Installing
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
pi install npm:@gotgenes/pi-permission-system
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
No configuration is required for the integration — it is automatic when both
|
|
291
|
+
extensions are installed. pi-subagents passes the parent session identity
|
|
292
|
+
to child processes via the `PI_SUBAGENT_PARENT_SESSION` environment variable,
|
|
293
|
+
which the permission system uses to forward `ask` prompts from headless
|
|
294
|
+
subagent processes back to the parent session's UI.
|
|
295
|
+
|
|
296
|
+
### Per-agent permission frontmatter
|
|
297
|
+
|
|
298
|
+
Agent files can include a `permission:` block alongside the standard `tools:`
|
|
299
|
+
key. The permission system reads it independently:
|
|
300
|
+
|
|
301
|
+
```yaml
|
|
302
|
+
---
|
|
303
|
+
name: worker
|
|
304
|
+
tools: bash,read,write,edit
|
|
305
|
+
permission:
|
|
306
|
+
"*": ask
|
|
307
|
+
read: allow
|
|
308
|
+
bash:
|
|
309
|
+
"*": ask
|
|
310
|
+
"git *": allow
|
|
311
|
+
"npm test": allow
|
|
312
|
+
---
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
In this example the subagent extension restricts visibility to four tools,
|
|
316
|
+
and the permission system then applies `ask`/`allow` policy within that
|
|
317
|
+
visible set. Both keys coexist without collision.
|
|
318
|
+
|
|
319
|
+
### Checking the integration
|
|
320
|
+
|
|
321
|
+
Run `/subagents-doctor` to check the permission system status.
|
|
322
|
+
If `ask` prompts from children are not reaching the parent UI, verify both
|
|
323
|
+
extensions are installed:
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
pi list
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### How it works
|
|
330
|
+
|
|
331
|
+
At session start, the interactive (root) session records its own identity in
|
|
332
|
+
`PI_SUBAGENT_PARENT_SESSION`. When pi-subagents launches a child, it passes the
|
|
333
|
+
launching session's identity to that child explicitly, falling back to the
|
|
334
|
+
inherited environment variable. When the permission system inside a child
|
|
335
|
+
encounters an `ask` permission, it reads this variable to locate the parent
|
|
336
|
+
session and forwards the confirmation request there.
|
|
337
|
+
|
|
338
|
+
This resolves an interactive prompt only when the parent it points at is the
|
|
339
|
+
interactive session — i.e. for the direct children of the root session. A
|
|
340
|
+
nested child's parent is itself a headless subagent process with no UI to
|
|
341
|
+
surface the prompt, so `ask` policies are best placed on agents that run as
|
|
342
|
+
direct children of the interactive session.
|
|
343
|
+
|
|
344
|
+
## Direct commands
|
|
345
|
+
|
|
346
|
+
Skip this section until you want exact syntax.
|
|
347
|
+
|
|
348
|
+
| Command | Description |
|
|
349
|
+
|---------|-------------|
|
|
350
|
+
| `/run <agent> [task]` | Run one agent; omit the task for self-contained agents |
|
|
351
|
+
| `/chain agent1 "task1" -> agent2 "task2"` | Run agents in sequence |
|
|
352
|
+
| `/chain scout "scan" -> (reviewer "A" \| reviewer "B") -> writer "fix"` | Run a chain with a static parallel group inline |
|
|
353
|
+
| `/parallel agent1 "task1" -> agent2 "task2"` | Run agents in parallel |
|
|
354
|
+
| `/run-chain <chainName> -- <task>` | Launch a saved `.chain.md` or `.chain.json` workflow |
|
|
355
|
+
| `/subagent-cost` | Show parent plus child subagent token usage and cost for this session |
|
|
356
|
+
| `/subagents-doctor` | Show read-only setup diagnostics |
|
|
357
|
+
| `/subagents-models [agent]` | Show the runtime-loaded builtin model mapping, optionally filtered to one builtin |
|
|
358
|
+
| `/subagents-profiles` | List saved subagent profiles from `~/.pi/agent/profiles/pi-subagents/` |
|
|
359
|
+
| `/subagents-load-profile <name>` | Replace only `settings.subagents` with a saved profile and optionally switch this session to the profile worker model |
|
|
360
|
+
| `/subagents-refresh-provider-models <provider> [--force]` | Create or refresh the cached provider model catalog |
|
|
361
|
+
| `/subagents-generate-profiles <provider>` | Generate `<provider>.quota.json` and `<provider>.quality.json` profiles |
|
|
362
|
+
| `/subagents-check-profile <name>` | Check a saved profile against the current registry and live model probes |
|
|
363
|
+
|
|
364
|
+
Commands validate agent names locally, support tab completion, and send results back into the conversation.
|
|
365
|
+
|
|
366
|
+
### Profiles and provider model catalogs
|
|
367
|
+
|
|
368
|
+
Profiles are stored under:
|
|
369
|
+
|
|
370
|
+
```text
|
|
371
|
+
~/.pi/agent/profiles/pi-subagents/
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
Provider model catalogs are cached under:
|
|
375
|
+
|
|
376
|
+
```text
|
|
377
|
+
~/.pi/agent/profiles/pi-subagents/providers/
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
Use the profile workflow like this:
|
|
381
|
+
|
|
382
|
+
```text
|
|
383
|
+
/subagents-refresh-provider-models openai-codex
|
|
384
|
+
/subagents-generate-profiles openai-codex
|
|
385
|
+
/subagents-load-profile openai-codex.quota
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
`/subagents-refresh-provider-models` writes a serialized provider model catalog with observed registry data, simple role-oriented classification, and live probe results from tiny one-shot `pi -p --model ... --no-tools` checks. The cache refreshes when missing or stale; use `--force` to ignore freshness and probe again immediately.
|
|
389
|
+
|
|
390
|
+
`/subagents-generate-profiles` uses the provider catalog to produce quota and quality profiles. `/subagents-check-profile` re-checks each assigned model in a saved profile against the current registry and a live probe so you can detect model removals, auth problems, or stale assignments.
|
|
391
|
+
|
|
392
|
+
### Per-step tasks
|
|
393
|
+
|
|
394
|
+
Use `->` to separate steps and give each step its own task:
|
|
395
|
+
|
|
396
|
+
```text
|
|
397
|
+
/chain scout "scan the codebase" -> planner "create an implementation plan"
|
|
398
|
+
/parallel scanner "find security issues" -> reviewer "check code style"
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
Both double and single quotes work. You can also use `--` as a delimiter:
|
|
402
|
+
|
|
403
|
+
```text
|
|
404
|
+
/chain scout -- scan code -> planner -- analyze auth
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
Steps without a task inherit behavior from the execution mode. Chain steps get `{previous}`, the prior step’s output. Parallel steps use the first available task as a fallback.
|
|
408
|
+
|
|
409
|
+
### Inline parallel groups in `/chain`
|
|
410
|
+
|
|
411
|
+
Wrap a group of agents in parentheses and separate them with `|` to fan them out within a single chain step. The group runs all of its tasks concurrently, then the next `->` step continues once they finish:
|
|
412
|
+
|
|
413
|
+
```text
|
|
414
|
+
/chain scout "scan" -> (reviewer "review A" | reviewer "review B") -> writer "fix"
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
Notes:
|
|
418
|
+
|
|
419
|
+
- Groups must contain at least two tasks separated by ` | `, each with its own task.
|
|
420
|
+
- Group syntax is only valid between ` -> ` separators, and the group must appear as a complete step.
|
|
421
|
+
- Only a step that *opens* with `(` is a group. Parentheses inside a shared `--` task (e.g. `/chain scout -- inspect auth (backend)`) stay literal text and keep the legacy single-agent behavior.
|
|
422
|
+
- A group is treated as the prior step’s output for the next sequential step.
|
|
423
|
+
- Tab completion suggests agents inside groups — after `(`, after `|`, and on each new `->` step.
|
|
424
|
+
|
|
425
|
+
Add a `[...]` suffix right after the closing `)` to set step-level options on the group:
|
|
426
|
+
|
|
427
|
+
```text
|
|
428
|
+
/chain scout "scan" -> (reviewer "A" | reviewer "B")[concurrency=2,failFast,worktree] -> writer "fix"
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
| Group option | Description |
|
|
432
|
+
|--------------|-------------|
|
|
433
|
+
| `concurrency=N` | Max tasks running at once within the group. |
|
|
434
|
+
| `failFast` | Stop the group as soon as one task fails. |
|
|
435
|
+
| `worktree` | Run each group task in its own git worktree. |
|
|
436
|
+
|
|
437
|
+
Dynamic fanout (`expand` / `collect`) is intentionally not available inline — use the
|
|
438
|
+
`subagent({ chain: [...] })` tool API or a saved `.chain.json` for data-driven fan-out.
|
|
439
|
+
|
|
440
|
+
```text
|
|
441
|
+
/chain scout "analyze auth" -> planner -> worker
|
|
442
|
+
# scout gets "analyze auth"; planner gets scout output; worker gets planner output
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
For a shared task, list agents and place one `--` before the task:
|
|
446
|
+
|
|
447
|
+
```text
|
|
448
|
+
/chain scout planner -- analyze the auth system
|
|
449
|
+
/parallel scout reviewer -- check for security issues
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
### Inline per-step config
|
|
453
|
+
|
|
454
|
+
Append `[key=value,...]` to an agent name to override defaults. `/chain` applies every key below; `/run` and `/parallel` use the execution-behavior keys (`output`, `outputMode`, `reads`, `model`, `skills`, `progress`) and ignore chain-only metadata such as `as`, `label`, `phase`, `count`, `outputSchema`, and `acceptance`.
|
|
455
|
+
|
|
456
|
+
```text
|
|
457
|
+
/chain scout[output=context.md] "scan code" -> planner[reads=context.md] "analyze auth"
|
|
458
|
+
/run scout[model=anthropic/claude-sonnet-4] summarize this codebase
|
|
459
|
+
/parallel reviewer[skills=code-review+security] "review backend" -> reviewer[model=openai/gpt-5-mini] "review frontend"
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
| Key | Example | Description |
|
|
463
|
+
|-----|---------|-------------|
|
|
464
|
+
| `output` | `output=context.md` | Write results to a file. Absolute paths are used as-is. Relative paths in `/run` resolve under `singleRunOutputBaseDir` when configured, otherwise under the run's output artifact directory. Relative paths in `/chain` and `/parallel` live under the chain or parallel run directory. |
|
|
465
|
+
| `outputMode` | `outputMode=file-only` | Return only a concise file reference for saved output instead of the full saved content. Requires `output`; default is `inline`. |
|
|
466
|
+
| `reads` | `reads=a.md+b.md` | Read files before executing. `+` separates multiple paths. |
|
|
467
|
+
| `model` | `model=anthropic/claude-sonnet-4` | Override model for this step. |
|
|
468
|
+
| `skills` | `skills=planning+review` | Override available skills. `+` separates multiple skills. |
|
|
469
|
+
| `progress` | `progress` | Enable progress tracking. |
|
|
470
|
+
| `as` | `as=context` | Name this step’s output so later steps can reference it. |
|
|
471
|
+
| `label` | `label=Recon` | Human-readable label for the step. |
|
|
472
|
+
| `phase` | `phase=analysis` | Group steps into a named phase. |
|
|
473
|
+
| `cwd` | `cwd=packages/api` | Run the step in a subdirectory. |
|
|
474
|
+
| `count` | `count=3` | Fan a group task into N copies (only inside a `( ... )` group). |
|
|
475
|
+
| `outputSchema` | `outputSchema=schema.json` | Validate structured output against a JSON Schema file (path resolved against the session cwd, not an inline step `cwd`). |
|
|
476
|
+
| `acceptance` | `acceptance=checked` | Inline acceptance level: `auto`, `attested`, or `checked`. Use the tool API or saved `.chain.json` for object contracts such as `none`, `verified`, or `reviewed`. |
|
|
477
|
+
|
|
478
|
+
Set `output=false`, `reads=false`, or `skills=false` to disable that behavior explicitly. Do not use `output=false` for file-only returns; use `outputMode=file-only` with an `output` path.
|
|
479
|
+
|
|
480
|
+
Inline `[...]` values must not contain spaces or commas — keep `label`/`phase` to single tokens.
|
|
481
|
+
|
|
482
|
+
### Background and forked runs
|
|
483
|
+
|
|
484
|
+
Add `--bg` to run in the background:
|
|
485
|
+
|
|
486
|
+
```text
|
|
487
|
+
/run scout "audit the codebase" --bg
|
|
488
|
+
/chain scout "analyze auth" -> planner "design refactor" -> worker --bg
|
|
489
|
+
/parallel scout "scan frontend" -> scout "scan backend" --bg
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
Add `--fork` to start each child from a real branched session created from the parent’s current leaf:
|
|
493
|
+
|
|
494
|
+
```text
|
|
495
|
+
/run reviewer "review this diff" --fork
|
|
496
|
+
/chain scout "analyze this branch" -> planner "plan next steps" --fork
|
|
497
|
+
/parallel scout "audit frontend" -> reviewer "audit backend" --fork
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
You can combine them in either order:
|
|
501
|
+
|
|
502
|
+
```text
|
|
503
|
+
/run reviewer "review this diff" --fork --bg
|
|
504
|
+
/run reviewer "review this diff" --bg --fork
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
Background runs are detached. If the parent agent has other independent work, it should keep working. If it has nothing useful to do until the background result arrives, it should end the turn instead of running sleep or status-polling loops. Pi will deliver the completion when the run finishes.
|
|
508
|
+
|
|
509
|
+
The `oracle` and `worker` builtins are designed for an explicit decision loop. A typical pattern is to ask `oracle` for diagnosis and a recommended execution prompt, then only run `worker` after the main agent approves that direction.
|
|
510
|
+
|
|
511
|
+
## Clarify and launch UI
|
|
512
|
+
|
|
513
|
+
Chains open a clarify UI by default so you can preview and edit the workflow before it runs. Single and parallel tool calls can opt into the same flow with `clarify: true`; slash commands launch directly.
|
|
514
|
+
|
|
515
|
+
Common clarify keys:
|
|
516
|
+
|
|
517
|
+
- `Enter` runs in the foreground, or in the background if background is toggled on
|
|
518
|
+
- `Esc` cancels or backs out
|
|
519
|
+
- `↑↓` moves between steps or tasks
|
|
520
|
+
- `e` edits the task/template
|
|
521
|
+
- `m` selects a model
|
|
522
|
+
- `t` selects thinking level
|
|
523
|
+
- `s` selects skills
|
|
524
|
+
- `b` toggles background execution
|
|
525
|
+
- `w` edits output/write behavior where supported
|
|
526
|
+
- `r` edits reads where supported
|
|
527
|
+
- `p` toggles progress tracking where supported
|
|
528
|
+
Picker screens use `↑↓`, `Enter`, `Esc`, and type-to-filter. The full-screen editor supports word wrapping, paste, `Esc` to save, and `Ctrl+C` to discard.
|
|
529
|
+
|
|
530
|
+
## Agents and chains
|
|
531
|
+
|
|
532
|
+
Agents are markdown files with YAML frontmatter and a system prompt body. They define the specialist that will run in the child Pi process.
|
|
533
|
+
|
|
534
|
+
Agent locations, lowest to highest priority:
|
|
535
|
+
|
|
536
|
+
| Scope | Path |
|
|
537
|
+
|-------|------|
|
|
538
|
+
| Builtin | `~/.pi/agent/extensions/subagent/agents/` |
|
|
539
|
+
| Installed package | `package.json` `pi-subagents.agents` or `pi.subagents.agents` |
|
|
540
|
+
| User | `~/.pi/agent/agents/**/*.md` |
|
|
541
|
+
| Project | Project config `agents/**/*.md` (`.pi/agents/**/*.md` in standard Pi) |
|
|
542
|
+
|
|
543
|
+
Project discovery also reads legacy `.agents/**/*.md` files. Nested subdirectories are discovered recursively. `.chain.md` files do not define agents. Installed Pi packages can expose agent directories from either `{"pi-subagents":{"agents":["./agents"]}}` or `{"pi":{"subagents":{"agents":["./agents"]}}}` in their package manifest. Package agents load above builtins and below user/project agents. If both `.agents/` and the project config agents directory define the same parsed runtime agent name, the project config directory wins. Use `agentScope: "user" | "project" | "both"` to control discovery; `both` is the default and project definitions win runtime-name collisions.
|
|
544
|
+
|
|
545
|
+
Builtin agents load at the lowest priority, so a user or project agent with the same name overrides them. They do not pin a provider model; they inherit your current Pi default model unless you set `subagents.defaultModel` or `subagents.agentOverrides.<name>.model`. `oracle` is an advisory reviewer that critiques direction and proposes an execution prompt without editing files. `worker` is the implementation agent for normal tasks and approved oracle handoffs.
|
|
546
|
+
|
|
547
|
+
The `researcher` builtin uses `web_search`, `fetch_content`, and `get_search_content`; those require [pi-web-access](https://github.com/nicobailon/pi-web-access):
|
|
548
|
+
|
|
549
|
+
```bash
|
|
550
|
+
pi install npm:pi-web-access
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
### Builtin overrides
|
|
554
|
+
|
|
555
|
+
You can override selected builtin fields without copying the whole agent. Overrides live in settings:
|
|
556
|
+
|
|
557
|
+
- User: `~/.pi/agent/settings.json`
|
|
558
|
+
- Project: project config settings file (`.pi/settings.json` in standard Pi)
|
|
559
|
+
|
|
560
|
+
Example:
|
|
561
|
+
|
|
562
|
+
```json
|
|
563
|
+
{
|
|
564
|
+
"subagents": {
|
|
565
|
+
"agentOverrides": {
|
|
566
|
+
"reviewer": {
|
|
567
|
+
"inheritProjectContext": false
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
Supported override fields are `model`, `fallbackModels`, `thinking`, `systemPromptMode`, `inheritProjectContext`, `inheritSkills`, `defaultContext`, `disabled`, `skills`, `tools`, and `systemPrompt`. Use `defaultContext: false` in builtin overrides to clear an inherited context default. Project overrides beat user overrides.
|
|
575
|
+
|
|
576
|
+
Set `subagents.defaultModel` to give all subagents without an explicit model their own default model, separate from the parent session model. Per-agent model overrides and agent frontmatter still win.
|
|
577
|
+
|
|
578
|
+
Set `disabled: true` to hide a builtin from runtime discovery and agent-facing `subagent({ action: "list" })` output. For bulk control, set `subagents.disableBuiltins: true` in settings.
|
|
579
|
+
|
|
580
|
+
Set `subagents.disableThinking: true` to clear bundled builtin thinking defaults globally for providers that do not support `:low`, `:medium`, `:high`, or similar model suffixes. A higher-precedence per-agent `thinking` override can opt one builtin back in.
|
|
581
|
+
|
|
582
|
+
### Prompt assembly
|
|
583
|
+
|
|
584
|
+
Subagents are designed to be narrow by default. Custom agents start with a clean system prompt and only the context you intentionally give them. They do not automatically inherit Pi’s whole base prompt, project instruction files, or discovered skills catalog.
|
|
585
|
+
|
|
586
|
+
Use these fields when an agent should see more:
|
|
587
|
+
|
|
588
|
+
| Field | Effect |
|
|
589
|
+
|-------|--------|
|
|
590
|
+
| `systemPromptMode: append` | Append the agent prompt to Pi’s normal base prompt. |
|
|
591
|
+
| `inheritProjectContext: true` | Keep inherited project instructions from files like `AGENTS.md` and `CLAUDE.md`. |
|
|
592
|
+
| `inheritSkills: true` | Let the child see Pi’s discovered skills catalog. |
|
|
593
|
+
| `defaultContext: fork` | Use forked session context when a launch omits `context`; explicit `context: "fresh"` still wins. |
|
|
594
|
+
|
|
595
|
+
Builtin agents opt into project instruction inheritance by default so they follow repo-specific rules out of the box. `delegate` also uses append mode because its job is orchestration inside the parent workflow.
|
|
596
|
+
|
|
597
|
+
### Agent frontmatter
|
|
598
|
+
|
|
599
|
+
A typical agent looks like this:
|
|
600
|
+
|
|
601
|
+
```yaml
|
|
602
|
+
---
|
|
603
|
+
name: scout
|
|
604
|
+
# Optional: registers this as code-analysis.scout while preserving name: scout
|
|
605
|
+
package: code-analysis
|
|
606
|
+
description: Fast codebase recon
|
|
607
|
+
tools: read, grep, find, ls, bash, mcp:chrome-devtools
|
|
608
|
+
extensions:
|
|
609
|
+
subagentOnlyExtensions: ./tools/child-only-search.ts
|
|
610
|
+
model: claude-haiku-4-5
|
|
611
|
+
fallbackModels: openai/gpt-5-mini, anthropic/claude-sonnet-4
|
|
612
|
+
thinking: high
|
|
613
|
+
systemPromptMode: replace
|
|
614
|
+
inheritProjectContext: false
|
|
615
|
+
inheritSkills: false
|
|
616
|
+
skills: safe-bash, chrome-devtools
|
|
617
|
+
output: context.md
|
|
618
|
+
defaultReads: context.md
|
|
619
|
+
defaultProgress: true
|
|
620
|
+
completionGuard: false
|
|
621
|
+
interactive: true
|
|
622
|
+
maxSubagentDepth: 1
|
|
623
|
+
---
|
|
624
|
+
|
|
625
|
+
Your system prompt goes here.
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
Important fields:
|
|
629
|
+
|
|
630
|
+
| Field | Notes |
|
|
631
|
+
|-------|-------|
|
|
632
|
+
| `package` | Optional package identifier. A file with `name: scout` and `package: code-analysis` registers as `code-analysis.scout`; serialization keeps `name` and `package` separate. |
|
|
633
|
+
| `tools` | Builtin tool allowlist. `mcp:` entries select direct MCP tools when `pi-mcp-adapter` is installed. |
|
|
634
|
+
| `extensions` | Omitted means normal extensions; empty means no extensions; comma-separated values allowlist specific extensions. |
|
|
635
|
+
| `subagentOnlyExtensions` | Comma-separated extension paths loaded only in spawned child sessions for this agent. Tools registered there are unavailable to the main agent unless also installed through normal Pi extension configuration. |
|
|
636
|
+
| `model` | Default model. Bare ids prefer the current provider when possible, then unique registry matches. |
|
|
637
|
+
| `fallbackModels` | Ordered backup models for provider/model failures such as quota, auth, timeout, or unavailable model. Ordinary task failures do not trigger fallback. |
|
|
638
|
+
| `thinking` | Appended as a `:level` suffix at runtime unless a suffix is already present. |
|
|
639
|
+
| `systemPromptMode` | `replace` by default; `append` keeps Pi’s base prompt. |
|
|
640
|
+
| `inheritProjectContext` | Keeps or strips inherited project instruction blocks. |
|
|
641
|
+
| `inheritSkills` | Keeps or strips Pi’s discovered skills catalog. |
|
|
642
|
+
| `defaultContext` | Optional `fresh` or `fork` launch context default for this agent. |
|
|
643
|
+
| `skills` | Adds specific skills to the child’s available skill list, regardless of `inheritSkills`. |
|
|
644
|
+
| `output` | Default single-agent output file. |
|
|
645
|
+
| `defaultReads` | Files to read before running in chain/parallel behavior. |
|
|
646
|
+
| `defaultProgress` | Maintain `progress.md`. |
|
|
647
|
+
| `completionGuard` | Set `false` only for non-implementation agents that may mention implementation words while using mutation-capable tools such as `bash`. |
|
|
648
|
+
| `interactive` | Parsed for compatibility but not enforced in v1. |
|
|
649
|
+
| `maxSubagentDepth` | Tightens nested delegation for this agent’s children. |
|
|
650
|
+
|
|
651
|
+
### Tool and extension selection
|
|
652
|
+
|
|
653
|
+
If `tools` is omitted, `pi-subagents` does not pass `--tools`, so the child gets Pi’s normal builtin tools. If `tools` is present, regular tool names become an explicit allowlist. `mcp:` entries are split out and forwarded as direct MCP selections. Path-like `tools` entries, such as extension paths or `.ts`/`.js` files, are treated as tool-extension paths rather than builtin tool names. Agents that declare only known read-only builtin tools skip the implementation completion guard, but `bash`, unknown tools, and MCP tools stay mutation-capable. Use `completionGuard: false` for bash-enabled validators or advisors that should never be judged as implementation agents.
|
|
654
|
+
|
|
655
|
+
Examples:
|
|
656
|
+
|
|
657
|
+
- `tools` omitted and `extensions` omitted: normal builtins and normal extensions.
|
|
658
|
+
- `tools: mcp:chrome-devtools`: normal builtins plus direct Chrome DevTools MCP tools.
|
|
659
|
+
- `tools: read, bash, mcp:chrome-devtools`: only `read` and `bash` as builtins, plus direct Chrome DevTools MCP tools.
|
|
660
|
+
- `tools: subagent, read`: a child-safe `subagent` tool is available inside that child so it can run explicitly assigned nested fanout.
|
|
661
|
+
|
|
662
|
+
Direct MCP tools require [pi-mcp-adapter](https://github.com/nicobailon/pi-mcp-adapter). Subagents only receive direct MCP tools when `mcp:` entries are listed in their frontmatter; global `directTools: true` in `mcp.json` is not enough by itself. The generic `mcp` proxy tool can still be used for discovery when available. The adapter caches tool metadata at startup, so after connecting a new MCP server for the first time, restart Pi before relying on direct tools. An `mcp:` entry named `subagent` does not authorize nested fanout; only the builtin `subagent` tool name does.
|
|
663
|
+
|
|
664
|
+
`extensions` controls child extension loading:
|
|
665
|
+
|
|
666
|
+
```yaml
|
|
667
|
+
# Omitted: all normal extensions load
|
|
668
|
+
|
|
669
|
+
# Empty: no extensions
|
|
670
|
+
extensions:
|
|
671
|
+
|
|
672
|
+
# Allowlist
|
|
673
|
+
extensions: /abs/path/to/ext-a.ts, /abs/path/to/ext-b.ts
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
When `extensions` is present, it takes precedence over extension paths implied by `tools` entries.
|
|
677
|
+
|
|
678
|
+
Use `subagentOnlyExtensions` when a custom extension tool should exist only inside child sessions. It is scoped by agent config: every run of that agent receives those extension paths, while other agents do not unless they declare the same field. The current model does not have a separate named-subagent audience inside one agent definition.
|
|
679
|
+
|
|
680
|
+
## Chain files
|
|
681
|
+
|
|
682
|
+
Chains are reusable workflows stored separately from agent files. Use `.chain.md` for simple sequential saved chains. Use `.chain.json` when a chain needs dynamic fanout.
|
|
683
|
+
|
|
684
|
+
| Scope | Path |
|
|
685
|
+
|-------|------|
|
|
686
|
+
| Installed package | `package.json` `pi-subagents.chains` or `pi.subagents.chains` |
|
|
687
|
+
| User | `~/.pi/agent/chains/**/*.chain.md`, `~/.pi/agent/chains/**/*.chain.json` |
|
|
688
|
+
| Project | Project config `chains/**/*.chain.md`, `chains/**/*.chain.json` (`.pi/chains/...` in standard Pi) |
|
|
689
|
+
|
|
690
|
+
Nested subdirectories are discovered recursively. Installed Pi packages can expose chain directories from either `{"pi-subagents":{"chains":["./chains"]}}` or `{"pi":{"subagents":{"chains":["./chains"]}}}` in their package manifest. Package chains load below user/project chains. If both `.chain.md` and `.chain.json` define the same parsed runtime chain name in the same scope, `.chain.json` wins. If user and project scopes define the same parsed runtime chain name, the project chain wins. Chains support the same optional `package` frontmatter as agents; `name: review-flow` plus `package: code-analysis` runs as `code-analysis.review-flow`.
|
|
691
|
+
|
|
692
|
+
Example:
|
|
693
|
+
|
|
694
|
+
```md
|
|
695
|
+
---
|
|
696
|
+
name: scout-planner
|
|
697
|
+
description: Gather context then plan implementation
|
|
698
|
+
---
|
|
699
|
+
|
|
700
|
+
## scout
|
|
701
|
+
phase: Context
|
|
702
|
+
label: Map auth flow
|
|
703
|
+
as: context
|
|
704
|
+
output: context.md
|
|
705
|
+
|
|
706
|
+
Analyze the codebase for {task}
|
|
707
|
+
|
|
708
|
+
## planner
|
|
709
|
+
phase: Planning
|
|
710
|
+
label: Implementation plan
|
|
711
|
+
reads: context.md
|
|
712
|
+
model: anthropic/claude-sonnet-4-5:high
|
|
713
|
+
progress: true
|
|
714
|
+
|
|
715
|
+
Create an implementation plan based on {outputs.context}
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
Each `.chain.md` `## agent-name` section is a step. Config lines such as `phase`, `label`, `as`, `outputSchema`, `output`, `outputMode`, `reads`, `model`, `skills`, and `progress` go immediately after the header. A blank line separates config from task text. In saved `.chain.md` files, `outputSchema` is a path to a JSON Schema file; direct tool calls and `.chain.json` files can pass the schema object inline.
|
|
719
|
+
|
|
720
|
+
For `output`, `reads`, `skills`, and `progress`, chain behavior is three-state: omitted inherits from the agent, a value overrides, and `false` disables.
|
|
721
|
+
|
|
722
|
+
Use `phase` to group related work in status output, `label` for a readable step name, and `as` to store a successful step or parallel task result for later `{outputs.name}` references. Duplicate `as` names, invalid identifiers, and unknown output references fail before child execution.
|
|
723
|
+
|
|
724
|
+
Dynamic fanout is available only through direct `subagent({ chain: [...] })` JSON or saved `.chain.json` files. It expands an array from a prior structured named output, runs one child template per item, and stores the ordered collection under `collect.as`. The source must be structured output; prose is never parsed. `expand.maxItems` is required, over-limit arrays fail, nested fanout and arbitrary expressions are not supported, and `.chain.md` has no dynamic syntax in this release.
|
|
725
|
+
|
|
726
|
+
```json
|
|
727
|
+
{
|
|
728
|
+
"name": "dynamic-review",
|
|
729
|
+
"description": "Find review targets, fan out reviewers, then synthesize.",
|
|
730
|
+
"chain": [
|
|
731
|
+
{
|
|
732
|
+
"agent": "scout",
|
|
733
|
+
"task": "Return {\"items\":[{\"path\":\"...\",\"reason\":\"...\"}]} via structured_output.",
|
|
734
|
+
"as": "targets",
|
|
735
|
+
"outputSchema": { "type": "object" }
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
"expand": {
|
|
739
|
+
"from": { "output": "targets", "path": "/items" },
|
|
740
|
+
"item": "target",
|
|
741
|
+
"key": "/path",
|
|
742
|
+
"maxItems": 12
|
|
743
|
+
},
|
|
744
|
+
"parallel": {
|
|
745
|
+
"agent": "reviewer",
|
|
746
|
+
"label": "Review {target.path}",
|
|
747
|
+
"task": "Review {target.path}. Reason: {target.reason}",
|
|
748
|
+
"outputSchema": { "type": "object" }
|
|
749
|
+
},
|
|
750
|
+
"collect": { "as": "reviews" },
|
|
751
|
+
"concurrency": 4
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"agent": "worker",
|
|
755
|
+
"task": "Synthesize fixes from {outputs.reviews}"
|
|
756
|
+
}
|
|
757
|
+
]
|
|
758
|
+
}
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
Create simple `.chain.md` chains by writing files directly or with the `subagent({ action: "create", config: ... })` management action. Create dynamic `.chain.json` chains by writing the JSON file directly. Run saved chains with natural language or:
|
|
762
|
+
|
|
763
|
+
```text
|
|
764
|
+
/run-chain scout-planner -- refactor authentication
|
|
765
|
+
```
|
|
766
|
+
|
|
767
|
+
## Chain variables
|
|
768
|
+
|
|
769
|
+
Task templates support:
|
|
770
|
+
|
|
771
|
+
| Variable | Description |
|
|
772
|
+
|----------|-------------|
|
|
773
|
+
| `{task}` | Original task from the first step. |
|
|
774
|
+
| `{previous}` | Output from the prior step, or aggregated output from a parallel step. |
|
|
775
|
+
| `{chain_dir}` | Path to the chain artifact directory. |
|
|
776
|
+
| `{outputs.name}` | Text value from a prior step or completed parallel task with `as: "name"`. |
|
|
777
|
+
|
|
778
|
+
Parallel outputs are aggregated with clear separators before being passed to the next step:
|
|
779
|
+
|
|
780
|
+
```text
|
|
781
|
+
=== Parallel Task 1 (worker) ===
|
|
782
|
+
...
|
|
783
|
+
|
|
784
|
+
=== Parallel Task 2 (worker) ===
|
|
785
|
+
...
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
## Skills
|
|
789
|
+
|
|
790
|
+
Skills are `SKILL.md` files made available to an agent. The prompt includes skill metadata and the file location; the agent reads the full skill file only when the task matches.
|
|
791
|
+
|
|
792
|
+
Discovery uses project-first precedence:
|
|
793
|
+
|
|
794
|
+
1. Project config `skills/{name}/SKILL.md` (`.pi/skills/{name}/SKILL.md` in standard Pi)
|
|
795
|
+
2. Project packages and project settings packages via `package.json -> pi.skills`
|
|
796
|
+
3. Current task cwd package via `package.json -> pi.skills`
|
|
797
|
+
4. Project config `settings.json -> skills`
|
|
798
|
+
5. `~/.pi/agent/skills/{name}/SKILL.md`
|
|
799
|
+
6. User packages and user settings packages via `package.json -> pi.skills`
|
|
800
|
+
7. `~/.pi/agent/settings.json -> skills`
|
|
801
|
+
|
|
802
|
+
Use agent defaults, override them at runtime, or disable them:
|
|
803
|
+
|
|
804
|
+
```ts
|
|
805
|
+
{ agent: "scout", task: "..." }
|
|
806
|
+
{ agent: "scout", task: "...", skill: "tmux, safe-bash" }
|
|
807
|
+
{ agent: "scout", task: "...", skill: false }
|
|
808
|
+
```
|
|
809
|
+
|
|
810
|
+
For chains, `skill` at the top level is additive. A step-level `skill` overrides that step; `false` disables skills for that step.
|
|
811
|
+
|
|
812
|
+
Available skills use this shape:
|
|
813
|
+
|
|
814
|
+
```xml
|
|
815
|
+
The following configured skills are available to this subagent.
|
|
816
|
+
Use the read tool to load a skill's file when the task matches its description.
|
|
817
|
+
When a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.
|
|
818
|
+
|
|
819
|
+
<available_skills>
|
|
820
|
+
<skill>
|
|
821
|
+
<name>safe-bash</name>
|
|
822
|
+
<description>Run shell commands safely.</description>
|
|
823
|
+
<location>/absolute/path/to/safe-bash/SKILL.md</location>
|
|
824
|
+
</skill>
|
|
825
|
+
</available_skills>
|
|
826
|
+
```
|
|
827
|
+
|
|
828
|
+
If an agent has an explicit `tools` allowlist and resolved skills, `read` is added for that child run so the listed skill files can be loaded on demand.
|
|
829
|
+
|
|
830
|
+
Missing skills do not fail execution. The result summary shows a warning.
|
|
831
|
+
|
|
832
|
+
### Bundled skill
|
|
833
|
+
|
|
834
|
+
The package bundles a `pi-subagents` skill that is automatically available to the parent agent when the extension is installed. It is for the orchestrating parent only: child subagents never receive it, and their context is explicitly filtered to strip parent-only orchestration instructions.
|
|
835
|
+
|
|
836
|
+
What the bundled skill covers:
|
|
837
|
+
- **Delegation patterns**: when to launch which agent, whether to use single, parallel, chain, or async mode, and whether to use fresh or forked context
|
|
838
|
+
- **Prompt workflow recipes**: how to apply the packaged techniques directly with `subagent(...)` when the user describes the workflow in natural language instead of invoking a slash command. This includes parallel review, review-loop, parallel research, parallel context-build, parallel handoff-plan, gather-context-and-clarify, and parallel cleanup
|
|
839
|
+
- **Role-agent prompting guidance**: compact contract prompts instead of long scripts, what to include in role-specific meta prompts, and retrieval budgets for researchers
|
|
840
|
+
- **Safety boundaries**: child agents must not run subagents unless their resolved builtin tools explicitly include `subagent`, must not invent intercom targets, and must escalate unapproved decisions
|
|
841
|
+
- **Intercom conventions**: when to ask vs send, and how parent-side result delivery works with `pi-intercom`
|
|
842
|
+
- **Control and diagnostics**: attention signals, soft interrupts, status, and the `doctor` action
|
|
843
|
+
|
|
844
|
+
If you are writing an agent that orchestrates subagents, the bundled skill helps it behave correctly without guessing the patterns. If you are a human user, you do not need to read it directly; the README and prompt shortcuts encode the same workflows in user-facing form.
|
|
845
|
+
|
|
846
|
+
## Programmatic tool usage
|
|
847
|
+
|
|
848
|
+
These are the parameters the LLM passes when it calls the `subagent` tool. Most users ask naturally or use slash commands instead.
|
|
849
|
+
|
|
850
|
+
### Execution examples
|
|
851
|
+
|
|
852
|
+
```ts
|
|
853
|
+
// Single agent
|
|
854
|
+
{ agent: "worker", task: "refactor auth" }
|
|
855
|
+
{ agent: "scout", task: "find todos", maxOutput: { lines: 1000 } }
|
|
856
|
+
{ agent: "scout", task: "investigate", output: false }
|
|
857
|
+
{ agent: "scout", task: "write a large report", output: "reports/scout.md", outputMode: "file-only" }
|
|
858
|
+
|
|
859
|
+
// Forked context
|
|
860
|
+
{ agent: "worker", task: "continue this thread", context: "fork" }
|
|
861
|
+
|
|
862
|
+
// Parallel
|
|
863
|
+
{ tasks: [{ agent: "scout", task: "a" }, { agent: "reviewer", task: "b" }] }
|
|
864
|
+
{ tasks: [{ agent: "scout", task: "audit auth", count: 3 }] }
|
|
865
|
+
{ tasks: [{ agent: "scout", task: "audit frontend" }, { agent: "reviewer", task: "audit backend" }], context: "fork" }
|
|
866
|
+
|
|
867
|
+
// Chain
|
|
868
|
+
{ chain: [
|
|
869
|
+
{ agent: "scout", task: "Gather context for auth refactor" },
|
|
870
|
+
{ agent: "planner" },
|
|
871
|
+
{ agent: "worker" },
|
|
872
|
+
{ agent: "reviewer" }
|
|
873
|
+
]}
|
|
874
|
+
|
|
875
|
+
// Chain in the background, suitable for unblocking the main chat
|
|
876
|
+
{ chain: [...], async: true }
|
|
877
|
+
|
|
878
|
+
// Chain with fan-out/fan-in
|
|
879
|
+
{ chain: [
|
|
880
|
+
{ agent: "scout", task: "Gather context", phase: "Context", label: "Map code", as: "context" },
|
|
881
|
+
{ parallel: [
|
|
882
|
+
{ agent: "worker", task: "Implement feature A from {outputs.context}", label: "Feature A", as: "featureA" },
|
|
883
|
+
{ agent: "worker", task: "Implement feature B from {outputs.context}", label: "Feature B", as: "featureB" }
|
|
884
|
+
], concurrency: 2, failFast: true },
|
|
885
|
+
{ agent: "reviewer", task: "Review {outputs.featureA} and {outputs.featureB}" }
|
|
886
|
+
]}
|
|
887
|
+
|
|
888
|
+
// Dynamic fanout from structured output
|
|
889
|
+
{ chain: [
|
|
890
|
+
{
|
|
891
|
+
agent: "scout",
|
|
892
|
+
task: "Return review targets as structured_output: { items: [{ path, reason }] }",
|
|
893
|
+
as: "targets",
|
|
894
|
+
outputSchema: { type: "object" }
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
expand: { from: { output: "targets", path: "/items" }, item: "target", key: "/path", maxItems: 12 },
|
|
898
|
+
parallel: { agent: "reviewer", task: "Review {target.path}. Reason: {target.reason}", outputSchema: { type: "object" } },
|
|
899
|
+
collect: { as: "reviews" },
|
|
900
|
+
concurrency: 4
|
|
901
|
+
},
|
|
902
|
+
{ agent: "worker", task: "Synthesize fixes from {outputs.reviews}" }
|
|
903
|
+
] }
|
|
904
|
+
|
|
905
|
+
// Strict structured output for reliable handoff data
|
|
906
|
+
{ chain: [
|
|
907
|
+
{
|
|
908
|
+
agent: "scout",
|
|
909
|
+
task: "Return the key files and risks for {task}",
|
|
910
|
+
as: "scan",
|
|
911
|
+
outputSchema: {
|
|
912
|
+
type: "object",
|
|
913
|
+
required: ["files", "risks"],
|
|
914
|
+
properties: {
|
|
915
|
+
files: { type: "array", items: { type: "string" } },
|
|
916
|
+
risks: { type: "array", items: { type: "string" } }
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
},
|
|
920
|
+
{ agent: "planner", task: "Plan from this scan: {outputs.scan}" }
|
|
921
|
+
] }
|
|
922
|
+
|
|
923
|
+
// Worktree isolation
|
|
924
|
+
{ tasks: [
|
|
925
|
+
{ agent: "worker", task: "Implement auth" },
|
|
926
|
+
{ agent: "worker", task: "Implement API" }
|
|
927
|
+
], worktree: true }
|
|
928
|
+
```
|
|
929
|
+
|
|
930
|
+
### Management actions
|
|
931
|
+
|
|
932
|
+
Agent definitions are not loaded into context by default. Management actions let the LLM discover, inspect, create, update, and delete agents and chains at runtime.
|
|
933
|
+
|
|
934
|
+
```ts
|
|
935
|
+
{ action: "list" }
|
|
936
|
+
{ action: "list", agentScope: "project" }
|
|
937
|
+
{ action: "get", agent: "scout" }
|
|
938
|
+
{ action: "models" }
|
|
939
|
+
{ action: "models", agent: "reviewer" }
|
|
940
|
+
{ action: "get", agent: "code-analysis.scout" }
|
|
941
|
+
{ action: "get", chainName: "review-pipeline" }
|
|
942
|
+
|
|
943
|
+
{ action: "create", config: {
|
|
944
|
+
name: "Code Scout",
|
|
945
|
+
package: "code-analysis",
|
|
946
|
+
description: "Scans codebases for patterns and issues",
|
|
947
|
+
scope: "user",
|
|
948
|
+
systemPrompt: "You are a code scout...",
|
|
949
|
+
systemPromptMode: "replace",
|
|
950
|
+
inheritProjectContext: false,
|
|
951
|
+
inheritSkills: false,
|
|
952
|
+
model: "anthropic/claude-sonnet-4",
|
|
953
|
+
fallbackModels: ["openai/gpt-5-mini", "anthropic/claude-haiku-4-5"],
|
|
954
|
+
tools: "read, bash, mcp:github/search_repositories",
|
|
955
|
+
extensions: "",
|
|
956
|
+
skills: "parallel-scout",
|
|
957
|
+
thinking: "high",
|
|
958
|
+
output: "context.md",
|
|
959
|
+
reads: "shared-context.md",
|
|
960
|
+
progress: true
|
|
961
|
+
}}
|
|
962
|
+
|
|
963
|
+
{ action: "create", config: {
|
|
964
|
+
name: "review-pipeline",
|
|
965
|
+
description: "Scout then review",
|
|
966
|
+
scope: "project",
|
|
967
|
+
steps: [
|
|
968
|
+
{ agent: "scout", task: "Scan {task}", output: "context.md" },
|
|
969
|
+
{ agent: "reviewer", task: "Review {previous}", reads: ["context.md"] }
|
|
970
|
+
]
|
|
971
|
+
}}
|
|
972
|
+
|
|
973
|
+
{ action: "update", agent: "code-analysis.scout", config: { model: "openai/gpt-4o" } }
|
|
974
|
+
{ action: "update", chainName: "review-pipeline", config: { steps: [...] } }
|
|
975
|
+
{ action: "delete", agent: "scout" }
|
|
976
|
+
{ action: "delete", chainName: "review-pipeline" }
|
|
977
|
+
```
|
|
978
|
+
|
|
979
|
+
`create` uses `config.scope`, not `agentScope`. `config.name` is the local frontmatter name; optional `config.package` registers the runtime name as `{package}.{name}` and is saved as separate `name` and `package` frontmatter. `update` and `delete` use the runtime name and `agentScope` only when the same runtime name exists in multiple scopes. To clear optional string fields, including `package`, set them to `false` or `""`.
|
|
980
|
+
|
|
981
|
+
### Parameter reference
|
|
982
|
+
|
|
983
|
+
| Param | Type | Default | Description |
|
|
984
|
+
|-------|------|---------|-------------|
|
|
985
|
+
| `agent` | string | - | Agent name for single mode, or target for management actions. |
|
|
986
|
+
| `task` | string | - | Task string for single mode. |
|
|
987
|
+
| `action` | string | - | `list`, `get`, `create`, `update`, `delete`, `status`, `interrupt`, `resume`, `append-step`, or `doctor`. |
|
|
988
|
+
| `chainName` | string | - | Chain name for management actions. |
|
|
989
|
+
| `config` | object/string | - | Agent or chain config for create/update. |
|
|
990
|
+
| `output` | `string \| false` | agent default | Override single-agent output file. |
|
|
991
|
+
| `outputMode` | `"inline" \| "file-only"` | `inline` | Return saved output inline or as a concise saved-file reference. `file-only` requires an `output` path. |
|
|
992
|
+
| `skill` | `string \| string[] \| false` | agent default | Override skills or disable all. |
|
|
993
|
+
| `model` | string | agent default | Override model. |
|
|
994
|
+
| `tasks` | array | - | Top-level parallel tasks. Supports `agent`, `task`, `cwd`, `count`, `output`, `outputMode`, `reads`, `progress`, `skill`, `model`, and `acceptance`. |
|
|
995
|
+
| `concurrency` | number | config or `4` | Top-level parallel concurrency. |
|
|
996
|
+
| `worktree` | boolean | false | Create isolated git worktrees for parallel tasks. |
|
|
997
|
+
| `chain` | array | - | Sequential, static parallel, and dynamic fanout chain steps. Steps and chain parallel tasks support `phase`, `label`, `as`, `outputSchema`, and `acceptance` in addition to the usual execution fields. Dynamic fanout uses `expand`, one child `parallel` template, and `collect`. With `action: "append-step"`, pass exactly one step to append to a running async chain. |
|
|
998
|
+
| `context` | `fresh \| fork` | per-agent default or `fresh` | Explicit `fresh` or `fork` overrides every child. When omitted, each agent uses its own `defaultContext`; `fork` creates real branched sessions from the parent leaf. Packaged `planner`, `worker`, and `oracle` default to `fork`. |
|
|
999
|
+
| `chainDir` | string | temp chain dir | Persistent directory for chain artifacts. |
|
|
1000
|
+
| `clarify` | boolean | true for chains | Show TUI preview/edit flow. |
|
|
1001
|
+
| `agentScope` | `user \| project \| both` | `both` | Agent discovery scope. Project wins on collisions. |
|
|
1002
|
+
| `async` | boolean | false | Background execution. For chains, `clarify: true` explicitly keeps the run foreground for the clarify UI. |
|
|
1003
|
+
| `timeoutMs` / `maxRuntimeMs` | number | none | Optional run-level max runtime in milliseconds for foreground and async/background runs. |
|
|
1004
|
+
| `cwd` | string | runtime cwd | Override working directory. |
|
|
1005
|
+
| `maxOutput` | object | 200KB, 5000 lines | Final output truncation limits. |
|
|
1006
|
+
| `artifacts` | boolean | true | Write debug artifacts. |
|
|
1007
|
+
| `includeProgress` | boolean | false | Include full progress in result. |
|
|
1008
|
+
| `share` | boolean | false | Upload session export to GitHub Gist. |
|
|
1009
|
+
| `sessionDir` | string | derived | Override session log directory. |
|
|
1010
|
+
| `acceptance` | string/object/false | inferred | Override the run's inferred acceptance gates. Use `"auto"`, `"attested"`, `"checked"`, `"verified"`, `"reviewed"`, or `{ level: "none", reason: "..." }`. |
|
|
1011
|
+
|
|
1012
|
+
`context: "fork"` fails fast when the parent session is not persisted, the current leaf is missing, or the branched child session cannot be created. When the inherited transcript contains signed Anthropic `thinking` / `redacted_thinking` blocks, `pi-subagents` strips those provider-private blocks from the forked child session and forces the child run's thinking level to `off` so Anthropic does not reject modified signatures after branching or compaction. Forking never silently downgrades to `fresh`. In multi-agent runs that omit `context`, each agent/task/step follows its own `defaultContext`, so a fresh-default scout can run fresh beside a fork-default worker. Pass explicit `context: "fork"` or `context: "fresh"` when you intentionally want one context for every child.
|
|
1013
|
+
|
|
1014
|
+
Use `outputMode: "file-only"` when a saved output may be large and the parent only needs a pointer. The returned text is a compact reference like `Output saved to: /abs/report.md (48.2 KB, 2847 lines). Read this file if needed.` Failed runs and save errors still return normal inline output for debugging. In chains, later `{previous}` steps receive the same compact reference when the prior step used file-only mode.
|
|
1015
|
+
|
|
1016
|
+
Sequential and parallel chain tasks accept `agent`, `task`, `phase`, `label`, `as`, `outputSchema`, `cwd`, `output`, `outputMode`, `reads`, `progress`, `skill`, and `model`. Parallel tasks also accept `count`. Parallel step groups accept `parallel`, `concurrency`, `failFast`, and `worktree`. If `outputSchema` is present, the child must call `structured_output` with schema-valid JSON; prose-only completion or invalid JSON fails the step. Validated structured values are preserved on the step result, and `as` also exposes a compact text representation through `{outputs.name}`.
|
|
1017
|
+
|
|
1018
|
+
Status and control actions:
|
|
1019
|
+
|
|
1020
|
+
```ts
|
|
1021
|
+
subagent({ action: "status" })
|
|
1022
|
+
subagent({ action: "status", id: "<run-id>" })
|
|
1023
|
+
subagent({ action: "status", id: "<nested-run-id>" })
|
|
1024
|
+
subagent({ action: "interrupt", id: "<run-id>" })
|
|
1025
|
+
subagent({ action: "interrupt", id: "<nested-run-id>" })
|
|
1026
|
+
subagent({ action: "resume", id: "<run-id>", message: "follow-up question" })
|
|
1027
|
+
subagent({ action: "resume", id: "<run-id>", index: 1, message: "follow-up for child 2" })
|
|
1028
|
+
subagent({ action: "resume", id: "<nested-run-id>", message: "follow-up for a nested child" })
|
|
1029
|
+
subagent({ action: "append-step", id: "<run-id>", chain: [{ agent: "worker", task: "Continue from {previous}" }] })
|
|
1030
|
+
subagent({ action: "doctor" })
|
|
1031
|
+
```
|
|
1032
|
+
|
|
1033
|
+
`status` resolves exact foreground ids, top-level async ids, and nested run ids before falling back to prefix matching. Nested status shows the root/parent path, nested children, session/artifact paths when known, and nested control commands. Inside child-safe fanout mode, bare `status` requires an id when no local foreground run is active, so children cannot enumerate unrelated top-level async runs. Bare `interrupt` still targets only the visible top-level run; interrupting a nested run requires its explicit nested id.
|
|
1034
|
+
|
|
1035
|
+
`resume` sends the follow-up directly when an async child is still reachable over intercom. After completion, it revives the child by starting a new async child from the stored child session file. Multi-child async runs and remembered foreground single, parallel, or chain runs can be revived by passing `index` to choose the child. Nested runs can be resumed by nested id when their live route or persisted session metadata is available. Revive starts a new child process from the old session context; it does not restart the same OS process, and it requires the chosen child to have a persisted `.jsonl` session file.
|
|
1036
|
+
|
|
1037
|
+
`append-step` accepts exactly one sequential, static parallel, or dynamic fanout chain step for a top-level async chain whose status is still `running`. The step is persisted in the run directory and becomes eligible only after the chain's already-queued steps finish; completed, failed, paused, foreground, single, and top-level parallel runs reject appends.
|
|
1038
|
+
|
|
1039
|
+
## Worktree isolation
|
|
1040
|
+
|
|
1041
|
+
Parallel agents can clobber each other if they edit the same checkout. `worktree: true` gives each parallel child its own git worktree branched from `HEAD`.
|
|
1042
|
+
|
|
1043
|
+
```ts
|
|
1044
|
+
{ tasks: [
|
|
1045
|
+
{ agent: "worker", task: "Implement auth", count: 2 },
|
|
1046
|
+
{ agent: "worker", task: "Implement API" }
|
|
1047
|
+
], worktree: true }
|
|
1048
|
+
|
|
1049
|
+
{ chain: [
|
|
1050
|
+
{ agent: "scout", task: "Gather context" },
|
|
1051
|
+
{ parallel: [
|
|
1052
|
+
{ agent: "worker", task: "Implement feature A from {previous}" },
|
|
1053
|
+
{ agent: "worker", task: "Implement feature B from {previous}" }
|
|
1054
|
+
], worktree: true },
|
|
1055
|
+
{ agent: "reviewer", task: "Review all changes from {previous}" }
|
|
1056
|
+
]}
|
|
1057
|
+
```
|
|
1058
|
+
|
|
1059
|
+
Requirements:
|
|
1060
|
+
|
|
1061
|
+
- run inside a git repo
|
|
1062
|
+
- working tree must be clean
|
|
1063
|
+
- `node_modules/` is symlinked into each worktree when present
|
|
1064
|
+
- task-level `cwd` overrides must be omitted or match the shared cwd
|
|
1065
|
+
- configured `worktreeSetupHook` must return valid JSON before timeout
|
|
1066
|
+
|
|
1067
|
+
By default, worktrees are created under the system temp directory. Set `worktreeBaseDir` in config, or `PI_SUBAGENTS_WORKTREE_DIR` when config is unset, to put them under a stable trusted directory. Missing base directories are created automatically.
|
|
1068
|
+
|
|
1069
|
+
After a worktree parallel step completes, per-agent diff stats are appended to the output and full patch files are written to artifacts. Worktrees and temp branches are cleaned up in `finally` blocks.
|
|
1070
|
+
|
|
1071
|
+
## Configuration
|
|
1072
|
+
|
|
1073
|
+
`pi-subagents` reads optional JSON config from `~/.pi/agent/extensions/subagent/config.json`.
|
|
1074
|
+
|
|
1075
|
+
### `asyncByDefault`
|
|
1076
|
+
|
|
1077
|
+
```json
|
|
1078
|
+
{ "asyncByDefault": true }
|
|
1079
|
+
```
|
|
1080
|
+
|
|
1081
|
+
Makes top-level calls use background execution when the request does not explicitly set `async`. Callers can still force foreground with `async: false` unless `forceTopLevelAsync` is enabled.
|
|
1082
|
+
|
|
1083
|
+
### `forceTopLevelAsync`
|
|
1084
|
+
|
|
1085
|
+
```json
|
|
1086
|
+
{ "forceTopLevelAsync": true }
|
|
1087
|
+
```
|
|
1088
|
+
|
|
1089
|
+
Forces depth-0 single, parallel, and chain runs into background mode and bypasses clarify UI by forcing `clarify: false`. Nested calls keep their own inherited settings.
|
|
1090
|
+
|
|
1091
|
+
### `globalConcurrencyLimit`
|
|
1092
|
+
|
|
1093
|
+
```json
|
|
1094
|
+
{ "globalConcurrencyLimit": 20 }
|
|
1095
|
+
```
|
|
1096
|
+
|
|
1097
|
+
Caps simultaneously running subagent tasks within a single run across top-level parallel tasks, inline chain parallel groups, and dynamic fanout groups. The default is `20`; invalid values are clamped to `1`. Per-step `concurrency` and `parallel.concurrency` still apply, so effective concurrency is the lower of the local cap and the available global slots.
|
|
1098
|
+
|
|
1099
|
+
### `maxSubagentSpawnsPerSession`
|
|
1100
|
+
|
|
1101
|
+
```json
|
|
1102
|
+
{ "maxSubagentSpawnsPerSession": 40 }
|
|
1103
|
+
```
|
|
1104
|
+
|
|
1105
|
+
Caps the total number of child subagent launches allowed during one parent session, including single runs, parallel task counts, static chain steps, and bounded dynamic fanout children. Set `PI_SUBAGENT_MAX_SPAWNS_PER_SESSION` to override the config for a process. The default is `40`; `0` blocks new subagent launches for that session.
|
|
1106
|
+
|
|
1107
|
+
### `parallel`
|
|
1108
|
+
|
|
1109
|
+
```json
|
|
1110
|
+
{
|
|
1111
|
+
"parallel": {
|
|
1112
|
+
"maxTasks": 12,
|
|
1113
|
+
"concurrency": 6
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
```
|
|
1117
|
+
|
|
1118
|
+
`maxTasks` defaults to `8`; `concurrency` defaults to `4`. Per-call `concurrency` takes precedence.
|
|
1119
|
+
|
|
1120
|
+
### `defaultSessionDir`
|
|
1121
|
+
|
|
1122
|
+
```json
|
|
1123
|
+
{ "defaultSessionDir": "~/.pi/agent/sessions/subagent/" }
|
|
1124
|
+
```
|
|
1125
|
+
|
|
1126
|
+
Session directory precedence is: `params.sessionDir`, then `config.defaultSessionDir`, then a directory derived from the parent session. Sessions are always enabled.
|
|
1127
|
+
|
|
1128
|
+
### `singleRunOutputBaseDir`
|
|
1129
|
+
|
|
1130
|
+
```json
|
|
1131
|
+
{ "singleRunOutputBaseDir": "~/.pi/subagent-outputs" }
|
|
1132
|
+
```
|
|
1133
|
+
|
|
1134
|
+
Routes relative `output` paths for single-agent `/run` calls under this directory. Absolute per-call or agent output paths are still used as-is. When unset, relative single-run outputs go under the run's output artifact directory instead of the project root.
|
|
1135
|
+
|
|
1136
|
+
### `maxSubagentDepth`
|
|
1137
|
+
|
|
1138
|
+
```json
|
|
1139
|
+
{ "maxSubagentDepth": 1 }
|
|
1140
|
+
```
|
|
1141
|
+
|
|
1142
|
+
Controls nested delegation when no inherited `PI_SUBAGENT_MAX_DEPTH` is already in effect. Per-agent `maxSubagentDepth` can tighten the limit for that agent’s child runs, but cannot relax an inherited stricter limit. This applies even to children that explicitly declare `tools: subagent`; at the cap, execution fanout is blocked instead of silently hiding nested work.
|
|
1143
|
+
|
|
1144
|
+
### `PI_SUBAGENT_PI_BINARY`
|
|
1145
|
+
|
|
1146
|
+
```bash
|
|
1147
|
+
export PI_SUBAGENT_PI_BINARY=/path/to/pi-or-wrapper
|
|
1148
|
+
```
|
|
1149
|
+
|
|
1150
|
+
Overrides the command used to launch child Pi processes. Package wrappers can set this to their own `pi`/agent binary so subagents inherit wrapper flags, environment setup, and bundled resources without relying on `PATH` ordering. Empty or whitespace-only values are ignored.
|
|
1151
|
+
|
|
1152
|
+
### `intercomBridge`
|
|
1153
|
+
|
|
1154
|
+
```json
|
|
1155
|
+
{
|
|
1156
|
+
"intercomBridge": {
|
|
1157
|
+
"mode": "always",
|
|
1158
|
+
"instructionFile": "./intercom-bridge.md"
|
|
1159
|
+
}
|
|
1160
|
+
}
|
|
1161
|
+
```
|
|
1162
|
+
|
|
1163
|
+
Controls whether subagents receive runtime intercom coordination instructions and whether `intercom` and `contact_supervisor` are auto-added to their tool allowlist when needed.
|
|
1164
|
+
|
|
1165
|
+
Fields:
|
|
1166
|
+
|
|
1167
|
+
- `mode`: default `always`; use `fork-only` to inject only for forked runs, or `off` to disable the bridge.
|
|
1168
|
+
- `instructionFile`: optional Markdown template replacing the default bridge instructions. `{orchestratorTarget}` is interpolated. Relative paths resolve from `~/.pi/agent/extensions/subagent/`.
|
|
1169
|
+
|
|
1170
|
+
Bridge activation also requires `pi-intercom` to be installed and enabled through `pi install npm:pi-intercom` or a legacy local extension checkout, a targetable current session name or fallback alias, and `pi-intercom` in any explicit agent `extensions` allowlist.
|
|
1171
|
+
|
|
1172
|
+
The default injected guidance tells children to use `contact_supervisor` with `reason: "need_decision"` when blocked or needing a decision, `reason: "progress_update"` only for meaningful blocked/progress updates, generic `intercom` as fallback plumbing, and avoid routine completion handoffs.
|
|
1173
|
+
|
|
1174
|
+
### `companionSuggestions`
|
|
1175
|
+
|
|
1176
|
+
```json
|
|
1177
|
+
{
|
|
1178
|
+
"companionSuggestions": {
|
|
1179
|
+
"enabled": true,
|
|
1180
|
+
"packages": {
|
|
1181
|
+
"pi-intercom": {
|
|
1182
|
+
"surfaces": ["session_start", "list", "doctor"]
|
|
1183
|
+
},
|
|
1184
|
+
"pi-prompt-template-model": {
|
|
1185
|
+
"surfaces": ["session_start", "list", "doctor"]
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
```
|
|
1191
|
+
|
|
1192
|
+
Controls recommendations for optional companion packages. `pi-intercom` enables live supervisor decisions, progress updates, and grouped result delivery. `pi-prompt-template-model` makes subagent workflows reusable as prompt templates with model/thinking/skill/subagent frontmatter.
|
|
1193
|
+
|
|
1194
|
+
Use `/subagents-companions status` to inspect recommendation status. Use `/subagents-companions hide pi-intercom workspace` or `/subagents-companions hide pi-prompt-template-model user` to hide a recommendation. Use `/subagents-companions show <package>` to show a workspace recommendation again. Set `companionSuggestions` to `false` to disable all companion recommendations.
|
|
1195
|
+
|
|
1196
|
+
### `worktreeBaseDir`
|
|
1197
|
+
|
|
1198
|
+
```json
|
|
1199
|
+
{ "worktreeBaseDir": "/Users/matt/code/.worktrees/pi-subagents" }
|
|
1200
|
+
```
|
|
1201
|
+
|
|
1202
|
+
Sets the base directory for `worktree: true` runs. Relative paths resolve from the repository root, `~/...` expands to your home directory, and `PI_SUBAGENTS_WORKTREE_DIR` is used when config is unset. The default remains the system temp directory.
|
|
1203
|
+
|
|
1204
|
+
### `worktreeSetupHook`
|
|
1205
|
+
|
|
1206
|
+
```json
|
|
1207
|
+
{
|
|
1208
|
+
"worktreeSetupHook": "./scripts/setup-worktree.mjs",
|
|
1209
|
+
"worktreeSetupHookTimeoutMs": 45000
|
|
1210
|
+
}
|
|
1211
|
+
```
|
|
1212
|
+
|
|
1213
|
+
The hook runs once per created worktree. Paths must be absolute, `~/...`, or repo-relative; bare command names are rejected.
|
|
1214
|
+
|
|
1215
|
+
stdin is a JSON object with `repoRoot`, `worktreePath`, `agentCwd`, `branch`, `index`, `runId`, and `baseCommit`. stdout must be one JSON object, for example:
|
|
1216
|
+
|
|
1217
|
+
```json
|
|
1218
|
+
{ "syntheticPaths": [".venv", ".env.local"] }
|
|
1219
|
+
```
|
|
1220
|
+
|
|
1221
|
+
`syntheticPaths` must be relative to the worktree root. They are removed before diff capture so helper files do not pollute patches. Tracked files are never excluded; marking a tracked path as synthetic fails setup. Default timeout is `30000` ms.
|
|
1222
|
+
|
|
1223
|
+
## Files, logs, and observability
|
|
1224
|
+
|
|
1225
|
+
Each chain run creates a user-scoped temp directory like:
|
|
1226
|
+
|
|
1227
|
+
```text
|
|
1228
|
+
<tmpdir>/pi-subagents-<scope>/chain-runs/{runId}/
|
|
1229
|
+
```
|
|
1230
|
+
|
|
1231
|
+
It may contain files such as `context.md`, `plan.md`, `progress.md`, and `parallel-{stepIndex}/.../output.md`. Directories older than 24 hours are cleaned up on extension startup.
|
|
1232
|
+
|
|
1233
|
+
Debug artifacts live under `{sessionDir}/subagent-artifacts/`, `.pi-subagents/artifacts/` for project-scoped runs, or a user-scoped temp artifact directory. Single-run relative `output` files are saved under `{artifactsDir}/outputs/{runId}/` unless `singleRunOutputBaseDir` is configured. Per task you may see:
|
|
1234
|
+
|
|
1235
|
+
- `{runId}_{agent}_input.md`
|
|
1236
|
+
- `{runId}_{agent}_output.md`
|
|
1237
|
+
- `{runId}_{agent}.jsonl`
|
|
1238
|
+
- `{runId}_{agent}_meta.json`
|
|
1239
|
+
|
|
1240
|
+
Metadata records timing, usage, exit code, final model, attempted models, and fallback attempt outcomes.
|
|
1241
|
+
|
|
1242
|
+
Session files are stored under a per-run session directory. With `context: "fork"`, each child starts with `--session <branched-session-file>` produced from the parent’s current leaf. That is a real session fork, not an injected summary.
|
|
1243
|
+
|
|
1244
|
+
Async completions notify only the originating session. The result watcher emits `subagent:async-complete`, and the extension consumes that event to render completion notifications.
|
|
1245
|
+
|
|
1246
|
+
Async runs write:
|
|
1247
|
+
|
|
1248
|
+
```text
|
|
1249
|
+
<tmpdir>/pi-subagents-<scope>/async-subagent-runs/<id>/
|
|
1250
|
+
status.json
|
|
1251
|
+
events.jsonl
|
|
1252
|
+
output-<n>.log
|
|
1253
|
+
subagent-log-<id>.md
|
|
1254
|
+
```
|
|
1255
|
+
|
|
1256
|
+
`status.json` powers the widget and `subagent({ action: "status" })` output. `events.jsonl` contains wrapper events plus child Pi JSON events annotated with run and step metadata. Nested fanout status is stored as compact sidecar event/registry metadata and merged into parent status views and result/intercom payloads; full recursive status snapshots are not embedded in parent result files. `output-<n>.log` is a live human-readable tail. Fallback information is persisted so background runs are debuggable after completion.
|
|
1257
|
+
|
|
1258
|
+
## Acceptance Gates
|
|
1259
|
+
|
|
1260
|
+
Every run resolves an effective acceptance policy. Callers may omit `acceptance` for the inferred default, or set it on single runs, top-level parallel task items, chain steps, static parallel tasks, and dynamic fanout templates.
|
|
1261
|
+
|
|
1262
|
+
```ts
|
|
1263
|
+
{
|
|
1264
|
+
agent: "worker",
|
|
1265
|
+
task: "Implement the fix",
|
|
1266
|
+
acceptance: {
|
|
1267
|
+
level: "verified",
|
|
1268
|
+
criteria: ["Patch the bug without widening scope"],
|
|
1269
|
+
evidence: ["changed-files", "tests-added", "commands-run", "residual-risks", "no-staged-files"],
|
|
1270
|
+
verify: [{ id: "focused", command: "npm test", timeoutMs: 120000 }]
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
```
|
|
1274
|
+
|
|
1275
|
+
Accepted levels are `auto`, `none`, `attested`, `checked`, `verified`, and `reviewed`. `acceptance: "auto"` is the default. Read-only reviewer/scout tasks infer lightweight attestation, normal writer tasks infer checked evidence, and async/risky/dynamic writer contexts infer a reviewed gate. To disable gates, prefer `{ level: "none", reason: "..." }`.
|
|
1276
|
+
|
|
1277
|
+
Acceptance provenance is stored separately from child prose:
|
|
1278
|
+
|
|
1279
|
+
- `claimed`: child finished but did not provide structured evidence.
|
|
1280
|
+
- `attested`: child returned a structured acceptance report.
|
|
1281
|
+
- `checked`: runtime structural checks passed, such as required evidence and no staged files.
|
|
1282
|
+
- `verified`: configured runtime verification commands passed. Child-reported command success does not count.
|
|
1283
|
+
- `reviewed`: an independent reviewer result is present.
|
|
1284
|
+
- `rejected`: attestation, structural checks, verification, or review failed.
|
|
1285
|
+
|
|
1286
|
+
For `attested` or stricter levels, the child prompt includes a standardized acceptance section and asks for a fenced `acceptance-report` JSON block. Explicit failed gates fail the run. Inferred gates are persisted for observability without breaking older calls that omit `acceptance`.
|
|
1287
|
+
|
|
1288
|
+
## Live progress
|
|
1289
|
+
|
|
1290
|
+
Foreground runs show compact live progress for single, chain, and parallel modes: current tool, recent output, token counts, aggregate cost, duration, activity freshness, current-tool duration, and chain graph metadata when available.
|
|
1291
|
+
|
|
1292
|
+
Press `Ctrl+O` to expand the full streaming view with complete output per step.
|
|
1293
|
+
|
|
1294
|
+
Sequential chains show a flow line like `done scout → running planner`. Chains with parallel steps show per-step cards instead. Chain status uses `label` and `phase` metadata when present, while falling back to agent names for older chains.
|
|
1295
|
+
|
|
1296
|
+
## Session sharing
|
|
1297
|
+
|
|
1298
|
+
Pass `share: true` to export a full session to HTML, upload it to a secret GitHub Gist through your `gh` credentials, and return a `https://shittycodingagent.ai/session/?<gistId>` URL.
|
|
1299
|
+
|
|
1300
|
+
```ts
|
|
1301
|
+
{ agent: "scout", task: "...", share: true }
|
|
1302
|
+
```
|
|
1303
|
+
|
|
1304
|
+
This is disabled by default. Session data may contain source code, paths, environment variables, credentials, or other sensitive output. You need `gh` installed and authenticated.
|
|
1305
|
+
|
|
1306
|
+
## Recursion guard
|
|
1307
|
+
|
|
1308
|
+
Subagents can call `subagent` only when their resolved builtin tools explicitly include `subagent`. That is meant for delegated fanout agents, not ordinary worker/reviewer children. A depth guard prevents unbounded nesting.
|
|
1309
|
+
|
|
1310
|
+
By default, nesting is limited to two levels: main session → subagent → sub-subagent. Deeper calls are blocked with guidance to complete the current task directly. Nested runs appear in the parent status widget and `status` output as a tree, and `status`, `interrupt`, and `resume` can target a nested run by its id.
|
|
1311
|
+
|
|
1312
|
+
Configure the limit with:
|
|
1313
|
+
|
|
1314
|
+
1. `PI_SUBAGENT_MAX_DEPTH` before starting Pi
|
|
1315
|
+
2. `config.maxSubagentDepth`
|
|
1316
|
+
3. `maxSubagentDepth` in agent frontmatter, which can only tighten the inherited limit
|
|
1317
|
+
|
|
1318
|
+
```bash
|
|
1319
|
+
export PI_SUBAGENT_MAX_DEPTH=3
|
|
1320
|
+
export PI_SUBAGENT_MAX_DEPTH=1
|
|
1321
|
+
export PI_SUBAGENT_MAX_DEPTH=0
|
|
1322
|
+
```
|
|
1323
|
+
|
|
1324
|
+
`PI_SUBAGENT_DEPTH` is internal and propagated automatically. Do not set it manually.
|
|
1325
|
+
|
|
1326
|
+
## Events
|
|
1327
|
+
|
|
1328
|
+
Async events:
|
|
1329
|
+
|
|
1330
|
+
- `subagent:async-started`
|
|
1331
|
+
- `subagent:async-complete`
|
|
1332
|
+
|
|
1333
|
+
Intercom delivery events:
|
|
1334
|
+
|
|
1335
|
+
- `subagent:control-intercom`
|
|
1336
|
+
- `subagent:result-intercom`
|
|
1337
|
+
|
|
1338
|
+
The result watcher emits `subagent:async-complete`; `src/extension/index.ts` registers the notification handler that consumes it. Control/attention events are surfaced as visible parent notices and persisted for async runs. With `pi-intercom`, needs-attention notices and grouped parent-side subagent result deliveries can reach the orchestrator over intercom.
|
|
1339
|
+
|
|
1340
|
+
## Prompt-template integration
|
|
1341
|
+
|
|
1342
|
+
`pi-subagents` works standalone through natural language, the `subagent` tool, slash commands, and the packaged prompt shortcuts listed near the top of this README. If you use [pi-prompt-template-model](https://github.com/nicobailon/pi-prompt-template-model), you can also wrap subagent delegation in your own reusable prompt templates.
|
|
1343
|
+
|
|
1344
|
+
Example:
|
|
1345
|
+
|
|
1346
|
+
```md
|
|
1347
|
+
---
|
|
1348
|
+
description: Take a screenshot
|
|
1349
|
+
model: claude-sonnet-4-20250514
|
|
1350
|
+
subagent: browser-screenshoter
|
|
1351
|
+
cwd: /tmp/screenshots
|
|
1352
|
+
---
|
|
1353
|
+
Use url in the prompt to take screenshot: $@
|
|
1354
|
+
```
|
|
1355
|
+
|
|
1356
|
+
Then `/take-screenshot https://example.com` switches to Sonnet, delegates to `browser-screenshoter` with `/tmp/screenshots` as cwd, and restores your model when done. Runtime overrides like `--cwd=<path>` and `--subagent=<name>` work too.
|
|
1357
|
+
|
|
1358
|
+
For more reusable workflows on top of subagents, including `/chain-prompts` and compare-style prompts such as `/best-of-n`, install `pi-prompt-template-model` separately and copy the examples you want into `~/.pi/agent/prompts/`.
|
|
1359
|
+
|
|
1360
|
+
When `pi-prompt-template-model` is not active, `pi-subagents` may recommend it at session start, in `subagent({ action: "list" })`, and in `/subagents-doctor`. The recommendation is only a prompt; package installation still requires an explicit user-approved command.
|
|
1361
|
+
|
|
1362
|
+
## Runtime files
|
|
1363
|
+
|
|
1364
|
+
The main runtime files are:
|
|
1365
|
+
|
|
1366
|
+
| File | Purpose |
|
|
1367
|
+
|------|---------|
|
|
1368
|
+
| `src/extension/index.ts` | Extension registration, tool registration, message/render wiring. |
|
|
1369
|
+
| `src/agents/agents.ts` | Agent and chain discovery, frontmatter parsing. |
|
|
1370
|
+
| `src/runs/foreground/subagent-executor.ts` | Main execution routing for single, parallel, chain, management, status, interrupt, and doctor actions. |
|
|
1371
|
+
| `src/runs/foreground/execution.ts` | Core foreground `runSync` handling. |
|
|
1372
|
+
| `src/runs/background/subagent-runner.ts` | Detached async runner. |
|
|
1373
|
+
| `src/runs/background/async-execution.ts` | Background launch support. |
|
|
1374
|
+
| `src/runs/background/async-status.ts` | Status discovery and formatting for async runs. |
|
|
1375
|
+
| `src/runs/foreground/chain-execution.ts` / `src/agents/chain-serializer.ts` | Chain orchestration and `.chain.md` parsing. |
|
|
1376
|
+
| `src/shared/settings.ts` | Chain behavior, instructions, and config helpers. |
|
|
1377
|
+
| `src/runs/shared/worktree.ts` | Git worktree isolation. |
|
|
1378
|
+
| `src/intercom/intercom-bridge.ts` | Runtime intercom bridge instructions and diagnostics. |
|
|
1379
|
+
| `src/extension/schemas.ts` / `src/shared/types.ts` | Tool schemas, shared types, and event constants. |
|
|
1380
|
+
| `test/unit/` / `test/integration/` | Unit and loader-based integration tests. |
|