create-qpq-app 0.1.5

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 (836) hide show
  1. package/README.md +33 -0
  2. package/lib/commonjs/bin/createQpqApp.d.ts +2 -0
  3. package/lib/commonjs/bin/createQpqApp.js +9 -0
  4. package/lib/commonjs/bin/createQpqApp.js.map +1 -0
  5. package/lib/commonjs/cli/runCreateQpqApp.d.ts +1 -0
  6. package/lib/commonjs/cli/runCreateQpqApp.js +75 -0
  7. package/lib/commonjs/cli/runCreateQpqApp.js.map +1 -0
  8. package/lib/commonjs/index.d.ts +3 -0
  9. package/lib/commonjs/index.js +20 -0
  10. package/lib/commonjs/index.js.map +1 -0
  11. package/lib/commonjs/lib/args.d.ts +2 -0
  12. package/lib/commonjs/lib/args.js +21 -0
  13. package/lib/commonjs/lib/args.js.map +1 -0
  14. package/lib/commonjs/lib/files.d.ts +5 -0
  15. package/lib/commonjs/lib/files.js +65 -0
  16. package/lib/commonjs/lib/files.js.map +1 -0
  17. package/lib/commonjs/lib/packageRoot.d.ts +2 -0
  18. package/lib/commonjs/lib/packageRoot.js +26 -0
  19. package/lib/commonjs/lib/packageRoot.js.map +1 -0
  20. package/lib/commonjs/lib/prompts.d.ts +1 -0
  21. package/lib/commonjs/lib/prompts.js +53 -0
  22. package/lib/commonjs/lib/prompts.js.map +1 -0
  23. package/lib/commonjs/lib/runCommand.d.ts +4 -0
  24. package/lib/commonjs/lib/runCommand.js +24 -0
  25. package/lib/commonjs/lib/runCommand.js.map +1 -0
  26. package/lib/commonjs/steps/001_preflight.d.ts +2 -0
  27. package/lib/commonjs/steps/001_preflight.js +36 -0
  28. package/lib/commonjs/steps/001_preflight.js.map +1 -0
  29. package/lib/commonjs/steps/002_copyTemplate.d.ts +2 -0
  30. package/lib/commonjs/steps/002_copyTemplate.js +29 -0
  31. package/lib/commonjs/steps/002_copyTemplate.js.map +1 -0
  32. package/lib/commonjs/steps/003_deleteDocusaurus.d.ts +2 -0
  33. package/lib/commonjs/steps/003_deleteDocusaurus.js +32 -0
  34. package/lib/commonjs/steps/003_deleteDocusaurus.js.map +1 -0
  35. package/lib/commonjs/steps/004_deleteQpqjsApp.d.ts +2 -0
  36. package/lib/commonjs/steps/004_deleteQpqjsApp.js +26 -0
  37. package/lib/commonjs/steps/004_deleteQpqjsApp.js.map +1 -0
  38. package/lib/commonjs/steps/005_applyAppIdentity.d.ts +2 -0
  39. package/lib/commonjs/steps/005_applyAppIdentity.js +51 -0
  40. package/lib/commonjs/steps/005_applyAppIdentity.js.map +1 -0
  41. package/lib/commonjs/steps/006_applyDomain.d.ts +2 -0
  42. package/lib/commonjs/steps/006_applyDomain.js +31 -0
  43. package/lib/commonjs/steps/006_applyDomain.js.map +1 -0
  44. package/lib/commonjs/steps/007_pinRegistryVersions.d.ts +2 -0
  45. package/lib/commonjs/steps/007_pinRegistryVersions.js +37 -0
  46. package/lib/commonjs/steps/007_pinRegistryVersions.js.map +1 -0
  47. package/lib/commonjs/steps/008_transpileToJavaScript.d.ts +2 -0
  48. package/lib/commonjs/steps/008_transpileToJavaScript.js +24 -0
  49. package/lib/commonjs/steps/008_transpileToJavaScript.js.map +1 -0
  50. package/lib/commonjs/steps/009_restoreGitignore.d.ts +2 -0
  51. package/lib/commonjs/steps/009_restoreGitignore.js +31 -0
  52. package/lib/commonjs/steps/009_restoreGitignore.js.map +1 -0
  53. package/lib/commonjs/steps/010_gitInit.d.ts +2 -0
  54. package/lib/commonjs/steps/010_gitInit.js +30 -0
  55. package/lib/commonjs/steps/010_gitInit.js.map +1 -0
  56. package/lib/commonjs/steps/011_npmInstall.d.ts +2 -0
  57. package/lib/commonjs/steps/011_npmInstall.js +21 -0
  58. package/lib/commonjs/steps/011_npmInstall.js.map +1 -0
  59. package/lib/commonjs/steps/012_buildWorkspaces.d.ts +2 -0
  60. package/lib/commonjs/steps/012_buildWorkspaces.js +24 -0
  61. package/lib/commonjs/steps/012_buildWorkspaces.js.map +1 -0
  62. package/lib/commonjs/steps/013_printNextSteps.d.ts +2 -0
  63. package/lib/commonjs/steps/013_printNextSteps.js +33 -0
  64. package/lib/commonjs/steps/013_printNextSteps.js.map +1 -0
  65. package/lib/commonjs/steps/index.d.ts +16 -0
  66. package/lib/commonjs/steps/index.js +48 -0
  67. package/lib/commonjs/steps/index.js.map +1 -0
  68. package/lib/commonjs/types.d.ts +22 -0
  69. package/lib/commonjs/types.js +9 -0
  70. package/lib/commonjs/types.js.map +1 -0
  71. package/lib/esm/bin/createQpqApp.d.ts +2 -0
  72. package/lib/esm/bin/createQpqApp.js +7 -0
  73. package/lib/esm/bin/createQpqApp.js.map +1 -0
  74. package/lib/esm/cli/runCreateQpqApp.d.ts +1 -0
  75. package/lib/esm/cli/runCreateQpqApp.js +57 -0
  76. package/lib/esm/cli/runCreateQpqApp.js.map +1 -0
  77. package/lib/esm/index.d.ts +3 -0
  78. package/lib/esm/index.js +4 -0
  79. package/lib/esm/index.js.map +1 -0
  80. package/lib/esm/lib/args.d.ts +2 -0
  81. package/lib/esm/lib/args.js +16 -0
  82. package/lib/esm/lib/args.js.map +1 -0
  83. package/lib/esm/lib/files.d.ts +5 -0
  84. package/lib/esm/lib/files.js +54 -0
  85. package/lib/esm/lib/files.js.map +1 -0
  86. package/lib/esm/lib/packageRoot.d.ts +2 -0
  87. package/lib/esm/lib/packageRoot.js +18 -0
  88. package/lib/esm/lib/packageRoot.js.map +1 -0
  89. package/lib/esm/lib/prompts.d.ts +1 -0
  90. package/lib/esm/lib/prompts.js +7 -0
  91. package/lib/esm/lib/prompts.js.map +1 -0
  92. package/lib/esm/lib/runCommand.d.ts +4 -0
  93. package/lib/esm/lib/runCommand.js +19 -0
  94. package/lib/esm/lib/runCommand.js.map +1 -0
  95. package/lib/esm/steps/001_preflight.d.ts +2 -0
  96. package/lib/esm/steps/001_preflight.js +21 -0
  97. package/lib/esm/steps/001_preflight.js.map +1 -0
  98. package/lib/esm/steps/002_copyTemplate.d.ts +2 -0
  99. package/lib/esm/steps/002_copyTemplate.js +14 -0
  100. package/lib/esm/steps/002_copyTemplate.js.map +1 -0
  101. package/lib/esm/steps/003_deleteDocusaurus.d.ts +2 -0
  102. package/lib/esm/steps/003_deleteDocusaurus.js +16 -0
  103. package/lib/esm/steps/003_deleteDocusaurus.js.map +1 -0
  104. package/lib/esm/steps/004_deleteQpqjsApp.d.ts +2 -0
  105. package/lib/esm/steps/004_deleteQpqjsApp.js +11 -0
  106. package/lib/esm/steps/004_deleteQpqjsApp.js.map +1 -0
  107. package/lib/esm/steps/005_applyAppIdentity.d.ts +2 -0
  108. package/lib/esm/steps/005_applyAppIdentity.js +36 -0
  109. package/lib/esm/steps/005_applyAppIdentity.js.map +1 -0
  110. package/lib/esm/steps/006_applyDomain.d.ts +2 -0
  111. package/lib/esm/steps/006_applyDomain.js +16 -0
  112. package/lib/esm/steps/006_applyDomain.js.map +1 -0
  113. package/lib/esm/steps/007_pinRegistryVersions.d.ts +2 -0
  114. package/lib/esm/steps/007_pinRegistryVersions.js +22 -0
  115. package/lib/esm/steps/007_pinRegistryVersions.js.map +1 -0
  116. package/lib/esm/steps/008_transpileToJavaScript.d.ts +2 -0
  117. package/lib/esm/steps/008_transpileToJavaScript.js +12 -0
  118. package/lib/esm/steps/008_transpileToJavaScript.js.map +1 -0
  119. package/lib/esm/steps/009_restoreGitignore.d.ts +2 -0
  120. package/lib/esm/steps/009_restoreGitignore.js +16 -0
  121. package/lib/esm/steps/009_restoreGitignore.js.map +1 -0
  122. package/lib/esm/steps/010_gitInit.d.ts +2 -0
  123. package/lib/esm/steps/010_gitInit.js +18 -0
  124. package/lib/esm/steps/010_gitInit.js.map +1 -0
  125. package/lib/esm/steps/011_npmInstall.d.ts +2 -0
  126. package/lib/esm/steps/011_npmInstall.js +9 -0
  127. package/lib/esm/steps/011_npmInstall.js.map +1 -0
  128. package/lib/esm/steps/012_buildWorkspaces.d.ts +2 -0
  129. package/lib/esm/steps/012_buildWorkspaces.js +12 -0
  130. package/lib/esm/steps/012_buildWorkspaces.js.map +1 -0
  131. package/lib/esm/steps/013_printNextSteps.d.ts +2 -0
  132. package/lib/esm/steps/013_printNextSteps.js +21 -0
  133. package/lib/esm/steps/013_printNextSteps.js.map +1 -0
  134. package/lib/esm/steps/index.d.ts +16 -0
  135. package/lib/esm/steps/index.js +33 -0
  136. package/lib/esm/steps/index.js.map +1 -0
  137. package/lib/esm/types.d.ts +22 -0
  138. package/lib/esm/types.js +6 -0
  139. package/lib/esm/types.js.map +1 -0
  140. package/package.json +57 -0
  141. package/template/.nvmrc +1 -0
  142. package/template/.prettierignore +4 -0
  143. package/template/.prettierrc +4 -0
  144. package/template/.vscode/extensions.json +3 -0
  145. package/template/.vscode/settings.json +14 -0
  146. package/template/README.md +150 -0
  147. package/template/apps/qpqjs/account.qpq.ts +39 -0
  148. package/template/apps/qpqjs/bootstrap.qpq.ts +36 -0
  149. package/template/apps/qpqjs/deploy.config.json +24 -0
  150. package/template/apps/qpqjs/packages/config/package.json +22 -0
  151. package/template/apps/qpqjs/packages/config/src/index.ts +2 -0
  152. package/template/apps/qpqjs/packages/config/tsconfig.json +18 -0
  153. package/template/apps/qpqjs/packages/config/tsconfig.lib.json +19 -0
  154. package/template/apps/qpqjs/packages/constants/package.json +22 -0
  155. package/template/apps/qpqjs/packages/constants/src/QpqjsServiceEnum.ts +11 -0
  156. package/template/apps/qpqjs/packages/constants/src/domain.ts +1 -0
  157. package/template/apps/qpqjs/packages/constants/src/index.ts +3 -0
  158. package/template/apps/qpqjs/packages/constants/src/userDirectory.ts +3 -0
  159. package/template/apps/qpqjs/packages/constants/tsconfig.json +18 -0
  160. package/template/apps/qpqjs/packages/constants/tsconfig.lib.json +19 -0
  161. package/template/apps/qpqjs/packages/service-utils/package.json +24 -0
  162. package/template/apps/qpqjs/packages/service-utils/src/defineQpqjsService.ts +148 -0
  163. package/template/apps/qpqjs/packages/service-utils/src/index.ts +1 -0
  164. package/template/apps/qpqjs/packages/service-utils/tsconfig.json +18 -0
  165. package/template/apps/qpqjs/packages/service-utils/tsconfig.lib.json +19 -0
  166. package/template/apps/qpqjs/services/admin/config/package.json +22 -0
  167. package/template/apps/qpqjs/services/admin/config/src/index.ts +2 -0
  168. package/template/apps/qpqjs/services/admin/config/tsconfig.json +18 -0
  169. package/template/apps/qpqjs/services/admin/config/tsconfig.lib.json +19 -0
  170. package/template/apps/qpqjs/services/admin/models/package.json +22 -0
  171. package/template/apps/qpqjs/services/admin/models/src/index.ts +2 -0
  172. package/template/apps/qpqjs/services/admin/models/tsconfig.json +18 -0
  173. package/template/apps/qpqjs/services/admin/models/tsconfig.lib.json +19 -0
  174. package/template/apps/qpqjs/services/admin/service/package.json +9 -0
  175. package/template/apps/qpqjs/services/admin/service/src/infrastructure.ts +15 -0
  176. package/template/apps/qpqjs/services/admin/service/tsconfig.app.json +17 -0
  177. package/template/apps/qpqjs/services/admin/service/tsconfig.json +8 -0
  178. package/template/apps/qpqjs/services/admin/service-utils/package.json +22 -0
  179. package/template/apps/qpqjs/services/admin/service-utils/src/index.ts +2 -0
  180. package/template/apps/qpqjs/services/admin/service-utils/tsconfig.json +18 -0
  181. package/template/apps/qpqjs/services/admin/service-utils/tsconfig.lib.json +19 -0
  182. package/template/apps/qpqjs/services/admin/shared-logic/package.json +22 -0
  183. package/template/apps/qpqjs/services/admin/shared-logic/src/index.ts +2 -0
  184. package/template/apps/qpqjs/services/admin/shared-logic/tsconfig.json +18 -0
  185. package/template/apps/qpqjs/services/admin/shared-logic/tsconfig.lib.json +19 -0
  186. package/template/apps/qpqjs/services/admin/views/package.json +8 -0
  187. package/template/apps/qpqjs/services/admin/views/src/app/app.tsx +39 -0
  188. package/template/apps/qpqjs/services/admin/views/src/assets/.gitkeep +0 -0
  189. package/template/apps/qpqjs/services/admin/views/src/bootstrap.tsx +14 -0
  190. package/template/apps/qpqjs/services/admin/views/src/components/AdminGrid/AdminGrid.tsx +80 -0
  191. package/template/apps/qpqjs/services/admin/views/src/components/AdminGrid/index.ts +1 -0
  192. package/template/apps/qpqjs/services/admin/views/src/components/AdminGrid/styles.ts +41 -0
  193. package/template/apps/qpqjs/services/admin/views/src/components/AdminGrid/types/AdminGridProps.ts +6 -0
  194. package/template/apps/qpqjs/services/admin/views/src/components/index.ts +1 -0
  195. package/template/apps/qpqjs/services/admin/views/src/favicon.ico +0 -0
  196. package/template/apps/qpqjs/services/admin/views/src/hooks/index.ts +1 -0
  197. package/template/apps/qpqjs/services/admin/views/src/hooks/useAdminNetworkRequest/index.ts +1 -0
  198. package/template/apps/qpqjs/services/admin/views/src/hooks/useAdminNetworkRequest/logic/getBaseUrlFromAdminWebHost.ts +7 -0
  199. package/template/apps/qpqjs/services/admin/views/src/hooks/useAdminNetworkRequest/types/AdminNetworkRequestPayload.ts +10 -0
  200. package/template/apps/qpqjs/services/admin/views/src/hooks/useAdminNetworkRequest/useAdminNetworkRequest.ts +18 -0
  201. package/template/apps/qpqjs/services/admin/views/src/index.html +23 -0
  202. package/template/apps/qpqjs/services/admin/views/src/index.ts +2 -0
  203. package/template/apps/qpqjs/services/admin/views/src/main.ts +1 -0
  204. package/template/apps/qpqjs/services/admin/views/tsconfig.app.json +20 -0
  205. package/template/apps/qpqjs/services/admin/views/tsconfig.json +18 -0
  206. package/template/apps/qpqjs/services/admin/x-logic/package.json +22 -0
  207. package/template/apps/qpqjs/services/admin/x-logic/src/index.ts +2 -0
  208. package/template/apps/qpqjs/services/admin/x-logic/tsconfig.json +18 -0
  209. package/template/apps/qpqjs/services/admin/x-logic/tsconfig.lib.json +19 -0
  210. package/template/apps/qpqjs/services/admin/x-models/package.json +22 -0
  211. package/template/apps/qpqjs/services/admin/x-models/src/index.ts +2 -0
  212. package/template/apps/qpqjs/services/admin/x-models/tsconfig.json +18 -0
  213. package/template/apps/qpqjs/services/admin/x-models/tsconfig.lib.json +19 -0
  214. package/template/apps/qpqjs/services/design/config/package.json +22 -0
  215. package/template/apps/qpqjs/services/design/config/src/index.ts +2 -0
  216. package/template/apps/qpqjs/services/design/config/tsconfig.json +18 -0
  217. package/template/apps/qpqjs/services/design/config/tsconfig.lib.json +19 -0
  218. package/template/apps/qpqjs/services/design/models/package.json +22 -0
  219. package/template/apps/qpqjs/services/design/models/src/index.ts +2 -0
  220. package/template/apps/qpqjs/services/design/models/tsconfig.json +18 -0
  221. package/template/apps/qpqjs/services/design/models/tsconfig.lib.json +19 -0
  222. package/template/apps/qpqjs/services/design/service/package.json +9 -0
  223. package/template/apps/qpqjs/services/design/service/src/infrastructure.ts +15 -0
  224. package/template/apps/qpqjs/services/design/service/tsconfig.app.json +17 -0
  225. package/template/apps/qpqjs/services/design/service/tsconfig.json +8 -0
  226. package/template/apps/qpqjs/services/design/service-utils/package.json +22 -0
  227. package/template/apps/qpqjs/services/design/service-utils/src/index.ts +2 -0
  228. package/template/apps/qpqjs/services/design/service-utils/tsconfig.json +18 -0
  229. package/template/apps/qpqjs/services/design/service-utils/tsconfig.lib.json +19 -0
  230. package/template/apps/qpqjs/services/design/shared-logic/package.json +22 -0
  231. package/template/apps/qpqjs/services/design/shared-logic/src/index.ts +2 -0
  232. package/template/apps/qpqjs/services/design/shared-logic/tsconfig.json +18 -0
  233. package/template/apps/qpqjs/services/design/shared-logic/tsconfig.lib.json +19 -0
  234. package/template/apps/qpqjs/services/design/views/package.json +8 -0
  235. package/template/apps/qpqjs/services/design/views/src/app.tsx +7 -0
  236. package/template/apps/qpqjs/services/design/views/src/bootstrap.tsx +14 -0
  237. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/LandingPage.tsx +20 -0
  238. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/CodeWindow.tsx +77 -0
  239. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/Features.tsx +83 -0
  240. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/Footer.tsx +45 -0
  241. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/Hero.tsx +60 -0
  242. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/InstallChip.tsx +27 -0
  243. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/NavBar.tsx +72 -0
  244. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/Packages.tsx +63 -0
  245. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/Pipeline.tsx +58 -0
  246. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/TronGrid.tsx +587 -0
  247. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/YieldLoop.tsx +361 -0
  248. package/template/apps/qpqjs/services/design/views/src/components/LandingPage/landing.css +1170 -0
  249. package/template/apps/qpqjs/services/design/views/src/components/WelcomeScreen/WelcomeScreen.tsx +85 -0
  250. package/template/apps/qpqjs/services/design/views/src/index.html +12 -0
  251. package/template/apps/qpqjs/services/design/views/src/index.ts +1 -0
  252. package/template/apps/qpqjs/services/design/views/src/main.ts +1 -0
  253. package/template/apps/qpqjs/services/design/views/tsconfig.app.json +20 -0
  254. package/template/apps/qpqjs/services/design/views/tsconfig.json +18 -0
  255. package/template/apps/qpqjs/services/design/x-logic/package.json +22 -0
  256. package/template/apps/qpqjs/services/design/x-logic/src/index.ts +2 -0
  257. package/template/apps/qpqjs/services/design/x-logic/tsconfig.json +18 -0
  258. package/template/apps/qpqjs/services/design/x-logic/tsconfig.lib.json +19 -0
  259. package/template/apps/qpqjs/services/design/x-models/package.json +22 -0
  260. package/template/apps/qpqjs/services/design/x-models/src/index.ts +2 -0
  261. package/template/apps/qpqjs/services/design/x-models/tsconfig.json +18 -0
  262. package/template/apps/qpqjs/services/design/x-models/tsconfig.lib.json +19 -0
  263. package/template/apps/qpqjs/services/shell/config/package.json +22 -0
  264. package/template/apps/qpqjs/services/shell/config/src/index.ts +2 -0
  265. package/template/apps/qpqjs/services/shell/config/tsconfig.json +18 -0
  266. package/template/apps/qpqjs/services/shell/config/tsconfig.lib.json +19 -0
  267. package/template/apps/qpqjs/services/shell/models/package.json +22 -0
  268. package/template/apps/qpqjs/services/shell/models/src/index.ts +2 -0
  269. package/template/apps/qpqjs/services/shell/models/tsconfig.json +18 -0
  270. package/template/apps/qpqjs/services/shell/models/tsconfig.lib.json +19 -0
  271. package/template/apps/qpqjs/services/shell/service/package.json +9 -0
  272. package/template/apps/qpqjs/services/shell/service/src/entry/controller/health/health.ts +21 -0
  273. package/template/apps/qpqjs/services/shell/service/src/entry/controller/health/index.ts +1 -0
  274. package/template/apps/qpqjs/services/shell/service/src/entry/controller/index.ts +1 -0
  275. package/template/apps/qpqjs/services/shell/service/src/infrastructure.ts +91 -0
  276. package/template/apps/qpqjs/services/shell/service/tsconfig.app.json +17 -0
  277. package/template/apps/qpqjs/services/shell/service/tsconfig.json +8 -0
  278. package/template/apps/qpqjs/services/shell/service-utils/package.json +22 -0
  279. package/template/apps/qpqjs/services/shell/service-utils/src/index.ts +2 -0
  280. package/template/apps/qpqjs/services/shell/service-utils/tsconfig.json +18 -0
  281. package/template/apps/qpqjs/services/shell/service-utils/tsconfig.lib.json +19 -0
  282. package/template/apps/qpqjs/services/shell/shared-logic/package.json +22 -0
  283. package/template/apps/qpqjs/services/shell/shared-logic/src/index.ts +2 -0
  284. package/template/apps/qpqjs/services/shell/shared-logic/tsconfig.json +18 -0
  285. package/template/apps/qpqjs/services/shell/shared-logic/tsconfig.lib.json +19 -0
  286. package/template/apps/qpqjs/services/shell/views/package.json +8 -0
  287. package/template/apps/qpqjs/services/shell/views/src/app.tsx +6 -0
  288. package/template/apps/qpqjs/services/shell/views/src/bootstrap.tsx +14 -0
  289. package/template/apps/qpqjs/services/shell/views/src/index.html +25 -0
  290. package/template/apps/qpqjs/services/shell/views/src/index.ts +1 -0
  291. package/template/apps/qpqjs/services/shell/views/src/main.ts +1 -0
  292. package/template/apps/qpqjs/services/shell/views/tsconfig.app.json +20 -0
  293. package/template/apps/qpqjs/services/shell/views/tsconfig.json +18 -0
  294. package/template/apps/qpqjs/services/shell/x-logic/package.json +22 -0
  295. package/template/apps/qpqjs/services/shell/x-logic/src/index.ts +2 -0
  296. package/template/apps/qpqjs/services/shell/x-logic/tsconfig.json +18 -0
  297. package/template/apps/qpqjs/services/shell/x-logic/tsconfig.lib.json +19 -0
  298. package/template/apps/qpqjs/services/shell/x-models/package.json +22 -0
  299. package/template/apps/qpqjs/services/shell/x-models/src/index.ts +2 -0
  300. package/template/apps/qpqjs/services/shell/x-models/tsconfig.json +18 -0
  301. package/template/apps/qpqjs/services/shell/x-models/tsconfig.lib.json +19 -0
  302. package/template/apps/qpqjs/tsconfig.federated.json +13 -0
  303. package/template/apps/todo/deploy.config.json +12 -0
  304. package/template/apps/todo/packages/config/package.json +22 -0
  305. package/template/apps/todo/packages/config/src/index.ts +2 -0
  306. package/template/apps/todo/packages/config/tsconfig.json +18 -0
  307. package/template/apps/todo/packages/config/tsconfig.lib.json +19 -0
  308. package/template/apps/todo/packages/constants/package.json +22 -0
  309. package/template/apps/todo/packages/constants/src/TodoServiceEnum.ts +12 -0
  310. package/template/apps/todo/packages/constants/src/domain.ts +1 -0
  311. package/template/apps/todo/packages/constants/src/index.ts +3 -0
  312. package/template/apps/todo/packages/constants/src/userDirectory.ts +3 -0
  313. package/template/apps/todo/packages/constants/tsconfig.json +18 -0
  314. package/template/apps/todo/packages/constants/tsconfig.lib.json +19 -0
  315. package/template/apps/todo/packages/service-utils/package.json +24 -0
  316. package/template/apps/todo/packages/service-utils/src/defineTodoService.ts +128 -0
  317. package/template/apps/todo/packages/service-utils/src/index.ts +1 -0
  318. package/template/apps/todo/packages/service-utils/tsconfig.json +18 -0
  319. package/template/apps/todo/packages/service-utils/tsconfig.lib.json +19 -0
  320. package/template/apps/todo/services/admin/config/package.json +22 -0
  321. package/template/apps/todo/services/admin/config/src/index.ts +2 -0
  322. package/template/apps/todo/services/admin/config/tsconfig.json +18 -0
  323. package/template/apps/todo/services/admin/config/tsconfig.lib.json +19 -0
  324. package/template/apps/todo/services/admin/models/package.json +22 -0
  325. package/template/apps/todo/services/admin/models/src/index.ts +2 -0
  326. package/template/apps/todo/services/admin/models/tsconfig.json +18 -0
  327. package/template/apps/todo/services/admin/models/tsconfig.lib.json +19 -0
  328. package/template/apps/todo/services/admin/service/package.json +9 -0
  329. package/template/apps/todo/services/admin/service/src/infrastructure.ts +15 -0
  330. package/template/apps/todo/services/admin/service/tsconfig.app.json +17 -0
  331. package/template/apps/todo/services/admin/service/tsconfig.json +8 -0
  332. package/template/apps/todo/services/admin/service-utils/package.json +22 -0
  333. package/template/apps/todo/services/admin/service-utils/src/index.ts +2 -0
  334. package/template/apps/todo/services/admin/service-utils/tsconfig.json +18 -0
  335. package/template/apps/todo/services/admin/service-utils/tsconfig.lib.json +19 -0
  336. package/template/apps/todo/services/admin/shared-logic/package.json +22 -0
  337. package/template/apps/todo/services/admin/shared-logic/src/index.ts +2 -0
  338. package/template/apps/todo/services/admin/shared-logic/tsconfig.json +18 -0
  339. package/template/apps/todo/services/admin/shared-logic/tsconfig.lib.json +19 -0
  340. package/template/apps/todo/services/admin/views/package.json +8 -0
  341. package/template/apps/todo/services/admin/views/src/app/app.tsx +39 -0
  342. package/template/apps/todo/services/admin/views/src/assets/.gitkeep +0 -0
  343. package/template/apps/todo/services/admin/views/src/bootstrap.tsx +14 -0
  344. package/template/apps/todo/services/admin/views/src/components/AdminGrid/AdminGrid.tsx +80 -0
  345. package/template/apps/todo/services/admin/views/src/components/AdminGrid/index.ts +1 -0
  346. package/template/apps/todo/services/admin/views/src/components/AdminGrid/styles.ts +41 -0
  347. package/template/apps/todo/services/admin/views/src/components/AdminGrid/types/AdminGridProps.ts +6 -0
  348. package/template/apps/todo/services/admin/views/src/components/index.ts +1 -0
  349. package/template/apps/todo/services/admin/views/src/favicon.ico +0 -0
  350. package/template/apps/todo/services/admin/views/src/hooks/index.ts +1 -0
  351. package/template/apps/todo/services/admin/views/src/hooks/useAdminNetworkRequest/index.ts +1 -0
  352. package/template/apps/todo/services/admin/views/src/hooks/useAdminNetworkRequest/logic/getBaseUrlFromAdminWebHost.ts +7 -0
  353. package/template/apps/todo/services/admin/views/src/hooks/useAdminNetworkRequest/types/AdminNetworkRequestPayload.ts +10 -0
  354. package/template/apps/todo/services/admin/views/src/hooks/useAdminNetworkRequest/useAdminNetworkRequest.ts +18 -0
  355. package/template/apps/todo/services/admin/views/src/index.html +23 -0
  356. package/template/apps/todo/services/admin/views/src/index.ts +2 -0
  357. package/template/apps/todo/services/admin/views/src/main.ts +1 -0
  358. package/template/apps/todo/services/admin/views/tsconfig.app.json +20 -0
  359. package/template/apps/todo/services/admin/views/tsconfig.json +18 -0
  360. package/template/apps/todo/services/admin/x-logic/package.json +22 -0
  361. package/template/apps/todo/services/admin/x-logic/src/index.ts +2 -0
  362. package/template/apps/todo/services/admin/x-logic/tsconfig.json +18 -0
  363. package/template/apps/todo/services/admin/x-logic/tsconfig.lib.json +19 -0
  364. package/template/apps/todo/services/admin/x-models/package.json +22 -0
  365. package/template/apps/todo/services/admin/x-models/src/index.ts +2 -0
  366. package/template/apps/todo/services/admin/x-models/tsconfig.json +18 -0
  367. package/template/apps/todo/services/admin/x-models/tsconfig.lib.json +19 -0
  368. package/template/apps/todo/services/auth/config/package.json +22 -0
  369. package/template/apps/todo/services/auth/config/src/index.ts +2 -0
  370. package/template/apps/todo/services/auth/config/tsconfig.json +18 -0
  371. package/template/apps/todo/services/auth/config/tsconfig.lib.json +19 -0
  372. package/template/apps/todo/services/auth/models/package.json +22 -0
  373. package/template/apps/todo/services/auth/models/src/index.ts +2 -0
  374. package/template/apps/todo/services/auth/models/tsconfig.json +18 -0
  375. package/template/apps/todo/services/auth/models/tsconfig.lib.json +19 -0
  376. package/template/apps/todo/services/auth/service/package.json +9 -0
  377. package/template/apps/todo/services/auth/service/src/infrastructure.ts +15 -0
  378. package/template/apps/todo/services/auth/service/tsconfig.app.json +17 -0
  379. package/template/apps/todo/services/auth/service/tsconfig.json +8 -0
  380. package/template/apps/todo/services/auth/service-utils/package.json +22 -0
  381. package/template/apps/todo/services/auth/service-utils/src/index.ts +2 -0
  382. package/template/apps/todo/services/auth/service-utils/tsconfig.json +18 -0
  383. package/template/apps/todo/services/auth/service-utils/tsconfig.lib.json +19 -0
  384. package/template/apps/todo/services/auth/shared-logic/package.json +22 -0
  385. package/template/apps/todo/services/auth/shared-logic/src/index.ts +2 -0
  386. package/template/apps/todo/services/auth/shared-logic/tsconfig.json +18 -0
  387. package/template/apps/todo/services/auth/shared-logic/tsconfig.lib.json +19 -0
  388. package/template/apps/todo/services/auth/x-logic/package.json +22 -0
  389. package/template/apps/todo/services/auth/x-logic/src/index.ts +2 -0
  390. package/template/apps/todo/services/auth/x-logic/tsconfig.json +18 -0
  391. package/template/apps/todo/services/auth/x-logic/tsconfig.lib.json +19 -0
  392. package/template/apps/todo/services/auth/x-models/package.json +22 -0
  393. package/template/apps/todo/services/auth/x-models/src/index.ts +2 -0
  394. package/template/apps/todo/services/auth/x-models/tsconfig.json +18 -0
  395. package/template/apps/todo/services/auth/x-models/tsconfig.lib.json +19 -0
  396. package/template/apps/todo/services/design/config/package.json +22 -0
  397. package/template/apps/todo/services/design/config/src/index.ts +2 -0
  398. package/template/apps/todo/services/design/config/tsconfig.json +18 -0
  399. package/template/apps/todo/services/design/config/tsconfig.lib.json +19 -0
  400. package/template/apps/todo/services/design/models/package.json +22 -0
  401. package/template/apps/todo/services/design/models/src/index.ts +2 -0
  402. package/template/apps/todo/services/design/models/tsconfig.json +18 -0
  403. package/template/apps/todo/services/design/models/tsconfig.lib.json +19 -0
  404. package/template/apps/todo/services/design/service/package.json +9 -0
  405. package/template/apps/todo/services/design/service/src/infrastructure.ts +15 -0
  406. package/template/apps/todo/services/design/service/tsconfig.app.json +17 -0
  407. package/template/apps/todo/services/design/service/tsconfig.json +8 -0
  408. package/template/apps/todo/services/design/service-utils/package.json +22 -0
  409. package/template/apps/todo/services/design/service-utils/src/index.ts +2 -0
  410. package/template/apps/todo/services/design/service-utils/tsconfig.json +18 -0
  411. package/template/apps/todo/services/design/service-utils/tsconfig.lib.json +19 -0
  412. package/template/apps/todo/services/design/shared-logic/package.json +22 -0
  413. package/template/apps/todo/services/design/shared-logic/src/index.ts +2 -0
  414. package/template/apps/todo/services/design/shared-logic/tsconfig.json +18 -0
  415. package/template/apps/todo/services/design/shared-logic/tsconfig.lib.json +19 -0
  416. package/template/apps/todo/services/design/views/package.json +8 -0
  417. package/template/apps/todo/services/design/views/src/app.tsx +7 -0
  418. package/template/apps/todo/services/design/views/src/bootstrap.tsx +14 -0
  419. package/template/apps/todo/services/design/views/src/components/WelcomeScreen/WelcomeScreen.tsx +85 -0
  420. package/template/apps/todo/services/design/views/src/index.html +12 -0
  421. package/template/apps/todo/services/design/views/src/index.ts +1 -0
  422. package/template/apps/todo/services/design/views/src/main.ts +1 -0
  423. package/template/apps/todo/services/design/views/tsconfig.app.json +20 -0
  424. package/template/apps/todo/services/design/views/tsconfig.json +18 -0
  425. package/template/apps/todo/services/design/x-logic/package.json +22 -0
  426. package/template/apps/todo/services/design/x-logic/src/index.ts +2 -0
  427. package/template/apps/todo/services/design/x-logic/tsconfig.json +18 -0
  428. package/template/apps/todo/services/design/x-logic/tsconfig.lib.json +19 -0
  429. package/template/apps/todo/services/design/x-models/package.json +22 -0
  430. package/template/apps/todo/services/design/x-models/src/index.ts +2 -0
  431. package/template/apps/todo/services/design/x-models/tsconfig.json +18 -0
  432. package/template/apps/todo/services/design/x-models/tsconfig.lib.json +19 -0
  433. package/template/apps/todo/services/shell/config/package.json +22 -0
  434. package/template/apps/todo/services/shell/config/src/index.ts +2 -0
  435. package/template/apps/todo/services/shell/config/tsconfig.json +18 -0
  436. package/template/apps/todo/services/shell/config/tsconfig.lib.json +19 -0
  437. package/template/apps/todo/services/shell/models/package.json +22 -0
  438. package/template/apps/todo/services/shell/models/src/index.ts +2 -0
  439. package/template/apps/todo/services/shell/models/tsconfig.json +18 -0
  440. package/template/apps/todo/services/shell/models/tsconfig.lib.json +19 -0
  441. package/template/apps/todo/services/shell/service/package.json +9 -0
  442. package/template/apps/todo/services/shell/service/src/entry/controller/health/health.ts +21 -0
  443. package/template/apps/todo/services/shell/service/src/entry/controller/health/index.ts +1 -0
  444. package/template/apps/todo/services/shell/service/src/entry/controller/index.ts +1 -0
  445. package/template/apps/todo/services/shell/service/src/infrastructure.ts +75 -0
  446. package/template/apps/todo/services/shell/service/tsconfig.app.json +17 -0
  447. package/template/apps/todo/services/shell/service/tsconfig.json +8 -0
  448. package/template/apps/todo/services/shell/service-utils/package.json +22 -0
  449. package/template/apps/todo/services/shell/service-utils/src/index.ts +2 -0
  450. package/template/apps/todo/services/shell/service-utils/tsconfig.json +18 -0
  451. package/template/apps/todo/services/shell/service-utils/tsconfig.lib.json +19 -0
  452. package/template/apps/todo/services/shell/shared-logic/package.json +22 -0
  453. package/template/apps/todo/services/shell/shared-logic/src/index.ts +2 -0
  454. package/template/apps/todo/services/shell/shared-logic/tsconfig.json +18 -0
  455. package/template/apps/todo/services/shell/shared-logic/tsconfig.lib.json +19 -0
  456. package/template/apps/todo/services/shell/views/package.json +8 -0
  457. package/template/apps/todo/services/shell/views/src/app.tsx +6 -0
  458. package/template/apps/todo/services/shell/views/src/bootstrap.tsx +14 -0
  459. package/template/apps/todo/services/shell/views/src/index.html +19 -0
  460. package/template/apps/todo/services/shell/views/src/index.ts +1 -0
  461. package/template/apps/todo/services/shell/views/src/main.ts +1 -0
  462. package/template/apps/todo/services/shell/views/tsconfig.app.json +20 -0
  463. package/template/apps/todo/services/shell/views/tsconfig.json +18 -0
  464. package/template/apps/todo/services/shell/x-logic/package.json +22 -0
  465. package/template/apps/todo/services/shell/x-logic/src/index.ts +2 -0
  466. package/template/apps/todo/services/shell/x-logic/tsconfig.json +18 -0
  467. package/template/apps/todo/services/shell/x-logic/tsconfig.lib.json +19 -0
  468. package/template/apps/todo/services/shell/x-models/package.json +22 -0
  469. package/template/apps/todo/services/shell/x-models/src/index.ts +2 -0
  470. package/template/apps/todo/services/shell/x-models/tsconfig.json +18 -0
  471. package/template/apps/todo/services/shell/x-models/tsconfig.lib.json +19 -0
  472. package/template/apps/todo/services/todo/config/package.json +22 -0
  473. package/template/apps/todo/services/todo/config/src/index.ts +2 -0
  474. package/template/apps/todo/services/todo/config/tsconfig.json +18 -0
  475. package/template/apps/todo/services/todo/config/tsconfig.lib.json +19 -0
  476. package/template/apps/todo/services/todo/models/package.json +22 -0
  477. package/template/apps/todo/services/todo/models/src/index.ts +2 -0
  478. package/template/apps/todo/services/todo/models/tsconfig.json +18 -0
  479. package/template/apps/todo/services/todo/models/tsconfig.lib.json +19 -0
  480. package/template/apps/todo/services/todo/service/package.json +9 -0
  481. package/template/apps/todo/services/todo/service/src/infrastructure.ts +15 -0
  482. package/template/apps/todo/services/todo/service/tsconfig.app.json +17 -0
  483. package/template/apps/todo/services/todo/service/tsconfig.json +8 -0
  484. package/template/apps/todo/services/todo/service-utils/package.json +22 -0
  485. package/template/apps/todo/services/todo/service-utils/src/index.ts +2 -0
  486. package/template/apps/todo/services/todo/service-utils/tsconfig.json +18 -0
  487. package/template/apps/todo/services/todo/service-utils/tsconfig.lib.json +19 -0
  488. package/template/apps/todo/services/todo/shared-logic/package.json +22 -0
  489. package/template/apps/todo/services/todo/shared-logic/src/index.ts +2 -0
  490. package/template/apps/todo/services/todo/shared-logic/tsconfig.json +18 -0
  491. package/template/apps/todo/services/todo/shared-logic/tsconfig.lib.json +19 -0
  492. package/template/apps/todo/services/todo/views/package.json +8 -0
  493. package/template/apps/todo/services/todo/views/src/app.tsx +7 -0
  494. package/template/apps/todo/services/todo/views/src/bootstrap.tsx +14 -0
  495. package/template/apps/todo/services/todo/views/src/components/TodoList/TodoList.tsx +132 -0
  496. package/template/apps/todo/services/todo/views/src/index.html +11 -0
  497. package/template/apps/todo/services/todo/views/src/index.ts +1 -0
  498. package/template/apps/todo/services/todo/views/src/main.ts +1 -0
  499. package/template/apps/todo/services/todo/views/tsconfig.app.json +20 -0
  500. package/template/apps/todo/services/todo/views/tsconfig.json +18 -0
  501. package/template/apps/todo/services/todo/x-logic/package.json +22 -0
  502. package/template/apps/todo/services/todo/x-logic/src/index.ts +2 -0
  503. package/template/apps/todo/services/todo/x-logic/tsconfig.json +18 -0
  504. package/template/apps/todo/services/todo/x-logic/tsconfig.lib.json +19 -0
  505. package/template/apps/todo/services/todo/x-models/package.json +22 -0
  506. package/template/apps/todo/services/todo/x-models/src/index.ts +2 -0
  507. package/template/apps/todo/services/todo/x-models/tsconfig.json +18 -0
  508. package/template/apps/todo/services/todo/x-models/tsconfig.lib.json +19 -0
  509. package/template/apps/todo/tsconfig.federated.json +13 -0
  510. package/template/docusaurus/DOCUMENTATION_CHECKLIST.md +499 -0
  511. package/template/docusaurus/README.md +41 -0
  512. package/template/docusaurus/blog/2019-05-28-first-blog-post.md +12 -0
  513. package/template/docusaurus/blog/2019-05-29-long-blog-post.md +44 -0
  514. package/template/docusaurus/blog/2021-08-01-mdx-blog-post.mdx +24 -0
  515. package/template/docusaurus/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  516. package/template/docusaurus/blog/2021-08-26-welcome/index.md +29 -0
  517. package/template/docusaurus/blog/authors.yml +25 -0
  518. package/template/docusaurus/blog/tags.yml +19 -0
  519. package/template/docusaurus/docs/actions/core/_category_.json +8 -0
  520. package/template/docusaurus/docs/actions/core/ai/_category_.json +7 -0
  521. package/template/docusaurus/docs/actions/core/ai/ask-ai-prompt-stream.md +96 -0
  522. package/template/docusaurus/docs/actions/core/ai/ask-ai-prompt.md +121 -0
  523. package/template/docusaurus/docs/actions/core/array/_category_.json +7 -0
  524. package/template/docusaurus/docs/actions/core/array/ask-array-some.md +54 -0
  525. package/template/docusaurus/docs/actions/core/array/ask-filter.md +54 -0
  526. package/template/docusaurus/docs/actions/core/array/ask-flat-map-parallel-batch.md +68 -0
  527. package/template/docusaurus/docs/actions/core/array/ask-flat-map.md +56 -0
  528. package/template/docusaurus/docs/actions/core/array/ask-map-parallel-batch.md +67 -0
  529. package/template/docusaurus/docs/actions/core/array/ask-map-parallel.md +57 -0
  530. package/template/docusaurus/docs/actions/core/array/ask-map.md +58 -0
  531. package/template/docusaurus/docs/actions/core/array/ask-reduce.md +57 -0
  532. package/template/docusaurus/docs/actions/core/binary-data/_category_.json +7 -0
  533. package/template/docusaurus/docs/actions/core/binary-data/ask-create-text-qpq-binary-data.md +86 -0
  534. package/template/docusaurus/docs/actions/core/claude-ai/_category_.json +7 -0
  535. package/template/docusaurus/docs/actions/core/claude-ai/ask-claude-ai-messages-api.md +70 -0
  536. package/template/docusaurus/docs/actions/core/config/_category_.json +7 -0
  537. package/template/docusaurus/docs/actions/core/config/ask-config-get-application-info.md +42 -0
  538. package/template/docusaurus/docs/actions/core/config/ask-config-get-global.md +52 -0
  539. package/template/docusaurus/docs/actions/core/config/ask-config-get-parameter.md +52 -0
  540. package/template/docusaurus/docs/actions/core/config/ask-config-get-parameters.md +49 -0
  541. package/template/docusaurus/docs/actions/core/config/ask-config-get-secret.md +54 -0
  542. package/template/docusaurus/docs/actions/core/config/ask-config-list-parameters.md +46 -0
  543. package/template/docusaurus/docs/actions/core/config/ask-config-set-parameter.md +51 -0
  544. package/template/docusaurus/docs/actions/core/config/ask-get-application-version.md +39 -0
  545. package/template/docusaurus/docs/actions/core/context/_category_.json +7 -0
  546. package/template/docusaurus/docs/actions/core/context/ask-context-provide-value.md +78 -0
  547. package/template/docusaurus/docs/actions/core/context/ask-context-read.md +96 -0
  548. package/template/docusaurus/docs/actions/core/date/_category_.json +7 -0
  549. package/template/docusaurus/docs/actions/core/date/ask-date-now.md +50 -0
  550. package/template/docusaurus/docs/actions/core/date/ask-get-current-epoch-ms.md +45 -0
  551. package/template/docusaurus/docs/actions/core/date/ask-get-current-epoch.md +45 -0
  552. package/template/docusaurus/docs/actions/core/date/ask-get-epoch-start-time.md +40 -0
  553. package/template/docusaurus/docs/actions/core/date/ask-seconds-elapsed-from.md +52 -0
  554. package/template/docusaurus/docs/actions/core/date/date-time-math.md +112 -0
  555. package/template/docusaurus/docs/actions/core/error/_category_.json +7 -0
  556. package/template/docusaurus/docs/actions/core/error/ask-throw-error.md +115 -0
  557. package/template/docusaurus/docs/actions/core/event/_category_.json +7 -0
  558. package/template/docusaurus/docs/actions/core/event/ask-process-event.md +77 -0
  559. package/template/docusaurus/docs/actions/core/event-bus/_category_.json +1 -0
  560. package/template/docusaurus/docs/actions/core/event-bus/ask-event-bus-send-messages.md +104 -0
  561. package/template/docusaurus/docs/actions/core/file/_category_.json +7 -0
  562. package/template/docusaurus/docs/actions/core/file/ask-file-delete.md +69 -0
  563. package/template/docusaurus/docs/actions/core/file/ask-file-exists.md +68 -0
  564. package/template/docusaurus/docs/actions/core/file/ask-file-generate-temporary-secure-url.md +75 -0
  565. package/template/docusaurus/docs/actions/core/file/ask-file-generate-temporary-upload-secure-url.md +91 -0
  566. package/template/docusaurus/docs/actions/core/file/ask-file-is-cold-storage.md +72 -0
  567. package/template/docusaurus/docs/actions/core/file/ask-file-list-directory.md +97 -0
  568. package/template/docusaurus/docs/actions/core/file/ask-file-read-binary-contents.md +78 -0
  569. package/template/docusaurus/docs/actions/core/file/ask-file-read-object-json.md +72 -0
  570. package/template/docusaurus/docs/actions/core/file/ask-file-read-text-contents.md +69 -0
  571. package/template/docusaurus/docs/actions/core/file/ask-file-stream-open.md +102 -0
  572. package/template/docusaurus/docs/actions/core/file/ask-file-write-binary-contents.md +98 -0
  573. package/template/docusaurus/docs/actions/core/file/ask-file-write-object-json.md +83 -0
  574. package/template/docusaurus/docs/actions/core/file/ask-file-write-text-contents.md +69 -0
  575. package/template/docusaurus/docs/actions/core/graph-database/_category_.json +7 -0
  576. package/template/docusaurus/docs/actions/core/graph-database/ask-graph-database-execute-open-cypher-query.md +164 -0
  577. package/template/docusaurus/docs/actions/core/graph-database/ask-graph-database-internal-field-names.md +64 -0
  578. package/template/docusaurus/docs/actions/core/guid/_category_.json +7 -0
  579. package/template/docusaurus/docs/actions/core/guid/ask-new-guid.md +45 -0
  580. package/template/docusaurus/docs/actions/core/guid/ask-new-sortable-guid.md +49 -0
  581. package/template/docusaurus/docs/actions/core/inline-function/_category_.json +1 -0
  582. package/template/docusaurus/docs/actions/core/inline-function/ask-inline-function-execute.md +66 -0
  583. package/template/docusaurus/docs/actions/core/json/_category_.json +7 -0
  584. package/template/docusaurus/docs/actions/core/json/ask-decode-json.md +76 -0
  585. package/template/docusaurus/docs/actions/core/key-value-store/_category_.json +1 -0
  586. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-delete.md +57 -0
  587. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-get-all.md +60 -0
  588. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-get.md +73 -0
  589. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-query-all.md +58 -0
  590. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-query-single.md +62 -0
  591. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-query.md +129 -0
  592. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-scan-all.md +56 -0
  593. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-scan.md +71 -0
  594. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-update-partial-properties.md +75 -0
  595. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-update.md +106 -0
  596. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-upsert-with-retry.md +65 -0
  597. package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-upsert.md +71 -0
  598. package/template/docusaurus/docs/actions/core/log/_category_.json +7 -0
  599. package/template/docusaurus/docs/actions/core/log/ask-log-create.md +64 -0
  600. package/template/docusaurus/docs/actions/core/log/ask-log-disable-event-history.md +53 -0
  601. package/template/docusaurus/docs/actions/core/log/ask-log-template-literal.md +55 -0
  602. package/template/docusaurus/docs/actions/core/math/_category_.json +7 -0
  603. package/template/docusaurus/docs/actions/core/math/ask-random-number.md +46 -0
  604. package/template/docusaurus/docs/actions/core/metric/_category_.json +7 -0
  605. package/template/docusaurus/docs/actions/core/metric/ask-metric-put.md +67 -0
  606. package/template/docusaurus/docs/actions/core/network/_category_.json +7 -0
  607. package/template/docusaurus/docs/actions/core/network/ask-network-request.md +95 -0
  608. package/template/docusaurus/docs/actions/core/platform/_category_.json +7 -0
  609. package/template/docusaurus/docs/actions/core/platform/ask-delay.md +48 -0
  610. package/template/docusaurus/docs/actions/core/queue/_category_.json +1 -0
  611. package/template/docusaurus/docs/actions/core/queue/ask-queue-send-messages.md +89 -0
  612. package/template/docusaurus/docs/actions/core/state/_category_.json +7 -0
  613. package/template/docusaurus/docs/actions/core/state/ask-reduce-state.md +160 -0
  614. package/template/docusaurus/docs/actions/core/state/ask-state-dispatch.md +87 -0
  615. package/template/docusaurus/docs/actions/core/state/ask-state-read.md +45 -0
  616. package/template/docusaurus/docs/actions/core/stream/_category_.json +7 -0
  617. package/template/docusaurus/docs/actions/core/stream/ask-stream-close.md +56 -0
  618. package/template/docusaurus/docs/actions/core/stream/ask-stream-map.md +73 -0
  619. package/template/docusaurus/docs/actions/core/stream/ask-stream-process.md +57 -0
  620. package/template/docusaurus/docs/actions/core/stream/ask-stream-read.md +140 -0
  621. package/template/docusaurus/docs/actions/core/system/_category_.json +7 -0
  622. package/template/docusaurus/docs/actions/core/system/ask-batch.md +55 -0
  623. package/template/docusaurus/docs/actions/core/system/ask-catch.md +85 -0
  624. package/template/docusaurus/docs/actions/core/system/ask-execute-if.md +51 -0
  625. package/template/docusaurus/docs/actions/core/system/ask-execute-story.md +56 -0
  626. package/template/docusaurus/docs/actions/core/system/ask-get-runtime-correlation.md +46 -0
  627. package/template/docusaurus/docs/actions/core/system/ask-override-actions.md +76 -0
  628. package/template/docusaurus/docs/actions/core/system/ask-parallel-deprecated.md +55 -0
  629. package/template/docusaurus/docs/actions/core/system/ask-retry.md +72 -0
  630. package/template/docusaurus/docs/actions/core/system/ask-run-parallel.md +62 -0
  631. package/template/docusaurus/docs/actions/core/user-directory/_category_.json +1 -0
  632. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-associate-software-token.md +73 -0
  633. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-authenticate-user.md +124 -0
  634. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-change-password.md +55 -0
  635. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-confirm-email-verification.md +52 -0
  636. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-confirm-forgot-password.md +58 -0
  637. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-create-user.md +72 -0
  638. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-decode-access-token.md +73 -0
  639. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-forgot-password.md +66 -0
  640. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-get-user-attributes-by-user-id.md +53 -0
  641. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-get-user-attributes.md +78 -0
  642. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-get-users-by-attribute.md +59 -0
  643. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-get-users.md +71 -0
  644. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-read-access-token.md +52 -0
  645. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-refresh-token.md +53 -0
  646. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-request-email-verification.md +53 -0
  647. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-respond-to-auth-challenge.md +124 -0
  648. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-set-access-token.md +52 -0
  649. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-set-password.md +55 -0
  650. package/template/docusaurus/docs/actions/core/user-directory/ask-user-directory-set-user-attributes.md +60 -0
  651. package/template/docusaurus/docs/actions/features/_category_.json +1 -0
  652. package/template/docusaurus/docs/actions/features/event-doc/_category_.json +1 -0
  653. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-append-server-event.md +65 -0
  654. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-create.md +112 -0
  655. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-event-append.md +97 -0
  656. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-event-list.md +116 -0
  657. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-event-write.md +50 -0
  658. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-generate-asset-upload-url.md +127 -0
  659. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-get-by-code.md +97 -0
  660. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-get-by-id.md +121 -0
  661. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-get-draft.md +109 -0
  662. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-list.md +53 -0
  663. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-provide-store.md +160 -0
  664. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-resolve-actor.md +107 -0
  665. package/template/docusaurus/docs/actions/features/event-doc/ask-event-doc-soft-delete.md +69 -0
  666. package/template/docusaurus/docs/actions/features/event-doc-ai/_category_.json +1 -0
  667. package/template/docusaurus/docs/actions/features/event-doc-ai/active-chat-state.md +153 -0
  668. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-attachments-validate.md +63 -0
  669. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-chat-history-load.md +95 -0
  670. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-chat-list.md +91 -0
  671. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-chat-requests.md +93 -0
  672. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-context-read.md +84 -0
  673. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-load-chats.md +37 -0
  674. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-new-chat.md +43 -0
  675. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-process-send.md +70 -0
  676. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-select-chat.md +42 -0
  677. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-send-message.md +52 -0
  678. package/template/docusaurus/docs/actions/features/event-doc-ai/ask-event-doc-ai-service-request.md +53 -0
  679. package/template/docusaurus/docs/actions/features/event-doc-ai/chat-list-state.md +179 -0
  680. package/template/docusaurus/docs/actions/features/event-doc-ai/streaming-and-status-state.md +168 -0
  681. package/template/docusaurus/docs/actions/features/validation/_category_.json +1 -0
  682. package/template/docusaurus/docs/actions/features/validation/ask-validate-model-or-throw-error.md +73 -0
  683. package/template/docusaurus/docs/actions/webserver/_category_.json +8 -0
  684. package/template/docusaurus/docs/actions/webserver/admin/_category_.json +1 -0
  685. package/template/docusaurus/docs/actions/webserver/admin/ask-admin-get-log-metadata-children.md +62 -0
  686. package/template/docusaurus/docs/actions/webserver/admin/ask-admin-get-log-metadata.md +67 -0
  687. package/template/docusaurus/docs/actions/webserver/admin/ask-admin-get-log.md +84 -0
  688. package/template/docusaurus/docs/actions/webserver/admin/ask-admin-get-logs.md +96 -0
  689. package/template/docusaurus/docs/actions/webserver/api-key-validation/_category_.json +1 -0
  690. package/template/docusaurus/docs/actions/webserver/api-key-validation/ask-api-key-validation-validate.md +63 -0
  691. package/template/docusaurus/docs/actions/webserver/dns/_category_.json +1 -0
  692. package/template/docusaurus/docs/actions/webserver/dns/ask-dns-list.md +37 -0
  693. package/template/docusaurus/docs/actions/webserver/generic-data-resource/_category_.json +1 -0
  694. package/template/docusaurus/docs/actions/webserver/generic-data-resource/ask-put-generic-data-resource.md +48 -0
  695. package/template/docusaurus/docs/actions/webserver/generic-data-resource/ask-scan-generic-data-resource.md +49 -0
  696. package/template/docusaurus/docs/actions/webserver/open-api-spec/_category_.json +1 -0
  697. package/template/docusaurus/docs/actions/webserver/open-api-spec/ask-get-open-api-spec.md +43 -0
  698. package/template/docusaurus/docs/actions/webserver/route-auth-validation/_category_.json +1 -0
  699. package/template/docusaurus/docs/actions/webserver/route-auth-validation/ask-route-auth-validation-decode.md +65 -0
  700. package/template/docusaurus/docs/actions/webserver/service/_category_.json +1 -0
  701. package/template/docusaurus/docs/actions/webserver/service/ask-service-request.md +69 -0
  702. package/template/docusaurus/docs/actions/webserver/service-function/_category_.json +1 -0
  703. package/template/docusaurus/docs/actions/webserver/service-function/ask-service-function-execute.md +58 -0
  704. package/template/docusaurus/docs/actions/webserver/web-entry/_category_.json +1 -0
  705. package/template/docusaurus/docs/actions/webserver/web-entry/ask-web-entry-invalidate-cache.md +53 -0
  706. package/template/docusaurus/docs/actions/webserver/websocket/_category_.json +1 -0
  707. package/template/docusaurus/docs/actions/webserver/websocket/ask-websocket-send-message.md +71 -0
  708. package/template/docusaurus/docs/actions/xstate/_category_.json +1 -0
  709. package/template/docusaurus/docs/actions/xstate/ask-state-machine-create.md +60 -0
  710. package/template/docusaurus/docs/actions/xstate/ask-state-machine-get-state.md +65 -0
  711. package/template/docusaurus/docs/actions/xstate/ask-state-machine-get.md +57 -0
  712. package/template/docusaurus/docs/actions/xstate/ask-state-machine-send-event.md +69 -0
  713. package/template/docusaurus/docs/api/index.md +17 -0
  714. package/template/docusaurus/docs/architecture-overview.md +690 -0
  715. package/template/docusaurus/docs/config/config-aws/_category_.json +1 -0
  716. package/template/docusaurus/docs/config/config-aws/account-budget.md +117 -0
  717. package/template/docusaurus/docs/config/config-aws/account-cloud-trail.md +75 -0
  718. package/template/docusaurus/docs/config/config-aws/account-security-services.md +91 -0
  719. package/template/docusaurus/docs/config/config-aws/aws-alarm.md +142 -0
  720. package/template/docusaurus/docs/config/config-aws/aws-data-store-removal-policy.md +68 -0
  721. package/template/docusaurus/docs/config/config-aws/aws-dyanmo-override-for-kvs.md +70 -0
  722. package/template/docusaurus/docs/config/config-aws/aws-kms-key.md +100 -0
  723. package/template/docusaurus/docs/config/config-aws/aws-service-account-info.md +114 -0
  724. package/template/docusaurus/docs/config/config-aws/aws-service-dashboard.md +61 -0
  725. package/template/docusaurus/docs/config/config-aws/aws-virtual-network-settings.md +88 -0
  726. package/template/docusaurus/docs/config/config-aws/bootstrap-aws-organization.md +80 -0
  727. package/template/docusaurus/docs/config/config-aws/bootstrap-waf.md +106 -0
  728. package/template/docusaurus/docs/config/config-aws/domain-certificate.md +69 -0
  729. package/template/docusaurus/docs/config/config-aws/event-bus-quick-subscription.md +84 -0
  730. package/template/docusaurus/docs/config/config-aws/waf-protection.md +45 -0
  731. package/template/docusaurus/docs/config/core/_category_.json +8 -0
  732. package/template/docusaurus/docs/config/core/action-processors.md +65 -0
  733. package/template/docusaurus/docs/config/core/ai.md +80 -0
  734. package/template/docusaurus/docs/config/core/api-build-path.md +40 -0
  735. package/template/docusaurus/docs/config/core/application-module.md +58 -0
  736. package/template/docusaurus/docs/config/core/application-name.md +66 -0
  737. package/template/docusaurus/docs/config/core/application-version.md +58 -0
  738. package/template/docusaurus/docs/config/core/claude-ai.md +52 -0
  739. package/template/docusaurus/docs/config/core/config-value.md +38 -0
  740. package/template/docusaurus/docs/config/core/deploy-event.md +94 -0
  741. package/template/docusaurus/docs/config/core/environment-settings.md +67 -0
  742. package/template/docusaurus/docs/config/core/event-bus.md +88 -0
  743. package/template/docusaurus/docs/config/core/federated-module-store.md +61 -0
  744. package/template/docusaurus/docs/config/core/global.md +43 -0
  745. package/template/docusaurus/docs/config/core/graph-database.md +72 -0
  746. package/template/docusaurus/docs/config/core/inline-function.md +61 -0
  747. package/template/docusaurus/docs/config/core/javascript-runtime.md +79 -0
  748. package/template/docusaurus/docs/config/core/key-value-store.md +135 -0
  749. package/template/docusaurus/docs/config/core/module-name.md +46 -0
  750. package/template/docusaurus/docs/config/core/notify-error.md +97 -0
  751. package/template/docusaurus/docs/config/core/parameter.md +53 -0
  752. package/template/docusaurus/docs/config/core/promise-mode.md +39 -0
  753. package/template/docusaurus/docs/config/core/queue.md +112 -0
  754. package/template/docusaurus/docs/config/core/recurring-schedule.md +117 -0
  755. package/template/docusaurus/docs/config/core/secret.md +51 -0
  756. package/template/docusaurus/docs/config/core/service-settings.md +49 -0
  757. package/template/docusaurus/docs/config/core/storage-drive.md +142 -0
  758. package/template/docusaurus/docs/config/core/user-directory.md +189 -0
  759. package/template/docusaurus/docs/config/core/virtual-network.md +60 -0
  760. package/template/docusaurus/docs/config/features/_category_.json +1 -0
  761. package/template/docusaurus/docs/config/features/admin-session-event-doc.md +47 -0
  762. package/template/docusaurus/docs/config/features/admin-settings.md +106 -0
  763. package/template/docusaurus/docs/config/features/admin-user-directory.md +57 -0
  764. package/template/docusaurus/docs/config/features/event-doc-ai.md +104 -0
  765. package/template/docusaurus/docs/config/features/event-doc-routes.md +100 -0
  766. package/template/docusaurus/docs/config/features/event-doc-summary.md +59 -0
  767. package/template/docusaurus/docs/config/features/event-doc.md +75 -0
  768. package/template/docusaurus/docs/config/features/versioned-route.md +85 -0
  769. package/template/docusaurus/docs/config/neo4j/_category_.json +1 -0
  770. package/template/docusaurus/docs/config/neo4j/graph-database-neo4j.md +122 -0
  771. package/template/docusaurus/docs/config/webserver/_category_.json +8 -0
  772. package/template/docusaurus/docs/config/webserver/api-key.md +87 -0
  773. package/template/docusaurus/docs/config/webserver/api.md +75 -0
  774. package/template/docusaurus/docs/config/webserver/auth-system.md +110 -0
  775. package/template/docusaurus/docs/config/webserver/cache.md +94 -0
  776. package/template/docusaurus/docs/config/webserver/certificate.md +64 -0
  777. package/template/docusaurus/docs/config/webserver/default-route-options.md +77 -0
  778. package/template/docusaurus/docs/config/webserver/dns.md +57 -0
  779. package/template/docusaurus/docs/config/webserver/domain-proxy.md +109 -0
  780. package/template/docusaurus/docs/config/webserver/file-upload-settings.md +63 -0
  781. package/template/docusaurus/docs/config/webserver/migration.md +83 -0
  782. package/template/docusaurus/docs/config/webserver/open-api.md +36 -0
  783. package/template/docusaurus/docs/config/webserver/route.md +109 -0
  784. package/template/docusaurus/docs/config/webserver/seed.md +61 -0
  785. package/template/docusaurus/docs/config/webserver/seo.md +72 -0
  786. package/template/docusaurus/docs/config/webserver/service-function.md +69 -0
  787. package/template/docusaurus/docs/config/webserver/state-dispatch-over-websockets.md +42 -0
  788. package/template/docusaurus/docs/config/webserver/storage-drive-cors-settings.md +73 -0
  789. package/template/docusaurus/docs/config/webserver/subdomain-redirect.md +80 -0
  790. package/template/docusaurus/docs/config/webserver/web-entry.md +150 -0
  791. package/template/docusaurus/docs/config/webserver/web-socket-queue.md +88 -0
  792. package/template/docusaurus/docs/config/webserver/websocket.md +110 -0
  793. package/template/docusaurus/docs/config/xstate/_category_.json +1 -0
  794. package/template/docusaurus/docs/config/xstate/state-machine.md +201 -0
  795. package/template/docusaurus/docs/core-concepts.md +23 -0
  796. package/template/docusaurus/docs/getting-started.md +806 -0
  797. package/template/docusaurus/docs/index.md +211 -0
  798. package/template/docusaurus/docs/intro.md +47 -0
  799. package/template/docusaurus/docs/tutorial-basics/_category_.json +8 -0
  800. package/template/docusaurus/docs/tutorial-basics/congratulations.md +23 -0
  801. package/template/docusaurus/docs/tutorial-basics/create-a-blog-post.md +34 -0
  802. package/template/docusaurus/docs/tutorial-basics/create-a-document.md +57 -0
  803. package/template/docusaurus/docs/tutorial-basics/create-a-page.md +43 -0
  804. package/template/docusaurus/docs/tutorial-basics/deploy-your-site.md +31 -0
  805. package/template/docusaurus/docs/tutorial-basics/markdown-features.mdx +152 -0
  806. package/template/docusaurus/docs/tutorial-extras/_category_.json +7 -0
  807. package/template/docusaurus/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
  808. package/template/docusaurus/docs/tutorial-extras/img/localeDropdown.png +0 -0
  809. package/template/docusaurus/docs/tutorial-extras/manage-docs-versions.md +55 -0
  810. package/template/docusaurus/docs/tutorial-extras/translate-your-site.md +88 -0
  811. package/template/docusaurus/docs/use-cases.md +455 -0
  812. package/template/docusaurus/docusaurus.config.ts +181 -0
  813. package/template/docusaurus/gitignore +20 -0
  814. package/template/docusaurus/package.json +49 -0
  815. package/template/docusaurus/sidebars.ts +27 -0
  816. package/template/docusaurus/src/components/HomepageFeatures/index.tsx +72 -0
  817. package/template/docusaurus/src/components/HomepageFeatures/styles.module.css +11 -0
  818. package/template/docusaurus/src/css/custom.css +423 -0
  819. package/template/docusaurus/src/pages/index.module.css +23 -0
  820. package/template/docusaurus/static/.nojekyll +0 -0
  821. package/template/docusaurus/static/img/docusaurus-social-card.jpg +0 -0
  822. package/template/docusaurus/static/img/docusaurus.png +0 -0
  823. package/template/docusaurus/static/img/favicon.ico +0 -0
  824. package/template/docusaurus/static/img/favicon.svg +4 -0
  825. package/template/docusaurus/static/img/logo.svg +1 -0
  826. package/template/docusaurus/static/img/qpq-logo.svg +4 -0
  827. package/template/docusaurus/static/img/undraw_docusaurus_mountain.svg +171 -0
  828. package/template/docusaurus/static/img/undraw_docusaurus_react.svg +170 -0
  829. package/template/docusaurus/static/img/undraw_docusaurus_tree.svg +40 -0
  830. package/template/docusaurus/tsconfig.json +8 -0
  831. package/template/eslint.config.mjs +3 -0
  832. package/template/gitignore +116 -0
  833. package/template/package.json +126 -0
  834. package/template/tsconfig.base.json +23 -0
  835. package/template/tsconfig.json +16 -0
  836. package/template/types/assets.d.ts +3 -0
