@ankhorage/contracts 26.2.1 → 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 (261) hide show
  1. package/CHANGELOG.md +6 -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/media.d.ts +1 -1
  129. package/dist/media.d.ts.map +1 -1
  130. package/dist/media.js.map +1 -1
  131. package/dist/navigator/catalog.d.ts +3 -3
  132. package/dist/navigator/catalog.d.ts.map +1 -1
  133. package/dist/navigator/catalog.js.map +1 -1
  134. package/dist/navigator/extensions.d.ts +2 -2
  135. package/dist/navigator/extensions.d.ts.map +1 -1
  136. package/dist/navigator/extensions.js.map +1 -1
  137. package/dist/navigator/generation.d.ts +1 -1
  138. package/dist/navigator/generation.d.ts.map +1 -1
  139. package/dist/navigator/generation.js.map +1 -1
  140. package/dist/navigator/planning.d.ts +3 -3
  141. package/dist/navigator/planning.d.ts.map +1 -1
  142. package/dist/navigator/planning.js.map +1 -1
  143. package/dist/navigator.d.ts +7 -7
  144. package/dist/navigator.d.ts.map +1 -1
  145. package/dist/navigator.js +1 -1
  146. package/dist/navigator.js.map +1 -1
  147. package/dist/requirements.d.ts +1 -1
  148. package/dist/requirements.d.ts.map +1 -1
  149. package/dist/requirements.js.map +1 -1
  150. package/dist/runtimeCallbacks.d.ts +1 -1
  151. package/dist/runtimeCallbacks.d.ts.map +1 -1
  152. package/dist/runtimeCallbacks.js.map +1 -1
  153. package/dist/state.d.ts +1 -1
  154. package/dist/state.d.ts.map +1 -1
  155. package/dist/state.js.map +1 -1
  156. package/dist/structure/generated.d.ts +2 -2
  157. package/dist/structure/generated.js +2 -2
  158. package/dist/structure/generated.js.map +1 -1
  159. package/dist/structure/index.d.ts +1 -1
  160. package/dist/structure/index.d.ts.map +1 -1
  161. package/dist/structure/index.js.map +1 -1
  162. package/dist/structure/isStructureDescriptor.d.ts +1 -1
  163. package/dist/structure/isStructureDescriptor.d.ts.map +1 -1
  164. package/dist/structure/isStructureDescriptor.js.map +1 -1
  165. package/dist/structure/types.d.ts +1 -1
  166. package/dist/structure/types.d.ts.map +1 -1
  167. package/dist/structure/types.js.map +1 -1
  168. package/dist/theme.d.ts +1 -1
  169. package/dist/theme.d.ts.map +1 -1
  170. package/dist/theme.js.map +1 -1
  171. package/dist/types/appManifest.d.ts +1 -1
  172. package/dist/types/appManifest.d.ts.map +1 -1
  173. package/dist/types/appManifest.js.map +1 -1
  174. package/dist/types/infraAdapters.d.ts +7 -7
  175. package/dist/types/infraAdapters.d.ts.map +1 -1
  176. package/dist/types/infraAdapters.js.map +1 -1
  177. package/dist/types/infraLifecycle.d.ts +4 -4
  178. package/dist/types/infraLifecycle.d.ts.map +1 -1
  179. package/dist/types/infraLifecycle.js.map +1 -1
  180. package/dist/types/infraManifest.d.ts +8 -8
  181. package/dist/types/infraManifest.d.ts.map +1 -1
  182. package/dist/types/infraManifest.js.map +1 -1
  183. package/dist/types/infraSecrets.d.ts +1 -1
  184. package/dist/types/infraSecrets.d.ts.map +1 -1
  185. package/dist/types/infraSecrets.js.map +1 -1
  186. package/dist/types/infraTargets.d.ts +1 -1
  187. package/dist/types/infraTargets.d.ts.map +1 -1
  188. package/dist/types/infraTargets.js.map +1 -1
  189. package/dist/types/infraWorkload.d.ts +2 -2
  190. package/dist/types/infraWorkload.d.ts.map +1 -1
  191. package/dist/types/infraWorkload.js.map +1 -1
  192. package/dist/types.d.ts +13 -13
  193. package/dist/types.d.ts.map +1 -1
  194. package/dist/types.js.map +1 -1
  195. package/dist/ui.d.ts +2 -2
  196. package/dist/ui.d.ts.map +1 -1
  197. package/dist/ui.js.map +1 -1
  198. package/package.json +3 -3
  199. package/src/appManifest/bindings.ts +1 -1
  200. package/src/appManifest/constants.ts +1 -1
  201. package/src/appManifest/dataSources.ts +2 -2
  202. package/src/appManifest/isAppManifest.ts +9 -9
  203. package/src/appManifest/isAppStateSpec.ts +1 -1
  204. package/src/appManifest/isManifestValue.ts +1 -1
  205. package/src/appManifest/media.ts +1 -1
  206. package/src/appManifest/navigator.ts +3 -3
  207. package/src/appManifest/navigatorOptions.ts +1 -1
  208. package/src/appManifest/parseAppManifest.ts +2 -2
  209. package/src/appManifest/screens.ts +6 -6
  210. package/src/appManifest.ts +4 -4
  211. package/src/auth.ts +6 -6
  212. package/src/bindings.ts +3 -3
  213. package/src/cli/index.ts +1 -1
  214. package/src/data/apis.ts +6 -6
  215. package/src/data/diagnostics.ts +1 -1
  216. package/src/data/endpoints.ts +5 -5
  217. package/src/data/index.ts +10 -10
  218. package/src/data/isApiDefinitionRegistry.ts +3 -3
  219. package/src/data/operations.ts +5 -5
  220. package/src/data/refs.ts +2 -2
  221. package/src/data/schemas.ts +3 -3
  222. package/src/data/sources.ts +6 -6
  223. package/src/data/values.ts +1 -1
  224. package/src/icon.ts +1 -1
  225. package/src/index.ts +24 -24
  226. package/src/infra/isInfraAdapterDescriptor.ts +3 -3
  227. package/src/infra/isInfraAuthSpec.ts +6 -6
  228. package/src/infra/isInfraCredentialRef.ts +1 -1
  229. package/src/infra/isInfraDeploymentSpec.ts +6 -6
  230. package/src/infra/isInfraEnvironmentSpec.ts +10 -10
  231. package/src/infra/isInfraManifest.ts +7 -7
  232. package/src/infra/isInfraWorkloadHealth.ts +2 -2
  233. package/src/infra/isInfraWorkloadSpec.ts +7 -7
  234. package/src/infra/isInfraWorkloadValue.ts +4 -4
  235. package/src/infra/parseInfraManifest.ts +3 -3
  236. package/src/infra/validateInfraAdapterSelection.ts +5 -5
  237. package/src/infra.ts +15 -15
  238. package/src/infraPackedConsumer.test.ts +102 -0
  239. package/src/media.ts +1 -1
  240. package/src/navigator/catalog.ts +3 -3
  241. package/src/navigator/extensions.ts +2 -2
  242. package/src/navigator/generation.ts +1 -1
  243. package/src/navigator/planning.ts +3 -3
  244. package/src/navigator.ts +7 -7
  245. package/src/requirements.ts +1 -1
  246. package/src/runtimeCallbacks.ts +1 -1
  247. package/src/state.ts +1 -1
  248. package/src/structure/generated.ts +2 -2
  249. package/src/structure/index.ts +1 -1
  250. package/src/structure/isStructureDescriptor.ts +1 -1
  251. package/src/structure/types.ts +1 -1
  252. package/src/theme.ts +1 -1
  253. package/src/types/appManifest.ts +1 -1
  254. package/src/types/infraAdapters.ts +7 -7
  255. package/src/types/infraLifecycle.ts +4 -4
  256. package/src/types/infraManifest.ts +8 -8
  257. package/src/types/infraSecrets.ts +1 -1
  258. package/src/types/infraTargets.ts +1 -1
  259. package/src/types/infraWorkload.ts +2 -2
  260. package/src/types.ts +13 -13
  261. package/src/ui.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"isApiDefinitionRegistry.js","sourceRoot":"","sources":["../../src/data/isApiDefinitionRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["import { hasOnlyKeys, isRecord } from '@ankhorage/utility/object';\nimport { isNonEmptyString, isOptionalString } from '@ankhorage/utility/string';\n\nimport { isSerializableValue } from '../serializable';\nimport type { ApiDefinition, ApiDefinitionRegistry } from './apis';\nimport { isCredentialRef, isDataEndpointRegistry, isDataSchemaRegistry } from './dataValidation';\n\nconst API_BASE_KEYS = [\n 'id',\n 'origin',\n 'protocol',\n 'name',\n 'description',\n 'credential',\n 'endpoints',\n 'schemas',\n 'metadata',\n] as const;\nconst EXTERNAL_REST_KEYS = [...API_BASE_KEYS, 'baseUrl', 'openApi'] as const;\nconst EXTERNAL_GRAPHQL_KEYS = [...API_BASE_KEYS, 'endpointUrl', 'introspection'] as const;\nconst INTERNAL_REST_KEYS = [...API_BASE_KEYS, 'basePath'] as const;\nconst OPEN_API_KEYS = ['url', 'documentId', 'version'] as const;\nconst INTROSPECTION_KEYS = ['enabled', 'schemaVersion'] as const;\n\n/*** Validate API definitions in the canonical registry and require key/identity consistency. */\nexport function isApiDefinitionRegistry(value: unknown): value is ApiDefinitionRegistry {\n return (\n isRecord(value) &&\n Object.entries(value).every(\n ([registryKey, api]) => isApiDefinition(api) && registryKey === api.id,\n )\n );\n}\n\n/*** Validate one API definition against its origin and protocol branch. */\nfunction isApiDefinition(value: unknown): value is ApiDefinition {\n if (!isApiBaseDefinition(value)) return false;\n if (value.origin === 'external' && value.protocol === 'rest') return isExternalRestApi(value);\n if (value.origin === 'external' && value.protocol === 'graphql') {\n return isExternalGraphQlApi(value);\n }\n if (value.origin === 'internal' && value.protocol === 'rest') return isInternalRestApi(value);\n return false;\n}\n\n/*** Validate common API identity, endpoint, schema and authored metadata fields. */\nfunction isApiBaseDefinition(value: unknown): value is Record<string, unknown> {\n return (\n isRecord(value) &&\n isNonEmptyString(value.id) &&\n (value.origin === 'external' || value.origin === 'internal') &&\n (value.protocol === 'graphql' || value.protocol === 'rest') &&\n [value.name, value.description].every(isOptionalString) &&\n (value.credential === undefined || isCredentialRef(value.credential)) &&\n isDataEndpointRegistry(value.endpoints) &&\n (value.schemas === undefined || isDataSchemaRegistry(value.schemas)) &&\n (value.metadata === undefined || isSerializableValue(value.metadata))\n );\n}\n\n/*** Validate external REST endpoint and optional OpenAPI metadata. */\nfunction isExternalRestApi(value: Record<string, unknown>): boolean {\n return (\n hasOnlyKeys(value, EXTERNAL_REST_KEYS) &&\n isNonEmptyString(value.baseUrl) &&\n (value.openApi === undefined || isOpenApiDocumentRef(value.openApi))\n );\n}\n\n/*** Validate external GraphQL endpoint and optional introspection metadata. */\nfunction isExternalGraphQlApi(value: Record<string, unknown>): boolean {\n return (\n hasOnlyKeys(value, EXTERNAL_GRAPHQL_KEYS) &&\n isNonEmptyString(value.endpointUrl) &&\n (value.introspection === undefined || isGraphQlIntrospection(value.introspection))\n );\n}\n\n/*** Validate the supported internal REST API configuration. */\nfunction isInternalRestApi(value: Record<string, unknown>): boolean {\n return hasOnlyKeys(value, INTERNAL_REST_KEYS) && isNonEmptyString(value.basePath);\n}\n\n/*** Validate optional OpenAPI document location and version fields. */\nfunction isOpenApiDocumentRef(value: unknown): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, OPEN_API_KEYS) &&\n isOptionalString(value.url) &&\n isOptionalString(value.documentId) &&\n isOptionalString(value.version)\n );\n}\n\n/*** Validate explicit GraphQL introspection settings. */\nfunction isGraphQlIntrospection(value: unknown): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, INTROSPECTION_KEYS) &&\n typeof value.enabled === 'boolean' &&\n isOptionalString(value.schemaVersion)\n );\n}\n"]}
