ignotum 0.0.10 → 0.0.12

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 (48) hide show
  1. package/README.md +8 -3
  2. package/dist/cli/bin.mjs +563 -104
  3. package/dist/cli/bin.mjs.map +1 -1
  4. package/dist/runtime/{api-jCl8Hzry.d.ts → api-5XSrIeqW.d.ts} +4 -3
  5. package/dist/runtime/client.d.ts +6 -5
  6. package/dist/runtime/client.js +170 -75
  7. package/dist/runtime/client.js.map +1 -1
  8. package/dist/runtime/{descriptor-C5VA9qRl-BhD-WQeO.js → descriptor-XzDX2JDw-j3O6YHgW.js} +26 -6
  9. package/dist/runtime/descriptor-XzDX2JDw-j3O6YHgW.js.map +1 -0
  10. package/dist/runtime/{id-Cs82tq9Q-Caqfx54f.d.ts → id-Cs82tq9Q-CK-maMgN.d.ts} +13 -13
  11. package/dist/runtime/{index-D6VLTbDB.d.ts → index-CrWg4Z0y.d.ts} +132 -76
  12. package/dist/runtime/internal/api.d.ts +1 -1
  13. package/dist/runtime/internal/host.d.ts +18 -17
  14. package/dist/runtime/internal/host.js +11 -6
  15. package/dist/runtime/internal/host.js.map +1 -1
  16. package/dist/runtime/internal/server.d.ts +1 -1
  17. package/dist/runtime/internal/server.js +1 -1
  18. package/dist/runtime/internal/types.d.ts +1 -1
  19. package/dist/runtime/internal/types.js +1 -1
  20. package/dist/runtime/pagination-CX5IPbEi.d.ts +1 -0
  21. package/dist/runtime/{pagination-Bt3l7QaC-D_zI5zsu.d.ts → pagination-D-R9NR61-CpIoHFoI.d.ts} +8 -5
  22. package/dist/runtime/result-DIjKM-p4.d.ts +1 -0
  23. package/dist/runtime/{schema-C00wobuy.js → schema-B9XxyRO8.js} +132 -16
  24. package/dist/runtime/schema-B9XxyRO8.js.map +1 -0
  25. package/dist/runtime/server.d.ts +7 -3
  26. package/dist/runtime/server.js +5 -3
  27. package/dist/runtime/server.js.map +1 -1
  28. package/dist/runtime/{sync-bMQq9tXx.d.ts → sync-avN7NkcU.d.ts} +2 -2
  29. package/package.json +1 -1
  30. package/src/cli/agent-files.ts +2 -0
  31. package/src/cli/auth-client.ts +1 -1
  32. package/src/cli/bin.ts +13 -3
  33. package/src/cli/build/server.ts +102 -13
  34. package/src/cli/codegen.ts +7 -4
  35. package/src/cli/control-client.ts +30 -8
  36. package/src/cli/deploy.ts +7 -2
  37. package/src/cli/environment.ts +133 -0
  38. package/src/client/files.ts +43 -27
  39. package/src/client/hooks.ts +26 -17
  40. package/src/client/page-observers.ts +77 -0
  41. package/src/client/sync.ts +71 -59
  42. package/src/dev-runtime/functions.ts +127 -4
  43. package/src/dev-runtime/sync.ts +38 -9
  44. package/src/server/index.ts +11 -1
  45. package/dist/runtime/descriptor-C5VA9qRl-BhD-WQeO.js.map +0 -1
  46. package/dist/runtime/pagination-DcIkTOFs.d.ts +0 -1
  47. package/dist/runtime/schema-C00wobuy.js.map +0 -1
  48. package/src/dev-runtime/id.ts +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptor-XzDX2JDw-j3O6YHgW.js","names":["Result"],"sources":["../../../contracts/dist/runtime/value.js","../../../contracts/dist/runtime/result.js","../../../contracts/dist/versioned.js","../../../contracts/dist/runtime/pagination.js","../../../contracts/dist/descriptor-XzDX2JDw.js"],"sourcesContent":["import { EncodedFileValue, FileValue, isFileValue } from \"../schema/file.js\";\nimport { Predicate, Schema } from \"effect\";\n//#region src/runtime/value.ts\nconst TransportValueSchema = Schema.suspend(() => Schema.Union([\n\tSchema.Null,\n\tSchema.Boolean,\n\tSchema.Finite,\n\tSchema.String,\n\tSchema.Date,\n\tFileValue,\n\tSchema.Array(TransportValueSchema),\n\tSchema.Record(Schema.String, Schema.UndefinedOr(TransportValueSchema))\n]));\nconst TransportValueTypeSchema = Schema.toType(TransportValueSchema);\nconst TransportObjectTypeSchema = Schema.Record(Schema.String, Schema.UndefinedOr(TransportValueTypeSchema));\nconst encodeTransportValue = (value) => {\n\tif (Predicate.isDate(value)) return Schema.encodeSync(Schema.DateFromMillis)(value);\n\tif (isFileValue(value)) return Schema.encodeSync(FileValue)(value);\n\tif (globalThis.Array.isArray(value)) return value.map(encodeTransportValue);\n\tif (Predicate.isNumber(value)) return Schema.decodeSync(Schema.Finite)(value);\n\tif (Predicate.isNull(value) || Predicate.isString(value) || Predicate.isBoolean(value)) return value;\n\treturn Object.fromEntries(Object.entries(value).flatMap(([key, child]) => child === void 0 ? [] : [[key, encodeTransportValue(child)]]));\n};\nconst encodeTransportObject = (value) => Schema.decodeUnknownSync(Schema.JsonObject)(encodeTransportValue(Schema.decodeUnknownSync(TransportObjectTypeSchema)(value)));\nconst collectDatePaths = (value, path, paths) => {\n\tif (Predicate.isDate(value)) {\n\t\tSchema.decodeSync(Schema.Date)(value);\n\t\tpaths.push(path);\n\t\treturn;\n\t}\n\tif (isFileValue(value)) return;\n\tif (globalThis.Array.isArray(value)) {\n\t\tfor (const [index, child] of value.entries()) collectDatePaths(child, [...path, index], paths);\n\t\treturn;\n\t}\n\tif (value === void 0 || Predicate.isNull(value) || Predicate.isString(value) || Predicate.isNumber(value) || Predicate.isBoolean(value)) return;\n\tfor (const [key, child] of Object.entries(value)) collectDatePaths(child, [...path, key], paths);\n};\nconst datePathsOf = (value) => {\n\tconst paths = [];\n\tcollectDatePaths(value, [], paths);\n\treturn paths;\n};\nconst datePathsOfObject = (value) => datePathsOf(Schema.decodeUnknownSync(TransportObjectTypeSchema)(value));\nconst pathKey = (path) => JSON.stringify(path);\nconst decodeTransportValueAt = (value, path, encodedDatePaths) => {\n\tif (encodedDatePaths.has(pathKey(path))) return Schema.decodeUnknownSync(Schema.DateFromMillis)(value);\n\tif (Schema.is(EncodedFileValue)(value)) return Schema.decodeSync(FileValue)(value);\n\tif (globalThis.Array.isArray(value)) return value.map((item, index) => decodeTransportValueAt(item, [...path, index], encodedDatePaths));\n\tif (Predicate.isNull(value) || Predicate.isString(value) || Predicate.isNumber(value) || Predicate.isBoolean(value)) return value;\n\treturn Object.fromEntries(Object.entries(value).map(([key, item]) => [key, decodeTransportValueAt(item, [...path, key], encodedDatePaths)]));\n};\nconst decodeTransportValue = (value, datePaths) => decodeTransportValueAt(value, [], new Set(datePaths.map(pathKey)));\nconst decodeTransportObject = (value, datePaths) => {\n\tconst encodedDatePaths = new Set(datePaths.map(pathKey));\n\treturn Object.fromEntries(Object.entries(value).map(([key, child]) => [key, decodeTransportValueAt(child, [key], encodedDatePaths)]));\n};\n//#endregion\nexport { TransportObjectTypeSchema, TransportValueSchema, TransportValueTypeSchema, datePathsOf, datePathsOfObject, decodeTransportObject, decodeTransportValue, encodeTransportObject, encodeTransportValue };\n\n//# sourceMappingURL=value.js.map","import { RequestId } from \"./id.js\";\nimport { decodeTransportObject } from \"./value.js\";\nimport { Brand, Effect, Effectable, Function, Option, Predicate, Schema } from \"effect\";\n//#region src/runtime/result.ts\nconst ResultTypeId = Symbol.for(\"ignotum/runtime/result/Result\");\nconst CompletedResultTypeId = Symbol.for(\"ignotum/runtime/result/Completed\");\nconst PendingResultTypeId = Symbol.for(\"ignotum/runtime/result/Pending\");\nconst ErrorBrand = \"ignotum/error\";\nconst makeErrorValue = Brand.nominal();\nconst ErrorValueSchema = Schema.StructWithRest(Schema.Struct({ _tag: Schema.String }), [Schema.Record(Schema.String, Schema.Json)]).pipe(Schema.brand(ErrorBrand));\nvar InternalServerErrorCause = class extends Schema.TaggedError()(\"InternalServerError\", { requestId: RequestId }) {};\nconst InternalServerError = InternalServerErrorCause;\nconst InternalServerErrorSchema = InternalServerErrorCause.pipe(Schema.brand(ErrorBrand));\nconst effectOf = (value) => Predicate.hasProperty(value, ResultTypeId) ? value[ResultTypeId] : Effect.succeed(value);\nfunction makeResultEffectBase() {\n\tconst Base = function() {};\n\tBase.prototype = Effectable.Prototype({\n\t\tlabel: \"IgnotumResult\",\n\t\tevaluate() {\n\t\t\treturn this[ResultTypeId];\n\t\t}\n\t});\n\treturn Base;\n}\nconst ResultEffectBase = makeResultEffectBase();\nvar ResultOperation = class ResultOperation extends ResultEffectBase {\n\t[ResultTypeId];\n\tconstructor(effect, completed) {\n\t\tsuper();\n\t\tthis[ResultTypeId] = effect;\n\t\tif (completed !== void 0) Object.defineProperty(this, CompletedResultTypeId, { value: completed });\n\t}\n\tcatch(cases) {\n\t\tconst effectCases = {};\n\t\tfor (const [tag, handler] of Object.entries(cases)) if (Predicate.isFunction(handler)) effectCases[tag] = (failure) => effectOf(handler(failure));\n\t\tconst runtimeEffect = this[ResultTypeId];\n\t\tconst caught = Effect.catchTags(runtimeEffect, effectCases);\n\t\treturn new ResultOperation(caught);\n\t}\n};\nvar PendingQueryResult = class {\n\t[PendingResultTypeId] = PendingResultTypeId;\n};\nconst inspectResult = (value) => {\n\tif (!Predicate.hasProperty(value, CompletedResultTypeId)) return void 0;\n\treturn value[CompletedResultTypeId];\n};\nconst effectFromResult = (result) => result[ResultTypeId];\nconst resultFromEffect = (effect) => new ResultOperation(effect);\nconst isFailureResult = (result) => Predicate.hasProperty(result, CompletedResultTypeId) && Predicate.isObject(result[CompletedResultTypeId]) && Predicate.hasProperty(result[CompletedResultTypeId], \"type\") && result[CompletedResultTypeId].type === \"Failure\";\nconst succeed = (value) => new ResultOperation(Effect.succeed(value), {\n\ttype: \"Success\",\n\tvalue\n});\nconst fail = (error) => new ResultOperation(Effect.fail(error), {\n\ttype: \"Failure\",\n\terror\n});\nconst tryResult = (body) => {\n\treturn new ResultOperation(Effect.gen(body));\n};\nconst match = Function.dual(2, (result, matchers) => {\n\tif (result instanceof PendingQueryResult) {\n\t\tif (matchers.pending === void 0) throw new Error(\"A pending Result requires a pending matcher.\");\n\t\treturn matchers.pending();\n\t}\n\tif (!Predicate.hasProperty(result, ResultTypeId)) throw new Error(\"Unknown Result implementation.\");\n\tconst inspected = inspectResult(result);\n\tif (inspected?.type === \"Success\") {\n\t\tconst value = inspected.value;\n\t\treturn matchers.value(value);\n\t}\n\tif (!isFailureResult(result)) throw new Error(\"Unknown or incomplete Result operation.\");\n\tconst error = result[CompletedResultTypeId].error;\n\tif (error._tag === \"InternalServerError\") {\n\t\tconst internalError = Schema.decodeUnknownSync(InternalServerErrorSchema)(error);\n\t\tconst handler = matchers.internalError;\n\t\tif (handler === void 0) throw internalError;\n\t\treturn handler(internalError);\n\t}\n\tconst errorMatcher = matchers.error;\n\tif (errorMatcher === void 0) throw new Error(`No matcher was provided for ${error._tag}.`);\n\tif (Predicate.isFunction(errorMatcher)) return errorMatcher(error);\n\tconst handlers = errorMatcher;\n\tconst handler = Object.hasOwn(handlers, error._tag) ? handlers[error._tag] : void 0;\n\tif (handler === void 0) throw new Error(`No matcher was provided for ${error._tag}.`);\n\treturn handler(error);\n});\nconst pending = () => new PendingQueryResult();\nconst failureFromWire = (error, datePaths = []) => {\n\tconst internalError = Schema.decodeUnknownOption(InternalServerErrorSchema)(error);\n\tif (Option.isSome(internalError)) return fail(internalError.value);\n\tconst decoded = Schema.decodeUnknownOption(ErrorValueSchema)(error);\n\tif (Option.isNone(decoded)) throw new Error(\"The server returned an invalid application error.\");\n\tconst restored = decodeTransportObject(decoded.value, datePaths);\n\treturn fail(makeErrorValue({\n\t\t...restored,\n\t\t_tag: decoded.value._tag\n\t}));\n};\nconst documentNotFound = (table, id) => Brand.nominal()({\n\t_tag: \"DocumentNotFound\",\n\ttable,\n\tid\n});\nconst Result = {\n\tfail,\n\tmatch,\n\tsucceed,\n\ttry: tryResult\n};\n//#endregion\nexport { ErrorBrand, ErrorValueSchema, InternalServerError, InternalServerErrorSchema, Result, documentNotFound, effectFromResult, failureFromWire, inspectResult, match, pending, resultFromEffect };\n\n//# sourceMappingURL=result.js.map","import { Schema, SchemaGetter } from \"effect\";\n//#region src/versioned.ts\n/** Registers the first revision of a long-lived format. */\nconst initial = (schema) => schema;\n/** Adds one adjacent migration and keeps encoding on the new current revision. */\nconst upgrade = (previous, current, migrate) => {\n\tconst accepted = Schema.Union([previous, current]);\n\tconst isCurrent = Schema.is(current);\n\treturn accepted.pipe(Schema.decodeTo(Schema.toType(current), {\n\t\tdecode: SchemaGetter.transform((value) => {\n\t\t\tif (isCurrent(value)) return value;\n\t\t\treturn migrate(value);\n\t\t}),\n\t\tencode: SchemaGetter.transform((value) => value)\n\t}));\n};\n//#endregion\nexport { initial, upgrade };\n\n//# sourceMappingURL=versioned.js.map","import { initial } from \"../versioned.js\";\nimport { encodeCanonicalJson } from \"../json.js\";\nimport { Encoding, Result, Schema } from \"effect\";\n//#region src/runtime/pagination.ts\nconst PaginationCursor = Schema.String.check(Schema.isBase64Url()).pipe(Schema.brand(\"ignotum/runtime/PaginationCursor\"));\nconst PaginationPageSize = Schema.Int.check(Schema.isBetween({\n\tminimum: 1,\n\tmaximum: 1e3\n})).pipe(Schema.brand(\"ignotum/runtime/PaginationPageSize\"));\nconst PaginationOptions = Schema.Struct({\n\tcursor: Schema.NullOr(PaginationCursor),\n\tpageSize: PaginationPageSize\n});\nconst TablePosition = Schema.Struct({\n\ttype: Schema.Literal(\"Table\"),\n\tcreatedAt: Schema.Int,\n\tid: Schema.String\n});\nconst IndexPosition = Schema.Struct({\n\ttype: Schema.Literal(\"Index\"),\n\tkey: Schema.String.check(Schema.isPattern(/^(?:[0-9a-f]{2})*$/)).pipe(Schema.brand(\"ignotum/runtime/EncodedIndexKey\"))\n});\nconst PaginationPosition = Schema.Union([TablePosition, IndexPosition]);\nconst CursorPayloadV1 = Schema.Struct({\n\tversion: Schema.Literal(1),\n\tquery: Schema.String,\n\tposition: PaginationPosition\n});\nconst CursorPayload = initial(CursorPayloadV1);\nconst CursorPayloadJson = Schema.fromJsonString(CursorPayload);\nconst paginationQueryIdentity = (tableId, index, lower, upper, order) => encodeCanonicalJson([\n\ttableId,\n\tindex,\n\tlower ?? null,\n\tupper ?? null,\n\torder\n]);\nconst encodePaginationCursor = (query, position) => PaginationCursor.make(Encoding.encodeBase64Url(Schema.encodeSync(CursorPayloadJson)({\n\tversion: 1,\n\tquery,\n\tposition\n})));\nconst decodePaginationCursor = (cursor) => Schema.decodeSync(CursorPayloadJson)(Result.getOrThrow(Encoding.decodeBase64UrlString(cursor)));\n//#endregion\nexport { PaginationCursor, PaginationOptions, PaginationPageSize, PaginationPosition, decodePaginationCursor, encodePaginationCursor, paginationQueryIdentity };\n\n//# sourceMappingURL=pagination.js.map","import { Function, Predicate, Schema } from \"effect\";\n//#region src/schema/descriptor.ts\nconst LiteralValue = Schema.Union([\n\tSchema.String,\n\tSchema.Finite,\n\tSchema.Boolean\n]);\nconst DescriptorField = Schema.Struct({\n\tname: Schema.String,\n\tvalue: Schema.suspend(() => ValueDescriptor)\n});\nconst ValueDescriptor = Schema.Union([\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"array\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"boolean\") }),\n\tSchema.Struct({ type: Schema.Literal(\"date\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"file\"),\n\t\tformats: Schema.Array(Schema.Literals([\n\t\t\t\"jpeg\",\n\t\t\t\"png\",\n\t\t\t\"webp\",\n\t\t\t\"avif\",\n\t\t\t\"gif\"\n\t\t])),\n\t\tmaxBytes: Schema.Int\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"error\"),\n\t\ttag: Schema.String,\n\t\tfields: Schema.Array(DescriptorField)\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"id\"),\n\t\ttable: Schema.String\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"integer\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"literal\"),\n\t\tvalue: LiteralValue\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"literals\"),\n\t\tvalues: Schema.Array(LiteralValue)\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"never\") }),\n\tSchema.Struct({ type: Schema.Literal(\"null\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"nullable\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"number\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"object\"),\n\t\tfields: Schema.Array(DescriptorField)\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"optional\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"record\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"secret\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"string\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"union\"),\n\t\tmembers: Schema.Array(Schema.suspend(() => ValueDescriptor))\n\t})\n]);\nconst ValueDescriptorTypeId = Symbol.for(\"ignotum/schema/ValueDescriptor\");\nconst attachValueDescriptor = Function.dual(2, (value, descriptor) => {\n\tObject.defineProperty(value, ValueDescriptorTypeId, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: descriptor,\n\t\twritable: false\n\t});\n\treturn value;\n});\nconst getValueDescriptor = (value) => {\n\tif (!Predicate.hasProperty(value, ValueDescriptorTypeId)) return void 0;\n\treturn Schema.is(ValueDescriptor)(value[ValueDescriptorTypeId]) ? value[ValueDescriptorTypeId] : void 0;\n};\nconst descriptorContainsFile = (descriptor) => {\n\tswitch (descriptor.type) {\n\t\tcase \"file\": return true;\n\t\tcase \"array\":\n\t\tcase \"nullable\":\n\t\tcase \"optional\":\n\t\tcase \"record\":\n\t\tcase \"secret\": return descriptorContainsFile(descriptor.value);\n\t\tcase \"error\":\n\t\tcase \"object\": return descriptor.fields.some((field) => descriptorContainsFile(field.value));\n\t\tcase \"union\": return descriptor.members.some(descriptorContainsFile);\n\t\tdefault: return false;\n\t}\n};\nconst descriptorContainsSecret = (descriptor) => {\n\tswitch (descriptor.type) {\n\t\tcase \"secret\": return true;\n\t\tcase \"array\":\n\t\tcase \"nullable\":\n\t\tcase \"optional\":\n\t\tcase \"record\": return descriptorContainsSecret(descriptor.value);\n\t\tcase \"error\":\n\t\tcase \"object\": return descriptor.fields.some((field) => descriptorContainsSecret(field.value));\n\t\tcase \"union\": return descriptor.members.some(descriptorContainsSecret);\n\t\tdefault: return false;\n\t}\n};\nconst descriptorAllowedInEnvironment = (descriptor) => {\n\tswitch (descriptor.type) {\n\t\tcase \"error\":\n\t\tcase \"file\":\n\t\tcase \"id\": return false;\n\t\tcase \"array\":\n\t\tcase \"nullable\":\n\t\tcase \"optional\":\n\t\tcase \"record\":\n\t\tcase \"secret\": return descriptorAllowedInEnvironment(descriptor.value);\n\t\tcase \"object\": return descriptor.fields.every((field) => descriptorAllowedInEnvironment(field.value));\n\t\tcase \"union\": return descriptor.members.every(descriptorAllowedInEnvironment);\n\t\tdefault: return true;\n\t}\n};\nconst descriptorFields = (fields) => {\n\tconst entries = [];\n\tfor (const name of Reflect.ownKeys(fields)) {\n\t\tif (!Predicate.isString(name)) throw new Error(\"Ignotum value objects only support string field names.\");\n\t\tconst field = fields[name];\n\t\tconst value = field === void 0 ? void 0 : getValueDescriptor(field);\n\t\tif (value === void 0) throw new Error(`The field '${name}' must use an Ignotum values validator.`);\n\t\tentries.push({\n\t\t\tname,\n\t\t\tvalue\n\t\t});\n\t}\n\treturn entries.sort((left, right) => left.name.localeCompare(right.name));\n};\n//#endregion\nexport { descriptorContainsFile as a, getValueDescriptor as c, descriptorAllowedInEnvironment as i, ValueDescriptorTypeId as n, descriptorContainsSecret as o, attachValueDescriptor as r, descriptorFields as s, ValueDescriptor as t };\n\n//# sourceMappingURL=descriptor-XzDX2JDw.js.map"],"mappings":"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"}
