@ultrst-armada/krnl 0.0.0-stage → 1.0.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 (236) hide show
  1. package/README.md +95 -2
  2. package/package.json +75 -4
  3. package/packages/cli/dist/K_ENT_Entity-PQ5MURQY-ZG6FZXXX.js +13 -0
  4. package/packages/cli/dist/K_LIB_Krnl_Aiko_Client-OPZAVZCW-K4CRQYA5.js +8 -0
  5. package/packages/cli/dist/K_LIB_Krnl_Ep_Tools-ROOE2TQF-LNPXZYOE.js +110 -0
  6. package/packages/cli/dist/K_LIB_Krnl_Frontend_Builder-2ZDUH6PF-3ALZPNX4.js +11 -0
  7. package/packages/cli/dist/K_LIB_Krnl_Frontend_Generator-UYNRNX2X-PJTICYSW.js +11 -0
  8. package/packages/cli/dist/K_LIB_Krnl_Registry_Client-NXV6D2QW-M5TYU55O.js +8 -0
  9. package/packages/cli/dist/K_LIB_Krnl_SubApp_Engine-7HR5HWW2-H6STOXRK.js +20 -0
  10. package/packages/cli/dist/K_LIB_Krnl_SubApp_Registry-7XYGDKJK-XPJXSF7D.js +19 -0
  11. package/packages/cli/dist/K_LIB_Krnl_SubApp_Worker_Host-CQVTGGG7-CUYGTWOW.js +7 -0
  12. package/packages/cli/dist/K_LIB_Krnl_System_App_Adapter-M6FJKLGU-VR6T4N6J.js +17 -0
  13. package/packages/cli/dist/K_LIB_Krnl_System_Base_Functionality_APIs-ZZUZ6ZG5-RLJ4QWDP.js +58 -0
  14. package/packages/cli/dist/K_LIB_Krnl_System_Magnetic_Loader-XBQO2KXF-BOQGUASC.js +22 -0
  15. package/packages/cli/dist/K_LIB_Krnl_System_Unified_Http_Adapter-RCEGP3OG-XJI7KIT5.js +8 -0
  16. package/packages/cli/dist/K_LIB_Krnl_Telemetry-77FRZ3KV-K5VCWAFW.js +9 -0
  17. package/packages/cli/dist/bin/krnl.cjs +9758 -0
  18. package/packages/cli/dist/bin/krnl.d.cts +1 -0
  19. package/packages/cli/dist/bin/krnl.d.ts +1 -0
  20. package/packages/cli/dist/bin/krnl.js +2006 -0
  21. package/packages/cli/dist/chunk-3TRM6CYL.js +152 -0
  22. package/packages/cli/dist/chunk-5JDK35TG.js +3872 -0
  23. package/packages/cli/dist/chunk-63PTK33I.js +997 -0
  24. package/packages/cli/dist/chunk-6NIKAMUZ.js +82 -0
  25. package/packages/cli/dist/chunk-BOXWWXQG.js +400 -0
  26. package/packages/cli/dist/chunk-EEKLK7QJ.js +565 -0
  27. package/packages/cli/dist/chunk-EG7T2IAD.js +107 -0
  28. package/packages/cli/dist/chunk-F5EHXE2O.js +1036 -0
  29. package/packages/cli/dist/chunk-F65ANSQG.js +269 -0
  30. package/packages/cli/dist/chunk-FDNCADFE.js +71 -0
  31. package/packages/cli/dist/chunk-GDLRMDAN.js +127 -0
  32. package/packages/cli/dist/chunk-HWMTCMOS.js +656 -0
  33. package/packages/cli/dist/chunk-I74QIQOD.js +5536 -0
  34. package/packages/cli/dist/chunk-JTLSTO25.js +71 -0
  35. package/packages/cli/dist/chunk-JULBBJ27.js +1033 -0
  36. package/packages/cli/dist/chunk-OHVMVRBP.js +117 -0
  37. package/packages/cli/dist/chunk-P2PCLEKX.js +666 -0
  38. package/packages/cli/dist/chunk-PJQIUOX2.js +7767 -0
  39. package/packages/cli/dist/chunk-PPOF3DJW.js +471 -0
  40. package/packages/cli/dist/chunk-Q45257P6.js +173 -0
  41. package/packages/cli/dist/chunk-QNROWGBI.js +1036 -0
  42. package/packages/cli/dist/chunk-RJNYUXZD.js +977 -0
  43. package/packages/cli/dist/chunk-SRTOPJ5W.js +104 -0
  44. package/packages/cli/dist/chunk-TCEX3MPS.js +702 -0
  45. package/packages/cli/dist/chunk-TNOAJO2J.js +675 -0
  46. package/packages/cli/dist/chunk-UR2SUCSF.js +701 -0
  47. package/packages/cli/dist/chunk-X5LOIFM7.js +68 -0
  48. package/packages/cli/dist/chunk-XIRFOO3H.js +589 -0
  49. package/packages/cli/dist/chunk-ZAAV3JXQ.js +809 -0
  50. package/packages/cli/dist/index.cjs +7798 -0
  51. package/packages/cli/dist/index.d.cts +7 -0
  52. package/packages/cli/dist/index.d.ts +7 -0
  53. package/packages/cli/dist/index.js +29 -0
  54. package/packages/cli/package.json +34 -0
  55. package/packages/core/dist/K_ENT_Entity-4MB7CU4A.js +12 -0
  56. package/packages/core/dist/K_ENT_Entity-DEJGIDGH.js +12 -0
  57. package/packages/core/dist/K_ENT_Entity-FXZO5UZ2.js +12 -0
  58. package/packages/core/dist/K_ENT_Entity-HDSCXC5F.js +12 -0
  59. package/packages/core/dist/K_ENT_Entity-JILABHLW.js +12 -0
  60. package/packages/core/dist/K_ENT_Entity-PQ5MURQY.js +13 -0
  61. package/packages/core/dist/K_ENT_Entity-ROAKDIHW.js +12 -0
  62. package/packages/core/dist/K_ENT_Entity-TBVFSKDV.js +12 -0
  63. package/packages/core/dist/K_ENT_Entity-ZFLKG3JO.js +12 -0
  64. package/packages/core/dist/K_LIB_Krnl_Aiko_Client-OPZAVZCW.js +8 -0
  65. package/packages/core/dist/K_LIB_Krnl_Ep_Tools-ROOE2TQF.js +110 -0
  66. package/packages/core/dist/K_LIB_Krnl_Frontend_Builder-2ZDUH6PF.js +9 -0
  67. package/packages/core/dist/K_LIB_Krnl_Frontend_Generator-UYNRNX2X.js +9 -0
  68. package/packages/core/dist/K_LIB_Krnl_Registry_Client-NXV6D2QW.js +8 -0
  69. package/packages/core/dist/K_LIB_Krnl_SubApp_Engine-7HR5HWW2.js +20 -0
  70. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-4C6GBQAG.js +18 -0
  71. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-6V23A6F6.js +18 -0
  72. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-7XYGDKJK.js +19 -0
  73. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-DYLLC5G2.js +18 -0
  74. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-F4FOFAUP.js +18 -0
  75. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-FBOXXMI3.js +18 -0
  76. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-Q73BWLNP.js +18 -0
  77. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-QM2C4MVA.js +18 -0
  78. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-QUGI6SMP.js +18 -0
  79. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-RGMTBHNP.js +18 -0
  80. package/packages/core/dist/K_LIB_Krnl_SubApp_Registry-RWR7UNDW.js +18 -0
  81. package/packages/core/dist/K_LIB_Krnl_SubApp_Worker_Host-CQVTGGG7.js +7 -0
  82. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-32MFJJ5Z.js +17 -0
  83. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-4J4CEWRY.js +17 -0
  84. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-A366YHF2.js +17 -0
  85. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-LK4LYJHI.js +17 -0
  86. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-M6FJKLGU.js +17 -0
  87. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-NW3K63II.js +17 -0
  88. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-QDHTI5ZV.js +17 -0
  89. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-VHCT6VIW.js +17 -0
  90. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-WBRKF24R.js +17 -0
  91. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-XKYQYT6Q.js +17 -0
  92. package/packages/core/dist/K_LIB_Krnl_System_App_Adapter-Z2PWZYDZ.js +17 -0
  93. package/packages/core/dist/K_LIB_Krnl_System_Base_Functionality_APIs-ZZUZ6ZG5.js +58 -0
  94. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-2EZU7QF4.js +21 -0
  95. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-6G3AQNAV.js +21 -0
  96. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-B2NZMQUG.js +21 -0
  97. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-C2RABMZP.js +21 -0
  98. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-HHE3NZ4F.js +21 -0
  99. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-LHFGR6WK.js +21 -0
  100. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-M74BLM3N.js +21 -0
  101. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-PT6ZA6EA.js +21 -0
  102. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-SP52V3CX.js +21 -0
  103. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-XBQO2KXF.js +22 -0
  104. package/packages/core/dist/K_LIB_Krnl_System_Magnetic_Loader-YNSEUHJJ.js +21 -0
  105. package/packages/core/dist/K_LIB_Krnl_System_Unified_Http_Adapter-M6SBHIVA.js +8 -0
  106. package/packages/core/dist/K_LIB_Krnl_System_Unified_Http_Adapter-RCEGP3OG.js +8 -0
  107. package/packages/core/dist/K_LIB_Krnl_Telemetry-77FRZ3KV.js +9 -0
  108. package/packages/core/dist/chunk-33L2J7V7.js +82 -0
  109. package/packages/core/dist/chunk-3ES4K2ZP.js +817 -0
  110. package/packages/core/dist/chunk-3SMHVVLL.js +82 -0
  111. package/packages/core/dist/chunk-3UEZ7JQA.js +4877 -0
  112. package/packages/core/dist/chunk-3XIE6KBD.js +4877 -0
  113. package/packages/core/dist/chunk-46ZLCML6.js +107 -0
  114. package/packages/core/dist/chunk-4UEL3DWJ.js +107 -0
  115. package/packages/core/dist/chunk-54GWZ5PC.js +82 -0
  116. package/packages/core/dist/chunk-6QCYRS5L.js +127 -0
  117. package/packages/core/dist/chunk-6ULMHNXR.js +104 -0
  118. package/packages/core/dist/chunk-7WUETJEV.js +117 -0
  119. package/packages/core/dist/chunk-A5KRAYDB.js +107 -0
  120. package/packages/core/dist/chunk-ANEAZ3PO.js +107 -0
  121. package/packages/core/dist/chunk-BE76RL6F.js +82 -0
  122. package/packages/core/dist/chunk-CIARVYDO.js +107 -0
  123. package/packages/core/dist/chunk-CR2ANE62.js +107 -0
  124. package/packages/core/dist/chunk-DI27MOR7.js +173 -0
  125. package/packages/core/dist/chunk-E6RLFHM5.js +596 -0
  126. package/packages/core/dist/chunk-EELAPMNV.js +4877 -0
  127. package/packages/core/dist/chunk-ENZ2RQVJ.js +107 -0
  128. package/packages/core/dist/chunk-F2U6CX4F.js +4877 -0
  129. package/packages/core/dist/chunk-FKG64OHL.js +82 -0
  130. package/packages/core/dist/chunk-FYAZJYM5.js +772 -0
  131. package/packages/core/dist/chunk-G4NP4RDQ.js +82 -0
  132. package/packages/core/dist/chunk-GADIRLRS.js +473 -0
  133. package/packages/core/dist/chunk-GR6CSLQJ.js +772 -0
  134. package/packages/core/dist/chunk-HDS7AT6O.js +772 -0
  135. package/packages/core/dist/chunk-HIMEZUU2.js +71 -0
  136. package/packages/core/dist/chunk-IB4UHG5I.js +596 -0
  137. package/packages/core/dist/chunk-J7ZYNVRS.js +772 -0
  138. package/packages/core/dist/chunk-JVLZU4K7.js +604 -0
  139. package/packages/core/dist/chunk-JYXXI7Q3.js +82 -0
  140. package/packages/core/dist/chunk-K54K2KZW.js +192 -0
  141. package/packages/core/dist/chunk-K6VHLBNH.js +3316 -0
  142. package/packages/core/dist/chunk-KCBP7ZYA.js +596 -0
  143. package/packages/core/dist/chunk-KFQGP6VL.js +33 -0
  144. package/packages/core/dist/chunk-KIUEUI7K.js +82 -0
  145. package/packages/core/dist/chunk-LB67NIZP.js +949 -0
  146. package/packages/core/dist/chunk-LDTYFUNW.js +596 -0
  147. package/packages/core/dist/chunk-MLVWARD4.js +596 -0
  148. package/packages/core/dist/chunk-MPYVXHKO.js +2777 -0
  149. package/packages/core/dist/chunk-MRQ3MITU.js +772 -0
  150. package/packages/core/dist/chunk-MVUN7I7O.js +107 -0
  151. package/packages/core/dist/chunk-NDDOIRW7.js +596 -0
  152. package/packages/core/dist/chunk-O3KDB5MH.js +3330 -0
  153. package/packages/core/dist/chunk-OEINUDSE.js +400 -0
  154. package/packages/core/dist/chunk-OPDENPT4.js +4877 -0
  155. package/packages/core/dist/chunk-P6XEM2LA.js +429 -0
  156. package/packages/core/dist/chunk-QKMRSQV4.js +82 -0
  157. package/packages/core/dist/chunk-R6CCWALL.js +4877 -0
  158. package/packages/core/dist/chunk-RAMMOO73.js +774 -0
  159. package/packages/core/dist/chunk-S3FTZFG6.js +772 -0
  160. package/packages/core/dist/chunk-T2ZVN434.js +4877 -0
  161. package/packages/core/dist/chunk-TFHLDMIA.js +107 -0
  162. package/packages/core/dist/chunk-TI3QUCIJ.js +107 -0
  163. package/packages/core/dist/chunk-TR2BAIGI.js +107 -0
  164. package/packages/core/dist/chunk-UGVVJKC6.js +4877 -0
  165. package/packages/core/dist/chunk-V2DX7YIU.js +984 -0
  166. package/packages/core/dist/chunk-W4IHYUYD.js +772 -0
  167. package/packages/core/dist/chunk-W6WBG5OY.js +4877 -0
  168. package/packages/core/dist/chunk-WN3M7O7H.js +3312 -0
  169. package/packages/core/dist/chunk-WR3NCU7U.js +4877 -0
  170. package/packages/core/dist/chunk-XC6B6L27.js +82 -0
  171. package/packages/core/dist/chunk-XNSE64ZY.js +3316 -0
  172. package/packages/core/dist/chunk-XROES2WN.js +634 -0
  173. package/packages/core/dist/chunk-XSCKNRCZ.js +5020 -0
  174. package/packages/core/dist/chunk-XVABPAUZ.js +82 -0
  175. package/packages/core/dist/chunk-YOBCB5C5.js +596 -0
  176. package/packages/core/dist/chunk-YUK6Q563.js +666 -0
  177. package/packages/core/dist/chunk-YXGL3ZEU.js +1030 -0
  178. package/packages/core/dist/chunk-ZINJ5OUX.js +596 -0
  179. package/packages/core/dist/chunk-ZPFD4BIQ.js +604 -0
  180. package/packages/core/dist/chunk-ZQZBFG6F.js +4826 -0
  181. package/packages/core/dist/chunk-ZZFRJGXM.js +4877 -0
  182. package/packages/core/dist/index.cjs +760 -0
  183. package/packages/core/dist/index.d.cts +360 -0
  184. package/packages/core/dist/index.d.ts +360 -0
  185. package/packages/core/dist/index.js +707 -0
  186. package/packages/core/package.json +34 -0
  187. package/packages/create-krnl/dist/K_ENT_Entity-PQ5MURQY-R2OH4VXE.js +14 -0
  188. package/packages/create-krnl/dist/K_LIB_Krnl_Aiko_Client-OPZAVZCW-AZM5HF4M.js +9 -0
  189. package/packages/create-krnl/dist/K_LIB_Krnl_Ep_Tools-ROOE2TQF-X5N6SV2S.js +111 -0
  190. package/packages/create-krnl/dist/K_LIB_Krnl_Frontend_Builder-2ZDUH6PF-5PFHF4JU.js +12 -0
  191. package/packages/create-krnl/dist/K_LIB_Krnl_Frontend_Generator-UYNRNX2X-ED33OQPH.js +12 -0
  192. package/packages/create-krnl/dist/K_LIB_Krnl_Registry_Client-NXV6D2QW-YGQLVR4P.js +9 -0
  193. package/packages/create-krnl/dist/K_LIB_Krnl_SubApp_Engine-7HR5HWW2-VM7CTU2L.js +21 -0
  194. package/packages/create-krnl/dist/K_LIB_Krnl_SubApp_Registry-7XYGDKJK-Y2GQFJ7I.js +21 -0
  195. package/packages/create-krnl/dist/K_LIB_Krnl_SubApp_Worker_Host-CQVTGGG7-L3JQWO54.js +8 -0
  196. package/packages/create-krnl/dist/K_LIB_Krnl_System_App_Adapter-M6FJKLGU-KQARASPR.js +19 -0
  197. package/packages/create-krnl/dist/K_LIB_Krnl_System_Base_Functionality_APIs-ZZUZ6ZG5-OF3IGLVL.js +59 -0
  198. package/packages/create-krnl/dist/K_LIB_Krnl_System_Magnetic_Loader-XBQO2KXF-JOLHKOEX.js +24 -0
  199. package/packages/create-krnl/dist/K_LIB_Krnl_System_Unified_Http_Adapter-RCEGP3OG-L46LSHKQ.js +10 -0
  200. package/packages/create-krnl/dist/K_LIB_Krnl_Telemetry-77FRZ3KV-4JUPRR3X.js +10 -0
  201. package/packages/create-krnl/dist/chunk-3TRM6CYL.js +152 -0
  202. package/packages/create-krnl/dist/chunk-3URCB3QS.js +127 -0
  203. package/packages/create-krnl/dist/chunk-5JDK35TG.js +3872 -0
  204. package/packages/create-krnl/dist/chunk-A2XAXDOW.js +812 -0
  205. package/packages/create-krnl/dist/chunk-AN6TMQHG.js +1033 -0
  206. package/packages/create-krnl/dist/chunk-BOXWWXQG.js +400 -0
  207. package/packages/create-krnl/dist/chunk-BPTBREBG.js +38 -0
  208. package/packages/create-krnl/dist/chunk-FDNCADFE.js +71 -0
  209. package/packages/create-krnl/dist/chunk-JTLSTO25.js +71 -0
  210. package/packages/create-krnl/dist/chunk-M3NCUIPL.js +107 -0
  211. package/packages/create-krnl/dist/chunk-N2EONSOC.js +7769 -0
  212. package/packages/create-krnl/dist/chunk-OHVMVRBP.js +117 -0
  213. package/packages/create-krnl/dist/chunk-Q45257P6.js +173 -0
  214. package/packages/create-krnl/dist/chunk-QGM4M3NI.js +37 -0
  215. package/packages/create-krnl/dist/chunk-RJNYUXZD.js +977 -0
  216. package/packages/create-krnl/dist/chunk-SRTOPJ5W.js +104 -0
  217. package/packages/create-krnl/dist/chunk-UPBIGEC3.js +666 -0
  218. package/packages/create-krnl/dist/chunk-V2DB7UD7.js +82 -0
  219. package/packages/create-krnl/dist/chunk-WMHLIUI6.js +3644 -0
  220. package/packages/create-krnl/dist/chunk-XIRFOO3H.js +589 -0
  221. package/packages/create-krnl/dist/chunk-Y2CEEVZP.js +5536 -0
  222. package/packages/create-krnl/dist/index.cjs +395 -0
  223. package/packages/create-krnl/dist/index.js +372 -0
  224. package/packages/create-krnl/dist/main-DXUMPBND.js +2217 -0
  225. package/packages/create-krnl/dist/wrapper-SDF2VKX3.js +31 -0
  226. package/packages/create-krnl/package.json +23 -0
  227. package/packages/eslint-plugin/dist/index.cjs +439 -0
  228. package/packages/eslint-plugin/dist/index.d.cts +336 -0
  229. package/packages/eslint-plugin/dist/index.d.ts +336 -0
  230. package/packages/eslint-plugin/dist/index.js +416 -0
  231. package/packages/eslint-plugin/package.json +24 -0
  232. package/packages/validate/dist/index.cjs +499 -0
  233. package/packages/validate/dist/index.d.cts +49 -0
  234. package/packages/validate/dist/index.d.ts +49 -0
  235. package/packages/validate/dist/index.js +462 -0
  236. package/packages/validate/package.json +27 -0
