typekro 0.2.2 → 0.3.1

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 (213) hide show
  1. package/README.md +4 -3
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/core/composition/imperative.d.ts.map +1 -1
  4. package/dist/core/composition/imperative.js +15 -2
  5. package/dist/core/composition/imperative.js.map +1 -1
  6. package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  7. package/dist/core/composition/typekro-runtime/typekro-runtime.js +24 -25
  8. package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -1
  9. package/dist/core/dependencies/type-guards.d.ts.map +1 -1
  10. package/dist/core/dependencies/type-guards.js +7 -2
  11. package/dist/core/dependencies/type-guards.js.map +1 -1
  12. package/dist/core/deployment/engine.d.ts +13 -1
  13. package/dist/core/deployment/engine.d.ts.map +1 -1
  14. package/dist/core/deployment/engine.js +48 -3
  15. package/dist/core/deployment/engine.js.map +1 -1
  16. package/dist/core/errors.d.ts +85 -0
  17. package/dist/core/errors.d.ts.map +1 -1
  18. package/dist/core/errors.js +135 -0
  19. package/dist/core/errors.js.map +1 -1
  20. package/dist/core/evaluation/cel-optimizer.d.ts.map +1 -1
  21. package/dist/core/evaluation/cel-optimizer.js +7 -13
  22. package/dist/core/evaluation/cel-optimizer.js.map +1 -1
  23. package/dist/core/expressions/analyzer.d.ts +584 -0
  24. package/dist/core/expressions/analyzer.d.ts.map +1 -0
  25. package/dist/core/expressions/analyzer.js +2956 -0
  26. package/dist/core/expressions/analyzer.js.map +1 -0
  27. package/dist/core/expressions/cache.d.ts +136 -0
  28. package/dist/core/expressions/cache.d.ts.map +1 -0
  29. package/dist/core/expressions/cache.js +347 -0
  30. package/dist/core/expressions/cache.js.map +1 -0
  31. package/dist/core/expressions/cel-conversion-engine.d.ts +126 -0
  32. package/dist/core/expressions/cel-conversion-engine.d.ts.map +1 -0
  33. package/dist/core/expressions/cel-conversion-engine.js +293 -0
  34. package/dist/core/expressions/cel-conversion-engine.js.map +1 -0
  35. package/dist/core/expressions/compile-time-validation.d.ts +270 -0
  36. package/dist/core/expressions/compile-time-validation.d.ts.map +1 -0
  37. package/dist/core/expressions/compile-time-validation.js +506 -0
  38. package/dist/core/expressions/compile-time-validation.js.map +1 -0
  39. package/dist/core/expressions/composition-integration.d.ts +315 -0
  40. package/dist/core/expressions/composition-integration.d.ts.map +1 -0
  41. package/dist/core/expressions/composition-integration.js +936 -0
  42. package/dist/core/expressions/composition-integration.js.map +1 -0
  43. package/dist/core/expressions/conditional-expression-processor.d.ts +154 -0
  44. package/dist/core/expressions/conditional-expression-processor.d.ts.map +1 -0
  45. package/dist/core/expressions/conditional-expression-processor.js +479 -0
  46. package/dist/core/expressions/conditional-expression-processor.js.map +1 -0
  47. package/dist/core/expressions/conditional-integration.d.ts +133 -0
  48. package/dist/core/expressions/conditional-integration.d.ts.map +1 -0
  49. package/dist/core/expressions/conditional-integration.js +293 -0
  50. package/dist/core/expressions/conditional-integration.js.map +1 -0
  51. package/dist/core/expressions/conditional-validation.d.ts +181 -0
  52. package/dist/core/expressions/conditional-validation.d.ts.map +1 -0
  53. package/dist/core/expressions/conditional-validation.js +460 -0
  54. package/dist/core/expressions/conditional-validation.js.map +1 -0
  55. package/dist/core/expressions/context-aware-generator.d.ts +127 -0
  56. package/dist/core/expressions/context-aware-generator.d.ts.map +1 -0
  57. package/dist/core/expressions/context-aware-generator.js +500 -0
  58. package/dist/core/expressions/context-aware-generator.js.map +1 -0
  59. package/dist/core/expressions/context-detector.d.ts +148 -0
  60. package/dist/core/expressions/context-detector.d.ts.map +1 -0
  61. package/dist/core/expressions/context-detector.js +546 -0
  62. package/dist/core/expressions/context-detector.js.map +1 -0
  63. package/dist/core/expressions/context-switcher.d.ts +185 -0
  64. package/dist/core/expressions/context-switcher.d.ts.map +1 -0
  65. package/dist/core/expressions/context-switcher.js +515 -0
  66. package/dist/core/expressions/context-switcher.js.map +1 -0
  67. package/dist/core/expressions/context-validator.d.ts +176 -0
  68. package/dist/core/expressions/context-validator.d.ts.map +1 -0
  69. package/dist/core/expressions/context-validator.js +452 -0
  70. package/dist/core/expressions/context-validator.js.map +1 -0
  71. package/dist/core/expressions/custom-context-manager.d.ts +194 -0
  72. package/dist/core/expressions/custom-context-manager.d.ts.map +1 -0
  73. package/dist/core/expressions/custom-context-manager.js +390 -0
  74. package/dist/core/expressions/custom-context-manager.js.map +1 -0
  75. package/dist/core/expressions/expression-proxy.d.ts +80 -0
  76. package/dist/core/expressions/expression-proxy.d.ts.map +1 -0
  77. package/dist/core/expressions/expression-proxy.js +227 -0
  78. package/dist/core/expressions/expression-proxy.js.map +1 -0
  79. package/dist/core/expressions/factory-integration.d.ts +132 -0
  80. package/dist/core/expressions/factory-integration.d.ts.map +1 -0
  81. package/dist/core/expressions/factory-integration.js +327 -0
  82. package/dist/core/expressions/factory-integration.js.map +1 -0
  83. package/dist/core/expressions/factory-pattern-handler.d.ts +88 -0
  84. package/dist/core/expressions/factory-pattern-handler.d.ts.map +1 -0
  85. package/dist/core/expressions/factory-pattern-handler.js +336 -0
  86. package/dist/core/expressions/factory-pattern-handler.js.map +1 -0
  87. package/dist/core/expressions/field-hydration-processor.d.ts +188 -0
  88. package/dist/core/expressions/field-hydration-processor.d.ts.map +1 -0
  89. package/dist/core/expressions/field-hydration-processor.js +562 -0
  90. package/dist/core/expressions/field-hydration-processor.js.map +1 -0
  91. package/dist/core/expressions/imperative-analyzer.d.ts +21 -0
  92. package/dist/core/expressions/imperative-analyzer.d.ts.map +1 -0
  93. package/dist/core/expressions/imperative-analyzer.js +457 -0
  94. package/dist/core/expressions/imperative-analyzer.js.map +1 -0
  95. package/dist/core/expressions/index.d.ts +54 -0
  96. package/dist/core/expressions/index.d.ts.map +1 -0
  97. package/dist/core/expressions/index.js +50 -0
  98. package/dist/core/expressions/index.js.map +1 -0
  99. package/dist/core/expressions/lazy-analysis.d.ts +1128 -0
  100. package/dist/core/expressions/lazy-analysis.d.ts.map +1 -0
  101. package/dist/core/expressions/lazy-analysis.js +2443 -0
  102. package/dist/core/expressions/lazy-analysis.js.map +1 -0
  103. package/dist/core/expressions/magic-assignable-analyzer.d.ts +123 -0
  104. package/dist/core/expressions/magic-assignable-analyzer.d.ts.map +1 -0
  105. package/dist/core/expressions/magic-assignable-analyzer.js +352 -0
  106. package/dist/core/expressions/magic-assignable-analyzer.js.map +1 -0
  107. package/dist/core/expressions/magic-proxy-analyzer.d.ts +206 -0
  108. package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +1 -0
  109. package/dist/core/expressions/magic-proxy-analyzer.js +639 -0
  110. package/dist/core/expressions/magic-proxy-analyzer.js.map +1 -0
  111. package/dist/core/expressions/magic-proxy-detector.d.ts +154 -0
  112. package/dist/core/expressions/magic-proxy-detector.d.ts.map +1 -0
  113. package/dist/core/expressions/magic-proxy-detector.js +242 -0
  114. package/dist/core/expressions/magic-proxy-detector.js.map +1 -0
  115. package/dist/core/expressions/migration-helpers.d.ts +133 -0
  116. package/dist/core/expressions/migration-helpers.d.ts.map +1 -0
  117. package/dist/core/expressions/migration-helpers.js +443 -0
  118. package/dist/core/expressions/migration-helpers.js.map +1 -0
  119. package/dist/core/expressions/optionality-handler.d.ts +503 -0
  120. package/dist/core/expressions/optionality-handler.d.ts.map +1 -0
  121. package/dist/core/expressions/optionality-handler.js +1306 -0
  122. package/dist/core/expressions/optionality-handler.js.map +1 -0
  123. package/dist/core/expressions/readiness-integration.d.ts +119 -0
  124. package/dist/core/expressions/readiness-integration.d.ts.map +1 -0
  125. package/dist/core/expressions/readiness-integration.js +386 -0
  126. package/dist/core/expressions/readiness-integration.js.map +1 -0
  127. package/dist/core/expressions/resource-analyzer.d.ts +486 -0
  128. package/dist/core/expressions/resource-analyzer.d.ts.map +1 -0
  129. package/dist/core/expressions/resource-analyzer.js +1086 -0
  130. package/dist/core/expressions/resource-analyzer.js.map +1 -0
  131. package/dist/core/expressions/resource-validation.d.ts +187 -0
  132. package/dist/core/expressions/resource-validation.d.ts.map +1 -0
  133. package/dist/core/expressions/resource-validation.js +552 -0
  134. package/dist/core/expressions/resource-validation.js.map +1 -0
  135. package/dist/core/expressions/runtime-error-mapper.d.ts +138 -0
  136. package/dist/core/expressions/runtime-error-mapper.d.ts.map +1 -0
  137. package/dist/core/expressions/runtime-error-mapper.js +412 -0
  138. package/dist/core/expressions/runtime-error-mapper.js.map +1 -0
  139. package/dist/core/expressions/source-map.d.ts +168 -0
  140. package/dist/core/expressions/source-map.d.ts.map +1 -0
  141. package/dist/core/expressions/source-map.js +350 -0
  142. package/dist/core/expressions/source-map.js.map +1 -0
  143. package/dist/core/expressions/status-builder-analyzer.d.ts +353 -0
  144. package/dist/core/expressions/status-builder-analyzer.d.ts.map +1 -0
  145. package/dist/core/expressions/status-builder-analyzer.js +1311 -0
  146. package/dist/core/expressions/status-builder-analyzer.js.map +1 -0
  147. package/dist/core/expressions/type-inference.d.ts +184 -0
  148. package/dist/core/expressions/type-inference.d.ts.map +1 -0
  149. package/dist/core/expressions/type-inference.js +838 -0
  150. package/dist/core/expressions/type-inference.js.map +1 -0
  151. package/dist/core/expressions/type-safety.d.ts +203 -0
  152. package/dist/core/expressions/type-safety.d.ts.map +1 -0
  153. package/dist/core/expressions/type-safety.js +442 -0
  154. package/dist/core/expressions/type-safety.js.map +1 -0
  155. package/dist/core/expressions/types.d.ts +282 -0
  156. package/dist/core/expressions/types.d.ts.map +1 -0
  157. package/dist/core/expressions/types.js +8 -0
  158. package/dist/core/expressions/types.js.map +1 -0
  159. package/dist/core/kubernetes/client-provider.js +2 -2
  160. package/dist/core/kubernetes/client-provider.js.map +1 -1
  161. package/dist/core/references/cel.d.ts +13 -1
  162. package/dist/core/references/cel.d.ts.map +1 -1
  163. package/dist/core/references/cel.js +50 -0
  164. package/dist/core/references/cel.js.map +1 -1
  165. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  166. package/dist/core/references/schema-proxy.js +13 -8
  167. package/dist/core/references/schema-proxy.js.map +1 -1
  168. package/dist/core/serialization/core.d.ts.map +1 -1
  169. package/dist/core/serialization/core.js +573 -9
  170. package/dist/core/serialization/core.js.map +1 -1
  171. package/dist/core/types/deployment.d.ts +7 -0
  172. package/dist/core/types/deployment.d.ts.map +1 -1
  173. package/dist/core/types/deployment.js +7 -0
  174. package/dist/core/types/deployment.js.map +1 -1
  175. package/dist/core/types/index.d.ts +1 -0
  176. package/dist/core/types/index.d.ts.map +1 -1
  177. package/dist/core/types/index.js.map +1 -1
  178. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  179. package/dist/core/validation/cel-validator.js +4 -8
  180. package/dist/core/validation/cel-validator.js.map +1 -1
  181. package/dist/core.d.ts +1 -1
  182. package/dist/core.d.ts.map +1 -1
  183. package/dist/core.js +1 -1
  184. package/dist/core.js.map +1 -1
  185. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  186. package/dist/factories/helm/helm-release.js +0 -5
  187. package/dist/factories/helm/helm-release.js.map +1 -1
  188. package/dist/factories/helm/types.d.ts +1 -1
  189. package/dist/factories/helm/types.d.ts.map +1 -1
  190. package/dist/factories/index.js +1 -0
  191. package/dist/factories/index.js.map +1 -1
  192. package/dist/factories/shared.d.ts.map +1 -1
  193. package/dist/factories/shared.js +21 -1
  194. package/dist/factories/shared.js.map +1 -1
  195. package/dist/factories/simple/index.d.ts +2 -2
  196. package/dist/factories/simple/index.d.ts.map +1 -1
  197. package/dist/factories/simple/workloads/deployment.d.ts +3 -3
  198. package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
  199. package/dist/factories/simple/workloads/deployment.js +37 -11
  200. package/dist/factories/simple/workloads/deployment.js.map +1 -1
  201. package/dist/index.d.ts +1 -1
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +1 -1
  204. package/dist/index.js.map +1 -1
  205. package/dist/utils/index.d.ts +1 -1
  206. package/dist/utils/index.d.ts.map +1 -1
  207. package/dist/utils/index.js +1 -1
  208. package/dist/utils/index.js.map +1 -1
  209. package/dist/utils/type-guards.d.ts +6 -0
  210. package/dist/utils/type-guards.d.ts.map +1 -1
  211. package/dist/utils/type-guards.js +25 -2
  212. package/dist/utils/type-guards.js.map +1 -1
  213. package/package.json +6 -1
