ignotum 0.0.16 → 0.0.18

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 (126) hide show
  1. package/README.md +6 -6
  2. package/dist/cli/bin.mjs +13263 -2689
  3. package/dist/cli/bin.mjs.map +1 -1
  4. package/dist/platform/_headers +3 -0
  5. package/dist/platform/_ignotum/v1.0/client.js +12 -0
  6. package/dist/runtime/{api-B4fwp5a2.d.ts → api-BnUKx9cj-D49Tf0rX.d.ts} +4 -3
  7. package/dist/runtime/api-C-tltz6s.js +31 -0
  8. package/dist/runtime/api-C-tltz6s.js.map +1 -0
  9. package/dist/runtime/artifact-BB5qzoa6.js +42 -0
  10. package/dist/runtime/artifact-BB5qzoa6.js.map +1 -0
  11. package/dist/runtime/{bootstrap-BTFScKAc.d.ts → bootstrap-DjTwGJao-DBx5zdFI.d.ts} +64 -64
  12. package/dist/runtime/{bootstrap-BISQSn_O.js → bootstrap-DlNIfH-r.js} +9 -9
  13. package/dist/runtime/bootstrap-DlNIfH-r.js.map +1 -0
  14. package/dist/runtime/client.d.ts +24 -20
  15. package/dist/runtime/client.js +9 -9
  16. package/dist/runtime/client.js.map +1 -1
  17. package/dist/runtime/id-BI08JkmR.d.ts +1 -0
  18. package/dist/runtime/{id--1m0NuUL.js → id-BrEnxY-r.js} +118 -53
  19. package/dist/runtime/id-BrEnxY-r.js.map +1 -0
  20. package/dist/runtime/{image-Djtjy4Z8.js → image-gofzZeCm.js} +2 -2
  21. package/dist/runtime/image-gofzZeCm.js.map +1 -0
  22. package/dist/runtime/{index-D4seNHlX.d.ts → index-Biaw5vdF.d.ts} +2 -2
  23. package/dist/runtime/internal/api.d.ts +1 -1
  24. package/dist/runtime/internal/api.js +1 -30
  25. package/dist/runtime/internal/bootstrap.d.ts +1 -1
  26. package/dist/runtime/internal/bootstrap.js +1 -1
  27. package/dist/runtime/internal/client.d.ts +2 -2
  28. package/dist/runtime/internal/client.js +4 -4
  29. package/dist/runtime/internal/client.js.map +1 -1
  30. package/dist/runtime/internal/host.d.ts +4 -4
  31. package/dist/runtime/internal/host.js +4 -4
  32. package/dist/runtime/internal/routes.d.ts +1 -1
  33. package/dist/runtime/internal/routes.js +1 -1
  34. package/dist/runtime/internal/server.d.ts +3 -2
  35. package/dist/runtime/internal/server.js +2 -2
  36. package/dist/runtime/internal/server.js.map +1 -1
  37. package/dist/runtime/internal/types.d.ts +2 -2
  38. package/dist/runtime/internal/types.js +1 -1
  39. package/dist/runtime/{pagination-D3qd6s9N.js → pagination--f4kMKf6.js} +2 -2
  40. package/dist/runtime/{pagination-D3qd6s9N.js.map → pagination--f4kMKf6.js.map} +1 -1
  41. package/dist/runtime/pagination-BI08JkmR.d.ts +1 -0
  42. package/dist/runtime/{router-BSBI1oN1.js → router-C1eC9yy5.js} +462 -419
  43. package/dist/runtime/router-C1eC9yy5.js.map +1 -0
  44. package/dist/runtime/routes-DnU39R7c.js +152 -0
  45. package/dist/runtime/routes-DnU39R7c.js.map +1 -0
  46. package/dist/runtime/{schema-D1wOqiNH.js → schema-BSjepoNF.js} +271 -6
  47. package/dist/runtime/schema-BSjepoNF.js.map +1 -0
  48. package/dist/runtime/server.d.ts +5 -4
  49. package/dist/runtime/server.js +3 -3
  50. package/dist/runtime/server.js.map +1 -1
  51. package/dist/runtime/{sync-DzUwA8W9.js → sync-BwgS19Xy.js} +4 -16
  52. package/dist/runtime/sync-BwgS19Xy.js.map +1 -0
  53. package/dist/runtime/{sync-D-GK2sv9.d.ts → sync-By2hX5ev.d.ts} +1 -2
  54. package/dist/runtime/{types-DeCCyqLU-BIm7rU-0.d.ts → types-DeCCyqLU-CHx7KFtx.d.ts} +2 -2
  55. package/package.json +7 -1
  56. package/src/cli/agent-files.ts +2 -0
  57. package/src/cli/build/asset-names.ts +190 -0
  58. package/src/cli/build/managed-client.ts +151 -81
  59. package/src/cli/build/managed-server.ts +4 -4
  60. package/src/cli/build/managed.ts +5 -6
  61. package/src/cli/command.ts +7 -15
  62. package/src/cli/control-client.ts +7 -9
  63. package/src/cli/deploy.ts +45 -15
  64. package/src/cli/dev.ts +50 -99
  65. package/src/cli/image-assets.ts +5 -2
  66. package/src/cli/managed-client-boundaries.ts +6 -6
  67. package/src/cli/managed-dev-platform.ts +52 -66
  68. package/src/cli/managed-exports.ts +5 -66
  69. package/src/cli/new-app.ts +7 -2
  70. package/src/cli/path.ts +11 -0
  71. package/src/cli/route-codegen.ts +2 -1
  72. package/src/cli/route-static.ts +3 -2
  73. package/src/cli/upload-journal.ts +130 -0
  74. package/src/client/bootstrap.ts +1 -110
  75. package/src/client/errors.ts +1 -70
  76. package/src/client/files.ts +1 -233
  77. package/src/client/hooks.ts +1 -367
  78. package/src/client/id.ts +1 -263
  79. package/src/client/image.ts +1 -28
  80. package/src/client/index.ts +1 -126
  81. package/src/client/jsx-dev-runtime.ts +1 -2
  82. package/src/client/jsx-runtime.ts +1 -2
  83. package/src/client/managed-client.ts +1 -729
  84. package/src/client/managed-upgrade.ts +1 -283
  85. package/src/client/page-observers.ts +1 -77
  86. package/src/client/query.ts +1 -17
  87. package/src/client/recovery-journal.ts +1 -195
  88. package/src/client/route-boundaries.ts +1 -184
  89. package/src/client/router-history.ts +1 -152
  90. package/src/client/router-store.ts +1 -644
  91. package/src/client/router.ts +1 -324
  92. package/src/client/routes.ts +1 -28
  93. package/src/client/sync.ts +1 -286
  94. package/src/dev-runtime/id.ts +1 -1
  95. package/src/dev-runtime/managed-functions.ts +10 -18
  96. package/src/dev-runtime/managed-sync.ts +16 -16
  97. package/src/dev-runtime/sync.ts +6 -4
  98. package/src/internal/api.ts +1 -156
  99. package/src/internal/client.ts +1 -186
  100. package/src/internal/host.ts +1 -1
  101. package/src/internal/http-paths.ts +1 -4
  102. package/src/internal/routes.ts +1 -45
  103. package/src/internal/server.ts +1 -3
  104. package/src/internal/types.ts +1 -2
  105. package/src/server/index.ts +1 -27
  106. package/dist/cli/managed-release-WHYLZwaS.mjs +0 -10902
  107. package/dist/cli/managed-release-WHYLZwaS.mjs.map +0 -1
  108. package/dist/cli/managed-release.d.mts +0 -1
  109. package/dist/cli/managed-release.mjs +0 -14
  110. package/dist/cli/managed-release.mjs.map +0 -1
  111. package/dist/runtime/bootstrap-BISQSn_O.js.map +0 -1
  112. package/dist/runtime/descriptor-CTY4mtwS-cS43EbwS.js +0 -269
  113. package/dist/runtime/descriptor-CTY4mtwS-cS43EbwS.js.map +0 -1
  114. package/dist/runtime/id--1m0NuUL.js.map +0 -1
  115. package/dist/runtime/id-CBOt2kDo.d.ts +0 -1
  116. package/dist/runtime/identity-QjtJRxBD.d.ts +0 -2
  117. package/dist/runtime/image-Djtjy4Z8.js.map +0 -1
  118. package/dist/runtime/internal/api.js.map +0 -1
  119. package/dist/runtime/pagination-CBOt2kDo.d.ts +0 -1
  120. package/dist/runtime/router-BSBI1oN1.js.map +0 -1
  121. package/dist/runtime/routes-Ce8TVP-T.js +0 -690
  122. package/dist/runtime/routes-Ce8TVP-T.js.map +0 -1
  123. package/dist/runtime/schema-D1wOqiNH.js.map +0 -1
  124. package/dist/runtime/sync-DzUwA8W9.js.map +0 -1
  125. package/src/cli/managed-release-bin.ts +0 -13
  126. package/src/cli/managed-release.ts +0 -260
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes-DnU39R7c.js","names":[],"sources":["../../../contracts/dist/routes.js","../../../platform/dist/versions/1/browser/internal/routes.js"],"sourcesContent":["import { GeneratedId } from \"./runtime/id.js\";\nimport { ArtifactPath } from \"./artifact.js\";\nimport { Schema } from \"effect\";\n//#region src/routes.ts\nconst appDefinitionLimits = {\n\tdeclarationBytes: 1048576,\n\tartifactBytes: 16777216,\n\ttotalArtifactBytes: 134217728,\n\tserverArtifactBytes: 67108864,\n\tartifacts: 512,\n\tmodules: 512,\n\timportsPerModule: 256,\n\troutes: 512,\n\tlayouts: 128,\n\tfunctions: 512,\n\tconversions: 512,\n\turlFields: 64,\n\tliteralValues: 64,\n\ttextLength: 4096,\n\tconfigurationDepth: 96,\n\tconfigurationNodes: 65536,\n\tdescriptorDepth: 32,\n\tdescriptorNodes: 8192,\n\tgraphDepth: 64,\n\tmoduleTokens: 1e5\n};\nconst strict = (fields) => Schema.Struct(fields).annotate({ parseOptions: { onExcessProperty: \"error\" } });\nconst Name = Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(256));\nconst Text = Schema.String.check(Schema.isMaxLength(appDefinitionLimits.textLength));\nconst ExportName = Schema.String.check(Schema.isPattern(/^[A-Za-z_$][A-Za-z0-9_$]*$/), Schema.isTrimmed());\nconst AppArtifactPath = ArtifactPath.check(Schema.isTrimmed(), Schema.isMaxLength(512), Schema.isPattern(/^(?:[A-Za-z0-9_-][A-Za-z0-9_.-]*\\/)*[A-Za-z0-9_-][A-Za-z0-9_.-]*$/));\nconst AppModuleId = Schema.String.check(Schema.isTrimmed(), Schema.isMaxLength(512), Schema.isPattern(/^app\\/(?:client|server)\\/(?:[A-Za-z0-9_-][A-Za-z0-9_.-]*\\/)*[A-Za-z0-9_-][A-Za-z0-9_.-]*$/)).pipe(Schema.brand(\"ignotum/app-definition/AppModuleId\"));\nconst RouteId = Name.pipe(Schema.brand(\"ignotum/app-definition/RouteId\"));\nconst LayoutId = Name.pipe(Schema.brand(\"ignotum/app-definition/LayoutId\"));\nconst ModuleExportReference = strict({\n\tmodule: AppModuleId,\n\texportName: ExportName\n});\nconst UrlLiteral = Schema.Union([\n\tText,\n\tSchema.Finite,\n\tSchema.Boolean\n]);\nconst UrlScalarDescriptor = Schema.Union([\n\tstrict({ type: Schema.Literal(\"string\") }),\n\tstrict({\n\t\ttype: Schema.Literal(\"id\"),\n\t\ttable: Name\n\t}),\n\tstrict({ type: Schema.Literal(\"number\") }),\n\tstrict({ type: Schema.Literal(\"integer\") }),\n\tstrict({ type: Schema.Literal(\"boolean\") }),\n\tstrict({\n\t\ttype: Schema.Literal(\"literal\"),\n\t\tvalue: UrlLiteral\n\t}),\n\tstrict({\n\t\ttype: Schema.Literal(\"literals\"),\n\t\tvalues: Schema.Array(UrlLiteral).check(Schema.isMinLength(1), Schema.isMaxLength(appDefinitionLimits.literalValues), Schema.makeFilter((values) => new Set(values.map(String)).size === values.length || \"URL literal encodings must be unique\"))\n\t})\n]);\nconst urlScalarSchema = (descriptor) => {\n\tswitch (descriptor.type) {\n\t\tcase \"string\": return Text;\n\t\tcase \"id\": return GeneratedId;\n\t\tcase \"number\": return Schema.Finite;\n\t\tcase \"integer\": return Schema.Int;\n\t\tcase \"boolean\": return Schema.Boolean;\n\t\tcase \"literal\": return Schema.Literal(descriptor.value);\n\t\tcase \"literals\": return Schema.Literals(descriptor.values);\n\t}\n};\nconst UrlRequiredDescriptor = Schema.Union([UrlScalarDescriptor, strict({\n\ttype: Schema.Literal(\"array\"),\n\tvalue: UrlScalarDescriptor\n})]);\nconst UrlDefault = Schema.Union([UrlLiteral, Schema.Array(UrlLiteral).check(Schema.isMaxLength(256))]);\nconst UrlValueDescriptor = Schema.Union([\n\tUrlRequiredDescriptor,\n\tstrict({\n\t\ttype: Schema.Literal(\"optional\"),\n\t\tvalue: UrlRequiredDescriptor\n\t}),\n\tstrict({\n\t\ttype: Schema.Literal(\"default\"),\n\t\tvalue: UrlRequiredDescriptor,\n\t\tdefault: UrlDefault\n\t}).check(Schema.makeFilter((descriptor) => {\n\t\tconst valueSchema = descriptor.value.type === \"array\" ? Schema.Array(urlScalarSchema(descriptor.value.value)) : urlScalarSchema(descriptor.value);\n\t\treturn Schema.is(valueSchema)(descriptor.default) || \"The URL default must satisfy its value descriptor\";\n\t})).annotate({ parseOptions: { onExcessProperty: \"error\" } })\n]);\nconst UrlField = strict({\n\tname: Name,\n\tvalue: UrlValueDescriptor\n});\nconst PathUrlField = strict({\n\tname: Name,\n\tvalue: Schema.Union([UrlScalarDescriptor, strict({\n\t\ttype: Schema.Literal(\"array\"),\n\t\tvalue: strict({ type: Schema.Literal(\"string\") })\n\t})])\n});\nconst Meta = strict({\n\tdescription: Schema.optional(Text),\n\trobots: Schema.optional(Text)\n});\nconst StaticMetadata = strict({\n\ttitle: Schema.optional(Text),\n\tmeta: Schema.optional(Meta)\n});\nconst LayoutMetadata = strict({\n\ttitle: Schema.optional(Text),\n\ttitleTemplate: Schema.optional(Text.check(Schema.makeFilter((template) => template.split(\"%s\").length === 2 || \"A title template must contain exactly one %s placeholder\"))),\n\tmeta: Schema.optional(Meta)\n});\nconst RoutePattern = Schema.String.check(Schema.isMaxLength(2048), Schema.isPattern(/^\\/(?!_ignotum(?:\\/|$))[^?#\\\\\\0]*$/));\nconst RouteDefinition = strict({\n\tid: RouteId,\n\tpattern: RoutePattern,\n\tdirectoryScope: Schema.optional(RoutePattern),\n\tprecedence: Schema.Array(Schema.Natural).check(Schema.isMaxLength(128)),\n\tparams: Schema.Array(PathUrlField).check(Schema.isMaxLength(appDefinitionLimits.urlFields)),\n\tsearchParams: Schema.Array(UrlField).check(Schema.isMaxLength(appDefinitionLimits.urlFields)),\n\tpage: ModuleExportReference,\n\tlayouts: Schema.Array(LayoutId).check(Schema.isMaxLength(appDefinitionLimits.layouts)),\n\tmetadata: StaticMetadata,\n\tboundaries: strict({\n\t\terror: Schema.Boolean,\n\t\tinvalid: Schema.Boolean\n\t})\n});\nconst LayoutDefinition = strict({\n\tid: LayoutId,\n\tscope: RoutePattern,\n\tparent: Schema.optional(LayoutId),\n\tmodule: ModuleExportReference,\n\tmetadata: LayoutMetadata,\n\tboundaries: strict({\n\t\terror: Schema.Boolean,\n\t\tinvalid: Schema.Boolean,\n\t\tnotFound: Schema.Boolean\n\t})\n});\n//#endregion\nexport { AppArtifactPath, AppModuleId, LayoutDefinition, LayoutId, LayoutMetadata, ModuleExportReference, RouteDefinition, RouteId, StaticMetadata, UrlField, UrlScalarDescriptor, UrlValueDescriptor, appDefinitionLimits };\n\n//# sourceMappingURL=routes.js.map","import { Schema } from \"effect\";\nimport { RouteDefinition } from \"@ignotum/contracts/routes\";\n//#region src/versions/1/browser/internal/routes.ts\nconst RouteReferenceTypeId = Symbol.for(\"ignotum/internal/routes/RouteReference\");\nconst createRouteReference = (definition) => ({ [RouteReferenceTypeId]: Schema.decodeUnknownSync(RouteDefinition)(definition) });\nconst getRouteDefinition = (reference) => reference[RouteReferenceTypeId];\n//#endregion\nexport { createRouteReference, getRouteDefinition };\n\n//# sourceMappingURL=routes.js.map"],"mappings":"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"}
@@ -1,7 +1,272 @@
1
- import { I as fileLimits, M as constrainedFileValue, N as fileFormats, O as FileFormat, U as GeneratedId, c as UserId, h as ErrorBrand } from "./id--1m0NuUL.js";
2
- import { n as PaginationPageSize, t as PaginationCursor } from "./pagination-D3qd6s9N.js";
3
- import { a as descriptorFields, c as validateFieldRenames, i as descriptorAllowedInEnvironment, l as withValueChildren, r as attachValueDescriptor, s as getValueDescriptor } from "./descriptor-CTY4mtwS-cS43EbwS.js";
4
- import { Effect, Predicate, Redacted, Result, Schema, Struct } from "effect";
1
+ import { i as GeneratedId } from "./artifact-BB5qzoa6.js";
2
+ import { F as constrainedFileValue, I as fileFormats, c as UserId, j as FileFormat, p as ErrorBrand, z as fileLimits } from "./id-BrEnxY-r.js";
3
+ import { n as PaginationPageSize, t as PaginationCursor } from "./pagination--f4kMKf6.js";
4
+ import { Effect, Function, Predicate, Redacted, Result, Schema, Struct } from "effect";
5
+ //#region ../contracts/dist/descriptor-CTY4mtwS.js
6
+ const ValueEvolutionTypeId = Symbol.for("ignotum/schema/ValueEvolution");
7
+ const evolutionRules = (value) => value[ValueEvolutionTypeId] ?? {};
8
+ const codec = (value) => Schema.toCodecJson(value);
9
+ const encode = (schema, value) => Schema.decodeUnknownSync(Schema.Json)(Schema.encodeUnknownSync(codec(schema), { onExcessProperty: "error" })(value));
10
+ const decode = (schema, value) => Schema.decodeUnknownSync(codec(schema), { onExcessProperty: "error" })(value);
11
+ const copy = (value) => Object.create(Object.getPrototypeOf(value), Object.getOwnPropertyDescriptors(value));
12
+ const isValueObject = Schema.is(Schema.Record(Schema.String, Schema.Unknown));
13
+ const attachEvolution = (value, rules = {}) => {
14
+ Object.defineProperty(value, ValueEvolutionTypeId, {
15
+ configurable: true,
16
+ value: rules
17
+ });
18
+ return Object.assign(value, {
19
+ default(defaultValue) {
20
+ if (getValueDescriptor(value)?.type === "optional") throw new Error("Defaults require a non-optional validator. A default already allows omission on creation.");
21
+ const defaultJson = JSON.stringify(encode(value, defaultValue));
22
+ const next = copy(value);
23
+ const constructor = Schema.withConstructorDefault(Effect.sync(() => decode(value, JSON.parse(defaultJson))))(value);
24
+ Object.defineProperty(next, "ast", {
25
+ value: constructor.ast,
26
+ configurable: true
27
+ });
28
+ return attachEvolution(next, {
29
+ ...rules,
30
+ defaultJson
31
+ });
32
+ },
33
+ renameFrom(name) {
34
+ if (name.length === 0 || [
35
+ "id",
36
+ "createdAt",
37
+ "updatedAt"
38
+ ].includes(name)) throw new Error(`Cannot rename reserved or empty field '${name}'.`);
39
+ return attachEvolution(copy(value), {
40
+ ...rules,
41
+ renameFrom: name
42
+ });
43
+ },
44
+ from(previous, convert) {
45
+ if (getValueDescriptor(previous) === void 0) throw new Error("Historical values must use an Ignotum values validator.");
46
+ return attachEvolution(copy(value), {
47
+ ...rules,
48
+ previous: [...rules.previous ?? [], {
49
+ schema: previous,
50
+ convert
51
+ }]
52
+ });
53
+ }
54
+ });
55
+ };
56
+ const withValueChildren = (value, children) => {
57
+ attachEvolution(value, {
58
+ ...evolutionRules(value),
59
+ children
60
+ });
61
+ return value;
62
+ };
63
+ const validateFieldRenames = (fields) => {
64
+ const sources = /* @__PURE__ */ new Set();
65
+ for (const [name, field] of Object.entries(fields)) {
66
+ const source = evolutionRules(field).renameFrom;
67
+ if (source === void 0) continue;
68
+ if (source === name || Object.hasOwn(fields, source) || sources.has(source)) throw new Error(`Rename source '${source}' conflicts with another field.`);
69
+ sources.add(source);
70
+ }
71
+ };
72
+ const mapChildren = (schema, value, visit, rename) => {
73
+ const children = evolutionRules(schema).children;
74
+ if (children === void 0) return value;
75
+ switch (children.type) {
76
+ case "object": {
77
+ if (!isValueObject(value)) return value;
78
+ const result = { ...value };
79
+ for (const [name, field] of Object.entries(children.fields)) {
80
+ const source = rename ? evolutionRules(field).renameFrom : void 0;
81
+ if (source !== void 0 && Object.hasOwn(result, source)) {
82
+ if (Object.hasOwn(result, name)) throw new Error(`Both '${name}' and its rename source '${source}' are present.`);
83
+ Object.defineProperty(result, name, {
84
+ value: result[source],
85
+ enumerable: true,
86
+ configurable: true,
87
+ writable: true
88
+ });
89
+ delete result[source];
90
+ }
91
+ const next = visit(field, Object.hasOwn(result, name) ? result[name] : void 0);
92
+ if (next !== void 0) Object.defineProperty(result, name, {
93
+ value: next,
94
+ enumerable: true,
95
+ configurable: true,
96
+ writable: true
97
+ });
98
+ }
99
+ return result;
100
+ }
101
+ case "array": return Array.isArray(value) ? value.map((item) => visit(children.value, item)) : value;
102
+ case "record": return isValueObject(value) ? Object.fromEntries(Object.entries(value).map(([key, item]) => [key, visit(children.value, item)])) : value;
103
+ case "nullable": return value === null ? value : visit(children.value, value);
104
+ case "optional": return value === void 0 ? value : visit(children.value, value);
105
+ case "union":
106
+ for (const member of children.members) try {
107
+ const result = visit(member, value);
108
+ if (rename) decode(member, result);
109
+ else encode(member, result);
110
+ return result;
111
+ } catch {}
112
+ return value;
113
+ }
114
+ };
115
+ /** Apply creation defaults to decoded values, without accepting historical representations. */
116
+ const applyValueDefaults = (schema, value) => {
117
+ const rules = evolutionRules(schema);
118
+ if (value === void 0 && rules.defaultJson !== void 0) return decode(schema, JSON.parse(rules.defaultJson));
119
+ return mapChildren(schema, value, applyValueDefaults, false);
120
+ };
121
+ /** Convert a stored JSON value to the current representation, preserving already valid values. */
122
+ const evolveStoredValue = (schema, value) => {
123
+ try {
124
+ decode(schema, value);
125
+ return value;
126
+ } catch {}
127
+ const rules = evolutionRules(schema);
128
+ if (value === void 0 && rules.defaultJson !== void 0) return JSON.parse(rules.defaultJson);
129
+ let failure;
130
+ try {
131
+ const next = mapChildren(schema, value, evolveStoredValue, true);
132
+ decode(schema, next);
133
+ return next;
134
+ } catch (cause) {
135
+ failure = cause;
136
+ }
137
+ const matches = [];
138
+ for (const previous of rules.previous ?? []) try {
139
+ matches.push({
140
+ previous,
141
+ value: decode(previous.schema, value)
142
+ });
143
+ } catch {}
144
+ if (matches.length > 1) throw new Error("More than one historical validator matches this value.");
145
+ const match = matches[0];
146
+ if (match === void 0) throw failure;
147
+ return encode(schema, applyValueDefaults(schema, match.previous.convert(match.value)));
148
+ };
149
+ const evolveStoredFields = (schema, value) => Schema.decodeUnknownSync(Schema.JsonObject)(evolveStoredValue(schema, value));
150
+ const LiteralValue = Schema.Union([
151
+ Schema.String,
152
+ Schema.Finite,
153
+ Schema.Boolean
154
+ ]);
155
+ const DescriptorField = Schema.Struct({
156
+ name: Schema.String,
157
+ value: Schema.suspend(() => ValueDescriptor)
158
+ });
159
+ const ValueDescriptor = Schema.Union([
160
+ Schema.Struct({
161
+ type: Schema.Literal("array"),
162
+ value: Schema.suspend(() => ValueDescriptor)
163
+ }),
164
+ Schema.Struct({ type: Schema.Literal("boolean") }),
165
+ Schema.Struct({ type: Schema.Literal("date") }),
166
+ Schema.Struct({
167
+ type: Schema.Literal("file"),
168
+ formats: Schema.Array(Schema.Literals([
169
+ "jpeg",
170
+ "png",
171
+ "webp",
172
+ "avif",
173
+ "gif"
174
+ ])),
175
+ maxBytes: Schema.Int
176
+ }),
177
+ Schema.Struct({
178
+ type: Schema.Literal("error"),
179
+ tag: Schema.String,
180
+ fields: Schema.Array(DescriptorField)
181
+ }),
182
+ Schema.Struct({
183
+ type: Schema.Literal("id"),
184
+ table: Schema.String
185
+ }),
186
+ Schema.Struct({ type: Schema.Literal("userId") }),
187
+ Schema.Struct({ type: Schema.Literal("integer") }),
188
+ Schema.Struct({
189
+ type: Schema.Literal("literal"),
190
+ value: LiteralValue
191
+ }),
192
+ Schema.Struct({
193
+ type: Schema.Literal("literals"),
194
+ values: Schema.Array(LiteralValue)
195
+ }),
196
+ Schema.Struct({ type: Schema.Literal("never") }),
197
+ Schema.Struct({ type: Schema.Literal("null") }),
198
+ Schema.Struct({
199
+ type: Schema.Literal("nullable"),
200
+ value: Schema.suspend(() => ValueDescriptor)
201
+ }),
202
+ Schema.Struct({ type: Schema.Literal("number") }),
203
+ Schema.Struct({
204
+ type: Schema.Literal("object"),
205
+ fields: Schema.Array(DescriptorField)
206
+ }),
207
+ Schema.Struct({
208
+ type: Schema.Literal("optional"),
209
+ value: Schema.suspend(() => ValueDescriptor)
210
+ }),
211
+ Schema.Struct({
212
+ type: Schema.Literal("record"),
213
+ value: Schema.suspend(() => ValueDescriptor)
214
+ }),
215
+ Schema.Struct({
216
+ type: Schema.Literal("secret"),
217
+ value: Schema.suspend(() => ValueDescriptor)
218
+ }),
219
+ Schema.Struct({ type: Schema.Literal("string") }),
220
+ Schema.Struct({
221
+ type: Schema.Literal("union"),
222
+ members: Schema.Array(Schema.suspend(() => ValueDescriptor))
223
+ })
224
+ ]);
225
+ const ValueDescriptorTypeId = Symbol.for("ignotum/schema/ValueDescriptor");
226
+ const attachValueDescriptor = Function.dual(2, (value, descriptor) => {
227
+ Object.defineProperty(value, ValueDescriptorTypeId, {
228
+ configurable: false,
229
+ enumerable: false,
230
+ value: descriptor,
231
+ writable: false
232
+ });
233
+ return attachEvolution(value);
234
+ });
235
+ const getValueDescriptor = (value) => {
236
+ if (!Predicate.hasProperty(value, ValueDescriptorTypeId)) return void 0;
237
+ return Schema.is(ValueDescriptor)(value[ValueDescriptorTypeId]) ? value[ValueDescriptorTypeId] : void 0;
238
+ };
239
+ const descriptorAllowedInEnvironment = (descriptor) => {
240
+ switch (descriptor.type) {
241
+ case "error":
242
+ case "file":
243
+ case "userId":
244
+ case "id": return false;
245
+ case "array":
246
+ case "nullable":
247
+ case "optional":
248
+ case "record":
249
+ case "secret": return descriptorAllowedInEnvironment(descriptor.value);
250
+ case "object": return descriptor.fields.every((field) => descriptorAllowedInEnvironment(field.value));
251
+ case "union": return descriptor.members.every(descriptorAllowedInEnvironment);
252
+ default: return true;
253
+ }
254
+ };
255
+ const descriptorFields = (fields) => {
256
+ const entries = [];
257
+ for (const name of Reflect.ownKeys(fields)) {
258
+ if (!Predicate.isString(name)) throw new Error("Ignotum value objects only support string field names.");
259
+ const field = fields[name];
260
+ const value = field === void 0 ? void 0 : getValueDescriptor(field);
261
+ if (value === void 0) throw new Error(`The field '${name}' must use an Ignotum values validator.`);
262
+ entries.push({
263
+ name,
264
+ value
265
+ });
266
+ }
267
+ return entries.sort((left, right) => left.name.localeCompare(right.name));
268
+ };
269
+ //#endregion
5
270
  //#region ../contracts/dist/schema/values.js