1
+ {"version":3,"file":"isApiDefinitionRegistry.js","sourceRoot":"","sources":["../../src/data/isApiDefinitionRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["import { hasOnlyKeys, isRecord } from '@ankhorage/utility/object';\nimport { isNonEmptyString, isOptionalString } from '@ankhorage/utility/string';\n\nimport { isSerializableValue } from '../serializable.js';\nimport type { ApiDefinition, ApiDefinitionRegistry } from './apis.js';\nimport { isCredentialRef, isDataEndpointRegistry, isDataSchemaRegistry } from './dataValidation.js';\n\nconst API_BASE_KEYS = [\n 'id',\n 'origin',\n 'protocol',\n 'name',\n 'description',\n 'credential',\n 'endpoints',\n 'schemas',\n 'metadata',\n] as const;\nconst EXTERNAL_REST_KEYS = [...API_BASE_KEYS, 'baseUrl', 'openApi'] as const;\nconst EXTERNAL_GRAPHQL_KEYS = [...API_BASE_KEYS, 'endpointUrl', 'introspection'] as const;\nconst INTERNAL_REST_KEYS = [...API_BASE_KEYS, 'basePath'] as const;\nconst OPEN_API_KEYS = ['url', 'documentId', 'version'] as const;\nconst INTROSPECTION_KEYS = ['enabled', 'schemaVersion'] as const;\n\n/*** Validate API definitions in the canonical registry and require key/identity consistency. */\nexport function isApiDefinitionRegistry(value: unknown): value is ApiDefinitionRegistry {\n return (\n isRecord(value) &&\n Object.entries(value).every(\n ([registryKey, api]) => isApiDefinition(api) && registryKey === api.id,\n )\n );\n}\n\n/*** Validate one API definition against its origin and protocol branch. */\nfunction isApiDefinition(value: unknown): value is ApiDefinition {\n if (!isApiBaseDefinition(value)) return false;\n if (value.origin === 'external' && value.protocol === 'rest') return isExternalRestApi(value);\n if (value.origin === 'external' && value.protocol === 'graphql') {\n return isExternalGraphQlApi(value);\n }\n if (value.origin === 'internal' && value.protocol === 'rest') return isInternalRestApi(value);\n return false;\n}\n\n/*** Validate common API identity, endpoint, schema and authored metadata fields. */\nfunction isApiBaseDefinition(value: unknown): value is Record<string, unknown> {\n return (\n isRecord(value) &&\n isNonEmptyString(value.id) &&\n (value.origin === 'external' || value.origin === 'internal') &&\n (value.protocol === 'graphql' || value.protocol === 'rest') &&\n [value.name, value.description].every(isOptionalString) &&\n (value.credential === undefined || isCredentialRef(value.credential)) &&\n isDataEndpointRegistry(value.endpoints) &&\n (value.schemas === undefined || isDataSchemaRegistry(value.schemas)) &&\n (value.metadata === undefined || isSerializableValue(value.metadata))\n );\n}\n\n/*** Validate external REST endpoint and optional OpenAPI metadata. */\nfunction isExternalRestApi(value: Record<string, unknown>): boolean {\n return (\n hasOnlyKeys(value, EXTERNAL_REST_KEYS) &&\n isNonEmptyString(value.baseUrl) &&\n (value.openApi === undefined || isOpenApiDocumentRef(value.openApi))\n );\n}\n\n/*** Validate external GraphQL endpoint and optional introspection metadata. */\nfunction isExternalGraphQlApi(value: Record<string, unknown>): boolean {\n return (\n hasOnlyKeys(value, EXTERNAL_GRAPHQL_KEYS) &&\n isNonEmptyString(value.endpointUrl) &&\n (value.introspection === undefined || isGraphQlIntrospection(value.introspection))\n );\n}\n\n/*** Validate the supported internal REST API configuration. */\nfunction isInternalRestApi(value: Record<string, unknown>): boolean {\n return hasOnlyKeys(value, INTERNAL_REST_KEYS) && isNonEmptyString(value.basePath);\n}\n\n/*** Validate optional OpenAPI document location and version fields. */\nfunction isOpenApiDocumentRef(value: unknown): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, OPEN_API_KEYS) &&\n isOptionalString(value.url) &&\n isOptionalString(value.documentId) &&\n isOptionalString(value.version)\n );\n}\n\n/*** Validate explicit GraphQL introspection settings. */\nfunction isGraphQlIntrospection(value: unknown): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, INTROSPECTION_KEYS) &&\n typeof value.enabled === 'boolean' &&\n isOptionalString(value.schemaVersion)\n );\n}\n"]}
@@ -1,8 +1,8 @@
1
- import type { EntityRegistry } from '../collections';
2
- import type { EndpointId, OperationId } from './ids';
3
- import type { CredentialRef } from './refs';
4
- import type { DataSchemaSlot } from './schemas';
5
- import type { DataContractValue } from './values';
1
+ import type { EntityRegistry } from '../collections.js';
2
+ import type { EndpointId, OperationId } from './ids.js';
3
+ import type { CredentialRef } from './refs.js';
4
+ import type { DataSchemaSlot } from './schemas.js';
5
+ import type { DataContractValue } from './values.js';
6
6
  export type DataOperationIntent = 'action' | 'create' | 'delete' | 'read' | 'update';
7
7
  export type DataOperationMethod = 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT' | (string & {});