@@ -45,7 +45,7 @@ declare const FileValue: Schema.decodeTo<Schema.declare<FileValue<"avif" | "gif"
45
45
  readonly size: Schema.Int;
46
46
  }>, never, never>;
47
47
  //#endregion
48
- //#region ../contracts/dist/value-BqGe6EhK.d.ts
48
+ //#region ../contracts/dist/value-4oFCo-yX.d.ts
49
49
  //#region src/runtime/value.d.ts
50
50
  interface TransportArray extends ReadonlyArray<TransportValue> {}
51
51
  interface TransportObject {
@@ -53,7 +53,7 @@ interface TransportObject {
53
53
  }
54
54
  type TransportValue = null | boolean | number | string | Date | FileValue | TransportArray | TransportObject;
55
55
  //#endregion
56
- //#region ../contracts/dist/runtime/result.d.ts
56
+ //#region ../contracts/dist/result-CgX73dpS.d.ts
57
57
  //#region src/runtime/result.d.ts
58
58
  declare const ResultTypeId: unique symbol;
59
59
  declare const PendingResultTypeId: unique symbol;
@@ -94,18 +94,18 @@ type CatchCases<Failure extends ErrorValue> = { readonly [Tag in Failure["_tag"]
94
94
  readonly _tag: Tag;
95
95
  }>) => CatchOutput; };
