@knowzai/cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/assets/portable/.env.example +3 -0
  2. package/assets/portable/docker-compose.yml +18 -0
  3. package/assets/portable/releases.json +22 -0
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/base-command.d.ts +21 -2
  6. package/dist/base-command.d.ts.map +1 -1
  7. package/dist/base-command.js +47 -4
  8. package/dist/base-command.js.map +1 -1
  9. package/dist/commands/ask.d.ts.map +1 -1
  10. package/dist/commands/ask.js +5 -1
  11. package/dist/commands/ask.js.map +1 -1
  12. package/dist/commands/auth/status.d.ts +1 -1
  13. package/dist/commands/auth/status.d.ts.map +1 -1
  14. package/dist/commands/auth/status.js +4 -0
  15. package/dist/commands/auth/status.js.map +1 -1
  16. package/dist/commands/chat.d.ts +5 -0
  17. package/dist/commands/chat.d.ts.map +1 -1
  18. package/dist/commands/chat.js +32 -13
  19. package/dist/commands/chat.js.map +1 -1
  20. package/dist/commands/config/get.d.ts.map +1 -1
  21. package/dist/commands/config/get.js +3 -1
  22. package/dist/commands/config/get.js.map +1 -1
  23. package/dist/commands/config/list.d.ts.map +1 -1
  24. package/dist/commands/config/list.js +12 -4
  25. package/dist/commands/config/list.js.map +1 -1
  26. package/dist/commands/doctor.js +1 -1
  27. package/dist/commands/doctor.js.map +1 -1
  28. package/dist/commands/export.d.ts +27 -0
  29. package/dist/commands/export.d.ts.map +1 -0
  30. package/dist/commands/export.js +155 -0
  31. package/dist/commands/export.js.map +1 -0
  32. package/dist/commands/import.d.ts +27 -0
  33. package/dist/commands/import.d.ts.map +1 -0
  34. package/dist/commands/import.js +124 -0
  35. package/dist/commands/import.js.map +1 -0
  36. package/dist/commands/index/scan.d.ts.map +1 -1
  37. package/dist/commands/index/scan.js +24 -5
  38. package/dist/commands/index/scan.js.map +1 -1
  39. package/dist/commands/knowledge/amend.d.ts +1 -0
  40. package/dist/commands/knowledge/amend.d.ts.map +1 -1
  41. package/dist/commands/knowledge/amend.js +11 -2
  42. package/dist/commands/knowledge/amend.js.map +1 -1
  43. package/dist/commands/knowledge/attach.d.ts +19 -0
  44. package/dist/commands/knowledge/attach.d.ts.map +1 -0
  45. package/dist/commands/knowledge/attach.js +51 -0
  46. package/dist/commands/knowledge/attach.js.map +1 -0
  47. package/dist/commands/knowledge/create.d.ts +9 -1
  48. package/dist/commands/knowledge/create.d.ts.map +1 -1
  49. package/dist/commands/knowledge/create.js +26 -4
  50. package/dist/commands/knowledge/create.js.map +1 -1
  51. package/dist/commands/knowledge/update.d.ts +1 -0
  52. package/dist/commands/knowledge/update.d.ts.map +1 -1
  53. package/dist/commands/knowledge/update.js +4 -1
  54. package/dist/commands/knowledge/update.js.map +1 -1
  55. package/dist/commands/login.d.ts +19 -3
  56. package/dist/commands/login.d.ts.map +1 -1
  57. package/dist/commands/login.js +113 -64
  58. package/dist/commands/login.js.map +1 -1
  59. package/dist/commands/logout.d.ts +2 -0
  60. package/dist/commands/logout.d.ts.map +1 -1
  61. package/dist/commands/logout.js +35 -1
  62. package/dist/commands/logout.js.map +1 -1
  63. package/dist/commands/mcp/serve.d.ts +16 -0
  64. package/dist/commands/mcp/serve.d.ts.map +1 -0
  65. package/dist/commands/mcp/serve.js +50 -0
  66. package/dist/commands/mcp/serve.js.map +1 -0
  67. package/dist/commands/menu.d.ts.map +1 -1
  68. package/dist/commands/menu.js +39 -3
  69. package/dist/commands/menu.js.map +1 -1
  70. package/dist/commands/peer/accept-fingerprint.d.ts +17 -0
  71. package/dist/commands/peer/accept-fingerprint.d.ts.map +1 -0
  72. package/dist/commands/peer/accept-fingerprint.js +35 -0
  73. package/dist/commands/peer/accept-fingerprint.js.map +1 -0
  74. package/dist/commands/peer/add.d.ts +22 -0
  75. package/dist/commands/peer/add.d.ts.map +1 -0
  76. package/dist/commands/peer/add.js +44 -0
  77. package/dist/commands/peer/add.js.map +1 -0
  78. package/dist/commands/peer/cancel.d.ts +13 -0
  79. package/dist/commands/peer/cancel.d.ts.map +1 -0
  80. package/dist/commands/peer/cancel.js +20 -0
  81. package/dist/commands/peer/cancel.js.map +1 -0
  82. package/dist/commands/peer/link.d.ts +16 -0
  83. package/dist/commands/peer/link.d.ts.map +1 -0
  84. package/dist/commands/peer/link.js +32 -0
  85. package/dist/commands/peer/link.js.map +1 -0
  86. package/dist/commands/peer/links.d.ts +12 -0
  87. package/dist/commands/peer/links.d.ts.map +1 -0
  88. package/dist/commands/peer/links.js +25 -0
  89. package/dist/commands/peer/links.js.map +1 -0
  90. package/dist/commands/peer/list.d.ts +10 -0
  91. package/dist/commands/peer/list.d.ts.map +1 -0
  92. package/dist/commands/peer/list.js +22 -0
  93. package/dist/commands/peer/list.js.map +1 -0
  94. package/dist/commands/peer/pull.d.ts +19 -0
  95. package/dist/commands/peer/pull.d.ts.map +1 -0
  96. package/dist/commands/peer/pull.js +30 -0
  97. package/dist/commands/peer/pull.js.map +1 -0
  98. package/dist/commands/peer/push.d.ts +19 -0
  99. package/dist/commands/peer/push.d.ts.map +1 -0
  100. package/dist/commands/peer/push.js +30 -0
  101. package/dist/commands/peer/push.js.map +1 -0
  102. package/dist/commands/peer/remove.d.ts +12 -0
  103. package/dist/commands/peer/remove.d.ts.map +1 -0
  104. package/dist/commands/peer/remove.js +19 -0
  105. package/dist/commands/peer/remove.js.map +1 -0
  106. package/dist/commands/peer/rotate-key.d.ts +14 -0
  107. package/dist/commands/peer/rotate-key.d.ts.map +1 -0
  108. package/dist/commands/peer/rotate-key.js +26 -0
  109. package/dist/commands/peer/rotate-key.js.map +1 -0
  110. package/dist/commands/peer/run.d.ts +13 -0
  111. package/dist/commands/peer/run.d.ts.map +1 -0
  112. package/dist/commands/peer/run.js +31 -0
  113. package/dist/commands/peer/run.js.map +1 -0
  114. package/dist/commands/peer/runs.d.ts +15 -0
  115. package/dist/commands/peer/runs.d.ts.map +1 -0
  116. package/dist/commands/peer/runs.js +32 -0
  117. package/dist/commands/peer/runs.js.map +1 -0
  118. package/dist/commands/peer/test.d.ts +13 -0
  119. package/dist/commands/peer/test.d.ts.map +1 -0
  120. package/dist/commands/peer/test.js +30 -0
  121. package/dist/commands/peer/test.js.map +1 -0
  122. package/dist/commands/peer/unlink.d.ts +13 -0
  123. package/dist/commands/peer/unlink.d.ts.map +1 -0
  124. package/dist/commands/peer/unlink.js +20 -0
  125. package/dist/commands/peer/unlink.js.map +1 -0
  126. package/dist/commands/pg/status.d.ts.map +1 -1
  127. package/dist/commands/pg/status.js +6 -3
  128. package/dist/commands/pg/status.js.map +1 -1
  129. package/dist/commands/pg/up.d.ts.map +1 -1
  130. package/dist/commands/pg/up.js +9 -4
  131. package/dist/commands/pg/up.js.map +1 -1
  132. package/dist/commands/platform/status.d.ts.map +1 -1
  133. package/dist/commands/platform/status.js +4 -4
  134. package/dist/commands/platform/status.js.map +1 -1
  135. package/dist/commands/profile/purge.d.ts +20 -0
  136. package/dist/commands/profile/purge.d.ts.map +1 -0
  137. package/dist/commands/profile/purge.js +43 -0
  138. package/dist/commands/profile/purge.js.map +1 -0
  139. package/dist/commands/repo/context.d.ts.map +1 -1
  140. package/dist/commands/repo/context.js +3 -1
  141. package/dist/commands/repo/context.js.map +1 -1
  142. package/dist/commands/repo/graph.d.ts +3 -6
  143. package/dist/commands/repo/graph.d.ts.map +1 -1
  144. package/dist/commands/repo/graph.js +24 -40
  145. package/dist/commands/repo/graph.js.map +1 -1
  146. package/dist/commands/repo/index/index.d.ts +1 -0
  147. package/dist/commands/repo/index/index.d.ts.map +1 -1
  148. package/dist/commands/repo/index/index.js +100 -12
  149. package/dist/commands/repo/index/index.js.map +1 -1
  150. package/dist/commands/repo/search.d.ts.map +1 -1
  151. package/dist/commands/repo/search.js +2 -0
  152. package/dist/commands/repo/search.js.map +1 -1
  153. package/dist/commands/repo/setup.d.ts +9 -2
  154. package/dist/commands/repo/setup.d.ts.map +1 -1
  155. package/dist/commands/repo/setup.js +84 -8
  156. package/dist/commands/repo/setup.js.map +1 -1
  157. package/dist/commands/status.d.ts +4 -0
  158. package/dist/commands/status.d.ts.map +1 -1
  159. package/dist/commands/status.js +21 -3
  160. package/dist/commands/status.js.map +1 -1
  161. package/dist/commands/transfer.d.ts +30 -0
  162. package/dist/commands/transfer.d.ts.map +1 -0
  163. package/dist/commands/transfer.js +140 -0
  164. package/dist/commands/transfer.js.map +1 -0
  165. package/dist/commands/tui.js +1 -1
  166. package/dist/commands/tui.js.map +1 -1
  167. package/dist/commands/up.d.ts +5 -2
  168. package/dist/commands/up.d.ts.map +1 -1
  169. package/dist/commands/up.js +41 -12
  170. package/dist/commands/up.js.map +1 -1
  171. package/dist/lib/attach.d.ts +48 -0
  172. package/dist/lib/attach.d.ts.map +1 -0
  173. package/dist/lib/attach.js +91 -0
  174. package/dist/lib/attach.js.map +1 -0
  175. package/dist/lib/chat-render.d.ts +39 -0
  176. package/dist/lib/chat-render.d.ts.map +1 -0
  177. package/dist/lib/chat-render.js +77 -0
  178. package/dist/lib/chat-render.js.map +1 -0
  179. package/dist/lib/cmek-guard.d.ts +52 -0
  180. package/dist/lib/cmek-guard.d.ts.map +1 -0
  181. package/dist/lib/cmek-guard.js +73 -0
  182. package/dist/lib/cmek-guard.js.map +1 -0
  183. package/dist/lib/content.d.ts +7 -0
  184. package/dist/lib/content.d.ts.map +1 -1
  185. package/dist/lib/content.js +9 -2
  186. package/dist/lib/content.js.map +1 -1
  187. package/dist/lib/credential-purge.d.ts +52 -0
  188. package/dist/lib/credential-purge.d.ts.map +1 -0
  189. package/dist/lib/credential-purge.js +37 -0
  190. package/dist/lib/credential-purge.js.map +1 -0
  191. package/dist/lib/ingest.d.ts.map +1 -1
  192. package/dist/lib/ingest.js +7 -3
  193. package/dist/lib/ingest.js.map +1 -1
  194. package/dist/lib/local-mcp-server.d.ts +82 -0
  195. package/dist/lib/local-mcp-server.d.ts.map +1 -0
  196. package/dist/lib/local-mcp-server.js +252 -0
  197. package/dist/lib/local-mcp-server.js.map +1 -0
  198. package/dist/lib/local-mcp-stdio.d.ts +8 -0
  199. package/dist/lib/local-mcp-stdio.d.ts.map +1 -0
  200. package/dist/lib/local-mcp-stdio.js +50 -0
  201. package/dist/lib/local-mcp-stdio.js.map +1 -0
  202. package/dist/lib/login-guided.d.ts +20 -0
  203. package/dist/lib/login-guided.d.ts.map +1 -0
  204. package/dist/lib/login-guided.js +89 -0
  205. package/dist/lib/login-guided.js.map +1 -0
  206. package/dist/lib/login.d.ts +58 -12
  207. package/dist/lib/login.d.ts.map +1 -1
  208. package/dist/lib/login.js +170 -12
  209. package/dist/lib/login.js.map +1 -1
  210. package/dist/lib/onboarding.d.ts +56 -0
  211. package/dist/lib/onboarding.d.ts.map +1 -0
  212. package/dist/lib/onboarding.js +67 -0
  213. package/dist/lib/onboarding.js.map +1 -0
  214. package/dist/lib/peer-command.d.ts +51 -0
  215. package/dist/lib/peer-command.d.ts.map +1 -0
  216. package/dist/lib/peer-command.js +120 -0
  217. package/dist/lib/peer-command.js.map +1 -0
  218. package/dist/lib/peer-support.d.ts +67 -0
  219. package/dist/lib/peer-support.d.ts.map +1 -0
  220. package/dist/lib/peer-support.js +154 -0
  221. package/dist/lib/peer-support.js.map +1 -0
  222. package/dist/lib/platform-frontdoor-runtime.d.ts.map +1 -1
  223. package/dist/lib/platform-frontdoor-runtime.js +4 -0
  224. package/dist/lib/platform-frontdoor-runtime.js.map +1 -1
  225. package/dist/lib/platform-frontdoor.d.ts +18 -2
  226. package/dist/lib/platform-frontdoor.d.ts.map +1 -1
  227. package/dist/lib/platform-frontdoor.js +148 -9
  228. package/dist/lib/platform-frontdoor.js.map +1 -1
  229. package/dist/lib/platform-lifecycle.d.ts +7 -0
  230. package/dist/lib/platform-lifecycle.d.ts.map +1 -1
  231. package/dist/lib/platform-lifecycle.js +14 -3
  232. package/dist/lib/platform-lifecycle.js.map +1 -1
  233. package/dist/lib/platform-onboarding.d.ts +1 -0
  234. package/dist/lib/platform-onboarding.d.ts.map +1 -1
  235. package/dist/lib/platform-onboarding.js +13 -2
  236. package/dist/lib/platform-onboarding.js.map +1 -1
  237. package/dist/lib/platform-profile-purge.d.ts +1 -1
  238. package/dist/lib/platform-profile-purge.d.ts.map +1 -1
  239. package/dist/lib/platform-profile-purge.js +2 -1
  240. package/dist/lib/platform-profile-purge.js.map +1 -1
  241. package/dist/lib/platform-provider-prompt.d.ts +4 -0
  242. package/dist/lib/platform-provider-prompt.d.ts.map +1 -1
  243. package/dist/lib/platform-provider-prompt.js +4 -0
  244. package/dist/lib/platform-provider-prompt.js.map +1 -1
  245. package/dist/lib/platform-release-manifest.d.ts +14 -0
  246. package/dist/lib/platform-release-manifest.d.ts.map +1 -1
  247. package/dist/lib/platform-release-manifest.js +24 -0
  248. package/dist/lib/platform-release-manifest.js.map +1 -1
  249. package/dist/lib/portability-shared.d.ts +49 -0
  250. package/dist/lib/portability-shared.d.ts.map +1 -0
  251. package/dist/lib/portability-shared.js +220 -0
  252. package/dist/lib/portability-shared.js.map +1 -0
  253. package/dist/lib/project-mcp-config.d.ts +14 -0
  254. package/dist/lib/project-mcp-config.d.ts.map +1 -0
  255. package/dist/lib/project-mcp-config.js +78 -0
  256. package/dist/lib/project-mcp-config.js.map +1 -0
  257. package/dist/lib/release-package-graph.d.ts +154 -0
  258. package/dist/lib/release-package-graph.d.ts.map +1 -0
  259. package/dist/lib/release-package-graph.js +249 -0
  260. package/dist/lib/release-package-graph.js.map +1 -0
  261. package/dist/lib/repo-binding.d.ts +7 -2
  262. package/dist/lib/repo-binding.d.ts.map +1 -1
  263. package/dist/lib/repo-binding.js +131 -18
  264. package/dist/lib/repo-binding.js.map +1 -1
  265. package/dist/lib/repo-command-support.d.ts +3 -1
  266. package/dist/lib/repo-command-support.d.ts.map +1 -1
  267. package/dist/lib/repo-command-support.js.map +1 -1
  268. package/dist/lib/repo-local-mcp-backend.d.ts +65 -0
  269. package/dist/lib/repo-local-mcp-backend.d.ts.map +1 -0
  270. package/dist/lib/repo-local-mcp-backend.js +288 -0
  271. package/dist/lib/repo-local-mcp-backend.js.map +1 -0
  272. package/dist/lib/repo-local-mcp-runtime.d.ts +17 -0
  273. package/dist/lib/repo-local-mcp-runtime.d.ts.map +1 -0
  274. package/dist/lib/repo-local-mcp-runtime.js +136 -0
  275. package/dist/lib/repo-local-mcp-runtime.js.map +1 -0
  276. package/dist/lib/repo-scope-migration.d.ts +4 -0
  277. package/dist/lib/repo-scope-migration.d.ts.map +1 -0
  278. package/dist/lib/repo-scope-migration.js +55 -0
  279. package/dist/lib/repo-scope-migration.js.map +1 -0
  280. package/dist/lib/repo-scope.d.ts +9 -0
  281. package/dist/lib/repo-scope.d.ts.map +1 -0
  282. package/dist/lib/repo-scope.js +15 -0
  283. package/dist/lib/repo-scope.js.map +1 -0
  284. package/dist/lib/safe-file.d.ts +141 -0
  285. package/dist/lib/safe-file.d.ts.map +1 -0
  286. package/dist/lib/safe-file.js +296 -0
  287. package/dist/lib/safe-file.js.map +1 -0
  288. package/dist/lib/setup-console.d.ts +1 -1
  289. package/dist/lib/setup-console.d.ts.map +1 -1
  290. package/dist/lib/setup-console.js +3 -1
  291. package/dist/lib/setup-console.js.map +1 -1
  292. package/dist/lib/setup-page.d.ts.map +1 -1
  293. package/dist/lib/setup-page.js +18 -6
  294. package/dist/lib/setup-page.js.map +1 -1
  295. package/dist/lib/setup-plan.d.ts +2 -1
  296. package/dist/lib/setup-plan.d.ts.map +1 -1
  297. package/dist/lib/setup-plan.js +9 -2
  298. package/dist/lib/setup-plan.js.map +1 -1
  299. package/dist/lib/setup-server.d.ts.map +1 -1
  300. package/dist/lib/setup-server.js +13 -3
  301. package/dist/lib/setup-server.js.map +1 -1
  302. package/dist/lib/sso-login.d.ts +42 -0
  303. package/dist/lib/sso-login.d.ts.map +1 -0
  304. package/dist/lib/sso-login.js +135 -0
  305. package/dist/lib/sso-login.js.map +1 -0
  306. package/dist/lib/transfer.d.ts +80 -0
  307. package/dist/lib/transfer.d.ts.map +1 -0
  308. package/dist/lib/transfer.js +173 -0
  309. package/dist/lib/transfer.js.map +1 -0
  310. package/dist/lib/tui.d.ts +0 -6
  311. package/dist/lib/tui.d.ts.map +1 -1
  312. package/dist/lib/tui.js +6 -1
  313. package/dist/lib/tui.js.map +1 -1
  314. package/dist/lib/ui.js +1 -1
  315. package/dist/lib/ui.js.map +1 -1
  316. package/dist/menu/run.d.ts +7 -0
  317. package/dist/menu/run.d.ts.map +1 -1
  318. package/dist/menu/run.js +38 -2
  319. package/dist/menu/run.js.map +1 -1
  320. package/oclif.manifest.json +3400 -1361
  321. package/package.json +15 -10