6
271
  const LiteralValueSchema = Schema.Union([
7
272
  Schema.String,
@@ -446,6 +711,6 @@ function bindSchema(schema, environment = emptyEnv) {
446
711
  };
447
712
  }
448
713
  //#endregion
449
- export { defineSchema as a, getFunctionSchema as c, defineEnv as i, Secret as l, bindSchema as n, emptyEnv as o, decodeDefinedEnvironment as r, getFunctionEnvironment as s, SchemaDefinitionTypeId as t };
714
+ export { defineSchema as a, getFunctionSchema as c, evolveStoredFields as d, defineEnv as i, Secret as l, bindSchema as n, emptyEnv as o, decodeDefinedEnvironment as r, getFunctionEnvironment as s, SchemaDefinitionTypeId as t, applyValueDefaults as u };
450
715
 
451
- //# sourceMappingURL=schema-D1wOqiNH.js.map
716
+ //# sourceMappingURL=schema-BSjepoNF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-BSjepoNF.js","names":["utf8ByteLength","Result$1"],"sources":["../../../contracts/dist/descriptor-CTY4mtwS.js","../../../contracts/dist/schema/values.js","../../../contracts/dist/runtime/schema.js","../../../contracts/dist/schema/index.js"],"sourcesContent":["import { Effect, Function, Predicate, Schema } from \"effect\";\n//#region src/schema/evolution.ts\nconst ValueEvolutionTypeId = Symbol.for(\"ignotum/schema/ValueEvolution\");\nconst evolutionRules = (value) => value[ValueEvolutionTypeId] ?? {};\nconst codec = (value) => Schema.toCodecJson(value);\nconst encode = (schema, value) => Schema.decodeUnknownSync(Schema.Json)(Schema.encodeUnknownSync(codec(schema), { onExcessProperty: \"error\" })(value));\nconst decode = (schema, value) => Schema.decodeUnknownSync(codec(schema), { onExcessProperty: \"error\" })(value);\nconst copy = (value) => Object.create(Object.getPrototypeOf(value), Object.getOwnPropertyDescriptors(value));\nconst isValueObject = Schema.is(Schema.Record(Schema.String, Schema.Unknown));\nconst attachEvolution = (value, rules = {}) => {\n\tObject.defineProperty(value, ValueEvolutionTypeId, {\n\t\tconfigurable: true,\n\t\tvalue: rules\n\t});\n\treturn Object.assign(value, {\n\t\tdefault(defaultValue) {\n\t\t\tif (getValueDescriptor(value)?.type === \"optional\") throw new Error(\"Defaults require a non-optional validator. A default already allows omission on creation.\");\n\t\t\tconst defaultJson = JSON.stringify(encode(value, defaultValue));\n\t\t\tconst next = copy(value);\n\t\t\tconst constructor = Schema.withConstructorDefault(Effect.sync(() => decode(value, JSON.parse(defaultJson))))(value);\n\t\t\tObject.defineProperty(next, \"ast\", {\n\t\t\t\tvalue: constructor.ast,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\t\t\treturn attachEvolution(next, {\n\t\t\t\t...rules,\n\t\t\t\tdefaultJson\n\t\t\t});\n\t\t},\n\t\trenameFrom(name) {\n\t\t\tif (name.length === 0 || [\n\t\t\t\t\"id\",\n\t\t\t\t\"createdAt\",\n\t\t\t\t\"updatedAt\"\n\t\t\t].includes(name)) throw new Error(`Cannot rename reserved or empty field '${name}'.`);\n\t\t\treturn attachEvolution(copy(value), {\n\t\t\t\t...rules,\n\t\t\t\trenameFrom: name\n\t\t\t});\n\t\t},\n\t\tfrom(previous, convert) {\n\t\t\tif (getValueDescriptor(previous) === void 0) throw new Error(\"Historical values must use an Ignotum values validator.\");\n\t\t\treturn attachEvolution(copy(value), {\n\t\t\t\t...rules,\n\t\t\t\tprevious: [...rules.previous ?? [], {\n\t\t\t\t\tschema: previous,\n\t\t\t\t\tconvert\n\t\t\t\t}]\n\t\t\t});\n\t\t}\n\t});\n};\nconst withValueChildren = (value, children) => {\n\tattachEvolution(value, {\n\t\t...evolutionRules(value),\n\t\tchildren\n\t});\n\treturn value;\n};\nconst validateFieldRenames = (fields) => {\n\tconst sources = /* @__PURE__ */ new Set();\n\tfor (const [name, field] of Object.entries(fields)) {\n\t\tconst source = evolutionRules(field).renameFrom;\n\t\tif (source === void 0) continue;\n\t\tif (source === name || Object.hasOwn(fields, source) || sources.has(source)) throw new Error(`Rename source '${source}' conflicts with another field.`);\n\t\tsources.add(source);\n\t}\n};\nconst mapChildren = (schema, value, visit, rename) => {\n\tconst children = evolutionRules(schema).children;\n\tif (children === void 0) return value;\n\tswitch (children.type) {\n\t\tcase \"object\": {\n\t\t\tif (!isValueObject(value)) return value;\n\t\t\tconst result = { ...value };\n\t\t\tfor (const [name, field] of Object.entries(children.fields)) {\n\t\t\t\tconst source = rename ? evolutionRules(field).renameFrom : void 0;\n\t\t\t\tif (source !== void 0 && Object.hasOwn(result, source)) {\n\t\t\t\t\tif (Object.hasOwn(result, name)) throw new Error(`Both '${name}' and its rename source '${source}' are present.`);\n\t\t\t\t\tObject.defineProperty(result, name, {\n\t\t\t\t\t\tvalue: result[source],\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t\twritable: true\n\t\t\t\t\t});\n\t\t\t\t\tdelete result[source];\n\t\t\t\t}\n\t\t\t\tconst next = visit(field, Object.hasOwn(result, name) ? result[name] : void 0);\n\t\t\t\tif (next !== void 0) Object.defineProperty(result, name, {\n\t\t\t\t\tvalue: next,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\tcase \"array\": return Array.isArray(value) ? value.map((item) => visit(children.value, item)) : value;\n\t\tcase \"record\": return isValueObject(value) ? Object.fromEntries(Object.entries(value).map(([key, item]) => [key, visit(children.value, item)])) : value;\n\t\tcase \"nullable\": return value === null ? value : visit(children.value, value);\n\t\tcase \"optional\": return value === void 0 ? value : visit(children.value, value);\n\t\tcase \"union\":\n\t\t\tfor (const member of children.members) try {\n\t\t\t\tconst result = visit(member, value);\n\t\t\t\tif (rename) decode(member, result);\n\t\t\t\telse encode(member, result);\n\t\t\t\treturn result;\n\t\t\t} catch {}\n\t\t\treturn value;\n\t}\n};\n/** Apply creation defaults to decoded values, without accepting historical representations. */\nconst applyValueDefaults = (schema, value) => {\n\tconst rules = evolutionRules(schema);\n\tif (value === void 0 && rules.defaultJson !== void 0) return decode(schema, JSON.parse(rules.defaultJson));\n\treturn mapChildren(schema, value, applyValueDefaults, false);\n};\n/** Convert a stored JSON value to the current representation, preserving already valid values. */\nconst evolveStoredValue = (schema, value) => {\n\ttry {\n\t\tdecode(schema, value);\n\t\treturn value;\n\t} catch {}\n\tconst rules = evolutionRules(schema);\n\tif (value === void 0 && rules.defaultJson !== void 0) return JSON.parse(rules.defaultJson);\n\tlet failure;\n\ttry {\n\t\tconst next = mapChildren(schema, value, evolveStoredValue, true);\n\t\tdecode(schema, next);\n\t\treturn next;\n\t} catch (cause) {\n\t\tfailure = cause;\n\t}\n\tconst matches = [];\n\tfor (const previous of rules.previous ?? []) try {\n\t\tmatches.push({\n\t\t\tprevious,\n\t\t\tvalue: decode(previous.schema, value)\n\t\t});\n\t} catch {}\n\tif (matches.length > 1) throw new Error(\"More than one historical validator matches this value.\");\n\tconst match = matches[0];\n\tif (match === void 0) throw failure;\n\treturn encode(schema, applyValueDefaults(schema, match.previous.convert(match.value)));\n};\nconst evolveStoredFields = (schema, value) => Schema.decodeUnknownSync(Schema.JsonObject)(evolveStoredValue(schema, value));\n//#endregion\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(\"userId\") }),\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 attachEvolution(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 \"userId\":\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, evolveStoredFields as d, evolveStoredValue as f, descriptorAllowedInEnvironment as i, applyValueDefaults as l, withValueChildren as m, ValueDescriptorTypeId as n, descriptorContainsSecret as o, validateFieldRenames as p, attachValueDescriptor as r, descriptorFields as s, ValueDescriptor as t, evolutionRules as u };\n\n//# sourceMappingURL=descriptor-CTY4mtwS.js.map","import { GeneratedId } from \"../runtime/id.js\";\nimport { FileFormat, constrainedFileValue, fileFormats, fileLimits } from \"./file.js\";\nimport { ErrorBrand } from \"../runtime/result.js\";\nimport { UserId } from \"../id.js\";\nimport { c as getValueDescriptor, m as withValueChildren, p as validateFieldRenames, r as attachValueDescriptor, s as descriptorFields } from \"../descriptor-CTY4mtwS.js\";\nimport { PaginationCursor, PaginationPageSize } from \"../runtime/pagination.js\";\nimport { Redacted, Schema, Struct } from \"effect\";\n//#region src/schema/values.ts\nconst LiteralValueSchema = Schema.Union([\n\tSchema.String,\n\tSchema.Finite,\n\tSchema.Boolean\n]);\nconst schemaIndexLimits = {\n\tfieldsPerIndex: 8,\n\tindexesPerSchema: 128,\n\tindexesPerTable: 16,\n\tkeyBytes: 4096,\n\tnameBytes: 64\n};\nconst utf8ByteLength = (value) => {\n\tlet bytes = 0;\n\tfor (const character of value) {\n\t\tconst point = character.codePointAt(0) ?? 0;\n\t\tbytes += point <= 127 ? 1 : point <= 2047 ? 2 : point <= 65535 ? 3 : 4;\n\t}\n\treturn bytes;\n};\nconst table = (fields) => {\n\tconst tableFields = fields;\n\tvalidateFieldRenames(tableFields);\n\tconst make = (indexes, schema = withValueChildren(attachValueDescriptor(Schema.Struct(tableFields), {\n\t\ttype: \"object\",\n\t\tfields: descriptorFields(tableFields)\n\t}), {\n\t\ttype: \"object\",\n\t\tfields: tableFields\n\t})) => {\n\t\tconst index = (name, fieldNames) => {\n\t\t\tif (utf8ByteLength(name) > schemaIndexLimits.nameBytes) throw new Error(`Index names cannot exceed ${schemaIndexLimits.nameBytes} UTF-8 bytes.`);\n\t\t\tif (name.length === 0) throw new Error(\"Index names cannot be empty.\");\n\t\t\tif (name.startsWith(\"$\")) throw new Error(\"Index names beginning with '$' are reserved.\");\n\t\t\tif (Object.hasOwn(indexes, name)) throw new Error(`Duplicate index name '${name}'.`);\n\t\t\tif (fieldNames.length > schemaIndexLimits.fieldsPerIndex) throw new Error(`Indexes cannot contain more than ${schemaIndexLimits.fieldsPerIndex} fields.`);\n\t\t\tif (new Set(fieldNames).size !== fieldNames.length) throw new Error(`Index '${name}' contains duplicate fields.`);\n\t\t\tfor (const fieldName of fieldNames) {\n\t\t\t\tif (!Object.hasOwn(tableFields, fieldName)) throw new Error(`Index '${name}' references unknown field '${fieldName}'.`);\n\t\t\t\tconst descriptor = getValueDescriptor(tableFields[fieldName]);\n\t\t\t\tif (!(descriptor?.type === \"boolean\" || descriptor?.type === \"date\" || descriptor?.type === \"id\" || descriptor?.type === \"integer\" || descriptor?.type === \"number\" || descriptor?.type === \"string\" || descriptor?.type === \"literal\" || descriptor?.type === \"literals\")) throw new Error(`Index '${name}' field '${fieldName}' is not indexable.`);\n\t\t\t\tif (descriptor.type === \"literals\" && !(descriptor.values.every(Schema.is(Schema.Boolean)) || descriptor.values.every(Schema.is(Schema.Finite)) || descriptor.values.every(Schema.is(Schema.String)))) throw new Error(`Index '${name}' field '${fieldName}' mixes value types.`);\n\t\t\t}\n\t\t\tconst duplicate = Object.values(indexes).find((candidate) => candidate.fields.length === fieldNames.length && candidate.fields.every((fieldName, position) => fieldName === fieldNames[position]));\n\t\t\tif (duplicate !== void 0) throw new Error(`Index '${name}' duplicates index '${duplicate.name}'.`);\n\t\t\tif (Object.keys(indexes).length >= schemaIndexLimits.indexesPerTable) throw new Error(`Tables cannot declare more than ${schemaIndexLimits.indexesPerTable} indexes.`);\n\t\t\treturn make({\n\t\t\t\t...indexes,\n\t\t\t\t[name]: {\n\t\t\t\t\tname,\n\t\t\t\t\tfields: fieldNames\n\t\t\t\t}\n\t\t\t}, schema);\n\t\t};\n\t\treturn {\n\t\t\t_tag: \"Table\",\n\t\t\tdescriptor: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tfields: descriptorFields(tableFields)\n\t\t\t},\n\t\t\tfields: tableFields,\n\t\t\tfrom: (previous, convert) => make(indexes, schema.from(previous, convert)),\n\t\t\tindex,\n\t\t\tindexes,\n\t\t\tschema\n\t\t};\n\t};\n\treturn make({});\n};\nconst fresh = (value) => value.pipe(Schema.annotate({}));\nconst string = () => attachValueDescriptor(fresh(Schema.String), { type: \"string\" });\nconst number = () => attachValueDescriptor(fresh(Schema.Finite), { type: \"number\" });\nconst integer = () => attachValueDescriptor(fresh(Schema.Int), { type: \"integer\" });\nconst boolean = () => attachValueDescriptor(fresh(Schema.Boolean), { type: \"boolean\" });\nconst date = () => attachValueDescriptor(fresh(Schema.DateFromMillis), { type: \"date\" });\nconst file = (options = {}) => {\n\tconst formats = options.formats ?? fileFormats;\n\tif (formats.length === 0) throw new Error(\"File format lists cannot be empty.\");\n\tSchema.decodeUnknownSync(Schema.Array(FileFormat))(formats);\n\tif (new Set(formats).size !== formats.length) throw new Error(\"File format lists cannot contain duplicates.\");\n\tconst maxBytes = options.maxBytes ?? fileLimits.fileBytes;\n\tif (!Number.isSafeInteger(maxBytes) || maxBytes <= 0 || maxBytes > fileLimits.fileBytes) throw new Error(`File sizes must be between 1 and ${fileLimits.fileBytes} bytes.`);\n\treturn attachValueDescriptor(constrainedFileValue(formats, maxBytes), {\n\t\ttype: \"file\",\n\t\tformats: [...formats],\n\t\tmaxBytes\n\t});\n};\nconst never = () => attachValueDescriptor(fresh(Schema.Never), { type: \"never\" });\nconst nullValue = () => attachValueDescriptor(fresh(Schema.Null), { type: \"null\" });\nconst literal = (value) => {\n\tSchema.decodeSync(LiteralValueSchema)(value);\n\treturn attachValueDescriptor(Schema.Literal(value), {\n\t\ttype: \"literal\",\n\t\tvalue\n\t});\n};\nconst literals = (...members) => {\n\tSchema.decodeSync(Schema.Array(LiteralValueSchema))(members);\n\treturn attachValueDescriptor(Schema.Literals(members), {\n\t\ttype: \"literals\",\n\t\tvalues: members\n\t});\n};\nconst makeIdSchema = (tableName) => {\n\tconst identifier = `ignotum/id/${tableName}`;\n\treturn attachValueDescriptor(GeneratedId.pipe(Schema.brand(identifier), Schema.annotate({ \"ignotum/table\": tableName })), {\n\t\ttype: \"id\",\n\t\ttable: tableName\n\t});\n};\nconst userId = () => attachValueDescriptor(fresh(UserId), { type: \"userId\" });\nconst id = (tableName) => makeIdSchema(tableName);\nconst requireDescriptor = (value) => {\n\tconst descriptor = getValueDescriptor(value);\n\tif (descriptor === void 0) throw new Error(\"Ignotum value combinators require a values validator.\");\n\treturn descriptor;\n};\nconst array = (value) => {\n\treturn withValueChildren(attachValueDescriptor(Schema.Array(value), {\n\t\ttype: \"array\",\n\t\tvalue: requireDescriptor(value)\n\t}), {\n\t\ttype: \"array\",\n\t\tvalue\n\t});\n};\nconst assertFieldsExist = (fields, keys, operation) => {\n\tfor (const key of keys) if (!Object.hasOwn(fields, key)) throw new Error(`Cannot ${operation} unknown field '${String(key)}'.`);\n};\nconst fixedObject = (fields) => {\n\tvalidateFieldRenames(fields);\n\tconst pick = (...keys) => {\n\t\tassertFieldsExist(fields, keys, \"pick\");\n\t\treturn fixedObject(Struct.pick(fields, keys));\n\t};\n\tconst omit = (...keys) => {\n\t\tassertFieldsExist(fields, keys, \"omit\");\n\t\treturn fixedObject(Struct.omit(fields, keys));\n\t};\n\tconst extend = (addedFields, ..._validation) => {\n\t\tfor (const key of Reflect.ownKeys(addedFields)) if (Object.hasOwn(fields, key)) throw new Error(`Cannot extend existing field '${String(key)}'.`);\n\t\treturn fixedObject(Struct.assign(fields, addedFields));\n\t};\n\tconst override = (overriddenFields, ..._validation) => {\n\t\tassertFieldsExist(fields, Reflect.ownKeys(overriddenFields), \"override\");\n\t\treturn fixedObject(Struct.assign(fields, overriddenFields));\n\t};\n\tconst partial = () => {\n\t\tconst partialFields = Struct.map(fields, Schema.optional);\n\t\tfor (const name of Reflect.ownKeys(fields)) {\n\t\t\tconst field = fields[name];\n\t\t\tconst partialField = partialFields[name];\n\t\t\tif (field === void 0 || partialField === void 0) continue;\n\t\t\tattachValueDescriptor(partialField, {\n\t\t\t\ttype: \"optional\",\n\t\t\t\tvalue: requireDescriptor(field)\n\t\t\t});\n\t\t}\n\t\treturn fixedObject(partialFields);\n\t};\n\tconst schema = withValueChildren(attachValueDescriptor(Schema.Struct(fields), {\n\t\ttype: \"object\",\n\t\tfields: descriptorFields(fields)\n\t}), {\n\t\ttype: \"object\",\n\t\tfields\n\t});\n\treturn Object.assign(schema, {\n\t\textend,\n\t\tomit,\n\t\toverride,\n\t\tpartial,\n\t\tpick\n\t});\n};\nconst object = (fields) => fixedObject(fields);\nconst optional = (value) => {\n\treturn withValueChildren(attachValueDescriptor(Schema.optional(value), {\n\t\ttype: \"optional\",\n\t\tvalue: requireDescriptor(value)\n\t}), {\n\t\ttype: \"optional\",\n\t\tvalue\n\t});\n};\nconst nullable = (value) => {\n\treturn withValueChildren(attachValueDescriptor(Schema.NullOr(value), {\n\t\ttype: \"nullable\",\n\t\tvalue: requireDescriptor(value)\n\t}), {\n\t\ttype: \"nullable\",\n\t\tvalue\n\t});\n};\nconst record = (value) => {\n\treturn withValueChildren(attachValueDescriptor(Schema.Record(Schema.String, value), {\n\t\ttype: \"record\",\n\t\tvalue: requireDescriptor(value)\n\t}), {\n\t\ttype: \"record\",\n\t\tvalue\n\t});\n};\nconst union = (...members) => {\n\treturn withValueChildren(attachValueDescriptor(Schema.Union(members), {\n\t\ttype: \"union\",\n\t\tmembers: members.map(requireDescriptor)\n\t}), {\n\t\ttype: \"union\",\n\t\tmembers\n\t});\n};\nconst Secret = {\n\tisSecret: Redacted.isRedacted,\n\tvalue: Redacted.value\n};\nfunction secret(value = string()) {\n\treturn attachValueDescriptor(Schema.RedactedFromValue(value, { disallowEncode: true }), {\n\t\ttype: \"secret\",\n\t\tvalue: requireDescriptor(value)\n\t});\n}\nconst paginationCursor = () => attachValueDescriptor(fresh(PaginationCursor), { type: \"string\" });\nconst pagination = () => fixedObject({\n\tcursor: nullable(paginationCursor()),\n\tpageSize: attachValueDescriptor(fresh(PaginationPageSize), { type: \"integer\" })\n});\nconst page = (value) => {\n\treturn fixedObject({\n\t\titems: array(value),\n\t\tnextCursor: nullable(paginationCursor())\n\t});\n};\nconst error = (tag, fields) => {\n\tif (tag === \"InternalServerError\") throw new Error(\"The error tag 'InternalServerError' is reserved by Ignotum.\");\n\tconst errorFields = { ...fields };\n\tReflect.deleteProperty(errorFields, \"_tag\");\n\tconst schema = Schema.TaggedStruct(tag, errorFields).pipe(Schema.brand(ErrorBrand));\n\tconst make = (input) => schema.make(input);\n\tconst definition = Object.assign(make, schema);\n\tObject.setPrototypeOf(definition, Object.getPrototypeOf(schema));\n\tattachValueDescriptor(definition, {\n\t\ttype: \"error\",\n\t\ttag,\n\t\tfields: descriptorFields(errorFields)\n\t});\n\treturn definition;\n};\nconst values = {\n\tuserId,\n\tarray,\n\tboolean,\n\tdate,\n\tfile,\n\terror,\n\tid,\n\tinteger,\n\tliteral,\n\tliterals,\n\tnever,\n\tnull: nullValue,\n\tnullable,\n\tnumber,\n\tobject,\n\toptional,\n\trecord,\n\tstring,\n\tunion\n};\nconst environmentValues = {\n\tarray,\n\tboolean,\n\tdate,\n\tinteger,\n\tliteral,\n\tliterals,\n\tnever,\n\tnull: nullValue,\n\tnullable,\n\tnumber,\n\tobject,\n\toptional,\n\trecord,\n\tsecret,\n\tstring,\n\tunion\n};\nconst bindValues = (definition) => {\n\tconst boundId = (tableName) => makeIdSchema(tableName);\n\tconst doc = (tableName) => {\n\t\tconst tableDefinition = definition[tableName];\n\t\tif (tableDefinition === void 0) throw new Error(`Unknown table '${tableName}'.`);\n\t\tconst tableFields = tableDefinition.fields;\n\t\tconst systemFields = {\n\t\t\tid: boundId(tableName),\n\t\t\tcreatedAt: date(),\n\t\t\tupdatedAt: date()\n\t\t};\n\t\treturn fixedObject(Struct.assign(tableFields, systemFields));\n\t};\n\tconst boundPagination = () => {\n\t\treturn pagination();\n\t};\n\treturn {\n\t\t...values,\n\t\tdoc,\n\t\tid: boundId,\n\t\tpage,\n\t\tpagination: boundPagination\n\t};\n};\n//#endregion\nexport { Secret, bindValues, environmentValues, schemaIndexLimits, table, values };\n\n//# sourceMappingURL=values.js.map","//#region src/runtime/schema.ts\nconst FunctionSchemaTypeId = Symbol.for(\"ignotum/runtime/schema/FunctionSchema\");\nconst FunctionEnvironmentTypeId = Symbol.for(\"ignotum/runtime/schema/FunctionEnvironment\");\nconst attachFunctionSchema = (schema) => (definition) => {\n\tObject.defineProperty(definition, FunctionSchemaTypeId, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: schema,\n\t\twritable: false\n\t});\n\treturn definition;\n};\nconst getFunctionSchema = (value) => value[FunctionSchemaTypeId];\nconst attachFunctionEnvironment = (environment) => (definition) => {\n\tObject.defineProperty(definition, FunctionEnvironmentTypeId, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: environment,\n\t\twritable: false\n\t});\n\treturn definition;\n};\nconst getFunctionEnvironment = (value) => value[FunctionEnvironmentTypeId];\n//#endregion\nexport { FunctionEnvironmentTypeId, FunctionSchemaTypeId, attachFunctionEnvironment, attachFunctionSchema, getFunctionEnvironment, getFunctionSchema };\n\n//# sourceMappingURL=schema.js.map","import { FileFormat, FileId, FileValue, FileValueTypeId, fileFormats, fileLimits, fileMimeTypes, isFileValue } from \"./file.js\";\nimport { Result } from \"../runtime/result.js\";\nimport { a as descriptorContainsFile, c as getValueDescriptor, d as evolveStoredFields, f as evolveStoredValue, i as descriptorAllowedInEnvironment, l as applyValueDefaults, n as ValueDescriptorTypeId, o as descriptorContainsSecret, r as attachValueDescriptor, s as descriptorFields, t as ValueDescriptor, u as evolutionRules } from \"../descriptor-CTY4mtwS.js\";\nimport { Secret, bindValues, environmentValues, schemaIndexLimits, table, values } from \"./values.js\";\nimport { attachFunctionEnvironment, attachFunctionSchema } from \"../runtime/schema.js\";\nimport { Effect, Predicate, Result as Result$1, Schema } from \"effect\";\n//#region src/schema/types.ts\nconst SchemaDefinitionTypeId = Symbol.for(\"ignotum/schema/SchemaDefinition\");\n//#endregion\n//#region src/schema/definition.ts\nconst defineSchema = (define) => {\n\tconst definitions = define({\n\t\ttable,\n\t\tvalues\n\t});\n\tif (Object.values(definitions).reduce((count, definition) => count + Object.keys(definition.indexes).length, 0) > schemaIndexLimits.indexesPerSchema) throw new Error(`Schemas cannot declare more than ${schemaIndexLimits.indexesPerSchema} indexes.`);\n\treturn {\n\t\t_tag: \"Schema\",\n\t\t[SchemaDefinitionTypeId]: definitions\n\t};\n};\nconst isDefinedSchema = (value) => value._tag === \"Schema\" && Predicate.isObject(value[SchemaDefinitionTypeId]);\n//#endregion\n//#region src/schema/environment.ts\nconst EnvironmentDefinitionTypeId = Symbol.for(\"ignotum/schema/EnvironmentDefinition\");\nconst EnvironmentDecoderTypeId = Symbol.for(\"ignotum/schema/EnvironmentDecoder\");\nconst environmentLimits = {\n\tbytes: 65536,\n\tvariables: 128\n};\nvar EnvironmentValueInvalid = class extends Schema.TaggedError()(\"EnvironmentValueInvalid\", {\n\tkey: Schema.optional(Schema.String),\n\tmessage: Schema.String\n}) {};\nconst environmentName = /^[A-Z_][A-Z0-9_]*$/;\nconst defineEnv = (define) => {\n\tconst fields = define({ values: environmentValues });\n\tif (Reflect.ownKeys(fields).length > environmentLimits.variables) throw new Error(`Environments cannot declare more than ${environmentLimits.variables} variables.`);\n\tfor (const name of Reflect.ownKeys(fields)) {\n\t\tif (!Predicate.isString(name)) throw new Error(\"Environment variable names must be strings.\");\n\t\tif (!environmentName.test(name)) throw new Error(`Environment variable '${name}' must match ${environmentName.source}.`);\n\t\tif (name.startsWith(\"IGNOTUM_\")) throw new Error(`Environment variable '${name}' uses the reserved IGNOTUM_ prefix.`);\n\t}\n\tconst descriptors = descriptorFields(fields);\n\tfor (const field of descriptors) if (!descriptorAllowedInEnvironment(field.value)) throw new Error(`Environment variable '${field.name}' uses an unsupported validator.`);\n\tconst environment = {\n\t\t_tag: \"Environment\",\n\t\tfields,\n\t\tdescriptors,\n\t\tschema: Schema.Struct(fields),\n\t\t[EnvironmentDefinitionTypeId]: fields\n\t};\n\tObject.defineProperty(environment, EnvironmentDecoderTypeId, {\n\t\tenumerable: false,\n\t\tvalue: (raw) => decodeEnvironment(environment, raw)\n\t});\n\treturn Object.freeze(environment);\n};\nconst emptyEnv = defineEnv(() => ({}));\nconst isDefinedEnv = (value) => value._tag === \"Environment\" && Predicate.isObject(value[EnvironmentDefinitionTypeId]);\nconst utf8ByteLength = (value) => {\n\tlet bytes = 0;\n\tfor (const character of value) {\n\t\tconst point = character.codePointAt(0) ?? 0;\n\t\tbytes += point <= 127 ? 1 : point <= 2047 ? 2 : point <= 65535 ? 3 : 4;\n\t}\n\treturn bytes;\n};\nconst invalidValue = (key) => EnvironmentValueInvalid.make({\n\tkey,\n\tmessage: `Environment variable '${key}' does not match its declaration.`\n});\nconst decodeEnvironment = Effect.fn(\"Environment.decode\")(function* (environment, raw) {\n\tconst declared = new Set(Object.keys(environment.fields));\n\tconst supplied = Object.keys(raw);\n\tif (supplied.length > environmentLimits.variables) return yield* EnvironmentValueInvalid.make({ message: `Environments cannot contain more than ${environmentLimits.variables} variables.` });\n\tconst rawJson = JSON.stringify(raw);\n\tif (utf8ByteLength(rawJson) > environmentLimits.bytes) return yield* EnvironmentValueInvalid.make({ message: `Environments cannot exceed ${environmentLimits.bytes} UTF-8 bytes.` });\n\tfor (const key of supplied) if (!declared.has(key)) return yield* EnvironmentValueInvalid.make({\n\t\tkey,\n\t\tmessage: `Environment variable '${key}' is not declared in server/env.ts.`\n\t});\n\tconst decoded = {};\n\tfor (const [key, field] of Object.entries(environment.fields)) {\n\t\tconst input = Object.hasOwn(raw, key) ? raw[key] : void 0;\n\t\tconst direct = yield* Effect.result(Schema.decodeUnknownEffect(field)(input));\n\t\tif (Result$1.isSuccess(direct)) {\n\t\t\tif (direct.success !== void 0) Reflect.set(decoded, key, direct.success);\n\t\t\tcontinue;\n\t\t}\n\t\tif (input === void 0) return yield* invalidValue(key);\n\t\tconst parsed = yield* Effect.result(Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.Unknown))(input));\n\t\tif (Result$1.isFailure(parsed)) return yield* invalidValue(key);\n\t\tconst fromJson = yield* Effect.result(Schema.decodeUnknownEffect(field)(parsed.success));\n\t\tif (Result$1.isFailure(fromJson)) return yield* invalidValue(key);\n\t\tif (fromJson.success !== void 0) Reflect.set(decoded, key, fromJson.success);\n\t}\n\treturn Object.freeze(decoded);\n});\nconst decodeDefinedEnvironment = (environment, raw) => environment[EnvironmentDecoderTypeId](raw);\n//#endregion\n//#region src/schema/server.ts\nconst makeFunctionBuilder = (schema, environment, kind) => {\n\tconst define = (definition) => attachFunctionEnvironment(environment)(attachFunctionSchema(schema)({\n\t\t_tag: kind,\n\t\t...definition\n\t}));\n\treturn define;\n};\nconst makeFunctionBuilders = (schema, environment) => ({\n\tmutation: makeFunctionBuilder(schema, environment, \"Mutation\"),\n\tquery: makeFunctionBuilder(schema, environment, \"Query\")\n});\nfunction bindSchema(schema, environment = emptyEnv) {\n\treturn {\n\t\tvalues: bindValues(schema[SchemaDefinitionTypeId]),\n\t\t...makeFunctionBuilders(schema, environment)\n\t};\n}\n//#endregion\nexport { EnvironmentDefinitionTypeId, EnvironmentValueInvalid, FileFormat, FileId, FileValue, FileValueTypeId, Result, SchemaDefinitionTypeId, Secret, ValueDescriptor, ValueDescriptorTypeId, applyValueDefaults, attachValueDescriptor, bindSchema, bindValues, decodeDefinedEnvironment, decodeEnvironment, defineEnv, defineSchema, descriptorAllowedInEnvironment, descriptorContainsFile, descriptorContainsSecret, descriptorFields, emptyEnv, environmentLimits, environmentValues, evolutionRules, evolveStoredFields, evolveStoredValue, fileFormats, fileLimits, fileMimeTypes, getValueDescriptor, isDefinedEnv, isDefinedSchema, isFileValue, schemaIndexLimits, table, values };\n\n//# sourceMappingURL=index.js.map"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { T as UserId, l as defineEnv$1, m as Secret$1, r as EnvironmentAuthoring, t as DefinedEnv, w as User } from "./types-DeCCyqLU-BIm7rU-0.js";
1
+ import { T as UserId, l as defineEnv$1, m as Secret$1, r as EnvironmentAuthoring, t as DefinedEnv, w as User } from "./types-DeCCyqLU-CHx7KFtx.js";
2
2
  import { c as Result$1, g as FileValue, h as FileMimeType, i as ErrorValue, m as FileMetadata, p as FileFormat } from "./id-7an3nxTu-DZJSM5xh.js";
3
- import { i as defineSchema$1, n as SchemaAuthoring, t as DefinedSchema } from "./index-D4seNHlX.js";
3
+ import { i as defineSchema$1, n as SchemaAuthoring, t as DefinedSchema } from "./index-Biaw5vdF.js";
4
4
  import "./result-BkziOG1L.js";
5
- import "./id-CBOt2kDo.js";
6
- //#region src/server/index.d.ts
5
+ import "./id-BI08JkmR.js";
6
+ //#region ../platform/dist/versions/1/guest/server/index.d.ts
7
+ //#region src/versions/1/guest/server/index.d.ts
7
8
  declare const Result: typeof Result$1;
8
9
  type Result<Success, Failure extends ErrorValue> = Result$1<Success, Failure>;
9
10
  declare const defineEnv: typeof defineEnv$1;
@@ -1,6 +1,6 @@
1
- import { _ as Result$1 } from "./id--1m0NuUL.js";
2
- import { a as defineSchema$1, i as defineEnv$1, l as Secret$1 } from "./schema-D1wOqiNH.js";
3
- //#region src/server/index.ts
1
+ import { h as Result$1 } from "./id-BrEnxY-r.js";
2
+ import { a as defineSchema$1, i as defineEnv$1, l as Secret$1 } from "./schema-BSjepoNF.js";
3
+ //#region ../platform/dist/versions/1/guest/server/index.js
4
4
  const Result = Result$1;
5
5
  const defineEnv = defineEnv$1;
6
6
  const defineSchema = defineSchema$1;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","names":["contractResult","defineContractEnv","defineContractSchema","contractSecret"],"sources":["../../src/server/index.ts"],"sourcesContent":["import { Result as contractResult } from \"@ignotum/contracts/runtime/result\";\nimport type { ErrorValue, Result as ContractResult } from \"@ignotum/contracts/runtime/result\";\nimport {\n defineEnv as defineContractEnv,\n defineSchema as defineContractSchema,\n Secret as contractSecret,\n} from \"@ignotum/contracts/schema\";\nimport type { Secret as ContractSecret } from \"@ignotum/contracts/schema\";\n\nexport const Result: typeof contractResult = contractResult;\nexport type Result<Success, Failure extends ErrorValue> = ContractResult<Success, Failure>;\nexport const defineEnv: typeof defineContractEnv = defineContractEnv;\nexport const defineSchema: typeof defineContractSchema = defineContractSchema;\nexport const Secret: typeof contractSecret = contractSecret;\nexport type Secret<Value> = ContractSecret<Value>;\nexport type {\n DefinedEnv,\n DefinedSchema,\n EnvironmentAuthoring,\n FileFormat,\n FileMetadata,\n FileMimeType,\n FileValue,\n SchemaAuthoring,\n} from \"@ignotum/contracts/schema\";\n\nexport type { User, UserId } from \"@ignotum/contracts/id\";\n"],"mappings":";;;AASA,MAAa,SAAgCA;AAE7C,MAAa,YAAsCC;AACnD,MAAa,eAA4CC;AACzD,MAAa,SAAgCC"}
