@procedures/client 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/LICENSE +21 -0
- package/README.md +832 -2
- package/dist/.tsbuildinfo +1 -0
- package/dist/adapters/http/client/index.d.ts +11 -0
- package/dist/adapters/http/client/index.d.ts.map +1 -0
- package/dist/adapters/http/client/index.js +18 -0
- package/dist/adapters/http/client/index.js.map +1 -0
- package/dist/adapters/http/client/transport.d.ts +72 -0
- package/dist/adapters/http/client/transport.d.ts.map +1 -0
- package/dist/adapters/http/client/transport.js +282 -0
- package/dist/adapters/http/client/transport.js.map +1 -0
- package/dist/adapters/http/client/types.d.ts +27 -0
- package/dist/adapters/http/client/types.d.ts.map +1 -0
- package/dist/adapters/http/client/types.js +8 -0
- package/dist/adapters/http/client/types.js.map +1 -0
- package/dist/adapters/http/index.d.ts +7 -0
- package/dist/adapters/http/index.d.ts.map +1 -0
- package/dist/adapters/http/index.js +7 -0
- package/dist/adapters/http/index.js.map +1 -0
- package/dist/adapters/http/server/index.d.ts +9 -0
- package/dist/adapters/http/server/index.d.ts.map +1 -0
- package/dist/adapters/http/server/index.js +10 -0
- package/dist/adapters/http/server/index.js.map +1 -0
- package/dist/adapters/http/server/strategies.d.ts +39 -0
- package/dist/adapters/http/server/strategies.d.ts.map +1 -0
- package/dist/adapters/http/server/strategies.js +90 -0
- package/dist/adapters/http/server/strategies.js.map +1 -0
- package/dist/adapters/http/server/transport.d.ts +66 -0
- package/dist/adapters/http/server/transport.d.ts.map +1 -0
- package/dist/adapters/http/server/transport.js +561 -0
- package/dist/adapters/http/server/transport.js.map +1 -0
- package/dist/adapters/http/server/types.d.ts +71 -0
- package/dist/adapters/http/server/types.d.ts.map +1 -0
- package/dist/adapters/http/server/types.js +7 -0
- package/dist/adapters/http/server/types.js.map +1 -0
- package/dist/adapters/http/shared/constants.d.ts +95 -0
- package/dist/adapters/http/shared/constants.d.ts.map +1 -0
- package/dist/adapters/http/shared/constants.js +102 -0
- package/dist/adapters/http/shared/constants.js.map +1 -0
- package/dist/adapters/http/shared/errors.d.ts +78 -0
- package/dist/adapters/http/shared/errors.d.ts.map +1 -0
- package/dist/adapters/http/shared/errors.js +151 -0
- package/dist/adapters/http/shared/errors.js.map +1 -0
- package/dist/adapters/http/shared/headers.d.ts +122 -0
- package/dist/adapters/http/shared/headers.d.ts.map +1 -0
- package/dist/adapters/http/shared/headers.js +216 -0
- package/dist/adapters/http/shared/headers.js.map +1 -0
- package/dist/adapters/http/shared/index.d.ts +12 -0
- package/dist/adapters/http/shared/index.d.ts.map +1 -0
- package/dist/adapters/http/shared/index.js +17 -0
- package/dist/adapters/http/shared/index.js.map +1 -0
- package/dist/adapters/http/shared/status-codes.d.ts +92 -0
- package/dist/adapters/http/shared/status-codes.d.ts.map +1 -0
- package/dist/adapters/http/shared/status-codes.js +189 -0
- package/dist/adapters/http/shared/status-codes.js.map +1 -0
- package/dist/adapters/http/shared/strategies.d.ts +90 -0
- package/dist/adapters/http/shared/strategies.d.ts.map +1 -0
- package/dist/adapters/http/shared/strategies.js +180 -0
- package/dist/adapters/http/shared/strategies.js.map +1 -0
- package/dist/adapters/local/client/index.d.ts +8 -0
- package/dist/adapters/local/client/index.d.ts.map +1 -0
- package/dist/adapters/local/client/index.js +8 -0
- package/dist/adapters/local/client/index.js.map +1 -0
- package/dist/adapters/local/client/transport.d.ts +81 -0
- package/dist/adapters/local/client/transport.d.ts.map +1 -0
- package/dist/adapters/local/client/transport.js +172 -0
- package/dist/adapters/local/client/transport.js.map +1 -0
- package/dist/adapters/local/client/types.d.ts +39 -0
- package/dist/adapters/local/client/types.d.ts.map +1 -0
- package/dist/adapters/local/client/types.js +13 -0
- package/dist/adapters/local/client/types.js.map +1 -0
- package/dist/adapters/metadata.d.ts +10 -0
- package/dist/adapters/metadata.d.ts.map +1 -0
- package/dist/adapters/metadata.js +19 -0
- package/dist/adapters/metadata.js.map +1 -0
- package/dist/adapters/mock/client/builder.d.ts +35 -0
- package/dist/adapters/mock/client/builder.d.ts.map +1 -0
- package/dist/adapters/mock/client/builder.js +58 -0
- package/dist/adapters/mock/client/builder.js.map +1 -0
- package/dist/adapters/mock/client/index.d.ts +9 -0
- package/dist/adapters/mock/client/index.d.ts.map +1 -0
- package/dist/adapters/mock/client/index.js +10 -0
- package/dist/adapters/mock/client/index.js.map +1 -0
- package/dist/adapters/mock/client/transport.d.ts +149 -0
- package/dist/adapters/mock/client/transport.d.ts.map +1 -0
- package/dist/adapters/mock/client/transport.js +289 -0
- package/dist/adapters/mock/client/transport.js.map +1 -0
- package/dist/adapters/mock/client/types.d.ts +86 -0
- package/dist/adapters/mock/client/types.d.ts.map +1 -0
- package/dist/adapters/mock/client/types.js +7 -0
- package/dist/adapters/mock/client/types.js.map +1 -0
- package/dist/adapters/websocket/client/index.d.ts +9 -0
- package/dist/adapters/websocket/client/index.d.ts.map +1 -0
- package/dist/adapters/websocket/client/index.js +9 -0
- package/dist/adapters/websocket/client/index.js.map +1 -0
- package/dist/adapters/websocket/client/transport.d.ts +106 -0
- package/dist/adapters/websocket/client/transport.d.ts.map +1 -0
- package/dist/adapters/websocket/client/transport.js +647 -0
- package/dist/adapters/websocket/client/transport.js.map +1 -0
- package/dist/adapters/websocket/client/types.d.ts +192 -0
- package/dist/adapters/websocket/client/types.d.ts.map +1 -0
- package/dist/adapters/websocket/client/types.js +17 -0
- package/dist/adapters/websocket/client/types.js.map +1 -0
- package/dist/adapters/websocket/index.d.ts +8 -0
- package/dist/adapters/websocket/index.d.ts.map +1 -0
- package/dist/adapters/websocket/index.js +8 -0
- package/dist/adapters/websocket/index.js.map +1 -0
- package/dist/adapters/websocket/server/index.d.ts +8 -0
- package/dist/adapters/websocket/server/index.d.ts.map +1 -0
- package/dist/adapters/websocket/server/index.js +8 -0
- package/dist/adapters/websocket/server/index.js.map +1 -0
- package/dist/adapters/websocket/server/transport.d.ts +112 -0
- package/dist/adapters/websocket/server/transport.d.ts.map +1 -0
- package/dist/adapters/websocket/server/transport.js +619 -0
- package/dist/adapters/websocket/server/transport.js.map +1 -0
- package/dist/adapters/websocket/server/types.d.ts +140 -0
- package/dist/adapters/websocket/server/types.d.ts.map +1 -0
- package/dist/adapters/websocket/server/types.js +7 -0
- package/dist/adapters/websocket/server/types.js.map +1 -0
- package/dist/browser.d.ts +48 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +86 -0
- package/dist/browser.js.map +1 -0
- package/dist/client/batch-executor.d.ts +160 -0
- package/dist/client/batch-executor.d.ts.map +1 -0
- package/dist/client/batch-executor.js +397 -0
- package/dist/client/batch-executor.js.map +1 -0
- package/dist/client/call-types.d.ts +271 -0
- package/dist/client/call-types.d.ts.map +1 -0
- package/dist/client/call-types.js +208 -0
- package/dist/client/call-types.js.map +1 -0
- package/dist/client/client.d.ts +517 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +990 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/consumption.d.ts +191 -0
- package/dist/client/consumption.d.ts.map +1 -0
- package/dist/client/consumption.js +98 -0
- package/dist/client/consumption.js.map +1 -0
- package/dist/client/context.d.ts +116 -0
- package/dist/client/context.d.ts.map +1 -0
- package/dist/client/context.js +111 -0
- package/dist/client/context.js.map +1 -0
- package/dist/client/errors/codes.d.ts +71 -0
- package/dist/client/errors/codes.d.ts.map +1 -0
- package/dist/client/errors/codes.js +81 -0
- package/dist/client/errors/codes.js.map +1 -0
- package/dist/client/errors/factory.d.ts +102 -0
- package/dist/client/errors/factory.d.ts.map +1 -0
- package/dist/client/errors/factory.js +210 -0
- package/dist/client/errors/factory.js.map +1 -0
- package/dist/client/errors/http-errors.d.ts +47 -0
- package/dist/client/errors/http-errors.d.ts.map +1 -0
- package/dist/client/errors/http-errors.js +548 -0
- package/dist/client/errors/http-errors.js.map +1 -0
- package/dist/client/errors/http-status.d.ts +73 -0
- package/dist/client/errors/http-status.d.ts.map +1 -0
- package/dist/client/errors/http-status.js +79 -0
- package/dist/client/errors/http-status.js.map +1 -0
- package/dist/client/errors/index.d.ts +36 -0
- package/dist/client/errors/index.d.ts.map +1 -0
- package/dist/client/errors/index.js +40 -0
- package/dist/client/errors/index.js.map +1 -0
- package/dist/client/errors/registry.d.ts +38 -0
- package/dist/client/errors/registry.d.ts.map +1 -0
- package/dist/client/errors/registry.js +535 -0
- package/dist/client/errors/registry.js.map +1 -0
- package/dist/client/errors/types.d.ts +112 -0
- package/dist/client/errors/types.d.ts.map +1 -0
- package/dist/client/errors/types.js +45 -0
- package/dist/client/errors/types.js.map +1 -0
- package/dist/client/index.d.ts +44 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +36 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/middleware/auth.d.ts +90 -0
- package/dist/client/middleware/auth.d.ts.map +1 -0
- package/dist/client/middleware/auth.js +98 -0
- package/dist/client/middleware/auth.js.map +1 -0
- package/dist/client/middleware/batching.d.ts +102 -0
- package/dist/client/middleware/batching.d.ts.map +1 -0
- package/dist/client/middleware/batching.js +245 -0
- package/dist/client/middleware/batching.js.map +1 -0
- package/dist/client/middleware/cache.d.ts +124 -0
- package/dist/client/middleware/cache.d.ts.map +1 -0
- package/dist/client/middleware/cache.js +208 -0
- package/dist/client/middleware/cache.js.map +1 -0
- package/dist/client/middleware/circuit-breaker.d.ts +113 -0
- package/dist/client/middleware/circuit-breaker.d.ts.map +1 -0
- package/dist/client/middleware/circuit-breaker.js +236 -0
- package/dist/client/middleware/circuit-breaker.js.map +1 -0
- package/dist/client/middleware/contexts.d.ts +199 -0
- package/dist/client/middleware/contexts.d.ts.map +1 -0
- package/dist/client/middleware/contexts.js +74 -0
- package/dist/client/middleware/contexts.js.map +1 -0
- package/dist/client/middleware/items.d.ts +37 -0
- package/dist/client/middleware/items.d.ts.map +1 -0
- package/dist/client/middleware/items.js +100 -0
- package/dist/client/middleware/items.js.map +1 -0
- package/dist/client/middleware/lru.d.ts +32 -0
- package/dist/client/middleware/lru.d.ts.map +1 -0
- package/dist/client/middleware/lru.js +62 -0
- package/dist/client/middleware/lru.js.map +1 -0
- package/dist/client/middleware/pagination.d.ts +114 -0
- package/dist/client/middleware/pagination.d.ts.map +1 -0
- package/dist/client/middleware/pagination.js +148 -0
- package/dist/client/middleware/pagination.js.map +1 -0
- package/dist/client/middleware/rate-limit.d.ts +105 -0
- package/dist/client/middleware/rate-limit.d.ts.map +1 -0
- package/dist/client/middleware/rate-limit.js +222 -0
- package/dist/client/middleware/rate-limit.js.map +1 -0
- package/dist/client/middleware/retry.d.ts +100 -0
- package/dist/client/middleware/retry.d.ts.map +1 -0
- package/dist/client/middleware/retry.js +150 -0
- package/dist/client/middleware/retry.js.map +1 -0
- package/dist/client/middleware/timeout.d.ts +91 -0
- package/dist/client/middleware/timeout.d.ts.map +1 -0
- package/dist/client/middleware/timeout.js +253 -0
- package/dist/client/middleware/timeout.js.map +1 -0
- package/dist/client/middleware/tracing.d.ts +118 -0
- package/dist/client/middleware/tracing.d.ts.map +1 -0
- package/dist/client/middleware/tracing.js +152 -0
- package/dist/client/middleware/tracing.js.map +1 -0
- package/dist/client/route-resolver.d.ts +181 -0
- package/dist/client/route-resolver.d.ts.map +1 -0
- package/dist/client/route-resolver.js +300 -0
- package/dist/client/route-resolver.js.map +1 -0
- package/dist/client/typed-method.d.ts +29 -0
- package/dist/client/typed-method.d.ts.map +1 -0
- package/dist/client/typed-method.js +36 -0
- package/dist/client/typed-method.js.map +1 -0
- package/dist/client/typed.d.ts +102 -0
- package/dist/client/typed.d.ts.map +1 -0
- package/dist/client/typed.js +52 -0
- package/dist/client/typed.js.map +1 -0
- package/dist/client/types.d.ts +296 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +26 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client/validation/index.d.ts +34 -0
- package/dist/client/validation/index.d.ts.map +1 -0
- package/dist/client/validation/index.js +36 -0
- package/dist/client/validation/index.js.map +1 -0
- package/dist/client/validation/middleware.d.ts +82 -0
- package/dist/client/validation/middleware.d.ts.map +1 -0
- package/dist/client/validation/middleware.js +138 -0
- package/dist/client/validation/middleware.js.map +1 -0
- package/dist/client/validation/types.d.ts +118 -0
- package/dist/client/validation/types.d.ts.map +1 -0
- package/dist/client/validation/types.js +59 -0
- package/dist/client/validation/types.js.map +1 -0
- package/dist/collections/async/async-queue.d.ts +144 -0
- package/dist/collections/async/async-queue.d.ts.map +1 -0
- package/dist/collections/async/async-queue.js +347 -0
- package/dist/collections/async/async-queue.js.map +1 -0
- package/dist/collections/async/channels.d.ts +188 -0
- package/dist/collections/async/channels.d.ts.map +1 -0
- package/dist/collections/async/channels.js +312 -0
- package/dist/collections/async/channels.js.map +1 -0
- package/dist/collections/behaviors/bounded.d.ts +79 -0
- package/dist/collections/behaviors/bounded.d.ts.map +1 -0
- package/dist/collections/behaviors/bounded.js +384 -0
- package/dist/collections/behaviors/bounded.js.map +1 -0
- package/dist/collections/behaviors/evented.d.ts +154 -0
- package/dist/collections/behaviors/evented.d.ts.map +1 -0
- package/dist/collections/behaviors/evented.js +299 -0
- package/dist/collections/behaviors/evented.js.map +1 -0
- package/dist/collections/behaviors/lru.d.ts +84 -0
- package/dist/collections/behaviors/lru.d.ts.map +1 -0
- package/dist/collections/behaviors/lru.js +330 -0
- package/dist/collections/behaviors/lru.js.map +1 -0
- package/dist/collections/behaviors/readonly.d.ts +73 -0
- package/dist/collections/behaviors/readonly.d.ts.map +1 -0
- package/dist/collections/behaviors/readonly.js +158 -0
- package/dist/collections/behaviors/readonly.js.map +1 -0
- package/dist/collections/behaviors/safe.d.ts +163 -0
- package/dist/collections/behaviors/safe.d.ts.map +1 -0
- package/dist/collections/behaviors/safe.js +172 -0
- package/dist/collections/behaviors/safe.js.map +1 -0
- package/dist/collections/behaviors/synchronized.d.ts +88 -0
- package/dist/collections/behaviors/synchronized.d.ts.map +1 -0
- package/dist/collections/behaviors/synchronized.js +294 -0
- package/dist/collections/behaviors/synchronized.js.map +1 -0
- package/dist/collections/behaviors/ttl.d.ts +118 -0
- package/dist/collections/behaviors/ttl.d.ts.map +1 -0
- package/dist/collections/behaviors/ttl.js +338 -0
- package/dist/collections/behaviors/ttl.js.map +1 -0
- package/dist/collections/core/effects.d.ts +176 -0
- package/dist/collections/core/effects.d.ts.map +1 -0
- package/dist/collections/core/effects.js +180 -0
- package/dist/collections/core/effects.js.map +1 -0
- package/dist/collections/core/events.d.ts +192 -0
- package/dist/collections/core/events.d.ts.map +1 -0
- package/dist/collections/core/events.js +291 -0
- package/dist/collections/core/events.js.map +1 -0
- package/dist/collections/core/middleware.d.ts +231 -0
- package/dist/collections/core/middleware.d.ts.map +1 -0
- package/dist/collections/core/middleware.js +161 -0
- package/dist/collections/core/middleware.js.map +1 -0
- package/dist/collections/core/policies.d.ts +220 -0
- package/dist/collections/core/policies.d.ts.map +1 -0
- package/dist/collections/core/policies.js +48 -0
- package/dist/collections/core/policies.js.map +1 -0
- package/dist/collections/core/traits.d.ts +142 -0
- package/dist/collections/core/traits.d.ts.map +1 -0
- package/dist/collections/core/traits.js +8 -0
- package/dist/collections/core/traits.js.map +1 -0
- package/dist/collections/examples.d.ts +13 -0
- package/dist/collections/examples.d.ts.map +1 -0
- package/dist/collections/examples.js +302 -0
- package/dist/collections/examples.js.map +1 -0
- package/dist/collections/fx/collectors.d.ts +190 -0
- package/dist/collections/fx/collectors.d.ts.map +1 -0
- package/dist/collections/fx/collectors.js +369 -0
- package/dist/collections/fx/collectors.js.map +1 -0
- package/dist/collections/fx/iter.d.ts +166 -0
- package/dist/collections/fx/iter.d.ts.map +1 -0
- package/dist/collections/fx/iter.js +421 -0
- package/dist/collections/fx/iter.js.map +1 -0
- package/dist/collections/impl/array-deque.d.ts +107 -0
- package/dist/collections/impl/array-deque.d.ts.map +1 -0
- package/dist/collections/impl/array-deque.js +381 -0
- package/dist/collections/impl/array-deque.js.map +1 -0
- package/dist/collections/impl/array-list.d.ts +101 -0
- package/dist/collections/impl/array-list.d.ts.map +1 -0
- package/dist/collections/impl/array-list.js +387 -0
- package/dist/collections/impl/array-list.js.map +1 -0
- package/dist/collections/impl/hash-map.d.ts +141 -0
- package/dist/collections/impl/hash-map.d.ts.map +1 -0
- package/dist/collections/impl/hash-map.js +450 -0
- package/dist/collections/impl/hash-map.js.map +1 -0
- package/dist/collections/impl/hash-set.d.ts +125 -0
- package/dist/collections/impl/hash-set.d.ts.map +1 -0
- package/dist/collections/impl/hash-set.js +264 -0
- package/dist/collections/impl/hash-set.js.map +1 -0
- package/dist/collections/impl/linked-hash-map.d.ts +141 -0
- package/dist/collections/impl/linked-hash-map.d.ts.map +1 -0
- package/dist/collections/impl/linked-hash-map.js +472 -0
- package/dist/collections/impl/linked-hash-map.js.map +1 -0
- package/dist/collections/impl/linked-list.d.ts +109 -0
- package/dist/collections/impl/linked-list.d.ts.map +1 -0
- package/dist/collections/impl/linked-list.js +491 -0
- package/dist/collections/impl/linked-list.js.map +1 -0
- package/dist/collections/impl/priority-queue.d.ts +134 -0
- package/dist/collections/impl/priority-queue.d.ts.map +1 -0
- package/dist/collections/impl/priority-queue.js +336 -0
- package/dist/collections/impl/priority-queue.js.map +1 -0
- package/dist/collections/impl/tree-map.d.ts +146 -0
- package/dist/collections/impl/tree-map.d.ts.map +1 -0
- package/dist/collections/impl/tree-map.js +781 -0
- package/dist/collections/impl/tree-map.js.map +1 -0
- package/dist/collections/impl/tree-set.d.ts +112 -0
- package/dist/collections/impl/tree-set.d.ts.map +1 -0
- package/dist/collections/impl/tree-set.js +374 -0
- package/dist/collections/impl/tree-set.js.map +1 -0
- package/dist/collections/index.d.ts +105 -0
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/collections/index.js +135 -0
- package/dist/collections/index.js.map +1 -0
- package/dist/collections/interfaces/collection.d.ts +119 -0
- package/dist/collections/interfaces/collection.d.ts.map +1 -0
- package/dist/collections/interfaces/collection.js +8 -0
- package/dist/collections/interfaces/collection.js.map +1 -0
- package/dist/collections/interfaces/list.d.ts +247 -0
- package/dist/collections/interfaces/list.d.ts.map +1 -0
- package/dist/collections/interfaces/list.js +8 -0
- package/dist/collections/interfaces/list.js.map +1 -0
- package/dist/collections/interfaces/map.d.ts +344 -0
- package/dist/collections/interfaces/map.d.ts.map +1 -0
- package/dist/collections/interfaces/map.js +8 -0
- package/dist/collections/interfaces/map.js.map +1 -0
- package/dist/collections/interfaces/queue.d.ts +304 -0
- package/dist/collections/interfaces/queue.d.ts.map +1 -0
- package/dist/collections/interfaces/queue.js +8 -0
- package/dist/collections/interfaces/queue.js.map +1 -0
- package/dist/collections/interfaces/set.d.ts +137 -0
- package/dist/collections/interfaces/set.d.ts.map +1 -0
- package/dist/collections/interfaces/set.js +8 -0
- package/dist/collections/interfaces/set.js.map +1 -0
- package/dist/collections/storage/api.d.ts +109 -0
- package/dist/collections/storage/api.d.ts.map +1 -0
- package/dist/collections/storage/api.js +182 -0
- package/dist/collections/storage/api.js.map +1 -0
- package/dist/collections/storage/hybrid.d.ts +164 -0
- package/dist/collections/storage/hybrid.d.ts.map +1 -0
- package/dist/collections/storage/hybrid.js +416 -0
- package/dist/collections/storage/hybrid.js.map +1 -0
- package/dist/collections/storage/index.d.ts +16 -0
- package/dist/collections/storage/index.d.ts.map +1 -0
- package/dist/collections/storage/index.js +13 -0
- package/dist/collections/storage/index.js.map +1 -0
- package/dist/collections/storage/interface.d.ts +141 -0
- package/dist/collections/storage/interface.d.ts.map +1 -0
- package/dist/collections/storage/interface.js +23 -0
- package/dist/collections/storage/interface.js.map +1 -0
- package/dist/collections/storage/memory.d.ts +68 -0
- package/dist/collections/storage/memory.d.ts.map +1 -0
- package/dist/collections/storage/memory.js +154 -0
- package/dist/collections/storage/memory.js.map +1 -0
- package/dist/collections/utils/defaults.d.ts +135 -0
- package/dist/collections/utils/defaults.d.ts.map +1 -0
- package/dist/collections/utils/defaults.js +322 -0
- package/dist/collections/utils/defaults.js.map +1 -0
- package/dist/collections/utils/factories.d.ts +144 -0
- package/dist/collections/utils/factories.d.ts.map +1 -0
- package/dist/collections/utils/factories.js +293 -0
- package/dist/collections/utils/factories.js.map +1 -0
- package/dist/collections/utils/helpers.d.ts +137 -0
- package/dist/collections/utils/helpers.d.ts.map +1 -0
- package/dist/collections/utils/helpers.js +221 -0
- package/dist/collections/utils/helpers.js.map +1 -0
- package/dist/collections.d.ts +12 -0
- package/dist/collections.d.ts.map +1 -0
- package/dist/collections.js +10 -0
- package/dist/collections.js.map +1 -0
- package/dist/components/define.d.ts +134 -0
- package/dist/components/define.d.ts.map +1 -0
- package/dist/components/define.js +486 -0
- package/dist/components/define.js.map +1 -0
- package/dist/components/index.d.ts +39 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +38 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/types.d.ts +264 -0
- package/dist/components/types.d.ts.map +1 -0
- package/dist/components/types.js +46 -0
- package/dist/components/types.js.map +1 -0
- package/dist/events/bus.d.ts +193 -0
- package/dist/events/bus.d.ts.map +1 -0
- package/dist/events/bus.js +511 -0
- package/dist/events/bus.js.map +1 -0
- package/dist/events/index.d.ts +34 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +36 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +242 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +8 -0
- package/dist/events/types.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/compose.d.ts +88 -0
- package/dist/middleware/compose.d.ts.map +1 -0
- package/dist/middleware/compose.js +108 -0
- package/dist/middleware/compose.js.map +1 -0
- package/dist/middleware/index.d.ts +12 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +11 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/types.d.ts +112 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +14 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/procedures/cli/announce.d.ts +67 -0
- package/dist/procedures/cli/announce.d.ts.map +1 -0
- package/dist/procedures/cli/announce.js +392 -0
- package/dist/procedures/cli/announce.js.map +1 -0
- package/dist/procedures/cli/discover.d.ts +66 -0
- package/dist/procedures/cli/discover.d.ts.map +1 -0
- package/dist/procedures/cli/discover.js +310 -0
- package/dist/procedures/cli/discover.js.map +1 -0
- package/dist/procedures/cli/index.d.ts +13 -0
- package/dist/procedures/cli/index.d.ts.map +1 -0
- package/dist/procedures/cli/index.js +201 -0
- package/dist/procedures/cli/index.js.map +1 -0
- package/dist/procedures/cli/init.d.ts +17 -0
- package/dist/procedures/cli/init.d.ts.map +1 -0
- package/dist/procedures/cli/init.js +336 -0
- package/dist/procedures/cli/init.js.map +1 -0
- package/dist/procedures/collection/index.d.ts +10 -0
- package/dist/procedures/collection/index.d.ts.map +1 -0
- package/dist/procedures/collection/index.js +10 -0
- package/dist/procedures/collection/index.js.map +1 -0
- package/dist/procedures/collection/procedures.d.ts +21 -0
- package/dist/procedures/collection/procedures.d.ts.map +1 -0
- package/dist/procedures/collection/procedures.js +198 -0
- package/dist/procedures/collection/procedures.js.map +1 -0
- package/dist/procedures/collection/schemas.d.ts +131 -0
- package/dist/procedures/collection/schemas.d.ts.map +1 -0
- package/dist/procedures/collection/schemas.js +422 -0
- package/dist/procedures/collection/schemas.js.map +1 -0
- package/dist/procedures/collection/storage.d.ts +53 -0
- package/dist/procedures/collection/storage.d.ts.map +1 -0
- package/dist/procedures/collection/storage.js +2 -0
- package/dist/procedures/collection/storage.js.map +1 -0
- package/dist/procedures/core/array.d.ts +276 -0
- package/dist/procedures/core/array.d.ts.map +1 -0
- package/dist/procedures/core/array.js +637 -0
- package/dist/procedures/core/array.js.map +1 -0
- package/dist/procedures/core/comparison.d.ts +85 -0
- package/dist/procedures/core/comparison.d.ts.map +1 -0
- package/dist/procedures/core/comparison.js +156 -0
- package/dist/procedures/core/comparison.js.map +1 -0
- package/dist/procedures/core/index.d.ts +261 -0
- package/dist/procedures/core/index.d.ts.map +1 -0
- package/dist/procedures/core/index.js +585 -0
- package/dist/procedures/core/index.js.map +1 -0
- package/dist/procedures/core/logic.d.ts +144 -0
- package/dist/procedures/core/logic.d.ts.map +1 -0
- package/dist/procedures/core/logic.js +169 -0
- package/dist/procedures/core/logic.js.map +1 -0
- package/dist/procedures/core/math.d.ts +139 -0
- package/dist/procedures/core/math.d.ts.map +1 -0
- package/dist/procedures/core/math.js +273 -0
- package/dist/procedures/core/math.js.map +1 -0
- package/dist/procedures/core/meta.d.ts +111 -0
- package/dist/procedures/core/meta.d.ts.map +1 -0
- package/dist/procedures/core/meta.js +239 -0
- package/dist/procedures/core/meta.js.map +1 -0
- package/dist/procedures/core/object.d.ts +109 -0
- package/dist/procedures/core/object.d.ts.map +1 -0
- package/dist/procedures/core/object.js +270 -0
- package/dist/procedures/core/object.js.map +1 -0
- package/dist/procedures/core/operands.d.ts +51 -0
- package/dist/procedures/core/operands.d.ts.map +1 -0
- package/dist/procedures/core/operands.js +90 -0
- package/dist/procedures/core/operands.js.map +1 -0
- package/dist/procedures/core/outputs.d.ts +28 -0
- package/dist/procedures/core/outputs.d.ts.map +1 -0
- package/dist/procedures/core/outputs.js +42 -0
- package/dist/procedures/core/outputs.js.map +1 -0
- package/dist/procedures/core/results.d.ts +202 -0
- package/dist/procedures/core/results.d.ts.map +1 -0
- package/dist/procedures/core/results.js +106 -0
- package/dist/procedures/core/results.js.map +1 -0
- package/dist/procedures/core/schemas.d.ts +48 -0
- package/dist/procedures/core/schemas.d.ts.map +1 -0
- package/dist/procedures/core/schemas.js +102 -0
- package/dist/procedures/core/schemas.js.map +1 -0
- package/dist/procedures/core/string.d.ts +138 -0
- package/dist/procedures/core/string.d.ts.map +1 -0
- package/dist/procedures/core/string.js +268 -0
- package/dist/procedures/core/string.js.map +1 -0
- package/dist/procedures/core/type.d.ts +101 -0
- package/dist/procedures/core/type.d.ts.map +1 -0
- package/dist/procedures/core/type.js +208 -0
- package/dist/procedures/core/type.js.map +1 -0
- package/dist/procedures/define-procedure.d.ts +187 -0
- package/dist/procedures/define-procedure.d.ts.map +1 -0
- package/dist/procedures/define-procedure.js +356 -0
- package/dist/procedures/define-procedure.js.map +1 -0
- package/dist/procedures/define.d.ts +228 -0
- package/dist/procedures/define.d.ts.map +1 -0
- package/dist/procedures/define.js +300 -0
- package/dist/procedures/define.js.map +1 -0
- package/dist/procedures/discovery.d.ts +57 -0
- package/dist/procedures/discovery.d.ts.map +1 -0
- package/dist/procedures/discovery.js +68 -0
- package/dist/procedures/discovery.js.map +1 -0
- package/dist/procedures/index.d.ts +24 -0
- package/dist/procedures/index.d.ts.map +1 -0
- package/dist/procedures/index.js +69 -0
- package/dist/procedures/index.js.map +1 -0
- package/dist/procedures/interceptors.d.ts +82 -0
- package/dist/procedures/interceptors.d.ts.map +1 -0
- package/dist/procedures/interceptors.js +193 -0
- package/dist/procedures/interceptors.js.map +1 -0
- package/dist/procedures/invoke.d.ts +127 -0
- package/dist/procedures/invoke.d.ts.map +1 -0
- package/dist/procedures/invoke.js +277 -0
- package/dist/procedures/invoke.js.map +1 -0
- package/dist/procedures/module.d.ts +49 -0
- package/dist/procedures/module.d.ts.map +1 -0
- package/dist/procedures/module.js +93 -0
- package/dist/procedures/module.js.map +1 -0
- package/dist/procedures/policy.d.ts +70 -0
- package/dist/procedures/policy.d.ts.map +1 -0
- package/dist/procedures/policy.js +138 -0
- package/dist/procedures/policy.js.map +1 -0
- package/dist/procedures/ref.d.ts +606 -0
- package/dist/procedures/ref.d.ts.map +1 -0
- package/dist/procedures/ref.js +895 -0
- package/dist/procedures/ref.js.map +1 -0
- package/dist/procedures/registry.d.ts +208 -0
- package/dist/procedures/registry.d.ts.map +1 -0
- package/dist/procedures/registry.js +402 -0
- package/dist/procedures/registry.js.map +1 -0
- package/dist/procedures/schema.d.ts +126 -0
- package/dist/procedures/schema.d.ts.map +1 -0
- package/dist/procedures/schema.js +108 -0
- package/dist/procedures/schema.js.map +1 -0
- package/dist/procedures/storage/adapter.d.ts +148 -0
- package/dist/procedures/storage/adapter.d.ts.map +1 -0
- package/dist/procedures/storage/adapter.js +214 -0
- package/dist/procedures/storage/adapter.js.map +1 -0
- package/dist/procedures/storage/api.d.ts +125 -0
- package/dist/procedures/storage/api.d.ts.map +1 -0
- package/dist/procedures/storage/api.js +220 -0
- package/dist/procedures/storage/api.js.map +1 -0
- package/dist/procedures/storage/factory.d.ts +134 -0
- package/dist/procedures/storage/factory.d.ts.map +1 -0
- package/dist/procedures/storage/factory.js +166 -0
- package/dist/procedures/storage/factory.js.map +1 -0
- package/dist/procedures/storage/hybrid.d.ts +193 -0
- package/dist/procedures/storage/hybrid.d.ts.map +1 -0
- package/dist/procedures/storage/hybrid.js +519 -0
- package/dist/procedures/storage/hybrid.js.map +1 -0
- package/dist/procedures/storage/index.d.ts +17 -0
- package/dist/procedures/storage/index.d.ts.map +1 -0
- package/dist/procedures/storage/index.js +17 -0
- package/dist/procedures/storage/index.js.map +1 -0
- package/dist/procedures/storage/procedures.d.ts +39 -0
- package/dist/procedures/storage/procedures.d.ts.map +1 -0
- package/dist/procedures/storage/procedures.js +261 -0
- package/dist/procedures/storage/procedures.js.map +1 -0
- package/dist/procedures/storage/serialization.d.ts +123 -0
- package/dist/procedures/storage/serialization.d.ts.map +1 -0
- package/dist/procedures/storage/serialization.js +216 -0
- package/dist/procedures/storage/serialization.js.map +1 -0
- package/dist/procedures/storage/synced-registry.d.ts +246 -0
- package/dist/procedures/storage/synced-registry.d.ts.map +1 -0
- package/dist/procedures/storage/synced-registry.js +575 -0
- package/dist/procedures/storage/synced-registry.js.map +1 -0
- package/dist/procedures/storage/types.d.ts +130 -0
- package/dist/procedures/storage/types.d.ts.map +1 -0
- package/dist/procedures/storage/types.js +8 -0
- package/dist/procedures/storage/types.js.map +1 -0
- package/dist/procedures/types.d.ts +370 -0
- package/dist/procedures/types.d.ts.map +1 -0
- package/dist/procedures/types.js +23 -0
- package/dist/procedures/types.js.map +1 -0
- package/dist/server/browser-guard.d.ts +69 -0
- package/dist/server/browser-guard.d.ts.map +1 -0
- package/dist/server/browser-guard.js +103 -0
- package/dist/server/browser-guard.js.map +1 -0
- package/dist/server/host-policy.d.ts +59 -0
- package/dist/server/host-policy.d.ts.map +1 -0
- package/dist/server/host-policy.js +82 -0
- package/dist/server/host-policy.js.map +1 -0
- package/dist/server/index.d.ts +46 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +42 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/method.d.ts +24 -0
- package/dist/server/method.d.ts.map +1 -0
- package/dist/server/method.js +29 -0
- package/dist/server/method.js.map +1 -0
- package/dist/server/procedure-server.d.ts +212 -0
- package/dist/server/procedure-server.d.ts.map +1 -0
- package/dist/server/procedure-server.js +323 -0
- package/dist/server/procedure-server.js.map +1 -0
- package/dist/server/server.d.ts +161 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +279 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/types.d.ts +106 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +29 -0
- package/dist/server/types.js.map +1 -0
- package/package.json +115 -3
- package/src/adapters/http/client/index.ts +51 -0
- package/src/adapters/http/client/transport.ts +338 -0
- package/src/adapters/http/client/types.ts +33 -0
- package/src/adapters/http/index.ts +7 -0
- package/src/adapters/http/server/index.ts +14 -0
- package/src/adapters/http/server/strategies.ts +105 -0
- package/src/adapters/http/server/transport.ts +622 -0
- package/src/adapters/http/server/types.ts +81 -0
- package/src/adapters/http/shared/constants.ts +108 -0
- package/src/adapters/http/shared/errors.ts +199 -0
- package/src/adapters/http/shared/headers.ts +291 -0
- package/src/adapters/http/shared/index.ts +21 -0
- package/src/adapters/http/shared/status-codes.ts +212 -0
- package/src/adapters/http/shared/strategies.ts +255 -0
- package/src/adapters/local/client/index.ts +11 -0
- package/src/adapters/local/client/transport.ts +188 -0
- package/src/adapters/local/client/types.ts +50 -0
- package/src/adapters/metadata.ts +17 -0
- package/src/adapters/mock/client/builder.ts +64 -0
- package/src/adapters/mock/client/index.ts +19 -0
- package/src/adapters/mock/client/transport.ts +352 -0
- package/src/adapters/mock/client/types.ts +99 -0
- package/src/adapters/websocket/client/index.ts +18 -0
- package/src/adapters/websocket/client/transport.ts +733 -0
- package/src/adapters/websocket/client/types.ts +235 -0
- package/src/adapters/websocket/index.ts +24 -0
- package/src/adapters/websocket/server/index.ts +18 -0
- package/src/adapters/websocket/server/transport.ts +705 -0
- package/src/adapters/websocket/server/types.ts +169 -0
- package/src/browser.ts +373 -0
- package/src/client/batch-executor.ts +514 -0
- package/src/client/call-types.ts +491 -0
- package/src/client/client.ts +1202 -0
- package/src/client/consumption.ts +288 -0
- package/src/client/context.ts +228 -0
- package/src/client/errors/README.md +279 -0
- package/src/client/errors/codes.ts +88 -0
- package/src/client/errors/factory.ts +263 -0
- package/src/client/errors/http-errors.ts +601 -0
- package/src/client/errors/http-status.ts +82 -0
- package/src/client/errors/index.ts +72 -0
- package/src/client/errors/registry.ts +595 -0
- package/src/client/errors/types.ts +139 -0
- package/src/client/index.ts +124 -0
- package/src/client/middleware/auth.ts +132 -0
- package/src/client/middleware/cache.ts +316 -0
- package/src/client/middleware/circuit-breaker.ts +339 -0
- package/src/client/middleware/contexts.ts +319 -0
- package/src/client/middleware/items.ts +114 -0
- package/src/client/middleware/lru.ts +66 -0
- package/src/client/middleware/pagination.ts +213 -0
- package/src/client/middleware/rate-limit.ts +315 -0
- package/src/client/middleware/retry.ts +236 -0
- package/src/client/middleware/timeout.ts +308 -0
- package/src/client/middleware/tracing.ts +191 -0
- package/src/client/route-resolver.ts +407 -0
- package/src/client/typed-method.ts +65 -0
- package/src/client/typed.ts +140 -0
- package/src/client/types.ts +361 -0
- package/src/client/validation/index.ts +56 -0
- package/src/client/validation/middleware.ts +254 -0
- package/src/client/validation/types.ts +162 -0
- package/src/events/bus.ts +594 -0
- package/src/events/index.ts +67 -0
- package/src/events/types.ts +263 -0
- package/src/index.ts +33 -0
- package/src/middleware/compose.ts +159 -0
- package/src/middleware/index.ts +28 -0
- package/src/middleware/types.ts +166 -0
- package/src/procedures/cli/announce.ts +470 -0
- package/src/procedures/cli/discover.ts +390 -0
- package/src/procedures/cli/index.ts +229 -0
- package/src/procedures/cli/init.ts +370 -0
- package/src/procedures/collection/index.ts +51 -0
- package/src/procedures/collection/procedures.ts +245 -0
- package/src/procedures/collection/schemas.ts +550 -0
- package/src/procedures/collection/storage.ts +53 -0
- package/src/procedures/core/array.ts +1024 -0
- package/src/procedures/core/comparison.ts +263 -0
- package/src/procedures/core/index.ts +895 -0
- package/src/procedures/core/logic.ts +225 -0
- package/src/procedures/core/math.ts +469 -0
- package/src/procedures/core/meta.ts +384 -0
- package/src/procedures/core/object.ts +427 -0
- package/src/procedures/core/operands.ts +119 -0
- package/src/procedures/core/outputs.ts +48 -0
- package/src/procedures/core/results.ts +296 -0
- package/src/procedures/core/schemas.ts +123 -0
- package/src/procedures/core/string.ts +458 -0
- package/src/procedures/core/type.ts +344 -0
- package/src/procedures/define-procedure.ts +531 -0
- package/src/procedures/define.ts +387 -0
- package/src/procedures/discovery.ts +76 -0
- package/src/procedures/index.ts +228 -0
- package/src/procedures/interceptors.ts +272 -0
- package/src/procedures/invoke.ts +413 -0
- package/src/procedures/module.ts +107 -0
- package/src/procedures/policy.ts +171 -0
- package/src/procedures/ref.ts +1305 -0
- package/src/procedures/registry.ts +473 -0
- package/src/procedures/schema.ts +225 -0
- package/src/procedures/types.ts +485 -0
- package/src/server/browser-guard.ts +147 -0
- package/src/server/host-policy.ts +121 -0
- package/src/server/index.ts +70 -0
- package/src/server/method.ts +33 -0
- package/src/server/procedure-server.ts +417 -0
- package/src/server/server.ts +364 -0
- package/src/server/types.ts +147 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The schemas of procedures: Standard Schema v1, validation and JSON Schema.
|
|
3
|
+
*
|
|
4
|
+
* A procedure's input and output schema is a Standard Schema (https://standardschema.dev):
|
|
5
|
+
* zod 4, valibot, arktype and other libraries give one. An older schema with only `parse` and
|
|
6
|
+
* `safeParse` (`ZodLike`) also works. Every part of the ecosystem validates and describes a
|
|
7
|
+
* schema through the two functions of this module:
|
|
8
|
+
*
|
|
9
|
+
* - `validateSchema()` validates a value (sync when the schema is sync, so a handler can start
|
|
10
|
+
* before the first `await`).
|
|
11
|
+
* - `jsonSchemaOf()` gives the JSON Schema of the input or the output, for the MCP tools, the
|
|
12
|
+
* help and the flags of `mark`, its manifest and the site's catalog.
|
|
13
|
+
*
|
|
14
|
+
* Before, each tool read the private fields of zod 3 (`_def`), the MCP server converted
|
|
15
|
+
* schemas with a zod 3 library, and most procedures had a schema that validated nothing.
|
|
16
|
+
*/
|
|
17
|
+
import type { ZodLike } from "../client/validation/types.js";
|
|
18
|
+
/** A schema of the Standard Schema specification, version 1. */
|
|
19
|
+
export interface StandardSchemaV1<Input = unknown, Output = Input> {
|
|
20
|
+
/** The properties of the specification. */
|
|
21
|
+
readonly "~standard": StandardSchemaV1.Props<Input, Output>;
|
|
22
|
+
}
|
|
23
|
+
export declare namespace StandardSchemaV1 {
|
|
24
|
+
/** The properties of a Standard Schema. */
|
|
25
|
+
interface Props<Input = unknown, Output = Input> {
|
|
26
|
+
/** The version number of the specification. */
|
|
27
|
+
readonly version: 1;
|
|
28
|
+
/** The name of the library that made the schema. */
|
|
29
|
+
readonly vendor: string;
|
|
30
|
+
/** The function that validates a value. */
|
|
31
|
+
readonly validate: (value: unknown) => Result<Output> | Promise<Result<Output>>;
|
|
32
|
+
/** The input and output types of the schema (types only). */
|
|
33
|
+
readonly types?: Types<Input, Output> | undefined;
|
|
34
|
+
}
|
|
35
|
+
/** The result of a validation. */
|
|
36
|
+
type Result<Output> = SuccessResult<Output> | FailureResult;
|
|
37
|
+
/** A valid value. */
|
|
38
|
+
interface SuccessResult<Output> {
|
|
39
|
+
readonly value: Output;
|
|
40
|
+
readonly issues?: undefined;
|
|
41
|
+
}
|
|
42
|
+
/** An invalid value. */
|
|
43
|
+
interface FailureResult {
|
|
44
|
+
readonly issues: ReadonlyArray<Issue>;
|
|
45
|
+
}
|
|
46
|
+
/** One problem of an invalid value. */
|
|
47
|
+
interface Issue {
|
|
48
|
+
readonly message: string;
|
|
49
|
+
readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined;
|
|
50
|
+
}
|
|
51
|
+
/** A part of the path of an issue. */
|
|
52
|
+
interface PathSegment {
|
|
53
|
+
readonly key: PropertyKey;
|
|
54
|
+
}
|
|
55
|
+
/** The input and output types of a schema. */
|
|
56
|
+
interface Types<Input = unknown, Output = Input> {
|
|
57
|
+
readonly input: Input;
|
|
58
|
+
readonly output: Output;
|
|
59
|
+
}
|
|
60
|
+
/** The input type of a Standard Schema. */
|
|
61
|
+
type InferInput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["input"];
|
|
62
|
+
/** The output type of a Standard Schema. */
|
|
63
|
+
type InferOutput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["output"];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The JSON Schema converter of a schema (the "Standard JSON Schema" property that zod 4 gives in
|
|
67
|
+
* `~standard.jsonSchema`).
|
|
68
|
+
*/
|
|
69
|
+
export interface StandardJSONSchemaConverter {
|
|
70
|
+
input(options: {
|
|
71
|
+
target: JsonSchemaTarget;
|
|
72
|
+
}): Record<string, unknown>;
|
|
73
|
+
output(options: {
|
|
74
|
+
target: JsonSchemaTarget;
|
|
75
|
+
}): Record<string, unknown>;
|
|
76
|
+
}
|
|
77
|
+
/** The JSON Schema dialects that a converter can give. */
|
|
78
|
+
export type JsonSchemaTarget = "draft-2020-12" | "draft-07" | "openapi-3.0";
|
|
79
|
+
/**
|
|
80
|
+
* The input or output schema of a procedure: a Standard Schema, or an older schema with
|
|
81
|
+
* `parse`/`safeParse` (`ZodLike`).
|
|
82
|
+
*/
|
|
83
|
+
export type ProcedureSchema<T = unknown> = StandardSchemaV1<unknown, T> | ZodLike<T>;
|
|
84
|
+
/** The type that a schema gives. */
|
|
85
|
+
export type InferSchema<S> = S extends StandardSchemaV1<unknown, infer T> ? T : S extends ZodLike<infer U> ? U : unknown;
|
|
86
|
+
/** True for a value that has the properties of a Standard Schema v1. */
|
|
87
|
+
export declare function isStandardSchema(value: unknown): value is StandardSchemaV1;
|
|
88
|
+
/** The result of `validateSchema()`. */
|
|
89
|
+
export type SchemaResult<T> = {
|
|
90
|
+
readonly ok: true;
|
|
91
|
+
readonly value: T;
|
|
92
|
+
} | {
|
|
93
|
+
readonly ok: false;
|
|
94
|
+
readonly message: string;
|
|
95
|
+
readonly issues: ReadonlyArray<StandardSchemaV1.Issue>;
|
|
96
|
+
};
|
|
97
|
+
/** One line for each issue: `filter: Expected object, received string`. */
|
|
98
|
+
export declare function describeIssues(issues: ReadonlyArray<StandardSchemaV1.Issue>): string;
|
|
99
|
+
/**
|
|
100
|
+
* This function validates a value against a schema. It returns a result, not a Promise, when
|
|
101
|
+
* the schema validates synchronously, so a caller can start the handler before an `await`.
|
|
102
|
+
*/
|
|
103
|
+
export declare function validateSchema<T>(schema: ProcedureSchema<T>, value: unknown): SchemaResult<T> | Promise<SchemaResult<T>>;
|
|
104
|
+
/** This function validates a value and waits for an asynchronous schema. */
|
|
105
|
+
export declare function validateSchemaAsync<T>(schema: ProcedureSchema<T>, value: unknown): Promise<SchemaResult<T>>;
|
|
106
|
+
/** A JSON Schema object. */
|
|
107
|
+
export type JsonSchema = Record<string, unknown>;
|
|
108
|
+
/**
|
|
109
|
+
* A schema that describes itself: a pass-through schema can give a JSON Schema this way (for
|
|
110
|
+
* example `{}`, any value). A Standard Schema with a converter does not need it.
|
|
111
|
+
*/
|
|
112
|
+
export interface JsonSchemaSource {
|
|
113
|
+
readonly "~jsonSchema"?: JsonSchema | undefined;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* The JSON Schema of the input (`io: "input"`, the default) or the output of a schema, or
|
|
117
|
+
* `undefined` when the schema cannot describe itself (a custom schema with only `parse`).
|
|
118
|
+
*
|
|
119
|
+
* The default dialect is draft-07, which every MCP client reads. A zod type that JSON cannot
|
|
120
|
+
* show (a date, a transform) becomes `{}`, so a description never fails.
|
|
121
|
+
*/
|
|
122
|
+
export declare function jsonSchemaOf(schema: ProcedureSchema | undefined, options?: {
|
|
123
|
+
io?: "input" | "output";
|
|
124
|
+
target?: JsonSchemaTarget;
|
|
125
|
+
}): JsonSchema | undefined;
|
|
126
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/procedures/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The schemas of procedures: Standard Schema v1, validation and JSON Schema.
|
|
3
|
+
*
|
|
4
|
+
* A procedure's input and output schema is a Standard Schema (https://standardschema.dev):
|
|
5
|
+
* zod 4, valibot, arktype and other libraries give one. An older schema with only `parse` and
|
|
6
|
+
* `safeParse` (`ZodLike`) also works. Every part of the ecosystem validates and describes a
|
|
7
|
+
* schema through the two functions of this module:
|
|
8
|
+
*
|
|
9
|
+
* - `validateSchema()` validates a value (sync when the schema is sync, so a handler can start
|
|
10
|
+
* before the first `await`).
|
|
11
|
+
* - `jsonSchemaOf()` gives the JSON Schema of the input or the output, for the MCP tools, the
|
|
12
|
+
* help and the flags of `mark`, its manifest and the site's catalog.
|
|
13
|
+
*
|
|
14
|
+
* Before, each tool read the private fields of zod 3 (`_def`), the MCP server converted
|
|
15
|
+
* schemas with a zod 3 library, and most procedures had a schema that validated nothing.
|
|
16
|
+
*/
|
|
17
|
+
import { toJSONSchema } from "zod";
|
|
18
|
+
/** True for a value that has the properties of a Standard Schema v1. */
|
|
19
|
+
export function isStandardSchema(value) {
|
|
20
|
+
if (value === null || (typeof value !== "object" && typeof value !== "function"))
|
|
21
|
+
return false;
|
|
22
|
+
const props = value["~standard"];
|
|
23
|
+
return !!props && props.version === 1 && typeof props.validate === "function";
|
|
24
|
+
}
|
|
25
|
+
/** The text of an issue path: `filter.status` or `items[2]`. */
|
|
26
|
+
function pathText(path) {
|
|
27
|
+
let text = "";
|
|
28
|
+
for (const part of path ?? []) {
|
|
29
|
+
const key = typeof part === "object" && part !== null ? part.key : part;
|
|
30
|
+
text += typeof key === "number" ? `[${key}]` : text === "" ? String(key) : `.${String(key)}`;
|
|
31
|
+
}
|
|
32
|
+
return text;
|
|
33
|
+
}
|
|
34
|
+
/** One line for each issue: `filter: Expected object, received string`. */
|
|
35
|
+
export function describeIssues(issues) {
|
|
36
|
+
return issues.map((issue) => (issue.path?.length ? `${pathText(issue.path)}: ${issue.message}` : issue.message)).join("; ");
|
|
37
|
+
}
|
|
38
|
+
function fromStandard(result) {
|
|
39
|
+
if (result.issues) {
|
|
40
|
+
return { ok: false, message: describeIssues(result.issues) || "Validation failed", issues: result.issues };
|
|
41
|
+
}
|
|
42
|
+
return { ok: true, value: result.value };
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* This function validates a value against a schema. It returns a result, not a Promise, when
|
|
46
|
+
* the schema validates synchronously, so a caller can start the handler before an `await`.
|
|
47
|
+
*/
|
|
48
|
+
export function validateSchema(schema, value) {
|
|
49
|
+
if (isStandardSchema(schema)) {
|
|
50
|
+
const result = schema["~standard"].validate(value);
|
|
51
|
+
return result instanceof Promise ? result.then(fromStandard) : fromStandard(result);
|
|
52
|
+
}
|
|
53
|
+
const legacy = schema;
|
|
54
|
+
const parsed = legacy.safeParse(value);
|
|
55
|
+
if (parsed.success)
|
|
56
|
+
return { ok: true, value: parsed.data };
|
|
57
|
+
const error = parsed.error;
|
|
58
|
+
const issues = error.issues ?? error.errors ?? [{ message: error.message ?? "Validation failed" }];
|
|
59
|
+
return { ok: false, message: error.message ?? describeIssues(issues), issues };
|
|
60
|
+
}
|
|
61
|
+
/** This function validates a value and waits for an asynchronous schema. */
|
|
62
|
+
export async function validateSchemaAsync(schema, value) {
|
|
63
|
+
return validateSchema(schema, value);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The JSON Schema of the input (`io: "input"`, the default) or the output of a schema, or
|
|
67
|
+
* `undefined` when the schema cannot describe itself (a custom schema with only `parse`).
|
|
68
|
+
*
|
|
69
|
+
* The default dialect is draft-07, which every MCP client reads. A zod type that JSON cannot
|
|
70
|
+
* show (a date, a transform) becomes `{}`, so a description never fails.
|
|
71
|
+
*/
|
|
72
|
+
export function jsonSchemaOf(schema, options = {}) {
|
|
73
|
+
if (!schema)
|
|
74
|
+
return undefined;
|
|
75
|
+
const io = options.io ?? "input";
|
|
76
|
+
const target = options.target ?? "draft-07";
|
|
77
|
+
const own = schema["~jsonSchema"];
|
|
78
|
+
if (own)
|
|
79
|
+
return own;
|
|
80
|
+
// A zod 4 schema: z.toJSONSchema can replace the types that JSON cannot show
|
|
81
|
+
if (schema._zod !== undefined) {
|
|
82
|
+
try {
|
|
83
|
+
return withoutDialect(toJSONSchema(schema, { io, target, unrepresentable: "any" }));
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Another library: its Standard JSON Schema converter
|
|
90
|
+
const converter = schema["~standard"]?.jsonSchema;
|
|
91
|
+
if (converter && typeof converter[io] === "function") {
|
|
92
|
+
try {
|
|
93
|
+
return withoutDialect(converter[io]({ target }));
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
/** The `$schema` key names the dialect: a tool list and a manifest do not need it on each schema. */
|
|
102
|
+
function withoutDialect(schema) {
|
|
103
|
+
if (!("$schema" in schema))
|
|
104
|
+
return schema;
|
|
105
|
+
const { $schema: _dialect, ...rest } = schema;
|
|
106
|
+
return rest;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/procedures/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Procedure Storage Adapter
|
|
3
|
+
*
|
|
4
|
+
* Wraps CollectionStorage<SerializedProcedure> to provide procedure-specific
|
|
5
|
+
* storage operations with serialization/deserialization.
|
|
6
|
+
*/
|
|
7
|
+
import type { CollectionStorage } from "@mark1russell7/client-collections";
|
|
8
|
+
import type { AnyProcedure, ProcedurePath } from "../types.js";
|
|
9
|
+
import type { SerializedProcedure, HandlerLoader } from "./types.js";
|
|
10
|
+
import { type SerializeOptions } from "./serialization.js";
|
|
11
|
+
/**
|
|
12
|
+
* Options for ProcedureStorageAdapter.
|
|
13
|
+
*/
|
|
14
|
+
export interface ProcedureStorageAdapterOptions {
|
|
15
|
+
/** Handler loader for restoring handlers from references */
|
|
16
|
+
handlerLoader?: HandlerLoader | undefined;
|
|
17
|
+
/** Default serialization options */
|
|
18
|
+
serializeOptions?: SerializeOptions | undefined;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Adapter that wraps CollectionStorage for procedure-specific operations.
|
|
22
|
+
*
|
|
23
|
+
* Handles serialization/deserialization of procedures and provides
|
|
24
|
+
* convenience methods for common operations.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const storage = new InMemoryStorage<SerializedProcedure>();
|
|
29
|
+
* const adapter = new ProcedureStorageAdapter(storage, {
|
|
30
|
+
* handlerLoader: createDynamicHandlerLoader(),
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // Store a procedure
|
|
34
|
+
* await adapter.store(myProcedure);
|
|
35
|
+
*
|
|
36
|
+
* // Load a procedure
|
|
37
|
+
* const proc = await adapter.load(['lib', 'scan']);
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class ProcedureStorageAdapter {
|
|
41
|
+
private readonly storage;
|
|
42
|
+
private readonly handlerLoader;
|
|
43
|
+
private readonly serializeOptions;
|
|
44
|
+
constructor(storage: CollectionStorage<SerializedProcedure>, options?: ProcedureStorageAdapterOptions);
|
|
45
|
+
/**
|
|
46
|
+
* Store a procedure.
|
|
47
|
+
*
|
|
48
|
+
* @param procedure - Procedure to store
|
|
49
|
+
* @param options - Override default serialization options
|
|
50
|
+
* @returns The record that the storage got
|
|
51
|
+
*/
|
|
52
|
+
store(procedure: AnyProcedure, options?: SerializeOptions): Promise<SerializedProcedure>;
|
|
53
|
+
/**
|
|
54
|
+
* Load a procedure by path.
|
|
55
|
+
*
|
|
56
|
+
* @param path - Procedure path
|
|
57
|
+
* @returns Procedure or undefined if not found
|
|
58
|
+
*/
|
|
59
|
+
load(path: ProcedurePath): Promise<AnyProcedure | undefined>;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a procedure exists in storage.
|
|
62
|
+
*
|
|
63
|
+
* @param path - Procedure path
|
|
64
|
+
* @returns True if procedure exists
|
|
65
|
+
*/
|
|
66
|
+
has(path: ProcedurePath): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* Remove a procedure from storage.
|
|
69
|
+
*
|
|
70
|
+
* @param path - Procedure path
|
|
71
|
+
* @returns True if procedure was removed
|
|
72
|
+
*/
|
|
73
|
+
remove(path: ProcedurePath): Promise<boolean>;
|
|
74
|
+
/**
|
|
75
|
+
* Load all procedures from storage.
|
|
76
|
+
*
|
|
77
|
+
* @returns Array of all procedures
|
|
78
|
+
*/
|
|
79
|
+
loadAll(): Promise<AnyProcedure[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Load procedures matching a path prefix.
|
|
82
|
+
*
|
|
83
|
+
* @param prefix - Path prefix to match
|
|
84
|
+
* @returns Array of matching procedures
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* // Load all lib.* procedures
|
|
89
|
+
* const libProcedures = await adapter.loadByPrefix(['lib']);
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
loadByPrefix(prefix: ProcedurePath): Promise<AnyProcedure[]>;
|
|
93
|
+
/**
|
|
94
|
+
* Store multiple procedures.
|
|
95
|
+
*
|
|
96
|
+
* @param procedures - Procedures to store
|
|
97
|
+
* @param options - Override default serialization options, or a function that gives the
|
|
98
|
+
* options of each procedure (for example, its handler reference)
|
|
99
|
+
* @returns The records that the storage got
|
|
100
|
+
*/
|
|
101
|
+
storeAll(procedures: AnyProcedure[], options?: SerializeOptions | ((procedure: AnyProcedure) => SerializeOptions | undefined)): Promise<SerializedProcedure[]>;
|
|
102
|
+
/**
|
|
103
|
+
* Remove multiple procedures.
|
|
104
|
+
*
|
|
105
|
+
* @param paths - Procedure paths to remove
|
|
106
|
+
* @returns Number of procedures removed
|
|
107
|
+
*/
|
|
108
|
+
removeAll(paths: ProcedurePath[]): Promise<number>;
|
|
109
|
+
/**
|
|
110
|
+
* Clear all procedures from storage.
|
|
111
|
+
*/
|
|
112
|
+
clear(): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Get the number of stored procedures.
|
|
115
|
+
*/
|
|
116
|
+
size(): Promise<number>;
|
|
117
|
+
/**
|
|
118
|
+
* List all stored procedure paths.
|
|
119
|
+
*
|
|
120
|
+
* @returns Array of procedure paths
|
|
121
|
+
*/
|
|
122
|
+
listPaths(): Promise<ProcedurePath[]>;
|
|
123
|
+
/**
|
|
124
|
+
* Get the raw serialized data for a procedure.
|
|
125
|
+
* Useful for debugging or custom processing.
|
|
126
|
+
*
|
|
127
|
+
* @param path - Procedure path
|
|
128
|
+
* @returns Serialized procedure data or undefined
|
|
129
|
+
*/
|
|
130
|
+
getRaw(path: ProcedurePath): Promise<SerializedProcedure | undefined>;
|
|
131
|
+
/**
|
|
132
|
+
* Get all raw serialized data.
|
|
133
|
+
* Useful for debugging or backup.
|
|
134
|
+
*
|
|
135
|
+
* @returns Array of serialized procedures
|
|
136
|
+
*/
|
|
137
|
+
getAllRaw(): Promise<SerializedProcedure[]>;
|
|
138
|
+
/**
|
|
139
|
+
* Close the underlying storage.
|
|
140
|
+
*/
|
|
141
|
+
close(): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Get the underlying storage instance.
|
|
144
|
+
* Use for advanced operations or testing.
|
|
145
|
+
*/
|
|
146
|
+
getStorage(): CollectionStorage<SerializedProcedure>;
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/procedures/storage/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAM5B;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,4DAA4D;IAC5D,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAE1C,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD,YACE,OAAO,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,EAC/C,OAAO,GAAE,8BAAmC,EAK7C;IAMD;;;;;;OAMG;IACG,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAQ7F;IAED;;;;;OAKG;IACG,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAQjE;IAED;;;;;OAKG;IACG,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAG/C;IAED;;;;;OAKG;IACG,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlD;IAMD;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAOvC;IAED;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAYjE;IAED;;;;;;;OAOG;IACG,QAAQ,CACZ,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,KAAK,gBAAgB,GAAG,SAAS,CAAC,GACvF,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAUhC;IAED;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvD;IAED;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAMD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5B;IAED;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAG1C;IAED;;;;;;OAMG;IACG,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAG1E;IAED;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAEhD;IAMD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED;;;OAGG;IACH,UAAU,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,CAEnD;CACF"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Procedure Storage Adapter
|
|
3
|
+
*
|
|
4
|
+
* Wraps CollectionStorage<SerializedProcedure> to provide procedure-specific
|
|
5
|
+
* storage operations with serialization/deserialization.
|
|
6
|
+
*/
|
|
7
|
+
import { pathToKey } from "../types.js";
|
|
8
|
+
import { serializeProcedure, deserializeProcedure, getProcedureKey, } from "./serialization.js";
|
|
9
|
+
/**
|
|
10
|
+
* Adapter that wraps CollectionStorage for procedure-specific operations.
|
|
11
|
+
*
|
|
12
|
+
* Handles serialization/deserialization of procedures and provides
|
|
13
|
+
* convenience methods for common operations.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const storage = new InMemoryStorage<SerializedProcedure>();
|
|
18
|
+
* const adapter = new ProcedureStorageAdapter(storage, {
|
|
19
|
+
* handlerLoader: createDynamicHandlerLoader(),
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* // Store a procedure
|
|
23
|
+
* await adapter.store(myProcedure);
|
|
24
|
+
*
|
|
25
|
+
* // Load a procedure
|
|
26
|
+
* const proc = await adapter.load(['lib', 'scan']);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export class ProcedureStorageAdapter {
|
|
30
|
+
storage;
|
|
31
|
+
handlerLoader;
|
|
32
|
+
serializeOptions;
|
|
33
|
+
constructor(storage, options = {}) {
|
|
34
|
+
this.storage = storage;
|
|
35
|
+
this.handlerLoader = options.handlerLoader;
|
|
36
|
+
this.serializeOptions = options.serializeOptions ?? {};
|
|
37
|
+
}
|
|
38
|
+
// ===========================================================================
|
|
39
|
+
// Single Item Operations
|
|
40
|
+
// ===========================================================================
|
|
41
|
+
/**
|
|
42
|
+
* Store a procedure.
|
|
43
|
+
*
|
|
44
|
+
* @param procedure - Procedure to store
|
|
45
|
+
* @param options - Override default serialization options
|
|
46
|
+
* @returns The record that the storage got
|
|
47
|
+
*/
|
|
48
|
+
async store(procedure, options) {
|
|
49
|
+
const key = getProcedureKey(procedure);
|
|
50
|
+
const serialized = serializeProcedure(procedure, {
|
|
51
|
+
...this.serializeOptions,
|
|
52
|
+
...options,
|
|
53
|
+
});
|
|
54
|
+
await this.storage.set(key, serialized);
|
|
55
|
+
return serialized;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Load a procedure by path.
|
|
59
|
+
*
|
|
60
|
+
* @param path - Procedure path
|
|
61
|
+
* @returns Procedure or undefined if not found
|
|
62
|
+
*/
|
|
63
|
+
async load(path) {
|
|
64
|
+
const key = pathToKey(path);
|
|
65
|
+
const data = await this.storage.get(key);
|
|
66
|
+
if (!data)
|
|
67
|
+
return undefined;
|
|
68
|
+
return deserializeProcedure(data, {
|
|
69
|
+
handlerLoader: this.handlerLoader,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if a procedure exists in storage.
|
|
74
|
+
*
|
|
75
|
+
* @param path - Procedure path
|
|
76
|
+
* @returns True if procedure exists
|
|
77
|
+
*/
|
|
78
|
+
async has(path) {
|
|
79
|
+
const key = pathToKey(path);
|
|
80
|
+
return this.storage.has(key);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Remove a procedure from storage.
|
|
84
|
+
*
|
|
85
|
+
* @param path - Procedure path
|
|
86
|
+
* @returns True if procedure was removed
|
|
87
|
+
*/
|
|
88
|
+
async remove(path) {
|
|
89
|
+
const key = pathToKey(path);
|
|
90
|
+
return this.storage.delete(key);
|
|
91
|
+
}
|
|
92
|
+
// ===========================================================================
|
|
93
|
+
// Bulk Operations
|
|
94
|
+
// ===========================================================================
|
|
95
|
+
/**
|
|
96
|
+
* Load all procedures from storage.
|
|
97
|
+
*
|
|
98
|
+
* @returns Array of all procedures
|
|
99
|
+
*/
|
|
100
|
+
async loadAll() {
|
|
101
|
+
const items = await this.storage.getAll();
|
|
102
|
+
return Promise.all(items.map((item) => deserializeProcedure(item, { handlerLoader: this.handlerLoader })));
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Load procedures matching a path prefix.
|
|
106
|
+
*
|
|
107
|
+
* @param prefix - Path prefix to match
|
|
108
|
+
* @returns Array of matching procedures
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* // Load all lib.* procedures
|
|
113
|
+
* const libProcedures = await adapter.loadByPrefix(['lib']);
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
async loadByPrefix(prefix) {
|
|
117
|
+
const prefixKey = pathToKey(prefix);
|
|
118
|
+
const items = await this.storage.find((item) => {
|
|
119
|
+
const itemKey = pathToKey(item.path);
|
|
120
|
+
return itemKey === prefixKey || itemKey.startsWith(prefixKey + ".");
|
|
121
|
+
});
|
|
122
|
+
return Promise.all(items.map((item) => deserializeProcedure(item, { handlerLoader: this.handlerLoader })));
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Store multiple procedures.
|
|
126
|
+
*
|
|
127
|
+
* @param procedures - Procedures to store
|
|
128
|
+
* @param options - Override default serialization options, or a function that gives the
|
|
129
|
+
* options of each procedure (for example, its handler reference)
|
|
130
|
+
* @returns The records that the storage got
|
|
131
|
+
*/
|
|
132
|
+
async storeAll(procedures, options) {
|
|
133
|
+
const items = procedures.map((proc) => [
|
|
134
|
+
getProcedureKey(proc),
|
|
135
|
+
serializeProcedure(proc, {
|
|
136
|
+
...this.serializeOptions,
|
|
137
|
+
...(typeof options === "function" ? options(proc) : options),
|
|
138
|
+
}),
|
|
139
|
+
]);
|
|
140
|
+
await this.storage.setBatch(items);
|
|
141
|
+
return items.map(([, serialized]) => serialized);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Remove multiple procedures.
|
|
145
|
+
*
|
|
146
|
+
* @param paths - Procedure paths to remove
|
|
147
|
+
* @returns Number of procedures removed
|
|
148
|
+
*/
|
|
149
|
+
async removeAll(paths) {
|
|
150
|
+
const keys = paths.map(pathToKey);
|
|
151
|
+
return this.storage.deleteBatch(keys);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Clear all procedures from storage.
|
|
155
|
+
*/
|
|
156
|
+
async clear() {
|
|
157
|
+
await this.storage.clear();
|
|
158
|
+
}
|
|
159
|
+
// ===========================================================================
|
|
160
|
+
// Info Operations
|
|
161
|
+
// ===========================================================================
|
|
162
|
+
/**
|
|
163
|
+
* Get the number of stored procedures.
|
|
164
|
+
*/
|
|
165
|
+
async size() {
|
|
166
|
+
return this.storage.size();
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* List all stored procedure paths.
|
|
170
|
+
*
|
|
171
|
+
* @returns Array of procedure paths
|
|
172
|
+
*/
|
|
173
|
+
async listPaths() {
|
|
174
|
+
const items = await this.storage.getAll();
|
|
175
|
+
return items.map((item) => item.path);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get the raw serialized data for a procedure.
|
|
179
|
+
* Useful for debugging or custom processing.
|
|
180
|
+
*
|
|
181
|
+
* @param path - Procedure path
|
|
182
|
+
* @returns Serialized procedure data or undefined
|
|
183
|
+
*/
|
|
184
|
+
async getRaw(path) {
|
|
185
|
+
const key = pathToKey(path);
|
|
186
|
+
return this.storage.get(key);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Get all raw serialized data.
|
|
190
|
+
* Useful for debugging or backup.
|
|
191
|
+
*
|
|
192
|
+
* @returns Array of serialized procedures
|
|
193
|
+
*/
|
|
194
|
+
async getAllRaw() {
|
|
195
|
+
return this.storage.getAll();
|
|
196
|
+
}
|
|
197
|
+
// ===========================================================================
|
|
198
|
+
// Lifecycle
|
|
199
|
+
// ===========================================================================
|
|
200
|
+
/**
|
|
201
|
+
* Close the underlying storage.
|
|
202
|
+
*/
|
|
203
|
+
async close() {
|
|
204
|
+
await this.storage.close();
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Get the underlying storage instance.
|
|
208
|
+
* Use for advanced operations or testing.
|
|
209
|
+
*/
|
|
210
|
+
getStorage() {
|
|
211
|
+
return this.storage;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/procedures/storage/adapter.ts"],"names":[],"mappings":"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"}
|