@@ -63,6 +63,9 @@ ADMIN_USERNAME=admin@knowz.local
63
63
  ADMIN_PASSWORD=<CHANGE_ME_at_least_12_chars_mixed>
64
64
  # SuperAdmin console passphrase. Generate with `openssl rand -base64 32` (or equivalent).
65
65
  # SUPERADMIN_PASSPHRASE=
66
+ # Optional override for privileged diagnostics (X-Super-User-Key). When unset, compose
67
+ # reuses SUPERADMIN_PASSPHRASE. Empty/whitespace values are rejected by the API (503).
68
+ # SUPERUSER_KEY=
66
69
  # Manual Compose bootstrap (run once after the API is healthy):
67
70
  # curl -X POST http://localhost:${API_PORT:-5000}/api/v1/bootstrap/admin \
68
71
  # -H "X-Super-User-Key: $SUPERADMIN_PASSPHRASE" -H "Content-Type: application/json" \
@@ -104,6 +104,10 @@ services:
104
104
  api:
105
105
  # Prebuilt portable image. ""=azure/stub/BYO-OpenAI-compat build; KNOWZ_FLAVOR=-gcp => Vertex build.
106
106
  image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-api:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env (the platform release, e.g. 0.2.0)}-portable${KNOWZ_FLAVOR:-}"
