irgen 0.2.0

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 (244) hide show
  1. package/CHANGELOG.md +113 -0
  2. package/LICENSE +21 -0
  3. package/README.md +161 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +312 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/dsl/aggregator.d.ts +8 -0
  9. package/dist/dsl/aggregator.d.ts.map +1 -0
  10. package/dist/dsl/aggregator.js +64 -0
  11. package/dist/dsl/aggregator.js.map +1 -0
  12. package/dist/dsl/frontend-runtime.d.ts +486 -0
  13. package/dist/dsl/frontend-runtime.d.ts.map +1 -0
  14. package/dist/dsl/frontend-runtime.js +232 -0
  15. package/dist/dsl/frontend-runtime.js.map +1 -0
  16. package/dist/dsl/runtime.d.ts +33 -0
  17. package/dist/dsl/runtime.d.ts.map +1 -0
  18. package/dist/dsl/runtime.js +120 -0
  19. package/dist/dsl/runtime.js.map +1 -0
  20. package/dist/emit/backend/adapters.d.ts +11 -0
  21. package/dist/emit/backend/adapters.d.ts.map +1 -0
  22. package/dist/emit/backend/adapters.js +374 -0
  23. package/dist/emit/backend/adapters.js.map +1 -0
  24. package/dist/emit/backend/backend-tsmorph.d.ts +5 -0
  25. package/dist/emit/backend/backend-tsmorph.d.ts.map +1 -0
  26. package/dist/emit/backend/backend-tsmorph.js +858 -0
  27. package/dist/emit/backend/backend-tsmorph.js.map +1 -0
  28. package/dist/emit/backend/fake-backend.d.ts +2 -0
  29. package/dist/emit/backend/fake-backend.d.ts.map +1 -0
  30. package/dist/emit/backend/fake-backend.js +19 -0
  31. package/dist/emit/backend/fake-backend.js.map +1 -0
  32. package/dist/emit/backend/packaging.d.ts +3 -0
  33. package/dist/emit/backend/packaging.d.ts.map +1 -0
  34. package/dist/emit/backend/packaging.js +71 -0
  35. package/dist/emit/backend/packaging.js.map +1 -0
  36. package/dist/emit/backend/server.d.ts +4 -0
  37. package/dist/emit/backend/server.d.ts.map +1 -0
  38. package/dist/emit/backend/server.js +169 -0
  39. package/dist/emit/backend/server.js.map +1 -0
  40. package/dist/emit/cli/cli-fake.d.ts +2 -0
  41. package/dist/emit/cli/cli-fake.d.ts.map +1 -0
  42. package/dist/emit/cli/cli-fake.js +33 -0
  43. package/dist/emit/cli/cli-fake.js.map +1 -0
  44. package/dist/emit/electron/electron-shell.d.ts +3 -0
  45. package/dist/emit/electron/electron-shell.d.ts.map +1 -0
  46. package/dist/emit/electron/electron-shell.js +454 -0
  47. package/dist/emit/electron/electron-shell.js.map +1 -0
  48. package/dist/emit/engine.d.ts +14 -0
  49. package/dist/emit/engine.d.ts.map +1 -0
  50. package/dist/emit/engine.js +25 -0
  51. package/dist/emit/engine.js.map +1 -0
  52. package/dist/emit/format.d.ts +2 -0
  53. package/dist/emit/format.d.ts.map +1 -0
  54. package/dist/emit/format.js +23 -0
  55. package/dist/emit/format.js.map +1 -0
  56. package/dist/emit/frontend/frontend-react.d.ts +4 -0
  57. package/dist/emit/frontend/frontend-react.d.ts.map +1 -0
  58. package/dist/emit/frontend/frontend-react.js +2021 -0
  59. package/dist/emit/frontend/frontend-react.js.map +1 -0
  60. package/dist/emit/frontend/registry.d.ts +20 -0
  61. package/dist/emit/frontend/registry.d.ts.map +1 -0
  62. package/dist/emit/frontend/registry.js +46 -0
  63. package/dist/emit/frontend/registry.js.map +1 -0
  64. package/dist/emit/frontend/runtime-emitter.d.ts +4 -0
  65. package/dist/emit/frontend/runtime-emitter.d.ts.map +1 -0
  66. package/dist/emit/frontend/runtime-emitter.js +435 -0
  67. package/dist/emit/frontend/runtime-emitter.js.map +1 -0
  68. package/dist/emit/frontend/runtime-template.d.ts +28 -0
  69. package/dist/emit/frontend/runtime-template.d.ts.map +1 -0
  70. package/dist/emit/frontend/runtime-template.js +218 -0
  71. package/dist/emit/frontend/runtime-template.js.map +1 -0
  72. package/dist/emit/frontend/ssg.d.ts +8 -0
  73. package/dist/emit/frontend/ssg.d.ts.map +1 -0
  74. package/dist/emit/frontend/ssg.js +219 -0
  75. package/dist/emit/frontend/ssg.js.map +1 -0
  76. package/dist/emit/registry.d.ts +17 -0
  77. package/dist/emit/registry.d.ts.map +1 -0
  78. package/dist/emit/registry.js +38 -0
  79. package/dist/emit/registry.js.map +1 -0
  80. package/dist/emit/static-site/css.d.ts +5 -0
  81. package/dist/emit/static-site/css.d.ts.map +1 -0
  82. package/dist/emit/static-site/css.js +872 -0
  83. package/dist/emit/static-site/css.js.map +1 -0
  84. package/dist/emit/static-site/enhancements.d.ts +11 -0
  85. package/dist/emit/static-site/enhancements.d.ts.map +1 -0
  86. package/dist/emit/static-site/enhancements.js +266 -0
  87. package/dist/emit/static-site/enhancements.js.map +1 -0
  88. package/dist/emit/static-site/static-site-html.d.ts +3 -0
  89. package/dist/emit/static-site/static-site-html.d.ts.map +1 -0
  90. package/dist/emit/static-site/static-site-html.js +1172 -0
  91. package/dist/emit/static-site/static-site-html.js.map +1 -0
  92. package/dist/emit/utils/sdk.d.ts +15 -0
  93. package/dist/emit/utils/sdk.d.ts.map +1 -0
  94. package/dist/emit/utils/sdk.js +34 -0
  95. package/dist/emit/utils/sdk.js.map +1 -0
  96. package/dist/extensions/context.d.ts +23 -0
  97. package/dist/extensions/context.d.ts.map +1 -0
  98. package/dist/extensions/context.js +43 -0
  99. package/dist/extensions/context.js.map +1 -0
  100. package/dist/index.d.ts +32 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +135 -0
  103. package/dist/index.js.map +1 -0
  104. package/dist/ir/decl/backend.raw.schema.d.ts +128 -0
  105. package/dist/ir/decl/backend.raw.schema.d.ts.map +1 -0
  106. package/dist/ir/decl/backend.raw.schema.js +24 -0
  107. package/dist/ir/decl/backend.raw.schema.js.map +1 -0
  108. package/dist/ir/decl/bundle.d.ts +15 -0
  109. package/dist/ir/decl/bundle.d.ts.map +1 -0
  110. package/dist/ir/decl/bundle.js +8 -0
  111. package/dist/ir/decl/bundle.js.map +1 -0
  112. package/dist/ir/decl/cli.raw.schema.d.ts +133 -0
  113. package/dist/ir/decl/cli.raw.schema.d.ts.map +1 -0
  114. package/dist/ir/decl/cli.raw.schema.js +20 -0
  115. package/dist/ir/decl/cli.raw.schema.js.map +1 -0
  116. package/dist/ir/decl/frontend.raw.schema.d.ts +6631 -0
  117. package/dist/ir/decl/frontend.raw.schema.d.ts.map +1 -0
  118. package/dist/ir/decl/frontend.raw.schema.js +272 -0
  119. package/dist/ir/decl/frontend.raw.schema.js.map +1 -0
  120. package/dist/ir/decl/index.d.ts +6 -0
  121. package/dist/ir/decl/index.d.ts.map +1 -0
  122. package/dist/ir/decl/index.js +6 -0
  123. package/dist/ir/decl/index.js.map +1 -0
  124. package/dist/ir/decl/normalize.schema.d.ts +9154 -0
  125. package/dist/ir/decl/normalize.schema.d.ts.map +1 -0
  126. package/dist/ir/decl/normalize.schema.js +71 -0
  127. package/dist/ir/decl/normalize.schema.js.map +1 -0
  128. package/dist/ir/domain/backend.d.ts +19 -0
  129. package/dist/ir/domain/backend.d.ts.map +1 -0
  130. package/dist/ir/domain/backend.js +3 -0
  131. package/dist/ir/domain/backend.js.map +1 -0
  132. package/dist/ir/domain/cli.d.ts +18 -0
  133. package/dist/ir/domain/cli.d.ts.map +1 -0
  134. package/dist/ir/domain/cli.js +2 -0
  135. package/dist/ir/domain/cli.js.map +1 -0
  136. package/dist/ir/domain/frontend/index.d.ts +190 -0
  137. package/dist/ir/domain/frontend/index.d.ts.map +1 -0
  138. package/dist/ir/domain/frontend/index.js +2 -0
  139. package/dist/ir/domain/frontend/index.js.map +1 -0
  140. package/dist/ir/domain/frontend.d.ts +2 -0
  141. package/dist/ir/domain/frontend.d.ts.map +1 -0
  142. package/dist/ir/domain/frontend.js +3 -0
  143. package/dist/ir/domain/frontend.js.map +1 -0
  144. package/dist/ir/frontend-contract.d.ts +187 -0
  145. package/dist/ir/frontend-contract.d.ts.map +1 -0
  146. package/dist/ir/frontend-contract.js +6 -0
  147. package/dist/ir/frontend-contract.js.map +1 -0
  148. package/dist/ir/target/backend.d.ts +11 -0
  149. package/dist/ir/target/backend.d.ts.map +1 -0
  150. package/dist/ir/target/backend.js +2 -0
  151. package/dist/ir/target/backend.js.map +1 -0
  152. package/dist/ir/target/backend.policy.d.ts +896 -0
  153. package/dist/ir/target/backend.policy.d.ts.map +1 -0
  154. package/dist/ir/target/backend.policy.js +106 -0
  155. package/dist/ir/target/backend.policy.js.map +1 -0
  156. package/dist/ir/target/cli.d.ts +3 -0
  157. package/dist/ir/target/cli.d.ts.map +1 -0
  158. package/dist/ir/target/cli.js +2 -0
  159. package/dist/ir/target/cli.js.map +1 -0
  160. package/dist/ir/target/electron.d.ts +99 -0
  161. package/dist/ir/target/electron.d.ts.map +1 -0
  162. package/dist/ir/target/electron.js +2 -0
  163. package/dist/ir/target/electron.js.map +1 -0
  164. package/dist/ir/target/electron.policy.d.ts +7015 -0
  165. package/dist/ir/target/electron.policy.d.ts.map +1 -0
  166. package/dist/ir/target/electron.policy.js +119 -0
  167. package/dist/ir/target/electron.policy.js.map +1 -0
  168. package/dist/ir/target/frontend.d.ts +12 -0
  169. package/dist/ir/target/frontend.d.ts.map +1 -0
  170. package/dist/ir/target/frontend.js +2 -0
  171. package/dist/ir/target/frontend.js.map +1 -0
  172. package/dist/ir/target/frontend.policy.d.ts +268 -0
  173. package/dist/ir/target/frontend.policy.d.ts.map +1 -0
  174. package/dist/ir/target/frontend.policy.js +33 -0
  175. package/dist/ir/target/frontend.policy.js.map +1 -0
  176. package/dist/ir/target/index.d.ts +6 -0
  177. package/dist/ir/target/index.d.ts.map +1 -0
  178. package/dist/ir/target/index.js +6 -0
  179. package/dist/ir/target/index.js.map +1 -0
  180. package/dist/ir/target/static-site.d.ts +18 -0
  181. package/dist/ir/target/static-site.d.ts.map +1 -0
  182. package/dist/ir/target/static-site.js +2 -0
  183. package/dist/ir/target/static-site.js.map +1 -0
  184. package/dist/ir/target/static-site.policy.d.ts +2911 -0
  185. package/dist/ir/target/static-site.policy.d.ts.map +1 -0
  186. package/dist/ir/target/static-site.policy.js +127 -0
  187. package/dist/ir/target/static-site.policy.js.map +1 -0
  188. package/dist/lowering/backend.d.ts +4 -0
  189. package/dist/lowering/backend.d.ts.map +1 -0
  190. package/dist/lowering/backend.js +57 -0
  191. package/dist/lowering/backend.js.map +1 -0
  192. package/dist/lowering/cli.d.ts +4 -0
  193. package/dist/lowering/cli.d.ts.map +1 -0
  194. package/dist/lowering/cli.js +22 -0
  195. package/dist/lowering/cli.js.map +1 -0
  196. package/dist/lowering/engine.d.ts +18 -0
  197. package/dist/lowering/engine.d.ts.map +1 -0
  198. package/dist/lowering/engine.js +47 -0
  199. package/dist/lowering/engine.js.map +1 -0
  200. package/dist/lowering/frontend.d.ts +9 -0
  201. package/dist/lowering/frontend.d.ts.map +1 -0
  202. package/dist/lowering/frontend.js +246 -0
  203. package/dist/lowering/frontend.js.map +1 -0
  204. package/dist/lowering/targets/to-backend.d.ts +9 -0
  205. package/dist/lowering/targets/to-backend.d.ts.map +1 -0
  206. package/dist/lowering/targets/to-backend.js +55 -0
  207. package/dist/lowering/targets/to-backend.js.map +1 -0
  208. package/dist/lowering/targets/to-cli.d.ts +4 -0
  209. package/dist/lowering/targets/to-cli.d.ts.map +1 -0
  210. package/dist/lowering/targets/to-cli.js +11 -0
  211. package/dist/lowering/targets/to-cli.js.map +1 -0
  212. package/dist/lowering/targets/to-electron.d.ts +30 -0
  213. package/dist/lowering/targets/to-electron.d.ts.map +1 -0
  214. package/dist/lowering/targets/to-electron.js +87 -0
  215. package/dist/lowering/targets/to-electron.js.map +1 -0
  216. package/dist/lowering/targets/to-frontend.d.ts +4 -0
  217. package/dist/lowering/targets/to-frontend.d.ts.map +1 -0
  218. package/dist/lowering/targets/to-frontend.js +30 -0
  219. package/dist/lowering/targets/to-frontend.js.map +1 -0
  220. package/dist/lowering/targets/to-static-site.d.ts +16 -0
  221. package/dist/lowering/targets/to-static-site.d.ts.map +1 -0
  222. package/dist/lowering/targets/to-static-site.js +30 -0
  223. package/dist/lowering/targets/to-static-site.js.map +1 -0
  224. package/dist/mappers/index.d.ts +12 -0
  225. package/dist/mappers/index.d.ts.map +1 -0
  226. package/dist/mappers/index.js +60 -0
  227. package/dist/mappers/index.js.map +1 -0
  228. package/dist/types/extension.d.ts +3 -0
  229. package/dist/types/extension.d.ts.map +1 -0
  230. package/dist/types/extension.js +2 -0
  231. package/dist/types/extension.js.map +1 -0
  232. package/dist/utils/array.d.ts +2 -0
  233. package/dist/utils/array.d.ts.map +1 -0
  234. package/dist/utils/array.js +4 -0
  235. package/dist/utils/array.js.map +1 -0
  236. package/dist/utils/index.d.ts +3 -0
  237. package/dist/utils/index.d.ts.map +1 -0
  238. package/dist/utils/index.js +3 -0
  239. package/dist/utils/index.js.map +1 -0
  240. package/dist/utils/string.d.ts +13 -0
  241. package/dist/utils/string.d.ts.map +1 -0
  242. package/dist/utils/string.js +56 -0
  243. package/dist/utils/string.js.map +1 -0
  244. package/package.json +112 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-site.policy.d.ts","sourceRoot":"","sources":["../../../src/ir/target/static-site.policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,4BAA4B;;;;;;;;;GAG3B,CAAC;AAGf,eAAO,MAAM,kCAAkC,mHAS7C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;GAGjC,CAAC;AAGf,eAAO,MAAM,mCAAmC;;;;;;;;;;;;GAIlC,CAAC;AAGf,eAAO,MAAM,4BAA4B;;;;;;;;;GAG3B,CAAC;AAGf,eAAO,MAAM,6BAA6B;;;;;;GAE5B,CAAC;AAGf,eAAO,MAAM,4BAA4B;;;;;;GAE3B,CAAC;AAGf,eAAO,MAAM,+BAA+B;;;;;;GAE9B,CAAC;AAGf,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQxB,CAAC;AAGf,eAAO,MAAM,2BAA2B;;;;;;;;;;;;GAI1B,CAAC;AAGf,eAAO,MAAM,yBAAyB;;;;;;;;;GAGxB,CAAC;AAGf,eAAO,MAAM,mCAAmC;;;;;;;;;GAGlC,CAAC;AAGf,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG7B,CAAC;AAGf,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;GAK3B,CAAC;AAEf,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;GAK5B,CAAC;AAGf,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAerB,CAAC;AAGf,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAE7B,CAAC;AAGjB,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAGtC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC1F,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAM1E"}
