@ankhorage/contracts 26.2.0 → 26.2.2

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 (266) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/dist/appManifest/bindings.js +1 -1
  4. package/dist/appManifest/bindings.js.map +1 -1
  5. package/dist/appManifest/constants.js.map +1 -1
  6. package/dist/appManifest/dataSources.js +2 -2
  7. package/dist/appManifest/dataSources.js.map +1 -1
  8. package/dist/appManifest/isAppManifest.d.ts +1 -1
  9. package/dist/appManifest/isAppManifest.d.ts.map +1 -1
  10. package/dist/appManifest/isAppManifest.js +8 -8
  11. package/dist/appManifest/isAppManifest.js.map +1 -1
  12. package/dist/appManifest/isAppStateSpec.d.ts +1 -1
  13. package/dist/appManifest/isAppStateSpec.d.ts.map +1 -1
  14. package/dist/appManifest/isAppStateSpec.js.map +1 -1
  15. package/dist/appManifest/isManifestValue.js +1 -1
  16. package/dist/appManifest/isManifestValue.js.map +1 -1
  17. package/dist/appManifest/media.d.ts +1 -1
  18. package/dist/appManifest/media.d.ts.map +1 -1
  19. package/dist/appManifest/media.js +1 -1
  20. package/dist/appManifest/media.js.map +1 -1
  21. package/dist/appManifest/navigator.d.ts +1 -1
  22. package/dist/appManifest/navigator.d.ts.map +1 -1
  23. package/dist/appManifest/navigator.js +3 -3
  24. package/dist/appManifest/navigator.js.map +1 -1
  25. package/dist/appManifest/navigatorOptions.js +1 -1
  26. package/dist/appManifest/navigatorOptions.js.map +1 -1
  27. package/dist/appManifest/parseAppManifest.d.ts +1 -1
  28. package/dist/appManifest/parseAppManifest.d.ts.map +1 -1
  29. package/dist/appManifest/parseAppManifest.js +1 -1
  30. package/dist/appManifest/parseAppManifest.js.map +1 -1
  31. package/dist/appManifest/screens.d.ts +2 -2
  32. package/dist/appManifest/screens.d.ts.map +1 -1
  33. package/dist/appManifest/screens.js +6 -6
  34. package/dist/appManifest/screens.js.map +1 -1
  35. package/dist/appManifest.d.ts +4 -4
  36. package/dist/appManifest.d.ts.map +1 -1
  37. package/dist/appManifest.js +2 -2
  38. package/dist/appManifest.js.map +1 -1
  39. package/dist/auth.d.ts +5 -5
  40. package/dist/auth.d.ts.map +1 -1
  41. package/dist/auth.js.map +1 -1
  42. package/dist/bindings.d.ts +3 -3
  43. package/dist/bindings.d.ts.map +1 -1
  44. package/dist/bindings.js.map +1 -1
  45. package/dist/cli/index.d.ts +1 -1
  46. package/dist/cli/index.d.ts.map +1 -1
  47. package/dist/cli/index.js.map +1 -1
  48. package/dist/data/apis.d.ts +6 -6
  49. package/dist/data/apis.d.ts.map +1 -1
  50. package/dist/data/apis.js.map +1 -1
  51. package/dist/data/diagnostics.d.ts +1 -1
  52. package/dist/data/diagnostics.d.ts.map +1 -1
  53. package/dist/data/diagnostics.js.map +1 -1
  54. package/dist/data/endpoints.d.ts +5 -5
  55. package/dist/data/endpoints.d.ts.map +1 -1
  56. package/dist/data/endpoints.js.map +1 -1
  57. package/dist/data/index.d.ts +10 -10
  58. package/dist/data/index.d.ts.map +1 -1
  59. package/dist/data/index.js +10 -10
  60. package/dist/data/index.js.map +1 -1
  61. package/dist/data/isApiDefinitionRegistry.d.ts +1 -1
  62. package/dist/data/isApiDefinitionRegistry.d.ts.map +1 -1
  63. package/dist/data/isApiDefinitionRegistry.js +2 -2
  64. package/dist/data/isApiDefinitionRegistry.js.map +1 -1
  65. package/dist/data/operations.d.ts +5 -5
  66. package/dist/data/operations.d.ts.map +1 -1
  67. package/dist/data/operations.js.map +1 -1
  68. package/dist/data/refs.d.ts +2 -2
  69. package/dist/data/refs.d.ts.map +1 -1
  70. package/dist/data/refs.js.map +1 -1
  71. package/dist/data/schemas.d.ts +3 -3
  72. package/dist/data/schemas.d.ts.map +1 -1
  73. package/dist/data/schemas.js.map +1 -1
  74. package/dist/data/sources.d.ts +6 -6
  75. package/dist/data/sources.d.ts.map +1 -1
  76. package/dist/data/sources.js.map +1 -1
  77. package/dist/data/values.d.ts +1 -1
  78. package/dist/data/values.d.ts.map +1 -1
  79. package/dist/data/values.js.map +1 -1
  80. package/dist/icon.js +1 -1
  81. package/dist/icon.js.map +1 -1
  82. package/dist/index.d.ts +24 -24
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +24 -24
  85. package/dist/index.js.map +1 -1
  86. package/dist/infra/isInfraAdapterDescriptor.d.ts +1 -1
  87. package/dist/infra/isInfraAdapterDescriptor.d.ts.map +1 -1
  88. package/dist/infra/isInfraAdapterDescriptor.js +2 -2
  89. package/dist/infra/isInfraAdapterDescriptor.js.map +1 -1
  90. package/dist/infra/isInfraAuthSpec.d.ts +1 -1
  91. package/dist/infra/isInfraAuthSpec.d.ts.map +1 -1
  92. package/dist/infra/isInfraAuthSpec.js +4 -4
  93. package/dist/infra/isInfraAuthSpec.js.map +1 -1
  94. package/dist/infra/isInfraCredentialRef.js +1 -1
  95. package/dist/infra/isInfraCredentialRef.js.map +1 -1
  96. package/dist/infra/isInfraDeploymentSpec.d.ts +1 -1
  97. package/dist/infra/isInfraDeploymentSpec.d.ts.map +1 -1
  98. package/dist/infra/isInfraDeploymentSpec.js +4 -4
  99. package/dist/infra/isInfraDeploymentSpec.js.map +1 -1
  100. package/dist/infra/isInfraEnvironmentSpec.d.ts +1 -1
  101. package/dist/infra/isInfraEnvironmentSpec.d.ts.map +1 -1
  102. package/dist/infra/isInfraEnvironmentSpec.js +8 -8
  103. package/dist/infra/isInfraEnvironmentSpec.js.map +1 -1
  104. package/dist/infra/isInfraManifest.d.ts +1 -1
  105. package/dist/infra/isInfraManifest.d.ts.map +1 -1
  106. package/dist/infra/isInfraManifest.js +5 -5
  107. package/dist/infra/isInfraManifest.js.map +1 -1
  108. package/dist/infra/isInfraWorkloadHealth.js +2 -2
  109. package/dist/infra/isInfraWorkloadHealth.js.map +1 -1
  110. package/dist/infra/isInfraWorkloadSpec.d.ts +1 -1
  111. package/dist/infra/isInfraWorkloadSpec.d.ts.map +1 -1
  112. package/dist/infra/isInfraWorkloadSpec.js +5 -5
  113. package/dist/infra/isInfraWorkloadSpec.js.map +1 -1
  114. package/dist/infra/isInfraWorkloadValue.js +3 -3
  115. package/dist/infra/isInfraWorkloadValue.js.map +1 -1
  116. package/dist/infra/parseInfraManifest.d.ts +2 -2
  117. package/dist/infra/parseInfraManifest.d.ts.map +1 -1
  118. package/dist/infra/parseInfraManifest.js +1 -1
  119. package/dist/infra/parseInfraManifest.js.map +1 -1
  120. package/dist/infra/validateInfraAdapterSelection.d.ts +3 -3
  121. package/dist/infra/validateInfraAdapterSelection.d.ts.map +1 -1
  122. package/dist/infra/validateInfraAdapterSelection.js +2 -2
  123. package/dist/infra/validateInfraAdapterSelection.js.map +1 -1
  124. package/dist/infra.d.ts +15 -15
  125. package/dist/infra.d.ts.map +1 -1
  126. package/dist/infra.js +9 -9
  127. package/dist/infra.js.map +1 -1
  128. package/dist/infraCatalog.d.ts +8 -8
  129. package/dist/infraCatalog.js +8 -8
  130. package/dist/infraCatalog.js.map +1 -1
  131. package/dist/media.d.ts +1 -1
  132. package/dist/media.d.ts.map +1 -1
  133. package/dist/media.js.map +1 -1
  134. package/dist/navigator/catalog.d.ts +3 -3
  135. package/dist/navigator/catalog.d.ts.map +1 -1
  136. package/dist/navigator/catalog.js.map +1 -1
  137. package/dist/navigator/extensions.d.ts +2 -2
  138. package/dist/navigator/extensions.d.ts.map +1 -1
  139. package/dist/navigator/extensions.js.map +1 -1
  140. package/dist/navigator/generation.d.ts +1 -1
  141. package/dist/navigator/generation.d.ts.map +1 -1
  142. package/dist/navigator/generation.js.map +1 -1
  143. package/dist/navigator/planning.d.ts +3 -3
  144. package/dist/navigator/planning.d.ts.map +1 -1
  145. package/dist/navigator/planning.js.map +1 -1
  146. package/dist/navigator.d.ts +7 -7
  147. package/dist/navigator.d.ts.map +1 -1
  148. package/dist/navigator.js +1 -1
  149. package/dist/navigator.js.map +1 -1
  150. package/dist/requirements.d.ts +1 -1
  151. package/dist/requirements.d.ts.map +1 -1
  152. package/dist/requirements.js.map +1 -1
  153. package/dist/runtimeCallbacks.d.ts +1 -1
  154. package/dist/runtimeCallbacks.d.ts.map +1 -1
  155. package/dist/runtimeCallbacks.js.map +1 -1
  156. package/dist/state.d.ts +1 -1
  157. package/dist/state.d.ts.map +1 -1
  158. package/dist/state.js.map +1 -1
  159. package/dist/structure/generated.d.ts +2 -2
  160. package/dist/structure/generated.js +2 -2
  161. package/dist/structure/generated.js.map +1 -1
  162. package/dist/structure/index.d.ts +1 -1
  163. package/dist/structure/index.d.ts.map +1 -1
  164. package/dist/structure/index.js.map +1 -1
  165. package/dist/structure/isStructureDescriptor.d.ts +1 -1
  166. package/dist/structure/isStructureDescriptor.d.ts.map +1 -1
  167. package/dist/structure/isStructureDescriptor.js.map +1 -1
  168. package/dist/structure/types.d.ts +1 -1
  169. package/dist/structure/types.d.ts.map +1 -1
  170. package/dist/structure/types.js.map +1 -1
  171. package/dist/theme.d.ts +1 -1
  172. package/dist/theme.d.ts.map +1 -1
  173. package/dist/theme.js.map +1 -1
  174. package/dist/types/appManifest.d.ts +1 -1
  175. package/dist/types/appManifest.d.ts.map +1 -1
  176. package/dist/types/appManifest.js.map +1 -1
  177. package/dist/types/infraAdapters.d.ts +7 -7
  178. package/dist/types/infraAdapters.d.ts.map +1 -1
  179. package/dist/types/infraAdapters.js.map +1 -1
  180. package/dist/types/infraLifecycle.d.ts +4 -4
  181. package/dist/types/infraLifecycle.d.ts.map +1 -1
  182. package/dist/types/infraLifecycle.js.map +1 -1
  183. package/dist/types/infraManifest.d.ts +8 -8
  184. package/dist/types/infraManifest.d.ts.map +1 -1
  185. package/dist/types/infraManifest.js.map +1 -1
  186. package/dist/types/infraSecrets.d.ts +1 -1
  187. package/dist/types/infraSecrets.d.ts.map +1 -1
  188. package/dist/types/infraSecrets.js.map +1 -1
  189. package/dist/types/infraTargets.d.ts +1 -1
  190. package/dist/types/infraTargets.d.ts.map +1 -1
  191. package/dist/types/infraTargets.js.map +1 -1
  192. package/dist/types/infraWorkload.d.ts +2 -2
  193. package/dist/types/infraWorkload.d.ts.map +1 -1
  194. package/dist/types/infraWorkload.js.map +1 -1
  195. package/dist/types.d.ts +13 -13
  196. package/dist/types.d.ts.map +1 -1
  197. package/dist/types.js.map +1 -1
  198. package/dist/ui.d.ts +2 -2
  199. package/dist/ui.d.ts.map +1 -1
  200. package/dist/ui.js.map +1 -1
  201. package/package.json +4 -4
  202. package/src/appManifest/bindings.ts +1 -1
  203. package/src/appManifest/constants.ts +1 -1
  204. package/src/appManifest/dataSources.ts +2 -2
  205. package/src/appManifest/isAppManifest.ts +9 -9
  206. package/src/appManifest/isAppStateSpec.ts +1 -1
  207. package/src/appManifest/isManifestValue.ts +1 -1
  208. package/src/appManifest/media.ts +1 -1
  209. package/src/appManifest/navigator.ts +3 -3
  210. package/src/appManifest/navigatorOptions.ts +1 -1
  211. package/src/appManifest/parseAppManifest.ts +2 -2
  212. package/src/appManifest/screens.ts +6 -6
  213. package/src/appManifest.ts +4 -4
  214. package/src/auth.ts +6 -6
  215. package/src/bindings.ts +3 -3
  216. package/src/cli/index.ts +1 -1
  217. package/src/data/apis.ts +6 -6
  218. package/src/data/diagnostics.ts +1 -1
  219. package/src/data/endpoints.ts +5 -5
  220. package/src/data/index.ts +10 -10
  221. package/src/data/isApiDefinitionRegistry.ts +3 -3
  222. package/src/data/operations.ts +5 -5
  223. package/src/data/refs.ts +2 -2
  224. package/src/data/schemas.ts +3 -3
  225. package/src/data/sources.ts +6 -6
  226. package/src/data/values.ts +1 -1
  227. package/src/icon.ts +1 -1
  228. package/src/index.ts +24 -24
  229. package/src/infra/isInfraAdapterDescriptor.ts +3 -3
  230. package/src/infra/isInfraAuthSpec.ts +6 -6
  231. package/src/infra/isInfraCredentialRef.ts +1 -1
  232. package/src/infra/isInfraDeploymentSpec.ts +6 -6
  233. package/src/infra/isInfraEnvironmentSpec.ts +10 -10
  234. package/src/infra/isInfraManifest.ts +7 -7
  235. package/src/infra/isInfraWorkloadHealth.ts +2 -2
  236. package/src/infra/isInfraWorkloadSpec.ts +7 -7
  237. package/src/infra/isInfraWorkloadValue.ts +4 -4
  238. package/src/infra/parseInfraManifest.ts +3 -3
  239. package/src/infra/validateInfraAdapterSelection.ts +5 -5
  240. package/src/infra.test.ts +1 -1
  241. package/src/infra.ts +15 -15
  242. package/src/infraCatalog.ts +8 -8
  243. package/src/infraPackedConsumer.test.ts +102 -0
  244. package/src/media.ts +1 -1
  245. package/src/navigator/catalog.ts +3 -3
  246. package/src/navigator/extensions.ts +2 -2
  247. package/src/navigator/generation.ts +1 -1
  248. package/src/navigator/planning.ts +3 -3
  249. package/src/navigator.ts +7 -7
  250. package/src/requirements.ts +1 -1
  251. package/src/runtimeCallbacks.ts +1 -1
  252. package/src/state.ts +1 -1
  253. package/src/structure/generated.ts +2 -2
  254. package/src/structure/index.ts +1 -1
  255. package/src/structure/isStructureDescriptor.ts +1 -1
  256. package/src/structure/types.ts +1 -1
  257. package/src/theme.ts +1 -1
  258. package/src/types/appManifest.ts +1 -1
  259. package/src/types/infraAdapters.ts +7 -7
  260. package/src/types/infraLifecycle.ts +4 -4
  261. package/src/types/infraManifest.ts +8 -8
  262. package/src/types/infraSecrets.ts +1 -1
  263. package/src/types/infraTargets.ts +1 -1
  264. package/src/types/infraWorkload.ts +2 -2
  265. package/src/types.ts +13 -13
  266. package/src/ui.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structure/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC","sourcesContent":["export type { EntityRegistry, SerializableSet, ValueMap } from '../collections';\nexport {\n STRUCTURE_DESCRIPTOR,\n STRUCTURE_DESCRIPTOR_COMPILER_VERSION,\n STRUCTURE_DESCRIPTOR_FINGERPRINT,\n} from './generated.js';\nexport { isStructureDescriptor } from './isStructureDescriptor.js';\nexport { isStructureDescriptorDocument } from './isStructureDescriptorDocument.js';\nexport type {\n StructureDescriptor,\n StructureDescriptorDefinition,\n StructureDescriptorDocument,\n StructureDescriptorId,\n StructureDescriptorRegistry,\n StructureEntityRegistryDescriptor,\n StructureEnumDescriptor,\n StructureLiteralValue,\n StructureObjectDescriptor,\n StructureObjectField,\n StructureOrderedListDescriptor,\n StructureReferenceDescriptor,\n StructureScalarDescriptor,\n StructureScalarType,\n StructureSetDescriptor,\n StructureUnionDescriptor,\n StructureValueMapDescriptor,\n} from './types.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structure/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC","sourcesContent":["export type { EntityRegistry, SerializableSet, ValueMap } from '../collections.js';\nexport {\n STRUCTURE_DESCRIPTOR,\n STRUCTURE_DESCRIPTOR_COMPILER_VERSION,\n STRUCTURE_DESCRIPTOR_FINGERPRINT,\n} from './generated.js';\nexport { isStructureDescriptor } from './isStructureDescriptor.js';\nexport { isStructureDescriptorDocument } from './isStructureDescriptorDocument.js';\nexport type {\n StructureDescriptor,\n StructureDescriptorDefinition,\n StructureDescriptorDocument,\n StructureDescriptorId,\n StructureDescriptorRegistry,\n StructureEntityRegistryDescriptor,\n StructureEnumDescriptor,\n StructureLiteralValue,\n StructureObjectDescriptor,\n StructureObjectField,\n StructureOrderedListDescriptor,\n StructureReferenceDescriptor,\n StructureScalarDescriptor,\n StructureScalarType,\n StructureSetDescriptor,\n StructureUnionDescriptor,\n StructureValueMapDescriptor,\n} from './types.js';\n"]}
