@zyno-io/ts-server-foundation 26.714.5 → 26.714.320

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.
Files changed (36) hide show
  1. package/dist/src/app/base.js +1 -1
  2. package/dist/src/app/index.js +1 -1
  3. package/dist/src/database/database.js +1 -1
  4. package/dist/src/database/index.js +1 -1
  5. package/dist/src/database/metadata.js +1 -1
  6. package/dist/src/database/query.js +1 -1
  7. package/dist/src/di/container.js +1 -1
  8. package/dist/src/di/index.js +1 -1
  9. package/dist/src/di/module.js +1 -1
  10. package/dist/src/http/base.js +1 -1
  11. package/dist/src/http/index.js +1 -1
  12. package/dist/src/http/request.js +2 -2
  13. package/dist/src/http/response.js +3 -3
  14. package/dist/src/http/router.js +2 -3
  15. package/dist/src/http/workflow.js +1 -1
  16. package/dist/src/index.js +1 -1
  17. package/dist/src/openapi/index.js +1 -1
  18. package/dist/src/openapi/schema.js +1 -1
  19. package/dist/src/openapi/types.js +1 -1
  20. package/dist/src/reflection/deserializer.js +1 -1
  21. package/dist/src/reflection/index.js +1 -1
  22. package/dist/src/reflection/model.js +1 -1
  23. package/dist/src/reflection/reflection-class.js +3 -3
  24. package/dist/src/services/index.js +1 -1
  25. package/dist/src/services/mesh-client/index.js +1 -1
  26. package/dist/src/services/mesh-client/mesh-client-redis-registry.js +1 -1
  27. package/dist/src/services/mesh-client/mesh-client-registry.js +1 -1
  28. package/dist/src/services/mesh-client/types.js +1 -1
  29. package/dist/src/testing/sql.js +1 -1
  30. package/dist/src/type-compiler/go/ast_metadata.go +1 -1
  31. package/dist/src/type-compiler/go/emission_plan.go +1 -1
  32. package/dist/src/type-compiler/go/plugin_test.go +135 -1
  33. package/dist/src/type-compiler/go/text_parse.go +65 -2
  34. package/dist/src/type-compiler/go/type_expr.go +5 -9
  35. package/dist/src/type-compiler/go/typia_expr.go +104 -15
  36. package/package.json +1 -1
@@ -10,5 +10,5 @@ tslib_1.__exportStar(require("./mail"), exports);
10
10
  tslib_1.__exportStar(require("./mesh"), exports);
11
11
  tslib_1.__exportStar(require("./mesh-client"), exports);
12
12
  tslib_1.__exportStar(require("./worker"), exports);