package/README.md CHANGED
@@ -1,3 +1,96 @@
1
- # Temporary Holding Version
1
+ # Krnl Framework
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ > **Krnl**: Backend Service Framework for Skipo — a modular TypeScript framework for authoring, composing, executing, and validating backend services, facades, protocols, and workflows.
4
+
5
+ ---
6
+
7
+ ## 🚀 Overview
8
+
9
+ In the **Skipo** ecosystem, services are the foundational backend modules. **Krnl** provides the kernel architecture, lifecycle hooks, transport gateways, protocol decoders, and validation engine for building robust, decoupled backend services.
10
+
11
+ - **Modular Service Architecture**: Define pure, stateful, and protocol-enabled backend service facades.
12
+ - **Workflow & Flow Execution**: Compose multi-service pipelines and background execution boundaries.
13
+ - **AST Purity & Validation**: Enforce 4-layer function purity, contract standards, and architecture rules via `ts-morph`.
14
+ - **Protocol & Network Ingress**: Support REST, WebSocket, RPC, and MCP protocol bindings out of the box.
15
+ - **Universal Backend Readiness**: Run seamlessly across Local FS, Local-Hosted, and Serverless environments.
16
+
17
+ ---
18
+
19
+ ## 🚀 Quickstart: Starting a Fresh Workspace
20
+
21
+ ### 1. Scaffold a New Project
22
+ Run the official interactive project generator:
23
+
24
+ ```bash
25
+ # Using npm
26
+ npm create krnl my-service-app
27
+
28
+ # Using npx
29
+ npx create-krnl my-service-app
30
+
31
+ # Using pnpm
32
+ pnpm dlx create-krnl my-service-app
33
+ ```
34
+
35
+ This generates a fully configured Krnl backend workspace:
36
+ - `krnl.json` (Workspace manifest & provider bindings)
37
+ - `package.json` & `tsconfig.json`
38
+ - `src/services/` (Backend service definitions & facades)
39
+ - `src/libraries/` (Layer 0 pure concept libraries)
40
+ - `docs/HISTORY.md` (Project intent & architectural memory)
41
+
42
+ ---
43
+
44
+ ### 2. Run and Validate Services
45
+
46
+ ```bash
47
+ cd my-service-app
48
+
49
+ # Start Krnl service dev server
50
+ krnl dev
51
+
52
+ # Run deep AST 4-layer service purity validation
53
+ krnl validate
54
+
55
+ # Build production bundle
56
+ krnl build
57
+ ```
58
+
59
+ ---
60
+
61
+ ### 3. CLI Commands Reference
62
+
63
+ ```bash
64
+ # Start Krnl service dev server & boot service entrypoint
65
+ krnl dev
66
+
67
+ # Run deep AST 4-layer function purity audit
68
+ krnl validate
69
+
70
+ # Validate and build production bundle into dist/
71
+ krnl build
72
+
73
+ # Generate ambient TypeScript declarations for auto-discovery
74
+ krnl watch
75
+
76
+ # Scaffold architectural primitives via CLI
77
+ krnl generate entity UserSystem
78
+ krnl generate functionality UserSystem CreateProfile
79
+ krnl generate library BillingConcepts
80
+ krnl generate subapp OrderEngine
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 🏛️ Monorepo Framework Packages
86
+
87
+ - **[`@ultrst-armada/krnl`](packages/core)**: Core runtime engine, Service facades, Protocols, Transports, Registry, Lifecycle, and Execution flows.
88
+ - **[`@dinilmusick/krnl-validate`](packages/validate)**: `ts-morph` AST engine enforcing 4-layer function purity, backend contracts, and line limits.
89
+ - **[`@dinilmusick/eslint-plugin-krnl`](packages/eslint-plugin)**: ESLint rules with auto-fixers for Krnl backend service standards.
90
+ - **[`@dinilmusick/krnl-cli`](packages/cli)**: Unified `krnl` binary for running, building, and validating backend services.
91
+ - **[`create-krnl`](packages/create-krnl)**: Interactive project scaffolder for Krnl backend service modules.
92
+
93
+ ---
94
+
95
+ ## 📜 License
96
+ MIT © Dinil Palackal
package/package.json CHANGED
@@ -1,6 +1,77 @@
1
1
  {
2
2
  "name": "@ultrst-armada/krnl",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.0.1",
4
+ "private": false,
5
+ "description": "Krnl: Backend Service Framework for Skipo — authoring, executing, and validating modular backend services, facades, and workflows",
6
+ "type": "module",
7
+ "main": "./packages/core/dist/index.js",
8
+ "module": "./packages/core/dist/index.js",
9
+ "types": "./packages/core/dist/index.d.ts",
10
+ "files": [
11
+ "packages/*/dist/**",
12
+ "packages/*/package.json"
13
+ ],
14
+ "exports": {
15
+ ".": {
16
+ "types": "./packages/core/dist/index.d.ts",
17
+ "import": "./packages/core/dist/index.js",
18
+ "require": "./packages/core/dist/index.cjs",
19
+ "default": "./packages/core/dist/index.js"
20
+ },
21
+ "./validate": {
22
+ "types": "./packages/validate/dist/index.d.ts",
23
+ "import": "./packages/validate/dist/index.js",
24
+ "require": "./packages/validate/dist/index.cjs",
25
+ "default": "./packages/validate/dist/index.js"
26
+ },
27
+ "./cli": {
28
+ "types": "./packages/cli/dist/index.d.ts",
29
+ "import": "./packages/cli/dist/index.js",
30
+ "require": "./packages/cli/dist/index.cjs",
31
+ "default": "./packages/cli/dist/index.js"
32
+ }
33
+ },
34
+ "bin": {
35
+ "krnl": "./packages/cli/dist/bin/krnl.js",
36
+ "krnlts-watch": "./packages/cli/dist/bin/krnl.js",
37
+ "krnlts-validate": "./packages/cli/dist/bin/krnl.js"
38
+ },
39
+ "publishConfig": {
40
+ "access": "public",
41
+ "registry": "https://registry.npmjs.org/"
42
+ },
43
+ "scripts": {
44
+ "build": "pnpm --filter @dinilmusick/krnl-core run build",
45
+ "test": "vitest run",
46
+ "validate": "node packages/cli/dist/bin/krnl.js validate",
47
+ "dev": "node packages/cli/dist/bin/krnl.js dev",
48
+ "watch": "node packages/cli/dist/bin/krnl.js watch"
49
+ },
50
+ "keywords": [
51
+ "krnl",
52
+ "skipo",
53
+ "service-framework",
54
+ "backend",
55
+ "backend-modules",
56
+ "services",
57
+ "service-facades",
58
+ "protocols",
59
+ "workflows",
60
+ "ast-purity"
61
+ ],
62
+ "author": "Dinil Palackal",
63
+ "license": "MIT",
64
+ "devDependencies": {
65
+ "@types/better-sqlite3": "^9.6.0",
66
+ "@types/node": "^25.6.0",
67
+ "better-sqlite3": "^13.0.3",
68
+ "protobufjs": "^8.7.1",
69
+ "tsup": "^8.4.0",
70
+ "turbo": "^2.4.4",
71
+ "typescript": "^5.7.3",
72
+ "vitest": "^3.1.0",
73
+ "ws": "^8.20.0",
74
+ "zod": "3.24.1",
75
+ "zod-to-json-schema": "3.24.1"
76
+ }
77
+ }
@@ -0,0 +1,13 @@
1
+ import {
2
+ Entity
3
+ } from "./chunk-RJNYUXZD.js";
4
+ import "./chunk-BOXWWXQG.js";
5
+ import "./chunk-FDNCADFE.js";
6
+ import "./chunk-5JDK35TG.js";
7
+ import "./chunk-Q45257P6.js";
8
+ import "./chunk-XIRFOO3H.js";
9
+ import "./chunk-JTLSTO25.js";
10
+ import "./chunk-X5LOIFM7.js";
11
+ export {
12
+ Entity
13
+ };
@@ -0,0 +1,8 @@
1
+ import {
2
+ KrnlAikoClient
3
+ } from "./chunk-3TRM6CYL.js";
4
+ import "./chunk-XIRFOO3H.js";
5
+ import "./chunk-X5LOIFM7.js";
6
+ export {
7
+ KrnlAikoClient
8
+ };
@@ -0,0 +1,110 @@
1
+ import "./chunk-X5LOIFM7.js";
2
+
3
+ // ../core/dist/K_LIB_Krnl_Ep_Tools-ROOE2TQF.js
4
+ var KrnlEpTools = {
5
+ calculator: {
6
+ id: "calculator",
7
+ description: "eval arith-expr(str) \u2192 num. use-when: derive numeric val from schema fields.",
8
+ schema: {
9
+ input: { expression: "str: arith expr. ops: +,-,*,/,(). e.g. '(a+b)*c'" },
10
+ output: "num"
11
+ },
12
+ examples: [
13
+ { input: { expression: "10 + 5 * 2" }, output: 20 },
14
+ { input: { expression: "(100-30)/7" }, output: 10 }
15
+ ],
16
+ execute: (expression) => {
17
+ const sanitized = expression.replace(/[^0-9+\-*/().\s]/g, "");
18
+ try {
19
+ const result = new Function(`return (${sanitized});`)();
20
+ if (typeof result === "number") return result;
21
+ throw new Error("Result is not a number");
22
+ } catch (e) {
23
+ throw new Error(`Math evaluation failed: ${e.message}`);
24
+ }
25
+ }
26
+ },
27
+ jsonCreator: {
28
+ id: "jsonCreator",
29
+ description: "parse(jsonStr) \u2192 obj | merge(obj,base) \u2192 merged. use-when: validate/build payload.",
30
+ schema: {
31
+ input: { jsonStr: "str: valid JSON", mergeWith: "obj? base to merge into" },
32
+ output: "obj"
33
+ },
34
+ examples: [
35
+ { input: { jsonStr: '{"a":1}' }, output: { a: 1 } },
36
+ { input: { jsonStr: '{"b":2}', mergeWith: { a: 1 } }, output: { a: 1, b: 2 } }
37
+ ],
38
+ execute: (jsonStr, mergeWith) => {
39
+ try {
40
+ const parsed = JSON.parse(jsonStr);
41
+ if (mergeWith && typeof mergeWith === "object") {
42
+ return { ...mergeWith, ...parsed };
43
+ }
44
+ return parsed;
45
+ } catch (e) {
46
+ throw new Error(`JSON validation/parsing failed: ${e.message}`);
47
+ }
48
+ }
49
+ },
50
+ textFormatter: {
51
+ id: "textFormatter",
52
+ description: "render(template,vars) \u2192 str. use-when: replace placeholders in templates.",
53
+ schema: {
54
+ input: { template: "str w/ {{key}} placeholders", variables: "obj mapping keys \u2192 values" },
55
+ output: "str"
56
+ },
57
+ examples: [
58
+ { input: { template: "hello {{name}}", variables: { name: "alice" } }, output: "hello alice" }
59
+ ],
60
+ execute: (template, variables) => {
61
+ let result = template;
62
+ for (const [key, value] of Object.entries(variables)) {
63
+ result = result.replace(new RegExp(`{{\\s*${key}\\s*}}`, "g"), String(value));
64
+ }
65
+ return result;
66
+ }
67
+ },
68
+ endpointCaller: {
69
+ id: "endpointCaller",
70
+ description: "call(endpointId,payload) \u2192 res. use-when: invoke sibling endpoint in same system.",
71
+ schema: {
72
+ input: { endpointId: "str: target endpoint", payload: "obj: input matching target schema" },
73
+ output: "any"
74
+ },
75
+ examples: [
76
+ { input: { endpointId: "StoreKey", payload: { name: "test", value: "val" } }, output: { status: "success" } }
77
+ ],
78
+ execute: async (system, endpointId, payload) => {
79
+ if (!system || typeof system.call !== "function") {
80
+ throw new Error("System host entity not available or invalid.");
81
+ }
82
+ return await system.call(endpointId, payload, { unwrap: true });
83
+ }
84
+ },
85
+ healthChecker: {
86
+ id: "healthChecker",
87
+ description: "ping(peerId) \u2192 status. use-when: verify component/sibling system is alive.",
88
+ schema: {
89
+ input: { peerId: "str: peer system identifier" },
90
+ output: "obj"
91
+ },
92
+ examples: [
93
+ { input: { peerId: "Aiko" }, output: { status: "alive" } }
94
+ ],
95
+ execute: async (system, peerId) => {
96
+ if (!system) throw new Error("System host entity not available.");
97
+ const peer = system.getRemoteEntity ? system.getRemoteEntity(peerId) : null;
98
+ if (peer) {
99
+ return await peer.call("heartbeat", {});
100
+ }
101
+ if (system.localFunctionalities?.has("heartbeat")) {
102
+ return await system.call("heartbeat", {});
103
+ }
104
+ throw new Error(`Peer or heartbeat endpoint not found for: ${peerId}`);
105
+ }
106
+ }
107
+ };
108
+ export {
109
+ KrnlEpTools
110
+ };
@@ -0,0 +1,11 @@
1
+ import {
2
+ KrnlFrontendBuilder,
3
+ init_K_LIB_Krnl_Frontend_Builder
4
+ } from "./chunk-GDLRMDAN.js";
5
+ import "./chunk-X5LOIFM7.js";
6
+
7
+ // ../core/dist/K_LIB_Krnl_Frontend_Builder-2ZDUH6PF.js
8
+ init_K_LIB_Krnl_Frontend_Builder();
9
+ export {
10
+ KrnlFrontendBuilder
11
+ };
@@ -0,0 +1,11 @@
1
+ import {
2
+ KrnlFrontendGenerator,
3
+ init_K_LIB_Krnl_Frontend_Generator
4
+ } from "./chunk-JULBBJ27.js";
5
+ import "./chunk-X5LOIFM7.js";
6
+
7
+ // ../core/dist/K_LIB_Krnl_Frontend_Generator-UYNRNX2X.js
8
+ init_K_LIB_Krnl_Frontend_Generator();
9
+ export {
10
+ KrnlFrontendGenerator
11
+ };
@@ -0,0 +1,8 @@
1
+ import {
2
+ KrnlRegistryClient
3
+ } from "./chunk-SRTOPJ5W.js";
4
+ import "./chunk-JTLSTO25.js";
5
+ import "./chunk-X5LOIFM7.js";
6
+ export {
7
+ KrnlRegistryClient
8
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ DefaultEventRegistrar,
3
+ DefaultOperationRegistrar,
4
+ DefaultServiceContainer,
5
+ KrnlSubAppDiscovery,
6
+ KrnlSubAppLifecycle,
7
+ KrnlSubAppValidator,
8
+ createHttpsAppAdapter
9
+ } from "./chunk-BOXWWXQG.js";
10
+ import "./chunk-JTLSTO25.js";
11
+ import "./chunk-X5LOIFM7.js";
12
+ export {
13
+ DefaultEventRegistrar,
14
+ DefaultOperationRegistrar,
15
+ DefaultServiceContainer,
16
+ KrnlSubAppDiscovery,
17
+ KrnlSubAppLifecycle,
18
+ KrnlSubAppValidator,
19
+ createHttpsAppAdapter
20
+ };
@@ -0,0 +1,19 @@
1
+ import {
2
+ KrnlSubAppLoader
3
+ } from "./chunk-6NIKAMUZ.js";
4
+ import "./chunk-P2PCLEKX.js";
5
+ import "./chunk-FDNCADFE.js";
6
+ import "./chunk-PJQIUOX2.js";
7
+ import "./chunk-GDLRMDAN.js";
8
+ import "./chunk-I74QIQOD.js";
9
+ import "./chunk-ZAAV3JXQ.js";
10
+ import "./chunk-5JDK35TG.js";
11
+ import "./chunk-Q45257P6.js";
12
+ import "./chunk-3TRM6CYL.js";
13
+ import "./chunk-XIRFOO3H.js";
14
+ import "./chunk-JTLSTO25.js";
15
+ import "./chunk-JULBBJ27.js";
16
+ import "./chunk-X5LOIFM7.js";
17
+ export {
18
+ KrnlSubAppLoader
19
+ };
@@ -0,0 +1,7 @@
1
+ import {
2
+ KrnlSubAppWorkerHost
3
+ } from "./chunk-OHVMVRBP.js";
4
+ import "./chunk-X5LOIFM7.js";
5
+ export {
6
+ KrnlSubAppWorkerHost
7
+ };
@@ -0,0 +1,17 @@
1
+ import {
2
+ KrnlNonKrnlAppAdapter
3
+ } from "./chunk-EG7T2IAD.js";
4
+ import "./chunk-PJQIUOX2.js";
5
+ import "./chunk-GDLRMDAN.js";
6
+ import "./chunk-I74QIQOD.js";
7
+ import "./chunk-ZAAV3JXQ.js";
8
+ import "./chunk-5JDK35TG.js";
9
+ import "./chunk-Q45257P6.js";
10
+ import "./chunk-3TRM6CYL.js";
11
+ import "./chunk-XIRFOO3H.js";
12
+ import "./chunk-JTLSTO25.js";
13
+ import "./chunk-JULBBJ27.js";
14
+ import "./chunk-X5LOIFM7.js";
15
+ export {
16
+ KrnlNonKrnlAppAdapter
17
+ };
@@ -0,0 +1,58 @@
1
+ import {
2
+ adminCommandApi,
3
+ aiOrchestrationApi,
4
+ buildEndpointDefinition,
5
+ deregisterAppApi,
6
+ discoverPeersApi,
7
+ findFreePortsApi,
8
+ getAikoCatalogApi,
9
+ getEndpointDefinitionsApi,
10
+ getFullDocumentationApi,
11
+ getIngressNetworkTopologyApi,
12
+ getLastActionDocsApi,
13
+ getManifestApi,
14
+ getSiblingNetworkTopologyApi,
15
+ getSubAppTopologyApi,
16
+ getTaskListApi,
17
+ getTelemetryLogApi,
18
+ getUsedPortsApi,
19
+ heartbeatApi,
20
+ heartbeatAppApi,
21
+ listAppsApi,
22
+ lookupAppApi,
23
+ registerAppApi,
24
+ setEndpointDefinitionApi,
25
+ shutdownApi,
26
+ systemCommandsCollectorHandler,
27
+ telemetryApi
28
+ } from "./chunk-I74QIQOD.js";
29
+ import "./chunk-Q45257P6.js";
30
+ import "./chunk-X5LOIFM7.js";
31
+ export {
32
+ adminCommandApi,
33
+ aiOrchestrationApi,
34
+ buildEndpointDefinition,
35
+ deregisterAppApi,
36
+ discoverPeersApi,
37
+ findFreePortsApi,
38
+ getAikoCatalogApi,
39
+ getEndpointDefinitionsApi,
40
+ getFullDocumentationApi,
41
+ getIngressNetworkTopologyApi,
42
+ getLastActionDocsApi,
43
+ getManifestApi,
44
+ getSiblingNetworkTopologyApi,
45
+ getSubAppTopologyApi,
46
+ getTaskListApi,
47
+ getTelemetryLogApi,
48
+ getUsedPortsApi,
49
+ heartbeatApi,
50
+ heartbeatAppApi,
51
+ listAppsApi,
52
+ lookupAppApi,
53
+ registerAppApi,
54
+ setEndpointDefinitionApi,
55
+ shutdownApi,
56
+ systemCommandsCollectorHandler,
57
+ telemetryApi
58
+ };
@@ -0,0 +1,22 @@
1
+ import {
2
+ KrnlMagneticLoader,
3
+ magneticStorage,
4
+ subappLocalStorage
5
+ } from "./chunk-P2PCLEKX.js";
6
+ import "./chunk-FDNCADFE.js";
7
+ import "./chunk-PJQIUOX2.js";
8
+ import "./chunk-GDLRMDAN.js";
9
+ import "./chunk-I74QIQOD.js";
10
+ import "./chunk-ZAAV3JXQ.js";
11
+ import "./chunk-5JDK35TG.js";
12
+ import "./chunk-Q45257P6.js";
13
+ import "./chunk-3TRM6CYL.js";
14
+ import "./chunk-XIRFOO3H.js";
15
+ import "./chunk-JTLSTO25.js";
16
+ import "./chunk-JULBBJ27.js";
17
+ import "./chunk-X5LOIFM7.js";
18
+ export {
19
+ KrnlMagneticLoader,
20
+ magneticStorage,
21
+ subappLocalStorage
22
+ };
@@ -0,0 +1,8 @@
1
+ import {
2
+ krnlUnifiedHttpAdapter
3
+ } from "./chunk-ZAAV3JXQ.js";
4
+ import "./chunk-JTLSTO25.js";
5
+ import "./chunk-X5LOIFM7.js";
6
+ export {
7
+ krnlUnifiedHttpAdapter
8
+ };
@@ -0,0 +1,9 @@
1
+ import {
2
+ KrnlTelemetry,
3
+ telemetry
4
+ } from "./chunk-Q45257P6.js";
5
+ import "./chunk-X5LOIFM7.js";
6
+ export {
7
+ KrnlTelemetry,
8
+ telemetry
9
+ };