@@ -0,0 +1,127 @@
1
+ import { z } from "zod";
2
+ // Static Site Assets Policy Schema
3
+ export const StaticSiteAssetsPolicySchema = z.object({
4
+ hashing: z.boolean().default(true),
5
+ publicDir: z.string().optional(),
6
+ }).default({});
7
+ // Static Site Enhancements Policy Schema
8
+ export const StaticSiteEnhancementFeatureSchema = z.enum([
9
+ "sidebarToggle",
10
+ "copyCode",
11
+ "themeToggle",
12
+ "tocScrollSpy",
13
+ "tabs",
14
+ "accordion",
15
+ "search",
16
+ "mermaid",
17
+ ]);
18
+ export const StaticSiteEnhancementsPolicySchema = z.object({
19
+ enabled: z.boolean().default(true),
20
+ features: z.array(StaticSiteEnhancementFeatureSchema).default([]),
21
+ }).default({});
22
+ // Static Site Code Highlight Policy Schema
23
+ export const StaticSiteCodeHighlightPolicySchema = z.object({
24
+ mode: z.enum(["pre", "client", "none"]).default("pre"),
25
+ theme: z.string().optional(),
26
+ addCopyButton: z.boolean().default(true),
27
+ }).default({});
28
+ // Static Site Search Policy Schema
29
+ export const StaticSiteSearchPolicySchema = z.object({
30
+ mode: z.enum(["none", "client_index", "remote"]).default("none"),
31
+ indexFile: z.string().default("assets/search-index.json"),
32
+ }).default({});
33
+ // Static Site SEO Sitemap Policy Schema
34
+ export const StaticSiteSitemapPolicySchema = z.object({
35
+ enabled: z.boolean().default(true),
36
+ }).default({});
37
+ // Static Site SEO Robots Policy Schema
38
+ export const StaticSiteRobotsPolicySchema = z.object({
39
+ enabled: z.boolean().default(true),
40
+ }).default({});
41
+ // Static Site SEO OpenGraph Policy Schema
42
+ export const StaticSiteOpenGraphPolicySchema = z.object({
43
+ enabled: z.boolean().default(false),
44
+ }).default({});
45
+ // Static Site SEO Policy Schema
46
+ export const StaticSiteSeoPolicySchema = z.object({
47
+ defaultTitle: z.string().default("irgen Documentation"),
48
+ titleTemplate: z.string().default("%s · irgen"),
49
+ defaultDescription: z.string().default("Compiler-style code generation via Intermediate Representation (IR)."),
50
+ canonicalBaseUrl: z.string().nullable().default(null),
51
+ sitemap: StaticSiteSitemapPolicySchema,
52
+ robotsTxt: StaticSiteRobotsPolicySchema,
53
+ openGraph: StaticSiteOpenGraphPolicySchema,
54
+ }).default({});
55
+ // Static Site Theme Policy Schema
56
+ export const StaticSiteThemePolicySchema = z.object({
57
+ mode: z.enum(["light", "dark", "auto"]).default("auto"),
58
+ accentColor: z.string().default("#3b82f6"),
59
+ radius: z.enum(["sm", "md", "lg"]).default("md"),
60
+ }).default({});
61
+ // Static Site CSP Policy Schema
62
+ export const StaticSiteCspPolicySchema = z.object({
63
+ enabled: z.boolean().default(false),
64
+ value: z.string().optional(),
65
+ }).default({});
66
+ // Static Site External Links Policy Schema
67
+ export const StaticSiteExternalLinksPolicySchema = z.object({
68
+ noopener: z.boolean().default(true),
69
+ noreferrer: z.boolean().default(true),
70
+ }).default({});
71
+ // Static Site Security Policy Schema
72
+ export const StaticSiteSecurityPolicySchema = z.object({
73
+ csp: StaticSiteCspPolicySchema,
74
+ externalLinks: StaticSiteExternalLinksPolicySchema,
75
+ }).default({});
76
+ // Static Site Navbar Policy Schema
77
+ export const StaticSiteNavbarPolicySchema = z.object({
78
+ links: z.array(z.object({
79
+ label: z.string(),
80
+ href: z.string(),
81
+ })).default([]),
82
+ }).default({});
83
+ export const StaticSiteSidebarPolicySchema = z.object({
84
+ groups: z.array(z.object({
85
+ label: z.string(),
86
+ items: z.array(z.string()),
87
+ })).default([]),
88
+ }).default({});
89
+ // Main Static Site Policy Schema
90
+ export const StaticSitePolicySchema = z.object({
91
+ enabled: z.boolean().default(true),
92
+ baseUrl: z.string().default("/"),
93
+ trailingSlash: z.boolean().default(true),
94
+ outDir: z.string().default("."),
95
+ customCssPath: z.string().optional(),
96
+ assets: StaticSiteAssetsPolicySchema,
97
+ enhancements: StaticSiteEnhancementsPolicySchema,
98
+ codeHighlight: StaticSiteCodeHighlightPolicySchema,
99
+ search: StaticSiteSearchPolicySchema,
100
+ seo: StaticSiteSeoPolicySchema,
101
+ theme: StaticSiteThemePolicySchema,
102
+ security: StaticSiteSecurityPolicySchema,
103
+ navbar: StaticSiteNavbarPolicySchema,
104
+ sidebar: StaticSiteSidebarPolicySchema,
105
+ }).default({});
106
+ // Namespaced format for DSL usage
107
+ export const StaticSitePolicyNamespacedSchema = z.object({
108
+ staticSite: StaticSitePolicySchema,
109
+ }).passthrough();
110
+ // Union schema that accepts both formats (flat or namespaced)
111
+ export const StaticSitePolicyInputSchema = z.union([
112
+ StaticSitePolicySchema,
113
+ StaticSitePolicyNamespacedSchema,
114
+ ]);
115
+ /**
116
+ * Normalize static-site policy input to StaticSitePolicy.
117
+ * Accepts both flat format ({ enabled: true, baseUrl: "/", ... })
118
+ * and namespaced format ({ staticSite: { enabled: true, ... } }).
119
+ */
120
+ export function normalizeStaticSitePolicy(input) {
121
+ const parsed = StaticSitePolicyInputSchema.parse(input);
122
+ if ("staticSite" in parsed) {
123
+ return parsed.staticSite;
124
+ }
125
+ return parsed;
126
+ }
127
+ //# sourceMappingURL=static-site.policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-site.policy.js","sourceRoot":"","sources":["../../../src/ir/target/static-site.policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DeclApp } from "../ir/decl/backend.raw.schema.js";
2
+ import type { BackendIR } from "../ir/domain/backend.js";
3
+ export declare function declToBackendIR(app: DeclApp): BackendIR;
4
+ //# sourceMappingURL=backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/lowering/backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,yBAAyB,CAAC;AAuB/E,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAkCvD"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Lowering rules:
3
+ * - Kita paksa konvensi canonical: CREATE/GET/LIST
4
+ * - Method name ditentukan deterministik:
5
+ * CREATE -> create<Entity>
6
+ * GET -> get<Entity>
7
+ * LIST -> list<Entity>s (sederhana; nanti bisa pluralization rules)
8
+ */
9
+ import { pascal, camel, pluralize } from "../utils/string.js";
10
+ function opKind(kind) {
11
+ if (kind === "create")
12
+ return "CREATE";
13
+ if (kind === "get")
14
+ return "GET";
15
+ if (kind === "update")
16
+ return "UPDATE";
17
+ if (kind === "remove")
18
+ return "REMOVE";
19
+ return "LIST";
20
+ }
21
+ import { engine } from "./engine.js";
22
+ export function declToBackendIR(app) {
23
+ const appName = app.name ?? "app";
24
+ return {
25
+ domain: "backend",
26
+ appName,
27
+ entities: (app.entities ?? []).map(e => {
28
+ const entityName = pascal(e.name ?? e.id);
29
+ const ops = (e.operations ?? []).map(op => {
30
+ const K = opKind(op.kind);
31
+ const base = K === "CREATE" ? "create" :
32
+ K === "GET" ? "get" :
33
+ K === "UPDATE" ? "update" :
34
+ K === "REMOVE" ? "remove" :
35
+ "list";
36
+ const methodName = K === "LIST"
37
+ ? camel(`${base} ${pluralize(entityName)}`)
38
+ : camel(`${base} ${entityName}`);
39
+ return { kind: K, entityName, methodName };
40
+ });
41
+ return {
42
+ name: entityName,
43
+ id: e.id,
44
+ model: e.model ? Object.fromEntries(Object.entries(e.model).map(([k, t]) => [k, t])) : undefined,
45
+ operations: ops,
46
+ };
47
+ }),
48
+ };
49
+ }
50
+ // Register this backend lowering with the engine and a zod policy schema validator
51
+ try {
52
+ engine.registerTransform("backend", (decl) => declToBackendIR(decl));
53
+ }
54
+ catch (e) {
55
+ // ignore if already registered (useful for repeated runs in test environment)
56
+ }
57
+ //# sourceMappingURL=backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/lowering/backend.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE9D,SAAS,MAAM,CAAC,IAAqD;IACnE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACvC,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACvC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACvC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC;IAElC,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,OAAO;QACP,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACrC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACxC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,IAAI,GACR,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACzB,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACnB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;4BACzB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gCACzB,MAAM,CAAC;gBACjB,MAAM,UAAU,GACd,CAAC,KAAK,MAAM;oBACV,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3C,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;gBAErC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAChD,CAAC,CAAC,CAAC,SAAS;gBACb,UAAU,EAAE,GAAG;aAChB,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,IAAI,CAAC;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,8EAA8E;AAChF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DeclCliApp } from "../ir/decl/cli.raw.schema.js";
2
+ import type { CliIR } from "../ir/domain/cli.js";
3
+ export declare function declToCliIR(decl: DeclCliApp): CliIR;
4
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/lowering/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAIjD,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,KAAK,CAWnD"}
@@ -0,0 +1,22 @@
1
+ import { engine } from "./engine.js";
2
+ import { z } from "zod";
3
+ export function declToCliIR(decl) {
4
+ return {
5
+ domain: "cli",
6
+ name: decl.name,
7
+ commands: (decl.commands ?? []).map(cmd => ({
8
+ name: cmd.name,
9
+ description: cmd.description,
10
+ options: cmd.options,
11
+ action: cmd.action,
12
+ })),
13
+ };
14
+ }
15
+ try {
16
+ engine.registerTransform("cli", (decl) => declToCliIR(decl));
17
+ engine.registerPolicySchema("cli", z.object({}).passthrough());
18
+ }
19
+ catch (e) {
20
+ // ignore double registration in repeated runs
21
+ }
22
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/lowering/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,IAAI,CAAC;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,IAAgB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACjE,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,8CAA8C;AAChD,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ZodTypeAny } from "zod";
2
+ export type LoweringTransform = (input: any, policies?: Record<string, any>) => Promise<any> | any;
3
+ export type PolicyValidator = (policies?: Record<string, any>) => void;
4
+ declare class LoweringEngine {
5
+ private transforms;
6
+ private validators;
7
+ private policySchemas;
8
+ registerTransform(name: string, fn: LoweringTransform): void;
9
+ unregisterTransform(name: string): void;
10
+ getTransform(name: string): LoweringTransform | undefined;
11
+ listTransforms(): string[];
12
+ registerPolicyValidator(name: string, v: PolicyValidator): void;
13
+ registerPolicySchema(name: string, schema: ZodTypeAny): void;
14
+ runTransform(name: string, input: any, policies?: Record<string, any>): any;
15
+ }
16
+ export declare const engine: LoweringEngine;
17
+ export {};
18
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/lowering/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtC,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACnG,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;AAEvE,cAAM,cAAc;IAClB,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,aAAa,CAAiC;IAEtD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB;IAKrD,mBAAmB,CAAC,IAAI,EAAE,MAAM;IAIhC,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB,cAAc;IAId,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe;IAKxD,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAKrD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CActE;AAED,eAAO,MAAM,MAAM,gBAAuB,CAAC"}
@@ -0,0 +1,47 @@
1
+ class LoweringEngine {
2
+ transforms = new Map();
3
+ validators = new Map();
4
+ policySchemas = new Map();
5
+ registerTransform(name, fn) {
6
+ if (this.transforms.has(name))
7
+ throw new Error(`transform already registered: ${name}`);
8
+ this.transforms.set(name, fn);
9
+ }
10
+ unregisterTransform(name) {
11
+ this.transforms.delete(name);
12
+ }
13
+ getTransform(name) {
14
+ return this.transforms.get(name);
15
+ }
16
+ listTransforms() {
17
+ return Array.from(this.transforms.keys());
18
+ }
19
+ registerPolicyValidator(name, v) {
20
+ if (this.validators.has(name))
21
+ throw new Error(`validator already registered: ${name}`);
22
+ this.validators.set(name, v);
23
+ }
24
+ registerPolicySchema(name, schema) {
25
+ if (this.policySchemas.has(name))
26
+ throw new Error(`policy schema already registered: ${name}`);
27
+ this.policySchemas.set(name, schema);
28
+ }
29
+ runTransform(name, input, policies) {
30
+ // Prefer zod schema validation if available for richer errors
31
+ const schema = this.policySchemas.get(name);
32
+ if (schema) {
33
+ schema.parse(policies ?? {});
34
+ }
35
+ else {
36
+ const validator = this.validators.get(name);
37
+ if (validator)
38
+ validator(policies);
39
+ }
40
+ const fn = this.transforms.get(name);
41
+ if (!fn)
42
+ throw new Error(`transform not registered: ${name}`);
43
+ return fn(input, policies);
44
+ }
45
+ }
46
+ export const engine = new LoweringEngine();
47
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/lowering/engine.ts"],"names":[],"mappings":"AAIA,MAAM,cAAc;IACV,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IAClD,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;IAChD,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEtD,iBAAiB,CAAC,IAAY,EAAE,EAAqB;QACnD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,uBAAuB,CAAC,IAAY,EAAE,CAAkB;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,oBAAoB,CAAC,IAAY,EAAE,MAAkB;QACnD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAU,EAAE,QAA8B;QACnE,8DAA8D;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,SAAS;gBAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { DeclFrontendApp } from "../ir/decl/frontend.raw.schema.js";
2
+ import type { FrontendIR, FrontendPwaConfig } from "../ir/domain/frontend.js";
3
+ export type FrontendPolicies = {
4
+ pwa?: Partial<FrontendPwaConfig> & {
5
+ enabled?: boolean;
6
+ };
7
+ };
8
+ export declare function declToFrontendIR(decl: DeclFrontendApp, policies?: any): FrontendIR;
9
+ //# sourceMappingURL=frontend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend.d.ts","sourceRoot":"","sources":["../../src/lowering/frontend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAwC,MAAM,0BAA0B,CAAC;AAGpH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1D,CAAC;AA+IF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,UAAU,CAiElF"}
@@ -0,0 +1,246 @@
1
+ import { pascal } from "../utils/index.js";
2
+ const DEFAULT_PWA = {
3
+ enabled: false,
4
+ name: "IR App",
5
+ shortName: "IRApp",
6
+ description: "Offline-ready web app",
7
+ startUrl: "/",
8
+ scope: "/",
9
+ display: "standalone",
10
+ backgroundColor: "#ffffff",
11
+ themeColor: "#0f172a",
12
+ };
13
+ function resolvePolicies(policies) {
14
+ if (!policies)
15
+ return {};
16
+ // allow namespaced policies.frontend or direct
17
+ return (policies.frontend ?? policies);
18
+ }
19
+ function resolvePwaConfig(decl, policies) {
20
+ const policy = resolvePolicies(policies);
21
+ const pwaInput = policy?.pwa ?? decl.pwa;
22
+ const enabled = pwaInput?.enabled ?? decl?.pwa?.enabled ?? false;
23
+ if (!enabled)
24
+ return undefined;
25
+ return {
26
+ ...DEFAULT_PWA,
27
+ ...pwaInput,
28
+ enabled: true,
29
+ name: pwaInput?.name ?? decl.name,
30
+ shortName: pwaInput?.shortName ?? pascal(decl.name).slice(0, 12),
31
+ };
32
+ }
33
+ function lowerValidators(f) {
34
+ const rules = [];
35
+ const v = f.validators;
36
+ if (!v)
37
+ return rules;
38
+ const label = f.label ?? f.name;
39
+ if (v.required) {
40
+ rules.push({ id: `${f.name}_required`, type: "required", message: `${label} is required` });
41
+ }
42
+ if (v.requiredIf) {
43
+ rules.push({ id: `${f.name}_requiredIf`, type: "requiredIf", message: `${label} is required`, logic: v.requiredIf });
44
+ }
45
+ if (typeof v.min !== "undefined") {
46
+ rules.push({ id: `${f.name}_min`, type: "min", message: `${label} must be >= ${v.min}`, params: { value: v.min } });
47
+ }
48
+ if (typeof v.max !== "undefined") {
49
+ rules.push({ id: `${f.name}_max`, type: "max", message: `${label} must be <= ${v.max}`, params: { value: v.max } });
50
+ }
51
+ if (v.minDate) {
52
+ rules.push({ id: `${f.name}_minDate`, type: "min", message: `${label} must be after ${v.minDate}`, params: { value: v.minDate, isDate: true } });
53
+ }
54
+ if (v.maxDate) {
55
+ rules.push({ id: `${f.name}_maxDate`, type: "max", message: `${label} must be before ${v.maxDate}`, params: { value: v.maxDate, isDate: true } });
56
+ }
57
+ if (typeof v.minLength !== "undefined") {
58
+ rules.push({ id: `${f.name}_minLength`, type: "minLength", message: `${label} must have length >= ${v.minLength}`, params: { value: v.minLength } });
59
+ }
60
+ if (typeof v.maxLength !== "undefined") {
61
+ rules.push({ id: `${f.name}_maxLength`, type: "maxLength", message: `${label} must have length <= ${v.maxLength}`, params: { value: v.maxLength } });
62
+ }
63
+ if (v.pattern) {
64
+ rules.push({ id: `${f.name}_pattern`, type: "pattern", message: `${label} is invalid`, params: { value: v.pattern } });
65
+ }
66
+ if (v.format === "email") {
67
+ rules.push({ id: `${f.name}_email`, type: "format", message: `${label} must be a valid email`, params: { value: "email" } });
68
+ }
69
+ if (v.format === "url") {
70
+ rules.push({ id: `${f.name}_url`, type: "format", message: `${label} must be a valid URL`, params: { value: "url" } });
71
+ }
72
+ if (v.equalsField) {
73
+ rules.push({ id: `${f.name}_equals`, type: "equalsField", message: `${label} must match ${v.equalsField}`, params: { value: v.equalsField } });
74
+ }
75
+ if (v.notEqualsField) {
76
+ rules.push({ id: `${f.name}_notEquals`, type: "notEqualsField", message: `${label} must differ from ${v.notEqualsField}`, params: { value: v.notEqualsField } });
77
+ }
78
+ if (v.greaterThanField) {
79
+ rules.push({ id: `${f.name}_gt`, type: "greaterThanField", message: `${label} must be greater than ${v.greaterThanField}`, params: { value: v.greaterThanField } });
80
+ }
81
+ if (v.lessThanField) {
82
+ rules.push({ id: `${f.name}_lt`, type: "lessThanField", message: `${label} must be less than ${v.lessThanField}`, params: { value: v.lessThanField } });
83
+ }
84
+ if (Array.isArray(v.custom)) {
85
+ v.custom.forEach((c, idx) => {
86
+ rules.push({ id: `${f.name}_custom_${idx}`, type: "custom", message: c.message ?? `${label} is invalid`, logic: c.logic });
87
+ });
88
+ }
89
+ if (Array.isArray(v.uniqueIn)) {
90
+ rules.push({ id: `${f.name}_unique`, type: "uniqueIn", message: `${label} must be unique`, params: { value: v.uniqueIn } });
91
+ }
92
+ return rules;
93
+ }
94
+ function extractLogicDependencies(logic) {
95
+ const deps = new Set();
96
+ const scan = (node) => {
97
+ if (!node)
98
+ return;
99
+ if (typeof node === "string") {
100
+ const trimmed = node.trim();
101
+ try {
102
+ const parsed = JSON.parse(trimmed);
103
+ if (parsed && typeof parsed === "object") {
104
+ scan(parsed);
105
+ return;
106
+ }
107
+ }
108
+ catch (_) { }
109
+ const match = trimmed.match(/^([A-Za-z0-9_\\.]+)\\s*(==|===|!=|!==|>=|<=|>|<)\\s*(.+)$/);
110
+ if (match) {
111
+ deps.add(match[1]);
112
+ }
113
+ else {
114
+ deps.add(trimmed);
115
+ }
116
+ }
117
+ else if (Array.isArray(node)) {
118
+ node.forEach(scan);
119
+ }
120
+ else if (typeof node === "object") {
121
+ const entries = Object.entries(node);
122
+ if (entries.length > 0) {
123
+ const [op, val] = entries[0];
124
+ if (op === "var" && typeof val === "string") {
125
+ deps.add(val);
126
+ }
127
+ else if (Array.isArray(val)) {
128
+ val.forEach(scan);
129
+ }
130
+ else {
131
+ scan(val);
132
+ }
133
+ }
134
+ }
135
+ };
136
+ scan(logic);
137
+ return Array.from(deps).map(d => d.split(".")[0]); // only top-level for state tracking
138
+ }
139
+ function lowerLogicExpression(logic) {
140
+ if (!logic)
141
+ return undefined;
142
+ let parsed = logic;
143
+ try {
144
+ parsed = JSON.parse(logic);
145
+ }
146
+ catch (_) { }
147
+ return {
148
+ logic: parsed,
149
+ dependencies: extractLogicDependencies(parsed)
150
+ };
151
+ }
152
+ export function declToFrontendIR(decl, policies) {
153
+ const mapComponent = (c) => ({
154
+ name: c.name,
155
+ props: c.props,
156
+ entityRef: c.entityRef,
157
+ agentChat: c.agentChat,
158
+ cliUsage: c.cliUsage,
159
+ form: c.form ? {
160
+ ...c.form,
161
+ fields: (c.form.fields ?? []).map((f) => ({
162
+ ...f,
163
+ loweredValidators: lowerValidators(f),
164
+ loweredVisibleIf: lowerLogicExpression(f.visibleIf),
165
+ loweredDisabledIf: lowerLogicExpression(f.disabledIf),
166
+ loweredDefaultValue: lowerLogicExpression(f.defaultValue),
167
+ loweredComputeValue: lowerLogicExpression(f.computeValue),
168
+ }))
169
+ } : undefined,
170
+ layout: c.layout,
171
+ content: c.content,
172
+ button: c.button,
173
+ themeToggle: c.themeToggle,
174
+ codeBlock: c.codeBlock,
175
+ marketing: c.marketing,
176
+ table: c.table,
177
+ });
178
+ const pages = (decl.pages ?? []).map((p) => ({
179
+ name: p.name,
180
+ path: p.path,
181
+ hideHeader: p.hideHeader,
182
+ description: p.description,
183
+ docsLayout: p.docsLayout,
184
+ docsGroupLabel: p.docsGroupLabel,
185
+ components: (p.components ?? []).map(mapComponent)
186
+ }));
187
+ const components = (decl.components ?? []).map(mapComponent);
188
+ return {
189
+ domain: "frontend",
190
+ appName: decl.name,
191
+ basePath: decl.basePath ?? "/",
192
+ pages,
193
+ components,
194
+ datasources: decl.datasources ?? [],
195
+ operations: (decl.operations ?? []).map((op) => ({
196
+ ...op,
197
+ // In Phase 2, we might want to normalize logic expressions in operations too
198
+ pathParams: lowerLogicExpression(op.pathParams),
199
+ query: lowerLogicExpression(op.query),
200
+ headers: lowerLogicExpression(op.headers),
201
+ body: op.body ? {
202
+ ...op.body,
203
+ build: lowerLogicExpression(op.body.build)
204
+ } : undefined,
205
+ resultHandling: op.resultHandling ? {
206
+ ...op.resultHandling,
207
+ redirectTo: lowerLogicExpression(op.resultHandling.redirectTo),
208
+ openUrl: lowerLogicExpression(op.resultHandling.openUrl),
209
+ downloadAs: lowerLogicExpression(op.resultHandling.downloadAs),
210
+ } : undefined
211
+ })),
212
+ resources: decl.resources ?? [],
213
+ pwa: resolvePwaConfig(decl, policies),
214
+ };
215
+ }
216
+ // register with lowering engine
217
+ import { engine } from "./engine.js";
218
+ import { z } from "zod";
219
+ try {
220
+ engine.registerTransform("frontend", (decl, policies) => declToFrontendIR(decl, policies));
221
+ const schema = z.object({
222
+ pwa: z.object({
223
+ enabled: z.boolean().optional(),
224
+ name: z.string().optional(),
225
+ shortName: z.string().optional(),
226
+ description: z.string().optional(),
227
+ startUrl: z.string().optional(),
228
+ scope: z.string().optional(),
229
+ display: z.string().optional(),
230
+ backgroundColor: z.string().optional(),
231
+ themeColor: z.string().optional(),
232
+ orientation: z.string().optional(),
233
+ icons: z.array(z.object({
234
+ src: z.string(),
235
+ sizes: z.string(),
236
+ type: z.string(),
237
+ purpose: z.string().optional(),
238
+ })).optional(),
239
+ }).optional(),
240
+ }).passthrough();
241
+ engine.registerPolicySchema("frontend", schema);
242
+ }
243
+ catch (e) {
244
+ // ignore double registration in tests
245
+ }
246
+ //# sourceMappingURL=frontend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend.js","sourceRoot":"","sources":["../../src/lowering/frontend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { BackendIR } from "../../ir/domain/backend.js";
2
+ import type { BackendTargetIR } from "../../ir/target/backend.js";
3
+ export type BackendTargetPoliciesInput = {
4
+ backend?: unknown;
5
+ } | {
6
+ [key: string]: unknown;
7
+ };
8
+ export declare function backendDomainToTarget(ir: BackendIR, policies?: BackendTargetPoliciesInput): BackendTargetIR;
9
+ //# sourceMappingURL=to-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-backend.d.ts","sourceRoot":"","sources":["../../../src/lowering/targets/to-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAKlE,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAmC3G"}