1
+ {"version":3,"file":"server.js","names":[],"sources":["../../../platform/dist/versions/1/guest/server/index.js"],"sourcesContent":["import { Result as Result$1 } from \"@ignotum/contracts/runtime/result\";\nimport { Secret as Secret$1, defineEnv as defineEnv$1, defineSchema as defineSchema$1 } from \"@ignotum/contracts/schema\";\n//#region src/versions/1/guest/server/index.ts\nconst Result = Result$1;\nconst defineEnv = defineEnv$1;\nconst defineSchema = defineSchema$1;\nconst Secret = Secret$1;\n//#endregion\nexport { Result, Secret, defineEnv, defineSchema };\n\n//# sourceMappingURL=index.js.map"],"mappings":";;;AAGA,MAAM,SAAS;AACf,MAAM,YAAY;AAClB,MAAM,eAAe;AACrB,MAAM,SAAS"}
@@ -1,18 +1,6 @@
1
- import { G as InvocationId, H as AppId, X as defineId, Y as VersionId, k as FileId, o as SessionState, q as SubscriptionId } from "./id--1m0NuUL.js";
1
+ import { d as VersionId, l as SubscriptionId, o as InvocationId, r as AppId } from "./artifact-BB5qzoa6.js";
2
+ import { G as ActivationGeneration, K as AppStateRevision, M as FileId, o as SessionState } from "./id-BrEnxY-r.js";
2
3
  import { Schema } from "effect";