@@ -1,4 +1,4 @@
1
- import type { StructureDescriptor } from './types';
1
+ import type { StructureDescriptor } from './types.js';
2
2
  /*** Validate one standalone structural descriptor without resolving external/local references. */
3
3
  export declare function isStructureDescriptor(value: unknown): value is StructureDescriptor;
4
4
  //# sourceMappingURL=isStructureDescriptor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isStructureDescriptor.d.ts","sourceRoot":"","sources":["../../src/structure/isStructureDescriptor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAA8C,MAAM,SAAS,CAAC;AAE/F,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF"}
1
+ {"version":3,"file":"isStructureDescriptor.d.ts","sourceRoot":"","sources":["../../src/structure/isStructureDescriptor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAA8C,MAAM,YAAY,CAAC;AAElG,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF"}
@@ -1 +1 @@
1
- {"version":3,"file":"isStructureDescriptor.js","sourceRoot":"","sources":["../../src/structure/isStructureDescriptor.ts"],"names":[],"mappings":"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","sourcesContent":["import { hasOnlyKeys, isRecord } from '@ankhorage/utility/object';\nimport { isNonEmptyString } from '@ankhorage/utility/string';\n\nimport type { StructureDescriptor, StructureLiteralValue, StructureScalarType } from './types';\n\n/*** Validate one standalone structural descriptor without resolving external/local references. */\nexport function isStructureDescriptor(value: unknown): value is StructureDescriptor {\n return isDescriptor(value, new Set());\n}\n\n/*** Validate one descriptor recursively while rejecting cyclic inline object graphs. */\nfunction isDescriptor(value: unknown, ancestors: Set<object>): value is StructureDescriptor {\n if (!isRecord(value) || typeof value.kind !== 'string' || ancestors.has(value)) return false;\n ancestors.add(value);\n const valid = validateDescriptorKind(value, ancestors);\n ancestors.delete(value);\n return valid;\n}\n\n/*** Dispatch descriptor validation by its explicit structural kind. */\nfunction validateDescriptorKind(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n switch (value.kind) {\n case 'scalar':\n return isScalarDescriptor(value);\n case 'enum':\n return isEnumDescriptor(value);\n case 'object':\n return isObjectDescriptor(value, ancestors);\n case 'entity-registry':\n return isEntityRegistryDescriptor(value, ancestors);\n case 'value-map':\n return isValueMapDescriptor(value, ancestors);\n case 'set':\n return isSetDescriptor(value, ancestors);\n case 'ordered-list':\n return isOrderedListDescriptor(value, ancestors);\n case 'union':\n return isUnionDescriptor(value, ancestors);\n case 'ref':\n return isReferenceDescriptor(value);\n default:\n return false;\n }\n}\n\n/*** Validate a scalar descriptor and its closed primitive vocabulary. */\nfunction isScalarDescriptor(value: Record<string, unknown>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'type']) &&\n typeof value.type === 'string' &&\n SCALAR_TYPES.has(value.type as StructureScalarType)\n );\n}\n\n/*** Validate a non-empty finite scalar literal set without duplicate members. */\nfunction isEnumDescriptor(value: Record<string, unknown>): boolean {\n if (!hasOnlyKeys(value, ['kind', 'values']) || !Array.isArray(value.values)) return false;\n if (value.values.length === 0 || !value.values.every(isStructureLiteralValue)) return false;\n const identities = value.values.map(structureLiteralIdentity);\n return new Set(identities).size === identities.length;\n}\n\n/*** Validate a fixed-field object descriptor. */\nfunction isObjectDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'fields']) &&\n isRecord(value.fields) &&\n Object.values(value.fields).every((field) => isObjectField(field, ancestors))\n );\n}\n\n/*** Validate one object field and its optionality marker. */\nfunction isObjectField(value: unknown, ancestors: Set<object>): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, ['value', 'optional']) &&\n (value.optional === undefined || typeof value.optional === 'boolean') &&\n isDescriptor(value.value, ancestors)\n );\n}\n\n/*** Validate a stable keyed entity collection descriptor. */\nfunction isEntityRegistryDescriptor(\n value: Record<string, unknown>,\n ancestors: Set<object>,\n): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'key', 'value', 'identityField']) &&\n isStringKeyDescriptor(value.key, ancestors) &&\n isDescriptor(value.value, ancestors) &&\n (value.identityField === undefined || isNonEmptyString(value.identityField))\n );\n}\n\n/*** Validate a keyed property/configuration map descriptor. */\nfunction isValueMapDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'key', 'value']) &&\n isStringKeyDescriptor(value.key, ancestors) &&\n isDescriptor(value.value, ancestors)\n );\n}\n\n/*** Validate an unordered string-membership descriptor. */\nfunction isSetDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return hasOnlyKeys(value, ['kind', 'member']) && isStringKeyDescriptor(value.member, ancestors);\n}\n\n/*** Validate a semantically ordered list descriptor. */\nfunction isOrderedListDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return hasOnlyKeys(value, ['kind', 'item']) && isDescriptor(value.item, ancestors);\n}\n\n/*** Validate a union descriptor with at least two valid variants. */\nfunction isUnionDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'variants', 'discriminator']) &&\n Array.isArray(value.variants) &&\n value.variants.length >= 2 &&\n value.variants.every((variant) => isDescriptor(variant, ancestors)) &&\n (value.discriminator === undefined || isNonEmptyString(value.discriminator))\n );\n}\n\n/*** Validate a local or package-qualified descriptor reference. */\nfunction isReferenceDescriptor(value: Record<string, unknown>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'id', 'packageName']) &&\n isNonEmptyString(value.id) &&\n (value.packageName === undefined || isNonEmptyString(value.packageName))\n );\n}\n\n/*** Validate a descriptor that can represent a JSON object key or set member string. */\nfunction isStringKeyDescriptor(value: unknown, ancestors: Set<object>): boolean {\n if (!isDescriptor(value, ancestors)) return false;\n if (value.kind === 'ref') return true;\n if (value.kind === 'scalar') return value.type === 'string';\n return value.kind === 'enum' && value.values.every((member) => typeof member === 'string');\n}\n\n/*** Validate one serializable scalar literal used by finite enum descriptors. */\nfunction isStructureLiteralValue(value: unknown): value is StructureLiteralValue {\n return (\n value === null ||\n typeof value === 'boolean' ||\n (typeof value === 'number' && Number.isFinite(value)) ||\n typeof value === 'string'\n );\n}\n\n/*** Produce an unambiguous identity for one scalar enum member. */\nfunction structureLiteralIdentity(value: StructureLiteralValue): string {\n return value === null ? 'null' : `${typeof value}:${String(value)}`;\n}\n\nconst SCALAR_TYPES = new Set<StructureScalarType>([\n 'boolean',\n 'integer',\n 'null',\n 'number',\n 'string',\n]);\n"]}
1
+ {"version":3,"file":"isStructureDescriptor.js","sourceRoot":"","sources":["../../src/structure/isStructureDescriptor.ts"],"names":[],"mappings":"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","sourcesContent":["import { hasOnlyKeys, isRecord } from '@ankhorage/utility/object';\nimport { isNonEmptyString } from '@ankhorage/utility/string';\n\nimport type { StructureDescriptor, StructureLiteralValue, StructureScalarType } from './types.js';\n\n/*** Validate one standalone structural descriptor without resolving external/local references. */\nexport function isStructureDescriptor(value: unknown): value is StructureDescriptor {\n return isDescriptor(value, new Set());\n}\n\n/*** Validate one descriptor recursively while rejecting cyclic inline object graphs. */\nfunction isDescriptor(value: unknown, ancestors: Set<object>): value is StructureDescriptor {\n if (!isRecord(value) || typeof value.kind !== 'string' || ancestors.has(value)) return false;\n ancestors.add(value);\n const valid = validateDescriptorKind(value, ancestors);\n ancestors.delete(value);\n return valid;\n}\n\n/*** Dispatch descriptor validation by its explicit structural kind. */\nfunction validateDescriptorKind(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n switch (value.kind) {\n case 'scalar':\n return isScalarDescriptor(value);\n case 'enum':\n return isEnumDescriptor(value);\n case 'object':\n return isObjectDescriptor(value, ancestors);\n case 'entity-registry':\n return isEntityRegistryDescriptor(value, ancestors);\n case 'value-map':\n return isValueMapDescriptor(value, ancestors);\n case 'set':\n return isSetDescriptor(value, ancestors);\n case 'ordered-list':\n return isOrderedListDescriptor(value, ancestors);\n case 'union':\n return isUnionDescriptor(value, ancestors);\n case 'ref':\n return isReferenceDescriptor(value);\n default:\n return false;\n }\n}\n\n/*** Validate a scalar descriptor and its closed primitive vocabulary. */\nfunction isScalarDescriptor(value: Record<string, unknown>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'type']) &&\n typeof value.type === 'string' &&\n SCALAR_TYPES.has(value.type as StructureScalarType)\n );\n}\n\n/*** Validate a non-empty finite scalar literal set without duplicate members. */\nfunction isEnumDescriptor(value: Record<string, unknown>): boolean {\n if (!hasOnlyKeys(value, ['kind', 'values']) || !Array.isArray(value.values)) return false;\n if (value.values.length === 0 || !value.values.every(isStructureLiteralValue)) return false;\n const identities = value.values.map(structureLiteralIdentity);\n return new Set(identities).size === identities.length;\n}\n\n/*** Validate a fixed-field object descriptor. */\nfunction isObjectDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'fields']) &&\n isRecord(value.fields) &&\n Object.values(value.fields).every((field) => isObjectField(field, ancestors))\n );\n}\n\n/*** Validate one object field and its optionality marker. */\nfunction isObjectField(value: unknown, ancestors: Set<object>): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, ['value', 'optional']) &&\n (value.optional === undefined || typeof value.optional === 'boolean') &&\n isDescriptor(value.value, ancestors)\n );\n}\n\n/*** Validate a stable keyed entity collection descriptor. */\nfunction isEntityRegistryDescriptor(\n value: Record<string, unknown>,\n ancestors: Set<object>,\n): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'key', 'value', 'identityField']) &&\n isStringKeyDescriptor(value.key, ancestors) &&\n isDescriptor(value.value, ancestors) &&\n (value.identityField === undefined || isNonEmptyString(value.identityField))\n );\n}\n\n/*** Validate a keyed property/configuration map descriptor. */\nfunction isValueMapDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'key', 'value']) &&\n isStringKeyDescriptor(value.key, ancestors) &&\n isDescriptor(value.value, ancestors)\n );\n}\n\n/*** Validate an unordered string-membership descriptor. */\nfunction isSetDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return hasOnlyKeys(value, ['kind', 'member']) && isStringKeyDescriptor(value.member, ancestors);\n}\n\n/*** Validate a semantically ordered list descriptor. */\nfunction isOrderedListDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return hasOnlyKeys(value, ['kind', 'item']) && isDescriptor(value.item, ancestors);\n}\n\n/*** Validate a union descriptor with at least two valid variants. */\nfunction isUnionDescriptor(value: Record<string, unknown>, ancestors: Set<object>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'variants', 'discriminator']) &&\n Array.isArray(value.variants) &&\n value.variants.length >= 2 &&\n value.variants.every((variant) => isDescriptor(variant, ancestors)) &&\n (value.discriminator === undefined || isNonEmptyString(value.discriminator))\n );\n}\n\n/*** Validate a local or package-qualified descriptor reference. */\nfunction isReferenceDescriptor(value: Record<string, unknown>): boolean {\n return (\n hasOnlyKeys(value, ['kind', 'id', 'packageName']) &&\n isNonEmptyString(value.id) &&\n (value.packageName === undefined || isNonEmptyString(value.packageName))\n );\n}\n\n/*** Validate a descriptor that can represent a JSON object key or set member string. */\nfunction isStringKeyDescriptor(value: unknown, ancestors: Set<object>): boolean {\n if (!isDescriptor(value, ancestors)) return false;\n if (value.kind === 'ref') return true;\n if (value.kind === 'scalar') return value.type === 'string';\n return value.kind === 'enum' && value.values.every((member) => typeof member === 'string');\n}\n\n/*** Validate one serializable scalar literal used by finite enum descriptors. */\nfunction isStructureLiteralValue(value: unknown): value is StructureLiteralValue {\n return (\n value === null ||\n typeof value === 'boolean' ||\n (typeof value === 'number' && Number.isFinite(value)) ||\n typeof value === 'string'\n );\n}\n\n/*** Produce an unambiguous identity for one scalar enum member. */\nfunction structureLiteralIdentity(value: StructureLiteralValue): string {\n return value === null ? 'null' : `${typeof value}:${String(value)}`;\n}\n\nconst SCALAR_TYPES = new Set<StructureScalarType>([\n 'boolean',\n 'integer',\n 'null',\n 'number',\n 'string',\n]);\n"]}
@@ -1,4 +1,4 @@
1
- import type { EntityRegistry, ValueMap } from '../collections';
1
+ import type { EntityRegistry, ValueMap } from '../collections.js';
2
2
  export type StructureDescriptorId = string;
3
3
  export type StructureScalarType = 'boolean' | 'integer' | 'null' | 'number' | 'string';
4
4
  export type StructureLiteralValue = boolean | number | string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/structure/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/structure/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/structure/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntityRegistry, ValueMap } from '../collections';\n\nexport type StructureDescriptorId = string;\n\nexport type StructureScalarType = 'boolean' | 'integer' | 'null' | 'number' | 'string';\n\nexport type StructureLiteralValue = boolean | number | string | null;\n\nexport interface StructureScalarDescriptor {\n readonly kind: 'scalar';\n readonly type: StructureScalarType;\n}\n\nexport interface StructureEnumDescriptor {\n readonly kind: 'enum';\n readonly values: readonly StructureLiteralValue[];\n}\n\nexport interface StructureObjectField {\n readonly value: StructureDescriptor;\n readonly optional?: boolean;\n}\n\nexport interface StructureObjectDescriptor {\n readonly kind: 'object';\n readonly fields: ValueMap<string, StructureObjectField>;\n}\n\nexport interface StructureEntityRegistryDescriptor {\n readonly kind: 'entity-registry';\n readonly key: StructureDescriptor;\n readonly value: StructureDescriptor;\n readonly identityField?: string;\n}\n\nexport interface StructureValueMapDescriptor {\n readonly kind: 'value-map';\n readonly key: StructureDescriptor;\n readonly value: StructureDescriptor;\n}\n\nexport interface StructureSetDescriptor {\n readonly kind: 'set';\n readonly member: StructureDescriptor;\n}\n\nexport interface StructureOrderedListDescriptor {\n readonly kind: 'ordered-list';\n readonly item: StructureDescriptor;\n}\n\nexport interface StructureUnionDescriptor {\n readonly kind: 'union';\n readonly variants: readonly StructureDescriptor[];\n readonly discriminator?: string;\n}\n\nexport interface StructureReferenceDescriptor {\n readonly kind: 'ref';\n readonly id: StructureDescriptorId;\n readonly packageName?: string;\n}\n\nexport type StructureDescriptor =\n | StructureEntityRegistryDescriptor\n | StructureEnumDescriptor\n | StructureObjectDescriptor\n | StructureOrderedListDescriptor\n | StructureReferenceDescriptor\n | StructureScalarDescriptor\n | StructureSetDescriptor\n | StructureUnionDescriptor\n | StructureValueMapDescriptor;\n\nexport interface StructureDescriptorDefinition {\n readonly id: StructureDescriptorId;\n readonly descriptor: StructureDescriptor;\n}\n\nexport type StructureDescriptorRegistry = EntityRegistry<\n StructureDescriptorId,\n StructureDescriptorDefinition,\n 'id'\n>;\n\nexport interface StructureDescriptorDocument {\n readonly protocolVersion: 1;\n readonly packageName: string;\n readonly packageVersion: string;\n readonly roots: ValueMap<string, StructureDescriptorId>;\n readonly descriptors: StructureDescriptorRegistry;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/structure/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntityRegistry, ValueMap } from '../collections.js';\n\nexport type StructureDescriptorId = string;\n\nexport type StructureScalarType = 'boolean' | 'integer' | 'null' | 'number' | 'string';\n\nexport type StructureLiteralValue = boolean | number | string | null;\n\nexport interface StructureScalarDescriptor {\n readonly kind: 'scalar';\n readonly type: StructureScalarType;\n}\n\nexport interface StructureEnumDescriptor {\n readonly kind: 'enum';\n readonly values: readonly StructureLiteralValue[];\n}\n\nexport interface StructureObjectField {\n readonly value: StructureDescriptor;\n readonly optional?: boolean;\n}\n\nexport interface StructureObjectDescriptor {\n readonly kind: 'object';\n readonly fields: ValueMap<string, StructureObjectField>;\n}\n\nexport interface StructureEntityRegistryDescriptor {\n readonly kind: 'entity-registry';\n readonly key: StructureDescriptor;\n readonly value: StructureDescriptor;\n readonly identityField?: string;\n}\n\nexport interface StructureValueMapDescriptor {\n readonly kind: 'value-map';\n readonly key: StructureDescriptor;\n readonly value: StructureDescriptor;\n}\n\nexport interface StructureSetDescriptor {\n readonly kind: 'set';\n readonly member: StructureDescriptor;\n}\n\nexport interface StructureOrderedListDescriptor {\n readonly kind: 'ordered-list';\n readonly item: StructureDescriptor;\n}\n\nexport interface StructureUnionDescriptor {\n readonly kind: 'union';\n readonly variants: readonly StructureDescriptor[];\n readonly discriminator?: string;\n}\n\nexport interface StructureReferenceDescriptor {\n readonly kind: 'ref';\n readonly id: StructureDescriptorId;\n readonly packageName?: string;\n}\n\nexport type StructureDescriptor =\n | StructureEntityRegistryDescriptor\n | StructureEnumDescriptor\n | StructureObjectDescriptor\n | StructureOrderedListDescriptor\n | StructureReferenceDescriptor\n | StructureScalarDescriptor\n | StructureSetDescriptor\n | StructureUnionDescriptor\n | StructureValueMapDescriptor;\n\nexport interface StructureDescriptorDefinition {\n readonly id: StructureDescriptorId;\n readonly descriptor: StructureDescriptor;\n}\n\nexport type StructureDescriptorRegistry = EntityRegistry<\n StructureDescriptorId,\n StructureDescriptorDefinition,\n 'id'\n>;\n\nexport interface StructureDescriptorDocument {\n readonly protocolVersion: 1;\n readonly packageName: string;\n readonly packageVersion: string;\n readonly roots: ValueMap<string, StructureDescriptorId>;\n readonly descriptors: StructureDescriptorRegistry;\n}\n"]}
