quoxcli 0.0.0-stage → 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 (348) hide show
  1. package/LICENSE +35 -0
  2. package/README.md +142 -2
  3. package/bin/quox.js +292 -0
  4. package/bin/quoxon.js +8 -0
  5. package/lib/api/endpoints/admin.js +125 -0
  6. package/lib/api/endpoints/aee.js +38 -0
  7. package/lib/api/endpoints/agent-attach.js +126 -0
  8. package/lib/api/endpoints/agents.js +56 -0
  9. package/lib/api/endpoints/assistants.js +50 -0
  10. package/lib/api/endpoints/audit.js +14 -0
  11. package/lib/api/endpoints/auth.js +50 -0
  12. package/lib/api/endpoints/awareness.js +34 -0
  13. package/lib/api/endpoints/backup-schedules.js +20 -0
  14. package/lib/api/endpoints/backups.js +86 -0
  15. package/lib/api/endpoints/brain.js +140 -0
  16. package/lib/api/endpoints/budgets.js +62 -0
  17. package/lib/api/endpoints/calendarq.js +71 -0
  18. package/lib/api/endpoints/catalog.js +14 -0
  19. package/lib/api/endpoints/chat.js +54 -0
  20. package/lib/api/endpoints/consent.js +26 -0
  21. package/lib/api/endpoints/contactsq.js +66 -0
  22. package/lib/api/endpoints/conversations.js +32 -0
  23. package/lib/api/endpoints/custom-roles.js +92 -0
  24. package/lib/api/endpoints/divisions.js +56 -0
  25. package/lib/api/endpoints/domains.js +38 -0
  26. package/lib/api/endpoints/engagement.js +231 -0
  27. package/lib/api/endpoints/engine.js +11 -0
  28. package/lib/api/endpoints/entity.js +50 -0
  29. package/lib/api/endpoints/executions.js +32 -0
  30. package/lib/api/endpoints/file.js +20 -0
  31. package/lib/api/endpoints/files.js +26 -0
  32. package/lib/api/endpoints/github.js +21 -0
  33. package/lib/api/endpoints/governance.js +43 -0
  34. package/lib/api/endpoints/hat.js +36 -0
  35. package/lib/api/endpoints/inbox.js +32 -0
  36. package/lib/api/endpoints/inboxq.js +120 -0
  37. package/lib/api/endpoints/index.js +228 -0
  38. package/lib/api/endpoints/invites.js +19 -0
  39. package/lib/api/endpoints/llm-policy.js +43 -0
  40. package/lib/api/endpoints/lucid.js +89 -0
  41. package/lib/api/endpoints/members.js +32 -0
  42. package/lib/api/endpoints/memory.js +75 -0
  43. package/lib/api/endpoints/mfa.js +32 -0
  44. package/lib/api/endpoints/mon.js +178 -0
  45. package/lib/api/endpoints/notesq.js +43 -0
  46. package/lib/api/endpoints/objectives.js +62 -0
  47. package/lib/api/endpoints/orgs.js +38 -0
  48. package/lib/api/endpoints/plugins.js +134 -0
  49. package/lib/api/endpoints/powers.js +75 -0
  50. package/lib/api/endpoints/prompts.js +69 -0
  51. package/lib/api/endpoints/qlarity.js +122 -0
  52. package/lib/api/endpoints/quoxbox.js +55 -0
  53. package/lib/api/endpoints/quoxchat.js +54 -0
  54. package/lib/api/endpoints/quoxflow.js +32 -0
  55. package/lib/api/endpoints/quoxplan.js +114 -0
  56. package/lib/api/endpoints/quoxseo.js +108 -0
  57. package/lib/api/endpoints/reach.js +47 -0
  58. package/lib/api/endpoints/runs.js +38 -0
  59. package/lib/api/endpoints/safety.js +46 -0
  60. package/lib/api/endpoints/scim.js +46 -0
  61. package/lib/api/endpoints/scopes.js +14 -0
  62. package/lib/api/endpoints/security.js +69 -0
  63. package/lib/api/endpoints/setup.js +90 -0
  64. package/lib/api/endpoints/skills.js +180 -0
  65. package/lib/api/endpoints/sso.js +67 -0
  66. package/lib/api/endpoints/tags.js +32 -0
  67. package/lib/api/endpoints/teams.js +56 -0
  68. package/lib/api/endpoints/telephony.js +46 -0
  69. package/lib/api/endpoints/tg.js +56 -0
  70. package/lib/api/endpoints/tools.js +50 -0
  71. package/lib/api/endpoints/traces.js +157 -0
  72. package/lib/api/endpoints/triggers.js +70 -0
  73. package/lib/api/endpoints/user-library.js +41 -0
  74. package/lib/api/endpoints/users.js +20 -0
  75. package/lib/api/endpoints/v1.js +499 -0
  76. package/lib/api/endpoints/vault.js +192 -0
  77. package/lib/api/endpoints/voice.js +22 -0
  78. package/lib/api/endpoints/volt.js +84 -0
  79. package/lib/api/endpoints/ward.js +40 -0
  80. package/lib/api/endpoints/webhooks.js +46 -0
  81. package/lib/api/endpoints/workflows.js +162 -0
  82. package/lib/api/endpoints/x.js +24 -0
  83. package/lib/api/endpoints.js +15 -0
  84. package/lib/commands/admin.js +359 -0
  85. package/lib/commands/aee.js +99 -0
  86. package/lib/commands/agent.js +201 -0
  87. package/lib/commands/agentAttach.js +1440 -0
  88. package/lib/commands/approvals.js +47 -0
  89. package/lib/commands/assistant.js +114 -0
  90. package/lib/commands/auth.js +458 -0
  91. package/lib/commands/awareness.js +88 -0
  92. package/lib/commands/backup.js +373 -0
  93. package/lib/commands/brain.js +994 -0
  94. package/lib/commands/budget.js +241 -0
  95. package/lib/commands/build.js +156 -0
  96. package/lib/commands/calendar.js +216 -0
  97. package/lib/commands/capabilities.js +34 -0
  98. package/lib/commands/chat.js +240 -0
  99. package/lib/commands/claude.js +354 -0
  100. package/lib/commands/config-cmd.js +106 -0
  101. package/lib/commands/consent.js +84 -0
  102. package/lib/commands/contacts.js +967 -0
  103. package/lib/commands/contactsSelftest.js +132 -0
  104. package/lib/commands/conversation.js +74 -0
  105. package/lib/commands/department.js +75 -0
  106. package/lib/commands/dev.js +620 -0
  107. package/lib/commands/devResident.js +314 -0
  108. package/lib/commands/devSupervisor.js +1050 -0
  109. package/lib/commands/discord.js +96 -0
  110. package/lib/commands/doctor.js +181 -0
  111. package/lib/commands/domain.js +114 -0
  112. package/lib/commands/done.js +277 -0
  113. package/lib/commands/engagement.js +586 -0
  114. package/lib/commands/entity.js +119 -0
  115. package/lib/commands/facebook.js +212 -0
  116. package/lib/commands/file.js +128 -0
  117. package/lib/commands/fleet.js +882 -0
  118. package/lib/commands/governance.js +638 -0
  119. package/lib/commands/gripe.js +324 -0
  120. package/lib/commands/hat.js +205 -0
  121. package/lib/commands/helpers.js +79 -0
  122. package/lib/commands/inbox.js +122 -0
  123. package/lib/commands/instagram.js +264 -0
  124. package/lib/commands/integration.js +100 -0
  125. package/lib/commands/inventory.js +115 -0
  126. package/lib/commands/invites.js +45 -0
  127. package/lib/commands/licence.js +280 -0
  128. package/lib/commands/linkedin.js +178 -0
  129. package/lib/commands/llm-policy.js +117 -0
  130. package/lib/commands/llm.js +45 -0
  131. package/lib/commands/lucid.js +591 -0
  132. package/lib/commands/mail.js +531 -0
  133. package/lib/commands/memory.js +284 -0
  134. package/lib/commands/mon.js +514 -0
  135. package/lib/commands/monitoring.js +86 -0
  136. package/lib/commands/motion.js +22 -0
  137. package/lib/commands/notes.js +1246 -0
  138. package/lib/commands/notesBatch.js +160 -0
  139. package/lib/commands/notesBridges.js +56 -0
  140. package/lib/commands/notesLinks.js +60 -0
  141. package/lib/commands/notification.js +57 -0
  142. package/lib/commands/nucleus.js +92 -0
  143. package/lib/commands/objective.js +229 -0
  144. package/lib/commands/onboard.js +328 -0
  145. package/lib/commands/open.js +56 -0
  146. package/lib/commands/org.js +266 -0
  147. package/lib/commands/plan.js +906 -0
  148. package/lib/commands/plugin-doctor.js +1091 -0
  149. package/lib/commands/plugin.js +539 -0
  150. package/lib/commands/policy.js +78 -0
  151. package/lib/commands/powers.js +296 -0
  152. package/lib/commands/prompt.js +350 -0
  153. package/lib/commands/qlarity.js +690 -0
  154. package/lib/commands/quoxbox.js +270 -0
  155. package/lib/commands/quoxchat.js +266 -0
  156. package/lib/commands/quoxseo.js +340 -0
  157. package/lib/commands/reach.js +158 -0
  158. package/lib/commands/role.js +286 -0
  159. package/lib/commands/run.js +132 -0
  160. package/lib/commands/safety.js +107 -0
  161. package/lib/commands/scim.js +88 -0
  162. package/lib/commands/scope.js +58 -0
  163. package/lib/commands/security.js +157 -0
  164. package/lib/commands/service.js +89 -0
  165. package/lib/commands/settings.js +99 -0
  166. package/lib/commands/setup.js +543 -0
  167. package/lib/commands/skillManifest.js +113 -0
  168. package/lib/commands/skillRightsFormat.js +38 -0
  169. package/lib/commands/skills.js +644 -0
  170. package/lib/commands/slot.js +1198 -0
  171. package/lib/commands/sso.js +229 -0
  172. package/lib/commands/status.js +137 -0
  173. package/lib/commands/tag.js +91 -0
  174. package/lib/commands/team.js +140 -0
  175. package/lib/commands/tg.js +240 -0
  176. package/lib/commands/tiktok.js +218 -0
  177. package/lib/commands/tool.js +216 -0
  178. package/lib/commands/trace.js +525 -0
  179. package/lib/commands/trigger.js +128 -0
  180. package/lib/commands/vault.js +1424 -0
  181. package/lib/commands/voice.js +182 -0
  182. package/lib/commands/volt.js +528 -0
  183. package/lib/commands/watch.js +115 -0
  184. package/lib/commands/webhook.js +137 -0
  185. package/lib/commands/workflow.js +503 -0
  186. package/lib/commands/x.js +439 -0
  187. package/lib/core/actingAs.js +136 -0
  188. package/lib/core/aee.js +53 -0
  189. package/lib/core/agentAlias.js +163 -0
  190. package/lib/core/approvalContext.js +61 -0
  191. package/lib/core/auth.js +350 -0
  192. package/lib/core/banner.js +143 -0
  193. package/lib/core/brainPrime.js +90 -0
  194. package/lib/core/callerSource.js +129 -0
  195. package/lib/core/claudeLs.js +94 -0
  196. package/lib/core/client.js +584 -0
  197. package/lib/core/completions.js +163 -0
  198. package/lib/core/config.js +551 -0
  199. package/lib/core/confirm.js +37 -0
  200. package/lib/core/deeplinks.js +76 -0
  201. package/lib/core/doneEngineFetch.js +219 -0
  202. package/lib/core/errors.js +132 -0
  203. package/lib/core/global-flags.js +90 -0
  204. package/lib/core/governedSession.js +402 -0
  205. package/lib/core/lazyCommands.js +119 -0
  206. package/lib/core/liveSessionsReport.js +112 -0
  207. package/lib/core/org-override.js +52 -0
  208. package/lib/core/output.js +239 -0
  209. package/lib/core/prodEnv.js +7 -0
  210. package/lib/core/quoxglyph.js +158 -0
  211. package/lib/core/residentAlarm.js +282 -0
  212. package/lib/core/residentAuth.js +243 -0
  213. package/lib/core/residentPump.js +229 -0
  214. package/lib/core/residentSeed.js +104 -0
  215. package/lib/core/sessionHeartbeat.js +192 -0
  216. package/lib/core/sessionsOverview.js +160 -0
  217. package/lib/core/slotKeeper.js +282 -0
  218. package/lib/core/supervisorEngine.js +864 -0
  219. package/lib/core/systemdInstaller.js +256 -0
  220. package/lib/core/version.js +87 -0
  221. package/lib/core/websiteSession.js +148 -0
  222. package/lib/lucid/LucidIntro.jsx +105 -0
  223. package/lib/lucid/blind.js +71 -0
  224. package/lib/lucid/deck.js +32 -0
  225. package/lib/lucid/fmt.js +139 -0
  226. package/lib/lucid/sitrep.js +173 -0
  227. package/lib/plugins/loader.js +93 -0
  228. package/lib/quoxon/activity.js +104 -0
  229. package/lib/quoxon/api.js +473 -0
  230. package/lib/quoxon/app.js +1262 -0
  231. package/lib/quoxon/capabilities.js +75 -0
  232. package/lib/quoxon/commands.js +154 -0
  233. package/lib/quoxon/connect.js +467 -0
  234. package/lib/quoxon/connectCard.js +28 -0
  235. package/lib/quoxon/context.js +68 -0
  236. package/lib/quoxon/copy.js +33 -0
  237. package/lib/quoxon/demo.fixtures.js +24 -0
  238. package/lib/quoxon/demo.js +35 -0
  239. package/lib/quoxon/egg.js +36 -0
  240. package/lib/quoxon/events.js +458 -0
  241. package/lib/quoxon/gallery.js +223 -0
  242. package/lib/quoxon/indicator.js +193 -0
  243. package/lib/quoxon/intent.js +41 -0
  244. package/lib/quoxon/keys.js +121 -0
  245. package/lib/quoxon/main.js +244 -0
  246. package/lib/quoxon/markdown.js +317 -0
  247. package/lib/quoxon/model.js +205 -0
  248. package/lib/quoxon/motion/clock.js +69 -0
  249. package/lib/quoxon/motion/color.js +35 -0
  250. package/lib/quoxon/motion/frame.js +14 -0
  251. package/lib/quoxon/motion/reveal.js +54 -0
  252. package/lib/quoxon/motion/ring.js +79 -0
  253. package/lib/quoxon/objects/agent.js +61 -0
  254. package/lib/quoxon/objects/crystal.js +100 -0
  255. package/lib/quoxon/objects/fetch.js +170 -0
  256. package/lib/quoxon/objects/index.js +85 -0
  257. package/lib/quoxon/objects/ladder.js +71 -0
  258. package/lib/quoxon/objects/memory.js +44 -0
  259. package/lib/quoxon/objects/model.js +118 -0
  260. package/lib/quoxon/objects/proof.js +110 -0
  261. package/lib/quoxon/objects/skill.js +105 -0
  262. package/lib/quoxon/objects/view.js +76 -0
  263. package/lib/quoxon/objects/workflow.js +119 -0
  264. package/lib/quoxon/observers.js +42 -0
  265. package/lib/quoxon/onboarding/copy.js +235 -0
  266. package/lib/quoxon/onboarding/credential.js +95 -0
  267. package/lib/quoxon/onboarding/detect.js +22 -0
  268. package/lib/quoxon/onboarding/finish.js +119 -0
  269. package/lib/quoxon/onboarding/index.js +67 -0
  270. package/lib/quoxon/onboarding/installRunner.js +225 -0
  271. package/lib/quoxon/onboarding/intent.js +53 -0
  272. package/lib/quoxon/onboarding/journey.js +73 -0
  273. package/lib/quoxon/onboarding/preflight.js +142 -0
  274. package/lib/quoxon/onboarding/runner.js +58 -0
  275. package/lib/quoxon/onboarding/view.js +625 -0
  276. package/lib/quoxon/print.js +94 -0
  277. package/lib/quoxon/qart.js +379 -0
  278. package/lib/quoxon/qglyph.js +143 -0
  279. package/lib/quoxon/qhello.js +58 -0
  280. package/lib/quoxon/qmotion.js +111 -0
  281. package/lib/quoxon/render.js +648 -0
  282. package/lib/quoxon/roster.js +221 -0
  283. package/lib/quoxon/route.js +38 -0
  284. package/lib/quoxon/rules.js +130 -0
  285. package/lib/quoxon/session.js +68 -0
  286. package/lib/quoxon/skills.js +30 -0
  287. package/lib/quoxon/slash/compact.js +90 -0
  288. package/lib/quoxon/slash/ledger.js +83 -0
  289. package/lib/quoxon/slash/listView.js +28 -0
  290. package/lib/quoxon/slash/palette.js +104 -0
  291. package/lib/quoxon/slash/paletteController.js +59 -0
  292. package/lib/quoxon/slash/panels.js +101 -0
  293. package/lib/quoxon/slash/picker.js +38 -0
  294. package/lib/quoxon/slash/restart.js +144 -0
  295. package/lib/quoxon/slash/resume.js +59 -0
  296. package/lib/quoxon/slash/settings.js +50 -0
  297. package/lib/quoxon/sound/index.js +186 -0
  298. package/lib/quoxon/sound/mapping.js +119 -0
  299. package/lib/quoxon/sound/output.js +52 -0
  300. package/lib/quoxon/sound/synth.js +122 -0
  301. package/lib/quoxon/term.js +106 -0
  302. package/lib/quoxon/textBuffer.js +242 -0
  303. package/lib/quoxon/theme.js +253 -0
  304. package/lib/quoxon/transcript.js +150 -0
  305. package/lib/quoxon/web/qface.js +81 -0
  306. package/lib/quoxon/welcome.js +52 -0
  307. package/lib/tui/app.jsx +289 -0
  308. package/lib/tui/components/Breadcrumb.jsx +42 -0
  309. package/lib/tui/components/ChatInput.jsx +68 -0
  310. package/lib/tui/components/Confirm.jsx +32 -0
  311. package/lib/tui/components/DataTable.jsx +270 -0
  312. package/lib/tui/components/DetailPanel.jsx +241 -0
  313. package/lib/tui/components/HelpOverlay.jsx +67 -0
  314. package/lib/tui/components/Layout.jsx +129 -0
  315. package/lib/tui/components/Palette.jsx +141 -0
  316. package/lib/tui/components/SearchInput.jsx +125 -0
  317. package/lib/tui/components/Sparkline.jsx +55 -0
  318. package/lib/tui/components/StatusBar.jsx +133 -0
  319. package/lib/tui/components/Toast.jsx +52 -0
  320. package/lib/tui/hooks/useApi.js +44 -0
  321. package/lib/tui/hooks/useHealth.js +90 -0
  322. package/lib/tui/hooks/usePolledApi.js +86 -0
  323. package/lib/tui/hooks/useTerminalSize.js +46 -0
  324. package/lib/tui/index.js +56 -0
  325. package/lib/tui/intro/Intro.jsx +332 -0
  326. package/lib/tui/jsx-loader.js +32 -0
  327. package/lib/tui/keys.js +87 -0
  328. package/lib/tui/registry.js +49 -0
  329. package/lib/tui/theme.js +103 -0
  330. package/lib/tui/views/AdminView.jsx +398 -0
  331. package/lib/tui/views/AgentView.jsx +204 -0
  332. package/lib/tui/views/BackupView.jsx +225 -0
  333. package/lib/tui/views/BrainView.jsx +223 -0
  334. package/lib/tui/views/ChatView.jsx +468 -0
  335. package/lib/tui/views/FilesView.jsx +218 -0
  336. package/lib/tui/views/FleetView.jsx +234 -0
  337. package/lib/tui/views/GovernanceView.jsx +453 -0
  338. package/lib/tui/views/HealthView.jsx +216 -0
  339. package/lib/tui/views/InboxView.jsx +228 -0
  340. package/lib/tui/views/LucidDeck.jsx +727 -0
  341. package/lib/tui/views/MainMenu.jsx +123 -0
  342. package/lib/tui/views/MemoryView.jsx +377 -0
  343. package/lib/tui/views/ObjectivesView.jsx +230 -0
  344. package/lib/tui/views/OrgView.jsx +229 -0
  345. package/lib/tui/views/ToolView.jsx +221 -0
  346. package/lib/tui/views/VaultView.jsx +422 -0
  347. package/lib/tui/views/WorkflowView.jsx +329 -0
  348. package/package.json +72 -4