3
- //#region ../contracts/dist/runtime/identity.js
4
- const InvocationKey = Schema.String.pipe(Schema.brand("ignotum/hosted/InvocationKey"));
5
- const ActivationGeneration = Schema.Natural.pipe(Schema.brand("ignotum/hosted/ActivationGeneration"));
6
- const AppStateRevision = Schema.Natural.pipe(Schema.brand("ignotum/hosted/AppStateRevision"));
7
- const VersionNumber = Schema.Int.check(Schema.isGreaterThan(0)).pipe(Schema.brand("ignotum/hosted/VersionNumber"));
8
- const ClientApiVersion = Schema.Int.check(Schema.isGreaterThan(0)).pipe(Schema.brand("ignotum/platform/ClientApiVersion"));
9
- const ServerApiVersion = Schema.Int.check(Schema.isGreaterThan(0)).pipe(Schema.brand("ignotum/platform/ServerApiVersion"));
10
- const CapabilityId = Schema.String.check(Schema.isTrimmed(), Schema.isPattern(/^[a-z][a-z0-9]*(?:[./-][a-z0-9]+)*$/), Schema.isMaxLength(128)).pipe(Schema.brand("ignotum/platform/CapabilityId"));
11
- const PlatformReleaseId = defineId("rel", "ignotum/platform/PlatformReleaseId");
12
- const PlatformGeneration = Schema.Natural.pipe(Schema.brand("ignotum/platform/PlatformGeneration"));
13
- const ProtocolVersion = Schema.Int.check(Schema.isGreaterThan(0)).pipe(Schema.brand("ignotum/platform/ProtocolVersion"));
14
- const DataHistoryId = defineId("hist", "ignotum/hosted/DataHistoryId");
15
- //#endregion
16
4
  //#region ../contracts/dist/runtime/sync.js
