@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,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Procedure Storage Procedures
|
|
3
|
+
*
|
|
4
|
+
* CLI procedures for managing the procedure registry storage:
|
|
5
|
+
* - procedure.register - Register a procedure at runtime
|
|
6
|
+
* - procedure.store - Persist a procedure to storage
|
|
7
|
+
* - procedure.load - Load procedures from storage
|
|
8
|
+
* - procedure.sync - Sync registry with storage
|
|
9
|
+
* - procedure.remote - Configure remote connection
|
|
10
|
+
*
|
|
11
|
+
* The procedures work on the store of the caller's registry: the `SyncedProcedureRegistry`
|
|
12
|
+
* that wraps it (`createSyncedRegistry()`). When the registry has no store, they fail with
|
|
13
|
+
* the code `NOT_CONFIGURED`. (Before, they reported success and did nothing: deep dive
|
|
14
|
+
* CORE-16, DATA-10.)
|
|
15
|
+
*/
|
|
16
|
+
import { defineProcedure } from "../define.js";
|
|
17
|
+
import { PROCEDURE_REGISTRY } from "../registry.js";
|
|
18
|
+
import { pathToKey, keyToPath } from "../types.js";
|
|
19
|
+
import { deserializeProcedure, deserializeProcedureSync } from "./serialization.js";
|
|
20
|
+
import { getProcedureStore } from "./synced-registry.js";
|
|
21
|
+
// =============================================================================
|
|
22
|
+
// Any Schema Helper
|
|
23
|
+
// =============================================================================
|
|
24
|
+
const anySchema = {
|
|
25
|
+
parse: (data) => data,
|
|
26
|
+
safeParse: (data) => ({ success: true, data }),
|
|
27
|
+
_output: undefined,
|
|
28
|
+
};
|
|
29
|
+
// =============================================================================
|
|
30
|
+
// The store of the caller
|
|
31
|
+
// =============================================================================
|
|
32
|
+
/** An error of a storage procedure that cannot do its work. */
|
|
33
|
+
export class ProcedureStoreError extends Error {
|
|
34
|
+
name = "ProcedureStoreError";
|
|
35
|
+
code;
|
|
36
|
+
constructor(code, message) {
|
|
37
|
+
super(message);
|
|
38
|
+
this.code = code;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** The registry of the caller: the context's registry when it has one, else the global one. */
|
|
42
|
+
function callerRegistry(ctx) {
|
|
43
|
+
return ctx?.registry ?? PROCEDURE_REGISTRY;
|
|
44
|
+
}
|
|
45
|
+
/** The store of the caller's registry, or a NOT_CONFIGURED error. */
|
|
46
|
+
function requireStore(ctx, what) {
|
|
47
|
+
const store = getProcedureStore(callerRegistry(ctx));
|
|
48
|
+
if (!store) {
|
|
49
|
+
throw new ProcedureStoreError("NOT_CONFIGURED", `${what} needs a procedure store, and this registry has none. ` +
|
|
50
|
+
"Wrap the registry with createSyncedRegistry() or new SyncedProcedureRegistry().");
|
|
51
|
+
}
|
|
52
|
+
return store;
|
|
53
|
+
}
|
|
54
|
+
function toPath(path) {
|
|
55
|
+
return typeof path === "string" ? keyToPath(path) : path;
|
|
56
|
+
}
|
|
57
|
+
export const procedureRegisterProcedure = defineProcedure({
|
|
58
|
+
path: ["procedure", "register"],
|
|
59
|
+
input: anySchema,
|
|
60
|
+
output: anySchema,
|
|
61
|
+
metadata: {
|
|
62
|
+
description: "Register a procedure at runtime",
|
|
63
|
+
tags: ["procedure", "registry", "storage"],
|
|
64
|
+
},
|
|
65
|
+
handler: async (input, ctx) => {
|
|
66
|
+
const { path, metadata = {}, streaming, handlerRef, persist = false } = input;
|
|
67
|
+
const key = pathToKey(path);
|
|
68
|
+
const serialized = {
|
|
69
|
+
path,
|
|
70
|
+
metadata,
|
|
71
|
+
streaming,
|
|
72
|
+
handlerRef,
|
|
73
|
+
storedAt: Date.now(),
|
|
74
|
+
};
|
|
75
|
+
if (persist) {
|
|
76
|
+
// A stored procedure needs a handler: never store a stub (deep dive CORE-16)
|
|
77
|
+
const store = requireStore(ctx, "procedure.register with persist");
|
|
78
|
+
const loader = store.getHandlerLoader();
|
|
79
|
+
const procedure = handlerRef && loader ? await deserializeProcedure(serialized, { handlerLoader: loader }) : undefined;
|
|
80
|
+
if (!procedure?.handler) {
|
|
81
|
+
throw new ProcedureStoreError("NO_HANDLER", `procedure.register with persist needs a handler for ${key}: give a handlerRef ` +
|
|
82
|
+
"that the handler loader of the store allows.");
|
|
83
|
+
}
|
|
84
|
+
store.register(procedure, { override: false, handlerRef });
|
|
85
|
+
await store.flushWrites();
|
|
86
|
+
return { success: true, message: `Registered and stored ${key}`, path, hasHandler: true };
|
|
87
|
+
}
|
|
88
|
+
// No persist: load the handler when the store's loader allows it, else declare a stub
|
|
89
|
+
const loader = getProcedureStore(callerRegistry(ctx))?.getHandlerLoader();
|
|
90
|
+
const procedure = handlerRef && loader ? await deserializeProcedure(serialized, { handlerLoader: loader }) : deserializeProcedureSync(serialized);
|
|
91
|
+
try {
|
|
92
|
+
callerRegistry(ctx).register(procedure, { override: false });
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
return {
|
|
96
|
+
success: false,
|
|
97
|
+
message: error instanceof Error ? error.message : "Registration failed",
|
|
98
|
+
path,
|
|
99
|
+
hasHandler: false,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
const hasHandler = typeof procedure.handler === "function";
|
|
103
|
+
return {
|
|
104
|
+
success: true,
|
|
105
|
+
message: hasHandler
|
|
106
|
+
? `Registered ${key}`
|
|
107
|
+
: `Registered ${key} with no handler: a Client sends the calls of this path to its transport`,
|
|
108
|
+
path,
|
|
109
|
+
hasHandler,
|
|
110
|
+
};
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
export const procedureStoreProcedure = defineProcedure({
|
|
114
|
+
path: ["procedure", "store"],
|
|
115
|
+
input: anySchema,
|
|
116
|
+
output: anySchema,
|
|
117
|
+
metadata: {
|
|
118
|
+
description: "Persist a procedure definition to storage",
|
|
119
|
+
tags: ["procedure", "registry", "storage"],
|
|
120
|
+
},
|
|
121
|
+
handler: async (input, ctx) => {
|
|
122
|
+
const path = toPath(input.path);
|
|
123
|
+
const store = requireStore(ctx, "procedure.store");
|
|
124
|
+
const record = await store.storeProcedure(path, { handlerRef: input.handlerRef });
|
|
125
|
+
if (!record) {
|
|
126
|
+
return {
|
|
127
|
+
stored: false,
|
|
128
|
+
path,
|
|
129
|
+
message: `Procedure not found: ${pathToKey(path)}`,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
const output = { stored: true, path, message: `Stored ${pathToKey(path)}` };
|
|
133
|
+
if (record.storedAt !== undefined)
|
|
134
|
+
output.storedAt = record.storedAt;
|
|
135
|
+
return output;
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
export const procedureLoadProcedure = defineProcedure({
|
|
139
|
+
path: ["procedure", "load"],
|
|
140
|
+
input: anySchema,
|
|
141
|
+
output: anySchema,
|
|
142
|
+
metadata: {
|
|
143
|
+
description: "Load procedures from storage into registry",
|
|
144
|
+
tags: ["procedure", "registry", "storage"],
|
|
145
|
+
},
|
|
146
|
+
handler: async (input, ctx) => {
|
|
147
|
+
let matches;
|
|
148
|
+
let what;
|
|
149
|
+
if (input.all) {
|
|
150
|
+
matches = () => true;
|
|
151
|
+
what = "all procedures";
|
|
152
|
+
}
|
|
153
|
+
else if (input.path) {
|
|
154
|
+
const key = pathToKey(toPath(input.path));
|
|
155
|
+
matches = (record) => pathToKey(record.path) === key;
|
|
156
|
+
what = key;
|
|
157
|
+
}
|
|
158
|
+
else if (input.prefix) {
|
|
159
|
+
const prefix = pathToKey(toPath(input.prefix));
|
|
160
|
+
matches = (record) => {
|
|
161
|
+
const key = pathToKey(record.path);
|
|
162
|
+
return key === prefix || key.startsWith(`${prefix}.`);
|
|
163
|
+
};
|
|
164
|
+
what = `${prefix}.*`;
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
throw new Error("procedure.load needs `path`, `prefix` or `all: true`");
|
|
168
|
+
}
|
|
169
|
+
const store = requireStore(ctx, "procedure.load");
|
|
170
|
+
const paths = (await store.getAdapter().getAllRaw()).filter(matches).map((record) => record.path);
|
|
171
|
+
const result = await store.syncFromStorage(matches);
|
|
172
|
+
return {
|
|
173
|
+
loaded: result.pulled,
|
|
174
|
+
paths,
|
|
175
|
+
conflicts: result.conflicts.map(({ path, resolution }) => ({ path, resolution })),
|
|
176
|
+
message: `Loaded ${result.pulled} of ${paths.length} stored procedure(s) for ${what}`,
|
|
177
|
+
};
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
export const procedureSyncProcedure = defineProcedure({
|
|
181
|
+
path: ["procedure", "sync"],
|
|
182
|
+
input: anySchema,
|
|
183
|
+
output: anySchema,
|
|
184
|
+
metadata: {
|
|
185
|
+
description: "Synchronize procedure registry with storage",
|
|
186
|
+
tags: ["procedure", "registry", "storage"],
|
|
187
|
+
},
|
|
188
|
+
handler: async (input, ctx) => {
|
|
189
|
+
const direction = input.direction ?? "both";
|
|
190
|
+
const store = requireStore(ctx, "procedure.sync");
|
|
191
|
+
const result = await store.sync(direction);
|
|
192
|
+
return {
|
|
193
|
+
pushed: result.pushed,
|
|
194
|
+
pulled: result.pulled,
|
|
195
|
+
conflicts: result.conflicts.map(({ path, resolution }) => ({ path, resolution })),
|
|
196
|
+
message: `Sync ${direction}: pushed ${result.pushed}, pulled ${result.pulled}`,
|
|
197
|
+
};
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
export const procedureRemoteProcedure = defineProcedure({
|
|
201
|
+
path: ["procedure", "remote"],
|
|
202
|
+
input: anySchema,
|
|
203
|
+
output: anySchema,
|
|
204
|
+
metadata: {
|
|
205
|
+
description: "Configure remote procedure registry connection",
|
|
206
|
+
tags: ["procedure", "registry", "storage"],
|
|
207
|
+
},
|
|
208
|
+
handler: async (input, ctx) => {
|
|
209
|
+
switch (input.action) {
|
|
210
|
+
case "status": {
|
|
211
|
+
const store = getProcedureStore(callerRegistry(ctx));
|
|
212
|
+
if (!store) {
|
|
213
|
+
return { connected: false, message: "This registry has no procedure store" };
|
|
214
|
+
}
|
|
215
|
+
const status = store.getStatus();
|
|
216
|
+
const output = {
|
|
217
|
+
connected: status.connected,
|
|
218
|
+
pendingChanges: status.pendingChanges,
|
|
219
|
+
message: status.connected ? `Connected to ${status.endpoint}` : "The store is not connected to an endpoint",
|
|
220
|
+
};
|
|
221
|
+
if (status.endpoint !== undefined)
|
|
222
|
+
output.endpoint = status.endpoint;
|
|
223
|
+
if (status.lastSync !== undefined)
|
|
224
|
+
output.lastSync = status.lastSync;
|
|
225
|
+
return output;
|
|
226
|
+
}
|
|
227
|
+
case "connect":
|
|
228
|
+
// The storage of a store is fixed when it is made: no call changes it at run time
|
|
229
|
+
throw new ProcedureStoreError("NOT_IMPLEMENTED", "procedure.remote connect cannot change the storage of a registry at run time. " +
|
|
230
|
+
'Make the registry with createSyncedRegistry({ type: "api", client }) for the endpoint.');
|
|
231
|
+
case "disconnect": {
|
|
232
|
+
const store = requireStore(ctx, "procedure.remote disconnect");
|
|
233
|
+
store.disconnect();
|
|
234
|
+
return { connected: false, message: "Stopped the auto-sync, and cleared the endpoint" };
|
|
235
|
+
}
|
|
236
|
+
default:
|
|
237
|
+
throw new Error(`Unknown action: ${String(input.action)}`);
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
// =============================================================================
|
|
242
|
+
// Module Export
|
|
243
|
+
// =============================================================================
|
|
244
|
+
/**
|
|
245
|
+
* All procedure storage procedures as a module.
|
|
246
|
+
*/
|
|
247
|
+
export const procedureStorageModule = {
|
|
248
|
+
name: "procedure-storage",
|
|
249
|
+
procedures: [
|
|
250
|
+
procedureRegisterProcedure,
|
|
251
|
+
procedureStoreProcedure,
|
|
252
|
+
procedureLoadProcedure,
|
|
253
|
+
procedureSyncProcedure,
|
|
254
|
+
procedureRemoteProcedure,
|
|
255
|
+
],
|
|
256
|
+
};
|
|
257
|
+
/**
|
|
258
|
+
* Array of all procedure storage procedures.
|
|
259
|
+
*/
|
|
260
|
+
export const procedureStorageProcedures = procedureStorageModule.procedures;
|
|
261
|
+
//# sourceMappingURL=procedures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../../src/procedures/storage/procedures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Procedure Serialization
|
|
3
|
+
*
|
|
4
|
+
* Utilities for converting procedures to/from serialized format.
|
|
5
|
+
* Enables storage and transmission of procedure definitions.
|
|
6
|
+
*/
|
|
7
|
+
import type { AnyProcedure, ProcedurePath } from "../types.js";
|
|
8
|
+
import type { SerializedProcedure, HandlerReference, HandlerLoader } from "./types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Options for serializing a procedure.
|
|
11
|
+
*/
|
|
12
|
+
export interface SerializeOptions {
|
|
13
|
+
/** Handler reference to store (optional, handlers can't be serialized directly) */
|
|
14
|
+
handlerRef?: HandlerReference | undefined;
|
|
15
|
+
/** Whether to include version info */
|
|
16
|
+
includeVersion?: boolean | undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Serialize a procedure to storable format.
|
|
20
|
+
*
|
|
21
|
+
* Note: Handler functions cannot be serialized. If the procedure has a handler,
|
|
22
|
+
* you should provide a `handlerRef` that can be used to load it later.
|
|
23
|
+
*
|
|
24
|
+
* @param procedure - Procedure to serialize
|
|
25
|
+
* @param options - Serialization options
|
|
26
|
+
* @returns Serialized procedure definition
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const serialized = serializeProcedure(myProcedure, {
|
|
31
|
+
* handlerRef: {
|
|
32
|
+
* module: "@mark1russell7/client-cli",
|
|
33
|
+
* export: "libScanHandler",
|
|
34
|
+
* },
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function serializeProcedure(procedure: AnyProcedure, options?: SerializeOptions): SerializedProcedure;
|
|
39
|
+
/**
|
|
40
|
+
* Options for deserializing a procedure.
|
|
41
|
+
*/
|
|
42
|
+
export interface DeserializeOptions {
|
|
43
|
+
/** Handler loader to restore handlers from references */
|
|
44
|
+
handlerLoader?: HandlerLoader | undefined;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Deserialize a procedure from stored format.
|
|
48
|
+
*
|
|
49
|
+
* Returns a stub procedure without a handler unless a handlerLoader is provided
|
|
50
|
+
* and the serialized procedure has a handlerRef.
|
|
51
|
+
*
|
|
52
|
+
* @param data - Serialized procedure data
|
|
53
|
+
* @param options - Deserialization options
|
|
54
|
+
* @returns Procedure (stub if no handler can be loaded)
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* // Deserialize as stub (no handler)
|
|
59
|
+
* const stub = await deserializeProcedure(data);
|
|
60
|
+
*
|
|
61
|
+
* // Deserialize with handler loading
|
|
62
|
+
* const proc = await deserializeProcedure(data, {
|
|
63
|
+
* handlerLoader: myLoader,
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function deserializeProcedure(data: SerializedProcedure, options?: DeserializeOptions): Promise<AnyProcedure>;
|
|
68
|
+
/**
|
|
69
|
+
* Synchronous version that always returns a stub.
|
|
70
|
+
* Use when you don't need to load handlers.
|
|
71
|
+
*/
|
|
72
|
+
export declare function deserializeProcedureSync(data: SerializedProcedure): AnyProcedure;
|
|
73
|
+
/**
|
|
74
|
+
* Get the storage key (ID) for a procedure.
|
|
75
|
+
* Uses the dot-separated path as the key.
|
|
76
|
+
*
|
|
77
|
+
* @param pathOrProcedure - Procedure path or procedure object
|
|
78
|
+
* @returns Storage key string
|
|
79
|
+
*/
|
|
80
|
+
export declare function getProcedureKey(pathOrProcedure: ProcedurePath | AnyProcedure): string;
|
|
81
|
+
/**
|
|
82
|
+
* Get the storage key from a serialized procedure.
|
|
83
|
+
*/
|
|
84
|
+
export declare function getSerializedKey(data: SerializedProcedure): string;
|
|
85
|
+
/**
|
|
86
|
+
* Serialize multiple procedures.
|
|
87
|
+
*
|
|
88
|
+
* @param procedures - Procedures to serialize
|
|
89
|
+
* @param options - Serialization options
|
|
90
|
+
* @returns Array of [key, serialized] tuples for batch storage
|
|
91
|
+
*/
|
|
92
|
+
export declare function serializeProcedures(procedures: AnyProcedure[], options?: SerializeOptions): Array<[string, SerializedProcedure]>;
|
|
93
|
+
/**
|
|
94
|
+
* Deserialize multiple procedures.
|
|
95
|
+
*
|
|
96
|
+
* @param items - Array of serialized procedures
|
|
97
|
+
* @param options - Deserialization options
|
|
98
|
+
* @returns Array of procedures
|
|
99
|
+
*/
|
|
100
|
+
export declare function deserializeProcedures(items: SerializedProcedure[], options?: DeserializeOptions): Promise<AnyProcedure[]>;
|
|
101
|
+
/**
|
|
102
|
+
* Create a handler loader using dynamic imports of the allowed modules only.
|
|
103
|
+
*
|
|
104
|
+
* A stored procedure record names the module of its handler, and the storage can be remote
|
|
105
|
+
* (`api`, `hybrid`). So the loader imports only the modules in `allowedModules` (exact package
|
|
106
|
+
* names, or a prefix that ends with "*"), and never a URL or a path (`data:`, `file:`, `node:`,
|
|
107
|
+
* `./x`, `/x`, a drive letter). Before, it imported any module that a record named: a record
|
|
108
|
+
* with `node:child_process` ran a shell command (BUGS-2026-07 M11, deep dive CORE-7, DATA-11).
|
|
109
|
+
*
|
|
110
|
+
* @param allowedModules - Module names the loader may import, such as "@mark1russell7/client-git"
|
|
111
|
+
* @returns Handler loader that uses import() to load allowed modules
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const loader = createDynamicHandlerLoader(["@mark1russell7/client-*"]);
|
|
116
|
+
* const handler = await loader.load({
|
|
117
|
+
* module: "@mark1russell7/client-cli",
|
|
118
|
+
* export: "libScanHandler",
|
|
119
|
+
* });
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export declare function createDynamicHandlerLoader(allowedModules: readonly string[]): HandlerLoader;
|
|
123
|
+
//# sourceMappingURL=serialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/procedures/storage/serialization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAwBvF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAE1C,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,YAAY,EACvB,OAAO,GAAE,gBAAqB,GAC7B,mBAAmB,CAuBrB;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,CA0BvB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAahF;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,eAAe,EAAE,aAAa,GAAG,YAAY,GAAG,MAAM,CAGrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAElE;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,GAAE,gBAAqB,GAC7B,KAAK,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAKtC;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,mBAAmB,EAAE,EAC5B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,EAAE,CAAC,CAEzB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CAwB3F"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Procedure Serialization
|
|
3
|
+
*
|
|
4
|
+
* Utilities for converting procedures to/from serialized format.
|
|
5
|
+
* Enables storage and transmission of procedure definitions.
|
|
6
|
+
*/
|
|
7
|
+
import { pathToKey } from "../types.js";
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Any Schema (for deserialized procedures without schemas)
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Passthrough schema that accepts any value.
|
|
13
|
+
* Used for deserialized procedures where original schemas aren't available.
|
|
14
|
+
*/
|
|
15
|
+
const anySchema = {
|
|
16
|
+
parse: (data) => data,
|
|
17
|
+
safeParse: (data) => ({ success: true, data }),
|
|
18
|
+
_output: undefined,
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Serialize a procedure to storable format.
|
|
22
|
+
*
|
|
23
|
+
* Note: Handler functions cannot be serialized. If the procedure has a handler,
|
|
24
|
+
* you should provide a `handlerRef` that can be used to load it later.
|
|
25
|
+
*
|
|
26
|
+
* @param procedure - Procedure to serialize
|
|
27
|
+
* @param options - Serialization options
|
|
28
|
+
* @returns Serialized procedure definition
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const serialized = serializeProcedure(myProcedure, {
|
|
33
|
+
* handlerRef: {
|
|
34
|
+
* module: "@mark1russell7/client-cli",
|
|
35
|
+
* export: "libScanHandler",
|
|
36
|
+
* },
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export function serializeProcedure(procedure, options = {}) {
|
|
41
|
+
const serialized = {
|
|
42
|
+
path: procedure.path,
|
|
43
|
+
metadata: { ...procedure.metadata },
|
|
44
|
+
storedAt: Date.now(),
|
|
45
|
+
};
|
|
46
|
+
// Only include streaming if explicitly set
|
|
47
|
+
if (procedure.streaming !== undefined) {
|
|
48
|
+
serialized.streaming = procedure.streaming;
|
|
49
|
+
}
|
|
50
|
+
// Include handler reference if provided
|
|
51
|
+
if (options.handlerRef) {
|
|
52
|
+
serialized.handlerRef = options.handlerRef;
|
|
53
|
+
}
|
|
54
|
+
// Include version if requested
|
|
55
|
+
if (options.includeVersion) {
|
|
56
|
+
serialized.version = 1;
|
|
57
|
+
}
|
|
58
|
+
return serialized;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Deserialize a procedure from stored format.
|
|
62
|
+
*
|
|
63
|
+
* Returns a stub procedure without a handler unless a handlerLoader is provided
|
|
64
|
+
* and the serialized procedure has a handlerRef.
|
|
65
|
+
*
|
|
66
|
+
* @param data - Serialized procedure data
|
|
67
|
+
* @param options - Deserialization options
|
|
68
|
+
* @returns Procedure (stub if no handler can be loaded)
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* // Deserialize as stub (no handler)
|
|
73
|
+
* const stub = await deserializeProcedure(data);
|
|
74
|
+
*
|
|
75
|
+
* // Deserialize with handler loading
|
|
76
|
+
* const proc = await deserializeProcedure(data, {
|
|
77
|
+
* handlerLoader: myLoader,
|
|
78
|
+
* });
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export async function deserializeProcedure(data, options = {}) {
|
|
82
|
+
const procedure = {
|
|
83
|
+
path: data.path,
|
|
84
|
+
input: anySchema,
|
|
85
|
+
output: anySchema,
|
|
86
|
+
metadata: { ...data.metadata },
|
|
87
|
+
};
|
|
88
|
+
// Set streaming if present
|
|
89
|
+
if (data.streaming !== undefined) {
|
|
90
|
+
procedure.streaming = data.streaming;
|
|
91
|
+
}
|
|
92
|
+
// Try to load handler if reference exists and loader is provided
|
|
93
|
+
if (data.handlerRef && options.handlerLoader) {
|
|
94
|
+
try {
|
|
95
|
+
const handler = await options.handlerLoader.load(data.handlerRef);
|
|
96
|
+
if (handler && typeof handler === "function") {
|
|
97
|
+
procedure.handler = handler;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
// Handler loading failed, procedure remains a stub
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return procedure;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Synchronous version that always returns a stub.
|
|
108
|
+
* Use when you don't need to load handlers.
|
|
109
|
+
*/
|
|
110
|
+
export function deserializeProcedureSync(data) {
|
|
111
|
+
const procedure = {
|
|
112
|
+
path: data.path,
|
|
113
|
+
input: anySchema,
|
|
114
|
+
output: anySchema,
|
|
115
|
+
metadata: { ...data.metadata },
|
|
116
|
+
};
|
|
117
|
+
if (data.streaming !== undefined) {
|
|
118
|
+
procedure.streaming = data.streaming;
|
|
119
|
+
}
|
|
120
|
+
return procedure;
|
|
121
|
+
}
|
|
122
|
+
// =============================================================================
|
|
123
|
+
// Storage Key Utilities
|
|
124
|
+
// =============================================================================
|
|
125
|
+
/**
|
|
126
|
+
* Get the storage key (ID) for a procedure.
|
|
127
|
+
* Uses the dot-separated path as the key.
|
|
128
|
+
*
|
|
129
|
+
* @param pathOrProcedure - Procedure path or procedure object
|
|
130
|
+
* @returns Storage key string
|
|
131
|
+
*/
|
|
132
|
+
export function getProcedureKey(pathOrProcedure) {
|
|
133
|
+
const path = Array.isArray(pathOrProcedure) ? pathOrProcedure : pathOrProcedure.path;
|
|
134
|
+
return pathToKey(path);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get the storage key from a serialized procedure.
|
|
138
|
+
*/
|
|
139
|
+
export function getSerializedKey(data) {
|
|
140
|
+
return pathToKey(data.path);
|
|
141
|
+
}
|
|
142
|
+
// =============================================================================
|
|
143
|
+
// Batch Operations
|
|
144
|
+
// =============================================================================
|
|
145
|
+
/**
|
|
146
|
+
* Serialize multiple procedures.
|
|
147
|
+
*
|
|
148
|
+
* @param procedures - Procedures to serialize
|
|
149
|
+
* @param options - Serialization options
|
|
150
|
+
* @returns Array of [key, serialized] tuples for batch storage
|
|
151
|
+
*/
|
|
152
|
+
export function serializeProcedures(procedures, options = {}) {
|
|
153
|
+
return procedures.map((proc) => [
|
|
154
|
+
getProcedureKey(proc),
|
|
155
|
+
serializeProcedure(proc, options),
|
|
156
|
+
]);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Deserialize multiple procedures.
|
|
160
|
+
*
|
|
161
|
+
* @param items - Array of serialized procedures
|
|
162
|
+
* @param options - Deserialization options
|
|
163
|
+
* @returns Array of procedures
|
|
164
|
+
*/
|
|
165
|
+
export async function deserializeProcedures(items, options = {}) {
|
|
166
|
+
return Promise.all(items.map((item) => deserializeProcedure(item, options)));
|
|
167
|
+
}
|
|
168
|
+
// =============================================================================
|
|
169
|
+
// Default Handler Loader
|
|
170
|
+
// =============================================================================
|
|
171
|
+
/**
|
|
172
|
+
* Create a handler loader using dynamic imports of the allowed modules only.
|
|
173
|
+
*
|
|
174
|
+
* A stored procedure record names the module of its handler, and the storage can be remote
|
|
175
|
+
* (`api`, `hybrid`). So the loader imports only the modules in `allowedModules` (exact package
|
|
176
|
+
* names, or a prefix that ends with "*"), and never a URL or a path (`data:`, `file:`, `node:`,
|
|
177
|
+
* `./x`, `/x`, a drive letter). Before, it imported any module that a record named: a record
|
|
178
|
+
* with `node:child_process` ran a shell command (BUGS-2026-07 M11, deep dive CORE-7, DATA-11).
|
|
179
|
+
*
|
|
180
|
+
* @param allowedModules - Module names the loader may import, such as "@mark1russell7/client-git"
|
|
181
|
+
* @returns Handler loader that uses import() to load allowed modules
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* const loader = createDynamicHandlerLoader(["@mark1russell7/client-*"]);
|
|
186
|
+
* const handler = await loader.load({
|
|
187
|
+
* module: "@mark1russell7/client-cli",
|
|
188
|
+
* export: "libScanHandler",
|
|
189
|
+
* });
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
export function createDynamicHandlerLoader(allowedModules) {
|
|
193
|
+
const allowed = (specifier) => {
|
|
194
|
+
// A URL scheme (data:, file:, node:, C:) or a relative or absolute path is never allowed
|
|
195
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(specifier) || /^[./\\]/.test(specifier)) {
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
return allowedModules.some((entry) => entry.endsWith("*") ? specifier.startsWith(entry.slice(0, -1)) : specifier === entry);
|
|
199
|
+
};
|
|
200
|
+
return {
|
|
201
|
+
async load(ref) {
|
|
202
|
+
if (!allowed(ref.module)) {
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
try {
|
|
206
|
+
// The specifier is checked against the allowlist above. A bundler cannot follow it.
|
|
207
|
+
const module = await import(/* @vite-ignore */ ref.module);
|
|
208
|
+
return module[ref.export];
|
|
209
|
+
}
|
|
210
|
+
catch {
|
|
211
|
+
return undefined;
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/procedures/storage/serialization.ts"],"names":[],"mappings":"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"}
|