96
96
  type CaseReturn<Cases> = ReturnType<Extract<Cases[keyof Cases], (...args: never) => CatchOutput>>;
97
- type SuccessOfReturn<Value> = Value extends Result<infer Success, ErrorValue> ? Success : Value;
98
- type FailureOfReturn<Value> = Value extends Result<unknown, infer Failure> ? Failure : never;
97
+ type SuccessOfReturn<Value> = Value extends Result$1<infer Success, ErrorValue> ? Success : Value;
98
+ type FailureOfReturn<Value> = Value extends Result$1<unknown, infer Failure> ? Failure : never;
99
99
  type HandledTags<Cases> = Extract<keyof Cases, string>;
100
100
  type YieldFailure<Yielded> = Yielded extends Effect.Effect<unknown, infer Failure, never> ? Failure extends ErrorValue ? Failure : never : never;
101
- interface Result<out Success, out Failure extends ErrorValue> {
101
+ interface Result$1<out Success, out Failure extends ErrorValue> {
102
102
  readonly [ResultTypeId]: Effect.Effect<Success, Failure>;
103
103
  [Symbol.iterator](): Effect.EffectIterator<Effect.Effect<Success, Failure>>;
104
- catch<const Cases extends CatchCases<Failure>>(cases: Cases & { readonly [Tag in Exclude<keyof Cases, Failure["_tag"]>]: never; }): Result<Success | SuccessOfReturn<CaseReturn<Cases>>, Exclude<Failure, {
104
+ catch<const Cases extends CatchCases<Failure>>(cases: Cases & { readonly [Tag in Exclude<keyof Cases, Failure["_tag"]>]: never; }): Result$1<Success | SuccessOfReturn<CaseReturn<Cases>>, Exclude<Failure, {
105
105
  readonly _tag: HandledTags<Cases>;
106
106
  }> | FailureOfReturn<CaseReturn<Cases>>>;
107
107
  }
108
- type SettledResult<Success, Failure extends ErrorValue> = Omit<Result<Success, Failure>, "catch" | typeof Symbol.iterator>;
108
+ type SettledResult<Success, Failure extends ErrorValue> = Omit<Result$1<Success, Failure>, "catch" | typeof Symbol.iterator>;
109
109
  interface PendingResult {
110
110
  readonly [PendingResultTypeId]: typeof PendingResultTypeId;
111
111
  }
@@ -146,9 +146,9 @@ type CurriedQueryResultMatchers<Success, Failure extends ErrorValue, Output> = O
146
146
  } : {
147
147
  readonly internalError?: (error: InternalError<NoInfer<Failure>>) => Output;
148
148
  });