107
+ # Knowz portable images publish linux/amd64 ONLY — pin so arm64 hosts (Apple Silicon)
108
+ # pull and run under emulation instead of failing with "no matching manifest".
109
+ # No-op on amd64 hosts. Remove when OPS_PortableMultiArchImages ships arm64 manifests.
110
+ platform: linux/amd64
107
111
  ports:
108
112
  - "${BIND_ADDRESS:-127.0.0.1}:${API_PORT:-5000}:8080"
109
113
  depends_on:
@@ -122,6 +126,7 @@ services:
122
126
  environment:
123
127
  ASPNETCORE_ENVIRONMENT: Staging
124
128
  ASPNETCORE_URLS: http://+:8080
129
+ FeatureFlags__registration__requireEmailVerification: "false"
125
130
 
126
131
  # ── Portable substrate provider switches (the three subsystem axes) ──────────────────────────
127
132
  Knowz__Database__Provider: Postgres
@@ -168,6 +173,11 @@ services:
168
173
  JwtSettings__Secret: "${JWT_SECRET}"
169
174
  Authentication__Jwt__Secret: "${JWT_SECRET}"
170
175
  SuperAdmin__Passphrase: "${SUPERADMIN_PASSPHRASE:?SUPERADMIN_PASSPHRASE must be set in .env}"
