spine-framework 0.1.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 (385) hide show
  1. package/.framework/README.md +129 -0
  2. package/.framework/cli/bin.cjs +14 -0
  3. package/.framework/cli/commands/agents.ts +153 -0
  4. package/.framework/cli/commands/auth.ts +94 -0
  5. package/.framework/cli/commands/create-app.ts +185 -0
  6. package/.framework/cli/commands/dev.ts +295 -0
  7. package/.framework/cli/commands/doctor.ts +442 -0
  8. package/.framework/cli/commands/generate.ts +332 -0
  9. package/.framework/cli/commands/init.ts +272 -0
  10. package/.framework/cli/commands/install-app.ts +391 -0
  11. package/.framework/cli/commands/items.ts +253 -0
  12. package/.framework/cli/commands/migrations.ts +141 -0
  13. package/.framework/cli/commands/pipelines.ts +166 -0
  14. package/.framework/cli/commands/status.ts +197 -0
  15. package/.framework/cli/commands/system.ts +184 -0
  16. package/.framework/cli/commands/test.ts +227 -0
  17. package/.framework/cli/commands/uninstall-app.ts +166 -0
  18. package/.framework/cli/context.ts +268 -0
  19. package/.framework/cli/env-loader.ts +36 -0
  20. package/.framework/cli/index.ts +106 -0
  21. package/.framework/cli/welcome.cjs +45 -0
  22. package/.framework/docs/API.md +384 -0
  23. package/.framework/docs/STABILITY.md +52 -0
  24. package/.framework/docs/admin-routes.md +76 -0
  25. package/.framework/docs/api-docs-progress.md +38 -0
  26. package/.framework/docs/api-governance.md +146 -0
  27. package/.framework/docs/api-testing-results.md +212 -0
  28. package/.framework/docs/apis/admin-configs.md +567 -0
  29. package/.framework/docs/apis/admin-data.md +272 -0
  30. package/.framework/docs/apis/index.md +231 -0
  31. package/.framework/docs/apis/internal.md +295 -0
  32. package/.framework/docs/apis/runtime.md +537 -0
  33. package/.framework/docs/assembly-launch-guide.md +138 -0
  34. package/.framework/docs/audit-results.md +590 -0
  35. package/.framework/docs/authorization-model.md +170 -0
  36. package/.framework/docs/db-api-inventory.md +95 -0
  37. package/.framework/docs/examples/custom-app/README.md +77 -0
  38. package/.framework/docs/examples/custom-function/README.md +27 -0
  39. package/.framework/docs/examples/custom-function/handler.ts +48 -0
  40. package/.framework/docs/examples/custom-webhook/README.md +68 -0
  41. package/.framework/docs/gap-remediation-backlog.md +103 -0
  42. package/.framework/docs/guides/cli-guide.md +224 -0
  43. package/.framework/docs/guides/getting-started.md +103 -0
  44. package/.framework/docs/guides/import-guide.md +193 -0
  45. package/.framework/docs/guides/testing-guide.md +229 -0
  46. package/.framework/docs/permission-examples.md +326 -0
  47. package/.framework/docs/ui-adoption-verification.md +111 -0
  48. package/.framework/docs/ui-api-coverage.md +84 -0
  49. package/.framework/docs/v2-compatibility-audit.md +228 -0
  50. package/.framework/functions/.gitkeep +1 -0
  51. package/.framework/functions/_shared/agent-runner.ts +1097 -0
  52. package/.framework/functions/_shared/app-manifest.ts +184 -0
  53. package/.framework/functions/_shared/audit.ts +150 -0
  54. package/.framework/functions/_shared/db.ts +174 -0
  55. package/.framework/functions/_shared/index.ts +382 -0
  56. package/.framework/functions/_shared/middleware.ts +490 -0
  57. package/.framework/functions/_shared/permissions.ts +1325 -0
  58. package/.framework/functions/_shared/pipeline-runner.ts +731 -0
  59. package/.framework/functions/_shared/principal.ts +760 -0
  60. package/.framework/functions/_shared/schema-utils.ts +967 -0
  61. package/.framework/functions/_shared/testing.ts +258 -0
  62. package/.framework/functions/_shared/trigger-engine.ts +425 -0
  63. package/.framework/functions/_shared/webhook-registration.ts +168 -0
  64. package/.framework/functions/_shared/webhook-registry.ts +129 -0
  65. package/.framework/functions/account-nodes.ts +111 -0
  66. package/.framework/functions/admin-data.ts +606 -0
  67. package/.framework/functions/ai-agents.ts +323 -0
  68. package/.framework/functions/api-keys.ts +376 -0
  69. package/.framework/functions/apps.ts +483 -0
  70. package/.framework/functions/auth.ts +196 -0
  71. package/.framework/functions/debug-auth.ts +107 -0
  72. package/.framework/functions/embeddings.ts +556 -0
  73. package/.framework/functions/integration-routes.ts +523 -0
  74. package/.framework/functions/integrations.ts +319 -0
  75. package/.framework/functions/item-progress.ts +272 -0
  76. package/.framework/functions/logs.ts +438 -0
  77. package/.framework/functions/observability.ts +275 -0
  78. package/.framework/functions/pipeline-executions.ts +494 -0
  79. package/.framework/functions/pipelines.ts +485 -0
  80. package/.framework/functions/prompt-configs.ts +339 -0
  81. package/.framework/functions/roles.ts +387 -0
  82. package/.framework/functions/system-cron.ts +742 -0
  83. package/.framework/functions/system.ts +323 -0
  84. package/.framework/functions/tests.ts +119 -0
  85. package/.framework/functions/timers.ts +357 -0
  86. package/.framework/functions/triggers.ts +563 -0
  87. package/.framework/functions/types.ts +604 -0
  88. package/.framework/migrations/000_foundation.sql +1256 -0
  89. package/.framework/migrations/001_seed.sql +92 -0
  90. package/.framework/migrations/002_seed_constraints.sql +13 -0
  91. package/.framework/migrations/003_auth_user_trigger.sql +59 -0
  92. package/.framework/src/App.tsx +126 -0
  93. package/.framework/src/apps/admin/index.tsx +173 -0
  94. package/.framework/src/components/AppWrapper.tsx +56 -0
  95. package/.framework/src/components/CustomAppLoader.tsx +116 -0
  96. package/.framework/src/components/admin/AdminListPage.tsx +151 -0
  97. package/.framework/src/components/admin/AdminSidebar.tsx +166 -0
  98. package/.framework/src/components/admin/AdminStatsCard.tsx +62 -0
  99. package/.framework/src/components/admin/SortableTableHeader.tsx +42 -0
  100. package/.framework/src/components/app-shell/GenericAppShell.tsx +181 -0
  101. package/.framework/src/components/app-shell/GenericDetailPage.tsx +200 -0
  102. package/.framework/src/components/app-shell/GenericListPage.tsx +116 -0
  103. package/.framework/src/components/app-sidebar.tsx +228 -0
  104. package/.framework/src/components/auth/ProtectedRoute.tsx +88 -0
  105. package/.framework/src/components/layout/AppShell.tsx +91 -0
  106. package/.framework/src/components/layout/Header.tsx +88 -0
  107. package/.framework/src/components/layout/Layout.tsx +95 -0
  108. package/.framework/src/components/layout/Sidebar.tsx +329 -0
  109. package/.framework/src/components/runtime/DataDetailHeader.tsx +77 -0
  110. package/.framework/src/components/runtime/DataDetailPage.tsx +171 -0
  111. package/.framework/src/components/runtime/DataFilters.tsx +91 -0
  112. package/.framework/src/components/runtime/DataHeader.tsx +68 -0
  113. package/.framework/src/components/runtime/DataListPage.tsx +124 -0
  114. package/.framework/src/components/runtime/DataStats.tsx +70 -0
  115. package/.framework/src/components/runtime/DataTable.tsx +174 -0
  116. package/.framework/src/components/runtime/SchemaDetailForm.tsx +134 -0
  117. package/.framework/src/components/runtime/index.ts +18 -0
  118. package/.framework/src/components/search-form.tsx +29 -0
  119. package/.framework/src/components/shared/AgentView.tsx +213 -0
  120. package/.framework/src/components/shared/FieldRenderer.tsx +478 -0
  121. package/.framework/src/components/shared/SchemaFields.tsx +226 -0
  122. package/.framework/src/components/ui/DataTable.tsx +343 -0
  123. package/.framework/src/components/ui/Form.tsx +281 -0
  124. package/.framework/src/components/ui/ItemCard.tsx +296 -0
  125. package/.framework/src/components/ui/ItemListView.tsx +308 -0
  126. package/.framework/src/components/ui/LoadingSpinner.tsx +52 -0
  127. package/.framework/src/components/ui/Modal.tsx +61 -0
  128. package/.framework/src/components/ui/RichTextEditor.tsx +210 -0
  129. package/.framework/src/components/ui/accordion.tsx +82 -0
  130. package/.framework/src/components/ui/alert-dialog.tsx +197 -0
  131. package/.framework/src/components/ui/alert.tsx +76 -0
  132. package/.framework/src/components/ui/aspect-ratio.tsx +11 -0
  133. package/.framework/src/components/ui/avatar.tsx +110 -0
  134. package/.framework/src/components/ui/badge.tsx +49 -0
  135. package/.framework/src/components/ui/breadcrumb.tsx +122 -0
  136. package/.framework/src/components/ui/button-group.tsx +83 -0
  137. package/.framework/src/components/ui/button.tsx +65 -0
  138. package/.framework/src/components/ui/calendar.tsx +222 -0
  139. package/.framework/src/components/ui/card.tsx +100 -0
  140. package/.framework/src/components/ui/carousel.tsx +240 -0
  141. package/.framework/src/components/ui/chart.tsx +373 -0
  142. package/.framework/src/components/ui/checkbox.tsx +31 -0
  143. package/.framework/src/components/ui/collapsible.tsx +33 -0
  144. package/.framework/src/components/ui/combobox.tsx +299 -0
  145. package/.framework/src/components/ui/command.tsx +193 -0
  146. package/.framework/src/components/ui/context-menu.tsx +261 -0
  147. package/.framework/src/components/ui/dialog.tsx +165 -0
  148. package/.framework/src/components/ui/direction.tsx +22 -0
  149. package/.framework/src/components/ui/drawer.tsx +132 -0
  150. package/.framework/src/components/ui/dropdown-menu.tsx +269 -0
  151. package/.framework/src/components/ui/empty.tsx +104 -0
  152. package/.framework/src/components/ui/field.tsx +238 -0
  153. package/.framework/src/components/ui/hover-card.tsx +42 -0
  154. package/.framework/src/components/ui/input-group.tsx +153 -0
  155. package/.framework/src/components/ui/input-otp.tsx +87 -0
  156. package/.framework/src/components/ui/input.tsx +19 -0
  157. package/.framework/src/components/ui/item.tsx +196 -0
  158. package/.framework/src/components/ui/kbd.tsx +26 -0
  159. package/.framework/src/components/ui/label.tsx +22 -0
  160. package/.framework/src/components/ui/menubar.tsx +277 -0
  161. package/.framework/src/components/ui/native-select.tsx +61 -0
  162. package/.framework/src/components/ui/navigation-menu.tsx +164 -0
  163. package/.framework/src/components/ui/pagination.tsx +129 -0
  164. package/.framework/src/components/ui/popover.tsx +87 -0
  165. package/.framework/src/components/ui/progress.tsx +31 -0
  166. package/.framework/src/components/ui/radio-group.tsx +42 -0
  167. package/.framework/src/components/ui/resizable.tsx +50 -0
  168. package/.framework/src/components/ui/scroll-area.tsx +53 -0
  169. package/.framework/src/components/ui/select.tsx +195 -0
  170. package/.framework/src/components/ui/separator.tsx +26 -0
  171. package/.framework/src/components/ui/sheet.tsx +145 -0
  172. package/.framework/src/components/ui/sidebar.tsx +706 -0
  173. package/.framework/src/components/ui/skeleton.tsx +13 -0
  174. package/.framework/src/components/ui/slider.tsx +59 -0
  175. package/.framework/src/components/ui/sonner.tsx +47 -0
  176. package/.framework/src/components/ui/spinner.tsx +10 -0
  177. package/.framework/src/components/ui/switch.tsx +33 -0
  178. package/.framework/src/components/ui/table-primitives.tsx +141 -0
  179. package/.framework/src/components/ui/table.tsx +114 -0
  180. package/.framework/src/components/ui/tabs.tsx +90 -0
  181. package/.framework/src/components/ui/textarea.tsx +18 -0
  182. package/.framework/src/components/ui/toggle-group.tsx +89 -0
  183. package/.framework/src/components/ui/toggle.tsx +45 -0
  184. package/.framework/src/components/ui/tooltip.tsx +57 -0
  185. package/.framework/src/contexts/AppContext.tsx +133 -0
  186. package/.framework/src/contexts/AuthContext.tsx +371 -0
  187. package/.framework/src/hooks/use-mobile.ts +19 -0
  188. package/.framework/src/hooks/useApi.ts +526 -0
  189. package/.framework/src/hooks/useApps.ts +114 -0
  190. package/.framework/src/hooks/useEntityList.ts +190 -0
  191. package/.framework/src/hooks/useEntityRecord.ts +308 -0
  192. package/.framework/src/hooks/useForm.ts +307 -0
  193. package/.framework/src/hooks/useListSchema.ts +264 -0
  194. package/.framework/src/hooks/useSchemaRecord.ts +223 -0
  195. package/.framework/src/index.css +128 -0
  196. package/.framework/src/lib/api.ts +156 -0
  197. package/.framework/src/lib/supabase.ts +94 -0
  198. package/.framework/src/lib/utils.ts +317 -0
  199. package/.framework/src/main.tsx +27 -0
  200. package/.framework/src/pages/DashboardPage.tsx +181 -0
  201. package/.framework/src/pages/NotFoundPage.tsx +39 -0
  202. package/.framework/src/pages/admin/AIAgentDetailPage.tsx +161 -0
  203. package/.framework/src/pages/admin/AIAgentsPage.tsx +318 -0
  204. package/.framework/src/pages/admin/APIKeyDetailPage.tsx +199 -0
  205. package/.framework/src/pages/admin/APIKeysPage.tsx +303 -0
  206. package/.framework/src/pages/admin/AlertsConfigPage.tsx +523 -0
  207. package/.framework/src/pages/admin/AppDetailPage.tsx +493 -0
  208. package/.framework/src/pages/admin/AppsPage.tsx +355 -0
  209. package/.framework/src/pages/admin/DesignedPage.tsx +491 -0
  210. package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +534 -0
  211. package/.framework/src/pages/admin/EmbeddingsPage.tsx +424 -0
  212. package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +176 -0
  213. package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +109 -0
  214. package/.framework/src/pages/admin/IntegratedDashboard.tsx +402 -0
  215. package/.framework/src/pages/admin/IntegrationDetailPage.tsx +187 -0
  216. package/.framework/src/pages/admin/IntegrationsPage.tsx +301 -0
  217. package/.framework/src/pages/admin/LogsPage.tsx +283 -0
  218. package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +85 -0
  219. package/.framework/src/pages/admin/ObservabilityDashboard.tsx +470 -0
  220. package/.framework/src/pages/admin/PipelineDetailPage.tsx +183 -0
  221. package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +279 -0
  222. package/.framework/src/pages/admin/PipelinesPage.tsx +390 -0
  223. package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +299 -0
  224. package/.framework/src/pages/admin/PromptConfigsPage.tsx +292 -0
  225. package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +434 -0
  226. package/.framework/src/pages/admin/RoleDetailPage.tsx +273 -0
  227. package/.framework/src/pages/admin/RolesPage.tsx +292 -0
  228. package/.framework/src/pages/admin/SelectTestPage.tsx +61 -0
  229. package/.framework/src/pages/admin/ShadcnTestPage.tsx +588 -0
  230. package/.framework/src/pages/admin/SimpleDashboard.tsx +387 -0
  231. package/.framework/src/pages/admin/TestRunDetailPage.tsx +172 -0
  232. package/.framework/src/pages/admin/TestingDashboard.tsx +257 -0
  233. package/.framework/src/pages/admin/TimerDetailPage.tsx +151 -0
  234. package/.framework/src/pages/admin/TimersPage.tsx +376 -0
  235. package/.framework/src/pages/admin/TriggerDetailPage.tsx +149 -0
  236. package/.framework/src/pages/admin/TriggersPage.tsx +381 -0
  237. package/.framework/src/pages/admin/TypeDetailPage.tsx +694 -0
  238. package/.framework/src/pages/admin/TypesPage.tsx +295 -0
  239. package/.framework/src/pages/auth/LoginPage.tsx +188 -0
  240. package/.framework/src/pages/auth/RegisterPage.tsx +163 -0
  241. package/.framework/src/pages/spine-framework/APIPage.tsx +17 -0
  242. package/.framework/src/pages/spine-framework/CLIPage.tsx +25 -0
  243. package/.framework/src/types/auth.ts +125 -0
  244. package/.framework/src/types/types.ts +407 -0
  245. package/STRUCTURE.md +150 -0
  246. package/config/components.json +25 -0
  247. package/config/deno.lock +108 -0
  248. package/config/package-lock.json +17183 -0
  249. package/config/postcss.config.cjs +10 -0
  250. package/config/tailwind.config.cjs +78 -0
  251. package/config/tsconfig.build.json +32 -0
  252. package/config/tsconfig.cli.json +18 -0
  253. package/config/tsconfig.json +41 -0
  254. package/config/tsconfig.node.json +17 -0
  255. package/config/tsconfig.node.tsbuildinfo +1 -0
  256. package/config/tsconfig.tsbuildinfo +1 -0
  257. package/config/typedoc.json +16 -0
  258. package/config/vite.config.d.ts +2 -0
  259. package/config/vite.config.ts +72 -0
  260. package/dist/cli/commands/agents.d.ts +39 -0
  261. package/dist/cli/commands/agents.d.ts.map +1 -0
  262. package/dist/cli/commands/auth.d.ts +36 -0
  263. package/dist/cli/commands/auth.d.ts.map +1 -0
  264. package/dist/cli/commands/create-app.d.ts +23 -0
  265. package/dist/cli/commands/create-app.d.ts.map +1 -0
  266. package/dist/cli/commands/dev.d.ts +39 -0
  267. package/dist/cli/commands/dev.d.ts.map +1 -0
  268. package/dist/cli/commands/doctor.d.ts +42 -0
  269. package/dist/cli/commands/doctor.d.ts.map +1 -0
  270. package/dist/cli/commands/generate.d.ts +36 -0
  271. package/dist/cli/commands/generate.d.ts.map +1 -0
  272. package/dist/cli/commands/init.d.ts +30 -0
  273. package/dist/cli/commands/init.d.ts.map +1 -0
  274. package/dist/cli/commands/install-app.d.ts +30 -0
  275. package/dist/cli/commands/install-app.d.ts.map +1 -0
  276. package/dist/cli/commands/items.d.ts +45 -0
  277. package/dist/cli/commands/items.d.ts.map +1 -0
  278. package/dist/cli/commands/migrations.d.ts +41 -0
  279. package/dist/cli/commands/migrations.d.ts.map +1 -0
  280. package/dist/cli/commands/pipelines.d.ts +40 -0
  281. package/dist/cli/commands/pipelines.d.ts.map +1 -0
  282. package/dist/cli/commands/status.d.ts +23 -0
  283. package/dist/cli/commands/status.d.ts.map +1 -0
  284. package/dist/cli/commands/system.d.ts +29 -0
  285. package/dist/cli/commands/system.d.ts.map +1 -0
  286. package/dist/cli/commands/test.d.ts +46 -0
  287. package/dist/cli/commands/test.d.ts.map +1 -0
  288. package/dist/cli/commands/uninstall-app.d.ts +23 -0
  289. package/dist/cli/commands/uninstall-app.d.ts.map +1 -0
  290. package/dist/cli/context.d.ts +88 -0
  291. package/dist/cli/context.d.ts.map +1 -0
  292. package/dist/cli/env-loader.d.ts +14 -0
  293. package/dist/cli/env-loader.d.ts.map +1 -0
  294. package/dist/cli/index.d.ts +41 -0
  295. package/dist/cli/index.d.ts.map +1 -0
  296. package/dist/functions/_shared/agent-runner.d.ts +156 -0
  297. package/dist/functions/_shared/agent-runner.d.ts.map +1 -0
  298. package/dist/functions/_shared/app-manifest.d.ts +68 -0
  299. package/dist/functions/_shared/app-manifest.d.ts.map +1 -0
  300. package/dist/functions/_shared/audit.d.ts +91 -0
  301. package/dist/functions/_shared/audit.d.ts.map +1 -0
  302. package/dist/functions/_shared/db.d.ts +125 -0
  303. package/dist/functions/_shared/db.d.ts.map +1 -0
  304. package/dist/functions/_shared/index.d.ts +298 -0
  305. package/dist/functions/_shared/index.d.ts.map +1 -0
  306. package/dist/functions/_shared/middleware.d.ts +315 -0
  307. package/dist/functions/_shared/middleware.d.ts.map +1 -0
  308. package/dist/functions/_shared/permissions.d.ts +626 -0
  309. package/dist/functions/_shared/permissions.d.ts.map +1 -0
  310. package/dist/functions/_shared/pipeline-runner.d.ts +124 -0
  311. package/dist/functions/_shared/pipeline-runner.d.ts.map +1 -0
  312. package/dist/functions/_shared/principal.d.ts +284 -0
  313. package/dist/functions/_shared/principal.d.ts.map +1 -0
  314. package/dist/functions/_shared/schema-utils.d.ts +181 -0
  315. package/dist/functions/_shared/schema-utils.d.ts.map +1 -0
  316. package/dist/functions/_shared/testing.d.ts +172 -0
  317. package/dist/functions/_shared/testing.d.ts.map +1 -0
  318. package/dist/functions/_shared/trigger-engine.d.ts +140 -0
  319. package/dist/functions/_shared/trigger-engine.d.ts.map +1 -0
  320. package/dist/functions/_shared/webhook-registration.d.ts +81 -0
  321. package/dist/functions/_shared/webhook-registration.d.ts.map +1 -0
  322. package/dist/functions/_shared/webhook-registry.d.ts +57 -0
  323. package/dist/functions/_shared/webhook-registry.d.ts.map +1 -0
  324. package/dist/functions/account-nodes.d.ts +48 -0
  325. package/dist/functions/account-nodes.d.ts.map +1 -0
  326. package/dist/functions/admin-data.d.ts +178 -0
  327. package/dist/functions/admin-data.d.ts.map +1 -0
  328. package/dist/functions/ai-agents.d.ts +125 -0
  329. package/dist/functions/ai-agents.d.ts.map +1 -0
  330. package/dist/functions/api-keys.d.ts +140 -0
  331. package/dist/functions/api-keys.d.ts.map +1 -0
  332. package/dist/functions/apps.d.ts +163 -0
  333. package/dist/functions/apps.d.ts.map +1 -0
  334. package/dist/functions/auth.d.ts +74 -0
  335. package/dist/functions/auth.d.ts.map +1 -0
  336. package/dist/functions/debug-auth.d.ts +33 -0
  337. package/dist/functions/debug-auth.d.ts.map +1 -0
  338. package/dist/functions/embeddings.d.ts +205 -0
  339. package/dist/functions/embeddings.d.ts.map +1 -0
  340. package/dist/functions/integration-routes.d.ts +45 -0
  341. package/dist/functions/integration-routes.d.ts.map +1 -0
  342. package/dist/functions/integrations.d.ts +124 -0
  343. package/dist/functions/integrations.d.ts.map +1 -0
  344. package/dist/functions/item-progress.d.ts +41 -0
  345. package/dist/functions/item-progress.d.ts.map +1 -0
  346. package/dist/functions/logs.d.ts +162 -0
  347. package/dist/functions/logs.d.ts.map +1 -0
  348. package/dist/functions/observability.d.ts +123 -0
  349. package/dist/functions/observability.d.ts.map +1 -0
  350. package/dist/functions/pipeline-executions.d.ts +190 -0
  351. package/dist/functions/pipeline-executions.d.ts.map +1 -0
  352. package/dist/functions/pipelines.d.ts +171 -0
  353. package/dist/functions/pipelines.d.ts.map +1 -0
  354. package/dist/functions/prompt-configs.d.ts +125 -0
  355. package/dist/functions/prompt-configs.d.ts.map +1 -0
  356. package/dist/functions/roles.d.ts +118 -0
  357. package/dist/functions/roles.d.ts.map +1 -0
  358. package/dist/functions/system-cron.d.ts +65 -0
  359. package/dist/functions/system-cron.d.ts.map +1 -0
  360. package/dist/functions/system.d.ts +29 -0
  361. package/dist/functions/system.d.ts.map +1 -0
  362. package/dist/functions/tests.d.ts +28 -0
  363. package/dist/functions/tests.d.ts.map +1 -0
  364. package/dist/functions/timers.d.ts +139 -0
  365. package/dist/functions/timers.d.ts.map +1 -0
  366. package/dist/functions/triggers.d.ts +203 -0
  367. package/dist/functions/triggers.d.ts.map +1 -0
  368. package/dist/functions/types.d.ts +151 -0
  369. package/dist/functions/types.d.ts.map +1 -0
  370. package/dist/src/types/types.d.ts +364 -0
  371. package/dist/src/types/types.d.ts.map +1 -0
  372. package/package.json +192 -0
  373. package/scripts/app-install-cli.ts +286 -0
  374. package/scripts/assemble-frontend.sh +79 -0
  375. package/scripts/assemble-functions.sh +62 -0
  376. package/scripts/assemble.sh +35 -0
  377. package/scripts/boundary-check.sh +106 -0
  378. package/scripts/build-manifest.sh +80 -0
  379. package/scripts/check-core-integrity.sh +82 -0
  380. package/scripts/ingest-chunks.cjs +202 -0
  381. package/scripts/kb-chunk-parser.cjs +312 -0
  382. package/scripts/kb-chunk-parser.ts +330 -0
  383. package/scripts/load-test-app-install.ts +484 -0
  384. package/scripts/netlify-dev-wrapper.sh +22 -0
  385. package/scripts/verify-integrity.sh +69 -0
