toolcraft 0.0.749 → 0.0.750
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/composition.json +23 -3
- package/dist/composition.json +23 -3
- package/dist/human-in-loop/approvals-commands.d.ts +1 -1
- package/dist/index.d.ts +1 -262
- package/dist/index.js +1 -573
- package/dist/runtime-platform.d.ts +2 -0
- package/dist/runtime-platform.js +2 -0
- package/dist/runtime-platform.workerd.d.ts +3 -0
- package/dist/runtime-platform.workerd.js +10 -0
- package/dist/runtime.d.ts +262 -0
- package/dist/runtime.js +576 -0
- package/node_modules/@noble/hashes/LICENSE +21 -0
- package/node_modules/@noble/hashes/README.md +478 -0
- package/node_modules/@noble/hashes/_blake.d.ts +20 -0
- package/node_modules/@noble/hashes/_blake.js +59 -0
- package/node_modules/@noble/hashes/_md.d.ts +95 -0
- package/node_modules/@noble/hashes/_md.js +209 -0
- package/node_modules/@noble/hashes/_u64.d.ts +36 -0
- package/node_modules/@noble/hashes/_u64.js +77 -0
- package/node_modules/@noble/hashes/argon2.d.ts +148 -0
- package/node_modules/@noble/hashes/argon2.js +577 -0
- package/node_modules/@noble/hashes/blake1.d.ts +162 -0
- package/node_modules/@noble/hashes/blake1.js +630 -0
- package/node_modules/@noble/hashes/blake2.d.ts +203 -0
- package/node_modules/@noble/hashes/blake2.js +573 -0
- package/node_modules/@noble/hashes/blake3.d.ts +68 -0
- package/node_modules/@noble/hashes/blake3.js +310 -0
- package/node_modules/@noble/hashes/eskdf.d.ts +91 -0
- package/node_modules/@noble/hashes/eskdf.js +225 -0
- package/node_modules/@noble/hashes/hkdf.d.ts +70 -0
- package/node_modules/@noble/hashes/hkdf.js +152 -0
- package/node_modules/@noble/hashes/hmac.d.ts +50 -0
- package/node_modules/@noble/hashes/hmac.js +93 -0
- package/node_modules/@noble/hashes/index.d.ts +1 -0
- package/node_modules/@noble/hashes/index.js +34 -0
- package/node_modules/@noble/hashes/legacy.d.ts +107 -0
- package/node_modules/@noble/hashes/legacy.js +348 -0
- package/node_modules/@noble/hashes/package.json +91 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts +66 -0
- package/node_modules/@noble/hashes/pbkdf2.js +176 -0
- package/node_modules/@noble/hashes/scrypt.d.ts +98 -0
- package/node_modules/@noble/hashes/scrypt.js +304 -0
- package/node_modules/@noble/hashes/sha2.d.ts +176 -0
- package/node_modules/@noble/hashes/sha2.js +446 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts +533 -0
- package/node_modules/@noble/hashes/sha3-addons.js +973 -0
- package/node_modules/@noble/hashes/sha3.d.ts +208 -0
- package/node_modules/@noble/hashes/sha3.js +475 -0
- package/node_modules/@noble/hashes/src/_blake.ts +67 -0
- package/node_modules/@noble/hashes/src/_md.ts +227 -0
- package/node_modules/@noble/hashes/src/_u64.ts +111 -0
- package/node_modules/@noble/hashes/src/argon2.ts +693 -0
- package/node_modules/@noble/hashes/src/blake1.ts +677 -0
- package/node_modules/@noble/hashes/src/blake2.ts +648 -0
- package/node_modules/@noble/hashes/src/blake3.ts +344 -0
- package/node_modules/@noble/hashes/src/eskdf.ts +265 -0
- package/node_modules/@noble/hashes/src/hkdf.ts +161 -0
- package/node_modules/@noble/hashes/src/hmac.ts +130 -0
- package/node_modules/@noble/hashes/src/index.ts +33 -0
- package/node_modules/@noble/hashes/src/legacy.ts +361 -0
- package/node_modules/@noble/hashes/src/pbkdf2.ts +219 -0
- package/node_modules/@noble/hashes/src/scrypt.ts +375 -0
- package/node_modules/@noble/hashes/src/sha2.ts +486 -0
- package/node_modules/@noble/hashes/src/sha3-addons.ts +1157 -0
- package/node_modules/@noble/hashes/src/sha3.ts +525 -0
- package/node_modules/@noble/hashes/src/utils.ts +978 -0
- package/node_modules/@noble/hashes/src/webcrypto.ts +283 -0
- package/node_modules/@noble/hashes/utils.d.ts +560 -0
- package/node_modules/@noble/hashes/utils.js +687 -0
- package/node_modules/@noble/hashes/webcrypto.d.ts +121 -0
- package/node_modules/@noble/hashes/webcrypto.js +228 -0
- package/node_modules/@poe-code/agent-mcp-config/dist/apply.js +23 -9
- package/node_modules/@poe-code/config-mutations/README.md +2 -0
- package/node_modules/@poe-code/config-mutations/dist/execution/apply-mutation.js +4 -5
- package/node_modules/@poe-code/config-mutations/dist/execution/path-utils.d.ts +3 -4
- package/node_modules/@poe-code/config-mutations/dist/execution/path-utils.js +3 -3
- package/node_modules/@poe-code/config-mutations/dist/template/render.js +1 -1
- package/node_modules/@poe-code/config-mutations/dist/testing/mock-fs.d.ts +2 -2
- package/node_modules/@poe-code/config-mutations/dist/testing/mock-fs.js +3 -6
- package/node_modules/@poe-code/config-mutations/dist/types.d.ts +4 -2
- package/node_modules/@poe-code/process-runner/README.md +2 -1
- package/node_modules/@poe-code/process-runner/dist/transfer-filesystem.d.ts +1 -0
- package/node_modules/@poe-code/process-runner/dist/transfer-filesystem.js +1 -0
- package/node_modules/@poe-code/process-runner/dist/transfer-filesystem.workerd.d.ts +2 -0
- package/node_modules/@poe-code/process-runner/dist/transfer-filesystem.workerd.js +1 -0
- package/node_modules/@poe-code/process-runner/dist/types.d.ts +1 -1
- package/node_modules/@poe-code/process-runner/dist/workspace-transfer.d.ts +6 -5
- package/node_modules/@poe-code/process-runner/dist/workspace-transfer.js +67 -29
- package/node_modules/@poe-code/process-runner/package.json +13 -0
- package/node_modules/@poe-code/safe-fs/LICENSE +21 -0
- package/node_modules/@poe-code/safe-fs/PROVENANCE.json +428 -0
- package/node_modules/@poe-code/safe-fs/README.md +411 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/confinement.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/confinement.js +171 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/filesystem.d.ts +93 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/filesystem.js +453 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/index.d.ts +7 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/index.js +19 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/stats.d.ts +4 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/stats.js +37 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/types.d.ts +81 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/types.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/values.d.ts +6 -0
- package/node_modules/@poe-code/safe-fs/dist/bridge/values.js +65 -0
- package/node_modules/@poe-code/safe-fs/dist/config/memory.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/config/memory.js +7 -0
- package/node_modules/@poe-code/safe-fs/dist/config/real.d.ts +5 -0
- package/node_modules/@poe-code/safe-fs/dist/config/real.js +16 -0
- package/node_modules/@poe-code/safe-fs/dist/config/registry.d.ts +2 -0
- package/node_modules/@poe-code/safe-fs/dist/config/registry.js +15 -0
- package/node_modules/@poe-code/safe-fs/dist/config.d.ts +15 -0
- package/node_modules/@poe-code/safe-fs/dist/config.js +46 -0
- package/node_modules/@poe-code/safe-fs/dist/config.node.d.ts +2 -0
- package/node_modules/@poe-code/safe-fs/dist/config.node.js +11 -0
- package/node_modules/@poe-code/safe-fs/dist/config.portable.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/config.portable.js +9 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/abort.d.ts +5 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/abort.js +34 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/cleanup.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/cleanup.js +9 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/descriptor.d.ts +38 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/descriptor.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/errors.d.ts +53 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/errors.js +99 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/filesystem.d.ts +379 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/filesystem.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/index.d.ts +6 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/index.js +6 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/io.d.ts +12 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/io.js +321 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/object.d.ts +134 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/object.js +97 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/path.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/path.js +2 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/portable-path.d.ts +21 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/portable-path.js +78 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/virtual-path.d.ts +15 -0
- package/node_modules/@poe-code/safe-fs/dist/contracts/virtual-path.js +162 -0
- package/node_modules/@poe-code/safe-fs/dist/core.d.ts +19 -0
- package/node_modules/@poe-code/safe-fs/dist/core.js +17 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/capabilities.d.ts +10 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/capabilities.js +216 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/conditional-chmod.d.ts +7 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/conditional-chmod.js +19 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/descriptor.d.ts +21 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/descriptor.js +279 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/devices/index.d.ts +59 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/devices/index.js +875 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/devices/path.d.ts +7 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/devices/path.js +250 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/devices/stream.d.ts +6 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/devices/stream.js +136 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/directory-admission.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/directory-admission.js +14 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/atomic-view.d.ts +11 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/atomic-view.js +13 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/index.d.ts +186 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/index.js +3771 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/ledger.d.ts +26 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/ledger.js +96 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/limits.d.ts +13 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/limits.js +26 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/missing-target.d.ts +15 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/memory/missing-target.js +144 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/mount/comparison.d.ts +19 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/mount/comparison.js +118 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/mount/identity.d.ts +6 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/mount/identity.js +29 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/mount/index.d.ts +74 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/mount/index.js +1291 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/object-authority.d.ts +27 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/object-authority.js +287 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/object-publication/index.d.ts +45 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/object-publication/index.js +531 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/overlay/index.d.ts +87 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/overlay/index.js +1185 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/overlay/memory-publication.d.ts +42 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/overlay/memory-publication.js +558 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/path-namespace.d.ts +4 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/path-namespace.js +63 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/quota/index.d.ts +12 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/quota/index.js +520 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/readonly/index.d.ts +37 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/readonly/index.js +208 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/real/allocation.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/real/allocation.js +8 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/real/index.d.ts +105 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/real/index.js +1259 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/authority.d.ts +7 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/authority.js +38 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/filesystem.d.ts +130 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/filesystem.js +1137 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/bytes.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/bytes.js +9 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/index.d.ts +2 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/index.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/request-fetch.d.ts +15 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/request-fetch.js +74 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/request-node.d.ts +4 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/request-node.js +111 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/request.d.ts +17 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/request.js +89 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/signature.d.ts +20 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/signature.js +76 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/transport.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/transport.js +478 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/types.d.ts +30 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/types.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/xml.d.ts +14 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/http/xml.js +192 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/index.d.ts +8 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/index.js +4 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/key-order.d.ts +2 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/key-order.js +11 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/manifest-admission.d.ts +8 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/manifest-admission.js +167 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/mock.d.ts +48 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/mock.js +249 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/namespace.d.ts +13 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/namespace.js +400 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/registry.d.ts +10 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/registry.js +73 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/transport.d.ts +103 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/s3/transport.js +28 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/scoped.d.ts +19 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/scoped.js +663 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/staging-ancestry.d.ts +8 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/staging-ancestry.js +115 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/staging-cleanup.d.ts +5 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/staging-cleanup.js +63 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/webdav/index.d.ts +2 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/webdav/index.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/webdav/resource-id.d.ts +18 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/webdav/resource-id.js +109 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/webdav/webdav.d.ts +141 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/webdav/webdav.js +1377 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/webdav/xml.d.ts +15 -0
- package/node_modules/@poe-code/safe-fs/dist/fs/webdav/xml.js +59 -0
- package/node_modules/@poe-code/safe-fs/dist/index.d.ts +25 -0
- package/node_modules/@poe-code/safe-fs/dist/index.js +21 -0
- package/node_modules/@poe-code/safe-fs/dist/native/fs-seek/linux-x64-glibc.node +0 -0
- package/node_modules/@poe-code/safe-fs/dist/native/fs-seek/loader.d.ts +5 -0
- package/node_modules/@poe-code/safe-fs/dist/native/fs-seek/loader.mjs +120 -0
- package/node_modules/@poe-code/safe-fs/dist/native/fs-seek/manifest.json +46 -0
- package/node_modules/@poe-code/safe-fs/dist/node/filesystem.d.ts +19 -0
- package/node_modules/@poe-code/safe-fs/dist/node/filesystem.js +30 -0
- package/node_modules/@poe-code/safe-fs/dist/node/host.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/node/host.js +78 -0
- package/node_modules/@poe-code/safe-fs/dist/node/index.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/node/index.js +2 -0
- package/node_modules/@poe-code/safe-fs/dist/node/native-seek-unavailable.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/node/native-seek-unavailable.js +5 -0
- package/node_modules/@poe-code/safe-fs/dist/node/native-seek.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/node/native-seek.js +54 -0
- package/node_modules/@poe-code/safe-fs/dist/node/stats.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/node/stats.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/node/values.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/node/values.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/node-host.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/node-host.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/node-unavailable.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/node-unavailable.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/package.json +29 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/browser-path.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/browser-path.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/browser.d.ts +26 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/browser.js +58 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/node-path.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/node-path.js +1 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/node.d.ts +26 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/node.js +64 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/transport-budget.d.ts +9 -0
- package/node_modules/@poe-code/safe-fs/dist/platform/transport-budget.js +17 -0
- package/node_modules/@poe-code/safe-fs/dist/python/emscripten.d.ts +15 -0
- package/node_modules/@poe-code/safe-fs/dist/python/emscripten.js +357 -0
- package/node_modules/@poe-code/safe-fs/dist/python/filesystem.d.ts +51 -0
- package/node_modules/@poe-code/safe-fs/dist/python/filesystem.js +243 -0
- package/node_modules/@poe-code/safe-fs/dist/python/flags.d.ts +3 -0
- package/node_modules/@poe-code/safe-fs/dist/python/flags.js +14 -0
- package/node_modules/@poe-code/safe-fs/dist/python/index.d.ts +9 -0
- package/node_modules/@poe-code/safe-fs/dist/python/index.js +5 -0
- package/node_modules/@poe-code/safe-fs/dist/python/native.d.ts +18 -0
- package/node_modules/@poe-code/safe-fs/dist/python/native.js +446 -0
- package/node_modules/@poe-code/safe-fs/dist/python/request.d.ts +2 -0
- package/node_modules/@poe-code/safe-fs/dist/python/request.js +61 -0
- package/node_modules/@poe-code/safe-fs/dist/python/stat.d.ts +8 -0
- package/node_modules/@poe-code/safe-fs/dist/python/stat.js +34 -0
- package/node_modules/@poe-code/safe-fs/dist/runtime-core.d.ts +27 -0
- package/node_modules/@poe-code/safe-fs/dist/runtime-core.js +57 -0
- package/node_modules/@poe-code/safe-fs/dist/testing/atomic-filesystem.d.ts +16 -0
- package/node_modules/@poe-code/safe-fs/dist/testing/atomic-filesystem.js +496 -0
- package/node_modules/@poe-code/safe-fs/dist/testing/object-io-control.d.ts +23 -0
- package/node_modules/@poe-code/safe-fs/dist/testing/object-io-control.js +39 -0
- package/node_modules/@poe-code/safe-fs/dist/testing/object-io-metrics.d.ts +31 -0
- package/node_modules/@poe-code/safe-fs/dist/testing/object-io-metrics.js +143 -0
- package/node_modules/@poe-code/safe-fs/dist/testing/object-publication.d.ts +19 -0
- package/node_modules/@poe-code/safe-fs/dist/testing/object-publication.js +209 -0
- package/node_modules/@poe-code/safe-fs/dist/xml.d.ts +1 -0
- package/node_modules/@poe-code/safe-fs/dist/xml.js +1 -0
- package/node_modules/@poe-code/safe-fs/package.json +189 -0
- package/node_modules/@poe-code/task-list/README.md +2 -0
- package/node_modules/@poe-code/task-list/dist/backends/gh-issues-client.d.ts +1 -1
- package/node_modules/@poe-code/task-list/dist/backends/gh-issues-client.js +11 -4
- package/node_modules/@poe-code/task-list/dist/backends/markdown-dir.js +2 -2
- package/node_modules/@poe-code/task-list/dist/backends/utils.js +5 -7
- package/node_modules/@poe-code/task-list/dist/backends/yaml-file.js +1 -1
- package/node_modules/@poe-code/task-list/dist/default-host.d.ts +2 -0
- package/node_modules/@poe-code/task-list/dist/default-host.js +2 -0
- package/node_modules/@poe-code/task-list/dist/default-host.workerd.d.ts +4 -0
- package/node_modules/@poe-code/task-list/dist/default-host.workerd.js +6 -0
- package/node_modules/@poe-code/task-list/dist/filesystem.d.ts +3 -0
- package/node_modules/@poe-code/task-list/dist/filesystem.js +32 -0
- package/node_modules/@poe-code/task-list/dist/move.js +3 -3
- package/node_modules/@poe-code/task-list/dist/open.js +2 -5
- package/node_modules/@poe-code/task-list/dist/paths.d.ts +12 -0
- package/node_modules/@poe-code/task-list/dist/paths.js +7 -0
- package/node_modules/@poe-code/task-list/dist/types.d.ts +6 -5
- package/node_modules/@poe-code/task-list/package.json +9 -0
- package/node_modules/@poe-code/terminal-text/LICENSE +21 -0
- package/node_modules/@poe-code/terminal-text/README.md +12 -0
- package/node_modules/@poe-code/terminal-text/dist/index.d.ts +2 -0
- package/node_modules/@poe-code/terminal-text/dist/index.js +20 -0
- package/node_modules/@poe-code/terminal-text/package.json +22 -0
- package/node_modules/@poe-code/xml-ast/LICENSE +21 -0
- package/node_modules/@poe-code/xml-ast/README.md +28 -0
- package/node_modules/@poe-code/xml-ast/dist/index.d.ts +47 -0
- package/node_modules/@poe-code/xml-ast/dist/index.js +635 -0
- package/node_modules/@poe-code/xml-ast/package.json +25 -0
- package/node_modules/auth-store/README.md +35 -0
- package/node_modules/auth-store/dist/index.browser.d.ts +4 -0
- package/node_modules/auth-store/dist/index.browser.js +2 -0
- package/node_modules/auth-store/dist/provider-store.d.ts +1 -1
- package/node_modules/auth-store/dist/safe-fs-secret-store.d.ts +21 -0
- package/node_modules/auth-store/dist/safe-fs-secret-store.js +119 -0
- package/node_modules/auth-store/dist/secret-store.d.ts +12 -0
- package/node_modules/auth-store/dist/secret-store.js +1 -0
- package/node_modules/auth-store/dist/transaction-lock.d.ts +2 -4
- package/node_modules/auth-store/dist/types.d.ts +2 -9
- package/node_modules/auth-store/package.json +16 -2
- package/node_modules/tiny-http-mcp-server/dist/composition.json +16 -1
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/README.md +25 -0
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/authorization-state.js +4 -4
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/default-oauth-client-provider.js +6 -40
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/oauth-form.d.ts +10 -0
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/oauth-form.js +20 -0
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/pkce.js +4 -3
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/register-client.d.ts +14 -0
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/register-client.js +53 -0
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/resumable.d.ts +16 -2
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/resumable.js +29 -9
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/revoke-token.d.ts +12 -0
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/revoke-token.js +23 -0
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/client/token-endpoint.js +6 -19
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/http-fetch.js +1 -1
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/index.browser.d.ts +6 -2
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/index.browser.js +5 -1
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/index.d.ts +5 -2
- package/node_modules/tiny-http-mcp-server/node_modules/mcp-oauth/dist/index.js +4 -1
- package/node_modules/tiny-http-mcp-server/package.json +4 -4
- package/node_modules/tiny-mcp-client/README.md +2 -0
- package/node_modules/tiny-mcp-client/dist/index.browser.d.ts +25 -23
- package/node_modules/tiny-mcp-client/dist/index.browser.js +116 -1
- package/node_modules/tiny-mcp-client/dist/index.d.ts +25 -23
- package/node_modules/tiny-mcp-client/dist/index.js +1034 -561
- package/node_modules/tiny-mcp-client/package.json +15 -0
- package/node_modules/tiny-stdio-mcp-server/dist/composition.json +1 -1
- package/node_modules/toolcraft-design/dist/components/table.js +6 -0
- package/node_modules/toolcraft-design/dist/escape-terminal-text.d.ts +1 -2
- package/node_modules/toolcraft-design/dist/escape-terminal-text.js +1 -20
- package/node_modules/toolcraft-design/dist/terminal-markdown/parser/frontmatter.js +2 -1
- package/node_modules/toolcraft-design/dist/terminal-markdown/parser.js +2 -1
- package/node_modules/toolcraft-schema/dist/json-schema/utils.js +3 -0
- package/node_modules/toolcraft-schema/package.json +1 -1
- package/package.json +32 -7
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
import type { ExactFileReadHandle, ExactFileResizeHandle, ObjectFileSystem } from "./object.js";
|
|
2
|
+
import type { ByteSource } from "./io.js";
|
|
3
|
+
import type { FileDescriptor, OpenFileOptions } from "./descriptor.js";
|
|
4
|
+
export type { FileDescriptor, FileDescriptorCapabilities, OpenFileOptions } from "./descriptor.js";
|
|
5
|
+
export type FileType = "file" | "directory" | "symlink" | "character";
|
|
6
|
+
export type EntryComparison = "same" | "distinct" | "unknown";
|
|
7
|
+
export interface FileStat {
|
|
8
|
+
readonly type: FileType;
|
|
9
|
+
/** Backend-reported type of the containing filesystem; absence means unknown. */
|
|
10
|
+
readonly filesystemType?: string;
|
|
11
|
+
readonly size: number;
|
|
12
|
+
readonly allocatedBytes?: number;
|
|
13
|
+
readonly ioBlockSize?: number;
|
|
14
|
+
readonly preferredIoBlockSize?: number;
|
|
15
|
+
readonly mode: number;
|
|
16
|
+
readonly mtimeMs: number;
|
|
17
|
+
readonly atimeMs: number;
|
|
18
|
+
readonly ctimeMs: number;
|
|
19
|
+
readonly birthtimeMs?: number;
|
|
20
|
+
readonly revision?: number;
|
|
21
|
+
readonly identityScope?: object | symbol;
|
|
22
|
+
/** Authoritative backing identity within identityScope; aliases share this key. */
|
|
23
|
+
readonly opaqueIdentity?: string;
|
|
24
|
+
/** ABA-safe namespace generation, changed by replacement and delete/recreate. */
|
|
25
|
+
readonly opaqueVersion?: string;
|
|
26
|
+
readonly ino?: number;
|
|
27
|
+
readonly dev?: number;
|
|
28
|
+
readonly rdevMajor?: number;
|
|
29
|
+
readonly rdevMinor?: number;
|
|
30
|
+
readonly nlink?: number;
|
|
31
|
+
readonly uid?: number;
|
|
32
|
+
readonly gid?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface DirectoryEntry {
|
|
35
|
+
readonly name: string;
|
|
36
|
+
readonly type: FileType;
|
|
37
|
+
}
|
|
38
|
+
export interface FileSystemCapabilities {
|
|
39
|
+
readonly open?: boolean;
|
|
40
|
+
readonly versionedDescriptors?: boolean;
|
|
41
|
+
/** Prefer pathname streaming for shell > / >> when supported, retaining open for explicit handles.
|
|
42
|
+
* The host owns stream atomicity; this does not provide retained descriptor identity for redirected output. */
|
|
43
|
+
readonly preferStreamingRedirection?: boolean;
|
|
44
|
+
readonly readOnly?: boolean;
|
|
45
|
+
readonly read?: boolean;
|
|
46
|
+
readonly stat?: boolean;
|
|
47
|
+
readonly readdir?: boolean;
|
|
48
|
+
readonly realpath?: boolean;
|
|
49
|
+
readonly access?: boolean;
|
|
50
|
+
readonly write?: boolean;
|
|
51
|
+
readonly append?: boolean;
|
|
52
|
+
readonly exclusiveCreate?: boolean;
|
|
53
|
+
readonly explicitDirectories?: boolean;
|
|
54
|
+
readonly implicitDirectories?: boolean;
|
|
55
|
+
readonly mkdir?: boolean;
|
|
56
|
+
readonly recursiveMkdir?: boolean;
|
|
57
|
+
readonly remove?: boolean;
|
|
58
|
+
readonly removeDirectory?: boolean;
|
|
59
|
+
readonly recursiveRemove?: boolean;
|
|
60
|
+
readonly rename?: boolean;
|
|
61
|
+
readonly copy?: boolean;
|
|
62
|
+
readonly exclusiveCopy?: boolean;
|
|
63
|
+
readonly readlink?: boolean;
|
|
64
|
+
readonly truncate?: boolean;
|
|
65
|
+
readonly streamingAppend?: boolean;
|
|
66
|
+
readonly randomAccessWrite?: boolean;
|
|
67
|
+
readonly independentWriteStreams?: boolean;
|
|
68
|
+
readonly symlinks?: boolean;
|
|
69
|
+
readonly hardlinks?: boolean;
|
|
70
|
+
readonly permissions?: boolean;
|
|
71
|
+
/** Enforces chmod target/ancestry receipts and a synchronous guard at the metadata commit.
|
|
72
|
+
* Host adapters retain their documented external-filesystem isolation requirements. */
|
|
73
|
+
readonly conditionalChmod?: boolean;
|
|
74
|
+
readonly timestamps?: boolean;
|
|
75
|
+
readonly atomicRename?: boolean;
|
|
76
|
+
/** Owned staging serialized within a trusted host; requires external tree isolation. */
|
|
77
|
+
readonly trustedOwnedStaging?: boolean;
|
|
78
|
+
readonly atomicFileStaging?: boolean;
|
|
79
|
+
/** Creates a cleanup handle bound to owned staging entries, independent of ancestor paths. */
|
|
80
|
+
readonly retainedStagingCleanup?: boolean;
|
|
81
|
+
readonly retainedStagingWrite?: boolean;
|
|
82
|
+
/** Atomically verifies every supplied root-to-parent directory identity at publication. */
|
|
83
|
+
readonly atomicStagingAncestry?: boolean;
|
|
84
|
+
/** Prepares directory guards that validate without yielding or mutating state. */
|
|
85
|
+
readonly synchronousDirectoryValidation?: boolean;
|
|
86
|
+
/** Captures a followed destination path with a synchronous commit validator. */
|
|
87
|
+
readonly synchronousStagingResolution?: boolean;
|
|
88
|
+
/** Invokes commitGuard in the same synchronous section as staged replacement. */
|
|
89
|
+
readonly guardedStagingPublication?: boolean;
|
|
90
|
+
readonly atomicFilePublication?: boolean;
|
|
91
|
+
readonly atomicFileMutation?: boolean;
|
|
92
|
+
readonly atomicEntryRemoval?: boolean;
|
|
93
|
+
/** Returns an atomic post-unlink inode snapshot when explicitly requested. */
|
|
94
|
+
readonly atomicEntryRemovalReceipt?: boolean;
|
|
95
|
+
readonly atomicTreeRemoval?: boolean;
|
|
96
|
+
readonly atomicDirectoryMetadata?: boolean;
|
|
97
|
+
readonly atomicRenameNoReplace?: boolean;
|
|
98
|
+
readonly snapshotRmdir?: boolean;
|
|
99
|
+
readonly streamingRead?: boolean;
|
|
100
|
+
readonly retainedRead?: boolean;
|
|
101
|
+
readonly retainedResize?: boolean;
|
|
102
|
+
readonly atomicResize?: boolean;
|
|
103
|
+
readonly streamingWrite?: boolean;
|
|
104
|
+
readonly descriptorWriteStream?: boolean;
|
|
105
|
+
readonly [capability: string]: boolean | undefined;
|
|
106
|
+
}
|
|
107
|
+
export interface FsOptions {
|
|
108
|
+
/** Optional virtual device path traversal quotas; disabled by default. */
|
|
109
|
+
readonly pathLimits?: import("./virtual-path.js").PathLimits;
|
|
110
|
+
readonly signal?: AbortSignal;
|
|
111
|
+
}
|
|
112
|
+
export interface ChmodOptions extends FsOptions {
|
|
113
|
+
/** Conditional fields require conditionalChmod and a complete parent/target/ancestry receipt. */
|
|
114
|
+
readonly parent?: FileStat;
|
|
115
|
+
readonly expected?: FileStat;
|
|
116
|
+
readonly ancestors?: readonly FileStagingEntry[];
|
|
117
|
+
/** Trusted, mutation-free validation; must return literal true synchronously. */
|
|
118
|
+
readonly commitGuard?: () => true;
|
|
119
|
+
}
|
|
120
|
+
export interface OpenReadFileOptions extends FsOptions {
|
|
121
|
+
readonly allowDirectory?: boolean;
|
|
122
|
+
}
|
|
123
|
+
export interface CapabilityQueryOptions extends OpenReadFileOptions {
|
|
124
|
+
/** Include complete wrapper ancestry when checking conditional chmod support. */
|
|
125
|
+
readonly conditionalChmod?: boolean;
|
|
126
|
+
/** Inspect complete ancestry for staged publication, including other mounts.
|
|
127
|
+
* Omission retains the ordinary per-target query and its acquisition intent. */
|
|
128
|
+
readonly stagingAncestry?: boolean;
|
|
129
|
+
readonly stagingResolution?: boolean;
|
|
130
|
+
readonly create?: boolean;
|
|
131
|
+
readonly creation?: OpenFileOptions["creation"];
|
|
132
|
+
}
|
|
133
|
+
export interface FileReadHandle {
|
|
134
|
+
/** Exact operations on the same retained object; close owns both facets. */
|
|
135
|
+
readonly exact?: ExactFileReadHandle;
|
|
136
|
+
stat(options?: FsOptions): Promise<FileStat>;
|
|
137
|
+
read(position: number, maxBytes: number, options?: FsOptions): Promise<Uint8Array>;
|
|
138
|
+
seekEnd?: ((options?: FsOptions) => Promise<bigint>) | undefined;
|
|
139
|
+
close(): Promise<void>;
|
|
140
|
+
}
|
|
141
|
+
export interface OpenResizeFileOptions extends FsOptions {
|
|
142
|
+
readonly create?: boolean;
|
|
143
|
+
readonly mode?: number;
|
|
144
|
+
}
|
|
145
|
+
/** A single atomic read/compute/resize operation, never a caller-side stat/write pair.
|
|
146
|
+
* size and referenceSize use signed 64-bit byte integers (referenceSize is nonnegative).
|
|
147
|
+
* ioBlocks scales size by the target's preferred I/O block size before applying the
|
|
148
|
+
* modifier. Relative/min/max/round operations use referenceSize or the current size.
|
|
149
|
+
* Signed overflow rejects; negative final sizes clamp to zero. Providers enforce
|
|
150
|
+
* their size/quota/permission limits before allocation or publication. */
|
|
151
|
+
export interface FileResizeOperation {
|
|
152
|
+
readonly size: bigint;
|
|
153
|
+
readonly modifier: "absolute" | "relative" | "minimum" | "maximum" | "down" | "up";
|
|
154
|
+
readonly referenceSize?: bigint;
|
|
155
|
+
readonly ioBlocks?: boolean;
|
|
156
|
+
}
|
|
157
|
+
export interface FileResizeOptions extends FsOptions {
|
|
158
|
+
readonly create?: boolean;
|
|
159
|
+
readonly mode?: number;
|
|
160
|
+
}
|
|
161
|
+
export interface FileResizeHandle {
|
|
162
|
+
/** Exact operations on the same retained object; close owns both facets. */
|
|
163
|
+
readonly exact?: ExactFileResizeHandle;
|
|
164
|
+
stat(options?: FsOptions): Promise<FileStat>;
|
|
165
|
+
truncate(length: number, options?: FsOptions): Promise<void>;
|
|
166
|
+
seekEnd?: ((options?: FsOptions) => Promise<bigint>) | undefined;
|
|
167
|
+
close(): Promise<void>;
|
|
168
|
+
}
|
|
169
|
+
export interface RenameOptions extends FsOptions {
|
|
170
|
+
readonly noReplace?: boolean;
|
|
171
|
+
}
|
|
172
|
+
export interface ReadFileOptions extends FsOptions {
|
|
173
|
+
/** Nonnegative safe-integer byte cap; Infinity adds no per-read cap. */
|
|
174
|
+
readonly maxBytes?: number;
|
|
175
|
+
}
|
|
176
|
+
export interface ReadDirectoryOptions extends FsOptions {
|
|
177
|
+
/**
|
|
178
|
+
* Optional per-listing entry admission limit, a nonnegative safe integer or Infinity.
|
|
179
|
+
* Zero permits an empty listing; overflow rejects with EFBIG, never truncates.
|
|
180
|
+
* Omission or Infinity preserves the adapter's existing limits and ordering. Composed
|
|
181
|
+
* adapters may conservatively count distinct candidates before visibility
|
|
182
|
+
* filtering. This is not a global traversal, host-allocation or work quota.
|
|
183
|
+
*/
|
|
184
|
+
readonly maxEntries?: number;
|
|
185
|
+
}
|
|
186
|
+
export interface WriteFileOptions extends FsOptions {
|
|
187
|
+
readonly flag?: "w" | "wx" | "a" | "ax";
|
|
188
|
+
readonly mode?: number;
|
|
189
|
+
}
|
|
190
|
+
export interface AppendFileOptions extends FsOptions {
|
|
191
|
+
readonly mode?: number;
|
|
192
|
+
}
|
|
193
|
+
export interface MkdirOptions extends FsOptions {
|
|
194
|
+
/** Apply mode exactly to new entries, without an additional host umask. */
|
|
195
|
+
readonly exactMode?: boolean;
|
|
196
|
+
readonly recursive?: boolean;
|
|
197
|
+
readonly mode?: number;
|
|
198
|
+
}
|
|
199
|
+
export interface RemoveOptions extends FsOptions {
|
|
200
|
+
readonly recursive?: boolean;
|
|
201
|
+
readonly force?: boolean;
|
|
202
|
+
}
|
|
203
|
+
export interface CopyFileOptions extends FsOptions {
|
|
204
|
+
readonly exclusive?: boolean;
|
|
205
|
+
}
|
|
206
|
+
export interface ReadStreamOptions extends FsOptions {
|
|
207
|
+
readonly start?: number;
|
|
208
|
+
readonly endExclusive?: number;
|
|
209
|
+
readonly chunkSize?: number;
|
|
210
|
+
}
|
|
211
|
+
export interface ConditionalWriteFileOptions extends FsOptions {
|
|
212
|
+
readonly parent: FileStat;
|
|
213
|
+
readonly expected: FileStat | null;
|
|
214
|
+
readonly append?: boolean;
|
|
215
|
+
readonly mode?: number;
|
|
216
|
+
readonly atimeMs?: number;
|
|
217
|
+
readonly mtimeMs?: number;
|
|
218
|
+
}
|
|
219
|
+
export interface ConditionalRemoveEntryOptions extends FsOptions {
|
|
220
|
+
readonly parent: FileStat;
|
|
221
|
+
readonly expected: FileStat;
|
|
222
|
+
}
|
|
223
|
+
export interface ConditionalRemoveEntryReceiptOptions extends ConditionalRemoveEntryOptions {
|
|
224
|
+
readonly returnRemainingStat?: boolean | undefined;
|
|
225
|
+
}
|
|
226
|
+
export type ConditionalRemoveFileOptions = ConditionalRemoveEntryOptions;
|
|
227
|
+
export interface FileStagingEntry {
|
|
228
|
+
readonly path: string;
|
|
229
|
+
readonly stat: FileStat;
|
|
230
|
+
}
|
|
231
|
+
export interface FileResolutionStep extends FileStagingEntry {
|
|
232
|
+
readonly linkTarget?: string;
|
|
233
|
+
}
|
|
234
|
+
export interface FileStagingResolution {
|
|
235
|
+
readonly path: string;
|
|
236
|
+
readonly parent: FileStat;
|
|
237
|
+
readonly destination: FileStat | null;
|
|
238
|
+
readonly ancestors: readonly FileStagingEntry[];
|
|
239
|
+
readonly traversed: readonly FileResolutionStep[];
|
|
240
|
+
readonly validate: () => true;
|
|
241
|
+
}
|
|
242
|
+
/** Ownership acquired with staging creation. remove is one-shot with shared
|
|
243
|
+
* completion; close drains admitted removal and releases without new mutation.
|
|
244
|
+
* Both release retained resources even after a failed removal. Call close when
|
|
245
|
+
* abandoning the staging receipt. An explicit cleanup signal is independent of
|
|
246
|
+
* the creation signal; scoped cleanup consumes the cleanup operation budget. */
|
|
247
|
+
export interface FileStagingCleanup {
|
|
248
|
+
remove(options?: FsOptions): Promise<void>;
|
|
249
|
+
close(): Promise<void>;
|
|
250
|
+
}
|
|
251
|
+
export interface FileStaging {
|
|
252
|
+
readonly parent: FileStagingEntry;
|
|
253
|
+
readonly directory: FileStagingEntry;
|
|
254
|
+
readonly file: FileStagingEntry;
|
|
255
|
+
readonly cleanup?: FileStagingCleanup;
|
|
256
|
+
/** Available for retained regular-file staging on qualified backends. Writes
|
|
257
|
+
* append to the owned entry; finish seals it and returns its publication stat.
|
|
258
|
+
* Cleanup owns the lifetime and checks the last successfully written revision. */
|
|
259
|
+
readonly writer?: {
|
|
260
|
+
write(bytes: Uint8Array, options?: FsOptions): Promise<void>;
|
|
261
|
+
finish(options?: FsOptions): Promise<FileStat>;
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
export type StagedFileContent = {
|
|
265
|
+
readonly type: "file";
|
|
266
|
+
readonly data: Uint8Array;
|
|
267
|
+
} | {
|
|
268
|
+
readonly type: "symlink";
|
|
269
|
+
readonly target: string;
|
|
270
|
+
};
|
|
271
|
+
export interface CreateStagedFileOptions extends FsOptions {
|
|
272
|
+
/** Requires retainedStagingCleanup; unsupported backends reject before creation. */
|
|
273
|
+
readonly retainCleanup?: boolean;
|
|
274
|
+
readonly parent: FileStat;
|
|
275
|
+
readonly mode?: number;
|
|
276
|
+
readonly atimeMs?: number;
|
|
277
|
+
readonly mtimeMs?: number;
|
|
278
|
+
}
|
|
279
|
+
export interface PublishStagedFileOptions extends FsOptions {
|
|
280
|
+
readonly ancestors?: readonly FileStagingEntry[];
|
|
281
|
+
/** Trusted, mutation-free validation. Must return literal true synchronously;
|
|
282
|
+
* a promise is not acceptance. Requires guardedStagingPublication. */
|
|
283
|
+
readonly commitGuard?: () => true;
|
|
284
|
+
readonly parent: FileStat;
|
|
285
|
+
readonly destination: FileStat | null;
|
|
286
|
+
}
|
|
287
|
+
/** Publish one staged regular file and validate/retire sibling source entries in
|
|
288
|
+
* the same indivisible commit. Every expected version (including absence) must
|
|
289
|
+
* match before any mutation. Hosts must not emulate this with sequential calls.
|
|
290
|
+
* Unavailable hosts omit publishStagedFileSet. Sources remain caller-owned. */
|
|
291
|
+
export interface PublishStagedFileSetOptions extends PublishStagedFileOptions {
|
|
292
|
+
readonly companions: readonly {
|
|
293
|
+
readonly path: string;
|
|
294
|
+
readonly expected: FileStat | null;
|
|
295
|
+
readonly remove: boolean;
|
|
296
|
+
}[];
|
|
297
|
+
}
|
|
298
|
+
export interface PrepareDirectoryOptions extends FsOptions {
|
|
299
|
+
readonly expected: FileStat | null;
|
|
300
|
+
readonly parent: FileStat;
|
|
301
|
+
readonly mode?: number;
|
|
302
|
+
readonly atimeMs?: number;
|
|
303
|
+
readonly mtimeMs?: number;
|
|
304
|
+
}
|
|
305
|
+
export interface ConditionalFilePublicationOptions extends FsOptions {
|
|
306
|
+
readonly expected: FileStat | null;
|
|
307
|
+
readonly parent: FileStat;
|
|
308
|
+
readonly maxBytes: number;
|
|
309
|
+
readonly mode?: number;
|
|
310
|
+
readonly mtimeMs?: number;
|
|
311
|
+
}
|
|
312
|
+
export interface FileSystem {
|
|
313
|
+
/** Retain each extraction root and enforce no-symlink ancestry atomically with
|
|
314
|
+
* every mutation (including metadata and both hardlink paths). Returned views
|
|
315
|
+
* must refuse unsupported mutations; no check-then-write emulation is allowed.
|
|
316
|
+
* Roots and their ancestors must remain the retained directories. */
|
|
317
|
+
confineExtraction?(roots: readonly string[], options?: FsOptions): Promise<FileSystem>;
|
|
318
|
+
/** Explicit retained-object capability for qualified byte-path backends. */
|
|
319
|
+
readonly objects?: ObjectFileSystem;
|
|
320
|
+
/** Consume the complete source privately, then atomically compare/publish.
|
|
321
|
+
* Failures before commit preserve the destination. No stat/write fallback. */
|
|
322
|
+
publishFileConditional?(path: string, source: ByteSource, options: ConditionalFilePublicationOptions): Promise<FileStat>;
|
|
323
|
+
writeFileConditional?(path: string, data: Uint8Array, options: ConditionalWriteFileOptions): Promise<FileStat>;
|
|
324
|
+
removeEntryConditional?(path: string, options: ConditionalRemoveEntryOptions & {
|
|
325
|
+
readonly returnRemainingStat?: false | undefined;
|
|
326
|
+
}): Promise<void>;
|
|
327
|
+
removeEntryConditional?(path: string, options: ConditionalRemoveEntryReceiptOptions): Promise<void | FileStat>;
|
|
328
|
+
removeTreeConditional?(path: string, options: ConditionalRemoveEntryOptions): Promise<void>;
|
|
329
|
+
removeFileConditional?(path: string, options: ConditionalRemoveFileOptions): Promise<void>;
|
|
330
|
+
readonly capabilities: FileSystemCapabilities;
|
|
331
|
+
open?(path: string, options: OpenFileOptions): Promise<FileDescriptor>;
|
|
332
|
+
prepareDirectory?(path: string, options: PrepareDirectoryOptions): Promise<FileStat>;
|
|
333
|
+
createStagedFile?(directoryPath: string, name: string, content: StagedFileContent, options: CreateStagedFileOptions): Promise<FileStaging>;
|
|
334
|
+
publishStagedFile?(staging: FileStaging, destination: string, options: PublishStagedFileOptions): Promise<void>;
|
|
335
|
+
publishStagedFileSet?(staging: FileStaging, destination: string, options: PublishStagedFileSetOptions): Promise<FileStat>;
|
|
336
|
+
/** Admit a complete canonical root-to-directory prefix and prepare a guard.
|
|
337
|
+
* The returned guard checks current identities/search access synchronously;
|
|
338
|
+
* preparation is not validation, and the guard's result is not an async lease. */
|
|
339
|
+
prepareDirectoryAncestry?(ancestors: readonly FileStagingEntry[], options?: FsOptions): Promise<() => true>;
|
|
340
|
+
prepareStagingResolution?(path: string, options?: FsOptions): Promise<FileStagingResolution>;
|
|
341
|
+
removeStagedFile?(staging: FileStaging, options?: FsOptions): Promise<void>;
|
|
342
|
+
openReadFile?(path: string, options?: OpenReadFileOptions): Promise<FileReadHandle>;
|
|
343
|
+
openResizeFile?(path: string, options?: OpenResizeFileOptions): Promise<FileResizeHandle>;
|
|
344
|
+
/** Missing targets reject ENOENT unless create is true; existing bytes survive refusals. */
|
|
345
|
+
resizeFile?(path: string, operation: FileResizeOperation, options?: FileResizeOptions): Promise<void>;
|
|
346
|
+
canonicalizeMissingTarget?(path: string, options?: FsOptions): string | undefined;
|
|
347
|
+
capabilitiesFor?(path: string, options?: CapabilityQueryOptions): Promise<FileSystemCapabilities>;
|
|
348
|
+
readFile(path: string, options?: ReadFileOptions): Promise<Uint8Array>;
|
|
349
|
+
writeFile(path: string, data: Uint8Array, options?: WriteFileOptions): Promise<void>;
|
|
350
|
+
appendFile(path: string, data: Uint8Array, options?: AppendFileOptions): Promise<void>;
|
|
351
|
+
stat(path: string, options?: FsOptions): Promise<FileStat>;
|
|
352
|
+
lstat(path: string, options?: FsOptions): Promise<FileStat>;
|
|
353
|
+
compareEntry?(path: string, peer: FileSystem, peerPath: string, options?: FsOptions): Promise<EntryComparison>;
|
|
354
|
+
readdir(path: string, options?: ReadDirectoryOptions): Promise<DirectoryEntry[]>;
|
|
355
|
+
mkdir(path: string, options?: MkdirOptions): Promise<void>;
|
|
356
|
+
rm(path: string, options?: RemoveOptions): Promise<void>;
|
|
357
|
+
/** Atomic final-entry removal; every directory is refused, including raced replacements. */
|
|
358
|
+
unlink?(path: string, options?: FsOptions): Promise<void>;
|
|
359
|
+
rmdir?(path: string, options?: FsOptions): Promise<void>;
|
|
360
|
+
rename(source: string, destination: string, options?: RenameOptions): Promise<void>;
|
|
361
|
+
copyFile(source: string, destination: string, options?: CopyFileOptions): Promise<void>;
|
|
362
|
+
realpath(path: string, options?: FsOptions): Promise<string>;
|
|
363
|
+
access(path: string, mode?: number, options?: FsOptions): Promise<void>;
|
|
364
|
+
readlink?(path: string, options?: FsOptions): Promise<string>;
|
|
365
|
+
symlink?(target: string, path: string, options?: FsOptions): Promise<void>;
|
|
366
|
+
link?(existingPath: string, newPath: string, options?: FsOptions): Promise<void>;
|
|
367
|
+
chmod?(path: string, mode: number, options?: ChmodOptions): Promise<void>;
|
|
368
|
+
utimes?(path: string, atimeMs: number, mtimeMs: number, options?: FsOptions): Promise<void>;
|
|
369
|
+
truncate?(path: string, length?: number, options?: FsOptions): Promise<void>;
|
|
370
|
+
readStream?(path: string, options?: ReadStreamOptions): ByteSource;
|
|
371
|
+
writeStream?(path: string, source: ByteSource, options?: WriteFileOptions): Promise<void>;
|
|
372
|
+
}
|
|
373
|
+
export type FileSystemFactory = (options: Readonly<Record<string, unknown>>) => FileSystem | Promise<FileSystem>;
|
|
374
|
+
export declare const ACCESS_MODES: Readonly<{
|
|
375
|
+
F_OK: 0;
|
|
376
|
+
R_OK: 4;
|
|
377
|
+
W_OK: 2;
|
|
378
|
+
X_OK: 1;
|
|
379
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const ACCESS_MODES = Object.freeze({ F_OK: 0, R_OK: 4, W_OK: 2, X_OK: 1 });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type ByteSource = AsyncIterable<Uint8Array>;
|
|
2
|
+
export interface CollectOptions {
|
|
3
|
+
readonly maxBytes?: number;
|
|
4
|
+
/** Owned capacity, current input backing storage, and replacement allocation peak. */
|
|
5
|
+
readonly maxMemoryBytes?: number;
|
|
6
|
+
readonly signal?: AbortSignal;
|
|
7
|
+
}
|
|
8
|
+
export declare function toByteSource(input: string | Uint8Array): ByteSource;
|
|
9
|
+
export declare function collectBytes(source: ByteSource, options: CollectOptions): Promise<Uint8Array>;
|
|
10
|
+
/** Subscribe when supported; callers must still check cancellation at operation boundaries. */
|
|
11
|
+
export declare function listenForAbort(signal: AbortSignal, listener: () => void): () => void;
|
|
12
|
+
export declare function readBytes(source: ByteSource, signal?: AbortSignal): AsyncGenerator<Uint8Array>;
|