149
- declare const succeed: <Actual, Expected = Actual>(value: Actual & NoInfer<Expected>) => Result<Expected, never>;
150
- declare const fail: <Actual extends ErrorValue, Expected extends ErrorValue = Actual>(error: Actual & NoInfer<Expected>) => Result<never, Expected>;
151
- declare const tryResult: <Success, Yielded extends Effect.Effect<unknown, ErrorValue, never>>(body: () => Generator<Yielded, Success, never>) => Result<Success, [Yielded] extends [never] ? never : YieldFailure<Yielded>>;
149
+ declare const succeed: <Actual, Expected = Actual>(value: Actual & NoInfer<Expected>) => Result$1<Expected, never>;
150
+ declare const fail: <Actual extends ErrorValue, Expected extends ErrorValue = Actual>(error: Actual & NoInfer<Expected>) => Result$1<never, Expected>;
151
+ declare const tryResult: <Success, Yielded extends Effect.Effect<unknown, ErrorValue, never>>(body: () => Generator<Yielded, Success, never>) => Result$1<Success, [Yielded] extends [never] ? never : YieldFailure<Yielded>>;
152
152
  interface Match {
153
153
  <Success, Failure extends ErrorValue, Output>(result: SettledResult<Success, Failure>, matchers: ResultMatchers<Success, Failure, Output>): Output;
154
154
  <Success, Failure extends ErrorValue, Output>(result: QueryResult<Success, Failure>, matchers: QueryResultMatchers<Success, Failure, Output>): Output;
@@ -156,7 +156,7 @@ interface Match {
156
156
  <Success, Failure extends ErrorValue, Output>(matchers: CurriedResultMatchers<Success, Failure, Output>): (result: SettledResult<Success, Failure>) => Output;
157
157
  }
158
158
  declare const documentNotFound: <TableName extends string, Identifier extends string>(table: TableName, id: Identifier) => DocumentNotFoundValue<TableName, Identifier>;
159
- declare const Result: {
159
+ declare const Result$1: {
160
160
  fail: typeof fail;
161
161
  match: Match;
162
162
  succeed: typeof succeed;
@@ -169,5 +169,5 @@ declare const GeneratedId: Schema.brand<Schema.String, "ignotum/id"> & {
169
169
  };
170
170
  type GeneratedId = typeof GeneratedId.Type;
171
171
  //#endregion
172
- export { fileFormats as _, InternalServerError as a, Result as c, TransportObject as d, TransportValue as f, FileValue as g, FileMimeType as h, ErrorValue as i, SettledResult as l, FileMetadata as m, DocumentNotFoundValue as n, Match as o, FileFormat as p, ErrorBrand as r, QueryResult as s, GeneratedId as t, documentNotFound as u };
173
- //# sourceMappingURL=id-Cs82tq9Q-Caqfx54f.d.ts.map
172
+ export { fileFormats as _, InternalServerError as a, Result$1 as c, TransportObject as d, TransportValue as f, FileValue as g, FileMimeType as h, ErrorValue as i, SettledResult as l, FileMetadata as m, DocumentNotFoundValue as n, Match as o, FileFormat as p, ErrorBrand as r, QueryResult as s, GeneratedId as t, documentNotFound as u };
173
+ //# sourceMappingURL=id-Cs82tq9Q-CK-maMgN.d.ts.map
@@ -1,32 +1,7 @@
1
- import { _ as fileFormats, c as Result, g as FileValue, i as ErrorValue, n as DocumentNotFoundValue, p as FileFormat, r as ErrorBrand, t as GeneratedId } from "./id-Cs82tq9Q-Caqfx54f.js";
2
- import { a as ValueDescriptorCarrier, i as ValueDescriptor, n as PaginationPage, o as ValueFields, r as DescribedValue, t as PaginationOptions } from "./pagination-Bt3l7QaC-D_zI5zsu.js";
3
- import { Brand, Effect, Schema, Struct } from "effect";
4
- //#region ../contracts/dist/types-MZtM0RHZ.d.ts
5
- //#region src/schema/types.d.ts
6
- /** A document identifier branded with the table it belongs to. */
7
- type Id<TableName extends string> = GeneratedId & Brand.Brand<`ignotum/id/${TableName}`>;
8
- declare const SchemaDefinitionTypeId: unique symbol;
9
- interface SchemaDefinitionContract<Definition> {
10
- readonly [SchemaDefinitionTypeId]: Definition;
11
- }
12
- type SchemaDefinitionOf<SchemaDefinition> = SchemaDefinition extends SchemaDefinitionContract<infer Definition> ? Definition : never;
13
- interface TableDefinitionLike {
14
- readonly fields: Schema.Struct.Fields;
15
- }
16
- interface TablesLike {
17
- readonly [tableName: string]: TableDefinitionLike;
18
- }
19
- type TableNameOf$2<Definition extends TablesLike> = keyof Definition & string;
20
- interface SystemFields<TableName extends string> {
21
- readonly id: Id<TableName>;
22
- readonly createdAt: Date;
23
- readonly updatedAt: Date;
24
- }
25
- type DocumentFields<TableName extends string, Table extends TableDefinitionLike> = SystemFields<TableName> & Schema.Struct.Type<Table["fields"]>;
26
- /** The complete document returned for a table, including Ignotum system fields. */
27
- type Document<Definition extends TablesLike, TableName extends TableNameOf$2<Definition>> = { readonly [FieldName in keyof DocumentFields<TableName, Definition[TableName]>]: DocumentFields<TableName, Definition[TableName]>[FieldName]; };
28
- //#endregion
29
- //#region ../contracts/dist/schema/values.d.ts
1
+ import { _ as fileFormats, c as Result$1, g as FileValue, i as ErrorValue, n as DocumentNotFoundValue, p as FileFormat, r as ErrorBrand, t as GeneratedId } from "./id-Cs82tq9Q-CK-maMgN.js";
2
+ import { a as ValueDescriptor, i as DescriptorField, n as PaginationPage, o as ValueDescriptorCarrier, r as DescribedValue, s as ValueFields, t as PaginationOptions } from "./pagination-D-R9NR61-CpIoHFoI.js";
3
+ import { Brand, Effect, Redacted, Schema, Struct } from "effect";
4
+ //#region ../contracts/dist/values-YZGX4OrO.d.ts
30
5
  //#region src/schema/values.d.ts
31
6
  declare const IdTargetsTypeId: unique symbol;
32
7
  declare const UnresolvedReferencesTypeId: unique symbol;
@@ -78,7 +53,7 @@ interface TableDefinition<Fields extends Schema.Struct.Fields, Indexes extends I
78
53
  interface TableDefinitions {
79
54
  readonly [tableName: string]: TableDefinition<Schema.Struct.Fields, IndexDefinitions>;
80
55
  }
81
- type TableNameOf$1<Definition extends TableDefinitions> = keyof Definition & string;
56
+ type TableNameOf$2<Definition extends TableDefinitions> = keyof Definition & string;
82
57
  type ReservedFieldName = "createdAt" | "id" | "updatedAt";
83
58
  type ReservedErrorTagName = "InternalServerError";
84
59
  declare const ReservedFieldTypeId: unique symbol;
@@ -123,6 +98,14 @@ declare const optional: <Value extends DescribedValue>(value: Value) => Preserve
123
98
  declare const nullable: <Value extends DescribedValue>(value: Value) => PreserveValueMetadata<Schema.NullOr<Value>, Value>;
124
99
  declare const record: <Value extends DescribedValue>(value: Value) => PreserveValueMetadata<Schema.$Record<Schema.String, Value>, Value>;
125
100
  declare const union: <const Members extends ReadonlyArray<DescribedValue>>(...members: Members) => PreserveValueMetadata<Schema.Union<Members>, Members[number]>;
101
+ type Secret<Value> = Redacted.Redacted<Value>;
102
+ declare const Secret: {
103
+ readonly isSecret: (u: unknown) => u is Redacted.Redacted<unknown>;
104
+ readonly value: <T>(self: Redacted.Redacted<T>) => T;
105
+ };
106
+ type SecretDefinition<Value extends DescribedValue> = DescribedValue<Schema.RedactedFromValue<Value>>;
107
+ declare function secret(): SecretDefinition<ReturnType<typeof string>>;
108
+ declare function secret<Value extends DescribedValue>(value: Value): SecretDefinition<Value>;
126
109
  declare const pagination: () => ObjectDefinition<{
127
110
  readonly cursor: DescribedValue<Schema.NullOr<DescribedValue<Schema.brand<Schema.String, "ignotum/runtime/PaginationCursor">>> & Schema.Constraint>;
128
111
  readonly pageSize: DescribedValue<Schema.brand<Schema.Int, "ignotum/runtime/PaginationPageSize">>;
@@ -152,18 +135,88 @@ declare const values: {
152
135
  string: typeof string;
153
136
  union: typeof union;
154
137
  };
155
- type DocumentDefinition<Definition extends TableDefinitions, TableName extends TableNameOf$1<Definition>> = ObjectDefinition<Struct.Assign<ResolvedFields<Definition[TableName]["fields"]>, {
138
+ declare const environmentValues: {
139
+ array: typeof array;
140
+ boolean: typeof boolean;
141
+ date: typeof date;
142
+ integer: typeof integer;
143
+ literal: typeof literal;
144
+ literals: typeof literals;
145
+ never: typeof never;
146
+ null: typeof nullValue;
147
+ nullable: typeof nullable;
148
+ number: typeof number;
149
+ object: typeof object;
150
+ optional: typeof optional;
151
+ record: typeof record;
152
+ secret: typeof secret;
153
+ string: typeof string;
154
+ union: typeof union;
155
+ };
156
+ type EnvironmentValues = typeof environmentValues;
157
+ type DocumentDefinition<Definition extends TableDefinitions, TableName extends TableNameOf$2<Definition>> = ObjectDefinition<Struct.Assign<ResolvedFields<Definition[TableName]["fields"]>, {
156
158
  readonly id: IdDefinition<TableName>;
157
159
  readonly createdAt: typeof Schema.DateFromMillis;
158
160
  readonly updatedAt: typeof Schema.DateFromMillis;
159
161
  }>>;
160
162
  type BoundValues<Definition extends TableDefinitions> = Omit<typeof values, "id"> & {
161
- readonly doc: <const TableName extends TableNameOf$1<Definition>>(tableName: TableName) => DocumentDefinition<Definition, TableName>;
162
- readonly id: <const TableName extends TableNameOf$1<Definition>>(tableName: TableName) => IdDefinition<TableName>;
163
+ readonly doc: <const TableName extends TableNameOf$2<Definition>>(tableName: TableName) => DocumentDefinition<Definition, TableName>;
164
+ readonly id: <const TableName extends TableNameOf$2<Definition>>(tableName: TableName) => IdDefinition<TableName>;
163
165
  readonly page: typeof page;
164
166
  readonly pagination: () => ReturnType<typeof pagination> & Schema.Schema<PaginationOptions>;
165
167
  };
166
168
  //#endregion
169
+ //#region ../contracts/dist/types-CNRRipRx.d.ts
170
+ //#region src/schema/environment.d.ts
171
+ declare const EnvironmentDefinitionTypeId: unique symbol;
172
+ declare const EnvironmentDecoderTypeId: unique symbol;
173
+ type EnvironmentFields = {
174
+ readonly [fieldName: PropertyKey]: DescribedValue<Schema.ConstraintDecoder<unknown, never>>;
175
+ };
176
+ interface DefinedEnv<Fields extends EnvironmentFields = EnvironmentFields> {
177
+ readonly _tag: "Environment";
178
+ readonly fields: Fields;
179
+ readonly descriptors: ReadonlyArray<DescriptorField>;
180
+ readonly schema: Schema.Struct<Fields>;
181
+ readonly [EnvironmentDefinitionTypeId]: Fields;
182
+ readonly [EnvironmentDecoderTypeId]: (raw: Readonly<Record<string, string>>) => Effect.Effect<Readonly<EnvironmentType<DefinedEnv<Fields>>>, EnvironmentValueInvalid>;
183
+ }
184
+ interface EnvironmentAuthoring {
185
+ readonly values: EnvironmentValues;
186
+ }
187
+ type EnvironmentType<Environment extends DefinedEnv> = Schema.Struct.Type<Environment[typeof EnvironmentDefinitionTypeId]>;
188
+ declare const EnvironmentValueInvalid_base: Schema.Class<EnvironmentValueInvalid, Schema.TaggedStruct<"EnvironmentValueInvalid", {
189
+ readonly key: Schema.optional<Schema.String>;
190
+ readonly message: Schema.String;
191
+ }>, import("effect/Cause").YieldableError>;
192
+ declare class EnvironmentValueInvalid extends EnvironmentValueInvalid_base {}
193
+ declare const defineEnv: <const Fields extends EnvironmentFields>(define: (authoring: EnvironmentAuthoring) => Fields) => DefinedEnv<Fields>;
194
+ declare const emptyEnv: DefinedEnv<{}>;
195
+ //#endregion
196
+ //#region src/schema/types.d.ts
197
+ /** A document identifier branded with the table it belongs to. */
198
+ type Id<TableName extends string> = GeneratedId & Brand.Brand<`ignotum/id/${TableName}`>;
199
+ declare const SchemaDefinitionTypeId: unique symbol;
200
+ interface SchemaDefinitionContract<Definition> {
201
+ readonly [SchemaDefinitionTypeId]: Definition;
202
+ }
203
+ type SchemaDefinitionOf<SchemaDefinition> = SchemaDefinition extends SchemaDefinitionContract<infer Definition> ? Definition : never;
204
+ interface TableDefinitionLike {
205
+ readonly fields: Schema.Struct.Fields;
206
+ }
207
+ interface TablesLike {
208
+ readonly [tableName: string]: TableDefinitionLike;
209
+ }
210
+ type TableNameOf$1<Definition extends TablesLike> = keyof Definition & string;
211
+ interface SystemFields<TableName extends string> {
212
+ readonly id: Id<TableName>;
213
+ readonly createdAt: Date;
214
+ readonly updatedAt: Date;
215
+ }
216
+ type DocumentFields<TableName extends string, Table extends TableDefinitionLike> = SystemFields<TableName> & Schema.Struct.Type<Table["fields"]>;
217
+ /** The complete document returned for a table, including Ignotum system fields. */
218
+ type Document<Definition extends TablesLike, TableName extends TableNameOf$1<Definition>> = { readonly [FieldName in keyof DocumentFields<TableName, Definition[TableName]>]: DocumentFields<TableName, Definition[TableName]>[FieldName]; };
219
+ //#endregion
167
220
  //#region ../contracts/dist/schema/index.d.ts
168
221
  //#region src/schema/definition.d.ts
169
222
  type AnyTableDefinition = TableDefinition<Schema.Struct.Fields, IndexDefinitions>;
@@ -235,11 +288,11 @@ interface IndexRangeBuilder<Definition extends Tables, Name extends TableNameOf<
235
288
  lte<FieldName extends Fields[0]>(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexUpperBound<Definition, Name, FieldName>;
236
289
  }
237
290
  interface OrderedDatabaseQuery<Definition extends Tables, Name extends TableNameOf<Definition>> {
238
- collect(): Result<ReadonlyArray<Document<Definition, Name>>, never>;
239
- take(count: number): Result<ReadonlyArray<Document<Definition, Name>>, never>;
240
- first(): Result<Document<Definition, Name> | undefined, never>;
241
- unique(): Result<Document<Definition, Name> | undefined, never>;
242
- paginate(options: PaginationOptions): Result<PaginationPage<Document<Definition, Name>>, never>;
291
+ collect(): Result$1<ReadonlyArray<Document<Definition, Name>>, never>;
292
+ take(count: number): Result$1<ReadonlyArray<Document<Definition, Name>>, never>;
293
+ first(): Result$1<Document<Definition, Name> | undefined, never>;
294
+ unique(): Result$1<Document<Definition, Name> | undefined, never>;
295
+ paginate(options: PaginationOptions): Result$1<PaginationPage<Document<Definition, Name>>, never>;
243
296
  }
244
297
  interface SelectableDatabaseQuery<Definition extends Tables, Name extends TableNameOf<Definition>> extends OrderedDatabaseQuery<Definition, Name> {
245
298
  order(direction: "asc" | "desc"): OrderedDatabaseQuery<Definition, Name>;
@@ -249,28 +302,30 @@ interface DatabaseQuery<Definition extends Tables, Name extends TableNameOf<Defi
249
302
  }
250
303
  interface DatabaseReader<Definition extends Tables> {
251
304
  query<const Name extends TableNameOf<Definition>>(name: Name): DatabaseQuery<Definition, Name>;
252
- find<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>): Result<Document<Definition, Name> | undefined, never>;
253
- get<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>): Result<Document<Definition, Name>, DocumentNotFound<Name>>;
305
+ find<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>): Result$1<Document<Definition, Name> | undefined, never>;
306
+ get<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>): Result$1<Document<Definition, Name>, DocumentNotFound<Name>>;
254
307
  }
255
308
  interface DatabaseWriter<Definition extends Tables> extends DatabaseReader<Definition> {
256
- delete<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>): Result<void, DocumentNotFound<Name>>;
257
- insert<const Name extends TableNameOf<Definition>>(name: Name, value: InsertOf<Definition[NoInfer<Name>]>): Result<Id<Name>, never>;
258
- patch<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>, value: PatchOf<Definition[NoInfer<Name>]>): Result<void, DocumentNotFound<Name>>;
259
- replace<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>, value: InsertOf<Definition[NoInfer<Name>]>): Result<void, DocumentNotFound<Name>>;
309
+ delete<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>): Result$1<void, DocumentNotFound<Name>>;
310
+ insert<const Name extends TableNameOf<Definition>>(name: Name, value: InsertOf<Definition[NoInfer<Name>]>): Result$1<Id<Name>, never>;
311
+ patch<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>, value: PatchOf<Definition[NoInfer<Name>]>): Result$1<void, DocumentNotFound<Name>>;
312
+ replace<const Name extends TableNameOf<Definition>>(name: Name, id: Id<NoInfer<Name>>, value: InsertOf<Definition[NoInfer<Name>]>): Result$1<void, DocumentNotFound<Name>>;
260
313
  }