8
8
  export type DataOperationProtocol = 'database' | 'graphql' | 'http' | (string & {});
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/data/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/data/operations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/data/operations.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntityRegistry } from '../collections';\nimport type { EndpointId, OperationId } from './ids';\nimport type { CredentialRef } from './refs';\nimport type { DataSchemaSlot } from './schemas';\nimport type { DataContractValue } from './values';\n\nexport type DataOperationIntent = 'action' | 'create' | 'delete' | 'read' | 'update';\n\nexport type DataOperationMethod =\n 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT' | (string & {});\n\nexport type DataOperationProtocol = 'database' | 'graphql' | 'http' | (string & {});\n\nexport type DataOperationParameterLocation = 'body' | 'cookie' | 'header' | 'path' | 'query';\n\nexport interface DataOperationParameter extends DataSchemaSlot {\n readonly name: string;\n readonly location: DataOperationParameterLocation;\n readonly required?: boolean;\n readonly description?: string;\n readonly default?: DataContractValue;\n}\n\nexport interface DataOperationRequest extends DataSchemaSlot {\n readonly parameters?: readonly DataOperationParameter[];\n readonly contentType?: string;\n}\n\nexport interface DataOperationResponse extends DataSchemaSlot {\n readonly status?: number | string;\n readonly contentType?: string;\n readonly description?: string;\n}\n\nexport interface DataOperationPagination {\n readonly kind: 'cursor' | 'limit-offset' | 'page' | 'unknown' | (string & {});\n readonly cursorPath?: string;\n readonly limitParameter?: string;\n readonly offsetParameter?: string;\n readonly pageParameter?: string;\n readonly pageSizeParameter?: string;\n}\n\nexport interface DataOperationConfig {\n readonly id: OperationId;\n readonly endpointId?: EndpointId;\n readonly name?: string;\n readonly description?: string;\n readonly protocol: DataOperationProtocol;\n readonly intent: DataOperationIntent;\n readonly method?: DataOperationMethod;\n readonly path?: string;\n readonly request?: DataOperationRequest;\n readonly response?: DataOperationResponse;\n readonly pagination?: DataOperationPagination;\n readonly credential?: CredentialRef;\n readonly metadata?: DataContractValue;\n}\n\nexport type DataOperationRegistry = EntityRegistry<OperationId, DataOperationConfig, 'id'>;\n"]}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/data/operations.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntityRegistry } from '../collections.js';\nimport type { EndpointId, OperationId } from './ids.js';\nimport type { CredentialRef } from './refs.js';\nimport type { DataSchemaSlot } from './schemas.js';\nimport type { DataContractValue } from './values.js';\n\nexport type DataOperationIntent = 'action' | 'create' | 'delete' | 'read' | 'update';\n\nexport type DataOperationMethod =\n 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT' | (string & {});\n\nexport type DataOperationProtocol = 'database' | 'graphql' | 'http' | (string & {});\n\nexport type DataOperationParameterLocation = 'body' | 'cookie' | 'header' | 'path' | 'query';\n\nexport interface DataOperationParameter extends DataSchemaSlot {\n readonly name: string;\n readonly location: DataOperationParameterLocation;\n readonly required?: boolean;\n readonly description?: string;\n readonly default?: DataContractValue;\n}\n\nexport interface DataOperationRequest extends DataSchemaSlot {\n readonly parameters?: readonly DataOperationParameter[];\n readonly contentType?: string;\n}\n\nexport interface DataOperationResponse extends DataSchemaSlot {\n readonly status?: number | string;\n readonly contentType?: string;\n readonly description?: string;\n}\n\nexport interface DataOperationPagination {\n readonly kind: 'cursor' | 'limit-offset' | 'page' | 'unknown' | (string & {});\n readonly cursorPath?: string;\n readonly limitParameter?: string;\n readonly offsetParameter?: string;\n readonly pageParameter?: string;\n readonly pageSizeParameter?: string;\n}\n\nexport interface DataOperationConfig {\n readonly id: OperationId;\n readonly endpointId?: EndpointId;\n readonly name?: string;\n readonly description?: string;\n readonly protocol: DataOperationProtocol;\n readonly intent: DataOperationIntent;\n readonly method?: DataOperationMethod;\n readonly path?: string;\n readonly request?: DataOperationRequest;\n readonly response?: DataOperationResponse;\n readonly pagination?: DataOperationPagination;\n readonly credential?: CredentialRef;\n readonly metadata?: DataContractValue;\n}\n\nexport type DataOperationRegistry = EntityRegistry<OperationId, DataOperationConfig, 'id'>;\n"]}
@@ -1,5 +1,5 @@
1
- import type { AdapterId, CredentialId } from './ids';
2
- import type { DataContractValue } from './values';
1
+ import type { AdapterId, CredentialId } from './ids.js';
2
+ import type { DataContractValue } from './values.js';
3
3
  export type CredentialKind = 'apiKey' | 'basic' | 'bearer' | 'custom' | 'oauth2';