@@ -0,0 +1,330 @@
1
+ #!/usr/bin/env deno run --allow-read --allow-write
2
+
3
+ import { walk } from 'https://deno.land/std@0.168.0/fs/mod.ts'
4
+ import { readAll } from 'https://deno.land/std@0.168.0/streams/mod.ts'
5
+
6
+ interface ChunkMetadata {
7
+ chunk_id: string
8
+ file_path: string
9
+ line_start: number
10
+ line_end: number
11
+ chunk_type: 'function' | 'class' | 'interface' | 'config' | 'object'
12
+ purpose: string
13
+ hash: string
14
+ dependencies: string[]
15
+ dependents: string[]
16
+ source: {
17
+ source_type: 'core'
18
+ ref: string
19
+ line_start: number
20
+ line_end: number
21
+ }
22
+ }
23
+
24
+ interface ParsedChunk {
25
+ identifier: string
26
+ chunk_id: string
27
+ version: string
28
+ hash: string
29
+ macro: string
30
+ micro: string
31
+ inputs: Record<string, string>
32
+ outputs: string
33
+ depends_on: string[]
34
+ depended_by: string[]
35
+ side_effects: string[]
36
+ tags: string[]
37
+ code: string
38
+ metadata: ChunkMetadata
39
+ }
40
+
41
+ class KBChunkParser {
42
+ private chunks: ParsedChunk[] = []
43
+ private currentChunk: Partial<ParsedChunk> = {}
44
+ private inChunk = false
45
+ private currentFile = ''
46
+ private currentLine = 0
47
+
48
+ async parseDirectory(dirPath: string): Promise<ParsedChunk[]> {
49
+ this.chunks = []
50
+
51
+ for await (const entry of walk(dirPath, {
52
+ includeDirs: false,
53
+ exts: ['.ts', '.tsx', '.js', '.jsx'],
54
+ skip: [/node_modules/, /\.git/, /dist/, /src\/v2-assembled/]
55
+ })) {
56
+ if (entry.isFile) {
57
+ await this.parseFile(entry.path)
58
+ }
59
+ }
60
+
61
+ return this.chunks
62
+ }
63
+
64
+ async parseFile(filePath: string): Promise<void> {
65
+ this.currentFile = filePath
66
+ this.currentLine = 0
67
+ this.inChunk = false
68
+ this.currentChunk = {}
69
+
70
+ try {
71
+ const content = await Deno.readTextFile(filePath)
72
+ const lines = content.split('\n')
73
+
74
+ for (let i = 0; i < lines.length; i++) {
75
+ this.currentLine = i + 1
76
+ const line = lines[i]
77
+
78
+ if (line.includes('CHUNK_START:')) {
79
+ this.handleChunkStart(line)
80
+ } else if (line.includes('CHUNK_END:')) {
81
+ this.handleChunkEnd()
82
+ } else if (this.inChunk && this.currentChunk.code !== undefined) {
83
+ this.currentChunk.code += line + '\n'
84
+ }
85
+ }
86
+ } catch (error) {
87
+ console.error(`Error parsing file ${filePath}:`, error.message)
88
+ }
89
+ }
90
+
91
+ private handleChunkStart(line: string): void {
92
+ const match = line.match(/CHUNK_START:\s*(.+?)\s*─/)
93
+ if (!match) {
94
+ console.warn(`Invalid CHUNK_START format at line ${this.currentLine}: ${line}`)
95
+ return
96
+ }
97
+
98
+ const identifier = match[1].trim()
99
+ this.inChunk = true
100
+ this.currentChunk = {
101
+ identifier,
102
+ code: '',
103
+ metadata: {
104
+ chunk_id: '',
105
+ file_path: this.currentFile,
106
+ line_start: this.currentLine,
107
+ line_end: 0,
108
+ chunk_type: 'function',
109
+ purpose: '',
110
+ hash: '',
111
+ dependencies: [],
112
+ dependents: [],
113
+ source: {
114
+ source_type: 'core',
115
+ ref: this.currentFile,
116
+ line_start: this.currentLine,
117
+ line_end: 0
118
+ }
119
+ }
120
+ }
121
+ }
122
+
123
+ private handleChunkEnd(): void {
124
+ if (!this.inChunk) {
125
+ console.warn(`CHUNK_END without CHUNK_START at line ${this.currentLine}`)
126
+ return
127
+ }
128
+
129
+ const match = this.currentChunk.code?.match(/@chunk-id\s+(.+)/)
130
+ if (!match) {
131
+ console.warn(`Missing @chunk-id in chunk ${this.currentChunk.identifier}`)
132
+ this.inChunk = false
133
+ return
134
+ }
135
+
136
+ const chunkId = match[1].trim()
137
+ const hash = this.generateHash(this.currentChunk.code || '')
138
+
139
+ // Parse JSDoc-style comments
140
+ const parsed = this.parseChunkDoc(this.currentChunk.code || '')
141
+
142
+ const chunk: ParsedChunk = {
143
+ identifier: this.currentChunk.identifier!,
144
+ chunk_id: chunkId,
145
+ version: '1.0.0',
146
+ hash,
147
+ macro: parsed.macro || '',
148
+ micro: parsed.micro || '',
149
+ inputs: parsed.inputs || {},
150
+ outputs: parsed.outputs || '',
151
+ depends_on: parsed.depends_on || [],
152
+ depended_by: parsed.depended_by || [],
153
+ side_effects: parsed.side_effects || [],
154
+ tags: parsed.tags || [],
155
+ code: (this.currentChunk.code || '').trim(),
156
+ metadata: {
157
+ ...this.currentChunk.metadata!,
158
+ chunk_id: chunkId,
159
+ hash,
160
+ line_end: this.currentLine,
161
+ source: {
162
+ ...this.currentChunk.metadata!.source,
163
+ line_end: this.currentLine
164
+ }
165
+ }
166
+ }
167
+
168
+ this.chunks.push(chunk)
169
+ this.inChunk = false
170
+ this.currentChunk = {}
171
+ }
172
+
173
+ private parseChunkDoc(code: string): any {
174
+ const doc: any = {}
175
+
176
+ // Extract @chunk-id
177
+ const chunkIdMatch = code.match(/@chunk-id\s+(.+)/)
178
+ if (chunkIdMatch) {
179
+ doc.chunk_id = chunkIdMatch[1].trim()
180
+ }
181
+
182
+ // Extract @version
183
+ const versionMatch = code.match(/@version\s+(.+)/)
184
+ if (versionMatch) {
185
+ doc.version = versionMatch[1].trim()
186
+ }
187
+
188
+ // Extract @hash
189
+ const hashMatch = code.match(/@hash\s+(.+)/)
190
+ if (hashMatch) {
191
+ doc.hash = hashMatch[1].trim()
192
+ }
193
+
194
+ // Extract @macro
195
+ const macroMatch = code.match(/@macro\s+(.+)/)
196
+ if (macroMatch) {
197
+ doc.macro = macroMatch[1].trim()
198
+ }
199
+
200
+ // Extract @micro
201
+ const microMatch = code.match(/@micro\s+(.+)/)
202
+ if (microMatch) {
203
+ doc.micro = microMatch[1].trim()
204
+ }
205
+
206
+ // Extract @inputs
207
+ const inputsMatch = code.match(/@inputs\s+(.+)/)
208
+ if (inputsMatch) {
209
+ doc.inputs = this.parseKeyValuePairs(inputsMatch[1].trim())
210
+ }
211
+
212
+ // Extract @outputs
213
+ const outputsMatch = code.match(/@outputs\s+(.+)/)
214
+ if (outputsMatch) {
215
+ doc.outputs = outputsMatch[1].trim()
216
+ }
217
+
218
+ // Extract @depends-on
219
+ const dependsOnMatch = code.match(/@depends-on\s+(.+)/)
220
+ if (dependsOnMatch) {
221
+ doc.depends_on = this.parseList(dependsOnMatch[1].trim())
222
+ }
223
+
224
+ // Extract @depended-by
225
+ const dependedByMatch = code.match(/@depended-by\s+(.+)/)
226
+ if (dependedByMatch) {
227
+ doc.depended_by = this.parseList(dependedByMatch[1].trim())
228
+ }
229
+
230
+ // Extract @side-effects
231
+ const sideEffectsMatch = code.match(/@side-effects\s+(.+)/)
232
+ if (sideEffectsMatch) {
233
+ doc.side_effects = this.parseList(sideEffectsMatch[1].trim())
234
+ }
235
+
236
+ // Extract @tags
237
+ const tagsMatch = code.match(/@tags\s+(.+)/)
238
+ if (tagsMatch) {
239
+ doc.tags = this.parseList(tagsMatch[1].trim())
240
+ }
241
+
242
+ return doc
243
+ }
244
+
245
+ private parseKeyValuePairs(str: string): Record<string, string> {
246
+ const pairs: Record<string, string> = {}
247
+ const regex = /(\w+):\s*([^,]+)(?:,\s*|$)/g
248
+ let match
249
+
250
+ while ((match = regex.exec(str)) !== null) {
251
+ pairs[match[1]] = match[2].trim()
252
+ }
253
+
254
+ return pairs
255
+ }
256
+
257
+ private parseList(str: string): string[] {
258
+ return str.split(',').map(s => s.trim()).filter(Boolean)
259
+ }
260
+
261
+ private generateHash(content: string): string {
262
+ // Simple hash function for demonstration
263
+ // In production, use crypto.subtle.digest
264
+ let hash = 0
265
+ for (let i = 0; i < content.length; i++) {
266
+ const char = content.charCodeAt(i)
267
+ hash = ((hash << 5) - hash) + char
268
+ hash = hash & hash // Convert to 32-bit integer
269
+ }
270
+ return Math.abs(hash).toString(16)
271
+ }
272
+
273
+ async saveChunks(outputFile: string): Promise<void> {
274
+ const output = {
275
+ generated_at: new Date().toISOString(),
276
+ total_chunks: this.chunks.length,
277
+ chunks: this.chunks
278
+ }
279
+
280
+ await Deno.writeTextFile(outputFile, JSON.stringify(output, null, 2))
281
+ console.log(`Saved ${this.chunks.length} chunks to ${outputFile}`)
282
+ }
283
+ }
284
+
285
+ // CLI usage
286
+ async function main() {
287
+ const args = Deno.args
288
+
289
+ if (args.length < 2) {
290
+ console.log('Usage: deno run --allow-read --allow-write kb-chunk-parser.ts <source-dir> <output-file>')
291
+ console.log('Example: deno run --allow-read --allow-write kb-chunk-parser.ts v2-core/src chunks.json')
292
+ Deno.exit(1)
293
+ }
294
+
295
+ const [sourceDir, outputFile] = args
296
+
297
+ if (!await Deno.stat(sourceDir).catch(() => false)) {
298
+ console.error(`Source directory not found: ${sourceDir}`)
299
+ Deno.exit(1)
300
+ }
301
+
302
+ const parser = new KBChunkParser()
303
+
304
+ try {
305
+ console.log(`Parsing chunks from ${sourceDir}...`)
306
+ const chunks = await parser.parseDirectory(sourceDir)
307
+
308
+ console.log(`Found ${chunks.length} chunks`)
309
+
310
+ await parser.saveChunks(outputFile)
311
+
312
+ // Display summary
313
+ console.log('\nSummary:')
314
+ console.log(`- Functions: ${chunks.filter(c => c.metadata.chunk_type === 'function').length}`)
315
+ console.log(`- Classes: ${chunks.filter(c => c.metadata.chunk_type === 'class').length}`)
316
+ console.log(`- Interfaces: ${chunks.filter(c => c.metadata.chunk_type === 'interface').length}`)
317
+ console.log(`- Configs: ${chunks.filter(c => c.metadata.chunk_type === 'config').length}`)
318
+ console.log(`- Objects: ${chunks.filter(c => c.metadata.chunk_type === 'object').length}`)
319
+
320
+ } catch (error) {
321
+ console.error('Error:', error.message)
322
+ Deno.exit(1)
323
+ }
324
+ }
325
+
326
+ if (import.meta.main) {
327
+ await main()
328
+ }
329
+
330
+ export { KBChunkParser, ParsedChunk }