package/dist/theme.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ValueMap } from './collections';
1
+ import type { ValueMap } from './collections.js';
2
2
  /** Numeric token values authored at theme level. */
3
3
  export type ThemeNumericTokenOverrides = ValueMap<string, number>;
4
4
  /** String token values authored at theme level. */
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,oDAAoD;AACpD,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElE,mDAAmD;AACnD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjE,iEAAiE;AACjE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wFAAwF;AACxF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,6BAA6B,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,0BAA0B,CAAC;CAC/C;AAED,qFAAqF;AACrF,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,4DAA4D;AAC5D,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;CACjE"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,oDAAoD;AACpD,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElE,mDAAmD;AACnD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjE,iEAAiE;AACjE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wFAAwF;AACxF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,6BAA6B,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,0BAA0B,CAAC;CAC/C;AAED,qFAAqF;AACrF,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,4DAA4D;AAC5D,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;CACjE"}
package/dist/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"","sourcesContent":["import type { ValueMap } from './collections';\n\n/** Numeric token values authored at theme level. */\nexport type ThemeNumericTokenOverrides = ValueMap<string, number>;\n\n/** String token values authored at theme level. */\nexport type ThemeStringTokenOverrides = ValueMap<string, string>;\n\n/** Partial authored override for one semantic heading recipe. */\nexport interface ThemeTypographyHeadingOverrides {\n readonly size?: number;\n readonly lineHeight?: number;\n readonly weight?: string;\n}\n\n/** Theme-global typography source overrides. Font installation remains module-owned. */\nexport interface ThemeTypographyTokenOverrides {\n readonly headings?: ValueMap<string, ThemeTypographyHeadingOverrides>;\n readonly sizes?: ThemeNumericTokenOverrides;\n readonly weights?: ThemeStringTokenOverrides;\n}\n\n/**\n * Theme-global authored token overrides.\n *\n * Color source remains mode-specific on ThemeModeConfig. These values are shared by\n * light and dark mode and are resolved by the render-theme owner rather than copied\n * into every mode branch.\n */\nexport interface ThemeGlobalTokenOverrides {\n readonly spacing?: ThemeNumericTokenOverrides;\n readonly radii?: ThemeNumericTokenOverrides;\n readonly typography?: ThemeTypographyTokenOverrides;\n readonly shadows?: ThemeNumericTokenOverrides;\n}\n\n/** Serializable value supported by the current theme-recipe metadata field kinds. */\nexport type ThemeRecipeOverrideValue = boolean | string;\n\n/** Persisted values for one component or pattern recipe. */\nexport type ThemeRecipeFieldOverrides = ValueMap<string, ThemeRecipeOverrideValue>;\n\n/**\n * Generic persisted recipe values.\n *\n * The owning UI package defines available recipes, field schemas, defaults and token\n * relationships. Contracts stores selected values only and does not duplicate that metadata.\n */\nexport interface ThemeRecipeOverrides {\n readonly components?: ValueMap<string, ThemeRecipeFieldOverrides>;\n readonly patterns?: ValueMap<string, ThemeRecipeFieldOverrides>;\n}\n"]}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"","sourcesContent":["import type { ValueMap } from './collections.js';\n\n/** Numeric token values authored at theme level. */\nexport type ThemeNumericTokenOverrides = ValueMap<string, number>;\n\n/** String token values authored at theme level. */\nexport type ThemeStringTokenOverrides = ValueMap<string, string>;\n\n/** Partial authored override for one semantic heading recipe. */\nexport interface ThemeTypographyHeadingOverrides {\n readonly size?: number;\n readonly lineHeight?: number;\n readonly weight?: string;\n}\n\n/** Theme-global typography source overrides. Font installation remains module-owned. */\nexport interface ThemeTypographyTokenOverrides {\n readonly headings?: ValueMap<string, ThemeTypographyHeadingOverrides>;\n readonly sizes?: ThemeNumericTokenOverrides;\n readonly weights?: ThemeStringTokenOverrides;\n}\n\n/**\n * Theme-global authored token overrides.\n *\n * Color source remains mode-specific on ThemeModeConfig. These values are shared by\n * light and dark mode and are resolved by the render-theme owner rather than copied\n * into every mode branch.\n */\nexport interface ThemeGlobalTokenOverrides {\n readonly spacing?: ThemeNumericTokenOverrides;\n readonly radii?: ThemeNumericTokenOverrides;\n readonly typography?: ThemeTypographyTokenOverrides;\n readonly shadows?: ThemeNumericTokenOverrides;\n}\n\n/** Serializable value supported by the current theme-recipe metadata field kinds. */\nexport type ThemeRecipeOverrideValue = boolean | string;\n\n/** Persisted values for one component or pattern recipe. */\nexport type ThemeRecipeFieldOverrides = ValueMap<string, ThemeRecipeOverrideValue>;\n\n/**\n * Generic persisted recipe values.\n *\n * The owning UI package defines available recipes, field schemas, defaults and token\n * relationships. Contracts stores selected values only and does not duplicate that metadata.\n */\nexport interface ThemeRecipeOverrides {\n readonly components?: ValueMap<string, ThemeRecipeFieldOverrides>;\n readonly patterns?: ValueMap<string, ThemeRecipeFieldOverrides>;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { AppManifest } from '../types';
1
+ import type { AppManifest } from '../types.js';
2
2
  export type AppManifestParseResult = {
3
3
  readonly ok: true;
4
4
  readonly manifest: AppManifest;
@@ -1 +1 @@
1
- {"version":3,"file":"appManifest.d.ts","sourceRoot":"","sources":["../../src/types/appManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"appManifest.d.ts","sourceRoot":"","sources":["../../src/types/appManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"appManifest.js","sourceRoot":"","sources":["../../src/types/appManifest.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppManifest } from '../types';\n\nexport type AppManifestParseResult =\n | { readonly ok: true; readonly manifest: AppManifest }\n | { readonly ok: false; readonly message: string };\n"]}
1
+ {"version":3,"file":"appManifest.js","sourceRoot":"","sources":["../../src/types/appManifest.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppManifest } from '../types.js';\n\nexport type AppManifestParseResult =\n | { readonly ok: true; readonly manifest: AppManifest }\n | { readonly ok: false; readonly message: string };\n"]}
@@ -1,10 +1,10 @@
1
- import type { AppEnvironmentId } from '../environments';
2
- import type { INFRA_ADAPTER_CATALOG } from '../infraCatalog';
3
- import type { InfraDestroyRequest, InfraGeneratedArtifact, InfraLedger, InfraOutput, InfraOwnedResource, InfraPlanAction, InfraResourceStatus, InfraResult } from './infraLifecycle';
4
- import type { InfraAdapterId, InfraComputeProviderId, InfraComputeSelection, InfraEnvironmentSpec, InfraRuntimeProviderId, InfraRuntimeSelection } from './infraManifest';
5
- import type { InfraControlPlaneCredentialRef, InfraSecretReference } from './infraSecrets';
6
- import type { InfraComputeTarget } from './infraTargets';
7
- import type { InfraWorkloadSpec } from './infraWorkload';
1
+ import type { AppEnvironmentId } from '../environments.js';
2
+ import type { INFRA_ADAPTER_CATALOG } from '../infraCatalog.js';
3
+ import type { InfraDestroyRequest, InfraGeneratedArtifact, InfraLedger, InfraOutput, InfraOwnedResource, InfraPlanAction, InfraResourceStatus, InfraResult } from './infraLifecycle.js';
4
+ import type { InfraAdapterId, InfraComputeProviderId, InfraComputeSelection, InfraEnvironmentSpec, InfraRuntimeProviderId, InfraRuntimeSelection } from './infraManifest.js';
5
+ import type { InfraControlPlaneCredentialRef, InfraSecretReference } from './infraSecrets.js';
6
+ import type { InfraComputeTarget } from './infraTargets.js';
7
+ import type { InfraWorkloadSpec } from './infraWorkload.js';
8
8
  /** Package exports must match this exact catalog entry; optional operations are advertised explicitly. */
9
9
  export type InfraAdapterDescriptor<P extends InfraAdapterId = InfraAdapterId> = {
10
10
  [K in P]: (typeof INFRA_ADAPTER_CATALOG)[K] & {
@@ -1 +1 @@
1
- {"version":3,"file":"infraAdapters.d.ts","sourceRoot":"","sources":["../../src/types/infraAdapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infraAdapters.d.ts","sourceRoot":"","sources":["../../src/types/infraAdapters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"infraAdapters.js","sourceRoot":"","sources":["../../src/types/infraAdapters.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppEnvironmentId } from '../environments';\nimport type { INFRA_ADAPTER_CATALOG } from '../infraCatalog';\nimport type {\n InfraDestroyRequest,\n InfraGeneratedArtifact,\n InfraLedger,\n InfraOutput,\n InfraOwnedResource,\n InfraPlanAction,\n InfraResourceStatus,\n InfraResult,\n} from './infraLifecycle';\nimport type {\n InfraAdapterId,\n InfraComputeProviderId,\n InfraComputeSelection,\n InfraEnvironmentSpec,\n InfraRuntimeProviderId,\n InfraRuntimeSelection,\n} from './infraManifest';\nimport type { InfraControlPlaneCredentialRef, InfraSecretReference } from './infraSecrets';\nimport type { InfraComputeTarget } from './infraTargets';\nimport type { InfraWorkloadSpec } from './infraWorkload';\n\n/** Package exports must match this exact catalog entry; optional operations are advertised explicitly. */\nexport type InfraAdapterDescriptor<P extends InfraAdapterId = InfraAdapterId> = {\n [K in P]: (typeof INFRA_ADAPTER_CATALOG)[K] & {\n readonly operations?: readonly ('suspend' | 'resume' | 'generate' | 'diagnostics')[];\n };\n}[P];\n\n/** Trusted execution-only control-plane credential lookup, resolution and persistence. */\nexport interface InfraCredentialPort {\n /** Return a credential bundle when present; absence is not an error. */\n findAsync(\n reference: InfraControlPlaneCredentialRef,\n ): Promise<InfraResult<Readonly<Record<string, string>> | null>>;\n /** Resolve a required credential bundle; absence is an error. */\n resolveAsync(\n reference: InfraControlPlaneCredentialRef,\n ): Promise<InfraResult<Readonly<Record<string, string>>>>;\n /** Persist an opaque provider-owned credential bundle without exposing its schema to the host. */\n persistAsync(\n reference: InfraControlPlaneCredentialRef,\n values: Readonly<Record<string, string>>,\n ): Promise<InfraResult<null>>;\n}\n\n/** Trusted execution-only ports. Implementations must not serialize resolved credential values. */\nexport interface InfraExecutionContext {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly desired: InfraEnvironmentSpec;\n readonly previous?: InfraLedger;\n readonly signal?: AbortSignal;\n readonly credentials: InfraCredentialPort;\n readonly secrets: {\n resolveAsync(reference: InfraSecretReference): Promise<InfraResult<string>>;\n };\n}\n\nexport interface InfraReconcileResult {\n readonly resources: readonly InfraOwnedResource[];\n readonly outputs: readonly InfraOutput[];\n}\n\n/** Current portable compute state resolved without creating, updating or deleting resources. */\nexport interface InfraComputeSnapshot extends InfraReconcileResult {\n readonly targets: readonly InfraComputeTarget[];\n}\n\nexport interface InfraComputeAdapter<P extends InfraComputeProviderId = InfraComputeProviderId> {\n readonly descriptor: InfraAdapterDescriptor<P>;\n /** Read-only prerequisites, config and control-plane credential validation. */\n validateAsync(\n context: InfraExecutionContext,\n selection: InfraComputeSelection<P>,\n ): Promise<InfraResult<null>>;\n /** Read-only discovery for planning and stateless runtime projection. Missing compute is empty. */\n inspectAsync(\n context: InfraExecutionContext,\n selection: InfraComputeSelection<P>,\n ): Promise<InfraResult<InfraComputeSnapshot>>;\n planAsync(\n context: InfraExecutionContext,\n selection: InfraComputeSelection<P>,\n ): Promise<InfraResult<readonly InfraPlanAction[]>>;\n ensureAsync(\n context: InfraExecutionContext,\n selection: InfraComputeSelection<P>,\n ): Promise<InfraResult<InfraComputeSnapshot>>;\n statusAsync(context: InfraExecutionContext): Promise<InfraResult<readonly InfraResourceStatus[]>>;\n destroyAsync(\n context: InfraExecutionContext,\n request: InfraDestroyRequest,\n ): Promise<InfraResult<InfraReconcileResult>>;\n}\n\nexport interface InfraRuntimeDesiredState<\n P extends InfraRuntimeProviderId = InfraRuntimeProviderId,\n> {\n readonly selection: InfraRuntimeSelection<P>;\n readonly targets: readonly InfraComputeTarget[];\n readonly workloads: readonly InfraWorkloadSpec[];\n /** Previously resolved outputs available to portable workload value references. */\n readonly availableOutputs: readonly InfraOutput[];\n}\n\nexport interface InfraRuntimeAdapter<P extends InfraRuntimeProviderId = InfraRuntimeProviderId> {\n readonly descriptor: InfraAdapterDescriptor<P>;\n /** Read-only prerequisites and desired-state validation; no cluster creation. */\n validateAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<null>>;\n planAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<readonly InfraPlanAction[]>>;\n ensureAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<InfraReconcileResult>>;\n statusAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<readonly InfraResourceStatus[]>>;\n suspendAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<InfraReconcileResult>>;\n destroyAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n request: InfraDestroyRequest,\n ): Promise<InfraResult<InfraReconcileResult>>;\n generateAsync?(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<readonly InfraGeneratedArtifact[]>>;\n}\n\n/** A service can own several capabilities but contributes one deduplicated platform instance. */\nexport interface InfraServiceAdapter {\n readonly descriptor: InfraAdapterDescriptor<'supabase' | 'cerbos' | 'r2' | 'supabase-vault'>;\n /** Read-only service config, bootstrap credentials and dependency validation. */\n validateAsync(context: InfraExecutionContext): Promise<InfraResult<null>>;\n planAsync(context: InfraExecutionContext): Promise<InfraResult<readonly InfraPlanAction[]>>;\n /** Mutating pre-runtime preparation invoked only by an orchestrated `up` operation. */\n prepareAsync?(context: InfraExecutionContext): Promise<InfraResult<null>>;\n desiredWorkloadsAsync(\n context: InfraExecutionContext,\n ): Promise<InfraResult<readonly InfraWorkloadSpec[]>>;\n reconcileAsync(\n context: InfraExecutionContext,\n runtimeOutputs: readonly InfraOutput[],\n ): Promise<InfraResult<InfraReconcileResult>>;\n statusAsync(context: InfraExecutionContext): Promise<InfraResult<readonly InfraResourceStatus[]>>;\n destroyAsync(\n context: InfraExecutionContext,\n request: InfraDestroyRequest,\n ): Promise<InfraResult<InfraReconcileResult>>;\n suspendAsync?(context: InfraExecutionContext): Promise<InfraResult<InfraReconcileResult>>;\n}\n"]}
1
+ {"version":3,"file":"infraAdapters.js","sourceRoot":"","sources":["../../src/types/infraAdapters.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppEnvironmentId } from '../environments.js';\nimport type { INFRA_ADAPTER_CATALOG } from '../infraCatalog.js';\nimport type {\n InfraDestroyRequest,\n InfraGeneratedArtifact,\n InfraLedger,\n InfraOutput,\n InfraOwnedResource,\n InfraPlanAction,\n InfraResourceStatus,\n InfraResult,\n} from './infraLifecycle.js';\nimport type {\n InfraAdapterId,\n InfraComputeProviderId,\n InfraComputeSelection,\n InfraEnvironmentSpec,\n InfraRuntimeProviderId,\n InfraRuntimeSelection,\n} from './infraManifest.js';\nimport type { InfraControlPlaneCredentialRef, InfraSecretReference } from './infraSecrets.js';\nimport type { InfraComputeTarget } from './infraTargets.js';\nimport type { InfraWorkloadSpec } from './infraWorkload.js';\n\n/** Package exports must match this exact catalog entry; optional operations are advertised explicitly. */\nexport type InfraAdapterDescriptor<P extends InfraAdapterId = InfraAdapterId> = {\n [K in P]: (typeof INFRA_ADAPTER_CATALOG)[K] & {\n readonly operations?: readonly ('suspend' | 'resume' | 'generate' | 'diagnostics')[];\n };\n}[P];\n\n/** Trusted execution-only control-plane credential lookup, resolution and persistence. */\nexport interface InfraCredentialPort {\n /** Return a credential bundle when present; absence is not an error. */\n findAsync(\n reference: InfraControlPlaneCredentialRef,\n ): Promise<InfraResult<Readonly<Record<string, string>> | null>>;\n /** Resolve a required credential bundle; absence is an error. */\n resolveAsync(\n reference: InfraControlPlaneCredentialRef,\n ): Promise<InfraResult<Readonly<Record<string, string>>>>;\n /** Persist an opaque provider-owned credential bundle without exposing its schema to the host. */\n persistAsync(\n reference: InfraControlPlaneCredentialRef,\n values: Readonly<Record<string, string>>,\n ): Promise<InfraResult<null>>;\n}\n\n/** Trusted execution-only ports. Implementations must not serialize resolved credential values. */\nexport interface InfraExecutionContext {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly desired: InfraEnvironmentSpec;\n readonly previous?: InfraLedger;\n readonly signal?: AbortSignal;\n readonly credentials: InfraCredentialPort;\n readonly secrets: {\n resolveAsync(reference: InfraSecretReference): Promise<InfraResult<string>>;\n };\n}\n\nexport interface InfraReconcileResult {\n readonly resources: readonly InfraOwnedResource[];\n readonly outputs: readonly InfraOutput[];\n}\n\n/** Current portable compute state resolved without creating, updating or deleting resources. */\nexport interface InfraComputeSnapshot extends InfraReconcileResult {\n readonly targets: readonly InfraComputeTarget[];\n}\n\nexport interface InfraComputeAdapter<P extends InfraComputeProviderId = InfraComputeProviderId> {\n readonly descriptor: InfraAdapterDescriptor<P>;\n /** Read-only prerequisites, config and control-plane credential validation. */\n validateAsync(\n context: InfraExecutionContext,\n selection: InfraComputeSelection<P>,\n ): Promise<InfraResult<null>>;\n /** Read-only discovery for planning and stateless runtime projection. Missing compute is empty. */\n inspectAsync(\n context: InfraExecutionContext,\n selection: InfraComputeSelection<P>,\n ): Promise<InfraResult<InfraComputeSnapshot>>;\n planAsync(\n context: InfraExecutionContext,\n selection: InfraComputeSelection<P>,\n ): Promise<InfraResult<readonly InfraPlanAction[]>>;\n ensureAsync(\n context: InfraExecutionContext,\n selection: InfraComputeSelection<P>,\n ): Promise<InfraResult<InfraComputeSnapshot>>;\n statusAsync(context: InfraExecutionContext): Promise<InfraResult<readonly InfraResourceStatus[]>>;\n destroyAsync(\n context: InfraExecutionContext,\n request: InfraDestroyRequest,\n ): Promise<InfraResult<InfraReconcileResult>>;\n}\n\nexport interface InfraRuntimeDesiredState<\n P extends InfraRuntimeProviderId = InfraRuntimeProviderId,\n> {\n readonly selection: InfraRuntimeSelection<P>;\n readonly targets: readonly InfraComputeTarget[];\n readonly workloads: readonly InfraWorkloadSpec[];\n /** Previously resolved outputs available to portable workload value references. */\n readonly availableOutputs: readonly InfraOutput[];\n}\n\nexport interface InfraRuntimeAdapter<P extends InfraRuntimeProviderId = InfraRuntimeProviderId> {\n readonly descriptor: InfraAdapterDescriptor<P>;\n /** Read-only prerequisites and desired-state validation; no cluster creation. */\n validateAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<null>>;\n planAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<readonly InfraPlanAction[]>>;\n ensureAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<InfraReconcileResult>>;\n statusAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<readonly InfraResourceStatus[]>>;\n suspendAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<InfraReconcileResult>>;\n destroyAsync(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n request: InfraDestroyRequest,\n ): Promise<InfraResult<InfraReconcileResult>>;\n generateAsync?(\n context: InfraExecutionContext,\n desired: InfraRuntimeDesiredState<P>,\n ): Promise<InfraResult<readonly InfraGeneratedArtifact[]>>;\n}\n\n/** A service can own several capabilities but contributes one deduplicated platform instance. */\nexport interface InfraServiceAdapter {\n readonly descriptor: InfraAdapterDescriptor<'supabase' | 'cerbos' | 'r2' | 'supabase-vault'>;\n /** Read-only service config, bootstrap credentials and dependency validation. */\n validateAsync(context: InfraExecutionContext): Promise<InfraResult<null>>;\n planAsync(context: InfraExecutionContext): Promise<InfraResult<readonly InfraPlanAction[]>>;\n /** Mutating pre-runtime preparation invoked only by an orchestrated `up` operation. */\n prepareAsync?(context: InfraExecutionContext): Promise<InfraResult<null>>;\n desiredWorkloadsAsync(\n context: InfraExecutionContext,\n ): Promise<InfraResult<readonly InfraWorkloadSpec[]>>;\n reconcileAsync(\n context: InfraExecutionContext,\n runtimeOutputs: readonly InfraOutput[],\n ): Promise<InfraResult<InfraReconcileResult>>;\n statusAsync(context: InfraExecutionContext): Promise<InfraResult<readonly InfraResourceStatus[]>>;\n destroyAsync(\n context: InfraExecutionContext,\n request: InfraDestroyRequest,\n ): Promise<InfraResult<InfraReconcileResult>>;\n suspendAsync?(context: InfraExecutionContext): Promise<InfraResult<InfraReconcileResult>>;\n}\n"]}
@@ -1,7 +1,7 @@
1
- import type { AppEnvironmentId } from '../environments';
2
- import type { InfraAdapterId } from './infraManifest';
3
- import type { InfraSecretReference } from './infraSecrets';
4
- import type { InfraComputeTarget } from './infraTargets';
1
+ import type { AppEnvironmentId } from '../environments.js';
2
+ import type { InfraAdapterId } from './infraManifest.js';
3
+ import type { InfraSecretReference } from './infraSecrets.js';
4
+ import type { InfraComputeTarget } from './infraTargets.js';
5
5
  /** Identity must be verified before mutation; unowned resources must never be pruned. */
6
6
  export interface InfraResourceIdentity {
7
7
  readonly projectId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"infraLifecycle.d.ts","sourceRoot":"","sources":["../../src/types/infraLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,yFAAyF;AACzF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,mBAAmB,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,GAC1F;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,cAAc,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,KAAK,EACZ,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC9F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACpD;AAED,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,CACzF;IACE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC;CACtC,CACJ,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,oGAAoG;IACpG,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjG;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAC9F,gGAAgG;IAChG,QAAQ,CAAC,WAAW,EAChB;QAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,GAC7B;QAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,qBAAqB,EAAE,CAAA;KAAE,CAAC;CAClG"}
1
+ {"version":3,"file":"infraLifecycle.d.ts","sourceRoot":"","sources":["../../src/types/infraLifecycle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"infraLifecycle.js","sourceRoot":"","sources":["../../src/types/infraLifecycle.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppEnvironmentId } from '../environments';\nimport type { InfraAdapterId } from './infraManifest';\nimport type { InfraSecretReference } from './infraSecrets';\nimport type { InfraComputeTarget } from './infraTargets';\n\n/** Identity must be verified before mutation; unowned resources must never be pruned. */\nexport interface InfraResourceIdentity {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly adapter: InfraAdapterId;\n readonly resourceId: string;\n}\n\nexport interface InfraOwnedResource {\n readonly identity: InfraResourceIdentity;\n readonly externalId?: string;\n readonly persistent: boolean;\n readonly retention: 'retain' | 'delete-on-destroy';\n readonly dependsOn: readonly InfraResourceIdentity[];\n}\n\nexport interface InfraDiagnostic {\n readonly severity: 'info' | 'warning' | 'error';\n readonly code: string;\n /** Safe human-readable detail. Tokens and privileged values must be redacted by the producer. */\n readonly message: string;\n readonly path?: readonly (string | number)[];\n readonly owner?: InfraResourceIdentity;\n}\n\nexport type InfraResult<T> =\n | { readonly ok: true; readonly value: T; readonly diagnostics: readonly InfraDiagnostic[] }\n | { readonly ok: false; readonly diagnostics: readonly InfraDiagnostic[] };\n\nexport interface InfraPlanAction {\n readonly owner: InfraResourceIdentity;\n readonly operation: 'create' | 'update' | 'delete' | 'retain' | 'noop';\n readonly impact: 'none' | 'interrupts-service' | 'deletes-data';\n readonly detail: string;\n readonly dependsOn: readonly InfraResourceIdentity[];\n}\n\nexport interface InfraPlan {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n /** Ordered dependency-first; teardown consumers reverse dependency order. */\n readonly actions: readonly InfraPlanAction[];\n}\n\nexport interface InfraResourceStatus {\n readonly owner: InfraResourceIdentity;\n readonly state:\n 'absent' | 'pending' | 'ready' | 'degraded' | 'stopped' | 'retained' | 'failed' | 'unknown';\n readonly detail?: string;\n readonly diagnostics?: readonly InfraDiagnostic[];\n}\n\nexport interface InfraStatus {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly state: InfraResourceStatus['state'];\n readonly resources: readonly InfraResourceStatus[];\n}\n\n/** A privileged output has a reference, never a value field or environment export name. */\nexport type InfraOutput = { readonly owner: InfraResourceIdentity; readonly name: string } & (\n | {\n readonly visibility: 'public';\n readonly value: string | number | boolean;\n readonly environmentVariable?: string;\n readonly reference?: never;\n }\n | {\n readonly visibility: 'secret';\n readonly reference: InfraSecretReference;\n readonly value?: never;\n readonly environmentVariable?: never;\n }\n);\n\nexport interface InfraGeneratedArtifact {\n readonly owner: InfraResourceIdentity;\n /** Project-relative file path validated by the writer before touching the filesystem. */\n readonly path: string;\n readonly content: string;\n readonly executable?: boolean;\n}\n\nexport interface InfraLedger {\n readonly schemaVersion: 1;\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n /** Last successfully reconciled portable targets required by stateless runtime operations. */\n readonly targets: readonly InfraComputeTarget[];\n readonly resources: readonly InfraOwnedResource[];\n /** Last successfully reconciled public values and privileged references; never resolved secrets. */\n readonly outputs: readonly InfraOutput[];\n readonly artifacts: readonly { readonly owner: InfraResourceIdentity; readonly path: string }[];\n}\n\n/** No default environment or confirmation is possible for destruction. */\nexport interface InfraDestroyRequest {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly confirmation: { readonly projectId: string; readonly environment: AppEnvironmentId };\n /** Data deletion is a separate, explicit resource-scoped authorization in every environment. */\n readonly persistence:\n | { readonly policy: 'retain' }\n | { readonly policy: 'delete'; readonly confirmedResources: readonly InfraResourceIdentity[] };\n}\n"]}
1
+ {"version":3,"file":"infraLifecycle.js","sourceRoot":"","sources":["../../src/types/infraLifecycle.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppEnvironmentId } from '../environments.js';\nimport type { InfraAdapterId } from './infraManifest.js';\nimport type { InfraSecretReference } from './infraSecrets.js';\nimport type { InfraComputeTarget } from './infraTargets.js';\n\n/** Identity must be verified before mutation; unowned resources must never be pruned. */\nexport interface InfraResourceIdentity {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly adapter: InfraAdapterId;\n readonly resourceId: string;\n}\n\nexport interface InfraOwnedResource {\n readonly identity: InfraResourceIdentity;\n readonly externalId?: string;\n readonly persistent: boolean;\n readonly retention: 'retain' | 'delete-on-destroy';\n readonly dependsOn: readonly InfraResourceIdentity[];\n}\n\nexport interface InfraDiagnostic {\n readonly severity: 'info' | 'warning' | 'error';\n readonly code: string;\n /** Safe human-readable detail. Tokens and privileged values must be redacted by the producer. */\n readonly message: string;\n readonly path?: readonly (string | number)[];\n readonly owner?: InfraResourceIdentity;\n}\n\nexport type InfraResult<T> =\n | { readonly ok: true; readonly value: T; readonly diagnostics: readonly InfraDiagnostic[] }\n | { readonly ok: false; readonly diagnostics: readonly InfraDiagnostic[] };\n\nexport interface InfraPlanAction {\n readonly owner: InfraResourceIdentity;\n readonly operation: 'create' | 'update' | 'delete' | 'retain' | 'noop';\n readonly impact: 'none' | 'interrupts-service' | 'deletes-data';\n readonly detail: string;\n readonly dependsOn: readonly InfraResourceIdentity[];\n}\n\nexport interface InfraPlan {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n /** Ordered dependency-first; teardown consumers reverse dependency order. */\n readonly actions: readonly InfraPlanAction[];\n}\n\nexport interface InfraResourceStatus {\n readonly owner: InfraResourceIdentity;\n readonly state:\n 'absent' | 'pending' | 'ready' | 'degraded' | 'stopped' | 'retained' | 'failed' | 'unknown';\n readonly detail?: string;\n readonly diagnostics?: readonly InfraDiagnostic[];\n}\n\nexport interface InfraStatus {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly state: InfraResourceStatus['state'];\n readonly resources: readonly InfraResourceStatus[];\n}\n\n/** A privileged output has a reference, never a value field or environment export name. */\nexport type InfraOutput = { readonly owner: InfraResourceIdentity; readonly name: string } & (\n | {\n readonly visibility: 'public';\n readonly value: string | number | boolean;\n readonly environmentVariable?: string;\n readonly reference?: never;\n }\n | {\n readonly visibility: 'secret';\n readonly reference: InfraSecretReference;\n readonly value?: never;\n readonly environmentVariable?: never;\n }\n);\n\nexport interface InfraGeneratedArtifact {\n readonly owner: InfraResourceIdentity;\n /** Project-relative file path validated by the writer before touching the filesystem. */\n readonly path: string;\n readonly content: string;\n readonly executable?: boolean;\n}\n\nexport interface InfraLedger {\n readonly schemaVersion: 1;\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n /** Last successfully reconciled portable targets required by stateless runtime operations. */\n readonly targets: readonly InfraComputeTarget[];\n readonly resources: readonly InfraOwnedResource[];\n /** Last successfully reconciled public values and privileged references; never resolved secrets. */\n readonly outputs: readonly InfraOutput[];\n readonly artifacts: readonly { readonly owner: InfraResourceIdentity; readonly path: string }[];\n}\n\n/** No default environment or confirmation is possible for destruction. */\nexport interface InfraDestroyRequest {\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly confirmation: { readonly projectId: string; readonly environment: AppEnvironmentId };\n /** Data deletion is a separate, explicit resource-scoped authorization in every environment. */\n readonly persistence:\n | { readonly policy: 'retain' }\n | { readonly policy: 'delete'; readonly confirmedResources: readonly InfraResourceIdentity[] };\n}\n"]}
@@ -1,11 +1,11 @@
1
- import type { AuthFlowConfig, AuthOAuthConfig } from '../auth';
2
- import type { EntityRegistry, SerializableSet, ValueMap } from '../collections';
3
- import type { ApiDefinitionRegistry, DataContractValue } from '../data';
4
- import type { AppEnvironmentId } from '../environments';
5
- import type { INFRA_ADAPTER_CATALOG, INFRA_RUNTIME_COMPATIBILITY } from '../infraCatalog';
6
- import type { AuthProfileSpec, AuthScope, AuthSignInSpec, AuthSignUpSpec } from '../types';
7
- import type { InfraControlPlaneCredentialRef } from './infraSecrets';
8
- import type { InfraWorkloadRegistry } from './infraWorkload';
1
+ import type { AuthFlowConfig, AuthOAuthConfig } from '../auth.js';
2
+ import type { EntityRegistry, SerializableSet, ValueMap } from '../collections.js';
3
+ import type { ApiDefinitionRegistry, DataContractValue } from '../data/index.js';
4
+ import type { AppEnvironmentId } from '../environments.js';
5
+ import type { INFRA_ADAPTER_CATALOG, INFRA_RUNTIME_COMPATIBILITY } from '../infraCatalog.js';
6
+ import type { AuthProfileSpec, AuthScope, AuthSignInSpec, AuthSignUpSpec } from '../types.js';
7
+ import type { InfraControlPlaneCredentialRef } from './infraSecrets.js';
8
+ import type { InfraWorkloadRegistry } from './infraWorkload.js';
9
9
  export type InfraAdapterId = keyof typeof INFRA_ADAPTER_CATALOG;
10
10
  export type InfraCapability = (typeof INFRA_ADAPTER_CATALOG)[InfraAdapterId]['capabilities'][number];
11
11
  export type InfraProviderFor<C extends InfraCapability> = {
@@ -1 +1 @@
1
- {"version":3,"file":"infraManifest.d.ts","sourceRoot":"","sources":["../../src/types/infraManifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infraManifest.d.ts","sourceRoot":"","sources":["../../src/types/infraManifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"infraManifest.js","sourceRoot":"","sources":["../../src/types/infraManifest.ts"],"names":[],"mappings":"","sourcesContent":["import type { AuthFlowConfig, AuthOAuthConfig } from '../auth';\nimport type { EntityRegistry, SerializableSet, ValueMap } from '../collections';\nimport type { ApiDefinitionRegistry, DataContractValue } from '../data';\nimport type { AppEnvironmentId } from '../environments';\nimport type { INFRA_ADAPTER_CATALOG, INFRA_RUNTIME_COMPATIBILITY } from '../infraCatalog';\nimport type { AuthProfileSpec, AuthScope, AuthSignInSpec, AuthSignUpSpec } from '../types';\nimport type { InfraControlPlaneCredentialRef } from './infraSecrets';\nimport type { InfraWorkloadRegistry } from './infraWorkload';\n\nexport type InfraAdapterId = keyof typeof INFRA_ADAPTER_CATALOG;\nexport type InfraCapability =\n (typeof INFRA_ADAPTER_CATALOG)[InfraAdapterId]['capabilities'][number];\nexport type InfraProviderFor<C extends InfraCapability> = {\n [P in InfraAdapterId]: C extends (typeof INFRA_ADAPTER_CATALOG)[P]['capabilities'][number]\n ? P\n : never;\n}[InfraAdapterId];\nexport type InfraComputeProviderId = InfraProviderFor<'compute'>;\nexport type InfraRuntimeProviderId = keyof typeof INFRA_RUNTIME_COMPATIBILITY;\n\n/** Non-secret provider configuration; credentials are resolved only at the execution boundary. */\nexport interface InfraComputeConfigMap {\n readonly local: { readonly workingDirectory?: string };\n readonly hetzner: {\n readonly location: string;\n readonly serverType?: string;\n readonly image?: string;\n readonly credentials?: InfraControlPlaneCredentialRef;\n readonly ssh?: {\n readonly user?: string;\n readonly port?: number;\n readonly credentials?: InfraControlPlaneCredentialRef;\n };\n };\n}\n\nexport interface InfraRuntimeConfigMap {\n readonly minikube: {\n readonly profile?: string;\n readonly driver?: 'docker' | 'podman';\n readonly cpus?: number;\n readonly memoryMiB?: number;\n };\n readonly k3s: {\n readonly version?: string;\n readonly topology?: { readonly servers: number; readonly agents: number };\n };\n readonly 'docker-compose': { readonly projectName?: string };\n}\n\nexport type InfraComputeSelection<P extends InfraComputeProviderId = InfraComputeProviderId> = {\n [K in P]: { readonly provider: K } & InfraComputeConfigMap[K];\n}[P];\nexport type InfraRuntimeSelection<P extends InfraRuntimeProviderId = InfraRuntimeProviderId> = {\n [K in P]: { readonly provider: K } & InfraRuntimeConfigMap[K];\n}[P];\n\n/** A discriminated union derived from the runtime catalog, never a Cartesian product. */\nexport type InfraDeploymentSpec = {\n [R in InfraRuntimeProviderId]: {\n readonly compute: InfraComputeSelection<(typeof INFRA_RUNTIME_COMPATIBILITY)[R][number]>;\n readonly runtime: InfraRuntimeSelection<R>;\n };\n}[InfraRuntimeProviderId];\n\n/** Portable S3-compatible persistence target; privileged values stay behind one credential ref. */\nexport interface InfraS3PersistenceTarget {\n readonly endpoint: string;\n readonly region: string;\n readonly bucket: string;\n readonly credentials: InfraControlPlaneCredentialRef;\n readonly forcePathStyle?: boolean;\n}\n\n/** Scheduled database protection intent; the selected database provider owns its concrete engine. */\nexport interface InfraScheduledDatabaseBackupSpec {\n readonly mode: 'scheduled';\n readonly target: InfraS3PersistenceTarget;\n readonly intervalHours?: number;\n}\n\nexport interface InfraDatabaseConfigMap {\n readonly supabase: {\n readonly tier?: 'dev' | 'prod';\n readonly backup?: InfraScheduledDatabaseBackupSpec;\n };\n}\nexport interface InfraObjectStorageConfigMap {\n readonly supabase: {\n readonly buckets?: SerializableSet;\n readonly backend?: InfraS3PersistenceTarget;\n };\n readonly r2: {\n readonly buckets?: SerializableSet;\n readonly accountId?: string;\n readonly credentials?: InfraControlPlaneCredentialRef;\n };\n}\nexport interface InfraAuthConfigMap {\n readonly supabase: {\n readonly scope?: AuthScope;\n readonly flow?: AuthFlowConfig;\n readonly signIn?: AuthSignInSpec;\n readonly signUp?: AuthSignUpSpec;\n readonly oauth?: AuthOAuthConfig;\n readonly profile?: AuthProfileSpec;\n };\n}\nexport interface InfraAuthzConfigMap {\n readonly cerbos: {\n readonly kind: 'RBAC' | 'ABAC';\n readonly policies?: ValueMap<string, string>;\n };\n}\nexport interface InfraSecretStoreConfigMap {\n readonly 'supabase-vault': { readonly schema?: string };\n}\n\nexport type InfraDatabaseSpec = {\n [P in InfraProviderFor<'database'>]: { readonly provider: P } & InfraDatabaseConfigMap[P];\n}[InfraProviderFor<'database'>];\nexport type InfraObjectStorageSpec = {\n [P in InfraProviderFor<'objectStorage'>]: {\n readonly provider: P;\n } & InfraObjectStorageConfigMap[P];\n}[InfraProviderFor<'objectStorage'>];\nexport type InfraAuthSpec = {\n [P in InfraProviderFor<'auth'>]: { readonly provider: P } & InfraAuthConfigMap[P];\n}[InfraProviderFor<'auth'>];\nexport type InfraAuthzSpec = {\n [P in InfraProviderFor<'authz'>]: { readonly provider: P } & InfraAuthzConfigMap[P];\n}[InfraProviderFor<'authz'>];\nexport type InfraSecretStoreSpec = {\n [P in InfraProviderFor<'secretStore'>]: { readonly provider: P } & InfraSecretStoreConfigMap[P];\n}[InfraProviderFor<'secretStore'>];\n\nexport interface InfraNetworkingTlsSpec {\n /** First production slice: runtime-managed ACME using the HTTP-01 challenge. */\n readonly mode: 'acme-http-01';\n /** ACME registration and expiry-notification contact. */\n readonly contactEmail: string;\n}\n\nexport interface InfraNetworkingSpec {\n /** Public DNS name intent, not automatic DNS/CDN vendor provisioning. */\n readonly domain?: string;\n /** Absolute HTTP(S) origin used by workloads that must know their external URL at startup. */\n readonly publicBaseUrl?: string;\n /** Runtime-neutral automatic TLS intent; the selected runtime owns concrete ingress configuration. */\n readonly tls?: InfraNetworkingTlsSpec;\n}\n\nexport interface InfraEnvironmentSpec {\n readonly deployment: InfraDeploymentSpec;\n readonly database?: InfraDatabaseSpec;\n readonly objectStorage?: InfraObjectStorageSpec;\n readonly auth?: InfraAuthSpec;\n readonly authz?: InfraAuthzSpec;\n readonly secretStore?: InfraSecretStoreSpec;\n readonly networking?: InfraNetworkingSpec;\n readonly workloads?: InfraWorkloadRegistry;\n}\n\nexport type InfraModuleId = string;\n\nexport interface InfraModuleSpec {\n readonly config?: DataContractValue;\n}\n\nexport type InfraModuleRegistry = EntityRegistry<InfraModuleId, InfraModuleSpec>;\n\nexport interface InfraManifest {\n readonly environments: Readonly<\n Record<'local', InfraEnvironmentSpec> &\n Partial<Record<Exclude<AppEnvironmentId, 'local'>, InfraEnvironmentSpec>>\n >;\n readonly apis?: ApiDefinitionRegistry;\n readonly modules: InfraModuleRegistry;\n}\n"]}
1
+ {"version":3,"file":"infraManifest.js","sourceRoot":"","sources":["../../src/types/infraManifest.ts"],"names":[],"mappings":"","sourcesContent":["import type { AuthFlowConfig, AuthOAuthConfig } from '../auth.js';\nimport type { EntityRegistry, SerializableSet, ValueMap } from '../collections.js';\nimport type { ApiDefinitionRegistry, DataContractValue } from '../data/index.js';\nimport type { AppEnvironmentId } from '../environments.js';\nimport type { INFRA_ADAPTER_CATALOG, INFRA_RUNTIME_COMPATIBILITY } from '../infraCatalog.js';\nimport type { AuthProfileSpec, AuthScope, AuthSignInSpec, AuthSignUpSpec } from '../types.js';\nimport type { InfraControlPlaneCredentialRef } from './infraSecrets.js';\nimport type { InfraWorkloadRegistry } from './infraWorkload.js';\n\nexport type InfraAdapterId = keyof typeof INFRA_ADAPTER_CATALOG;\nexport type InfraCapability =\n (typeof INFRA_ADAPTER_CATALOG)[InfraAdapterId]['capabilities'][number];\nexport type InfraProviderFor<C extends InfraCapability> = {\n [P in InfraAdapterId]: C extends (typeof INFRA_ADAPTER_CATALOG)[P]['capabilities'][number]\n ? P\n : never;\n}[InfraAdapterId];\nexport type InfraComputeProviderId = InfraProviderFor<'compute'>;\nexport type InfraRuntimeProviderId = keyof typeof INFRA_RUNTIME_COMPATIBILITY;\n\n/** Non-secret provider configuration; credentials are resolved only at the execution boundary. */\nexport interface InfraComputeConfigMap {\n readonly local: { readonly workingDirectory?: string };\n readonly hetzner: {\n readonly location: string;\n readonly serverType?: string;\n readonly image?: string;\n readonly credentials?: InfraControlPlaneCredentialRef;\n readonly ssh?: {\n readonly user?: string;\n readonly port?: number;\n readonly credentials?: InfraControlPlaneCredentialRef;\n };\n };\n}\n\nexport interface InfraRuntimeConfigMap {\n readonly minikube: {\n readonly profile?: string;\n readonly driver?: 'docker' | 'podman';\n readonly cpus?: number;\n readonly memoryMiB?: number;\n };\n readonly k3s: {\n readonly version?: string;\n readonly topology?: { readonly servers: number; readonly agents: number };\n };\n readonly 'docker-compose': { readonly projectName?: string };\n}\n\nexport type InfraComputeSelection<P extends InfraComputeProviderId = InfraComputeProviderId> = {\n [K in P]: { readonly provider: K } & InfraComputeConfigMap[K];\n}[P];\nexport type InfraRuntimeSelection<P extends InfraRuntimeProviderId = InfraRuntimeProviderId> = {\n [K in P]: { readonly provider: K } & InfraRuntimeConfigMap[K];\n}[P];\n\n/** A discriminated union derived from the runtime catalog, never a Cartesian product. */\nexport type InfraDeploymentSpec = {\n [R in InfraRuntimeProviderId]: {\n readonly compute: InfraComputeSelection<(typeof INFRA_RUNTIME_COMPATIBILITY)[R][number]>;\n readonly runtime: InfraRuntimeSelection<R>;\n };\n}[InfraRuntimeProviderId];\n\n/** Portable S3-compatible persistence target; privileged values stay behind one credential ref. */\nexport interface InfraS3PersistenceTarget {\n readonly endpoint: string;\n readonly region: string;\n readonly bucket: string;\n readonly credentials: InfraControlPlaneCredentialRef;\n readonly forcePathStyle?: boolean;\n}\n\n/** Scheduled database protection intent; the selected database provider owns its concrete engine. */\nexport interface InfraScheduledDatabaseBackupSpec {\n readonly mode: 'scheduled';\n readonly target: InfraS3PersistenceTarget;\n readonly intervalHours?: number;\n}\n\nexport interface InfraDatabaseConfigMap {\n readonly supabase: {\n readonly tier?: 'dev' | 'prod';\n readonly backup?: InfraScheduledDatabaseBackupSpec;\n };\n}\nexport interface InfraObjectStorageConfigMap {\n readonly supabase: {\n readonly buckets?: SerializableSet;\n readonly backend?: InfraS3PersistenceTarget;\n };\n readonly r2: {\n readonly buckets?: SerializableSet;\n readonly accountId?: string;\n readonly credentials?: InfraControlPlaneCredentialRef;\n };\n}\nexport interface InfraAuthConfigMap {\n readonly supabase: {\n readonly scope?: AuthScope;\n readonly flow?: AuthFlowConfig;\n readonly signIn?: AuthSignInSpec;\n readonly signUp?: AuthSignUpSpec;\n readonly oauth?: AuthOAuthConfig;\n readonly profile?: AuthProfileSpec;\n };\n}\nexport interface InfraAuthzConfigMap {\n readonly cerbos: {\n readonly kind: 'RBAC' | 'ABAC';\n readonly policies?: ValueMap<string, string>;\n };\n}\nexport interface InfraSecretStoreConfigMap {\n readonly 'supabase-vault': { readonly schema?: string };\n}\n\nexport type InfraDatabaseSpec = {\n [P in InfraProviderFor<'database'>]: { readonly provider: P } & InfraDatabaseConfigMap[P];\n}[InfraProviderFor<'database'>];\nexport type InfraObjectStorageSpec = {\n [P in InfraProviderFor<'objectStorage'>]: {\n readonly provider: P;\n } & InfraObjectStorageConfigMap[P];\n}[InfraProviderFor<'objectStorage'>];\nexport type InfraAuthSpec = {\n [P in InfraProviderFor<'auth'>]: { readonly provider: P } & InfraAuthConfigMap[P];\n}[InfraProviderFor<'auth'>];\nexport type InfraAuthzSpec = {\n [P in InfraProviderFor<'authz'>]: { readonly provider: P } & InfraAuthzConfigMap[P];\n}[InfraProviderFor<'authz'>];\nexport type InfraSecretStoreSpec = {\n [P in InfraProviderFor<'secretStore'>]: { readonly provider: P } & InfraSecretStoreConfigMap[P];\n}[InfraProviderFor<'secretStore'>];\n\nexport interface InfraNetworkingTlsSpec {\n /** First production slice: runtime-managed ACME using the HTTP-01 challenge. */\n readonly mode: 'acme-http-01';\n /** ACME registration and expiry-notification contact. */\n readonly contactEmail: string;\n}\n\nexport interface InfraNetworkingSpec {\n /** Public DNS name intent, not automatic DNS/CDN vendor provisioning. */\n readonly domain?: string;\n /** Absolute HTTP(S) origin used by workloads that must know their external URL at startup. */\n readonly publicBaseUrl?: string;\n /** Runtime-neutral automatic TLS intent; the selected runtime owns concrete ingress configuration. */\n readonly tls?: InfraNetworkingTlsSpec;\n}\n\nexport interface InfraEnvironmentSpec {\n readonly deployment: InfraDeploymentSpec;\n readonly database?: InfraDatabaseSpec;\n readonly objectStorage?: InfraObjectStorageSpec;\n readonly auth?: InfraAuthSpec;\n readonly authz?: InfraAuthzSpec;\n readonly secretStore?: InfraSecretStoreSpec;\n readonly networking?: InfraNetworkingSpec;\n readonly workloads?: InfraWorkloadRegistry;\n}\n\nexport type InfraModuleId = string;\n\nexport interface InfraModuleSpec {\n readonly config?: DataContractValue;\n}\n\nexport type InfraModuleRegistry = EntityRegistry<InfraModuleId, InfraModuleSpec>;\n\nexport interface InfraManifest {\n readonly environments: Readonly<\n Record<'local', InfraEnvironmentSpec> &\n Partial<Record<Exclude<AppEnvironmentId, 'local'>, InfraEnvironmentSpec>>\n >;\n readonly apis?: ApiDefinitionRegistry;\n readonly modules: InfraModuleRegistry;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { AppEnvironmentId } from '../environments';
1
+ import type { AppEnvironmentId } from '../environments.js';
2
2
  /** Bootstrap credentials cannot depend on the managed secret store being provisioned. */
3
3
  export interface InfraControlPlaneCredentialRef {
4
4
  readonly source: 'control-plane';
@@ -1 +1 @@
1
- {"version":3,"file":"infraSecrets.d.ts","sourceRoot":"","sources":["../../src/types/infraSecrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,yFAAyF;AACzF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wFAAwF;AACxF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"infraSecrets.d.ts","sourceRoot":"","sources":["../../src/types/infraSecrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,yFAAyF;AACzF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wFAAwF;AACxF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"infraSecrets.js","sourceRoot":"","sources":["../../src/types/infraSecrets.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppEnvironmentId } from '../environments';\n\n/** Bootstrap credentials cannot depend on the managed secret store being provisioned. */\nexport interface InfraControlPlaneCredentialRef {\n readonly source: 'control-plane';\n readonly name: string;\n}\n\n/** Privileged values are never serialized into manifests, ledgers or normal outputs. */\nexport interface InfraSecretReference {\n readonly source: 'secret-store';\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly ref: string;\n readonly key: string;\n}\n"]}
1
+ {"version":3,"file":"infraSecrets.js","sourceRoot":"","sources":["../../src/types/infraSecrets.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppEnvironmentId } from '../environments.js';\n\n/** Bootstrap credentials cannot depend on the managed secret store being provisioned. */\nexport interface InfraControlPlaneCredentialRef {\n readonly source: 'control-plane';\n readonly name: string;\n}\n\n/** Privileged values are never serialized into manifests, ledgers or normal outputs. */\nexport interface InfraSecretReference {\n readonly source: 'secret-store';\n readonly projectId: string;\n readonly environment: AppEnvironmentId;\n readonly ref: string;\n readonly key: string;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { InfraControlPlaneCredentialRef } from './infraSecrets';
1
+ import type { InfraControlPlaneCredentialRef } from './infraSecrets.js';
2
2
  /** Portable runtime target state contains credential identity only, never resolved values. */
3
3
  export type InfraComputeTarget = {
4
4
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"infraTargets.d.ts","sourceRoot":"","sources":["../../src/types/infraTargets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAErE,8FAA8F;AAC9F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1C,GAAG,CACA;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,8BAA8B,CAAC;IACpD,+FAA+F;IAC/F,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CACJ,CAAC"}
1
+ {"version":3,"file":"infraTargets.d.ts","sourceRoot":"","sources":["../../src/types/infraTargets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAExE,8FAA8F;AAC9F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1C,GAAG,CACA;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,8BAA8B,CAAC;IACpD,+FAA+F;IAC/F,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"infraTargets.js","sourceRoot":"","sources":["../../src/types/infraTargets.ts"],"names":[],"mappings":"","sourcesContent":["import type { InfraControlPlaneCredentialRef } from './infraSecrets';\n\n/** Portable runtime target state contains credential identity only, never resolved values. */\nexport type InfraComputeTarget = {\n readonly id: string;\n readonly os: 'linux' | 'darwin' | 'windows';\n readonly architecture: 'amd64' | 'arm64';\n} & (\n | { readonly kind: 'local-host' }\n | {\n readonly kind: 'ssh-host';\n readonly host: string;\n readonly port: number;\n readonly user: string;\n readonly credential: InfraControlPlaneCredentialRef;\n /** Expected host key supplied by the compute owner; runtimes must verify host authenticity. */\n readonly hostKeyFingerprint: string;\n }\n);\n"]}
1
+ {"version":3,"file":"infraTargets.js","sourceRoot":"","sources":["../../src/types/infraTargets.ts"],"names":[],"mappings":"","sourcesContent":["import type { InfraControlPlaneCredentialRef } from './infraSecrets.js';\n\n/** Portable runtime target state contains credential identity only, never resolved values. */\nexport type InfraComputeTarget = {\n readonly id: string;\n readonly os: 'linux' | 'darwin' | 'windows';\n readonly architecture: 'amd64' | 'arm64';\n} & (\n | { readonly kind: 'local-host' }\n | {\n readonly kind: 'ssh-host';\n readonly host: string;\n readonly port: number;\n readonly user: string;\n readonly credential: InfraControlPlaneCredentialRef;\n /** Expected host key supplied by the compute owner; runtimes must verify host authenticity. */\n readonly hostKeyFingerprint: string;\n }\n);\n"]}
@@ -1,5 +1,5 @@
1
- import type { EntityRegistry, SerializableSet, ValueMap } from '../collections';
2
- import type { InfraControlPlaneCredentialRef, InfraSecretReference } from './infraSecrets';
1
+ import type { EntityRegistry, SerializableSet, ValueMap } from '../collections.js';
2
+ import type { InfraControlPlaneCredentialRef, InfraSecretReference } from './infraSecrets.js';
3
3
  export interface InfraWorkloadArtifact {
4
4
  readonly kind: 'image';
5
5
  /** Prebuilt image, optionally pinned by digest. No registry/build provider requirement. */
@@ -1 +1 @@
1
- {"version":3,"file":"infraWorkload.d.ts","sourceRoot":"","sources":["../../src/types/infraWorkload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infraWorkload.d.ts","sourceRoot":"","sources":["../../src/types/infraWorkload.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"infraWorkload.js","sourceRoot":"","sources":["../../src/types/infraWorkload.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntityRegistry, SerializableSet, ValueMap } from '../collections';\nimport type { InfraControlPlaneCredentialRef, InfraSecretReference } from './infraSecrets';\n\nexport interface InfraWorkloadArtifact {\n readonly kind: 'image';\n /** Prebuilt image, optionally pinned by digest. No registry/build provider requirement. */\n readonly image: string;\n}\n\nexport type InfraWorkloadScalarValue =\n | { readonly kind: 'literal'; readonly value: string }\n | { readonly kind: 'secret'; readonly reference: InfraSecretReference }\n | {\n readonly kind: 'credential';\n readonly reference: InfraControlPlaneCredentialRef;\n readonly key: string;\n }\n | { readonly kind: 'output'; readonly resourceId: string; readonly output: string };\n\nexport type InfraWorkloadValue =\n | InfraWorkloadScalarValue\n | {\n readonly kind: 'template';\n /** Ordered scalar segments materialized into one value only at the runtime boundary. */\n readonly segments: readonly InfraWorkloadScalarValue[];\n };\n\nexport interface InfraWorkloadPort {\n readonly port: number;\n readonly protocol?: 'tcp' | 'udp';\n /** Exact external listener port requested for a public single-replica workload. */\n readonly publishedPort?: number;\n}\n\nexport type InfraWorkloadHealthSpec = {\n readonly intervalSeconds?: number;\n readonly timeoutSeconds?: number;\n readonly failureThreshold?: number;\n} & (\n | { readonly kind: 'http'; readonly port: number; readonly path: string }\n | { readonly kind: 'tcp'; readonly port: number }\n | { readonly kind: 'command'; readonly command: readonly string[] }\n);\n\nexport interface InfraWorkloadResourceSpec {\n readonly cpuMillis?: number;\n readonly memoryMiB?: number;\n}\n\nexport interface InfraWorkloadVolumeSpec {\n readonly id: string;\n readonly mountPath: string;\n readonly sizeGiB: number;\n /** Seed a newly created empty volume from the image contents at mountPath before workload start. */\n readonly seed?: 'image';\n /** Persistence survives down and is retained by default on destroy. */\n readonly retention: 'retain' | 'delete-on-destroy';\n}\n\nexport type InfraWorkloadId = string;\nexport type InfraWorkloadPortRegistry = EntityRegistry<string, InfraWorkloadPort>;\nexport type InfraWorkloadFileMap = ValueMap<string, InfraWorkloadValue>;\nexport type InfraWorkloadVolumeRegistry = EntityRegistry<string, InfraWorkloadVolumeSpec, 'id'>;\n\nexport interface InfraWorkloadSpec {\n readonly id: InfraWorkloadId;\n readonly artifact: InfraWorkloadArtifact;\n readonly command?: readonly string[];\n readonly args?: readonly string[];\n readonly ports?: InfraWorkloadPortRegistry;\n readonly environment?: ValueMap<string, InfraWorkloadValue>;\n readonly files?: InfraWorkloadFileMap;\n readonly health?: InfraWorkloadHealthSpec;\n readonly resources?: InfraWorkloadResourceSpec;\n readonly persistence?: InfraWorkloadVolumeRegistry;\n readonly exposure?: 'internal' | 'public';\n readonly replicas?: number;\n /** IDs in the composed desired-state graph; the orchestrator validates missing/cyclic edges. */\n readonly dependsOn?: SerializableSet;\n}\n\nexport type InfraWorkloadRegistry = EntityRegistry<InfraWorkloadId, InfraWorkloadSpec, 'id'>;\n"]}
1
+ {"version":3,"file":"infraWorkload.js","sourceRoot":"","sources":["../../src/types/infraWorkload.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntityRegistry, SerializableSet, ValueMap } from '../collections.js';\nimport type { InfraControlPlaneCredentialRef, InfraSecretReference } from './infraSecrets.js';\n\nexport interface InfraWorkloadArtifact {\n readonly kind: 'image';\n /** Prebuilt image, optionally pinned by digest. No registry/build provider requirement. */\n readonly image: string;\n}\n\nexport type InfraWorkloadScalarValue =\n | { readonly kind: 'literal'; readonly value: string }\n | { readonly kind: 'secret'; readonly reference: InfraSecretReference }\n | {\n readonly kind: 'credential';\n readonly reference: InfraControlPlaneCredentialRef;\n readonly key: string;\n }\n | { readonly kind: 'output'; readonly resourceId: string; readonly output: string };\n\nexport type InfraWorkloadValue =\n | InfraWorkloadScalarValue\n | {\n readonly kind: 'template';\n /** Ordered scalar segments materialized into one value only at the runtime boundary. */\n readonly segments: readonly InfraWorkloadScalarValue[];\n };\n\nexport interface InfraWorkloadPort {\n readonly port: number;\n readonly protocol?: 'tcp' | 'udp';\n /** Exact external listener port requested for a public single-replica workload. */\n readonly publishedPort?: number;\n}\n\nexport type InfraWorkloadHealthSpec = {\n readonly intervalSeconds?: number;\n readonly timeoutSeconds?: number;\n readonly failureThreshold?: number;\n} & (\n | { readonly kind: 'http'; readonly port: number; readonly path: string }\n | { readonly kind: 'tcp'; readonly port: number }\n | { readonly kind: 'command'; readonly command: readonly string[] }\n);\n\nexport interface InfraWorkloadResourceSpec {\n readonly cpuMillis?: number;\n readonly memoryMiB?: number;\n}\n\nexport interface InfraWorkloadVolumeSpec {\n readonly id: string;\n readonly mountPath: string;\n readonly sizeGiB: number;\n /** Seed a newly created empty volume from the image contents at mountPath before workload start. */\n readonly seed?: 'image';\n /** Persistence survives down and is retained by default on destroy. */\n readonly retention: 'retain' | 'delete-on-destroy';\n}\n\nexport type InfraWorkloadId = string;\nexport type InfraWorkloadPortRegistry = EntityRegistry<string, InfraWorkloadPort>;\nexport type InfraWorkloadFileMap = ValueMap<string, InfraWorkloadValue>;\nexport type InfraWorkloadVolumeRegistry = EntityRegistry<string, InfraWorkloadVolumeSpec, 'id'>;\n\nexport interface InfraWorkloadSpec {\n readonly id: InfraWorkloadId;\n readonly artifact: InfraWorkloadArtifact;\n readonly command?: readonly string[];\n readonly args?: readonly string[];\n readonly ports?: InfraWorkloadPortRegistry;\n readonly environment?: ValueMap<string, InfraWorkloadValue>;\n readonly files?: InfraWorkloadFileMap;\n readonly health?: InfraWorkloadHealthSpec;\n readonly resources?: InfraWorkloadResourceSpec;\n readonly persistence?: InfraWorkloadVolumeRegistry;\n readonly exposure?: 'internal' | 'public';\n readonly replicas?: number;\n /** IDs in the composed desired-state graph; the orchestrator validates missing/cyclic edges. */\n readonly dependsOn?: SerializableSet;\n}\n\nexport type InfraWorkloadRegistry = EntityRegistry<InfraWorkloadId, InfraWorkloadSpec, 'id'>;\n"]}
package/dist/types.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import type { ColorHarmony } from '@ankhorage/color-theory';
2
- import type { AuthIdentifierKind, AuthSignUpField } from './auth';
3
- import type { BindingExpression, ComponentDataBindingRegistry, ScreenDataLoaderDefinition } from './bindings';
4
- import type { EntityRegistry } from './collections';
5
- import type { DataSourceRegistry } from './data';
6
- import type { AppDeployManifest } from './deploy';
7
- import type { InfraManifest } from './infra';
8
- import type { MediaAssetReference, MediaManifest } from './media';
9
- import type { AppNavigatorManifest } from './navigator';
10
- import type { RepositoryManifest } from './repository';
11
- import type { ScreenRequirements } from './requirements';
12
- import type { SerializableValue } from './serializable';
13
- import type { AppStateSpec } from './state';
14
- import type { ThemeGlobalTokenOverrides, ThemeRecipeOverrides } from './theme';
2
+ import type { AuthIdentifierKind, AuthSignUpField } from './auth.js';
3
+ import type { BindingExpression, ComponentDataBindingRegistry, ScreenDataLoaderDefinition } from './bindings.js';
4
+ import type { EntityRegistry } from './collections.js';
5
+ import type { DataSourceRegistry } from './data/index.js';
6
+ import type { AppDeployManifest } from './deploy.js';
7
+ import type { InfraManifest } from './infra.js';
8
+ import type { MediaAssetReference, MediaManifest } from './media.js';
9
+ import type { AppNavigatorManifest } from './navigator.js';
10
+ import type { RepositoryManifest } from './repository.js';
11
+ import type { ScreenRequirements } from './requirements.js';
12
+ import type { SerializableValue } from './serializable.js';
13
+ import type { AppStateSpec } from './state.js';
14
+ import type { ThemeGlobalTokenOverrides, ThemeRecipeOverrides } from './theme.js';
15
15
  export interface ThemeModeConfig {
16
16
  primaryColor: string;
17
17
  harmony: ColorHarmony;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}