261
- interface QueryContext<Definition extends Tables> {
314
+ interface QueryContext<Definition extends Tables, Environment extends DefinedEnv = typeof emptyEnv> {
262
315
  readonly db: DatabaseReader<Definition>;
316
+ readonly env: EnvironmentType<Environment>;
263
317
  }
264
- interface MutationContext<Definition extends Tables> {
318
+ interface MutationContext<Definition extends Tables, Environment extends DefinedEnv = typeof emptyEnv> {
265
319
  readonly db: DatabaseWriter<Definition>;
320
+ readonly env: EnvironmentType<Environment>;
266
321
  }
267
322
  type FunctionKind = "Mutation" | "Query";
268
- type HandlerContext<Kind extends FunctionKind, Definition extends Tables> = Kind extends "Query" ? QueryContext<Definition> : MutationContext<Definition>;
269
- type Handler<Kind extends FunctionKind, Definition extends Tables, Args extends FunctionArgs, Success, Failure extends ErrorValue> = (ctx: HandlerContext<Kind, Definition>, args: ArgsOf<Args>) => Generator<Effect.Effect<unknown, Failure, never>, Success, never>;
323
+ type HandlerContext<Kind extends FunctionKind, Definition extends Tables, Environment extends DefinedEnv> = Kind extends "Query" ? QueryContext<Definition, Environment> : MutationContext<Definition, Environment>;
324
+ type Handler<Kind extends FunctionKind, Definition extends Tables, Environment extends DefinedEnv, Args extends FunctionArgs, Success, Failure extends ErrorValue> = (ctx: HandlerContext<Kind, Definition, Environment>, args: ArgsOf<Args>) => Generator<Effect.Effect<unknown, Failure, never>, Success, never>;
270
325
  type HandlerFailure<HandlerType> = HandlerType extends ((...arguments_: infer _Arguments) => Generator<infer Yielded, unknown, never>) ? Yielded extends Effect.Effect<unknown, infer Failure extends ErrorValue, never> ? Failure : never : never;
271
- type FunctionDefinition<Kind extends FunctionKind, Definition extends Tables, Args extends FunctionArgs, Returns extends FunctionReturns, Errors extends ErrorSchema | undefined, Failure extends ErrorValue> = {
326
+ type FunctionDefinition<Kind extends FunctionKind, Definition extends Tables, Environment extends DefinedEnv, Args extends FunctionArgs, Returns extends FunctionReturns, Errors extends ErrorSchema | undefined, Failure extends ErrorValue> = {
272
327
  readonly _tag: Kind;
273
- readonly handler: Handler<Kind, Definition, Args, ReturnOf<Returns>, Failure>;
328
+ readonly handler: Handler<Kind, Definition, Environment, Args, ReturnOf<Returns>, Failure>;
274
329
  } & (Args extends Schema.Struct.Fields ? {
275
330
  readonly args: Args;
276
331
  } : {
@@ -284,8 +339,8 @@ type FunctionDefinition<Kind extends FunctionKind, Definition extends Tables, Ar
284
339
  } : {
285
340
  readonly errors?: never;
286
341
  });
287
- interface FunctionInput<Kind extends FunctionKind, Definition extends Tables, Args extends FunctionArgs, Success, Failure extends ErrorValue> {
288
- readonly handler: Handler<Kind, Definition, Args, Success, Failure>;
342
+ interface FunctionInput<Kind extends FunctionKind, Definition extends Tables, Environment extends DefinedEnv, Args extends FunctionArgs, Success, Failure extends ErrorValue> {
343
+ readonly handler: Handler<Kind, Definition, Environment, Args, Success, Failure>;
289
344
  }
290
345
  type WithArgs<Kind extends FunctionKind, Args extends Schema.Struct.Fields> = {
291
346
  readonly args: Args & ResolvedFunctionFields<NoInfer<Args>> & (Kind extends "Query" ? FileFree<Schema.Struct.Type<Args>, "query arguments"> : unknown);
@@ -299,44 +354,45 @@ type WithReturns<Kind extends FunctionKind, Returns extends TransportSchema> = {
299
354
  interface WithoutReturns {
300
355
  readonly returns?: never;
301
356
  }
302
- interface DefineFunction<Kind extends FunctionKind, Definition extends Tables> {
303
- <const Args extends Schema.Struct.Fields, Returns extends TransportSchema, Errors extends ErrorSchema>(definition: FunctionInput<Kind, Definition, Args, Returns["Type"], Errors["Type"]> & WithArgs<Kind, Args> & WithReturns<Kind, Returns> & {
357
+ interface DefineFunction<Kind extends FunctionKind, Definition extends Tables, Environment extends DefinedEnv> {
358
+ <const Args extends Schema.Struct.Fields, Returns extends TransportSchema, Errors extends ErrorSchema>(definition: FunctionInput<Kind, Definition, Environment, Args, Returns["Type"], Errors["Type"]> & WithArgs<Kind, Args> & WithReturns<Kind, Returns> & {
304
359
  readonly errors: Errors & ResolvedFunctionValue & FileFree<Errors["Type"], "errors">;
305
- }): FunctionDefinition<Kind, Definition, Args, Returns, Errors, Errors["Type"]>;
306
- <Returns extends TransportSchema, Errors extends ErrorSchema>(definition: FunctionInput<Kind, Definition, undefined, Returns["Type"], Errors["Type"]> & WithoutArgs & WithReturns<Kind, Returns> & {
360
+ }): FunctionDefinition<Kind, Definition, Environment, Args, Returns, Errors, Errors["Type"]>;
361
+ <Returns extends TransportSchema, Errors extends ErrorSchema>(definition: FunctionInput<Kind, Definition, Environment, undefined, Returns["Type"], Errors["Type"]> & WithoutArgs & WithReturns<Kind, Returns> & {
307
362
  readonly errors: Errors & ResolvedFunctionValue & FileFree<Errors["Type"], "errors">;
308
- }): FunctionDefinition<Kind, Definition, undefined, Returns, Errors, Errors["Type"]>;
309
- <const Args extends Schema.Struct.Fields, Errors extends ErrorSchema>(definition: FunctionInput<Kind, Definition, Args, void, Errors["Type"]> & WithArgs<Kind, Args> & WithoutReturns & {
363
+ }): FunctionDefinition<Kind, Definition, Environment, undefined, Returns, Errors, Errors["Type"]>;
364
+ <const Args extends Schema.Struct.Fields, Errors extends ErrorSchema>(definition: FunctionInput<Kind, Definition, Environment, Args, void, Errors["Type"]> & WithArgs<Kind, Args> & WithoutReturns & {
310
365
  readonly errors: Errors & ResolvedFunctionValue & FileFree<Errors["Type"], "errors">;
311
- }): FunctionDefinition<Kind, Definition, Args, undefined, Errors, Errors["Type"]>;
312
- <Errors extends ErrorSchema>(definition: FunctionInput<Kind, Definition, undefined, void, Errors["Type"]> & WithoutArgs & WithoutReturns & {
366
+ }): FunctionDefinition<Kind, Definition, Environment, Args, undefined, Errors, Errors["Type"]>;
367
+ <Errors extends ErrorSchema>(definition: FunctionInput<Kind, Definition, Environment, undefined, void, Errors["Type"]> & WithoutArgs & WithoutReturns & {
313
368
  readonly errors: Errors & ResolvedFunctionValue & FileFree<Errors["Type"], "errors">;
314
- }): FunctionDefinition<Kind, Definition, undefined, undefined, Errors, Errors["Type"]>;
315
- <const Args extends Schema.Struct.Fields, Returns extends TransportSchema, HandlerType extends Handler<Kind, Definition, Args, Returns["Type"], ErrorValue> = Handler<Kind, Definition, Args, Returns["Type"], never>>(definition: WithArgs<Kind, Args> & WithReturns<Kind, Returns> & {
369
+ }): FunctionDefinition<Kind, Definition, Environment, undefined, undefined, Errors, Errors["Type"]>;
370
+ <const Args extends Schema.Struct.Fields, Returns extends TransportSchema, HandlerType extends Handler<Kind, Definition, Environment, Args, Returns["Type"], ErrorValue> = Handler<Kind, Definition, Environment, Args, Returns["Type"], never>>(definition: WithArgs<Kind, Args> & WithReturns<Kind, Returns> & {
316
371
  readonly errors?: never;
317
372
  readonly handler: HandlerType;
318
- }): FunctionDefinition<Kind, Definition, Args, Returns, undefined, HandlerFailure<HandlerType>>;
319
- <Returns extends TransportSchema, HandlerType extends Handler<Kind, Definition, undefined, Returns["Type"], ErrorValue> = Handler<Kind, Definition, undefined, Returns["Type"], never>>(definition: WithoutArgs & WithReturns<Kind, Returns> & {
373
+ }): FunctionDefinition<Kind, Definition, Environment, Args, Returns, undefined, HandlerFailure<HandlerType>>;
374
+ <Returns extends TransportSchema, HandlerType extends Handler<Kind, Definition, Environment, undefined, Returns["Type"], ErrorValue> = Handler<Kind, Definition, Environment, undefined, Returns["Type"], never>>(definition: WithoutArgs & WithReturns<Kind, Returns> & {
320
375
  readonly errors?: never;
321
376
  readonly handler: HandlerType;
322
- }): FunctionDefinition<Kind, Definition, undefined, Returns, undefined, HandlerFailure<HandlerType>>;
323
- <const Args extends Schema.Struct.Fields, HandlerType extends Handler<Kind, Definition, Args, void, ErrorValue> = Handler<Kind, Definition, Args, void, never>>(definition: WithArgs<Kind, Args> & WithoutReturns & {
377
+ }): FunctionDefinition<Kind, Definition, Environment, undefined, Returns, undefined, HandlerFailure<HandlerType>>;
378
+ <const Args extends Schema.Struct.Fields, HandlerType extends Handler<Kind, Definition, Environment, Args, void, ErrorValue> = Handler<Kind, Definition, Environment, Args, void, never>>(definition: WithArgs<Kind, Args> & WithoutReturns & {
324
379
  readonly errors?: never;
325
380
  readonly handler: HandlerType;
326
- }): FunctionDefinition<Kind, Definition, Args, undefined, undefined, HandlerFailure<HandlerType>>;
327
- <HandlerType extends Handler<Kind, Definition, undefined, void, ErrorValue> = Handler<Kind, Definition, undefined, void, never>>(definition: WithoutArgs & WithoutReturns & {
381
+ }): FunctionDefinition<Kind, Definition, Environment, Args, undefined, undefined, HandlerFailure<HandlerType>>;
382
+ <HandlerType extends Handler<Kind, Definition, Environment, undefined, void, ErrorValue> = Handler<Kind, Definition, Environment, undefined, void, never>>(definition: WithoutArgs & WithoutReturns & {
328
383
  readonly errors?: never;
329
384
  readonly handler: HandlerType;
330
- }): FunctionDefinition<Kind, Definition, undefined, undefined, undefined, HandlerFailure<HandlerType>>;
385
+ }): FunctionDefinition<Kind, Definition, Environment, undefined, undefined, undefined, HandlerFailure<HandlerType>>;
331
386
  }
332
- interface FunctionBuilders<Definition extends Tables> {
333
- readonly query: DefineFunction<"Query", Definition>;
334
- readonly mutation: DefineFunction<"Mutation", Definition>;
387
+ interface FunctionBuilders<Definition extends Tables, Environment extends DefinedEnv = typeof emptyEnv> {
388
+ readonly query: DefineFunction<"Query", Definition, Environment>;
389
+ readonly mutation: DefineFunction<"Mutation", Definition, Environment>;
335
390
  }
336
- interface SchemaBindings<Definition extends Tables> extends FunctionBuilders<Definition> {
391
+ interface SchemaBindings<Definition extends Tables, Environment extends DefinedEnv = typeof emptyEnv> extends FunctionBuilders<Definition, Environment> {
337
392
  readonly values: BoundValues<Definition>;
338
393
  }
339
- declare const bindSchema: <const Definition extends Tables>(schema: DefinedSchema<Definition>) => SchemaBindings<Definition>;
394
+ declare function bindSchema<const Definition extends Tables>(schema: DefinedSchema<Definition>): SchemaBindings<Definition, typeof emptyEnv>;
395
+ declare function bindSchema<const Definition extends Tables, const Environment extends DefinedEnv>(schema: DefinedSchema<Definition>, environment: Environment): SchemaBindings<Definition, Environment>;
340
396
  //#endregion
341
- export { Document as a, SchemaDefinitionTypeId as c, defineSchema as i, SchemaAuthoring as n, Id as o, bindSchema as r, SchemaDefinitionOf as s, DefinedSchema as t };
342
- //# sourceMappingURL=index-D6VLTbDB.d.ts.map
397
+ export { DefinedEnv as a, Id as c, defineEnv as d, Secret as f, defineSchema as i, SchemaDefinitionOf as l, SchemaAuthoring as n, Document as o, bindSchema as r, EnvironmentAuthoring as s, DefinedSchema as t, SchemaDefinitionTypeId as u };
398
+ //# sourceMappingURL=index-CrWg4Z0y.d.ts.map
@@ -1,2 +1,2 @@
1
- import { a as functionPathOf, i as createApi, n as FunctionReference, r as MutationInput, t as Api } from "../api-jCl8Hzry.js";
1
+ import { a as functionPathOf, i as createApi, n as FunctionReference, r as MutationInput, t as Api } from "../api-5XSrIeqW.js";
2
2
  export { Api, FunctionReference, MutationInput, createApi, functionPathOf };
@@ -1,14 +1,15 @@
1
- import { c as Result, d as TransportObject, f as TransportValue, i as ErrorValue, u as documentNotFound } from "../id-Cs82tq9Q-Caqfx54f.js";
2
- import "../sync-bMQq9tXx.js";
3
- import { n as PaginationPage, t as PaginationOptions } from "../pagination-Bt3l7QaC-D_zI5zsu.js";
4
- import "../pagination-DcIkTOFs.js";
1
+ import { c as Result$1, d as TransportObject, f as TransportValue, i as ErrorValue, u as documentNotFound } from "../id-Cs82tq9Q-CK-maMgN.js";
2
+ import "../result-DIjKM-p4.js";
3
+ import "../sync-avN7NkcU.js";
4
+ import { n as PaginationPage, t as PaginationOptions } from "../pagination-D-R9NR61-CpIoHFoI.js";
5
+ import "../pagination-CX5IPbEi.js";
5
6
  import { Effect, Schema } from "effect";
6
7
  //#region ../contracts/dist/runtime/functions.d.ts
7
8
  //#region src/runtime/functions.d.ts
8
9
  declare const FunctionKind: Schema.Literals<readonly ["Mutation", "Query"]>;
9
10
  type FunctionKind = typeof FunctionKind.Type;
10
11
  //#endregion
11
- //#region ../runtime/dist/guest-DjAV4yQ0.d.ts
12
+ //#region ../runtime/dist/guest-ByvJ3n1R.d.ts
12
13
  //#region src/guest.d.ts
13
14
  interface GuestFunctionDefinition {
14
15
  readonly _tag: FunctionKind;
@@ -32,22 +33,22 @@ interface GuestQueryRange {
32
33
  interface GuestDatabaseQuery {
33
34
  readonly index: (name: string, range?: (builder: GuestQueryRange) => GuestQueryRange) => GuestDatabaseQuery;
34
35
  readonly order: (direction: "asc" | "desc") => GuestDatabaseQuery;
35
- readonly collect: () => Result<ReadonlyArray<TransportObject>, never>;
36
- readonly take: (count: number) => Result<ReadonlyArray<TransportObject>, never>;
37
- readonly first: () => Result<TransportObject | undefined, never>;
38
- readonly unique: () => Result<TransportObject | undefined, never>;
39
- readonly paginate: (options: PaginationOptions) => Result<PaginationPage<TransportObject>, never>;
36
+ readonly collect: () => Result$1<ReadonlyArray<TransportObject>, never>;
37
+ readonly take: (count: number) => Result$1<ReadonlyArray<TransportObject>, never>;
38
+ readonly first: () => Result$1<TransportObject | undefined, never>;
39
+ readonly unique: () => Result$1<TransportObject | undefined, never>;
40
+ readonly paginate: (options: PaginationOptions) => Result$1<PaginationPage<TransportObject>, never>;
40
41
  }
41
42
  interface GuestDatabaseReader {
42
- readonly find: (table: string, id: string) => Result<TransportObject | undefined, never>;
43
- readonly get: (table: string, id: string) => Result<TransportObject, ReturnType<typeof documentNotFound>>;
43
+ readonly find: (table: string, id: string) => Result$1<TransportObject | undefined, never>;
44
+ readonly get: (table: string, id: string) => Result$1<TransportObject, ReturnType<typeof documentNotFound>>;
44
45
  readonly query: (table: string) => GuestDatabaseQuery;
45
46
  }
46
47
  interface GuestDatabaseWriter extends GuestDatabaseReader {
47
- readonly delete: (table: string, id: string) => Result<void, ReturnType<typeof documentNotFound>>;
48
- readonly insert: (table: string, value: TransportObject) => Result<string, never>;
49
- readonly patch: (table: string, id: string, value: TransportObject) => Result<void, ReturnType<typeof documentNotFound>>;
50
- readonly replace: (table: string, id: string, value: TransportObject) => Result<void, ReturnType<typeof documentNotFound>>;
48
+ readonly delete: (table: string, id: string) => Result$1<void, ReturnType<typeof documentNotFound>>;
49
+ readonly insert: (table: string, value: TransportObject) => Result$1<string, never>;
50
+ readonly patch: (table: string, id: string, value: TransportObject) => Result$1<void, ReturnType<typeof documentNotFound>>;
51
+ readonly replace: (table: string, id: string, value: TransportObject) => Result$1<void, ReturnType<typeof documentNotFound>>;
51
52
  }
52
53
  interface GuestQueryContext {
53
54
  readonly db: GuestDatabaseReader;
@@ -55,7 +56,7 @@ interface GuestQueryContext {
55
56
  interface GuestMutationContext {
56
57
  readonly db: GuestDatabaseWriter;
57
58
  }
58
- declare const invoke: (definition: GuestFunctionDefinition, encodedArgs: Schema.Json, call: GuestHostCall) => Promise<string>;
59
+ declare const invoke: (definition: GuestFunctionDefinition, encodedArgs: Schema.Json, call: GuestHostCall, rawEnvironment?: Readonly<Record<string, string>>) => Promise<string>;
59
60
  //#endregion
60
61
  export { invoke };
61
62
  //# sourceMappingURL=host.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { g as runtimeFileOccurrencesOf, y as GeneratedId } from "../file-C1abuMgd.js";
2
- import { _ as TransportValueSchema, a as PaginationCursor, f as documentNotFound, g as resultFromEffect, o as PaginationPageSize, u as ErrorValueSchema, v as datePathsOf, y as datePathsOfObject } from "../descriptor-C5VA9qRl-BhD-WQeO.js";
3
- import { i as getFunctionSchema, t as SchemaDefinitionTypeId } from "../schema-C00wobuy.js";
2
+ import { _ as resultFromEffect, b as datePathsOfObject, d as ErrorValueSchema, o as PaginationCursor, p as documentNotFound, s as PaginationPageSize, v as TransportObjectTypeSchema, y as datePathsOf } from "../descriptor-XzDX2JDw-j3O6YHgW.js";
3
+ import { c as getFunctionSchema, o as emptyEnv, r as decodeDefinedEnvironment, s as getFunctionEnvironment, t as SchemaDefinitionTypeId } from "../schema-B9XxyRO8.js";
4
4
  import { Effect, Predicate, Schema } from "effect";
5
5
  //#region ../contracts/dist/runtime/host.js
6
6
  const HostDocument = Schema.Struct({
@@ -149,7 +149,7 @@ const documentCodec = (schema, table) => guestCodec(Schema.Struct({
149
149
  createdAt: Schema.DateFromMillis,
150
150
  updatedAt: Schema.DateFromMillis
151
151
  }));
152
- const decodeDocument = (schema, table, document) => Schema.decodeUnknownSync(Schema.Record(Schema.String, Schema.UndefinedOr(TransportValueSchema)))(Schema.decodeSync(Schema.toCodecJson(documentCodec(schema, table)))({
152
+ const decodeDocument = (schema, table, document) => Schema.decodeUnknownSync(TransportObjectTypeSchema)(Schema.decodeSync(Schema.toCodecJson(documentCodec(schema, table)))({
153
153
  ...document.fields,
154
154
  id: document.id,
155
155
  createdAt: document.createdAt,
@@ -378,9 +378,11 @@ const encodeFailure = Effect.fn("Guest.encodeFailure")(function* (definition, er
378
378
  dates
379
379
  };
380
380
  });
381
- const runGuest = Effect.fn("Guest.invoke")(function* (definition, encodedArgs, call) {
381
+ const runGuest = Effect.fn("Guest.invoke")(function* (definition, encodedArgs, call, rawEnvironment) {
382
382
  const schema = getFunctionSchema(definition);
383
383
  if (schema === void 0) return yield* Effect.die("The function has no bound schema.");
384
+ const environmentDefinition = getFunctionEnvironment(definition) ?? emptyEnv;
385
+ const environment = yield* decodeDefinedEnvironment(environmentDefinition, rawEnvironment).pipe(Effect.mapError(() => /* @__PURE__ */ new Error("The deployment environment is invalid.")));
384
386
  const decodedArgs = yield* Schema.decodeEffect(Schema.toCodecJson(guestCodec(Schema.Struct(definition.args ?? {}))))(encodedArgs).pipe(Effect.match({
385
387
  onFailure: () => ({ valid: false }),
386
388
  onSuccess: (value) => ({
@@ -394,13 +396,16 @@ const runGuest = Effect.fn("Guest.invoke")(function* (definition, encodedArgs, c
394
396
  message: "The invocation arguments do not match the function definition."
395
397
  };
396
398
  const args = yield* Schema.decodeUnknownEffect(Schema.ObjectKeyword)(decodedArgs.value);
397
- const context = Object.freeze({ db: definition._tag === "Query" ? makeReader(schema, call) : makeWriter(schema, call) });
399
+ const context = Object.freeze({
400
+ db: definition._tag === "Query" ? makeReader(schema, call) : makeWriter(schema, call),
401
+ env: environment
402
+ });
398
403
  return yield* Effect.gen(() => definition.handler(context, args)).pipe(Effect.matchEffect({
399
404
  onFailure: (error) => encodeFailure(definition, error),
400
405
  onSuccess: (value) => encodeSuccess(definition, value)
401
406
  }));
402
407
  });
403
- const invoke = (definition, encodedArgs, call) => Effect.runPromise(runGuest(definition, encodedArgs, call)).then((result) => Schema.encodeSync(Schema.fromJsonString(Schema.Json))(result));
408
+ const invoke = (definition, encodedArgs, call, rawEnvironment = {}) => Effect.runPromise(runGuest(definition, encodedArgs, call, rawEnvironment)).then((result) => Schema.encodeSync(Schema.fromJsonString(Schema.Json))(result));
404
409
  //#endregion
405
410
  export { invoke };
406
411