13
- exports.__tsfTypeAliases = _a.decodeCompactMetadataV1("[1,{\"BaseJobClass\":{\"kind\":18,\"typeName\":\"BaseJobClass\",\"types\":[{\"kind\":20,\"name\":\"QUEUE_NAME\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"CRON_SCHEDULE\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},\"optional\":false}]},\"BullMqWorkerJobData\":{\"kind\":18,\"typeName\":\"BullMqWorkerJobData\",\"types\":[{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"options\",\"type\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"optional\":false}]},\"IJobOptions\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"LeaderServiceOptions\":{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},\"LogData\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[],\"typeName\":\"LogData\"},\"LogEntry\":{\"kind\":18,\"typeName\":\"LogEntry\",\"types\":[{\"kind\":20,\"name\":\"level\",\"type\":{\"kind\":11,\"typeName\":\"LoggerLevel\",\"values\":[0,1,2,3,4,5,6,7]},\"optional\":false},{\"kind\":20,\"name\":\"levelName\",\"type\":{\"kind\":2,\"typeName\":\"keyof typeof LoggerLevel\"},\"optional\":false},{\"kind\":20,\"name\":\"scope\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[],\"typeName\":\"LogData\"},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"error\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"timestamp\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false}]},\"LogSink\":{\"kind\":2,\"typeName\":\"(entry: LogEntry) =\\u003e void\",\"typeName\":\"LogSink\"},\"LoggerInterface\":{\"kind\":16,\"typeName\":\"Logger\",\"classType\":{\"$tsf\":1},\"typeName\":\"LoggerInterface\"},\"MailProvider\":{\"kind\":18,\"typeName\":\"MailProvider\",\"types\":[]},\"MeshBroadcastMap\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[],\"typeName\":\"MeshBroadcastMap\"},\"MeshBroadcastOptions\":{\"kind\":18,\"typeName\":\"MeshBroadcastOptions\",\"types\":[{\"kind\":20,\"name\":\"skipSelf\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true}]},\"MeshClientRegistryBackend\":{\"kind\":18,\"typeName\":\"MeshClientRegistryBackend\",\"types\":[]},\"MeshClientServiceOptions\":{\"kind\":18,\"typeName\":\"MeshClientServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"key\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"meshOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"registryBackend\",\"type\":{\"kind\":12,\"types\":[{\"kind\":16,\"typeName\":\"MeshClientRegistryBackend\",\"classType\":{\"$tsfImport\":[2,\"./mesh-client/types\",\"MeshClientRegistryBackend\"]},\"typeArguments\":[{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":3}}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"clientInvokeFn\",\"type\":{\"kind\":2,\"typeName\":\"(clientId: string, type: string, data: unknown, timeoutMs?: number) =\\u003e Promise\\u003cunknown\\u003e\"},\"optional\":false},{\"kind\":20,\"name\":\"clientUpdateMetaFn\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"(clientId: string, metadata: TMeta) =\\u003e boolean\"},{\"kind\":4}]},\"optional\":true}]},\"MeshMessageMap\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"request\",\"type\":{\"kind\":2},\"optional\":false},{\"kind\":20,\"name\":\"response\",\"type\":{\"kind\":2},\"optional\":false}]}],\"index\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"request\",\"type\":{\"kind\":2},\"optional\":false},{\"kind\":20,\"name\":\"response\",\"type\":{\"kind\":2},\"optional\":false}]},\"types\":[],\"typeName\":\"MeshMessageMap\"},\"MeshNode\":{\"kind\":18,\"typeName\":\"MeshNode\",\"types\":[{\"kind\":20,\"name\":\"instanceId\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"hostname\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"self\",\"type\":{\"kind\":8},\"optional\":false}]},\"MeshServiceOptions\":{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},\"MeshSrpcServerOptions\":{\"kind\":18,\"typeName\":\"MeshSrpcServerOptions\",\"types\":[{\"kind\":20,\"name\":\"meshKey\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"meshOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"registryBackend\",\"type\":{\"kind\":12,\"types\":[{\"kind\":16,\"typeName\":\"MeshClientRegistryBackend\",\"classType\":{\"$tsfImport\":[2,\"./mesh-client/types\",\"MeshClientRegistryBackend\"]},\"typeArguments\":[{\"kind\":16,\"typeName\":\"TRegistryMeta\",\"classType\":{\"$tsf\":4}}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"extractMetadata\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"(stream: SrpcStream\\u003cTMeta\\u003e) =\\u003e TRegistryMeta\"},{\"kind\":4}]},\"optional\":true}]},\"MessageProperties\":{\"kind\":18,\"typeName\":\"MessageProperties\",\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]},\"PreparedMessageProperties\":{\"kind\":18,\"typeName\":\"PreparedMessageProperties\",\"types\":[{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}],\"implements\":[{\"kind\":18,\"typeName\":\"Omit\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"MessageProperties\",\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]}],\"types\":[{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]}]},\"QueuedWorkerJob\":{\"kind\":18,\"typeName\":\"QueuedWorkerJob\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"jobClass\",\"type\":{\"kind\":2,\"typeName\":\"JobClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"I\"}]},\"optional\":false},{\"kind\":20,\"name\":\"options\",\"type\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"attemptsMade\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"queued\"},{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"},{\"kind\":10,\"literal\":\"skipped\"}],\"typeName\":\"WorkerJobStatus\"},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]},\"RegisterResult\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"{ status: 'ok'; supersededNodeId: number | null }\\n // ownerNodeId can be null if the owning client disappears during\\n // the Redis conflict/readback race.\"},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"},\"RegisteredClient\":{\"kind\":18,\"typeName\":\"RegisteredClient\",\"types\":[{\"kind\":20,\"name\":\"clientId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"nodeId\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"connectedAt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"metadata\",\"type\":{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":3}},\"optional\":false}]},\"TemplateMessageProperties\":{\"kind\":18,\"typeName\":\"TemplateMessageProperties\",\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"template\",\"type\":{\"kind\":2,\"typeName\":\"ClassType\",\"typeArguments\":[{\"kind\":16,\"typeName\":\"MailTemplate\",\"classType\":{\"$tsf\":6},\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]}]},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"T\"},\"optional\":false}],\"implements\":[{\"kind\":18,\"typeName\":\"Omit\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"MessageProperties\",\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]}],\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]}]},\"WorkerExecutionResult\":{\"kind\":18,\"typeName\":\"WorkerExecutionResult\",\"types\":[{\"kind\":20,\"name\":\"job\",\"type\":{\"kind\":16,\"typeName\":\"QueuedWorkerJob\",\"classType\":{\"$tsfImport\":[2,\"./worker/types\",\"QueuedWorkerJob\"]},\"typeArguments\":[{\"kind\":2,\"typeName\":\"I\"}]},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":2,\"typeName\":\"O\"},\"optional\":false}]},\"WorkerJobOptions\":{\"kind\":18,\"typeName\":\"WorkerJobOptions\",\"types\":[{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"cronSchedule\",\"type\":{\"kind\":12,\"types\":[{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"cron\",\"type\":{\"kind\":12,\"types\":[{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},{\"kind\":4}]},\"optional\":true}]},\"WorkerJobRecord\":{\"kind\":18,\"typeName\":\"WorkerJobRecord\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queueId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"attempt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"traceId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"}]},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":2,\"typeName\":\"O\"},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"executedAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"completedAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false}]},\"WorkerJobStatus\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"queued\"},{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"},{\"kind\":10,\"literal\":\"skipped\"}],\"typeName\":\"WorkerJobStatus\"},\"WorkerObservation\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"type\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"added\"},{\"kind\":10,\"literal\":\"active\"},{\"kind\":10,\"literal\":\"delayed\"}]},\"optional\":false},{\"kind\":20,\"name\":\"job\",\"type\":{\"kind\":18,\"typeName\":\"QueuedWorkerJob\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"jobClass\",\"type\":{\"kind\":2,\"typeName\":\"JobClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"I\"}]},\"optional\":false},{\"kind\":20,\"name\":\"options\",\"type\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"attemptsMade\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"queued\"},{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"},{\"kind\":10,\"literal\":\"skipped\"}],\"typeName\":\"WorkerJobStatus\"},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]},\"optional\":false}]},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"type\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"}]},\"optional\":false},{\"kind\":20,\"name\":\"job\",\"type\":{\"kind\":18,\"typeName\":\"QueuedWorkerJob\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"jobClass\",\"type\":{\"kind\":2,\"typeName\":\"JobClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"I\"}]},\"optional\":false},{\"kind\":20,\"name\":\"options\",\"type\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"attemptsMade\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"queued\"},{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"},{\"kind\":10,\"literal\":\"skipped\"}],\"typeName\":\"WorkerJobStatus\"},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]},\"optional\":false},{\"kind\":20,\"name\":\"record\",\"type\":{\"kind\":18,\"typeName\":\"WorkerJobRecord\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queueId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"attempt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"traceId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"}]},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":2,\"typeName\":\"O\"},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"executedAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"completedAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false}]},\"optional\":false}]}],\"typeName\":\"WorkerObservation\"},\"WorkerObserver\":{\"kind\":2,\"typeName\":\"(entry: WorkerObservation) =\\u003e void\",\"typeName\":\"WorkerObserver\"}}]", [() => (typeof Date !== "undefined" ? Date : (typeof exports !== "undefined" ? exports.Date : undefined)), () => (typeof Logger !== "undefined" ? Logger : (typeof exports !== "undefined" ? exports.Logger : undefined)), require, () => (typeof TMeta !== "undefined" ? TMeta : (typeof exports !== "undefined" ? exports.TMeta : undefined)), () => (typeof TRegistryMeta !== "undefined" ? TRegistryMeta : (typeof exports !== "undefined" ? exports.TRegistryMeta : undefined)), () => (typeof Buffer !== "undefined" ? Buffer : (typeof exports !== "undefined" ? exports.Buffer : undefined)), () => (typeof MailTemplate !== "undefined" ? MailTemplate : (typeof exports !== "undefined" ? exports.MailTemplate : undefined))]);
13
+ exports.__tsfTypeAliases = _a.decodeCompactMetadataV1("[1,{\"BaseJobClass\":{\"kind\":18,\"typeName\":\"BaseJobClass\",\"types\":[{\"kind\":20,\"name\":\"QUEUE_NAME\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"CRON_SCHEDULE\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},\"optional\":false}]},\"BullMqWorkerJobData\":{\"kind\":18,\"typeName\":\"BullMqWorkerJobData\",\"types\":[{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"options\",\"type\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"optional\":false}]},\"IJobOptions\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"LeaderServiceOptions\":{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},\"LogData\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[],\"typeName\":\"LogData\"},\"LogEntry\":{\"kind\":18,\"typeName\":\"LogEntry\",\"types\":[{\"kind\":20,\"name\":\"level\",\"type\":{\"kind\":11,\"typeName\":\"LoggerLevel\",\"values\":[0,1,2,3,4,5,6,7]},\"optional\":false},{\"kind\":20,\"name\":\"levelName\",\"type\":{\"kind\":2,\"typeName\":\"keyof typeof LoggerLevel\"},\"optional\":false},{\"kind\":20,\"name\":\"scope\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[],\"typeName\":\"LogData\"},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"error\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"timestamp\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false}]},\"LogSink\":{\"kind\":2,\"typeName\":\"(entry: LogEntry) =\\u003e void\",\"typeName\":\"LogSink\"},\"LoggerInterface\":{\"kind\":16,\"typeName\":\"Logger\",\"classType\":{\"$tsf\":1},\"typeName\":\"LoggerInterface\"},\"MailProvider\":{\"kind\":18,\"typeName\":\"MailProvider\",\"types\":[]},\"MeshBroadcastMap\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[],\"typeName\":\"MeshBroadcastMap\"},\"MeshBroadcastOptions\":{\"kind\":18,\"typeName\":\"MeshBroadcastOptions\",\"types\":[{\"kind\":20,\"name\":\"skipSelf\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true}]},\"MeshClientRegistryBackend\":{\"kind\":18,\"typeName\":\"MeshClientRegistryBackend\",\"types\":[]},\"MeshClientServiceOptions\":{\"kind\":18,\"typeName\":\"MeshClientServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"key\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"meshOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"registryBackend\",\"type\":{\"kind\":12,\"types\":[{\"kind\":16,\"typeName\":\"MeshClientRegistryBackend\",\"classType\":{\"$tsfImport\":[2,\"./mesh-client/types\",\"MeshClientRegistryBackend\"]},\"typeArguments\":[{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":3}}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"clientInvokeFn\",\"type\":{\"kind\":2,\"typeName\":\"(clientId: string, type: string, data: unknown, timeoutMs?: number) =\\u003e Promise\\u003cunknown\\u003e\"},\"optional\":false},{\"kind\":20,\"name\":\"clientUpdateMetaFn\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"(clientId: string, metadata: TMeta) =\\u003e boolean\"},{\"kind\":4}]},\"optional\":true}]},\"MeshMessageMap\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"request\",\"type\":{\"kind\":2},\"optional\":false},{\"kind\":20,\"name\":\"response\",\"type\":{\"kind\":2},\"optional\":false}]}],\"index\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"request\",\"type\":{\"kind\":2},\"optional\":false},{\"kind\":20,\"name\":\"response\",\"type\":{\"kind\":2},\"optional\":false}]},\"types\":[],\"typeName\":\"MeshMessageMap\"},\"MeshNode\":{\"kind\":18,\"typeName\":\"MeshNode\",\"types\":[{\"kind\":20,\"name\":\"instanceId\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"hostname\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"self\",\"type\":{\"kind\":8},\"optional\":false}]},\"MeshServiceOptions\":{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},\"MeshSrpcServerOptions\":{\"kind\":18,\"typeName\":\"MeshSrpcServerOptions\",\"types\":[{\"kind\":20,\"name\":\"meshKey\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"meshOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"registryBackend\",\"type\":{\"kind\":12,\"types\":[{\"kind\":16,\"typeName\":\"MeshClientRegistryBackend\",\"classType\":{\"$tsfImport\":[2,\"./mesh-client/types\",\"MeshClientRegistryBackend\"]},\"typeArguments\":[{\"kind\":16,\"typeName\":\"TRegistryMeta\",\"classType\":{\"$tsf\":4}}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"extractMetadata\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"(stream: SrpcStream\\u003cTMeta\\u003e) =\\u003e TRegistryMeta\"},{\"kind\":4}]},\"optional\":true}]},\"MessageProperties\":{\"kind\":18,\"typeName\":\"MessageProperties\",\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]},\"PreparedMessageProperties\":{\"kind\":18,\"typeName\":\"PreparedMessageProperties\",\"types\":[{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}],\"implements\":[{\"kind\":18,\"typeName\":\"Omit\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"MessageProperties\",\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]}],\"types\":[{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]}]},\"QueuedWorkerJob\":{\"kind\":18,\"typeName\":\"QueuedWorkerJob\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"jobClass\",\"type\":{\"kind\":2,\"typeName\":\"JobClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"I\"}]},\"optional\":false},{\"kind\":20,\"name\":\"options\",\"type\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"attemptsMade\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"queued\"},{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"},{\"kind\":10,\"literal\":\"skipped\"}],\"typeName\":\"WorkerJobStatus\"},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]},\"RegisterResult\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"ok\"},\"optional\":false},{\"kind\":20,\"name\":\"supersededNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"},\"RegisteredClient\":{\"kind\":18,\"typeName\":\"RegisteredClient\",\"types\":[{\"kind\":20,\"name\":\"clientId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"nodeId\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"connectedAt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"metadata\",\"type\":{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":3}},\"optional\":false}]},\"TemplateMessageProperties\":{\"kind\":18,\"typeName\":\"TemplateMessageProperties\",\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"template\",\"type\":{\"kind\":2,\"typeName\":\"ClassType\",\"typeArguments\":[{\"kind\":16,\"typeName\":\"MailTemplate\",\"classType\":{\"$tsf\":6},\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]}]},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"T\"},\"optional\":false}],\"implements\":[{\"kind\":18,\"typeName\":\"Omit\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"MessageProperties\",\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"subject\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"message\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"plainMessage\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]}],\"types\":[{\"kind\":20,\"name\":\"from\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"to\",\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},\"optional\":false},{\"kind\":20,\"name\":\"replyTo\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"address\",\"type\":{\"kind\":6},\"optional\":false}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"attachments\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"content\",\"type\":{\"kind\":16,\"typeName\":\"Buffer\",\"classType\":{\"$tsf\":5}},\"optional\":false},{\"kind\":20,\"name\":\"contentType\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"cid\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]}},{\"kind\":4}]},\"optional\":true}]}]},\"WorkerExecutionResult\":{\"kind\":18,\"typeName\":\"WorkerExecutionResult\",\"types\":[{\"kind\":20,\"name\":\"job\",\"type\":{\"kind\":16,\"typeName\":\"QueuedWorkerJob\",\"classType\":{\"$tsfImport\":[2,\"./worker/types\",\"QueuedWorkerJob\"]},\"typeArguments\":[{\"kind\":2,\"typeName\":\"I\"}]},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":2,\"typeName\":\"O\"},\"optional\":false}]},\"WorkerJobOptions\":{\"kind\":18,\"typeName\":\"WorkerJobOptions\",\"types\":[{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"cronSchedule\",\"type\":{\"kind\":12,\"types\":[{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"cron\",\"type\":{\"kind\":12,\"types\":[{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},{\"kind\":4}]},\"optional\":true}]},\"WorkerJobRecord\":{\"kind\":18,\"typeName\":\"WorkerJobRecord\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queueId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"attempt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"traceId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"}]},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":2,\"typeName\":\"O\"},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"executedAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"completedAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false}]},\"WorkerJobStatus\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"queued\"},{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"},{\"kind\":10,\"literal\":\"skipped\"}],\"typeName\":\"WorkerJobStatus\"},\"WorkerObservation\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"type\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"added\"},{\"kind\":10,\"literal\":\"active\"},{\"kind\":10,\"literal\":\"delayed\"}]},\"optional\":false},{\"kind\":20,\"name\":\"job\",\"type\":{\"kind\":18,\"typeName\":\"QueuedWorkerJob\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"jobClass\",\"type\":{\"kind\":2,\"typeName\":\"JobClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"I\"}]},\"optional\":false},{\"kind\":20,\"name\":\"options\",\"type\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"attemptsMade\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"queued\"},{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"},{\"kind\":10,\"literal\":\"skipped\"}],\"typeName\":\"WorkerJobStatus\"},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]},\"optional\":false}]},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"type\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"}]},\"optional\":false},{\"kind\":20,\"name\":\"job\",\"type\":{\"kind\":18,\"typeName\":\"QueuedWorkerJob\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"jobClass\",\"type\":{\"kind\":2,\"typeName\":\"JobClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"I\"}]},\"optional\":false},{\"kind\":20,\"name\":\"options\",\"type\":{\"kind\":18,\"typeName\":\"IJobOptions\",\"types\":[{\"kind\":20,\"name\":\"delay\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"queueName\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runInTest\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"runImmediately\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"recordToDatabase\",\"type\":{\"kind\":12,\"types\":[{\"kind\":8},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"repeatKey\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":4}]},\"optional\":true}]},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"attemptsMade\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"queued\"},{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"},{\"kind\":10,\"literal\":\"skipped\"}],\"typeName\":\"WorkerJobStatus\"},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]},\"optional\":false},{\"kind\":20,\"name\":\"record\",\"type\":{\"kind\":18,\"typeName\":\"WorkerJobRecord\",\"types\":[{\"kind\":20,\"name\":\"id\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queue\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"queueId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"attempt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"name\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"data\",\"type\":{\"kind\":2,\"typeName\":\"I\"},\"optional\":false},{\"kind\":20,\"name\":\"traceId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":5}]},\"optional\":false},{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"completed\"},{\"kind\":10,\"literal\":\"failed\"}]},\"optional\":false},{\"kind\":20,\"name\":\"result\",\"type\":{\"kind\":2,\"typeName\":\"O\"},\"optional\":false},{\"kind\":20,\"name\":\"createdAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"shouldExecuteAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"executedAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false},{\"kind\":20,\"name\":\"completedAt\",\"type\":{\"kind\":16,\"typeName\":\"Date\",\"classType\":{\"$tsf\":0}},\"optional\":false}]},\"optional\":false}]}],\"typeName\":\"WorkerObservation\"},\"WorkerObserver\":{\"kind\":2,\"typeName\":\"(entry: WorkerObservation) =\\u003e void\",\"typeName\":\"WorkerObserver\"}}]", [() => (typeof Date !== "undefined" ? Date : (typeof exports !== "undefined" ? exports.Date : undefined)), () => (typeof Logger !== "undefined" ? Logger : (typeof exports !== "undefined" ? exports.Logger : undefined)), require, () => (typeof TMeta !== "undefined" ? TMeta : (typeof exports !== "undefined" ? exports.TMeta : undefined)), () => (typeof TRegistryMeta !== "undefined" ? TRegistryMeta : (typeof exports !== "undefined" ? exports.TRegistryMeta : undefined)), () => (typeof Buffer !== "undefined" ? Buffer : (typeof exports !== "undefined" ? exports.Buffer : undefined)), () => (typeof MailTemplate !== "undefined" ? MailTemplate : (typeof exports !== "undefined" ? exports.MailTemplate : undefined))]);
14
14
  //# sourceMappingURL=index.js.map