@@ -0,0 +1,228 @@
1
+ /**
2
+ * QuoxCLI endpoint map — aggregated from per-domain fragment files.
3
+ *
4
+ * Generated as part of WP0.1 (Stream CLI-PARITY, docs/STREAM_CLI_PARITY_PLAN.md §3.2 option C),
5
+ * refactored into per-domain fragments so parallel command work packages can add endpoints
6
+ * without colliding on one shared file. This is a PURE, behavior-preserving extraction: every
7
+ * entry reproduces the exact method + service + path that the corresponding call site used
8
+ * before migration. Do not "fix" a path here without also verifying the change against the
9
+ * real route handler — see the plan doc's correctness table (§2.2) for entries that were
10
+ * already corrected.
11
+ *
12
+ * Shape: name -> { method, service, path, tags }
13
+ * - method: HTTP verb (or 'STREAM' for SSE via client.stream()).
14
+ * - service: one of the SERVICE_PORTS keys in core/config.js (auth, files, memory,
15
+ * orchestrator, tasks, collector).
16
+ * - path: either a zero-arg function returning a static path, or a function of a params
17
+ * object returning the interpolated path (mirrors the original template literal).
18
+ * - tags: coarse live-contract tags (WP0.3/WP1.2 refine these).
19
+ * 'live-safe' — GET, safe to fire against a live stack with no side effects.
20
+ * 'live-write' — mutating (POST/PUT/PATCH/DELETE), needs a create/verify/delete
21
+ * cycle or a sandboxed org before it can run live.
22
+ * 'skip-live' — /internal/* or otherwise out of scope for the live contract test.
23
+ *
24
+ * Naming convention: '<resource>.<action>' (dot-separated for nested resources), where
25
+ * action is one of list/get/create/update/delete/stream, or the literal trailing verb
26
+ * segment of the route (e.g. 'vault.rotate', 'assistants.deploy') when the route itself
27
+ * is an action rather than plain CRUD.
28
+ *
29
+ * Anti-drift rule: no new call site may use a raw path literal — resolve it through this
30
+ * map via resolveEndpoint(name, params) instead. Enforced by test/api/endpoints-lint.test.js.
31
+ *
32
+ * FRAGMENT CONVENTION (read this before adding new endpoints):
33
+ * Every entry lives in a per-domain fragment file under this directory, named after the
34
+ * dot-prefix of its endpoint names (the segment before the first '.', e.g. all 'runs.*'
35
+ * entries live in './runs.js', all 'vault.*' entries live in './vault.js'). Each fragment
36
+ * exports a single plain object named after its domain (camelCased if the domain contains
37
+ * a hyphen, e.g. 'backup-schedules.js' exports 'backupSchedules').
38
+ *
39
+ * To add a brand-new domain: create ONE new file './endpoints/<domain>.js' exporting its
40
+ * object, then add ONE import + ONE spread line to this file (index.js). That is the only
41
+ * shared file a new command work package needs to touch — no other fragment file changes,
42
+ * so parallel work packages adding different domains cannot collide.
43
+ *
44
+ * To add an endpoint to an EXISTING domain: edit only that domain's fragment file.
45
+ *
46
+ * Fragments are merged below with object spread in file order. test/api/endpoints-fragments.test.js
47
+ * asserts (a) no duplicate keys across fragments — spreading would otherwise silently let a
48
+ * later fragment overwrite an earlier one — and (b) every key exported by a fragment is
49
+ * actually prefixed by that fragment's own domain, so a misplaced entry fails loudly instead
50
+ * of silently landing in the wrong file.
51
+ */
52
+
53
+ import { admin } from './admin.js';
54
+ import { aee } from './aee.js';
55
+ import { agentAttach } from './agent-attach.js';
56
+ import { agents } from './agents.js';
57
+ import { assistants } from './assistants.js';
58
+ import { audit } from './audit.js';
59
+ import { auth } from './auth.js';
60
+ import { awareness } from './awareness.js';
61
+ import { lucid } from './lucid.js';
62
+ import { invites } from './invites.js';
63
+ import { backupSchedules } from './backup-schedules.js';
64
+ import { backups } from './backups.js';
65
+ import { brain } from './brain.js';
66
+ import { budgets } from './budgets.js';
67
+ import { calendarq } from './calendarq.js';
68
+ import { catalog } from './catalog.js';
69
+ import { chat } from './chat.js';
70
+ import { consent } from './consent.js';
71
+ import { conversations } from './conversations.js';
72
+ import { customRoles } from './custom-roles.js';
73
+ import { divisions } from './divisions.js';
74
+ import { domains } from './domains.js';
75
+ import { engagement } from './engagement.js';
76
+ import { entity } from './entity.js';
77
+ import { engine } from './engine.js';
78
+ import { executions } from './executions.js';
79
+ import { file } from './file.js';
80
+ import { files } from './files.js';
81
+ import { governance } from './governance.js';
82
+ import { inbox } from './inbox.js';
83
+ import { inboxq } from './inboxq.js';
84
+ import { notesq } from './notesq.js';
85
+ import { contactsq } from './contactsq.js';
86
+ import { x } from './x.js';
87
+ import { llmPolicy } from './llm-policy.js';
88
+ import { hat } from './hat.js';
89
+ import { members } from './members.js';
90
+ import { memory } from './memory.js';
91
+ import { mfa } from './mfa.js';
92
+ import { mon } from './mon.js';
93
+ import { objectives } from './objectives.js';
94
+ import { orgs } from './orgs.js';
95
+ import { plugins } from './plugins.js';
96
+ import { powers } from './powers.js';
97
+ import { prompts } from './prompts.js';
98
+ import { quoxbox } from './quoxbox.js';
99
+ import { quoxchat } from './quoxchat.js';
100
+ import { quoxflow } from './quoxflow.js';
101
+ import { quoxplan } from './quoxplan.js';
102
+ import { qlarity } from './qlarity.js';
103
+ import { quoxseo } from './quoxseo.js';
104
+ import { telephony } from './telephony.js';
105
+ import { voice } from './voice.js';
106
+ import { reach } from './reach.js';
107
+ import { github } from './github.js';
108
+ import { runs } from './runs.js';
109
+ import { scim } from './scim.js';
110
+ import { scopes } from './scopes.js';
111
+ import { security } from './security.js';
112
+ import { setup } from './setup.js';
113
+ import { skills } from './skills.js';
114
+ import { sso } from './sso.js';
115
+ import { tags } from './tags.js';
116
+ import { teams } from './teams.js';
117
+ import { tg } from './tg.js';
118
+ import { tools } from './tools.js';
119
+ import { traces } from './traces.js';
120
+ import { triggers } from './triggers.js';
121
+ import { userLibrary } from './user-library.js';
122
+ import { users } from './users.js';
123
+ import { v1 } from './v1.js';
124
+ import { vault } from './vault.js';
125
+ import { volt } from './volt.js';
126
+ import { safety } from './safety.js';
127
+ import { ward } from './ward.js';
128
+ import { webhooks } from './webhooks.js';
129
+ import { workflows } from './workflows.js';
130
+
131
+ export const ENDPOINTS = {
132
+ ...admin,
133
+ ...aee,
134
+ ...agentAttach,
135
+ ...agents,
136
+ ...assistants,
137
+ ...audit,
138
+ ...auth,
139
+ ...awareness,
140
+ ...lucid,
141
+ ...invites,
142
+ ...backupSchedules,
143
+ ...backups,
144
+ ...brain,
145
+ ...budgets,
146
+ ...calendarq,
147
+ ...catalog,
148
+ ...chat,
149
+ ...consent,
150
+ ...conversations,
151
+ ...customRoles,
152
+ ...divisions,
153
+ ...domains,
154
+ ...engagement,
155
+ ...entity,
156
+ ...engine,
157
+ ...executions,
158
+ ...file,
159
+ ...files,
160
+ ...governance,
161
+ ...inbox,
162
+ ...inboxq,
163
+ ...notesq,
164
+ ...contactsq,
165
+ ...x,
166
+ ...llmPolicy,
167
+ ...hat,
168
+ ...members,
169
+ ...memory,
170
+ ...mfa,
171
+ ...mon,
172
+ ...objectives,
173
+ ...orgs,
174
+ ...plugins,
175
+ ...powers,
176
+ ...prompts,
177
+ ...quoxbox,
178
+ ...quoxchat,
179
+ ...quoxflow,
180
+ ...quoxplan,
181
+ ...qlarity,
182
+ ...quoxseo,
183
+ ...telephony,
184
+ ...voice,
185
+ ...reach,
186
+ ...github,
187
+ ...runs,
188
+ ...scim,
189
+ ...scopes,
190
+ ...security,
191
+ ...setup,
192
+ ...skills,
193
+ ...sso,
194
+ ...tags,
195
+ ...teams,
196
+ ...tg,
197
+ ...tools,
198
+ ...traces,
199
+ ...triggers,
200
+ ...userLibrary,
201
+ ...users,
202
+ ...v1,
203
+ ...vault,
204
+ ...volt,
205
+ ...safety,
206
+ ...ward,
207
+ ...webhooks,
208
+ ...workflows,
209
+ };
210
+
211
+ /**
212
+ * Resolve an endpoint by name to its concrete { method, service, path } for this call.
213
+ *
214
+ * @param {string} name - key into ENDPOINTS, e.g. 'agents.list'
215
+ * @param {object} [params] - path params, e.g. { orgId, agentId }
216
+ * @returns {{ method: string, service: string, path: string }}
217
+ */
218
+ export function resolveEndpoint(name, params = {}) {
219
+ const entry = ENDPOINTS[name];
220
+ if (!entry) {
221
+ throw new Error(`Unknown endpoint: "${name}" (no entry in cli/lib/api/endpoints/)`);
222
+ }
223
+ return {
224
+ method: entry.method,
225
+ service: entry.service,
226
+ path: entry.path(params),
227
+ };
228
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 'invites.*' endpoints (GRIPE-712): caller-scoped invitations.
3
+ */
4
+
5
+ export const invites = {
6
+ // GRIPE-712: caller-scoped invitations, matched server-side on verified email.
7
+ 'invites.mine.list': {
8
+ method: 'GET',
9
+ service: 'auth',
10
+ path: () => `/api/invites/mine`,
11
+ tags: ['live-safe'],
12
+ },
13
+ 'invites.mine.accept': {
14
+ method: 'POST',
15
+ service: 'auth',
16
+ path: ({ inviteId }) => `/api/invites/mine/${encodeURIComponent(inviteId)}/accept`,
17
+ tags: ['live-write'],
18
+ },
19
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * 'llm-policy.*' endpoints — WP3.2 (docs/STREAM_CLI_PARITY_PLAN.md §2.3 #7).
3
+ * See cli/lib/api/endpoints/index.js for aggregation + the fragment convention.
4
+ *
5
+ * Backend: services/auth/routes/llm-routing-policies.js, mounted at plain
6
+ * `/api` (server.js:546 — mounted BEFORE the requireAuth-router block on
7
+ * purpose, per that file's own header comment, so it can carry a
8
+ * service-key-gated /internal route; the three routes used here still apply
9
+ * requireAuth + requireOrgMembership per-route). Real paths are org-scoped
10
+ * in the URL: `/api/orgs/:orgId/llm-routing-policy[/test]`.
11
+ *
12
+ * - GET returns `{ source: 'org'|'seed', policy, record }` directly (no
13
+ * `{ success, data }` envelope) — getEffectiveLlmRoutingPolicy().
14
+ * - PUT requires `{ policy: {...} }` in the body (400 if missing/not an
15
+ * object) and additionally 403s unless the caller has
16
+ * ORG_MANAGE_SETTINGS. Returns `{ saved: true, policy }` or
17
+ * `{ error: 'invalid_policy', validation_errors: [...] }` (400) on a
18
+ * policy that fails validateLlmRoutingPolicy().
19
+ * - POST .../test also requires `{ policy: {...} }` and returns the raw
20
+ * validation result `{ valid, errors }` — it does NOT persist anything,
21
+ * it's a dry-run validator only.
22
+ */
23
+
24
+ export const llmPolicy = {
25
+ 'llm-policy.get': {
26
+ method: 'GET',
27
+ service: 'auth',
28
+ path: ({ orgId }) => `/api/orgs/${orgId}/llm-routing-policy`,
29
+ tags: ['live-safe'],
30
+ },
31
+ 'llm-policy.set': {
32
+ method: 'PUT',
33
+ service: 'auth',
34
+ path: ({ orgId }) => `/api/orgs/${orgId}/llm-routing-policy`,
35
+ tags: ['live-write'],
36
+ },
37
+ 'llm-policy.test': {
38
+ method: 'POST',
39
+ service: 'auth',
40
+ path: ({ orgId }) => `/api/orgs/${orgId}/llm-routing-policy/test`,
41
+ tags: ['live-write'],
42
+ },
43
+ };
@@ -0,0 +1,89 @@
1
+ /**
2
+ * 'lucid.*' endpoints: LUCID situational-awareness journal (`quox lucid`).
3
+ * Collector routes under /api/v1/lucid (org-scoped, requireServiceOrUserAuth).
4
+ *
5
+ * See cli/lib/api/endpoints/index.js for the fragment convention.
6
+ */
7
+
8
+ export const lucid = {
9
+ 'lucid.situation': {
10
+ method: 'GET',
11
+ service: 'collector',
12
+ path: () => `/api/v1/lucid/situation`,
13
+ tags: ['live-safe'],
14
+ },
15
+ 'lucid.ack': {
16
+ method: 'POST',
17
+ service: 'collector',
18
+ path: () => `/api/v1/lucid/ack`,
19
+ tags: ['live-write'],
20
+ },
21
+ 'lucid.subjects': {
22
+ method: 'GET',
23
+ service: 'collector',
24
+ path: () => `/api/v1/lucid/subjects`,
25
+ tags: ['live-safe'],
26
+ },
27
+ 'lucid.feeds': {
28
+ method: 'GET',
29
+ service: 'collector',
30
+ path: () => `/api/v1/lucid/feeds`,
31
+ tags: ['live-safe'],
32
+ },
33
+ 'lucid.journal': {
34
+ method: 'GET',
35
+ service: 'collector',
36
+ path: () => `/api/v1/lucid/journal`,
37
+ tags: ['live-safe'],
38
+ },
39
+ 'lucid.replay': { method: 'GET', service: 'collector', path: () => `/api/v1/lucid/replay`, tags: ['live-safe'] },
40
+ 'lucid.told': { method: 'GET', service: 'collector', path: () => `/api/v1/lucid/told`, tags: ['live-safe'] },
41
+ 'lucid.item': {
42
+ method: 'GET',
43
+ service: 'collector',
44
+ path: () => `/api/v1/lucid/item`,
45
+ tags: ['live-safe'],
46
+ },
47
+ 'lucid.measure': {
48
+ method: 'POST',
49
+ service: 'collector',
50
+ path: () => `/api/v1/lucid/measure`,
51
+ tags: ['live-write'],
52
+ },
53
+ 'lucid.lessons': {
54
+ method: 'GET',
55
+ service: 'collector',
56
+ path: () => `/api/v1/lucid/lessons`,
57
+ tags: ['live-safe'],
58
+ },
59
+ 'lucid.teach': {
60
+ method: 'POST',
61
+ service: 'collector',
62
+ path: () => `/api/v1/lucid/teach`,
63
+ tags: ['live-write'],
64
+ },
65
+ 'lucid.lessons.delete': {
66
+ method: 'DELETE',
67
+ service: 'collector',
68
+ path: ({ id }) => `/api/v1/lucid/lessons/${encodeURIComponent(id)}`,
69
+ tags: ['live-write'],
70
+ },
71
+ 'lucid.herald': {
72
+ method: 'GET',
73
+ service: 'collector',
74
+ path: () => `/api/v1/lucid/herald`,
75
+ tags: ['live-safe'],
76
+ },
77
+ 'lucid.herald.settings': {
78
+ method: 'POST',
79
+ service: 'collector',
80
+ path: () => `/api/v1/lucid/herald/settings`,
81
+ tags: ['live-write'],
82
+ },
83
+ 'lucid.herald.test': {
84
+ method: 'POST',
85
+ service: 'collector',
86
+ path: () => `/api/v1/lucid/herald/test`,
87
+ tags: ['live-safe'],
88
+ },
89
+ };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * 'members.*' endpoints — extracted from the former monolithic
3
+ * cli/lib/api/endpoints.js as part of the per-domain fragment split.
4
+ * See cli/lib/api/endpoints/index.js for aggregation + the fragment convention.
5
+ */
6
+
7
+ export const members = {
8
+ 'members.create': {
9
+ method: 'POST',
10
+ service: 'auth',
11
+ path: ({ orgId }) => `/api/orgs/${orgId}/members`,
12
+ tags: ['live-write'],
13
+ },
14
+ 'members.delete': {
15
+ method: 'DELETE',
16
+ service: 'auth',
17
+ path: ({ orgId, userId }) => `/api/orgs/${orgId}/members/${userId}`,
18
+ tags: ['live-write'],
19
+ },
20
+ 'members.list': {
21
+ method: 'GET',
22
+ service: 'auth',
23
+ path: ({ orgId }) => `/api/orgs/${orgId}/members`,
24
+ tags: ['live-safe'],
25
+ },
26
+ 'members.update': {
27
+ method: 'PATCH',
28
+ service: 'auth',
29
+ path: ({ orgId, userId }) => `/api/orgs/${orgId}/members/${userId}`,
30
+ tags: ['live-write'],
31
+ },
32
+ };
@@ -0,0 +1,75 @@
1
+ /**
2
+ * 'memory.*' endpoints — extracted from the former monolithic
3
+ * cli/lib/api/endpoints.js as part of the per-domain fragment split.
4
+ * See cli/lib/api/endpoints/index.js for aggregation + the fragment convention.
5
+ */
6
+
7
+ export const memory = {
8
+ 'memory.create': {
9
+ method: 'POST',
10
+ service: 'memory',
11
+ path: () => `/api/memory`,
12
+ tags: ['live-write'],
13
+ },
14
+ 'memory.delete': {
15
+ method: 'DELETE',
16
+ service: 'memory',
17
+ path: ({ id }) => `/api/memory/${id}`,
18
+ tags: ['live-write'],
19
+ },
20
+ 'memory.export.list': {
21
+ method: 'GET',
22
+ service: 'memory',
23
+ path: () => `/api/memory/export`,
24
+ tags: ['live-safe'],
25
+ },
26
+ 'memory.get': {
27
+ method: 'GET',
28
+ service: 'memory',
29
+ path: ({ id }) => `/api/memory/${id}`,
30
+ tags: ['live-safe'],
31
+ },
32
+ 'memory.list': {
33
+ method: 'GET',
34
+ service: 'memory',
35
+ path: () => `/api/memory`,
36
+ tags: ['live-safe'],
37
+ },
38
+ 'memory.search.list': {
39
+ method: 'GET',
40
+ service: 'memory',
41
+ path: () => `/api/memory/search`,
42
+ tags: ['live-safe'],
43
+ },
44
+ 'memory.stats.list': {
45
+ method: 'GET',
46
+ service: 'memory',
47
+ path: () => `/api/memory/stats`,
48
+ tags: ['live-safe'],
49
+ },
50
+ // Codex cycle 4 #10: decision timeline + correction queue.
51
+ 'memory.history': {
52
+ method: 'GET',
53
+ service: 'memory',
54
+ path: ({ id }) => `/api/memory/${id}/history`,
55
+ tags: ['live-safe'],
56
+ },
57
+ 'memory.timeline': {
58
+ method: 'GET',
59
+ service: 'memory',
60
+ path: () => `/api/memory/timeline`,
61
+ tags: ['live-safe'],
62
+ },
63
+ 'memory.reinstate': {
64
+ method: 'POST',
65
+ service: 'memory',
66
+ path: ({ id }) => `/api/memory/${id}/reinstate`,
67
+ tags: ['live-write'],
68
+ },
69
+ 'memory.update': {
70
+ method: 'PATCH',
71
+ service: 'memory',
72
+ path: ({ id }) => `/api/memory/${id}`,
73
+ tags: ['live-write'],
74
+ },
75
+ };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * 'mfa.*' endpoints — extracted from the former monolithic
3
+ * cli/lib/api/endpoints.js as part of the per-domain fragment split.
4
+ * See cli/lib/api/endpoints/index.js for aggregation + the fragment convention.
5
+ */
6
+
7
+ export const mfa = {
8
+ 'mfa.backup-codes.list': {
9
+ method: 'GET',
10
+ service: 'auth',
11
+ path: () => `/api/mfa/backup-codes`,
12
+ tags: ['live-safe'],
13
+ },
14
+ 'mfa.disable': {
15
+ method: 'POST',
16
+ service: 'auth',
17
+ path: () => `/api/mfa/disable`,
18
+ tags: ['live-write'],
19
+ },
20
+ 'mfa.setup': {
21
+ method: 'POST',
22
+ service: 'auth',
23
+ path: () => `/api/mfa/setup`,
24
+ tags: ['live-write'],
25
+ },
26
+ 'mfa.verify-setup': {
27
+ method: 'POST',
28
+ service: 'auth',
29
+ path: () => `/api/mfa/verify-setup`,
30
+ tags: ['live-write'],
31
+ },
32
+ };