@@ -0,0 +1,97 @@
1
+ ---
2
+ title: askEventDocGetByCode
3
+ description: Look up an event document by its stable business code — plus id-only and create-on-miss variants.
4
+ ---
5
+
6
+ # askEventDocGetByCode
7
+
8
+ Finds the single non-deleted document in the current collection whose `code` matches — optionally scoped to an owner (matched on `createdBy`). The **code** is a document's stable business key (see [the event-document model](./ask-event-doc-get-by-id.md#the-event-document-model)); it is expected unique within the collection (and any owner scope), so this returns one record or `null`.
9
+
10
+ - **Built from:** [askEventDocList](./ask-event-doc-list.md) filtered in memory by `code` (there is no secondary index on `code`, and the dev key-value store can't query one anyway). Requires the store context — call it inside `askEventDocProvideStore({ storeName, type }, ...)`.
11
+
12
+ ```typescript
13
+ import { askEventDocGetByCode } from 'quidproquo-features';
14
+
15
+ export function* findByCode(code: string) {
16
+ const summary = yield* askEventDocGetByCode(code);
17
+ return summary; // EventDocSummary | null
18
+ }
19
+ ```
20
+
21
+ ## Signature
22
+
23
+ ```typescript
24
+ function* askEventDocGetByCode<T extends EventDocSummary = EventDocSummary>(
25
+ code: string,
26
+ ownerUserId?: string,
27
+ ): AskResponse<Nullable<T>>;
28
+ ```
29
+
30
+ ## Parameters
31
+
32
+ | Parameter | Type | Description |
33
+ | --- | --- | --- |
34
+ | `code` | `string` | The business code to match. |
35
+ | `ownerUserId` | `string` (optional) | When given, only documents whose `createdBy` equals this id are considered — scopes the code's uniqueness to one owner. Omit to search the whole collection. |
36
+
37
+ The generic `T` narrows to a collection-specific extension of [`EventDocSummary`](./ask-event-doc-get-by-id.md#the-summary-record); defaults to `EventDocSummary`.
38
+
39
+ ## Returns
40
+
41
+ `EventDocSummary | null` — the single matching non-deleted record, or `null` when none match.
42
+
43
+ ## Notes
44
+
45
+ - Because `code` is expected unique in scope, **more than one match is treated as a data-integrity error** and throws `ErrorTypeEnum.Conflict` (from quidproquo-core) — it does not pick one arbitrarily.
46
+ - Soft-deleted documents are excluded (this filters via [askEventDocList](./ask-event-doc-list.md)'s default).
47
+
48
+ ---
49
+
50
+ ## askEventDocGetByCodeOrCreate
51
+
52
+ Returns the document with `code` (optionally owner-scoped), **creating it on first use** if none exists. Finds via `askEventDocGetByCode` (so >1 existing match is still a `Conflict`); on a miss it creates the document with the given `name`/`code`/`actor` via [askEventDocCreate](./ask-event-doc-create.md).
53
+
54
+ ```typescript
55
+ function* askEventDocGetByCodeOrCreate(
56
+ code: string,
57
+ name: string,
58
+ actor: EventDocEventActor,
59
+ ownerUserId?: string,
60
+ ): AskResponse<EventDocSummary>;
61
+ ```
62
+
63
+ | Parameter | Type | Description |
64
+ | --- | --- | --- |
65
+ | `code` | `string` | The business code to find or create. |
66
+ | `name` | `string` | Name to give the document if it must be created. |
67
+ | `actor` | [`EventDocEventActor`](./ask-event-doc-create.md#eventdoceventactor) | Who to attribute the creation to (used only on a miss). |
68
+ | `ownerUserId` | `string` (optional) | Owner scope for both the lookup and the `createdBy` match. |
69
+
70
+ **Returns** `EventDocSummary` — the existing or newly created record. Requires the store context.
71
+
72
+ **Not concurrency-safe** — two simultaneous misses both create. Serialise (e.g. queue concurrency 1) or add a conditional create if callers can race.
73
+
74
+ ## askEventDocGetIdByCode
75
+
76
+ A thin convenience over `askEventDocGetByCode` for callers that only need the document's `id` and no per-record policy.
77
+
78
+ ```typescript
79
+ function* askEventDocGetIdByCode(
80
+ code: string,
81
+ ownerUserId?: string,
82
+ ): AskResponse<Nullable<string>>;
83
+ ```
84
+
85
+ | Parameter | Type | Description |
86
+ | --- | --- | --- |
87
+ | `code` | `string` | The business code to look up. |
88
+ | `ownerUserId` | `string` (optional) | Owner scope, as above. |
89
+
90
+ **Returns** `string | null` — the matching document's `id`, or `null` when none match. Inherits the same `Conflict`-on-duplicate behaviour as `askEventDocGetByCode`.
91
+
92
+ ## Related
93
+
94
+ - [askEventDocGetById / askEventDocGetByIdOrThrow](./ask-event-doc-get-by-id.md) — read by generated id instead of business code.
95
+ - [askEventDocCreate](./ask-event-doc-create.md) — the create used on a miss by `askEventDocGetByCodeOrCreate`.
96
+ - [askEventDocList](./ask-event-doc-list.md) — the collection scan these filter over.
97
+ - [defineEventDocSummary](../../../config/features/event-doc-summary.md) — declares the store these read from.
@@ -0,0 +1,121 @@
1
+ ---
2
+ title: askEventDocGetById
3
+ description: Read an event document's summary record by id — nullable, or a load-or-throw variant.
4
+ ---
5
+
6
+ # askEventDocGetById
7
+
8
+ Reads one event document's **summary record** by `id` and returns it, or `null` if no document with that id exists in the current collection. Soft-deleted rows are returned as-is — filtering deleted documents is the caller's concern.
9
+
10
+ - **Built from:** a single-item key-value store query scoped to the collection's `type` + `id`. Requires the store context — call it inside `askEventDocProvideStore({ storeName, type }, ...)`, or from a built-in route where the context is already provided.
11
+
12
+ ```typescript
13
+ import { askEventDocGetById } from 'quidproquo-features';
14
+
15
+ export function* loadArticle(id: string) {
16
+ const summary = yield* askEventDocGetById(id);
17
+ if (!summary) {
18
+ return null; // not found
19
+ }
20
+ return summary;
21
+ }
22
+ ```
23
+
24
+ ## The event-document model
25
+
26
+ An event document is never stored as a mutable blob. Its authoritative state is an **append-only log of events**; the document you read is *derived by folding that log*.
27
+
28
+ - **Summary record** ([`EventDocSummary`](#the-summary-record)) — the queryable projection folded from the log's identity/lifecycle events (`INIT_STATE`, `SET_CODE`, `SET_NAME`, `PUBLISH`, …). It holds identity (`id`, `code`, `name`), audit fields, and a `versions` array. The document's editable **content** is folded separately (on the client) from the same log; the backend never reduces content.
29
+ - **Draft vs published** — the tail (highest) version with no `publishedAt` is the **draft**; a `PUBLISH` event freezes it and starts the next draft. Each version pointer records the `eventIndex` of its last event (its head), so folding events with index ≤ that head reconstructs the version's content as it was. `publishedAt` is when a version was published; `effectiveFrom` is when that publish takes effect (used for as-of time-travel).
30
+ - **Code** — the caller-chosen, stable business key set at create (via `INIT_STATE`) and editable with `SET_CODE`. It stays constant across versions and is expected unique within the collection (and any owner scope), so you can address a document by `code` instead of its generated `id`.
31
+
32
+ The version-pointer reads ([askEventDocGetDraft, askEventDocGetLatestPublished, askEventDocGetPublishedAsOf, askEventDocPublishedEventsAsOf](./ask-event-doc-get-draft.md)) resolve entries in this model.
33
+
34
+ ### The summary record
35
+
36
+ ```typescript
37
+ type EventDocSummary = {
38
+ type: string;
39
+ id: string;
40
+ code: string;
41
+ name: string;
42
+ createdAt: string; // ISO datetime
43
+ updatedAt: string; // ISO datetime
44
+ deletedAt?: string; // set by soft delete
45
+ createdBy: string;
46
+ updatedBy: string;
47
+ versions: EventDocVersion[];
48
+ };
49
+
50
+ type EventDocVersion = {
51
+ version: number;
52
+ eventIndex: number; // log index of this version's head event
53
+ publishedAt?: string; // unset while it is the tail draft
54
+ effectiveFrom?: string; // when the publish takes effect (as-of selection)
55
+ };
56
+ ```
57
+
58
+ ## Signature
59
+
60
+ ```typescript
61
+ function* askEventDocGetById<T extends EventDocSummary = EventDocSummary>(
62
+ id: string,
63
+ ): AskResponse<Nullable<T>>;
64
+ ```
65
+
66
+ ## Parameters
67
+
68
+ | Parameter | Type | Description |
69
+ | --- | --- | --- |
70
+ | `id` | `string` | Id of the document to read. |
71
+
72
+ The generic `T` lets callers narrow to a collection-specific extension of `EventDocSummary`; it defaults to `EventDocSummary`.
73
+
74
+ ## Returns
75
+
76
+ `EventDocSummary | null` — the record, or `null` when no document with that id exists in the collection. Soft-deleted records are returned (not filtered).
77
+
78
+ ---
79
+
80
+ ## askEventDocGetByIdOrThrow
81
+
82
+ Loads the summary record for `id`, throwing `ErrorTypeEnum.NotFound` (from quidproquo-core) instead of returning `null` when it does not exist. Use this in write flows where a missing document is an error.
83
+
84
+ ```typescript
85
+ function* askEventDocGetByIdOrThrow(id: string): AskResponse<EventDocSummary>;
86
+ ```
87
+
88
+ | Parameter | Type | Description |
89
+ | --- | --- | --- |
90
+ | `id` | `string` | Id of the document to load. |
91
+
92
+ **Returns** `EventDocSummary` — always a record; throws `NotFound` otherwise. Requires the store context.
93
+
94
+ ```typescript
95
+ import { askEventDocGetByIdOrThrow } from 'quidproquo-features';
96
+
97
+ export function* renameArticle(id: string) {
98
+ const summary = yield* askEventDocGetByIdOrThrow(id); // throws NotFound if absent
99
+ return summary;
100
+ }
101
+ ```
102
+
103
+ Catch the throw with [askCatch](../../core/system/ask-catch.md) if you want to handle "not found" without an exception:
104
+
105
+ ```typescript
106
+ const outcome = yield* askCatch(askEventDocGetByIdOrThrow(id));
107
+ if (outcome.success) {
108
+ // outcome.result — the EventDocSummary
109
+ } else {
110
+ // outcome.error.errorType === ErrorTypeEnum.NotFound
111
+ }
112
+ ```
113
+
114
+ ## Related
115
+
116
+ - [askEventDocList](./ask-event-doc-list.md) — read every document in the collection.
117
+ - [askEventDocGetByCode](./ask-event-doc-get-by-code.md) — look a document up by its business `code` instead of `id`.
118
+ - [askEventDocGetDraft / …LatestPublished / …PublishedAsOf / …PublishedEventsAsOf](./ask-event-doc-get-draft.md) — resolve a document's versions.
119
+ - [askEventDocCreate](./ask-event-doc-create.md) — create a document. [askEventDocSoftDelete](./ask-event-doc-soft-delete.md) — retire one.
120
+ - [defineEventDocSummary](../../../config/features/event-doc-summary.md) — declares the store these read from.
121
+ - [askCatch](../../core/system/ask-catch.md) — handle thrown errors as a result object.
@@ -0,0 +1,109 @@
1
+ ---
2
+ title: askEventDocGetDraft
3
+ description: Resolve an event document's version pointers — draft, latest published, and as-of time-travel reads.
4
+ ---
5
+
6
+ # askEventDocGetDraft
7
+
8
+ Resolves the current **draft** version pointer for a document by `id`, or `null` if there is no draft (or the document is missing). Together with the three actions below, this is the set of **version reads** over an event document's `versions` history.
9
+
10
+ - **Built from:** [askEventDocGetById](./ask-event-doc-get-by-id.md) plus an in-memory version selector. Requires the store context — call it inside `askEventDocProvideStore({ storeName, type }, ...)`, or from a built-in route where the context is already provided.
11
+
12
+ First, a quick recap of the model (full detail on the [read-by-id page](./ask-event-doc-get-by-id.md#the-event-document-model)): an event document is derived by folding its event log. Each **version** pointer in the summary's `versions` array records the `eventIndex` of its last event (its head) and, once published, its `publishedAt` and `effectiveFrom` times. The tail version with no `publishedAt` is the **draft**; a `PUBLISH` event freezes a version and opens the next draft.
13
+
14
+ ```typescript
15
+ import { askEventDocGetDraft } from 'quidproquo-features';
16
+
17
+ export function* currentDraft(id: string) {
18
+ const draft = yield* askEventDocGetDraft(id);
19
+ return draft; // EventDocVersion | null
20
+ }
21
+ ```
22
+
23
+ ## Signature
24
+
25
+ ```typescript
26
+ function* askEventDocGetDraft(id: string): AskResponse<Nullable<EventDocVersion>>;
27
+ ```
28
+
29
+ ## Parameters
30
+
31
+ | Parameter | Type | Description |
32
+ | --- | --- | --- |
33
+ | `id` | `string` | Id of the document. |
34
+
35
+ ## Returns
36
+
37
+ `EventDocVersion | null` — the draft version pointer (the tail version with no `publishedAt`), or `null` when the document has no draft or does not exist.
38
+
39
+ ### `EventDocVersion`
40
+
41
+ ```typescript
42
+ type EventDocVersion = {
43
+ version: number;
44
+ eventIndex: number; // log index of this version's head event
45
+ publishedAt?: string; // unset while it is the tail draft
46
+ effectiveFrom?: string; // when the publish takes effect (as-of selection)
47
+ };
48
+ ```
49
+
50
+ To fold or render a version's content, fold the log's events with index ≤ its `eventIndex`.
51
+
52
+ ---
53
+
54
+ ## askEventDocGetLatestPublished
55
+
56
+ Resolves the **latest published** version pointer for a document (the highest version that has a `publishedAt`), or `null` if nothing is published yet or the document is missing.
57
+
58
+ ```typescript
59
+ function* askEventDocGetLatestPublished(id: string): AskResponse<Nullable<EventDocVersion>>;
60
+ ```
61
+
62
+ | Parameter | Type | Description |
63
+ | --- | --- | --- |
64
+ | `id` | `string` | Id of the document. |
65
+
66
+ **Returns** `EventDocVersion | null` — the highest version with a `publishedAt`, or `null`.
67
+
68
+ ## askEventDocGetPublishedAsOf
69
+
70
+ Resolves the version **published at or before** a given clock time — as-of-clock time-travel keyed on `publishedAt`. Pass a version's own `publishedAt` to render it as-was, or `now` for the latest. Returns `null` when nothing was published by that time (or the document is missing).
71
+
72
+ ```typescript
73
+ function* askEventDocGetPublishedAsOf(
74
+ id: string,
75
+ clock: QpqIsoDateTime,
76
+ ): AskResponse<Nullable<EventDocVersion>>;
77
+ ```
78
+
79
+ | Parameter | Type | Description |
80
+ | --- | --- | --- |
81
+ | `id` | `string` | Id of the document. |
82
+ | `clock` | `QpqIsoDateTime` | ISO-8601 timestamp to resolve as-of. |
83
+
84
+ **Returns** `EventDocVersion | null` — the highest version with `publishedAt <= clock`, or `null`.
85
+
86
+ ## askEventDocPublishedEventsAsOf
87
+
88
+ Returns the **events** that make up the version published and *effective* at `clock` — the log truncated at that version's head. It resolves the version from the summary via `effectiveFrom` (when the publish takes effect, so a publish scheduled for the future stays invisible until then), then returns every event with `index <= version.eventIndex`. Fold the returned events to get the published, as-of-`clock` content — the generic backbone of a "render published" flow. (This mirrors `askEventDocGetPublishedAsOf`, which returns the version pointer rather than its events, and keys on `publishedAt` rather than `effectiveFrom`.)
89
+
90
+ ```typescript
91
+ function* askEventDocPublishedEventsAsOf(
92
+ id: string,
93
+ clock: QpqIsoDateTime,
94
+ ): AskResponse<Nullable<EventDocEvent[]>>;
95
+ ```
96
+
97
+ | Parameter | Type | Description |
98
+ | --- | --- | --- |
99
+ | `id` | `string` | Id of the document. |
100
+ | `clock` | `QpqIsoDateTime` | ISO-8601 timestamp to resolve the effective version as-of. |
101
+
102
+ **Returns** `EventDocEvent[] | null` — the truncated event log for the effective version, or `null` when the document is missing/deleted or nothing is effective yet. Reads the full log via `askEventDocEventListAll` (quidproquo-features).
103
+
104
+ ## Related
105
+
106
+ - [askEventDocGetById / askEventDocGetByIdOrThrow](./ask-event-doc-get-by-id.md) — read the full summary record (and the model reference).
107
+ - [askEventDocList](./ask-event-doc-list.md) — enumerate a collection's documents.
108
+ - **Publishing / appending events:** `askEventDocEventAppend` (quidproquo-features) advances the log that these reads project.
109
+ - [defineEventDocSummary](../../../config/features/event-doc-summary.md) — declares the store these read from.
@@ -0,0 +1,53 @@
1
+ ---
2
+ title: askEventDocList
3
+ description: List every event document in the current collection, newest-updated first, hiding soft-deleted rows by default.
4
+ ---
5
+
6
+ # askEventDocList
7
+
8
+ Lists the summary records of every document in the current collection (all rows sharing the collection's `type`), sorted by `updatedAt` **descending** (most recently updated first). Soft-deleted documents are hidden unless you opt in.
9
+
10
+ - **Built from:** a key-value store query over the collection's `type`, filtered and sorted in memory. Requires the store context — call it inside `askEventDocProvideStore({ storeName, type }, ...)`, or from a built-in route where the context is already provided.
11
+
12
+ ```typescript
13
+ import { askEventDocList } from 'quidproquo-features';
14
+
15
+ export function* listArticles() {
16
+ const items = yield* askEventDocList(); // newest-updated first, deleted hidden
17
+ return items;
18
+ }
19
+ ```
20
+
21
+ ## Signature
22
+
23
+ ```typescript
24
+ function* askEventDocList<T extends EventDocSummary = EventDocSummary>(
25
+ options?: EventDocListOptions,
26
+ ): AskResponse<T[]>;
27
+ ```
28
+
29
+ ## Parameters
30
+
31
+ ### `options` — `EventDocListOptions` (optional)
32
+
33
+ | Property | Type | Default | Description |
34
+ | --- | --- | --- | --- |
35
+ | `includeDeleted` | `boolean` | `false` | When `true`, soft-deleted documents (those with a `deletedAt`) are included in the result. When `false` (default), they are filtered out. |
36
+
37
+ The generic `T` lets callers narrow to a collection-specific extension of [`EventDocSummary`](./ask-event-doc-get-by-id.md#the-summary-record); it defaults to `EventDocSummary`.
38
+
39
+ ## Returns
40
+
41
+ `EventDocSummary[]` — the collection's records, sorted by `updatedAt` descending. Empty array when the collection has no (visible) documents.
42
+
43
+ ## Notes
44
+
45
+ - Ordering is applied in memory, but the summary store carries a `(type, updatedAt)` index so this stays efficient.
46
+ - Because there is no secondary index on `code`, the code-based reads ([askEventDocGetByCode](./ask-event-doc-get-by-code.md) and friends) list the collection via this action and filter in memory.
47
+
48
+ ## Related
49
+
50
+ - [askEventDocGetById / askEventDocGetByIdOrThrow](./ask-event-doc-get-by-id.md) — read a single document.
51
+ - [askEventDocGetByCode](./ask-event-doc-get-by-code.md) — find one document by its business `code`.
52
+ - [askEventDocSoftDelete](./ask-event-doc-soft-delete.md) — sets the `deletedAt` this action filters on.
53
+ - [defineEventDocSummary](../../../config/features/event-doc-summary.md) — declares the store (and its ordering index) this reads from.
@@ -0,0 +1,160 @@
1
+ ---
2
+ title: askEventDocProvideStore
3
+ description: Provide and read the EventDoc store context that binds the generic event-doc data stories to one collection.
4
+ ---
5
+
6
+ # The EventDoc store context
7
+
8
+ Every generic event-doc data story — [askEventDocEventAppend](./ask-event-doc-event-append.md), the [event readers](./ask-event-doc-event-list.md), the [asset helpers](./ask-event-doc-generate-asset-upload-url.md), `askEventDocGetByIdOrThrow`, and the rest — needs to know **which collection** it is operating on: the events-store name, the record store name, the blob drive, and the document `type`. Rather than thread that through every call, event-doc uses the core context system: you **provide** the store binding once around a sub-story, and the data stories **read** it back internally.
9
+
10
+ This is the same pattern as [askContextProvideValue](../../core/context/ask-context-provide-value.md) / [askContextRead](../../core/context/ask-context-read.md), specialised to an `EventDocStore`. The context is a **local** context (never serialized across a service boundary), and its default is empty — so reads outside a provider return blank fields, which is why [askEventDocResolveStore](#askeventdocresolvestore) exists to fail loudly.
11
+
12
+ ### `EventDocStore` — the binding
13
+
14
+ | Property | Type | Description |
15
+ | --- | --- | --- |
16
+ | `storeName` | `string` | The record (summary) store name for the collection. |
17
+ | `eventsStoreName` | `string` | The events-log store name — by convention `` `${storeName}Events` ``. |
18
+ | `type` | `string` | Pins the document type within a store that can hold several. |
19
+ | `storageDriveName` | `string` | The collection's blob bucket (assets + runtime artifacts), keyed per-doc. |
20
+ | `eventValidator` | `string` (optional) | The collection's append-time validator inline-function name, if configured. |
21
+ | `eventRenderer` | `string` (optional) | The collection's render inline-function name, if configured (powers `GET .../render`). |
22
+
23
+ There are two ways to establish the context — one for custom routes, one for the built-in routes — plus the raw provide/read primitives and a resolver that throws when the binding is missing.
24
+
25
+ ## askEventDocProvideStore
26
+
27
+ Provides the store context for a collection identified by `storeName` + `type`, deriving the events-store and blob-drive names from `storeName`. Use it in a **custom** route (one outside `defineEventDocRoutes`, which has no per-route globals) so its sub-story can call the generic `askEventDocEvent*` / `askEventDocGetByIdOrThrow` data functions. It is the hand-written counterpart to [askEventDocProvideStoreFromGlobals](#askeventdocprovidestorefromglobals).
28
+
29
+ ```typescript
30
+ import { askEventDocProvideStore } from 'quidproquo-features';
31
+
32
+ export function* customAppendRoute(docId: string, input: EventDocEventInput) {
33
+ return yield* askEventDocProvideStore(
34
+ { storeName: 'reports', type: 'report' },
35
+ (function* () {
36
+ const actor = yield* askEventDocResolveActor();
37
+ return yield* askEventDocEventAppend(docId, input, actor);
38
+ })(),
39
+ );
40
+ }
41
+ ```
42
+
43
+ ### Signature
44
+
45
+ ```typescript
46
+ function* askEventDocProvideStore<T>(
47
+ options: EventDocStoreOptions,
48
+ story: AskResponse<T>,
49
+ ): AskResponse<T>;
50
+ ```
51
+
52
+ ### Parameters
53
+
54
+ | Parameter | Type | Description |
55
+ | --- | --- | --- |
56
+ | `options` | `EventDocStoreOptions` | The collection identity, minus the derivable bits — see below. |
57
+ | `story` | `AskResponse<T>` | The sub-story to run with the store context bound. Its return value is passed through. |
58
+
59
+ #### `EventDocStoreOptions`
60
+
61
+ | Property | Type | Description |
62
+ | --- | --- | --- |
63
+ | `storeName` | `string` | The collection's record store name; the events-table and blob-drive names are derived from it. |
64
+ | `type` | `string` | The document type pinned within the store. |
65
+ | `eventValidator` | `string` (optional) | Append-time validator inline-function name. |
66
+ | `eventRenderer` | `string` (optional) | Render inline-function name. |
67
+
68
+ ### Returns
69
+
70
+ `AskResponse<T>` — whatever `story` returns.
71
+
72
+ ## askEventDocProvideStoreFromGlobals
73
+
74
+ The built-in-routes counterpart: bridges the per-route **globals** that `defineEventDocRoutes` sets (store name, events-store name, type, storage drive, and the optional validator/renderer) into the store context, then runs the controller sub-story. Reads each global with [askConfigGetGlobal](../../core/config/ask-config-get-global.md), which throws if a route forgot to set them.
75
+
76
+ ```typescript
77
+ import { askEventDocProvideStoreFromGlobals } from 'quidproquo-features';
78
+
79
+ export function* getEventsController(event: HTTPEvent) {
80
+ return yield* askEventDocProvideStoreFromGlobals(
81
+ (function* () {
82
+ const docId = event.params.id;
83
+ return yield* askEventDocEventList(docId);
84
+ })(),
85
+ );
86
+ }
87
+ ```
88
+
89
+ ### Signature
90
+
91
+ ```typescript
92
+ function* askEventDocProvideStoreFromGlobals<T>(story: AskResponse<T>): AskResponse<T>;
93
+ ```
94
+
95
+ ### Parameters
96
+
97
+ | Parameter | Type | Description |
98
+ | --- | --- | --- |
99
+ | `story` | `AskResponse<T>` | The controller sub-story to run with the store context bound from route globals. |
100
+
101
+ ### Returns
102
+
103
+ `AskResponse<T>` — whatever `story` returns.
104
+
105
+ ## askEventDocStoreProvide
106
+
107
+ The raw context **provider**: binds a fully-formed [`EventDocStore`](#eventdocstore--the-binding) (no derivation) around a sub-story. Built with `createContextProvider`. Both [askEventDocProvideStore](#askeventdocprovidestore) and [askEventDocProvideStoreFromGlobals](#askeventdocprovidestorefromglobals) delegate to it once they have assembled the full store object; call it directly only when you already hold an `EventDocStore`.
108
+
109
+ ### Signature
110
+
111
+ ```typescript
112
+ function* askEventDocStoreProvide<T>(
113
+ store: EventDocStore,
114
+ story: AskResponse<T>,
115
+ ): AskResponse<T>;
116
+ ```
117
+
118
+ ## askEventDocStoreRead
119
+
120
+ The raw context **reader**: returns the currently bound [`EventDocStore`](#eventdocstore--the-binding). Built with `createContextReader`. Outside a provider it returns the **empty default** (blank `storeName` / `type`) rather than throwing — so most callers should prefer [askEventDocResolveStore](#askeventdocresolvestore). Internal data stories that only need one field (e.g. `eventValidator`) read it directly.
121
+
122
+ ### Signature
123
+
124
+ ```typescript
125
+ function* askEventDocStoreRead(): AskResponse<EventDocStore>;
126
+ ```
127
+
128
+ ## askEventDocResolveStore
129
+
130
+ Reads the store context and **throws if it was not provided** — a plain read otherwise silently returns the empty default and the data stories would target a blank store. This is the safe accessor the event/asset data stories use to get the store; it validates that `storeName` and `type` are set.
131
+
132
+ ```typescript
133
+ import { askEventDocResolveStore } from 'quidproquo-features';
134
+
135
+ export function* eventsStoreName() {
136
+ const { eventsStoreName } = yield* askEventDocResolveStore();
137
+ return eventsStoreName;
138
+ }
139
+ ```
140
+
141
+ ### Signature
142
+
143
+ ```typescript
144
+ function* askEventDocResolveStore(): AskResponse<EventDocStore>;
145
+ ```
146
+
147
+ ### Returns
148
+
149
+ `AskResponse<EventDocStore>` — the bound store binding.
150
+
151
+ ### Notes
152
+
153
+ - Throws `ErrorTypeEnum.GenericError` when `storeName` or `type` is missing, with the message: *"EventDoc store context was not provided. Wrap the call in askEventDocStoreProvide(...)"*.
154
+
155
+ ## Related
156
+
157
+ - [askContextProvideValue](../../core/context/ask-context-provide-value.md) / [askContextRead](../../core/context/ask-context-read.md) — the core context system this specialises.
158
+ - [askConfigGetGlobal](../../core/config/ask-config-get-global.md) — reads the per-route globals `askEventDocProvideStoreFromGlobals` bridges.
159
+ - [askEventDocEventAppend](./ask-event-doc-event-append.md) · [event readers](./ask-event-doc-event-list.md) · [asset helpers](./ask-event-doc-generate-asset-upload-url.md) — the data stories that require this context.
160
+ - [askEventDocResolveActor / ResolveUserId / ParseBody](./ask-event-doc-resolve-actor.md) — the other request-time helpers used in controllers.
@@ -0,0 +1,107 @@
1
+ ---
2
+ title: askEventDocResolveActor
3
+ description: Request-time helpers for event-doc route controllers — resolve the acting user from the access token and parse the request body.
4
+ ---
5
+
6
+ # Request helpers
7
+
8
+ Small helpers used inside event-doc route controllers to turn an authenticated HTTP request into the pieces an append needs: who is acting, and the parsed body. `askEventDocResolveActor` and `askEventDocResolveUserId` both read the already-validated access token (route auth gated the request), so they stamp provenance without a separate user lookup; `askEventDocParseBody` parses JSON safely.
9
+
10
+ ## askEventDocResolveActor
11
+
12
+ Resolves the acting user as an `EventDocEventActor` — `{ userId, userDisplayName }` — straight off the validated access token (which carries the username). The natural source for the `actor` argument of [askEventDocEventAppend](./ask-event-doc-event-append.md) and [askEventDocAppendServerEvent](./ask-event-doc-append-server-event.md).
13
+
14
+ - **Built from:** [askConfigGetGlobal](../../core/config/ask-config-get-global.md) (the user-directory global) + [askUserDirectoryReadAccessToken](../../core/user-directory/ask-user-directory-read-access-token.md). Not a single action.
15
+
16
+ ```typescript
17
+ import { askEventDocResolveActor } from 'quidproquo-features';
18
+
19
+ export function* appendController(docId: string, input: EventDocEventInput) {
20
+ const actor = yield* askEventDocResolveActor();
21
+ return yield* askEventDocEventAppend(docId, input, actor);
22
+ }
23
+ ```
24
+
25
+ ### Signature
26
+
27
+ ```typescript
28
+ function* askEventDocResolveActor(): AskResponse<EventDocEventActor>;
29
+ ```
30
+
31
+ ### Returns
32
+
33
+ `AskResponse<EventDocEventActor>` — `{ userId, userDisplayName }`. `userId` is the stable authoritative key; `userDisplayName` is the token's username, captured for display at append time.
34
+
35
+ ### Notes
36
+
37
+ - Throws `ErrorTypeEnum.Unauthorized` ("User not authenticated") when the token has no `userId`.
38
+ - Reads the user directory named by the `eventDocUserDirectory` route global.
39
+
40
+ ## askEventDocResolveUserId
41
+
42
+ Resolves just the acting user's id — a `string` — from the same validated access token. Use it where only the id is needed (e.g. stamping `createdBy` / `updatedBy` on a record) rather than the full actor.
43
+
44
+ - **Built from:** [askConfigGetGlobal](../../core/config/ask-config-get-global.md) + [askUserDirectoryReadAccessToken](../../core/user-directory/ask-user-directory-read-access-token.md). Not a single action.
45
+
46
+ ```typescript
47
+ import { askEventDocResolveUserId } from 'quidproquo-features';
48
+
49
+ export function* whoAmI() {
50
+ return yield* askEventDocResolveUserId(); // string userId
51
+ }
52
+ ```
53
+
54
+ ### Signature
55
+
56
+ ```typescript
57
+ function* askEventDocResolveUserId(): AskResponse<string>;
58
+ ```
59
+
60
+ ### Returns
61
+
62
+ `AskResponse<string>` — the acting user's id.
63
+
64
+ ### Notes
65
+
66
+ - Throws `ErrorTypeEnum.Unauthorized` ("User not authenticated") when the token has no `userId`.
67
+
68
+ ## askEventDocParseBody
69
+
70
+ Parses an HTTP request body as JSON, transparently base64-decoding it first when the event is base64-encoded, and throwing on malformed input. A typed convenience for controllers reading a JSON POST body (e.g. an `EventDocEventInput`).
71
+
72
+ ```typescript
73
+ import { askEventDocParseBody } from 'quidproquo-features';
74
+ import { HTTPEvent } from 'quidproquo-webserver';
75
+
76
+ export function* appendRoute(event: HTTPEvent) {
77
+ const input = yield* askEventDocParseBody<EventDocEventInput>(event);
78
+ // ... use input
79
+ }
80
+ ```
81
+
82
+ ### Signature
83
+
84
+ ```typescript
85
+ function* askEventDocParseBody<T extends object>(event: HTTPEvent): AskResponse<T>;
86
+ ```
87
+
88
+ ### Parameters
89
+
90
+ | Parameter | Type | Description |
91
+ | --- | --- | --- |
92
+ | `event` | `HTTPEvent` | The incoming HTTP event (from `quidproquo-webserver`); its `body` / `isBase64Encoded` fields are read. |
93
+
94
+ ### Returns
95
+
96
+ `AskResponse<T>` — the parsed body, cast to `T`. An absent body parses as `{}`.
97
+
98
+ ### Notes
99
+
100
+ - Throws `ErrorTypeEnum.BadRequest` ("Invalid JSON request body") when the body is not valid JSON or does not parse to an object.
101
+
102
+ ## Related
103
+
104
+ - [askEventDocEventAppend](./ask-event-doc-event-append.md) — consumes the resolved actor and parsed body.
105
+ - [askEventDocAppendServerEvent](./ask-event-doc-append-server-event.md) — also takes a resolved actor.
106
+ - [askEventDocProvideStore](./ask-event-doc-provide-store.md) — the store context controllers establish alongside these helpers.
107
+ - [askUserDirectoryReadAccessToken](../../core/user-directory/ask-user-directory-read-access-token.md) — the core action the actor/user resolvers read.