@@ -16,5 +16,5 @@ var types_1 = require("./types");
16
16
  Object.defineProperty(exports, "ClientDisconnectedError", { enumerable: true, get: function () { return types_1.ClientDisconnectedError; } });
17
17
  Object.defineProperty(exports, "ClientInvocationError", { enumerable: true, get: function () { return types_1.ClientInvocationError; } });
18
18
  Object.defineProperty(exports, "ClientNotFoundError", { enumerable: true, get: function () { return types_1.ClientNotFoundError; } });
19
- exports.__tsfTypeAliases = _a.decodeCompactMetadataV1("[1,{\"MeshClientRegistryBackend\":{\"kind\":18,\"typeName\":\"MeshClientRegistryBackend\",\"types\":[]},\"MeshClientServiceOptions\":{\"kind\":18,\"typeName\":\"MeshClientServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"key\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"meshOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"registryBackend\",\"type\":{\"kind\":12,\"types\":[{\"kind\":16,\"typeName\":\"MeshClientRegistryBackend\",\"classType\":{\"$tsfImport\":[0,\"./types\",\"MeshClientRegistryBackend\"]},\"typeArguments\":[{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":1}}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"clientInvokeFn\",\"type\":{\"kind\":2,\"typeName\":\"(clientId: string, type: string, data: unknown, timeoutMs?: number) =\\u003e Promise\\u003cunknown\\u003e\"},\"optional\":false},{\"kind\":20,\"name\":\"clientUpdateMetaFn\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"(clientId: string, metadata: TMeta) =\\u003e boolean\"},{\"kind\":4}]},\"optional\":true}]},\"MeshSrpcServerOptions\":{\"kind\":18,\"typeName\":\"MeshSrpcServerOptions\",\"types\":[{\"kind\":20,\"name\":\"meshKey\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"meshOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"registryBackend\",\"type\":{\"kind\":12,\"types\":[{\"kind\":16,\"typeName\":\"MeshClientRegistryBackend\",\"classType\":{\"$tsfImport\":[0,\"./types\",\"MeshClientRegistryBackend\"]},\"typeArguments\":[{\"kind\":16,\"typeName\":\"TRegistryMeta\",\"classType\":{\"$tsf\":2}}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"extractMetadata\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"(stream: SrpcStream\\u003cTMeta\\u003e) =\\u003e TRegistryMeta\"},{\"kind\":4}]},\"optional\":true}]},\"RegisterResult\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"{ status: 'ok'; supersededNodeId: number | null }\\n // ownerNodeId can be null if the owning client disappears during\\n // the Redis conflict/readback race.\"},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"},\"RegisteredClient\":{\"kind\":18,\"typeName\":\"RegisteredClient\",\"types\":[{\"kind\":20,\"name\":\"clientId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"nodeId\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"connectedAt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"metadata\",\"type\":{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":1}},\"optional\":false}]}}]", [require, () => (typeof TMeta !== "undefined" ? TMeta : (typeof exports !== "undefined" ? exports.TMeta : undefined)), () => (typeof TRegistryMeta !== "undefined" ? TRegistryMeta : (typeof exports !== "undefined" ? exports.TRegistryMeta : undefined))]);
19
+ exports.__tsfTypeAliases = _a.decodeCompactMetadataV1("[1,{\"MeshClientRegistryBackend\":{\"kind\":18,\"typeName\":\"MeshClientRegistryBackend\",\"types\":[]},\"MeshClientServiceOptions\":{\"kind\":18,\"typeName\":\"MeshClientServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"key\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"meshOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"registryBackend\",\"type\":{\"kind\":12,\"types\":[{\"kind\":16,\"typeName\":\"MeshClientRegistryBackend\",\"classType\":{\"$tsfImport\":[0,\"./types\",\"MeshClientRegistryBackend\"]},\"typeArguments\":[{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":1}}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"clientInvokeFn\",\"type\":{\"kind\":2,\"typeName\":\"(clientId: string, type: string, data: unknown, timeoutMs?: number) =\\u003e Promise\\u003cunknown\\u003e\"},\"optional\":false},{\"kind\":20,\"name\":\"clientUpdateMetaFn\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"(clientId: string, metadata: TMeta) =\\u003e boolean\"},{\"kind\":4}]},\"optional\":true}]},\"MeshSrpcServerOptions\":{\"kind\":18,\"typeName\":\"MeshSrpcServerOptions\",\"types\":[{\"kind\":20,\"name\":\"meshKey\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"meshOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"MeshServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"heartbeatIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"nodeTtlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"requestTimeoutMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"leaderOptions\",\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"typeName\":\"LeaderServiceOptions\",\"types\":[{\"kind\":20,\"name\":\"ttlMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"renewalIntervalMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"retryDelayMs\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"registryBackend\",\"type\":{\"kind\":12,\"types\":[{\"kind\":16,\"typeName\":\"MeshClientRegistryBackend\",\"classType\":{\"$tsfImport\":[0,\"./types\",\"MeshClientRegistryBackend\"]},\"typeArguments\":[{\"kind\":16,\"typeName\":\"TRegistryMeta\",\"classType\":{\"$tsf\":2}}]},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"extractMetadata\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"(stream: SrpcStream\\u003cTMeta\\u003e) =\\u003e TRegistryMeta\"},{\"kind\":4}]},\"optional\":true}]},\"RegisterResult\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"ok\"},\"optional\":false},{\"kind\":20,\"name\":\"supersededNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"},\"RegisteredClient\":{\"kind\":18,\"typeName\":\"RegisteredClient\",\"types\":[{\"kind\":20,\"name\":\"clientId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"nodeId\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"connectedAt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"metadata\",\"type\":{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":1}},\"optional\":false}]}}]", [require, () => (typeof TMeta !== "undefined" ? TMeta : (typeof exports !== "undefined" ? exports.TMeta : undefined)), () => (typeof TRegistryMeta !== "undefined" ? TRegistryMeta : (typeof exports !== "undefined" ? exports.TRegistryMeta : undefined))]);
20
20
  //# sourceMappingURL=index.js.map