17
5
  const FunctionNamePart = Schema.String.check(Schema.isPattern(/^[A-Za-z_$][A-Za-z0-9_$]*$/));
18
6
  Schema.TemplateLiteralParser([
@@ -185,6 +173,6 @@ const ServerMessage = Schema.Union([
185
173
  Schema.fromJsonString(ClientMessage);
186
174
  Schema.fromJsonString(ServerMessage);
187
175
  //#endregion
188
- export { ActivationGeneration as a, ClientApiVersion as c, PlatformGeneration as d, PlatformReleaseId as f, VersionNumber as h, WireSuccess as i, DataHistoryId as l, ServerApiVersion as m, WireFailure as n, AppStateRevision as o, ProtocolVersion as p, WireResult as r, CapabilityId as s, FunctionAddress as t, InvocationKey as u };
176
+ export { WireSuccess as i, WireFailure as n, WireResult as r, FunctionAddress as t };
189
177
 
190
- //# sourceMappingURL=sync-DzUwA8W9.js.map
178
+ //# sourceMappingURL=sync-BwgS19Xy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-BwgS19Xy.js","names":[],"sources":["../../../contracts/dist/runtime/sync.js"],"sourcesContent":["import { AppId, InvocationId, SubscriptionId, VersionId } from \"./id.js\";\nimport { ActivationGeneration, AppStateRevision } from \"./identity.js\";\nimport { FileId } from \"../schema/file.js\";\nimport { TransportValueSchema, datePathsOf, datePathsOfObject, decodeTransportObject, decodeTransportValue, encodeTransportObject, encodeTransportValue } from \"./value.js\";\nimport { SessionState } from \"../id.js\";\nimport { Schema } from \"effect\";\n//#region src/runtime/sync.ts\nconst FunctionNamePart = Schema.String.check(Schema.isPattern(/^[A-Za-z_$][A-Za-z0-9_$]*$/));\nconst ApiFunctionAddressParts = Schema.TemplateLiteralParser([\n\t\"api.\",\n\tFunctionNamePart,\n\t\".\",\n\tFunctionNamePart\n]);\nconst FunctionAddress = Schema.TemplateLiteral([\n\t\"api.\",\n\tFunctionNamePart,\n\t\".\",\n\tFunctionNamePart\n]);\nconst apiFunctionParts = (address) => {\n\tconst [, moduleName, , functionName] = Schema.decodeSync(ApiFunctionAddressParts)(address);\n\treturn {\n\t\tfunctionName,\n\t\tmoduleName\n\t};\n};\nconst Subscribe = Schema.Struct({\n\ttype: Schema.Literal(\"Subscribe\"),\n\tid: SubscriptionId,\n\tfunction: FunctionAddress,\n\targs: Schema.Json\n});\nconst Unsubscribe = Schema.Struct({\n\ttype: Schema.Literal(\"Unsubscribe\"),\n\tid: SubscriptionId\n});\nconst Invoke = Schema.Struct({\n\ttype: Schema.Literal(\"Invoke\"),\n\tid: InvocationId,\n\tkind: Schema.Literal(\"Mutation\"),\n\tfunction: FunctionAddress,\n\targs: Schema.Json\n});\nconst Prepare = Schema.Struct({\n\ttype: Schema.Literal(\"Prepare\"),\n\tid: InvocationId,\n\tkind: Schema.Literal(\"Mutation\"),\n\tfunction: FunctionAddress,\n\targs: Schema.Json,\n\tfiles: Schema.Array(FileId)\n});\nconst ClientMessage = Schema.Union([\n\tSubscribe,\n\tUnsubscribe,\n\tPrepare,\n\tInvoke\n]);\nconst SubscriptionOperation = Schema.Struct({\n\ttype: Schema.Literal(\"Subscription\"),\n\tid: SubscriptionId\n});\nconst InvocationOperation = Schema.Struct({\n\ttype: Schema.Literal(\"Invocation\"),\n\tid: InvocationId\n});\nconst Operation = Schema.Union([SubscriptionOperation, InvocationOperation]);\nconst DatePath = Schema.Array(Schema.Union([Schema.String, Schema.Natural]));\nconst DatePaths = Schema.Array(DatePath);\nconst WireSuccess = Schema.Struct({\n\ttype: Schema.Literal(\"Success\"),\n\tvalue: Schema.optional(Schema.Json),\n\tdates: Schema.optional(DatePaths)\n});\nconst WireFailure = Schema.Struct({\n\ttype: Schema.Literal(\"Failure\"),\n\terror: Schema.Json,\n\tdates: Schema.optional(DatePaths)\n});\nconst WireResult = Schema.Union([WireSuccess, WireFailure]);\nconst SyncHandshake = Schema.Struct({\n\tsession: Schema.optional(SessionState),\n\tserverTime: Schema.optional(Schema.Finite),\n\ttype: Schema.Literal(\"Handshake\"),\n\tappId: AppId,\n\tversionId: VersionId,\n\tgeneration: ActivationGeneration\n});\nconst Snapshot = Schema.Struct({\n\tidentity: Schema.optional(Schema.Struct({\n\t\tsessionEpoch: Schema.String,\n\t\tviewRevision: Schema.Natural,\n\t\tdependsOnId: Schema.Boolean\n\t})),\n\ttype: Schema.Literal(\"Snapshot\"),\n\tid: SubscriptionId,\n\tresult: WireResult,\n\trevision: AppStateRevision,\n\tfiles: Schema.optional(Schema.Array(Schema.Struct({\n\t\tid: FileId,\n\t\turl: Schema.String\n\t})))\n});\nconst Preparation = Schema.Struct({\n\tsessionEpoch: Schema.optional(Schema.String),\n\ttype: Schema.Literal(\"Preparation\"),\n\tid: InvocationId,\n\tkind: Schema.Literal(\"Mutation\"),\n\tuploads: Schema.Array(Schema.Struct({\n\t\tid: FileId,\n\t\turl: Schema.optional(Schema.String)\n\t}))\n});\nconst SyncResultSuccess = Schema.Struct({\n\tsessionEpoch: Schema.optional(Schema.String),\n\ttype: Schema.Literal(\"Result\"),\n\tid: InvocationId,\n\tresult: WireSuccess,\n\tcommittedRevision: AppStateRevision\n});\nconst SyncResultFailure = Schema.Struct({\n\tsessionEpoch: Schema.optional(Schema.String),\n\ttype: Schema.Literal(\"Result\"),\n\tid: InvocationId,\n\tresult: WireFailure\n});\nconst ErrorCode = Schema.Literals([\n\t\"SessionChanged\",\n\t\"SessionExpired\",\n\t\"DuplicateOperationId\",\n\t\"FunctionUnavailable\",\n\t\"InvalidArguments\",\n\t\"InvalidMessage\",\n\t\"InvocationIdConflict\",\n\t\"ResourceLimitExceeded\",\n\t\"UnknownFunction\",\n\t\"WrongFunctionKind\"\n]);\nconst SyncError = Schema.Struct({\n\tsessionEpoch: Schema.optional(Schema.String),\n\ttype: Schema.Literal(\"Error\"),\n\toperation: Schema.optional(Operation),\n\tcode: ErrorCode,\n\tmessage: Schema.String\n});\nconst Version = Schema.Struct({\n\ttype: Schema.Literal(\"Version\"),\n\tversionId: VersionId,\n\tgeneration: ActivationGeneration\n});\nconst VersionCloseCode = 4409;\nconst Session = Schema.Union([Schema.Struct({\n\ttype: Schema.Literal(\"Session\"),\n\tevent: Schema.Literal(\"Updated\"),\n\tserverTime: Schema.Finite,\n\tsession: SessionState\n}), Schema.Struct({\n\ttype: Schema.Literal(\"Session\"),\n\tevent: Schema.Literals([\n\t\t\"SignedOut\",\n\t\t\"Revoked\",\n\t\t\"Expired\",\n\t\t\"Unavailable\",\n\t\t\"Replaced\"\n\t]),\n\tsessionEpoch: Schema.String\n})]);\nconst Invalidate = Schema.Struct({\n\ttype: Schema.Literal(\"Invalidate\"),\n\tsessionEpoch: Schema.String,\n\tids: Schema.Array(SubscriptionId)\n});\nconst ServerMessage = Schema.Union([\n\tSession,\n\tInvalidate,\n\tSyncHandshake,\n\tSnapshot,\n\tPreparation,\n\tSyncResultSuccess,\n\tSyncResultFailure,\n\tSyncError,\n\tVersion\n]);\nconst ClientMessageJson = Schema.fromJsonString(ClientMessage);\nconst ServerMessageJson = Schema.fromJsonString(ServerMessage);\n//#endregion\nexport { ClientMessage, ClientMessageJson, DatePath, ErrorCode, FunctionAddress, FunctionNamePart, Invalidate, InvocationId, Operation, ServerMessage, ServerMessageJson, Session, SubscriptionId, SyncHandshake, TransportValueSchema, Version, VersionCloseCode, WireFailure, WireResult, WireSuccess, apiFunctionParts, datePathsOf, datePathsOfObject, decodeTransportObject, decodeTransportValue, encodeTransportObject, encodeTransportValue };\n\n//# sourceMappingURL=sync.js.map"],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import "./id-7an3nxTu-DZJSM5xh.js";
2
- import "./identity-QjtJRxBD.js";
3
2
  import { Schema } from "effect";
4
3
  //#region ../contracts/dist/runtime/sync.d.ts
5
4
  declare const FunctionAddress: Schema.TemplateLiteral<readonly ["api.", Schema.String, ".", Schema.String]>;
6
5
  type FunctionAddress = typeof FunctionAddress.Type;
7
6
  //#endregion
8
7
  export { FunctionAddress as t };
9
- //# sourceMappingURL=sync-D-GK2sv9.d.ts.map
8
+ //# sourceMappingURL=sync-By2hX5ev.d.ts.map
@@ -81,7 +81,7 @@ type ValueFields = {
81
81
  readonly [fieldName: PropertyKey]: DescribedValue;
82
82
  };
83
83
  //#endregion
84
- //#region ../contracts/dist/id-W_I1iiJQ.d.ts
84
+ //#region ../contracts/dist/id-DIZz7NOX.d.ts
85
85
  declare const UserId: Schema.brand<Schema.String, "ignotum/id/UserId">;
86
86
  type UserId = typeof UserId.Type;
87
87
  declare const User: Schema.Struct<{
@@ -338,4 +338,4 @@ type DocumentFields<TableName extends string, Table extends TableDefinitionLike>
338
338
  type Document<Definition extends TablesLike, TableName extends TableNameOf<Definition>> = { readonly [FieldName in keyof DocumentFields<TableName, Definition[TableName]>]: DocumentFields<TableName, Definition[TableName]>[FieldName]; };
339
339
  //#endregion
340
340
  export { SessionOutcome as C, ProfileField as S, UserId as T, table as _, Id as a, PaginationPage as b, SchemaDefinitionTypeId as c, BoundValues as d, IdTargetsOf as f, UnresolvedReferencesTypeId as g, TableDefinition as h, EnvironmentType as i, defineEnv as l, Secret as m, Document as n, SchemaDefinitionContract as o, IndexDefinitions as p, EnvironmentAuthoring as r, SchemaDefinitionOf as s, DefinedEnv as t, emptyEnv as u, values as v, User as w, IdContext as x, PaginationOptions as y };
341
- //# sourceMappingURL=types-DeCCyqLU-BIm7rU-0.d.ts.map
341
+ //# sourceMappingURL=types-DeCCyqLU-CHx7KFtx.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ignotum",
3
- "version": "0.0.16",
3
+ "version": "0.0.18",
4
4
  "description": "Ignotum is an opinionated TypeScript application cloud.",
5
5
  "author": "Johannes Schießl",
6
6
  "repository": {
@@ -13,6 +13,7 @@
13
13
  },
14
14
  "files": [
15
15
  "dist/cli",
16
+ "dist/platform",
16
17
  "dist/runtime",
17
18
  "src"
18
19
  ],
@@ -79,10 +80,14 @@
79
80
  },
80
81
  "dependencies": {
81
82
  "@effect/platform-browser": "4.0.0-rc.111",
83
+ "@jridgewell/remapping": "2.3.5",
84
+ "@prefresh/core": "1.5.10",
85
+ "@prefresh/utils": "1.2.1",
82
86
  "@prefresh/vite": "3.0.1",
83
87
  "@tailwindcss/vite": "4.3.3",
84
88
  "better-auth": "1.6.25",
85
89
  "effect": "4.0.0-rc.111",
90
+ "magic-string": "0.30.21",
86
91
  "nanoid": "6.0.1",
87
92
  "open": "11.0.0",
88
93
  "oxc-parser": "0.121.0",
@@ -106,6 +111,7 @@
106
111
  "quickjs-emscripten": "0.32.0",
107
112
  "redis": "6.2.1",
108
113
  "@ignotum/contracts": "1.0.0",
114
+ "@ignotum/platform": "1.0.0",
109
115
  "@ignotum/runtime": "1.0.0",
110
116
  "@ignotum/shared": "1.0.0",
111
117
  "@ignotum/versions": "1.0.0"
@@ -1,4 +1,5 @@
1
1
  import authentication from "../../../../docs/user/authentication.md?raw";
2
+ import applicationCloud from "../../../../docs/user/application-cloud.md?raw";
2
3
  import profileSharing from "../../../../docs/user/profile-sharing.md?raw";
3
4
  import localAuthentication from "../../../../docs/user/local-authentication.md?raw";
4
5
  import agents from "../../../../docs/agent/AGENTS.md?raw";
@@ -44,6 +45,7 @@ export interface AppFile {
44
45
  }
45
46
 
46
47
  const references = [
48
+ ["application-cloud.md", applicationCloud],
47
49
  ["authentication.md", authentication],
48
50
  ["profile-sharing.md", profileSharing],
49
51
  ["local-authentication.md", localAuthentication],