176
+ # SEC-2026-08-16-3 / #509: privileged diagnostics use Security:SuperUserKey.
177
+ # Application code fail-closes empty/whitespace keys (503). Compose still injects a
178
+ # non-empty value so portable kits that already mint SUPERADMIN_PASSPHRASE keep a
179
+ # working gate; SUPERUSER_KEY overrides when set.
180
+ Security__SuperUserKey: "${SUPERUSER_KEY:-${SUPERADMIN_PASSPHRASE}}"
171
181
 
172
182
  # ── MCP service-to-service key (must match the mcp container) ────────────────────────────────
173
183
  MCP__ServiceKey: "${MCP_SERVICE_KEY:?MCP_SERVICE_KEY must be set in .env}"
@@ -260,6 +270,8 @@ services:
260
270
  # ── Worker: Knowz.Worker BackgroundService — drains PortableQueueJobs + enrichment auto-driver ─────
261
271
  worker:
262
272
  image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-worker:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env (the platform release, e.g. 0.2.0)}-portable${KNOWZ_FLAVOR:-}"
273
+ # amd64-only image — see the `api` service note (OPS_PortableMultiArchImages).
274
+ platform: linux/amd64
263
275
  depends_on:
264
276
  postgres:
265
277
  condition: service_healthy
@@ -371,6 +383,8 @@ services:
371
383
  web:
372
384
  # Cloud-neutral SPA — plain versioned image (no portable/gcp flavor).
373
385
  image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-web:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env (the platform release, e.g. 0.2.0)}"
386
+ # amd64-only image — see the `api` service note (OPS_PortableMultiArchImages).
387
+ platform: linux/amd64
374
388
  ports:
375
389
  - "${BIND_ADDRESS:-127.0.0.1}:${WEB_PORT:-3000}:8080"
376
390
  depends_on:
@@ -393,6 +407,8 @@ services:
393
407
  profiles: ["mcp"]
394
408
  # Cloud-neutral MCP server — plain versioned image (no portable/gcp flavor).
395
409
  image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-mcp:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env (the platform release, e.g. 0.2.0)}"
410
+ # amd64-only image — see the `api` service note (OPS_PortableMultiArchImages).
411
+ platform: linux/amd64
396
412
  ports:
397
413
  - "${BIND_ADDRESS:-127.0.0.1}:${MCP_PORT:-3001}:8080"
398
414
  depends_on:
@@ -418,6 +434,8 @@ services:
418
434
 
419
435
  public-site:
420
436
  image: "${KNOWZ_REGISTRY:-ghcr.io/knowz-io}/knowz-public-site:${KNOWZ_VERSION:?KNOWZ_VERSION must be set in .env}"
437
+ # amd64-only image — see the `api` service note (OPS_PortableMultiArchImages).
438
+ platform: linux/amd64
421
439
  profiles: ["public-site"]
422
440
  ports:
423
441
  - "${BIND_ADDRESS:-127.0.0.1}:${PUBLIC_SITE_PORT:-3002}:8080"
@@ -1,5 +1,27 @@
1
1
  {
2
2
  "releases": [
3
+ {
4
+ "version": "0.41.0",
5
+ "flavors": [
6
+ "portable",
7
+ "portable-gcp"
8
+ ],
9
+ "releasedAt": "2026-08-31T00:00:00Z",
10
+ "minCliVersion": null,
11
+ "notes": null,
12
+ "digests": null
13
+ },
14
+ {
15
+ "version": "0.40.2",
16
+ "flavors": [
17
+ "portable",
18
+ "portable-gcp"
19
+ ],
20
+ "releasedAt": "2026-08-30T00:00:00Z",
21
+ "minCliVersion": null,
22
+ "notes": null,
23
+ "digests": null
24
+ },
3
25
  {
4
26
  "version": "0.35.2",
5
27
  "flavors": [