@@ -5,7 +5,7 @@ exports.destroyClientRedis = destroyClientRedis;
5
5
  const tslib_1 = require("tslib");
6
6
  const _a = tslib_1.__importStar(require("@zyno-io/ts-server-foundation/type-metadata-runtime"));
7
7
  const redis_1 = require("../../helpers/redis/redis");
8
- const __tsf_metadata_type = _a.createCompactMetadataRegistryV1("[1,[{\"kind\":6},{\"kind\":7},{\"kind\":2},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"{ status: 'ok'; supersededNodeId: number | null }\\n // ownerNodeId can be null if the owning client disappears during\\n // the Redis conflict/readback race.\"},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"}},{\"kind\":22,\"type\":{\"kind\":8}}]]", []);
8
+ const __tsf_metadata_type = _a.createCompactMetadataRegistryV1("[1,[{\"kind\":6},{\"kind\":7},{\"kind\":2},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"ok\"},\"optional\":false},{\"kind\":20,\"name\":\"supersededNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"}},{\"kind\":22,\"type\":{\"kind\":8}}]]", []);
9
9
  // --- Lua Scripts ---
10
10
  // Safety-net TTL for all client registry keys. Primary cleanup is via
11
11
  // unregister/cleanupNode; this only matters if ALL nodes crash without
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MeshClientRegistry = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const _a = tslib_1.__importStar(require("@zyno-io/ts-server-foundation/type-metadata-runtime"));
6
- const __tsf_metadata_type = _a.createCompactMetadataRegistryV1("[1,[{\"kind\":6},{\"kind\":8},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"{ status: 'ok'; supersededNodeId: number | null }\\n // ownerNodeId can be null if the owning client disappears during\\n // the Redis conflict/readback race.\"},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"}},{\"kind\":22,\"type\":{\"kind\":8}},{\"kind\":7}]]", []);
6
+ const __tsf_metadata_type = _a.createCompactMetadataRegistryV1("[1,[{\"kind\":6},{\"kind\":8},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"ok\"},\"optional\":false},{\"kind\":20,\"name\":\"supersededNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"}},{\"kind\":22,\"type\":{\"kind\":8}},{\"kind\":7}]]", []);
7
7
  let _MeshClientRegistryMetadata_1;