@@ -5,33 +5,51 @@
5
5
  * Kubernetes Deployment resources with sensible defaults.
6
6
  */
7
7
  import { deployment } from '../../kubernetes/workloads/deployment.js';
8
+ import { withExpressionAnalysis, processFactoryValue, } from '../../../core/expressions/index.js';
9
+ import { getComponentLogger } from '../../../core/logging/index.js';
10
+ const _logger = getComponentLogger('simple-deployment-factory');
8
11
  /**
9
- * Creates a simple Deployment with sensible defaults
12
+ * Creates a simple Deployment with sensible defaults (original implementation)
10
13
  *
11
14
  * @param config - Configuration for the deployment
12
15
  * @returns Enhanced Deployment resource
13
16
  */
14
- export function Deployment(config) {
17
+ function createDeployment(config) {
15
18
  const env = config.env
16
- ? Object.entries(config.env).map(([name, value]) => ({ name, value }))
19
+ ? Object.entries(config.env).map(([name, value]) => ({
20
+ name,
21
+ value: processFactoryValue(value, { factoryType: 'kro', factoryName: 'Deployment', analysisEnabled: true }, `env.${name}`)
22
+ }))
17
23
  : [];
18
24
  return deployment({
19
25
  ...(config.id && { id: config.id }),
20
26
  metadata: {
21
- name: config.name,
22
- ...(config.namespace && { namespace: config.namespace }),
23
- labels: { app: config.name },
27
+ name: processFactoryValue(config.name, { factoryType: 'kro', factoryName: 'Deployment', analysisEnabled: true }, 'metadata.name'),
28
+ ...(config.namespace && {
29
+ namespace: processFactoryValue(config.namespace, { factoryType: 'kro', factoryName: 'Deployment', analysisEnabled: true }, 'metadata.namespace')
30
+ }),
31
+ labels: {
32
+ app: processFactoryValue(config.name, { factoryType: 'kro', factoryName: 'Deployment', analysisEnabled: true }, 'metadata.labels.app')
33
+ },
24
34
  },
25
35
  spec: {
26
- replicas: config.replicas || 1,
27
- selector: { matchLabels: { app: config.name } },
36
+ replicas: processFactoryValue(config.replicas || 1, { factoryType: 'kro', factoryName: 'Deployment', analysisEnabled: true }, 'spec.replicas'),
37
+ selector: {
38
+ matchLabels: {
39
+ app: processFactoryValue(config.name, { factoryType: 'kro', factoryName: 'Deployment', analysisEnabled: true }, 'spec.selector.matchLabels.app')
40
+ }
41
+ },
28
42
  template: {
29
- metadata: { labels: { app: config.name } },
43
+ metadata: {
44
+ labels: {
45
+ app: processFactoryValue(config.name, { factoryType: 'kro', factoryName: 'Deployment', analysisEnabled: true }, 'spec.template.metadata.labels.app')
46
+ }
47
+ },
30
48
  spec: {
31
49
  containers: [
32
50
  {
33
- name: config.name,
34
- image: config.image,
51
+ name: processFactoryValue(config.name, { factoryType: 'kro', factoryName: 'Deployment', analysisEnabled: true }, 'spec.template.spec.containers[0].name'),
52
+ image: processFactoryValue(config.image, { factoryType: 'kro', factoryName: 'Deployment', analysisEnabled: true }, 'spec.template.spec.containers[0].image'),
35
53
  ...(env.length > 0 && { env }),
36
54
  ...(config.ports && { ports: config.ports }),
37
55
  ...(config.resources && { resources: config.resources }),
@@ -44,4 +62,12 @@ export function Deployment(config) {
44
62
  },
45
63
  });
46
64
  }
65
+ /**
66
+ * Creates a simple Deployment with sensible defaults and expression analysis
67
+ *
68
+ * @param config - Configuration for the deployment
69
+ * @param options - Analysis options
70
+ * @returns Enhanced Deployment resource
71
+ */
72
+ export const Deployment = withExpressionAnalysis(createDeployment, 'Deployment');
47
73
  //# sourceMappingURL=deployment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../../src/factories/simple/workloads/deployment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAGtE;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,MAAwB;IAExB,MAAM,GAAG,GAAe,MAAM,CAAC,GAAG;QAChC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,UAAU,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QACnC,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACxD,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE;SAC7B;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;YAC9B,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;YAC/C,QAAQ,EAAE;gBACR,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;gBAC1C,IAAI,EAAE;oBACJ,UAAU,EAAE;wBACV;4BACE,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;4BAC9B,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;4BAC5C,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;4BACxD,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;yBAClE;qBACF;oBACD,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;iBACnD;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../../src/factories/simple/workloads/deployment.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  export { createAlchemyResourceId, DirectTypeKroDeployer, ensureResourceTypeRegistered, KroTypeKroDeployer, } from './alchemy/deployment.js';
5
5
  export { clearCompositionDebugLogs, disableCompositionDebugging, enableCompositionDebugging, getCompositionDebugLogs, kubernetesComposition, } from './core/composition/imperative.js';
6
6
  export type { CompositionFactory } from './core/types/serialization.js';
7
- export { Cel, type CelExpression, CircularDependencyError, CompositionDebugger, CompositionExecutionError, ContextRegistrationError, createContextLogger, createLogger, createSchemaProxy, DependencyGraph, DependencyResolver, DirectDeploymentEngine, type Enhanced, externalRef, generateKroSchema, getComponentLogger, getDeploymentLogger, getResourceLogger, isCelExpression, isKubernetesRef, isSchemaReference, type KroCompatibleType, type KubernetesRef, type KubernetesResource, type LoggerConfig, type LoggerContext, logger, type MagicAssignableShape, type MagicProxy, ReferenceResolver, type RefOrValue, type ResourceBuilder, type ResourceGraphDefinition, type SchemaProxy, type StatusBuilder, serializeResourceGraphToYaml, type TypedKroResourceGraphDefinition, type TypedResourceGraphFactory, TypeKroError, type TypeKroLogger, toResourceGraph, UnsupportedPatternDetector, validateResourceGraph, } from './core.js';
7
+ export { Cel, type CelExpression, CircularDependencyError, CompositionDebugger, CompositionExecutionError, ContextRegistrationError, createContextLogger, createLogger, createSchemaProxy, DependencyGraph, DependencyResolver, DirectDeploymentEngine, type Enhanced, externalRef, generateKroSchema, getComponentLogger, getDeploymentLogger, getResourceLogger, isCelExpression, isKubernetesRef, containsKubernetesRefs, isSchemaReference, type KroCompatibleType, type KubernetesRef, type KubernetesResource, type LoggerConfig, type LoggerContext, logger, type MagicAssignableShape, type MagicProxy, ReferenceResolver, type RefOrValue, type ResourceBuilder, type ResourceGraphDefinition, type SchemaProxy, type StatusBuilder, serializeResourceGraphToYaml, type TypedKroResourceGraphDefinition, type TypedResourceGraphFactory, TypeKroError, type TypeKroLogger, toResourceGraph, UnsupportedPatternDetector, validateResourceGraph, } from './core.js';
8
8
  export {} from './alchemy/index.js';
9
9
  export { type TypeKroRuntimeConfig, typeKroRuntimeBootstrap, } from './core/composition/typekro-runtime/index.js';
10
10
  export * from './factories/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAQrB,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAKxE,OAAO,EACL,GAAG,EACH,KAAK,aAAa,EAElB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EAExB,mBAAmB,EACnB,YAAY,EAIZ,iBAAiB,EACjB,eAAe,EAEf,kBAAkB,EAElB,sBAAsB,EAEtB,KAAK,QAAQ,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAEf,eAAe,EACf,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAEf,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,aAAa,EAElB,4BAA4B,EAC5B,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,YAAY,EACZ,KAAK,aAAa,EAClB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAE,MAYT,oBAAoB,CAAC;AAKrB,OAAO,EACL,KAAK,oBAAoB,EACzB,uBAAuB,GACxB,MAAM,6CAA6C,CAAC;AAKrD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAQrB,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAKxE,OAAO,EACL,GAAG,EACH,KAAK,aAAa,EAElB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EAExB,mBAAmB,EACnB,YAAY,EAIZ,iBAAiB,EACjB,eAAe,EAEf,kBAAkB,EAElB,sBAAsB,EAEtB,KAAK,QAAQ,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAEf,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAEf,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,aAAa,EAElB,4BAA4B,EAC5B,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,YAAY,EACZ,KAAK,aAAa,EAClB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAE,MAYT,oBAAoB,CAAC;AAKrB,OAAO,EACL,KAAK,oBAAoB,EACzB,uBAAuB,GACxB,MAAM,6CAA6C,CAAC;AAKrD,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -34,7 +34,7 @@ DependencyResolver,
34
34
  // Direct deployment functionality
35
35
  DirectDeploymentEngine, externalRef, generateKroSchema, getComponentLogger, getDeploymentLogger, getResourceLogger, isCelExpression,
36
36
  // Utility functions
37
- isKubernetesRef, isSchemaReference, logger,
37
+ isKubernetesRef, containsKubernetesRefs, isSchemaReference, logger,
38
38
  // Reference resolution and CEL
39
39
  ReferenceResolver,
40
40
  // Serialization and YAML generation
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAChF,oDAAoD;AACpD,OAAO,EACL,uBAAuB,EACvB,qBAAqB;AACrB,gCAAgC;AAChC,6EAA6E;AAE7E,sCAAsC;AACtC,yDAAyD;AAEzD,uCAAuC;AACvC,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,gFAAgF;AAChF,iCAAiC;AACjC,gFAAgF;AAChF,iCAAiC;AACjC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAChF,6FAA6F;AAC7F,OAAO,EACL,GAAG;AAEH,cAAc;AACd,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB;AACxB,wBAAwB;AACxB,mBAAmB,EACnB,YAAY;AACZ,uEAAuE;AAEvE,yBAAyB;AACzB,iBAAiB,EACjB,eAAe;AACf,wBAAwB;AACxB,kBAAkB;AAClB,kCAAkC;AAClC,sBAAsB,EAGtB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe;AACf,oBAAoB;AACpB,eAAe,EACf,iBAAiB,EAMjB,MAAM;AAGN,+BAA+B;AAC/B,iBAAiB;AAMjB,oCAAoC;AACpC,4BAA4B,EAG5B,YAAY,EAEZ,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAkBnB,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAChF,sDAAsD;AACtD,OAAO,EAEL,uBAAuB,GACxB,MAAM,6CAA6C,CAAC;AACrD,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAChF,6DAA6D;AAC7D,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAChF,oDAAoD;AACpD,OAAO,EACL,uBAAuB,EACvB,qBAAqB;AACrB,gCAAgC;AAChC,6EAA6E;AAE7E,sCAAsC;AACtC,yDAAyD;AAEzD,uCAAuC;AACvC,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,gFAAgF;AAChF,iCAAiC;AACjC,gFAAgF;AAChF,iCAAiC;AACjC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAChF,6FAA6F;AAC7F,OAAO,EACL,GAAG;AAEH,cAAc;AACd,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB;AACxB,wBAAwB;AACxB,mBAAmB,EACnB,YAAY;AACZ,uEAAuE;AAEvE,yBAAyB;AACzB,iBAAiB,EACjB,eAAe;AACf,wBAAwB;AACxB,kBAAkB;AAClB,kCAAkC;AAClC,sBAAsB,EAGtB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe;AACf,oBAAoB;AACpB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EAMjB,MAAM;AAGN,+BAA+B;AAC/B,iBAAiB;AAMjB,oCAAoC;AACpC,4BAA4B,EAG5B,YAAY,EAEZ,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAkBnB,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAChF,sDAAsD;AACtD,OAAO,EAEL,uBAAuB,GACxB,MAAM,6CAA6C,CAAC;AACrD,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAChF,6DAA6D;AAC7D,cAAc,sBAAsB,CAAC"}
@@ -5,5 +5,5 @@
5
5
  * that are used throughout the TypeKro codebase.
6
6
  */
7
7
  export { arktypeToKroSchema, generateCelReference, generateDeterministicResourceId, generateResourceId, getInnerCelPath, pascalCase, processResourceReferences, } from './helpers';
8
- export { extractResourceReferences, isCelExpression, isKubernetesRef, isResourceReference, } from './type-guards';
8
+ export { containsKubernetesRefs, extractResourceReferences, isCelExpression, isKubernetesRef, isResourceReference, } from './type-guards';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
@@ -7,5 +7,5 @@
7
7
  // Export helper functions
8
8
  export { arktypeToKroSchema, generateCelReference, generateDeterministicResourceId, generateResourceId, getInnerCelPath, pascalCase, processResourceReferences, } from './helpers';
9
9
  // Export type guard functions
10
- export { extractResourceReferences, isCelExpression, isKubernetesRef, isResourceReference, } from './type-guards';
10
+ export { containsKubernetesRefs, extractResourceReferences, isCelExpression, isKubernetesRef, isResourceReference, } from './type-guards';
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0BAA0B;AAC1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAEnB,8BAA8B;AAC9B,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0BAA0B;AAC1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAEnB,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
@@ -27,6 +27,12 @@ export declare function isMixedTemplate(value: unknown): value is {
27
27
  [MIXED_TEMPLATE_BRAND]: true;
28
28
  expression: string;
29
29
  };
30
+ /**
31
+ * Check if a value contains any KubernetesRef objects (from magic proxy system).
32
+ * This is used by the JavaScript to CEL analyzer to determine if an expression
33
+ * needs conversion.
34
+ */
35
+ export declare function containsKubernetesRefs(value: unknown): boolean;
30
36
  /**
31
37
  * Recursively extracts all KubernetesRef objects from a resource definition.
32
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAS3E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAInF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAItF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI;IAAE,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAI/D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAmBhF"}
1
+ {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAe3E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAInF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAItF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI;IAAE,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAI/D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAc9D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAmBhF"}
@@ -10,12 +10,18 @@ import { CEL_EXPRESSION_BRAND, KUBERNETES_REF_BRAND, MIXED_TEMPLATE_BRAND, } fro
10
10
  * Note: At runtime, these are the objects created by the proxy.
11
11
  */
12
12
  export function isKubernetesRef(obj) {
13
- // A KubernetesRef is an object that has our specific brand property.
13
+ // A KubernetesRef is an object that has our specific brand property set to true
14
+ // and has the required resourceId and fieldPath properties.
14
15
  // We check for the function type as well, since our ref factory is a proxy around a function.
15
16
  // Note: We access the property directly since it's defined as non-enumerable
16
17
  return ((typeof obj === 'object' || typeof obj === 'function') &&
17
18
  obj !== null &&
18
- KUBERNETES_REF_BRAND in obj);
19
+ KUBERNETES_REF_BRAND in obj &&
20
+ obj[KUBERNETES_REF_BRAND] === true &&
21
+ 'resourceId' in obj &&
22
+ 'fieldPath' in obj &&
23
+ typeof obj.resourceId === 'string' &&
24
+ typeof obj.fieldPath === 'string');
19
25
  }
20
26
  /**
21
27
  * Type guard to check if a value is a runtime ResourceReference.
@@ -36,6 +42,23 @@ export function isCelExpression(value) {
36
42
  export function isMixedTemplate(value) {
37
43
  return Boolean(value && typeof value === 'object' && value !== null && MIXED_TEMPLATE_BRAND in value);
38
44
  }
45
+ /**
46
+ * Check if a value contains any KubernetesRef objects (from magic proxy system).
47
+ * This is used by the JavaScript to CEL analyzer to determine if an expression
48
+ * needs conversion.
49
+ */
50
+ export function containsKubernetesRefs(value) {
51
+ if (isKubernetesRef(value)) {
52
+ return true;
53
+ }
54
+ if (Array.isArray(value)) {
55
+ return value.some(item => containsKubernetesRefs(item));
56
+ }
57
+ if (value && typeof value === 'object') {
58
+ return Object.values(value).some(val => containsKubernetesRefs(val));
59
+ }
60
+ return false;
61
+ }
39
62
  /**
40
63
  * Recursively extracts all KubernetesRef objects from a resource definition.
41
64
  */
@@ -1 +1 @@
1
- {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAGrC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,qEAAqE;IACrE,8FAA8F;IAC9F,6EAA6E;IAC7E,OAAO,CACL,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC;QACtD,GAAG,KAAK,IAAI;QACZ,oBAAoB,IAAI,GAAG,CAC5B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,CACL,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAmB,CACjG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAc,KAAc;IACzD,OAAO,OAAO,CACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,oBAAoB,IAAI,KAAK,CACtF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAc;IAEd,OAAO,OAAO,CACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,oBAAoB,IAAI,KAAK,CACtF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,MAAM,IAAI,GAA6B,EAAE,CAAC;IAE1C,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typekro",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "description": "A control plane aware framework for orchestrating kubernetes resources like a programmer.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -83,9 +83,14 @@
83
83
  "license": "Apache-2.0",
84
84
  "dependencies": {
85
85
  "@kubernetes/client-node": "0.20.0",
86
+ "@types/esprima": "^4.0.6",
87
+ "@types/estraverse": "^5.1.7",
88
+ "acorn": "^8.15.0",
86
89
  "alchemy": "^0.62.3",
87
90
  "arktype": "^2.1.20",
88
91
  "cel-js": "^0.8.2",
92
+ "esprima": "^4.0.1",
93
+ "estraverse": "^5.3.0",
89
94
  "js-yaml": "^4.1.0",
90
95
  "pino": "^9.8.0",
91
96
  "pino-pretty": "^13.1.1",