4
4
  export interface CredentialRef {
5
5
  readonly id: CredentialId;
@@ -1 +1 @@
1
- {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/data/refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAExF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CACrC;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B"}
1
+ {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/data/refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAExF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CACrC;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/data/refs.ts"],"names":[],"mappings":"","sourcesContent":["import type { AdapterId, CredentialId } from './ids';\nimport type { DataContractValue } from './values';\n\nexport type CredentialKind = 'apiKey' | 'basic' | 'bearer' | 'custom' | 'oauth2';\n\nexport interface CredentialRef {\n readonly id: CredentialId;\n readonly kind: CredentialKind | (string & {});\n readonly label?: string;\n readonly scope?: string;\n}\n\nexport type AdapterKind = 'auth' | 'database' | 'storage' | 'transport' | (string & {});\n\nexport interface AdapterRef {\n readonly id: AdapterId;\n readonly kind: AdapterKind;\n readonly packageName?: string;\n readonly exportName?: string;\n readonly config?: DataContractValue;\n}\n\nexport interface DatabaseAdapterRef extends AdapterRef {\n readonly kind: 'database';\n}\n"]}
1
+ {"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/data/refs.ts"],"names":[],"mappings":"","sourcesContent":["import type { AdapterId, CredentialId } from './ids.js';\nimport type { DataContractValue } from './values.js';\n\nexport type CredentialKind = 'apiKey' | 'basic' | 'bearer' | 'custom' | 'oauth2';\n\nexport interface CredentialRef {\n readonly id: CredentialId;\n readonly kind: CredentialKind | (string & {});\n readonly label?: string;\n readonly scope?: string;\n}\n\nexport type AdapterKind = 'auth' | 'database' | 'storage' | 'transport' | (string & {});\n\nexport interface AdapterRef {\n readonly id: AdapterId;\n readonly kind: AdapterKind;\n readonly packageName?: string;\n readonly exportName?: string;\n readonly config?: DataContractValue;\n}\n\nexport interface DatabaseAdapterRef extends AdapterRef {\n readonly kind: 'database';\n}\n"]}
@@ -1,6 +1,6 @@
1
- import type { ValueMap } from '../collections';
2
- import type { SchemaId } from './ids';
3
- import type { DataContractValue } from './values';
1
+ import type { ValueMap } from '../collections.js';
2
+ import type { SchemaId } from './ids.js';
3
+ import type { DataContractValue } from './values.js';
4
4
  export type DataSchemaPrimitiveType = 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string';
5
5
  export interface DataSchemaRef {
6
6
  readonly id: SchemaId;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/data/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,MAAM,uBAAuB,GACjC,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,GAAG,SAAS,uBAAuB,EAAE,CAAC;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;CACpC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/data/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,MAAM,uBAAuB,GACjC,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,GAAG,SAAS,uBAAuB,EAAE,CAAC;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;CACpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/data/schemas.ts"],"names":[],"mappings":"","sourcesContent":["import type { ValueMap } from '../collections';\nimport type { SchemaId } from './ids';\nimport type { DataContractValue } from './values';\n\nexport type DataSchemaPrimitiveType =\n 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string';\n\nexport interface DataSchemaRef {\n readonly id: SchemaId;\n}\n\nexport interface DataSchemaProperty {\n readonly description?: string;\n readonly schema: DataSchema;\n}\n\nexport interface DataSchema {\n readonly type?: DataSchemaPrimitiveType | readonly DataSchemaPrimitiveType[];\n readonly title?: string;\n readonly description?: string;\n readonly enum?: readonly DataContractValue[];\n readonly const?: DataContractValue;\n readonly default?: DataContractValue;\n readonly format?: string;\n readonly nullable?: boolean;\n readonly required?: readonly string[];\n readonly properties?: ValueMap<string, DataSchema>;\n readonly additionalProperties?: boolean | DataSchema;\n readonly items?: DataSchema;\n readonly allOf?: readonly DataSchema[];\n readonly anyOf?: readonly DataSchema[];\n readonly oneOf?: readonly DataSchema[];\n readonly ref?: DataSchemaRef;\n}\n\nexport type DataSchemaRegistry = ValueMap<SchemaId, DataSchema>;\n\nexport interface DataSchemaSlot {\n readonly schema?: DataSchema;\n readonly schemaRef?: DataSchemaRef;\n}\n"]}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/data/schemas.ts"],"names":[],"mappings":"","sourcesContent":["import type { ValueMap } from '../collections.js';\nimport type { SchemaId } from './ids.js';\nimport type { DataContractValue } from './values.js';\n\nexport type DataSchemaPrimitiveType =\n 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string';\n\nexport interface DataSchemaRef {\n readonly id: SchemaId;\n}\n\nexport interface DataSchemaProperty {\n readonly description?: string;\n readonly schema: DataSchema;\n}\n\nexport interface DataSchema {\n readonly type?: DataSchemaPrimitiveType | readonly DataSchemaPrimitiveType[];\n readonly title?: string;\n readonly description?: string;\n readonly enum?: readonly DataContractValue[];\n readonly const?: DataContractValue;\n readonly default?: DataContractValue;\n readonly format?: string;\n readonly nullable?: boolean;\n readonly required?: readonly string[];\n readonly properties?: ValueMap<string, DataSchema>;\n readonly additionalProperties?: boolean | DataSchema;\n readonly items?: DataSchema;\n readonly allOf?: readonly DataSchema[];\n readonly anyOf?: readonly DataSchema[];\n readonly oneOf?: readonly DataSchema[];\n readonly ref?: DataSchemaRef;\n}\n\nexport type DataSchemaRegistry = ValueMap<SchemaId, DataSchema>;\n\nexport interface DataSchemaSlot {\n readonly schema?: DataSchema;\n readonly schemaRef?: DataSchemaRef;\n}\n"]}
@@ -1,9 +1,9 @@
1
- import type { EntityRegistry } from '../collections';
2
- import type { DataEndpointRegistry } from './endpoints';
3
- import type { DataSourceId } from './ids';
4
- import type { CredentialRef, DatabaseAdapterRef } from './refs';
5
- import type { DataSchemaRegistry } from './schemas';
6
- import type { DataContractValue } from './values';
1
+ import type { EntityRegistry } from '../collections.js';
2
+ import type { DataEndpointRegistry } from './endpoints.js';
3
+ import type { DataSourceId } from './ids.js';
4
+ import type { CredentialRef, DatabaseAdapterRef } from './refs.js';
5
+ import type { DataSchemaRegistry } from './schemas.js';
6
+ import type { DataContractValue } from './values.js';
7
7
  export type DataSourceKind = 'database';
8
8
  export interface DatabaseDataSourceConfig {
9
9
  readonly id: DataSourceId;
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/data/sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AACxD,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,YAAY,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/data/sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AACxD,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,YAAY,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/data/sources.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntityRegistry } from '../collections';\nimport type { DataEndpointRegistry } from './endpoints';\nimport type { DataSourceId } from './ids';\nimport type { CredentialRef, DatabaseAdapterRef } from './refs';\nimport type { DataSchemaRegistry } from './schemas';\nimport type { DataContractValue } from './values';\n\nexport type DataSourceKind = 'database';\n\nexport interface DatabaseDataSourceConfig {\n readonly id: DataSourceId;\n readonly kind: 'database';\n readonly name?: string;\n readonly description?: string;\n readonly credential?: CredentialRef;\n readonly adapter: DatabaseAdapterRef;\n readonly endpoints: DataEndpointRegistry;\n readonly schemas?: DataSchemaRegistry;\n readonly metadata?: DataContractValue;\n}\n\nexport type DataSourceConfig = DatabaseDataSourceConfig;\nexport type DataSourceRegistry = EntityRegistry<DataSourceId, DataSourceConfig, 'id'>;\n"]}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/data/sources.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntityRegistry } from '../collections.js';\nimport type { DataEndpointRegistry } from './endpoints.js';\nimport type { DataSourceId } from './ids.js';\nimport type { CredentialRef, DatabaseAdapterRef } from './refs.js';\nimport type { DataSchemaRegistry } from './schemas.js';\nimport type { DataContractValue } from './values.js';\n\nexport type DataSourceKind = 'database';\n\nexport interface DatabaseDataSourceConfig {\n readonly id: DataSourceId;\n readonly kind: 'database';\n readonly name?: string;\n readonly description?: string;\n readonly credential?: CredentialRef;\n readonly adapter: DatabaseAdapterRef;\n readonly endpoints: DataEndpointRegistry;\n readonly schemas?: DataSchemaRegistry;\n readonly metadata?: DataContractValue;\n}\n\nexport type DataSourceConfig = DatabaseDataSourceConfig;\nexport type DataSourceRegistry = EntityRegistry<DataSourceId, DataSourceConfig, 'id'>;\n"]}
@@ -1,4 +1,4 @@
1
- import type { SerializableValue } from '../serializable';
1
+ import type { SerializableValue } from '../serializable.js';
2
2
  export type DataContractValue = SerializableValue;
3
3
  export type DataPath = string;
4
4
  //# sourceMappingURL=values.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/data/values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/data/values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/data/values.ts"],"names":[],"mappings":"","sourcesContent":["import type { SerializableValue } from '../serializable';\n\nexport type DataContractValue = SerializableValue;\n\nexport type DataPath = string;\n"]}
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/data/values.ts"],"names":[],"mappings":"","sourcesContent":["import type { SerializableValue } from '../serializable.js';\n\nexport type DataContractValue = SerializableValue;\n\nexport type DataPath = string;\n"]}
package/dist/icon.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { isRecord } from '@ankhorage/utility/object';
2
2
  import { isOptionalString } from '@ankhorage/utility/string';
3
- import { isMediaAssetReference } from './media';
3
+ import { isMediaAssetReference } from './media.js';
4
4
  /*** Validate a serializable icon as either a named font glyph or an SVG media reference. */
5
5
  export function isIconSpec(value) {
6
6
  if (!isRecord(value))
package/dist/icon.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["../src/icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,4FAA4F;AAC5F,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnC,MAAM,oBAAoB,GACxB,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;QACvB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;QACjC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,oBAAoB;QAAE,OAAO,KAAK,CAAC;IAExC,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,CACL,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;YACnC,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,KAAK,CAAC,QAAQ,KAAK,SAAS,CAC7B,CAAC;IACJ,CAAC;IAED,OAAO,CACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CACjG,CAAC;AACJ,CAAC","sourcesContent":["import { isRecord } from '@ankhorage/utility/object';\nimport { isOptionalString } from '@ankhorage/utility/string';\n\nimport { isMediaAssetReference } from './media';\n\n/*** Validate a serializable icon as either a named font glyph or an SVG media reference. */\nexport function isIconSpec(value: unknown): boolean {\n if (!isRecord(value)) return false;\n\n const hasValidPresentation =\n (value.size === undefined ||\n typeof value.size === 'string' ||\n typeof value.size === 'number') &&\n isOptionalString(value.color);\n if (!hasValidPresentation) return false;\n\n if ('source' in value) {\n return (\n isMediaAssetReference(value.source) &&\n value.name === undefined &&\n value.provider === undefined\n );\n }\n\n return (\n typeof value.name === 'string' && isOptionalString(value.provider) && value.source === undefined\n );\n}\n"]}
1
+ {"version":3,"file":"icon.js","sourceRoot":"","sources":["../src/icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,4FAA4F;AAC5F,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnC,MAAM,oBAAoB,GACxB,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;QACvB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;QACjC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,oBAAoB;QAAE,OAAO,KAAK,CAAC;IAExC,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,CACL,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;YACnC,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,KAAK,CAAC,QAAQ,KAAK,SAAS,CAC7B,CAAC;IACJ,CAAC;IAED,OAAO,CACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CACjG,CAAC;AACJ,CAAC","sourcesContent":["import { isRecord } from '@ankhorage/utility/object';\nimport { isOptionalString } from '@ankhorage/utility/string';\n\nimport { isMediaAssetReference } from './media.js';\n\n/*** Validate a serializable icon as either a named font glyph or an SVG media reference. */\nexport function isIconSpec(value: unknown): boolean {\n if (!isRecord(value)) return false;\n\n const hasValidPresentation =\n (value.size === undefined ||\n typeof value.size === 'string' ||\n typeof value.size === 'number') &&\n isOptionalString(value.color);\n if (!hasValidPresentation) return false;\n\n if ('source' in value) {\n return (\n isMediaAssetReference(value.source) &&\n value.name === undefined &&\n value.provider === undefined\n );\n }\n\n return (\n typeof value.name === 'string' && isOptionalString(value.provider) && value.source === undefined\n );\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,25 +1,25 @@
1
- export * from './appManifest';
2
- export * from './auth';
3
- export * from './bindings';
4
- export * from './cli';
5
- export * from './collections';
6
- export * from './data';
7
- export * from './db';
8
- export * from './deploy';
9
- export * from './deployProvider';
10
- export * from './environments';
11
- export * from './infra';
12
- export * from './media';
13
- export * from './navigator';
14
- export * from './repository';
15
- export * from './requirements';
16
- export * from './runtimeCallbacks';
17
- export * from './secrets';
18
- export * from './serializable';
19
- export * from './state';
20
- export * from './storage';
21
- export * from './structure';
22
- export * from './theme';
23
- export * from './types';
24
- export * from './ui';
1
+ export * from './appManifest.js';
2
+ export * from './auth.js';
3
+ export * from './bindings.js';
4
+ export * from './cli/index.js';
5
+ export * from './collections.js';
6
+ export * from './data/index.js';
7
+ export * from './db.js';
8
+ export * from './deploy.js';
9
+ export * from './deployProvider.js';
10
+ export * from './environments.js';
11
+ export * from './infra.js';
12
+ export * from './media.js';
13
+ export * from './navigator.js';
14
+ export * from './repository.js';
15
+ export * from './requirements.js';
16
+ export * from './runtimeCallbacks.js';
17
+ export * from './secrets.js';
18
+ export * from './serializable.js';
19
+ export * from './state.js';
20
+ export * from './storage.js';
21
+ export * from './structure/index.js';
22
+ export * from './theme.js';
23
+ export * from './types.js';
24
+ export * from './ui.js';
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,25 +1,25 @@
1
- export * from './appManifest';
2
- export * from './auth';
3
- export * from './bindings';
4
- export * from './cli';
5
- export * from './collections';
6
- export * from './data';
7
- export * from './db';
8
- export * from './deploy';
9
- export * from './deployProvider';
10
- export * from './environments';
11
- export * from './infra';
12
- export * from './media';
13
- export * from './navigator';
14
- export * from './repository';
15
- export * from './requirements';
16
- export * from './runtimeCallbacks';
17
- export * from './secrets';
18
- export * from './serializable';
19
- export * from './state';
20
- export * from './storage';
21
- export * from './structure';
22
- export * from './theme';
23
- export * from './types';
24
- export * from './ui';
1
+ export * from './appManifest.js';
2
+ export * from './auth.js';
3
+ export * from './bindings.js';
4
+ export * from './cli/index.js';
5
+ export * from './collections.js';
6
+ export * from './data/index.js';
7
+ export * from './db.js';
8
+ export * from './deploy.js';
9
+ export * from './deployProvider.js';
10
+ export * from './environments.js';
11
+ export * from './infra.js';
12
+ export * from './media.js';
13
+ export * from './navigator.js';
14
+ export * from './repository.js';
15
+ export * from './requirements.js';
16
+ export * from './runtimeCallbacks.js';
17
+ export * from './secrets.js';
18
+ export * from './serializable.js';
19
+ export * from './state.js';
20
+ export * from './storage.js';
21
+ export * from './structure/index.js';
22
+ export * from './theme.js';
23
+ export * from './types.js';
24
+ export * from './ui.js';
25
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC","sourcesContent":["export * from './appManifest';\nexport * from './auth';\nexport * from './bindings';\nexport * from './cli';\nexport * from './collections';\nexport * from './data';\nexport * from './db';\nexport * from './deploy';\nexport * from './deployProvider';\nexport * from './environments';\nexport * from './infra';\nexport * from './media';\nexport * from './navigator';\nexport * from './repository';\nexport * from './requirements';\nexport * from './runtimeCallbacks';\nexport * from './secrets';\nexport * from './serializable';\nexport * from './state';\nexport * from './storage';\nexport * from './structure';\nexport * from './theme';\nexport * from './types';\nexport * from './ui';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC","sourcesContent":["export * from './appManifest.js';\nexport * from './auth.js';\nexport * from './bindings.js';\nexport * from './cli/index.js';\nexport * from './collections.js';\nexport * from './data/index.js';\nexport * from './db.js';\nexport * from './deploy.js';\nexport * from './deployProvider.js';\nexport * from './environments.js';\nexport * from './infra.js';\nexport * from './media.js';\nexport * from './navigator.js';\nexport * from './repository.js';\nexport * from './requirements.js';\nexport * from './runtimeCallbacks.js';\nexport * from './secrets.js';\nexport * from './serializable.js';\nexport * from './state.js';\nexport * from './storage.js';\nexport * from './structure/index.js';\nexport * from './theme.js';\nexport * from './types.js';\nexport * from './ui.js';\n"]}
@@ -1,4 +1,4 @@
1
- import type { InfraAdapterDescriptor } from '../types/infraAdapters';
1
+ import type { InfraAdapterDescriptor } from '../types/infraAdapters.js';
2
2
  /*** Installed adapters must match the canonical identity, capabilities, targets and config version exactly. */
3
3
  export declare function isInfraAdapterDescriptor(value: unknown): value is InfraAdapterDescriptor;
4
4
  //# sourceMappingURL=isInfraAdapterDescriptor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInfraAdapterDescriptor.d.ts","sourceRoot":"","sources":["../../src/infra/isInfraAdapterDescriptor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,+GAA+G;AAC/G,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAoBxF"}
1
+ {"version":3,"file":"isInfraAdapterDescriptor.d.ts","sourceRoot":"","sources":["../../src/infra/isInfraAdapterDescriptor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGxE,+GAA+G;AAC/G,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAoBxF"}
@@ -1,6 +1,6 @@
1
1
  import { isRecord } from '@ankhorage/utility/object';
2
- import { INFRA_ADAPTER_CATALOG } from '../infraCatalog';
3
- import { isInfraShape } from './isInfraShape';
2
+ import { INFRA_ADAPTER_CATALOG } from '../infraCatalog.js';
3
+ import { isInfraShape } from './isInfraShape.js';
4
4
  /*** Installed adapters must match the canonical identity, capabilities, targets and config version exactly. */
5
5
  export function isInfraAdapterDescriptor(value) {
6
6
  if (!isRecord(value))
@@ -1 +1 @@
1
- {"version":3,"file":"isInfraAdapterDescriptor.js","sourceRoot":"","sources":["../../src/infra/isInfraAdapterDescriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,+GAA+G;AAC/G,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IAClG,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;QAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO;QACzC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACnC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,aAAa;QAC3D,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;QACtE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QAC5D,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;QACtE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB,KAAK,KAAK,SAAS;YACnB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACnB,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;gBACpC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAa,EAAE,EAAE,CAC5B,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CACzF,CAAC;KACP,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,SAAS,kBAAkB,CAAC,KAAc,EAAE,QAA2B;IACrE,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC","sourcesContent":["import { isRecord } from '@ankhorage/utility/object';\n\nimport { INFRA_ADAPTER_CATALOG } from '../infraCatalog';\nimport type { InfraAdapterDescriptor } from '../types/infraAdapters';\nimport { isInfraShape } from './isInfraShape';\n\n/*** Installed adapters must match the canonical identity, capabilities, targets and config version exactly. */\nexport function isInfraAdapterDescriptor(value: unknown): value is InfraAdapterDescriptor {\n if (!isRecord(value)) return false;\n const entry = Object.values(INFRA_ADAPTER_CATALOG).find((candidate) => candidate.id === value.id);\n if (!entry) return false;\n return isInfraShape(value, {\n id: (id) => id === entry.id,\n package: (name) => name === entry.package,\n kind: (kind) => kind === entry.kind,\n configVersion: (version) => version === entry.configVersion,\n capabilities: (items) => matchesCatalogList(items, entry.capabilities),\n targets: (items) => matchesCatalogList(items, entry.targets),\n dependencies: (items) => matchesCatalogList(items, entry.dependencies),\n operations: (items) =>\n items === undefined ||\n (Array.isArray(items) &&\n new Set(items).size === items.length &&\n items.every((item: unknown) =>\n ['suspend', 'resume', 'generate', 'diagnostics'].some((operation) => operation === item),\n )),\n });\n}\n\n/*** Canonical descriptor lists are ordered so JSON discovery and conformance are deterministic. */\nfunction matchesCatalogList(value: unknown, expected: readonly string[]): boolean {\n return (\n Array.isArray(value) &&\n value.length === expected.length &&\n value.every((item, index) => item === expected.at(index))\n );\n}\n"]}
1
+ {"version":3,"file":"isInfraAdapterDescriptor.js","sourceRoot":"","sources":["../../src/infra/isInfraAdapterDescriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,+GAA+G;AAC/G,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IAClG,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;QAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO;QACzC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACnC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,aAAa;QAC3D,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;QACtE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QAC5D,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;QACtE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB,KAAK,KAAK,SAAS;YACnB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACnB,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;gBACpC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAa,EAAE,EAAE,CAC5B,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CACzF,CAAC;KACP,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,SAAS,kBAAkB,CAAC,KAAc,EAAE,QAA2B;IACrE,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC","sourcesContent":["import { isRecord } from '@ankhorage/utility/object';\n\nimport { INFRA_ADAPTER_CATALOG } from '../infraCatalog.js';\nimport type { InfraAdapterDescriptor } from '../types/infraAdapters.js';\nimport { isInfraShape } from './isInfraShape.js';\n\n/*** Installed adapters must match the canonical identity, capabilities, targets and config version exactly. */\nexport function isInfraAdapterDescriptor(value: unknown): value is InfraAdapterDescriptor {\n if (!isRecord(value)) return false;\n const entry = Object.values(INFRA_ADAPTER_CATALOG).find((candidate) => candidate.id === value.id);\n if (!entry) return false;\n return isInfraShape(value, {\n id: (id) => id === entry.id,\n package: (name) => name === entry.package,\n kind: (kind) => kind === entry.kind,\n configVersion: (version) => version === entry.configVersion,\n capabilities: (items) => matchesCatalogList(items, entry.capabilities),\n targets: (items) => matchesCatalogList(items, entry.targets),\n dependencies: (items) => matchesCatalogList(items, entry.dependencies),\n operations: (items) =>\n items === undefined ||\n (Array.isArray(items) &&\n new Set(items).size === items.length &&\n items.every((item: unknown) =>\n ['suspend', 'resume', 'generate', 'diagnostics'].some((operation) => operation === item),\n )),\n });\n}\n\n/*** Canonical descriptor lists are ordered so JSON discovery and conformance are deterministic. */\nfunction matchesCatalogList(value: unknown, expected: readonly string[]): boolean {\n return (\n Array.isArray(value) &&\n value.length === expected.length &&\n value.every((item, index) => item === expected.at(index))\n );\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { InfraAuthSpec } from '../types/infraManifest';
1
+ import type { InfraAuthSpec } from '../types/infraManifest.js';
2
2
  /*** Preserve application auth configuration while rejecting nested authorization and unknown providers. */
3
3
  export declare function isInfraAuthSpec(value: unknown): value is InfraAuthSpec;
4
4
  //# sourceMappingURL=isInfraAuthSpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInfraAuthSpec.d.ts","sourceRoot":"","sources":["../../src/infra/isInfraAuthSpec.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D,2GAA2G;AAC3G,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAgBtE"}
1
+ {"version":3,"file":"isInfraAuthSpec.d.ts","sourceRoot":"","sources":["../../src/infra/isInfraAuthSpec.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI/D,2GAA2G;AAC3G,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAgBtE"}
@@ -1,10 +1,10 @@
1
1
  import { isStringArray } from '@ankhorage/utility/array';
2
2
  import { isRecordOf } from '@ankhorage/utility/object';
3
3
  import { isOptionalString } from '@ankhorage/utility/string';
4
- import { AUTH_OAUTH_PROVIDER_IDS } from '../auth';
5
- import { isIconSpec } from '../icon';
6
- import { AUTH_PROFILE_CREATE_STRATEGIES, AUTH_PROFILE_PRIMARY_KEY_STRATEGIES, AUTH_PROFILE_UPDATE_STRATEGIES, AUTH_SCOPES, AUTH_SIGN_IN_IDENTIFIERS, AUTH_SIGN_UP_POLICIES, } from '../types';
7
- import { isInfraShape } from './isInfraShape';
4
+ import { AUTH_OAUTH_PROVIDER_IDS } from '../auth.js';
5
+ import { isIconSpec } from '../icon.js';
6
+ import { AUTH_PROFILE_CREATE_STRATEGIES, AUTH_PROFILE_PRIMARY_KEY_STRATEGIES, AUTH_PROFILE_UPDATE_STRATEGIES, AUTH_SCOPES, AUTH_SIGN_IN_IDENTIFIERS, AUTH_SIGN_UP_POLICIES, } from '../types.js';
7
+ import { isInfraShape } from './isInfraShape.js';
8
8
  /*** Preserve application auth configuration while rejecting nested authorization and unknown providers. */
9
9
  export function isInfraAuthSpec(value) {
10
10
  return isInfraShape(value, {
@@ -1 +1 @@
1
- {"version":3,"file":"isInfraAuthSpec.js","sourceRoot":"","sources":["../../src/infra/isInfraAuthSpec.ts"],"names":[],"mappings":"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","sourcesContent":["import { isStringArray } from '@ankhorage/utility/array';\nimport { isRecordOf } from '@ankhorage/utility/object';\nimport { isOptionalString } from '@ankhorage/utility/string';\n\nimport { AUTH_OAUTH_PROVIDER_IDS } from '../auth';\nimport { isIconSpec } from '../icon';\nimport {\n AUTH_PROFILE_CREATE_STRATEGIES,\n AUTH_PROFILE_PRIMARY_KEY_STRATEGIES,\n AUTH_PROFILE_UPDATE_STRATEGIES,\n AUTH_SCOPES,\n AUTH_SIGN_IN_IDENTIFIERS,\n AUTH_SIGN_UP_POLICIES,\n} from '../types';\nimport type { InfraAuthSpec } from '../types/infraManifest';\nimport type { InfraShape } from '../types/infraValidation';\nimport { isInfraShape } from './isInfraShape';\n\n/*** Preserve application auth configuration while rejecting nested authorization and unknown providers. */\nexport function isInfraAuthSpec(value: unknown): value is InfraAuthSpec {\n return isInfraShape(value, {\n provider: (provider) => provider === 'supabase',\n scope: (scope) => scope === undefined || AUTH_SCOPES.some((item) => item === scope),\n flow: (flow) => flow === undefined || isAuthFlow(flow),\n signIn: (signIn) =>\n signIn === undefined ||\n isInfraShape(signIn, {\n identifiers: (ids) =>\n Array.isArray(ids) &&\n ids.every((id) => AUTH_SIGN_IN_IDENTIFIERS.some((item) => item === id)),\n }),\n signUp: (signUp) => signUp === undefined || isAuthSignUp(signUp),\n oauth: (oauth) => oauth === undefined || isAuthOAuth(oauth),\n profile: (profile) => profile === undefined || isAuthProfile(profile),\n } satisfies InfraShape<InfraAuthSpec>);\n}\n\n/*** Auth routing intent stays separate from provider-runtime callbacks and Navigator topology. */\nfunction isAuthFlow(value: unknown): boolean {\n return isInfraShape(value, {\n signInRoute: (route) => typeof route === 'string',\n postSignInRoute: (route) => typeof route === 'string',\n signUpRoute: isOptionalString,\n signOutRoute: isOptionalString,\n forgotPasswordRoute: isOptionalString,\n otpRoute: isOptionalString,\n unauthorizedRoute: isOptionalString,\n });\n}\n\n/*** Validate sign-up field intent using the existing application auth contract. */\nfunction isAuthSignUp(value: unknown): boolean {\n return isInfraShape(value, {\n requiredFields: isStringArray,\n optionalFields: (fields) => fields === undefined || isStringArray(fields),\n signUpPolicy: (policy) =>\n policy === undefined || AUTH_SIGN_UP_POLICIES.some((item) => item === policy),\n });\n}\n\n/*** OAuth references contain no credential payload. Custom OAuth identities remain application-owned. */\nfunction isAuthOAuth(value: unknown): boolean {\n return isInfraShape(value, {\n enabled: (enabled) => typeof enabled === 'boolean',\n callbackRoute: (route) => typeof route === 'string',\n providers: (providers) => Array.isArray(providers) && providers.every(isAuthOAuthProvider),\n });\n}\n\n/*** Validate OAuth display/config metadata, preserving explicitly extensible OAuth provider IDs. */\nfunction isAuthOAuthProvider(value: unknown): boolean {\n return isInfraShape(value, {\n id: (id) =>\n typeof id === 'string' &&\n (AUTH_OAUTH_PROVIDER_IDS.some((item) => item === id) || id.length > 0),\n label: isOptionalString,\n enabled: (value) => value === undefined || typeof value === 'boolean',\n scopes: (scopes) => scopes === undefined || isStringArray(scopes),\n queryParams: (params) =>\n params === undefined || isRecordOf(params, (entry) => typeof entry === 'string'),\n icon: (icon) => icon === undefined || isIconSpec(icon),\n credentialsRef: isOptionalString,\n });\n}\n\n/*** Validate profile provisioning choices without inventing a new application profile model. */\nfunction isAuthProfile(value: unknown): boolean {\n return isInfraShape(value, {\n fields: isStringArray,\n table: isOptionalString,\n primaryKey: (key) =>\n key === undefined || AUTH_PROFILE_PRIMARY_KEY_STRATEGIES.some((item) => item === key),\n createStrategy: (strategy) =>\n strategy === undefined || AUTH_PROFILE_CREATE_STRATEGIES.some((item) => item === strategy),\n updateStrategy: (strategy) =>\n strategy === undefined || AUTH_PROFILE_UPDATE_STRATEGIES.some((item) => item === strategy),\n });\n}\n"]}
1
+ {"version":3,"file":"isInfraAuthSpec.js","sourceRoot":"","sources":["../../src/infra/isInfraAuthSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,EACnC,8BAA8B,EAC9B,WAAW,EACX,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,2GAA2G;AAC3G,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,UAAU;QAC/C,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;QACnF,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC;QACtD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,MAAM,KAAK,SAAS;YACpB,YAAY,CAAC,MAAM,EAAE;gBACnB,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CACnB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;oBAClB,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;aAC1E,CAAC;QACJ,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC;QAChE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC;QAC3D,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,aAAa,CAAC,OAAO,CAAC;KAClC,CAAC,CAAC;AACzC,CAAC;AAED,kGAAkG;AAClG,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;QACjD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;QACrD,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,gBAAgB;QAC9B,mBAAmB,EAAE,gBAAgB;QACrC,QAAQ,EAAE,gBAAgB;QAC1B,iBAAiB,EAAE,gBAAgB;KACpC,CAAC,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,cAAc,EAAE,aAAa;QAC7B,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC;QACzE,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,MAAM,KAAK,SAAS,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;KAChF,CAAC,CAAC;AACL,CAAC;AAED,yGAAyG;AACzG,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,SAAS;QAClD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;QACnD,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CACT,OAAO,EAAE,KAAK,QAAQ;YACtB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACxE,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS;QACrE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC;QACjE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CACtB,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;QAClF,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC;QACtD,cAAc,EAAE,gBAAgB;KACjC,CAAC,CAAC;AACL,CAAC;AAED,gGAAgG;AAChG,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,gBAAgB;QACvB,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAClB,GAAG,KAAK,SAAS,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC;QACvF,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC3B,QAAQ,KAAK,SAAS,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC5F,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC3B,QAAQ,KAAK,SAAS,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;KAC7F,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { isStringArray } from '@ankhorage/utility/array';\nimport { isRecordOf } from '@ankhorage/utility/object';\nimport { isOptionalString } from '@ankhorage/utility/string';\n\nimport { AUTH_OAUTH_PROVIDER_IDS } from '../auth.js';\nimport { isIconSpec } from '../icon.js';\nimport {\n AUTH_PROFILE_CREATE_STRATEGIES,\n AUTH_PROFILE_PRIMARY_KEY_STRATEGIES,\n AUTH_PROFILE_UPDATE_STRATEGIES,\n AUTH_SCOPES,\n AUTH_SIGN_IN_IDENTIFIERS,\n AUTH_SIGN_UP_POLICIES,\n} from '../types.js';\nimport type { InfraAuthSpec } from '../types/infraManifest.js';\nimport type { InfraShape } from '../types/infraValidation.js';\nimport { isInfraShape } from './isInfraShape.js';\n\n/*** Preserve application auth configuration while rejecting nested authorization and unknown providers. */\nexport function isInfraAuthSpec(value: unknown): value is InfraAuthSpec {\n return isInfraShape(value, {\n provider: (provider) => provider === 'supabase',\n scope: (scope) => scope === undefined || AUTH_SCOPES.some((item) => item === scope),\n flow: (flow) => flow === undefined || isAuthFlow(flow),\n signIn: (signIn) =>\n signIn === undefined ||\n isInfraShape(signIn, {\n identifiers: (ids) =>\n Array.isArray(ids) &&\n ids.every((id) => AUTH_SIGN_IN_IDENTIFIERS.some((item) => item === id)),\n }),\n signUp: (signUp) => signUp === undefined || isAuthSignUp(signUp),\n oauth: (oauth) => oauth === undefined || isAuthOAuth(oauth),\n profile: (profile) => profile === undefined || isAuthProfile(profile),\n } satisfies InfraShape<InfraAuthSpec>);\n}\n\n/*** Auth routing intent stays separate from provider-runtime callbacks and Navigator topology. */\nfunction isAuthFlow(value: unknown): boolean {\n return isInfraShape(value, {\n signInRoute: (route) => typeof route === 'string',\n postSignInRoute: (route) => typeof route === 'string',\n signUpRoute: isOptionalString,\n signOutRoute: isOptionalString,\n forgotPasswordRoute: isOptionalString,\n otpRoute: isOptionalString,\n unauthorizedRoute: isOptionalString,\n });\n}\n\n/*** Validate sign-up field intent using the existing application auth contract. */\nfunction isAuthSignUp(value: unknown): boolean {\n return isInfraShape(value, {\n requiredFields: isStringArray,\n optionalFields: (fields) => fields === undefined || isStringArray(fields),\n signUpPolicy: (policy) =>\n policy === undefined || AUTH_SIGN_UP_POLICIES.some((item) => item === policy),\n });\n}\n\n/*** OAuth references contain no credential payload. Custom OAuth identities remain application-owned. */\nfunction isAuthOAuth(value: unknown): boolean {\n return isInfraShape(value, {\n enabled: (enabled) => typeof enabled === 'boolean',\n callbackRoute: (route) => typeof route === 'string',\n providers: (providers) => Array.isArray(providers) && providers.every(isAuthOAuthProvider),\n });\n}\n\n/*** Validate OAuth display/config metadata, preserving explicitly extensible OAuth provider IDs. */\nfunction isAuthOAuthProvider(value: unknown): boolean {\n return isInfraShape(value, {\n id: (id) =>\n typeof id === 'string' &&\n (AUTH_OAUTH_PROVIDER_IDS.some((item) => item === id) || id.length > 0),\n label: isOptionalString,\n enabled: (value) => value === undefined || typeof value === 'boolean',\n scopes: (scopes) => scopes === undefined || isStringArray(scopes),\n queryParams: (params) =>\n params === undefined || isRecordOf(params, (entry) => typeof entry === 'string'),\n icon: (icon) => icon === undefined || isIconSpec(icon),\n credentialsRef: isOptionalString,\n });\n}\n\n/*** Validate profile provisioning choices without inventing a new application profile model. */\nfunction isAuthProfile(value: unknown): boolean {\n return isInfraShape(value, {\n fields: isStringArray,\n table: isOptionalString,\n primaryKey: (key) =>\n key === undefined || AUTH_PROFILE_PRIMARY_KEY_STRATEGIES.some((item) => item === key),\n createStrategy: (strategy) =>\n strategy === undefined || AUTH_PROFILE_CREATE_STRATEGIES.some((item) => item === strategy),\n updateStrategy: (strategy) =>\n strategy === undefined || AUTH_PROFILE_UPDATE_STRATEGIES.some((item) => item === strategy),\n });\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { isNonEmptyString } from '@ankhorage/utility/string';
2
- import { isInfraShape } from './isInfraShape';
2
+ import { isInfraShape } from './isInfraShape.js';
3
3
  /*** Bootstrap credential references are explicitly separate from managed runtime secrets. */
4
4
  export function isInfraCredentialRef(value) {
5
5
  return isInfraShape(value, {
@@ -1 +1 @@
1
- {"version":3,"file":"isInfraCredentialRef.js","sourceRoot":"","sources":["../../src/infra/isInfraCredentialRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,6FAA6F;AAC7F,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,eAAe;QAC9C,IAAI,EAAE,gBAAgB;KACvB,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { isNonEmptyString } from '@ankhorage/utility/string';\n\nimport { isInfraShape } from './isInfraShape';\n\n/*** Bootstrap credential references are explicitly separate from managed runtime secrets. */\nexport function isInfraCredentialRef(value: unknown): boolean {\n return isInfraShape(value, {\n source: (source) => source === 'control-plane',\n name: isNonEmptyString,\n });\n}\n"]}
1
+ {"version":3,"file":"isInfraCredentialRef.js","sourceRoot":"","sources":["../../src/infra/isInfraCredentialRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,6FAA6F;AAC7F,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,eAAe;QAC9C,IAAI,EAAE,gBAAgB;KACvB,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { isNonEmptyString } from '@ankhorage/utility/string';\n\nimport { isInfraShape } from './isInfraShape.js';\n\n/*** Bootstrap credential references are explicitly separate from managed runtime secrets. */\nexport function isInfraCredentialRef(value: unknown): boolean {\n return isInfraShape(value, {\n source: (source) => source === 'control-plane',\n name: isNonEmptyString,\n });\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { InfraDeploymentSpec } from '../types/infraManifest';
1
+ import type { InfraDeploymentSpec } from '../types/infraManifest.js';
2
2
  /*** Validate provider-specific config and the exact same compatibility map used by TypeScript. */
3
3
  export declare function isInfraDeploymentSpec(value: unknown): value is InfraDeploymentSpec;
4
4
  //# sourceMappingURL=isInfraDeploymentSpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInfraDeploymentSpec.d.ts","sourceRoot":"","sources":["../../src/infra/isInfraDeploymentSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,wBAAwB,CAAC;AAMhC,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CASlF"}
1
+ {"version":3,"file":"isInfraDeploymentSpec.d.ts","sourceRoot":"","sources":["../../src/infra/isInfraDeploymentSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,2BAA2B,CAAC;AAMnC,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CASlF"}
@@ -1,9 +1,9 @@
1
1
  import { isRecord } from '@ankhorage/utility/object';
2
2
  import { isNonEmptyString } from '@ankhorage/utility/string';
3
- import { INFRA_RUNTIME_COMPATIBILITY } from '../infraCatalog';
4
- import { infraFields } from './infraFields';
5
- import { isInfraCredentialRef } from './isInfraCredentialRef';
6
- import { isInfraShape } from './isInfraShape';
3
+ import { INFRA_RUNTIME_COMPATIBILITY } from '../infraCatalog.js';
4
+ import { infraFields } from './infraFields.js';
5
+ import { isInfraCredentialRef } from './isInfraCredentialRef.js';
6
+ import { isInfraShape } from './isInfraShape.js';
7
7
  /*** Validate provider-specific config and the exact same compatibility map used by TypeScript. */
8
8
  export function isInfraDeploymentSpec(value) {
9
9
  if (!isInfraShape(value, { compute: isCompute, runtime: isRuntime }) || !isRecord(value))
@@ -1 +1 @@
1
- {"version":3,"file":"isInfraDeploymentSpec.js","sourceRoot":"","sources":["../../src/infra/isInfraDeploymentSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAO9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,kGAAkG;AAClG,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtF,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvC,OAAO,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC,CAC1F,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;QAC5B,OAAO,YAAY,CAAC,KAAK,EAAE;YACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,OAAO;YAC5C,gBAAgB,EAAE,WAAW,CAAC,YAAY;SACU,CAAC,CAAC;IAC1D,OAAO,YAAY,CAAC,KAAK,EAAE;QACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS;QAC9C,QAAQ,EAAE,gBAAgB;QAC1B,UAAU,EAAE,WAAW,CAAC,YAAY;QACpC,KAAK,EAAE,WAAW,CAAC,YAAY;QAC/B,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,oBAAoB,CAAC,WAAW,CAAC;QAC5F,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CACX,GAAG,KAAK,SAAS;YACjB,YAAY,CAAC,GAAG,EAAE;gBAChB,IAAI,EAAE,WAAW,CAAC,YAAY;gBAC9B,IAAI,EAAE,WAAW,CAAC,uBAAuB;gBACzC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE,CAC3B,WAAW,KAAK,SAAS,IAAI,oBAAoB,CAAC,WAAW,CAAC;aACjE,CAAC;KACkD,CAAC,CAAC;AAC5D,CAAC;AAED,wFAAwF;AACxF,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,KAAK,UAAU;YACb,OAAO,YAAY,CAAC,KAAK,EAAE;gBACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,UAAU;gBAC/C,OAAO,EAAE,WAAW,CAAC,YAAY;gBACjC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;gBACtF,IAAI,EAAE,WAAW,CAAC,uBAAuB;gBACzC,SAAS,EAAE,WAAW,CAAC,uBAAuB;aACS,CAAC,CAAC;QAC7D,KAAK,KAAK;YACR,OAAO,YAAY,CAAC,KAAK,EAAE;gBACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK;gBAC1C,OAAO,EAAE,WAAW,CAAC,YAAY;gBACjC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CACrB,QAAQ,KAAK,SAAS;oBACtB,YAAY,CAAC,QAAQ,EAAE;wBACrB,OAAO,EAAE,WAAW,CAAC,eAAe;wBACpC,MAAM,EAAE,WAAW,CAAC,kBAAkB;qBACvC,CAAC;aAC8C,CAAC,CAAC;QACxD,KAAK,gBAAgB;YACnB,OAAO,YAAY,CAAC,KAAK,EAAE;gBACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,gBAAgB;gBACrD,WAAW,EAAE,WAAW,CAAC,YAAY;aACwB,CAAC,CAAC;QACnE;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC","sourcesContent":["import { isRecord } from '@ankhorage/utility/object';\nimport { isNonEmptyString } from '@ankhorage/utility/string';\n\nimport { INFRA_RUNTIME_COMPATIBILITY } from '../infraCatalog';\nimport type {\n InfraComputeSelection,\n InfraDeploymentSpec,\n InfraRuntimeSelection,\n} from '../types/infraManifest';\nimport type { InfraShape } from '../types/infraValidation';\nimport { infraFields } from './infraFields';\nimport { isInfraCredentialRef } from './isInfraCredentialRef';\nimport { isInfraShape } from './isInfraShape';\n\n/*** Validate provider-specific config and the exact same compatibility map used by TypeScript. */\nexport function isInfraDeploymentSpec(value: unknown): value is InfraDeploymentSpec {\n if (!isInfraShape(value, { compute: isCompute, runtime: isRuntime }) || !isRecord(value))\n return false;\n if (!isRecord(value.compute) || !isRecord(value.runtime)) return false;\n const compute = value.compute.provider;\n const runtime = value.runtime.provider;\n return Object.entries(INFRA_RUNTIME_COMPATIBILITY).some(\n ([id, providers]) => id === runtime && providers.some((provider) => provider === compute),\n );\n}\n\n/*** Compute configuration is closed per provider; control-plane refs cannot be managed secrets. */\nfunction isCompute(value: unknown): boolean {\n if (!isRecord(value)) return false;\n if (value.provider === 'local')\n return isInfraShape(value, {\n provider: (provider) => provider === 'local',\n workingDirectory: infraFields.optionalText,\n } satisfies InfraShape<InfraComputeSelection<'local'>>);\n return isInfraShape(value, {\n provider: (provider) => provider === 'hetzner',\n location: isNonEmptyString,\n serverType: infraFields.optionalText,\n image: infraFields.optionalText,\n credentials: (credentials) => credentials === undefined || isInfraCredentialRef(credentials),\n ssh: (ssh) =>\n ssh === undefined ||\n isInfraShape(ssh, {\n user: infraFields.optionalText,\n port: infraFields.optionalPositiveInteger,\n credentials: (credentials) =>\n credentials === undefined || isInfraCredentialRef(credentials),\n }),\n } satisfies InfraShape<InfraComputeSelection<'hetzner'>>);\n}\n\n/*** Runtime topology expresses host roles and never couples k3s to a compute vendor. */\nfunction isRuntime(value: unknown): boolean {\n if (!isRecord(value)) return false;\n switch (value.provider) {\n case 'minikube':\n return isInfraShape(value, {\n provider: (provider) => provider === 'minikube',\n profile: infraFields.optionalText,\n driver: (driver) => driver === undefined || driver === 'docker' || driver === 'podman',\n cpus: infraFields.optionalPositiveInteger,\n memoryMiB: infraFields.optionalPositiveInteger,\n } satisfies InfraShape<InfraRuntimeSelection<'minikube'>>);\n case 'k3s':\n return isInfraShape(value, {\n provider: (provider) => provider === 'k3s',\n version: infraFields.optionalText,\n topology: (topology) =>\n topology === undefined ||\n isInfraShape(topology, {\n servers: infraFields.positiveInteger,\n agents: infraFields.nonnegativeInteger,\n }),\n } satisfies InfraShape<InfraRuntimeSelection<'k3s'>>);\n case 'docker-compose':\n return isInfraShape(value, {\n provider: (provider) => provider === 'docker-compose',\n projectName: infraFields.optionalText,\n } satisfies InfraShape<InfraRuntimeSelection<'docker-compose'>>);\n default:\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"isInfraDeploymentSpec.js","sourceRoot":"","sources":["../../src/infra/isInfraDeploymentSpec.ts"],"names":[],"mappings":"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","sourcesContent":["import { isRecord } from '@ankhorage/utility/object';\nimport { isNonEmptyString } from '@ankhorage/utility/string';\n\nimport { INFRA_RUNTIME_COMPATIBILITY } from '../infraCatalog.js';\nimport type {\n InfraComputeSelection,\n InfraDeploymentSpec,\n InfraRuntimeSelection,\n} from '../types/infraManifest.js';\nimport type { InfraShape } from '../types/infraValidation.js';\nimport { infraFields } from './infraFields.js';\nimport { isInfraCredentialRef } from './isInfraCredentialRef.js';\nimport { isInfraShape } from './isInfraShape.js';\n\n/*** Validate provider-specific config and the exact same compatibility map used by TypeScript. */\nexport function isInfraDeploymentSpec(value: unknown): value is InfraDeploymentSpec {\n if (!isInfraShape(value, { compute: isCompute, runtime: isRuntime }) || !isRecord(value))\n return false;\n if (!isRecord(value.compute) || !isRecord(value.runtime)) return false;\n const compute = value.compute.provider;\n const runtime = value.runtime.provider;\n return Object.entries(INFRA_RUNTIME_COMPATIBILITY).some(\n ([id, providers]) => id === runtime && providers.some((provider) => provider === compute),\n );\n}\n\n/*** Compute configuration is closed per provider; control-plane refs cannot be managed secrets. */\nfunction isCompute(value: unknown): boolean {\n if (!isRecord(value)) return false;\n if (value.provider === 'local')\n return isInfraShape(value, {\n provider: (provider) => provider === 'local',\n workingDirectory: infraFields.optionalText,\n } satisfies InfraShape<InfraComputeSelection<'local'>>);\n return isInfraShape(value, {\n provider: (provider) => provider === 'hetzner',\n location: isNonEmptyString,\n serverType: infraFields.optionalText,\n image: infraFields.optionalText,\n credentials: (credentials) => credentials === undefined || isInfraCredentialRef(credentials),\n ssh: (ssh) =>\n ssh === undefined ||\n isInfraShape(ssh, {\n user: infraFields.optionalText,\n port: infraFields.optionalPositiveInteger,\n credentials: (credentials) =>\n credentials === undefined || isInfraCredentialRef(credentials),\n }),\n } satisfies InfraShape<InfraComputeSelection<'hetzner'>>);\n}\n\n/*** Runtime topology expresses host roles and never couples k3s to a compute vendor. */\nfunction isRuntime(value: unknown): boolean {\n if (!isRecord(value)) return false;\n switch (value.provider) {\n case 'minikube':\n return isInfraShape(value, {\n provider: (provider) => provider === 'minikube',\n profile: infraFields.optionalText,\n driver: (driver) => driver === undefined || driver === 'docker' || driver === 'podman',\n cpus: infraFields.optionalPositiveInteger,\n memoryMiB: infraFields.optionalPositiveInteger,\n } satisfies InfraShape<InfraRuntimeSelection<'minikube'>>);\n case 'k3s':\n return isInfraShape(value, {\n provider: (provider) => provider === 'k3s',\n version: infraFields.optionalText,\n topology: (topology) =>\n topology === undefined ||\n isInfraShape(topology, {\n servers: infraFields.positiveInteger,\n agents: infraFields.nonnegativeInteger,\n }),\n } satisfies InfraShape<InfraRuntimeSelection<'k3s'>>);\n case 'docker-compose':\n return isInfraShape(value, {\n provider: (provider) => provider === 'docker-compose',\n projectName: infraFields.optionalText,\n } satisfies InfraShape<InfraRuntimeSelection<'docker-compose'>>);\n default:\n return false;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { InfraEnvironmentSpec } from '../types/infraManifest';
1
+ import type { InfraEnvironmentSpec } from '../types/infraManifest.js';
2
2
  /*** Validate sibling capabilities and their required relationships within one environment. */
3
3
  export declare function isInfraEnvironmentSpec(value: unknown): value is InfraEnvironmentSpec;
4
4
  //# sourceMappingURL=isInfraEnvironmentSpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInfraEnvironmentSpec.d.ts","sourceRoot":"","sources":["../../src/infra/isInfraEnvironmentSpec.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,wBAAwB,CAAC;AAShC,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAOpF"}
1
+ {"version":3,"file":"isInfraEnvironmentSpec.d.ts","sourceRoot":"","sources":["../../src/infra/isInfraEnvironmentSpec.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,2BAA2B,CAAC;AASnC,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAOpF"}
@@ -1,13 +1,13 @@
1
1
  import { isRecord } from '@ankhorage/utility/object';
2
2
  import { isNonEmptyString } from '@ankhorage/utility/string';
3
- import { isSerializableSet } from '../collections';
4
- import { INFRA_ADAPTER_CATALOG } from '../infraCatalog';
5
- import { infraFields } from './infraFields';
6
- import { isInfraAuthSpec } from './isInfraAuthSpec';
7
- import { isInfraCredentialRef } from './isInfraCredentialRef';
8
- import { isInfraDeploymentSpec } from './isInfraDeploymentSpec';
9
- import { isInfraShape } from './isInfraShape';
10
- import { isInfraWorkloadSpec } from './isInfraWorkloadSpec';
3
+ import { isSerializableSet } from '../collections.js';
4
+ import { INFRA_ADAPTER_CATALOG } from '../infraCatalog.js';
5
+ import { infraFields } from './infraFields.js';
6
+ import { isInfraAuthSpec } from './isInfraAuthSpec.js';
7
+ import { isInfraCredentialRef } from './isInfraCredentialRef.js';
8
+ import { isInfraDeploymentSpec } from './isInfraDeploymentSpec.js';
9
+ import { isInfraShape } from './isInfraShape.js';
10
+ import { isInfraWorkloadSpec } from './isInfraWorkloadSpec.js';
11
11
  /*** Validate sibling capabilities and their required relationships within one environment. */
12
12
  export function isInfraEnvironmentSpec(value) {
13
13
  return (isEnvironmentShape(value) &&