8
8
  class MeshClientRegistry {
9
9
  nodeId;
@@ -37,5 +37,5 @@ class ClientInvocationError extends Error {
37
37
  exports.ClientInvocationError = ClientInvocationError;
38
38
  _ClientInvocationErrorMetadata_1.classType = ClientInvocationError;
39
39
  ClientInvocationError.__tsfType = _ClientInvocationErrorMetadata_1;
40
- exports.__tsfTypeAliases = _a.decodeCompactMetadataV1("[1,{\"MeshClientRegistrationState\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"active\"},{\"kind\":10,\"literal\":\"pending\"}],\"typeName\":\"MeshClientRegistrationState\"},\"MeshClientRegistryBackend\":{\"kind\":18,\"typeName\":\"MeshClientRegistryBackend\",\"types\":[]},\"RegisterResult\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"{ status: 'ok'; supersededNodeId: number | null }\\n // ownerNodeId can be null if the owning client disappears during\\n // the Redis conflict/readback race.\"},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"},\"RegisteredClient\":{\"kind\":18,\"typeName\":\"RegisteredClient\",\"types\":[{\"kind\":20,\"name\":\"clientId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"nodeId\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"connectedAt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"metadata\",\"type\":{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":0}},\"optional\":false}]}}]", [() => (typeof TMeta !== "undefined" ? TMeta : (typeof exports !== "undefined" ? exports.TMeta : undefined))], __tsf_metadata_type);
40
+ exports.__tsfTypeAliases = _a.decodeCompactMetadataV1("[1,{\"MeshClientRegistrationState\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"active\"},{\"kind\":10,\"literal\":\"pending\"}],\"typeName\":\"MeshClientRegistrationState\"},\"MeshClientRegistryBackend\":{\"kind\":18,\"typeName\":\"MeshClientRegistryBackend\",\"types\":[]},\"RegisterResult\":{\"kind\":12,\"types\":[{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"ok\"},\"optional\":false},{\"kind\":20,\"name\":\"supersededNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"status\",\"type\":{\"kind\":10,\"literal\":\"conflict\"},\"optional\":false},{\"kind\":20,\"name\":\"ownerNodeId\",\"type\":{\"kind\":12,\"types\":[{\"kind\":7},{\"kind\":5}]},\"optional\":false}]}],\"typeName\":\"RegisterResult\"},\"RegisteredClient\":{\"kind\":18,\"typeName\":\"RegisteredClient\",\"types\":[{\"kind\":20,\"name\":\"clientId\",\"type\":{\"kind\":6},\"optional\":false},{\"kind\":20,\"name\":\"nodeId\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"connectedAt\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"metadata\",\"type\":{\"kind\":16,\"typeName\":\"TMeta\",\"classType\":{\"$tsf\":0}},\"optional\":false}]}}]", [() => (typeof TMeta !== "undefined" ? TMeta : (typeof exports !== "undefined" ? exports.TMeta : undefined))], __tsf_metadata_type);
41
41
  //# sourceMappingURL=types.js.map
@@ -8,7 +8,7 @@ const node_util_1 = require("node:util");
8
8
  const database_1 = require("../database/database");
9
9
  const entity_1 = require("../database/entity");
10
10
  const metadata_1 = require("../database/metadata");
11
- const __tsf_metadata_type = _a.createCompactMetadataRegistryV1("[1,[{\"kind\":2,\"typeName\":\"ClassType\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]},{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Partial\",\"utilityType\":\"Partial\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"EntityFields\",\"types\":[]}],\"utilityKeys\":[],\"types\":[]}},{\"kind\":18,\"typeName\":\"Partial\",\"utilityType\":\"Partial\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"EntityFields\",\"types\":[]}],\"utilityKeys\":[],\"types\":[]}]},{\"kind\":3},{\"kind\":2,\"typeName\":\"ClassType\"},{\"kind\":8},{\"kind\":2,\"typeName\":\"EntityClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]},{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"}],\"index\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"},\"types\":[],\"typeName\":\"FilterRecord\"},{\"kind\":2,\"typeName\":\"keyof T | string\"},{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"},{\"kind\":14,\"type\":{\"kind\":6}},{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]},{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]}],\"index\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]},\"types\":[]}]},{\"kind\":7},{\"kind\":22,\"type\":{\"kind\":14,\"type\":{\"kind\":2,\"typeName\":\"T\"}}},{\"kind\":2,\"typeName\":\"K\"},{\"kind\":22,\"type\":{\"kind\":14,\"type\":{\"kind\":2,\"typeName\":\"T[K]\"}}},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"T[K]\"},{\"kind\":4}]}},{\"kind\":22,\"type\":{\"kind\":2,\"typeName\":\"T[K]\"}},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"T\"},{\"kind\":4}]}},{\"kind\":22,\"type\":{\"kind\":2,\"typeName\":\"T\"}},{\"kind\":22,\"type\":{\"kind\":8}},{\"kind\":22,\"type\":{\"kind\":7}},{\"kind\":18,\"typeName\":\"PatchRecord\\u003cT\\u003e\",\"index\":{\"kind\":1},\"types\":[]},{\"kind\":22,\"type\":{\"kind\":18,\"typeName\":\"QueryMutationResult\",\"types\":[{\"kind\":20,\"name\":\"affectedRows\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"modified\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"primaryKeys\",\"type\":{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[]}},\"optional\":false}]}},{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[]}},{\"kind\":2},{\"kind\":22,\"type\":{\"kind\":3}},{\"kind\":22,\"type\":{\"kind\":18,\"typeName\":\"DriverConnection\",\"types\":[]}}]]", []);
11
+ const __tsf_metadata_type = _a.createCompactMetadataRegistryV1("[1,[{\"kind\":2,\"typeName\":\"ClassType\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]},{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Partial\",\"utilityType\":\"Partial\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"EntityFields\",\"types\":[]}],\"utilityKeys\":[],\"types\":[]}},{\"kind\":18,\"typeName\":\"Partial\",\"utilityType\":\"Partial\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"EntityFields\",\"types\":[]}],\"utilityKeys\":[],\"types\":[]}]},{\"kind\":3},{\"kind\":2,\"typeName\":\"ClassType\"},{\"kind\":8},{\"kind\":2,\"typeName\":\"EntityClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]},{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"}],\"index\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"},\"types\":[],\"typeName\":\"FilterRecord\"},{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"keyof T\"},{\"kind\":6}]},{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"},{\"kind\":14,\"type\":{\"kind\":6}},{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]},{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]}],\"index\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]},\"types\":[]}]},{\"kind\":7},{\"kind\":22,\"type\":{\"kind\":14,\"type\":{\"kind\":2,\"typeName\":\"T\"}}},{\"kind\":2,\"typeName\":\"K\"},{\"kind\":22,\"type\":{\"kind\":14,\"type\":{\"kind\":2,\"typeName\":\"T[K]\"}}},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"T[K]\"},{\"kind\":4}]}},{\"kind\":22,\"type\":{\"kind\":2,\"typeName\":\"T[K]\"}},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"T\"},{\"kind\":4}]}},{\"kind\":22,\"type\":{\"kind\":2,\"typeName\":\"T\"}},{\"kind\":22,\"type\":{\"kind\":8}},{\"kind\":22,\"type\":{\"kind\":7}},{\"kind\":18,\"typeName\":\"PatchRecord\\u003cT\\u003e\",\"index\":{\"kind\":1},\"types\":[]},{\"kind\":22,\"type\":{\"kind\":18,\"typeName\":\"QueryMutationResult\",\"types\":[{\"kind\":20,\"name\":\"affectedRows\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"modified\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"primaryKeys\",\"type\":{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[]}},\"optional\":false}]}},{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[]}},{\"kind\":2},{\"kind\":22,\"type\":{\"kind\":3}},{\"kind\":22,\"type\":{\"kind\":18,\"typeName\":\"DriverConnection\",\"types\":[]}}]]", []);
12
12
  const helpers = [];
13
13
  let sqlMockDatabase;
14
14
  let _SqlTestingHelperMetadata_1;
@@ -271,7 +271,7 @@ func nodeText(file *shimast.SourceFile, node *shimast.Node) string {
271
271
  if node == nil {
272
272
  return "unknown"
273
273
  }
274
- return strings.TrimSpace(file.Text()[node.Pos():node.End()])
274
+ return strings.TrimSpace(stripTypeComments(file.Text()[node.Pos():node.End()]))
275
275
  }
276
276
 
277
277
  func jsDocDescription(file *shimast.SourceFile, node *shimast.Node) string {
@@ -200,7 +200,7 @@ func cachedAliasTypeExpr(info *fileInfo, reg *registry, alias aliasInfo) string
200
200
  if strings.TrimSpace(alias.metadataText) != "" {
201
201
  return alias.metadataText
202
202
  }
203
- return internalTypeExprAt(info, reg, alias.body, alias.pos)
203
+ return internalTypeExprForNode(info, reg, alias.body, alias.typeNode, alias.pos)
204
204
  }
205
205
 
206
206
  func metadataExprTooLarge(expr string) bool {
@@ -71,6 +71,140 @@ func TestSplitTopIgnoresNestedSyntax(t *testing.T) {
71
71
  }
72
72
  }
73
73
 
74
+ func TestSplitTopPreservesCommentMarkersInsideLiterals(t *testing.T) {
75
+ input := `'https://example.com/a/*b*/' | /* actual comment */ ` + "`route//segment/${string}`" + ` | 'done'`
76
+ got := splitTop(input, "|")
77
+ want := []string{
78
+ `'https://example.com/a/*b*/'`,
79
+ "`route//segment/${string}`",
80
+ `'done'`,
81
+ }
82
+ if !reflect.DeepEqual(got, want) {
83
+ t.Fatalf("splitTop() = %#v, want %#v", got, want)
84
+ }
85
+ }
86
+
87
+ func TestTypeExprIgnoresCommentsInsideUnions(t *testing.T) {
88
+ file := parseTestSourceFile(t, "/project/commented-union.ts", `
89
+ type Status =
90
+ | 'draft'
91
+ /* client's legacy { branch */
92
+ | 'published'
93
+ // closing ( branch
94
+ | 'archived';
95
+ `)
96
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
97
+ info, reg := testTypeInfo()
98
+
99
+ got := typeExpr(info, reg, alias.body)
100
+ assertContainsAll(t, got,
101
+ `literal: "draft"`,
102
+ `literal: "published"`,
103
+ `literal: "archived"`,
104
+ )
105
+ }
106
+
107
+ func TestTypeExprForNodeUsesAstUnionMemberOrder(t *testing.T) {
108
+ file := parseTestSourceFile(t, "/project/ordered-union.ts", `
109
+ type Status =
110
+ | 'draft'
111
+ /* punctuation that would poison text splitting: client's { ( */
112
+ | 'published'
113
+ | 'archived';
114
+ `)
115
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
116
+ info, reg := testTypeInfo()
117
+ info.file = file
118
+
119
+ got := typeExprForNode(info, reg, "'not-from-the-node'", alias.typeNode, alias.pos)
120
+ assertContainsAll(t, got,
121
+ `literal: "draft"`,
122
+ `literal: "published"`,
123
+ `literal: "archived"`,
124
+ )
125
+ assertNotContains(t, got, `literal: "not-from-the-node"`)
126
+ draft := strings.Index(got, `literal: "draft"`)
127
+ published := strings.Index(got, `literal: "published"`)
128
+ archived := strings.Index(got, `literal: "archived"`)
129
+ if draft > published || published > archived {
130
+ t.Fatalf("AST union order was not preserved: %s", got)
131
+ }
132
+ }
133
+
134
+ func TestTypeExprForNodeUsesAstIntersectionMemberOrder(t *testing.T) {
135
+ file := parseTestSourceFile(t, "/project/ordered-intersection.ts", `
136
+ type Name =
137
+ string
138
+ & MinLength<2>
139
+ /* punctuation that would poison text splitting: { */
140
+ & MaxLength<20>;
141
+ `)
142
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
143
+ info, reg := testTypeInfo()
144
+ info.file = file
145
+
146
+ got := typeExprForNode(info, reg, "string", alias.typeNode, alias.pos)
147
+ assertContainsAll(t, got,
148
+ `typeName: "MinLength"`,
149
+ `typeName: "MaxLength"`,
150
+ )
151
+ minimum := strings.Index(got, `typeName: "MinLength"`)
152
+ maximum := strings.Index(got, `typeName: "MaxLength"`)
153
+ if minimum > maximum {
154
+ t.Fatalf("AST intersection order was not preserved: %s", got)
155
+ }
156
+ }
157
+
158
+ func TestRenderUtilityPropertyUsesAstUnionMembers(t *testing.T) {
159
+ file := parseTestSourceFile(t, "/project/utility-union.ts", `
160
+ type Status =
161
+ | 'draft'
162
+ /* punctuation that would poison text splitting: { */
163
+ | 'published';
164
+ `)
165
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
166
+ info, reg := testTypeInfo()
167
+ info.file = file
168
+
169
+ got := renderUtilityProperty(info, reg, utilityProperty{
170
+ name: "status",
171
+ typeText: "'not-from-the-node'",
172
+ typeNode: alias.typeNode,
173
+ }, &typeContext{seen: map[string]bool{}})
174
+ assertContainsAll(t, got,
175
+ `literal: "draft"`,
176
+ `literal: "published"`,
177
+ )
178
+ assertNotContains(t, got, `literal: "not-from-the-node"`)
179
+ }
180
+
181
+ func TestUtilityClassPropertyRetainsAstUnionMembers(t *testing.T) {
182
+ file := parseTestSourceFile(t, "/project/class-utility-union.ts", `
183
+ type Status =
184
+ | 'draft'
185
+ /* punctuation that would poison text splitting: { */
186
+ | 'published';
187
+ `)
188
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
189
+ info, reg := testTypeInfo()
190
+ info.file = file
191
+ info.classes = []*classInfo{{
192
+ name: "User",
193
+ properties: []propertyInfo{{
194
+ name: "status",
195
+ typeText: "'not-from-the-node'",
196
+ typeNode: alias.typeNode,
197
+ }},
198
+ }}
199
+
200
+ got := typeExpr(info, reg, "Pick<User, 'status'>")
201
+ assertContainsAll(t, got,
202
+ `literal: "draft"`,
203
+ `literal: "published"`,
204
+ )
205
+ assertNotContains(t, got, `literal: "not-from-the-node"`)
206
+ }
207
+
74
208
  func TestMetadataCallNamesIncludeValidatedDeserialize(t *testing.T) {
75
209
  for _, name := range []string{"deserialize", "validate", "validatedDeserialize", "typeOf"} {
76
210
  if !isMetadataCallName(name) {
@@ -516,7 +650,7 @@ func TestTypiaSourcePropertyOverridePreservesDateProperties(t *testing.T) {
516
650
  if sourceTypeIsDateRootType(info, reg, "Response", &typeContext{seen: map[string]bool{}}, map[string]bool{}) {
517
651
  t.Fatal("DTOs containing Date should not force whole-object internal encoding")
518
652
  }
519
- if got, ok := preferredDateRootTypeExpr(info, reg, "Date | null", 0); !ok {
653
+ if got, ok := preferredDateRootTypeExpr(info, reg, "Date | null", nil, 0); !ok {
520
654
  t.Fatal("preferred Date roots should render through the internal encoder")
521
655
  } else {
522
656
  assertContainsAll(t, got, "typeName: \"Date\"", "{kind: 5}")