quoxcli 0.2.0 → 0.4.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.
- package/LICENSE +1 -1
- package/README.md +2 -0
- package/bin/quox.js +99 -126
- package/lib/api/endpoints/actions.js +15 -0
- package/lib/api/endpoints/admin.js +46 -0
- package/lib/api/endpoints/agent-schedules.js +26 -0
- package/lib/api/endpoints/agents.js +7 -0
- package/lib/api/endpoints/assistants.js +12 -0
- package/lib/api/endpoints/away.js +15 -0
- package/lib/api/endpoints/blog.js +16 -0
- package/lib/api/endpoints/chat.js +14 -0
- package/lib/api/endpoints/contactsq.js +6 -0
- package/lib/api/endpoints/conversations.js +14 -0
- package/lib/api/endpoints/devServerRegistry.js +25 -0
- package/lib/api/endpoints/engagement.js +26 -0
- package/lib/api/endpoints/evidence.js +20 -0
- package/lib/api/endpoints/executions.js +13 -0
- package/lib/api/endpoints/fetchAllowlist.js +27 -0
- package/lib/api/endpoints/files.js +14 -0
- package/lib/api/endpoints/hat.js +44 -0
- package/lib/api/endpoints/inbox.js +20 -0
- package/lib/api/endpoints/index.js +26 -0
- package/lib/api/endpoints/loops.js +26 -0
- package/lib/api/endpoints/memory.js +19 -0
- package/lib/api/endpoints/mind.js +13 -0
- package/lib/api/endpoints/mon.js +179 -0
- package/lib/api/endpoints/objectives.js +12 -0
- package/lib/api/endpoints/plugins.js +18 -0
- package/lib/api/endpoints/presence.js +33 -0
- package/lib/api/endpoints/quoxplan.js +7 -0
- package/lib/api/endpoints/quoxseo.js +12 -0
- package/lib/api/endpoints/router.js +17 -0
- package/lib/api/endpoints/safety.js +7 -0
- package/lib/api/endpoints/server.js +21 -0
- package/lib/api/endpoints/setup.js +6 -0
- package/lib/api/endpoints/skills.js +20 -0
- package/lib/api/endpoints/stepup.js +20 -0
- package/lib/api/endpoints/teams.js +2 -2
- package/lib/api/endpoints/triggers.js +26 -0
- package/lib/api/endpoints/v1.js +120 -0
- package/lib/api/endpoints/ward.js +7 -0
- package/lib/api/endpoints/workflows.js +7 -0
- package/lib/api/endpoints/x.js +8 -0
- package/lib/commands/actions.js +131 -0
- package/lib/commands/admin.js +16 -0
- package/lib/commands/agent.js +170 -27
- package/lib/commands/agentAttach.js +140 -13
- package/lib/commands/approvals.js +78 -1
- package/lib/commands/aside.js +24 -0
- package/lib/commands/ask.js +146 -0
- package/lib/commands/assistant.js +59 -4
- package/lib/commands/auth.js +8 -2
- package/lib/commands/backup.js +8 -4
- package/lib/commands/blog.js +110 -0
- package/lib/commands/brain.js +105 -14
- package/lib/commands/build.js +19 -5
- package/lib/commands/chat.js +180 -26
- package/lib/commands/chatCompanion.js +27 -0
- package/lib/commands/chatState.js +45 -0
- package/lib/commands/claude.js +35 -38
- package/lib/commands/contacts.js +134 -4
- package/lib/commands/contactsSendAt.js +21 -0
- package/lib/commands/conversation.js +35 -4
- package/lib/commands/dashboard.js +43 -0
- package/lib/commands/department.js +28 -7
- package/lib/commands/devResident.js +15 -3
- package/lib/commands/devSupervisor.js +13 -1
- package/lib/commands/discord.js +75 -39
- package/lib/commands/done.js +98 -28
- package/lib/commands/engagement.js +107 -6
- package/lib/commands/evidence.js +154 -0
- package/lib/commands/ext.js +23 -0
- package/lib/commands/fetchAllowlist.js +71 -0
- package/lib/commands/file.js +38 -1
- package/lib/commands/fleet.js +336 -4
- package/lib/commands/governance.js +12 -3
- package/lib/commands/gripe.js +44 -13
- package/lib/commands/hat.js +254 -9
- package/lib/commands/helpers.js +18 -1
- package/lib/commands/hyperion.js +58 -0
- package/lib/commands/image.js +68 -0
- package/lib/commands/inbox.js +74 -23
- package/lib/commands/kuma.js +1050 -0
- package/lib/commands/kumaSla.js +174 -0
- package/lib/commands/licence.js +52 -155
- package/lib/commands/loop.js +291 -0
- package/lib/commands/lucid.js +10 -4
- package/lib/commands/memory.js +85 -8
- package/lib/commands/mind.js +71 -0
- package/lib/commands/mon.js +69 -2
- package/lib/commands/monitoring.js +1 -1
- package/lib/commands/motion.js +2 -2
- package/lib/commands/nucleus.js +48 -17
- package/lib/commands/objective.js +59 -1
- package/lib/commands/offload.js +89 -0
- package/lib/commands/onboard.js +2 -1
- package/lib/commands/org.js +30 -3
- package/lib/commands/peek.js +28 -0
- package/lib/commands/plan.js +38 -0
- package/lib/commands/plugin.js +110 -0
- package/lib/commands/presence.js +89 -0
- package/lib/commands/provider.js +217 -0
- package/lib/commands/qlarity.js +19 -3
- package/lib/commands/quoxchat.js +13 -4
- package/lib/commands/quoxseo.js +69 -0
- package/lib/commands/reach.js +2 -1
- package/lib/commands/research.js +79 -0
- package/lib/commands/router.js +77 -0
- package/lib/commands/rows.js +367 -0
- package/lib/commands/run.js +82 -10
- package/lib/commands/scope.js +2 -2
- package/lib/commands/server.js +405 -0
- package/lib/commands/setup.js +33 -7
- package/lib/commands/shortcut.js +41 -0
- package/lib/commands/skills.js +68 -9
- package/lib/commands/slot.js +260 -7
- package/lib/commands/status.js +1 -1
- package/lib/commands/team.js +3 -1
- package/lib/commands/tips.js +23 -0
- package/lib/commands/tool.js +133 -45
- package/lib/commands/trace.js +12 -7
- package/lib/commands/trigger.js +95 -0
- package/lib/commands/update.js +46 -0
- package/lib/commands/vault.js +31 -8
- package/lib/commands/vm.js +237 -0
- package/lib/commands/voice.js +34 -3
- package/lib/commands/volt.js +45 -3
- package/lib/commands/walkthrough.js +32 -0
- package/lib/commands/watch.js +73 -21
- package/lib/commands/welcome.js +14 -0
- package/lib/commands/workflow.js +189 -32
- package/lib/commands/x.js +13 -4
- package/lib/commands/youtube.js +172 -0
- package/lib/core/actingAs.js +2 -2
- package/lib/core/actionItems.js +115 -0
- package/lib/core/activeSummary.js +186 -0
- package/lib/core/agentAlias.js +2 -0
- package/lib/core/agentFamilies.js +7 -0
- package/lib/core/aside.js +54 -0
- package/lib/core/askDecision.js +60 -0
- package/lib/core/auth.js +164 -13
- package/lib/core/callerSource.js +1 -1
- package/lib/core/cliBuild.js +62 -0
- package/lib/core/client.js +152 -35
- package/lib/core/commandRegistrars.js +130 -0
- package/lib/core/config.js +143 -25
- package/lib/core/customHats.js +168 -0
- package/lib/core/doneEngineFetch.js +8 -0
- package/lib/core/errors.js +329 -20
- package/lib/core/findingReconcile.js +90 -0
- package/lib/core/global-flags.js +105 -5
- package/lib/core/governedSession.js +1 -3
- package/lib/core/hyperion.js +102 -0
- package/lib/core/inboxResolution.js +65 -0
- package/lib/core/lazyCommands.js +4 -1
- package/lib/core/liveSessionsReport.js +1 -1
- package/lib/core/loopGlyph.js +97 -0
- package/lib/core/offload.js +533 -0
- package/lib/core/org-override.js +1 -1
- package/lib/core/orgResolve.js +70 -0
- package/lib/core/output.js +11 -11
- package/lib/core/peek.js +126 -0
- package/lib/core/profileUsers.js +51 -0
- package/lib/core/promptCancel.js +18 -0
- package/lib/core/repoPath.js +11 -0
- package/lib/core/residentSeed.js +3 -1
- package/lib/core/rootOptions.js +39 -0
- package/lib/core/router.js +168 -0
- package/lib/core/selfUpdate.js +188 -0
- package/lib/core/sessionHeartbeat.js +12 -8
- package/lib/core/sessionsOverview.js +64 -0
- package/lib/core/shortcut.js +83 -0
- package/lib/core/slotKeeper.js +248 -3
- package/lib/core/slotWake.js +120 -0
- package/lib/core/supervisorEngine.js +71 -2
- package/lib/core/version.js +1 -1
- package/lib/core/vm.js +366 -0
- package/lib/core/vmTui.js +86 -0
- package/lib/core/walkthrough.js +35 -0
- package/lib/dragon/companionView.js +34 -0
- package/lib/dragon/frames.js +118 -0
- package/lib/dragon/jobs.js +123 -0
- package/lib/dragon/renderWorker.js +15 -0
- package/lib/dragon/select.js +72 -0
- package/lib/evidence/bundleExport.js +47 -0
- package/lib/evidence/bundleVerify.js +77 -0
- package/lib/hyperion/deck.js +29 -0
- package/lib/lucid/LucidCard.jsx +68 -0
- package/lib/lucid/LucidIntro.jsx +45 -58
- package/lib/lucid/cards.js +86 -0
- package/lib/lucid/markdown.js +81 -0
- package/lib/lucid/motion.js +56 -0
- package/lib/quoxon/EXTENSIONS.md +23 -0
- package/lib/quoxon/activity.js +14 -2
- package/lib/quoxon/aocl.js +117 -0
- package/lib/quoxon/api.js +690 -25
- package/lib/quoxon/app.js +3586 -250
- package/lib/quoxon/approvalFacts.js +96 -0
- package/lib/quoxon/approvalSentence.js +44 -0
- package/lib/quoxon/approvalsView.js +384 -0
- package/lib/quoxon/asideView.js +40 -0
- package/lib/quoxon/ask.js +121 -0
- package/lib/quoxon/away.js +52 -0
- package/lib/quoxon/bang.js +224 -0
- package/lib/quoxon/bulkRisk.js +17 -0
- package/lib/quoxon/capabilities.js +13 -6
- package/lib/quoxon/cells.js +53 -0
- package/lib/quoxon/commandShort.js +124 -0
- package/lib/quoxon/commands.js +429 -39
- package/lib/quoxon/connect.js +210 -23
- package/lib/quoxon/connectCard.js +19 -2
- package/lib/quoxon/consent.js +86 -0
- package/lib/quoxon/copy.js +4 -3
- package/lib/quoxon/countdownLine.js +20 -0
- package/lib/quoxon/deck.js +30 -0
- package/lib/quoxon/demo.autoplay.js +29 -0
- package/lib/quoxon/demo.fixtures.js +1 -1
- package/lib/quoxon/demo.js +46 -3
- package/lib/quoxon/devObserver.js +20 -0
- package/lib/quoxon/dividerAocl.js +192 -0
- package/lib/quoxon/dividerRule.js +57 -0
- package/lib/quoxon/dragonCompanion.js +255 -0
- package/lib/quoxon/dragonModes.js +151 -0
- package/lib/quoxon/dragonMoments.js +82 -0
- package/lib/quoxon/dragonReads.js +68 -0
- package/lib/quoxon/dragonView.js +41 -0
- package/lib/quoxon/earlyInput.js +40 -0
- package/lib/quoxon/echo.js +15 -0
- package/lib/quoxon/egg.js +2 -2
- package/lib/quoxon/events.js +266 -26
- package/lib/quoxon/extensions.js +276 -0
- package/lib/quoxon/feedback.js +50 -0
- package/lib/quoxon/gallery.js +21 -7
- package/lib/quoxon/handoffOffer.js +78 -0
- package/lib/quoxon/hatSwitch.js +37 -0
- package/lib/quoxon/headless.js +161 -0
- package/lib/quoxon/hostUrls.js +41 -0
- package/lib/quoxon/inboxView.js +79 -0
- package/lib/quoxon/indicator.js +6 -2
- package/lib/quoxon/installCli.js +79 -0
- package/lib/quoxon/intent.js +12 -1
- package/lib/quoxon/keys.js +51 -8
- package/lib/quoxon/launcher.js +103 -0
- package/lib/quoxon/loopCard.js +456 -0
- package/lib/quoxon/loopCards.js +180 -0
- package/lib/quoxon/loopStream.js +87 -0
- package/lib/quoxon/main.js +101 -160
- package/lib/quoxon/markdown.js +45 -21
- package/lib/quoxon/markdownSettle.js +19 -0
- package/lib/quoxon/matrixDomains.json +46 -0
- package/lib/quoxon/mentions.js +90 -0
- package/lib/quoxon/mind.js +103 -0
- package/lib/quoxon/mode.js +46 -0
- package/lib/quoxon/model.js +132 -26
- package/lib/quoxon/modelPrefs.js +345 -0
- package/lib/quoxon/motion/clock.js +3 -2
- package/lib/quoxon/motion/level.js +91 -0
- package/lib/quoxon/mouse.js +222 -0
- package/lib/quoxon/noai.js +57 -0
- package/lib/quoxon/objectiveOffer.js +82 -0
- package/lib/quoxon/objects/away.js +72 -0
- package/lib/quoxon/objects/fetch.js +17 -5
- package/lib/quoxon/objects/fleet.js +149 -0
- package/lib/quoxon/objects/health.js +186 -0
- package/lib/quoxon/objects/index.js +46 -7
- package/lib/quoxon/objects/mirror.js +137 -0
- package/lib/quoxon/objects/model.js +33 -0
- package/lib/quoxon/objects/peek.js +17 -0
- package/lib/quoxon/objects/proof.js +12 -4
- package/lib/quoxon/objects/prove.js +130 -0
- package/lib/quoxon/objects/replay.js +125 -0
- package/lib/quoxon/objects/sitrep.js +58 -0
- package/lib/quoxon/objects/view.js +11 -0
- package/lib/quoxon/onboarding/copy.js +32 -4
- package/lib/quoxon/onboarding/credential.js +17 -4
- package/lib/quoxon/onboarding/dockerOffer.js +45 -0
- package/lib/quoxon/onboarding/failureCause.js +33 -0
- package/lib/quoxon/onboarding/finish.js +15 -0
- package/lib/quoxon/onboarding/index.js +34 -7
- package/lib/quoxon/onboarding/installRunner.js +64 -5
- package/lib/quoxon/onboarding/preflight.js +17 -3
- package/lib/quoxon/onboarding/probe.js +65 -0
- package/lib/quoxon/onboarding/shortcutOffer.js +28 -0
- package/lib/quoxon/onboarding/view.js +76 -19
- package/lib/quoxon/orgLabel.js +10 -0
- package/lib/quoxon/orgSwitch.js +59 -0
- package/lib/quoxon/ownBroadcast.js +22 -0
- package/lib/quoxon/palette.js +43 -0
- package/lib/quoxon/planSteps.js +51 -0
- package/lib/quoxon/print.js +12 -5
- package/lib/quoxon/profileSwitch.js +53 -0
- package/lib/quoxon/promptHistory.js +41 -0
- package/lib/quoxon/providers.js +48 -0
- package/lib/quoxon/qart.js +20 -51
- package/lib/quoxon/qdragon.js +410 -0
- package/lib/quoxon/qdragonFly.js +62 -0
- package/lib/quoxon/qdragonScenes.js +282 -0
- package/lib/quoxon/qeyes.js +213 -0
- package/lib/quoxon/qmotion.js +75 -37
- package/lib/quoxon/render.js +740 -124
- package/lib/quoxon/resend.js +72 -0
- package/lib/quoxon/roster.js +117 -17
- package/lib/quoxon/route.js +6 -5
- package/lib/quoxon/rows.js +954 -0
- package/lib/quoxon/rowsStore.js +80 -0
- package/lib/quoxon/screenContext.js +150 -0
- package/lib/quoxon/screenFrames.js +254 -0
- package/lib/quoxon/serverChip.js +42 -0
- package/lib/quoxon/session.js +182 -2
- package/lib/quoxon/sessionDead.js +17 -0
- package/lib/quoxon/signin.js +125 -0
- package/lib/quoxon/slash/agents.js +112 -0
- package/lib/quoxon/slash/argSources.js +65 -0
- package/lib/quoxon/slash/args.js +65 -0
- package/lib/quoxon/slash/automate.js +89 -0
- package/lib/quoxon/slash/broadcast.js +140 -0
- package/lib/quoxon/slash/broadcastRun.js +108 -0
- package/lib/quoxon/slash/card.js +30 -0
- package/lib/quoxon/slash/challenge.js +114 -0
- package/lib/quoxon/slash/cliCommand.js +94 -0
- package/lib/quoxon/slash/cliLeaves.json +1023 -0
- package/lib/quoxon/slash/compact.js +1 -1
- package/lib/quoxon/slash/confirm.js +30 -0
- package/lib/quoxon/slash/crystallize.js +69 -0
- package/lib/quoxon/slash/dashboard.js +136 -0
- package/lib/quoxon/slash/draft.js +54 -0
- package/lib/quoxon/slash/evidenceCmd.js +34 -0
- package/lib/quoxon/slash/hatWalk.js +206 -0
- package/lib/quoxon/slash/inverses.js +77 -0
- package/lib/quoxon/slash/killer.js +24 -0
- package/lib/quoxon/slash/killerApi.js +16 -0
- package/lib/quoxon/slash/ledger.js +13 -8
- package/lib/quoxon/slash/listView.js +3 -1
- package/lib/quoxon/slash/modelCmd.js +261 -0
- package/lib/quoxon/slash/palette.js +22 -8
- package/lib/quoxon/slash/paletteController.js +117 -7
- package/lib/quoxon/slash/panels.js +21 -6
- package/lib/quoxon/slash/picker.js +20 -2
- package/lib/quoxon/slash/qpeCmd.js +35 -0
- package/lib/quoxon/slash/restart.js +95 -13
- package/lib/quoxon/slash/resume.js +18 -1
- package/lib/quoxon/slash/rowCmd.js +157 -0
- package/lib/quoxon/slash/rowWalk.js +175 -0
- package/lib/quoxon/slash/settings.js +16 -6
- package/lib/quoxon/slash/spawn.js +177 -0
- package/lib/quoxon/slash/stepUp.js +274 -0
- package/lib/quoxon/slash/stepUpCard.js +60 -0
- package/lib/quoxon/slash/stepUpCmds.js +78 -0
- package/lib/quoxon/slash/todoCmd.js +122 -0
- package/lib/quoxon/slash/undoApi.js +38 -0
- package/lib/quoxon/slash/undoCmd.js +49 -0
- package/lib/quoxon/slash/undoWish.js +15 -0
- package/lib/quoxon/slash/watch.js +164 -0
- package/lib/quoxon/slash/wish.js +23 -0
- package/lib/quoxon/slash/wishCmd.js +32 -0
- package/lib/quoxon/slotChat.js +300 -0
- package/lib/quoxon/slotFormat.js +195 -0
- package/lib/quoxon/slotRun.js +131 -0
- package/lib/quoxon/sound/mapping.js +2 -1
- package/lib/quoxon/stray.js +22 -0
- package/lib/quoxon/suggestCommand.js +90 -0
- package/lib/quoxon/term.js +46 -11
- package/lib/quoxon/textBuffer.js +176 -2
- package/lib/quoxon/theme.js +58 -25
- package/lib/quoxon/tips.js +433 -0
- package/lib/quoxon/toolCards.js +30 -0
- package/lib/quoxon/toolError.js +41 -0
- package/lib/quoxon/transcript.js +42 -4
- package/lib/quoxon/web/qface.js +18 -10
- package/lib/quoxon/welcome.js +1 -1
- package/lib/quoxon/whatsnew.js +136 -0
- package/lib/quoxon/whatsnew.jsonl +134 -0
- package/lib/quoxon/windowOrg.js +123 -0
- package/lib/server/devServers.js +137 -0
- package/lib/server/diag.js +129 -0
- package/lib/server/doctor.js +71 -0
- package/lib/server/install.js +149 -0
- package/lib/server/pluginEnable.js +161 -0
- package/lib/server/skew.js +56 -0
- package/lib/server/snapshot.js +131 -0
- package/lib/server/status.js +128 -0
- package/lib/server/sys.js +65 -0
- package/lib/server/uninstall.js +63 -0
- package/lib/server/update.js +234 -0
- package/lib/toolOutputShape.js +315 -0
- package/lib/tui/views/HyperionDeck.jsx +79 -0
- package/lib/tui/views/LucidDeck.jsx +209 -217
- package/package.json +5 -1
- package/vendor/dragonlab/SOURCE +4 -0
- package/vendor/dragonlab/design/cipher/v1/cipher-master.svg +46 -0
- package/vendor/dragonlab/design/cipher/v2/character.mjs +49 -0
- package/vendor/dragonlab/design/cipher/v2/review.mjs +33 -0
- package/vendor/dragonlab/design/cipher/v2/watch.mjs +56 -0
- package/vendor/dragonlab/design/drago/v1/character.mjs +19 -0
- package/vendor/dragonlab/design/drago/v1/drago-master.svg +56 -0
- package/vendor/dragonlab/design/drago/v2/character.mjs +87 -0
- package/vendor/dragonlab/design/drago/v4/character.mjs +67 -0
- package/vendor/dragonlab/design/drago/v4/profile.mjs +35 -0
- package/vendor/dragonlab/design/drago/v4/review.mjs +33 -0
- package/vendor/dragonlab/design/drago/v4/watch.mjs +56 -0
- package/vendor/dragonlab/design/hyperion/v1/hyperion-master.svg +56 -0
- package/vendor/dragonlab/design/hyperion/v2/character.mjs +79 -0
- package/vendor/dragonlab/design/hyperion/v2/review.mjs +33 -0
- package/vendor/dragonlab/design/hyperion/v2/watch.mjs +56 -0
- package/vendor/dragonlab/design/lucid/recovery/arrival.mjs +22 -0
- package/vendor/dragonlab/design/lucid/recovery/character.mjs +106 -0
- package/vendor/dragonlab/design/lucid/recovery/layout.mjs +50 -0
- package/vendor/dragonlab/design/lucid/recovery/lucid-master.svg +78 -0
- package/vendor/dragonlab/design/lucid/recovery/motion.mjs +42 -0
- package/vendor/dragonlab/design/lucid/recovery/render.mjs +121 -0
- package/vendor/dragonlab/design/lucid/recovery/review.mjs +68 -0
- package/vendor/dragonlab/design/lucid/recovery/verify.mjs +84 -0
- package/vendor/dragonlab/design/lucid/recovery/watch.mjs +56 -0
- package/vendor/dragonlab/design/seer/v1/seer-master.svg +53 -0
- package/vendor/dragonlab/design/seer/v2/character.mjs +88 -0
- package/vendor/dragonlab/design/seer/v3/character.mjs +33 -0
- package/vendor/dragonlab/design/seer/v4/character.mjs +66 -0
- package/vendor/dragonlab/design/seer/v4/review.mjs +33 -0
- package/vendor/dragonlab/design/seer/v4/watch.mjs +56 -0
- package/vendor/dragonlab/design/stage3/companion-review.mjs +28 -0
- package/vendor/dragonlab/design/stage3/sentinel-art.js +39 -0
- package/vendor/dragonlab/design/stage3/sentinel-braille.js +216 -0
- package/vendor/dragonlab/design/stage3/sentinel-character.js +257 -0
- package/vendor/dragonlab/design/stage3/sentinel-icon.js +103 -0
- package/vendor/dragonlab/design/stage3/sentinel-warden-eyes.js +95 -0
- package/vendor/dragonlab/design/stage3/svg-coverage.js +148 -0
- package/vendor/dragonlab/factory/svg-rig.mjs +63 -0
- package/vendor/dragonlab/integration/companions-v1/characters.mjs +88 -0
- package/vendor/dragonlab/integration/companions-v1/cipher.mjs +2 -0
- package/vendor/dragonlab/integration/companions-v1/companion.mjs +63 -0
- package/vendor/dragonlab/integration/companions-v1/drago.mjs +2 -0
- package/vendor/dragonlab/integration/companions-v1/hyperion.mjs +2 -0
- package/vendor/dragonlab/integration/companions-v1/lucid.mjs +2 -0
- package/vendor/dragonlab/integration/companions-v1/seer.mjs +2 -0
- package/vendor/dragonlab/integration/companions-v1/sentinel.mjs +2 -0
- package/vendor/dragonlab/integration/companions-v1/view.mjs +28 -0
- package/vendor/dragonlab/integration/hyperion-v3/activity.mjs +76 -0
- package/vendor/dragonlab/lib/power-effects.js +294 -0
- package/vendor/dragonlab/lib/power-registry.js +74 -0
- package/vendor/dragonlab/vendor/quox-dragon/qart.js +348 -0
- package/vendor/dragonlab/vendor/quox-dragon/qeyes.js +213 -0
- package/lib/core/websiteSession.js +0 -148
|
@@ -29,4 +29,17 @@ export const executions = {
|
|
|
29
29
|
path: () => `/api/executions`,
|
|
30
30
|
tags: ['live-safe'],
|
|
31
31
|
},
|
|
32
|
+
// #997: `run cancel`/`run resume` reach the engine first (these are the runs `run list` shows)
|
|
33
|
+
'executions.cancel': {
|
|
34
|
+
method: 'POST',
|
|
35
|
+
service: 'quoxflow',
|
|
36
|
+
path: ({ executionId }) => `/api/executions/${executionId}/cancel`,
|
|
37
|
+
tags: ['live-write'],
|
|
38
|
+
},
|
|
39
|
+
'executions.resume': {
|
|
40
|
+
method: 'POST',
|
|
41
|
+
service: 'quoxflow',
|
|
42
|
+
path: ({ executionId }) => `/api/executions/${executionId}/resume`,
|
|
43
|
+
tags: ['live-write'],
|
|
44
|
+
},
|
|
32
45
|
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 'fetchAllowlist.*' endpoints: the per-org URL-prefix allowlist behind the governed
|
|
3
|
+
* agent fetch tool (web_fetch_allowlisted, quox#1171). Collector-owned routes
|
|
4
|
+
* (services/collector/lib/agentFetchAllowlistRoutes.js). Writes are human org
|
|
5
|
+
* admin only on the server.
|
|
6
|
+
*
|
|
7
|
+
* See cli/lib/api/endpoints/index.js for the fragment convention.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export const fetchAllowlist = {
|
|
11
|
+
'fetchAllowlist.list': {
|
|
12
|
+
method: 'GET',
|
|
13
|
+
service: 'collector',
|
|
14
|
+
path: () => `/api/v1/fetch-allowlist`,
|
|
15
|
+
tags: ['live-safe'],
|
|
16
|
+
},
|
|
17
|
+
'fetchAllowlist.add': {
|
|
18
|
+
method: 'POST',
|
|
19
|
+
service: 'collector',
|
|
20
|
+
path: () => `/api/v1/fetch-allowlist`,
|
|
21
|
+
},
|
|
22
|
+
'fetchAllowlist.remove': {
|
|
23
|
+
method: 'DELETE',
|
|
24
|
+
service: 'collector',
|
|
25
|
+
path: ({ prefix }) => `/api/v1/fetch-allowlist?url_prefix=${encodeURIComponent(prefix)}`,
|
|
26
|
+
},
|
|
27
|
+
};
|
|
@@ -23,4 +23,18 @@ export const files = {
|
|
|
23
23
|
path: () => `/upload`,
|
|
24
24
|
tags: ['live-write'],
|
|
25
25
|
},
|
|
26
|
+
// F01 A': quarantined legacy files (no proven owner) and their owner-approved assignment. Collector routes,
|
|
27
|
+
// human instance admin only (enforced server-side).
|
|
28
|
+
'files.quarantine.list': {
|
|
29
|
+
method: 'GET',
|
|
30
|
+
service: 'collector',
|
|
31
|
+
path: () => `/api/v1/admin/files/quarantine`,
|
|
32
|
+
tags: ['live-safe'],
|
|
33
|
+
},
|
|
34
|
+
'files.quarantine.assign': {
|
|
35
|
+
method: 'POST',
|
|
36
|
+
service: 'collector',
|
|
37
|
+
path: () => `/api/v1/admin/files/assign`,
|
|
38
|
+
tags: ['live-write'],
|
|
39
|
+
},
|
|
26
40
|
};
|
package/lib/api/endpoints/hat.js
CHANGED
|
@@ -26,6 +26,36 @@ export const hat = {
|
|
|
26
26
|
path: ({ orgId, hatId }) => `/api/orgs/${orgId}/quoxhat/hats/${encodeURIComponent(hatId)}`,
|
|
27
27
|
tags: ['live-safe'],
|
|
28
28
|
},
|
|
29
|
+
// quox#1183: which hat a conversation is on, and the person's own switch (audited quoxhat.binding.selected).
|
|
30
|
+
'hat.resolve': {
|
|
31
|
+
method: 'GET',
|
|
32
|
+
service: 'auth',
|
|
33
|
+
path: ({ orgId }) => `/api/orgs/${orgId}/quoxhat/resolve`,
|
|
34
|
+
tags: ['live-safe'],
|
|
35
|
+
},
|
|
36
|
+
'hat.bind': {
|
|
37
|
+
method: 'PUT',
|
|
38
|
+
service: 'auth',
|
|
39
|
+
path: ({ orgId, conversationId }) => `/api/orgs/${orgId}/quoxhat/bindings/${encodeURIComponent(conversationId)}`,
|
|
40
|
+
},
|
|
41
|
+
// CUSTOM-HATS (owner 2026-10-17): create / edit (definition + optional rename) / delete a custom
|
|
42
|
+
// hat. Same auth routes the dashboard uses; org hats need org manage-settings, a private hat only
|
|
43
|
+
// its owner. Every write is revisioned and audited server-side (quoxhat.hat.created|updated|deleted).
|
|
44
|
+
'hat.create': {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
service: 'auth',
|
|
47
|
+
path: ({ orgId }) => `/api/orgs/${orgId}/quoxhat/hats`,
|
|
48
|
+
},
|
|
49
|
+
'hat.update': {
|
|
50
|
+
method: 'PUT',
|
|
51
|
+
service: 'auth',
|
|
52
|
+
path: ({ orgId, hatId }) => `/api/orgs/${orgId}/quoxhat/hats/${encodeURIComponent(hatId)}`,
|
|
53
|
+
},
|
|
54
|
+
'hat.delete': {
|
|
55
|
+
method: 'DELETE',
|
|
56
|
+
service: 'auth',
|
|
57
|
+
path: ({ orgId, hatId }) => `/api/orgs/${orgId}/quoxhat/hats/${encodeURIComponent(hatId)}`,
|
|
58
|
+
},
|
|
29
59
|
// Audited reset of an org-edited built-in hat back to its current template
|
|
30
60
|
// (needs org manage-settings); writes quoxhat.hat.reset_to_template.
|
|
31
61
|
'hat.reset': {
|
|
@@ -33,4 +63,18 @@ export const hat = {
|
|
|
33
63
|
service: 'auth',
|
|
34
64
|
path: ({ orgId, hatId }) => `/api/orgs/${orgId}/quoxhat/hats/${encodeURIComponent(hatId)}/reset-to-template`,
|
|
35
65
|
},
|
|
66
|
+
// Merge-upgrade (2026-10-19): 3-way merge of an org-edited built-in onto the current
|
|
67
|
+
// template. Preview is a dry run (writes nothing); upgrade appends one system-authored
|
|
68
|
+
// revision (audited quoxhat.hat.template_merged) and refuses a stale preview (409).
|
|
69
|
+
'hat.upgrade.preview': {
|
|
70
|
+
method: 'GET',
|
|
71
|
+
service: 'auth',
|
|
72
|
+
path: ({ orgId, hatId }) => `/api/orgs/${orgId}/quoxhat/hats/${encodeURIComponent(hatId)}/upgrade-preview`,
|
|
73
|
+
tags: ['live-safe'],
|
|
74
|
+
},
|
|
75
|
+
'hat.upgrade': {
|
|
76
|
+
method: 'POST',
|
|
77
|
+
service: 'auth',
|
|
78
|
+
path: ({ orgId, hatId }) => `/api/orgs/${orgId}/quoxhat/hats/${encodeURIComponent(hatId)}/upgrade`,
|
|
79
|
+
},
|
|
36
80
|
};
|
|
@@ -17,12 +17,32 @@ export const inbox = {
|
|
|
17
17
|
path: ({ orgId }) => `/api/orgs/${orgId}/inbox`,
|
|
18
18
|
tags: ['live-safe'],
|
|
19
19
|
},
|
|
20
|
+
// quox#827: the ONE server-side set of open approvals this user can act on (also backs stats.pending_approvals and LUCID).
|
|
21
|
+
'inbox.approvals.open': {
|
|
22
|
+
method: 'GET',
|
|
23
|
+
service: 'auth',
|
|
24
|
+
path: ({ orgId }) => `/api/orgs/${orgId}/approvals/open`,
|
|
25
|
+
tags: ['live-safe'],
|
|
26
|
+
},
|
|
20
27
|
'inbox.respond': {
|
|
21
28
|
method: 'POST',
|
|
22
29
|
service: 'auth',
|
|
23
30
|
path: ({ orgId, itemId }) => `/api/orgs/${orgId}/inbox/${itemId}/respond`,
|
|
24
31
|
tags: ['live-write'],
|
|
25
32
|
},
|
|
33
|
+
// quox ask: a session files a decision request (one inbox item) and waits for the human's answer.
|
|
34
|
+
'inbox.decision.create': {
|
|
35
|
+
method: 'POST',
|
|
36
|
+
service: 'auth',
|
|
37
|
+
path: ({ orgId }) => `/api/orgs/${orgId}/decisions`,
|
|
38
|
+
tags: ['live-write'],
|
|
39
|
+
},
|
|
40
|
+
'inbox.decision.get': {
|
|
41
|
+
method: 'GET',
|
|
42
|
+
service: 'auth',
|
|
43
|
+
path: ({ orgId, id }) => `/api/orgs/${orgId}/decisions/${id}`,
|
|
44
|
+
tags: ['live-safe'],
|
|
45
|
+
},
|
|
26
46
|
'inbox.stats.list': {
|
|
27
47
|
method: 'GET',
|
|
28
48
|
service: 'auth',
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
* of silently landing in the wrong file.
|
|
51
51
|
*/
|
|
52
52
|
|
|
53
|
+
import { actions } from './actions.js';
|
|
53
54
|
import { admin } from './admin.js';
|
|
54
55
|
import { aee } from './aee.js';
|
|
55
56
|
import { agentAttach } from './agent-attach.js';
|
|
@@ -58,8 +59,14 @@ import { assistants } from './assistants.js';
|
|
|
58
59
|
import { audit } from './audit.js';
|
|
59
60
|
import { auth } from './auth.js';
|
|
60
61
|
import { awareness } from './awareness.js';
|
|
62
|
+
import { router } from './router.js';
|
|
63
|
+
import { mind } from './mind.js';
|
|
61
64
|
import { lucid } from './lucid.js';
|
|
65
|
+
import { loops } from './loops.js';
|
|
66
|
+
import { away } from './away.js';
|
|
67
|
+
import { presence } from './presence.js';
|
|
62
68
|
import { invites } from './invites.js';
|
|
69
|
+
import { agentSchedules } from './agent-schedules.js';
|
|
63
70
|
import { backupSchedules } from './backup-schedules.js';
|
|
64
71
|
import { backups } from './backups.js';
|
|
65
72
|
import { brain } from './brain.js';
|
|
@@ -78,10 +85,12 @@ import { engine } from './engine.js';
|
|
|
78
85
|
import { executions } from './executions.js';
|
|
79
86
|
import { file } from './file.js';
|
|
80
87
|
import { files } from './files.js';
|
|
88
|
+
import { evidence } from './evidence.js';
|
|
81
89
|
import { governance } from './governance.js';
|
|
82
90
|
import { inbox } from './inbox.js';
|
|
83
91
|
import { inboxq } from './inboxq.js';
|
|
84
92
|
import { notesq } from './notesq.js';
|
|
93
|
+
import { blog } from './blog.js';
|
|
85
94
|
import { contactsq } from './contactsq.js';
|
|
86
95
|
import { x } from './x.js';
|
|
87
96
|
import { llmPolicy } from './llm-policy.js';
|
|
@@ -100,6 +109,8 @@ import { quoxchat } from './quoxchat.js';
|
|
|
100
109
|
import { quoxflow } from './quoxflow.js';
|
|
101
110
|
import { quoxplan } from './quoxplan.js';
|
|
102
111
|
import { qlarity } from './qlarity.js';
|
|
112
|
+
import { fetchAllowlist } from './fetchAllowlist.js';
|
|
113
|
+
import { devServerRegistry } from './devServerRegistry.js';
|
|
103
114
|
import { quoxseo } from './quoxseo.js';
|
|
104
115
|
import { telephony } from './telephony.js';
|
|
105
116
|
import { voice } from './voice.js';
|
|
@@ -109,6 +120,7 @@ import { runs } from './runs.js';
|
|
|
109
120
|
import { scim } from './scim.js';
|
|
110
121
|
import { scopes } from './scopes.js';
|
|
111
122
|
import { security } from './security.js';
|
|
123
|
+
import { server } from './server.js';
|
|
112
124
|
import { setup } from './setup.js';
|
|
113
125
|
import { skills } from './skills.js';
|
|
114
126
|
import { sso } from './sso.js';
|
|
@@ -124,11 +136,13 @@ import { v1 } from './v1.js';
|
|
|
124
136
|
import { vault } from './vault.js';
|
|
125
137
|
import { volt } from './volt.js';
|
|
126
138
|
import { safety } from './safety.js';
|
|
139
|
+
import { stepup } from './stepup.js';
|
|
127
140
|
import { ward } from './ward.js';
|
|
128
141
|
import { webhooks } from './webhooks.js';
|
|
129
142
|
import { workflows } from './workflows.js';
|
|
130
143
|
|
|
131
144
|
export const ENDPOINTS = {
|
|
145
|
+
...actions,
|
|
132
146
|
...admin,
|
|
133
147
|
...aee,
|
|
134
148
|
...agentAttach,
|
|
@@ -137,8 +151,14 @@ export const ENDPOINTS = {
|
|
|
137
151
|
...audit,
|
|
138
152
|
...auth,
|
|
139
153
|
...awareness,
|
|
154
|
+
...router,
|
|
155
|
+
...mind,
|
|
140
156
|
...lucid,
|
|
157
|
+
...loops,
|
|
158
|
+
...away,
|
|
159
|
+
...presence,
|
|
141
160
|
...invites,
|
|
161
|
+
...agentSchedules,
|
|
142
162
|
...backupSchedules,
|
|
143
163
|
...backups,
|
|
144
164
|
...brain,
|
|
@@ -157,10 +177,12 @@ export const ENDPOINTS = {
|
|
|
157
177
|
...executions,
|
|
158
178
|
...file,
|
|
159
179
|
...files,
|
|
180
|
+
...evidence,
|
|
160
181
|
...governance,
|
|
161
182
|
...inbox,
|
|
162
183
|
...inboxq,
|
|
163
184
|
...notesq,
|
|
185
|
+
...blog,
|
|
164
186
|
...contactsq,
|
|
165
187
|
...x,
|
|
166
188
|
...llmPolicy,
|
|
@@ -179,6 +201,8 @@ export const ENDPOINTS = {
|
|
|
179
201
|
...quoxflow,
|
|
180
202
|
...quoxplan,
|
|
181
203
|
...qlarity,
|
|
204
|
+
...fetchAllowlist,
|
|
205
|
+
...devServerRegistry,
|
|
182
206
|
...quoxseo,
|
|
183
207
|
...telephony,
|
|
184
208
|
...voice,
|
|
@@ -188,6 +212,7 @@ export const ENDPOINTS = {
|
|
|
188
212
|
...scim,
|
|
189
213
|
...scopes,
|
|
190
214
|
...security,
|
|
215
|
+
...server,
|
|
191
216
|
...setup,
|
|
192
217
|
...skills,
|
|
193
218
|
...sso,
|
|
@@ -203,6 +228,7 @@ export const ENDPOINTS = {
|
|
|
203
228
|
...vault,
|
|
204
229
|
...volt,
|
|
205
230
|
...safety,
|
|
231
|
+
...stepup,
|
|
206
232
|
...ward,
|
|
207
233
|
...webhooks,
|
|
208
234
|
...workflows,
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 'loops.*' endpoints: QLOOP-LIVE, observe a loop as it runs.
|
|
3
|
+
* Served by the collector (/api/v1/loops/*), which forwards the caller's identity to the tasks
|
|
4
|
+
* service that owns the durable per-loop event log. Contract: ~/quoxon-work/qloop-live-design.md section 1.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const loops = {
|
|
8
|
+
'loops.list': {
|
|
9
|
+
method: 'GET',
|
|
10
|
+
service: 'collector',
|
|
11
|
+
path: () => `/api/v1/loops`,
|
|
12
|
+
tags: ['live-safe'],
|
|
13
|
+
},
|
|
14
|
+
'loops.get': {
|
|
15
|
+
method: 'GET',
|
|
16
|
+
service: 'collector',
|
|
17
|
+
path: ({ id }) => `/api/v1/loops/${id}`,
|
|
18
|
+
tags: ['live-safe'],
|
|
19
|
+
},
|
|
20
|
+
'loops.events': {
|
|
21
|
+
method: 'STREAM',
|
|
22
|
+
service: 'collector',
|
|
23
|
+
path: ({ id }) => `/api/v1/loops/${id}/events`,
|
|
24
|
+
tags: ['live-safe'],
|
|
25
|
+
},
|
|
26
|
+
};
|
|
@@ -66,6 +66,25 @@ export const memory = {
|
|
|
66
66
|
path: ({ id }) => `/api/memory/${id}/reinstate`,
|
|
67
67
|
tags: ['live-write'],
|
|
68
68
|
},
|
|
69
|
+
// QUOXMIND #1111: the core set.
|
|
70
|
+
'memory.core-set': {
|
|
71
|
+
method: 'GET',
|
|
72
|
+
service: 'memory',
|
|
73
|
+
path: () => `/api/memory/core-set`,
|
|
74
|
+
tags: ['live-safe'],
|
|
75
|
+
},
|
|
76
|
+
'memory.pin': {
|
|
77
|
+
method: 'POST',
|
|
78
|
+
service: 'memory',
|
|
79
|
+
path: ({ id }) => `/api/memory/${id}/pin`,
|
|
80
|
+
tags: ['live-write'],
|
|
81
|
+
},
|
|
82
|
+
'memory.unpin': {
|
|
83
|
+
method: 'DELETE',
|
|
84
|
+
service: 'memory',
|
|
85
|
+
path: ({ id }) => `/api/memory/${id}/pin`,
|
|
86
|
+
tags: ['live-write'],
|
|
87
|
+
},
|
|
69
88
|
'memory.update': {
|
|
70
89
|
method: 'PATCH',
|
|
71
90
|
service: 'memory',
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 'mind.*' endpoints: QuoxMind cognitive implants (read-only).
|
|
3
|
+
* Collector routes: GET /api/v1/mind/implants, /api/v1/mind/implants/:id,
|
|
4
|
+
* /api/v1/mind/health, /api/v1/mind/mirror (the compact System Status block CommanderQ
|
|
5
|
+
* is given, plus its age). Org-scoped, requireServiceOrUserAuth.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export const mind = {
|
|
9
|
+
'mind.implants': { method: 'GET', service: 'collector', path: () => `/api/v1/mind/implants`, tags: ['live-safe'] },
|
|
10
|
+
'mind.implant': { method: 'GET', service: 'collector', path: ({ id }) => `/api/v1/mind/implants/${encodeURIComponent(id)}`, tags: ['live-safe'] },
|
|
11
|
+
'mind.health': { method: 'GET', service: 'collector', path: () => `/api/v1/mind/health`, tags: ['live-safe'] },
|
|
12
|
+
'mind.mirror': { method: 'GET', service: 'collector', path: () => `/api/v1/mind/mirror`, tags: ['live-safe'] },
|
|
13
|
+
};
|
package/lib/api/endpoints/mon.js
CHANGED
|
@@ -85,6 +85,12 @@ export const mon = {
|
|
|
85
85
|
path: ({ id }) => `/docker/containers/${id}`,
|
|
86
86
|
tags: ['live-safe'],
|
|
87
87
|
},
|
|
88
|
+
'mon.docker.containers.inspect': {
|
|
89
|
+
method: 'GET',
|
|
90
|
+
service: 'collector',
|
|
91
|
+
path: ({ id }) => `/docker/containers/${id}/inspect`,
|
|
92
|
+
tags: ['live-safe'],
|
|
93
|
+
},
|
|
88
94
|
'mon.docker.containers.list': {
|
|
89
95
|
method: 'GET',
|
|
90
96
|
service: 'collector',
|
|
@@ -121,6 +127,179 @@ export const mon = {
|
|
|
121
127
|
path: () => `/docker/system-df`,
|
|
122
128
|
tags: ['live-safe'],
|
|
123
129
|
},
|
|
130
|
+
'mon.kuma.monitors.list': {
|
|
131
|
+
method: 'GET',
|
|
132
|
+
service: 'collector',
|
|
133
|
+
path: ({ id } = {}) => `/api/v1/kuma/monitors`,
|
|
134
|
+
tags: ['live-safe'],
|
|
135
|
+
},
|
|
136
|
+
'mon.kuma.monitors.get': {
|
|
137
|
+
method: 'GET',
|
|
138
|
+
service: 'collector',
|
|
139
|
+
path: ({ id } = {}) => `/api/v1/kuma/monitors/${encodeURIComponent(id)}`,
|
|
140
|
+
tags: ['live-safe'],
|
|
141
|
+
},
|
|
142
|
+
'mon.kuma.monitors.create': {
|
|
143
|
+
method: 'POST',
|
|
144
|
+
service: 'collector',
|
|
145
|
+
path: ({ id } = {}) => `/api/v1/kuma/monitors`,
|
|
146
|
+
tags: ['live-write'],
|
|
147
|
+
},
|
|
148
|
+
'mon.kuma.monitors.update': {
|
|
149
|
+
method: 'PATCH',
|
|
150
|
+
service: 'collector',
|
|
151
|
+
path: ({ id } = {}) => `/api/v1/kuma/monitors/${encodeURIComponent(id)}`,
|
|
152
|
+
tags: ['live-write'],
|
|
153
|
+
},
|
|
154
|
+
'mon.kuma.monitors.pause': {
|
|
155
|
+
method: 'POST',
|
|
156
|
+
service: 'collector',
|
|
157
|
+
path: ({ id } = {}) => `/api/v1/kuma/monitors/${encodeURIComponent(id)}/pause`,
|
|
158
|
+
tags: ['live-write'],
|
|
159
|
+
},
|
|
160
|
+
'mon.kuma.monitors.resume': {
|
|
161
|
+
method: 'POST',
|
|
162
|
+
service: 'collector',
|
|
163
|
+
path: ({ id } = {}) => `/api/v1/kuma/monitors/${encodeURIComponent(id)}/resume`,
|
|
164
|
+
tags: ['live-write'],
|
|
165
|
+
},
|
|
166
|
+
'mon.kuma.monitors.delete': {
|
|
167
|
+
method: 'DELETE',
|
|
168
|
+
service: 'collector',
|
|
169
|
+
path: ({ id } = {}) => `/api/v1/kuma/monitors/${encodeURIComponent(id)}`,
|
|
170
|
+
tags: ['live-write'],
|
|
171
|
+
},
|
|
172
|
+
'mon.kuma.incidents.list': {
|
|
173
|
+
method: 'GET',
|
|
174
|
+
service: 'collector',
|
|
175
|
+
path: ({ open, limit } = {}) => {
|
|
176
|
+
const q = [];
|
|
177
|
+
if (open) q.push('open=1');
|
|
178
|
+
if (limit) q.push(`limit=${encodeURIComponent(limit)}`);
|
|
179
|
+
return `/api/v1/kuma/incidents${q.length ? `?${q.join('&')}` : ''}`;
|
|
180
|
+
},
|
|
181
|
+
tags: ['live-safe'],
|
|
182
|
+
},
|
|
183
|
+
'mon.kuma.incidents.get': {
|
|
184
|
+
method: 'GET',
|
|
185
|
+
service: 'collector',
|
|
186
|
+
path: ({ id } = {}) => `/api/v1/kuma/incidents/${encodeURIComponent(id)}`,
|
|
187
|
+
tags: ['live-safe'],
|
|
188
|
+
},
|
|
189
|
+
'mon.kuma.coverage.get': {
|
|
190
|
+
method: 'GET',
|
|
191
|
+
service: 'collector',
|
|
192
|
+
path: () => `/api/v1/kuma/coverage`,
|
|
193
|
+
tags: ['live-safe'],
|
|
194
|
+
},
|
|
195
|
+
'mon.kuma.coverage.propose': {
|
|
196
|
+
method: 'POST',
|
|
197
|
+
service: 'collector',
|
|
198
|
+
path: () => `/api/v1/kuma/coverage/propose`,
|
|
199
|
+
tags: ['live-safe'],
|
|
200
|
+
},
|
|
201
|
+
'mon.kuma.maintenance.list': {
|
|
202
|
+
method: 'GET',
|
|
203
|
+
service: 'collector',
|
|
204
|
+
path: () => `/api/v1/kuma/maintenance`,
|
|
205
|
+
tags: ['live-safe'],
|
|
206
|
+
},
|
|
207
|
+
'mon.kuma.maintenance.open': {
|
|
208
|
+
method: 'POST',
|
|
209
|
+
service: 'collector',
|
|
210
|
+
path: () => `/api/v1/kuma/maintenance`,
|
|
211
|
+
tags: ['live-write'],
|
|
212
|
+
},
|
|
213
|
+
'mon.kuma.maintenance.end': {
|
|
214
|
+
method: 'POST',
|
|
215
|
+
service: 'collector',
|
|
216
|
+
path: ({ id } = {}) => `/api/v1/kuma/maintenance/${encodeURIComponent(id)}/end`,
|
|
217
|
+
tags: ['live-write'],
|
|
218
|
+
},
|
|
219
|
+
'mon.kuma.statusIncident.draft': {
|
|
220
|
+
method: 'GET',
|
|
221
|
+
service: 'collector',
|
|
222
|
+
path: ({ id } = {}) => `/api/v1/kuma/status-incidents/${encodeURIComponent(id)}/draft`,
|
|
223
|
+
tags: ['live-safe'],
|
|
224
|
+
},
|
|
225
|
+
'mon.kuma.statusIncident.publish': {
|
|
226
|
+
method: 'POST',
|
|
227
|
+
service: 'collector',
|
|
228
|
+
path: ({ id } = {}) => `/api/v1/kuma/status-incidents/${encodeURIComponent(id)}/publish`,
|
|
229
|
+
tags: ['live-write'],
|
|
230
|
+
},
|
|
231
|
+
'mon.kuma.statusIncident.resolve': {
|
|
232
|
+
method: 'POST',
|
|
233
|
+
service: 'collector',
|
|
234
|
+
path: () => `/api/v1/kuma/status-incidents/resolve`,
|
|
235
|
+
tags: ['live-write'],
|
|
236
|
+
},
|
|
237
|
+
'mon.kuma.diagnose.create': {
|
|
238
|
+
method: 'POST',
|
|
239
|
+
service: 'collector',
|
|
240
|
+
path: () => `/api/v1/kuma/diagnose`,
|
|
241
|
+
tags: ['live-safe'],
|
|
242
|
+
},
|
|
243
|
+
'mon.kuma.sla.create': {
|
|
244
|
+
method: 'POST',
|
|
245
|
+
service: 'collector',
|
|
246
|
+
path: () => `/api/v1/kuma/sla`,
|
|
247
|
+
tags: ['live-safe'],
|
|
248
|
+
},
|
|
249
|
+
'mon.kuma.sla.list': {
|
|
250
|
+
method: 'GET',
|
|
251
|
+
service: 'collector',
|
|
252
|
+
path: () => `/api/v1/kuma/sla`,
|
|
253
|
+
tags: ['live-safe'],
|
|
254
|
+
},
|
|
255
|
+
'mon.kuma.sla.get': {
|
|
256
|
+
method: 'GET',
|
|
257
|
+
service: 'collector',
|
|
258
|
+
path: ({ id } = {}) => `/api/v1/kuma/sla/${encodeURIComponent(id)}`,
|
|
259
|
+
tags: ['live-safe'],
|
|
260
|
+
},
|
|
261
|
+
'mon.kuma.sla.verify': {
|
|
262
|
+
method: 'GET',
|
|
263
|
+
service: 'collector',
|
|
264
|
+
path: ({ id } = {}) => `/api/v1/kuma/sla/${encodeURIComponent(id)}/verify`,
|
|
265
|
+
tags: ['live-safe'],
|
|
266
|
+
},
|
|
267
|
+
'mon.kuma.hooks.list': {
|
|
268
|
+
method: 'GET',
|
|
269
|
+
service: 'collector',
|
|
270
|
+
path: () => `/api/v1/kuma/hooks`,
|
|
271
|
+
tags: ['live-safe'],
|
|
272
|
+
},
|
|
273
|
+
'mon.kuma.hooks.create': {
|
|
274
|
+
method: 'POST',
|
|
275
|
+
service: 'collector',
|
|
276
|
+
path: () => `/api/v1/kuma/hooks`,
|
|
277
|
+
tags: ['live-write'],
|
|
278
|
+
},
|
|
279
|
+
'mon.kuma.hooks.delete': {
|
|
280
|
+
method: 'DELETE',
|
|
281
|
+
service: 'collector',
|
|
282
|
+
path: ({ id } = {}) => `/api/v1/kuma/hooks/${encodeURIComponent(id)}`,
|
|
283
|
+
tags: ['live-write'],
|
|
284
|
+
},
|
|
285
|
+
'mon.kuma.refresh.create': {
|
|
286
|
+
method: 'POST',
|
|
287
|
+
service: 'collector',
|
|
288
|
+
path: () => `/api/v1/monitoring/uptime-kuma/refresh`,
|
|
289
|
+
tags: ['live-write'],
|
|
290
|
+
},
|
|
291
|
+
'mon.kuma.live.get': {
|
|
292
|
+
method: 'GET',
|
|
293
|
+
service: 'collector',
|
|
294
|
+
path: ({ fresh } = {}) => `/api/v1/kuma/status${fresh ? '?fresh=1' : ''}`,
|
|
295
|
+
tags: ['live-safe'],
|
|
296
|
+
},
|
|
297
|
+
'mon.kuma.status.get': {
|
|
298
|
+
method: 'GET',
|
|
299
|
+
service: 'collector',
|
|
300
|
+
path: ({ slug }) => `/api/v1/monitoring/uptime-kuma/status/${encodeURIComponent(slug)}`,
|
|
301
|
+
tags: ['live-safe'],
|
|
302
|
+
},
|
|
124
303
|
'mon.metrics.get': {
|
|
125
304
|
method: 'GET',
|
|
126
305
|
service: 'collector',
|
|
@@ -11,6 +11,18 @@ export const objectives = {
|
|
|
11
11
|
path: ({ id }) => `/api/objectives/${id}/approve-plan`,
|
|
12
12
|
tags: ['live-write'],
|
|
13
13
|
},
|
|
14
|
+
'objectives.retry': {
|
|
15
|
+
method: 'POST',
|
|
16
|
+
service: 'tasks',
|
|
17
|
+
path: ({ id }) => `/api/objectives/${id}/retry`,
|
|
18
|
+
tags: ['live-write'],
|
|
19
|
+
},
|
|
20
|
+
'objectives.cancel': {
|
|
21
|
+
method: 'DELETE',
|
|
22
|
+
service: 'tasks',
|
|
23
|
+
path: ({ id }) => `/api/objectives/${id}`,
|
|
24
|
+
tags: ['live-write'],
|
|
25
|
+
},
|
|
14
26
|
'objectives.checkpoint-approve': {
|
|
15
27
|
method: 'POST',
|
|
16
28
|
service: 'tasks',
|
|
@@ -101,6 +101,24 @@ export const plugins = {
|
|
|
101
101
|
path: ({ orgId, pluginId, name }) => `/api/orgs/${orgId}/plugins/${pluginId}/secrets/${name}`,
|
|
102
102
|
tags: ['live-write'],
|
|
103
103
|
},
|
|
104
|
+
'plugins.revocations.create': {
|
|
105
|
+
method: 'POST',
|
|
106
|
+
service: 'auth',
|
|
107
|
+
path: ({ orgId }) => `/api/orgs/${orgId}/plugin-revocations`,
|
|
108
|
+
tags: ['live-write'],
|
|
109
|
+
},
|
|
110
|
+
'plugins.revocations.delete': {
|
|
111
|
+
method: 'DELETE',
|
|
112
|
+
service: 'auth',
|
|
113
|
+
path: ({ orgId, revocationId }) => `/api/orgs/${orgId}/plugin-revocations/${revocationId}`,
|
|
114
|
+
tags: ['live-write'],
|
|
115
|
+
},
|
|
116
|
+
'plugins.revocations.list': {
|
|
117
|
+
method: 'GET',
|
|
118
|
+
service: 'auth',
|
|
119
|
+
path: ({ orgId }) => `/api/orgs/${orgId}/plugin-revocations`,
|
|
120
|
+
tags: ['live-safe'],
|
|
121
|
+
},
|
|
104
122
|
'plugins.trusted-keys.create': {
|
|
105
123
|
method: 'POST',
|
|
106
124
|
service: 'auth',
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 'presence.*' endpoints: PRESENCE (owner 2026-10-16). /afk, /sleep, /back in quox, `quox presence`.
|
|
3
|
+
* Collector routes GET/PUT /api/v1/presence (org from the verified caller; only a human login sets its own).
|
|
4
|
+
*
|
|
5
|
+
* See cli/lib/api/endpoints/index.js for the fragment convention.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export const presence = {
|
|
9
|
+
'presence.list': {
|
|
10
|
+
method: 'GET',
|
|
11
|
+
service: 'collector',
|
|
12
|
+
path: () => `/api/v1/presence`,
|
|
13
|
+
tags: ['live-safe'],
|
|
14
|
+
},
|
|
15
|
+
'presence.get': {
|
|
16
|
+
method: 'GET',
|
|
17
|
+
service: 'collector',
|
|
18
|
+
path: ({ who }) => `/api/v1/presence/${encodeURIComponent(who)}`,
|
|
19
|
+
tags: ['live-safe'],
|
|
20
|
+
},
|
|
21
|
+
'presence.activity': {
|
|
22
|
+
method: 'POST',
|
|
23
|
+
service: 'collector',
|
|
24
|
+
path: () => `/api/v1/presence/activity`,
|
|
25
|
+
tags: ['live-write'],
|
|
26
|
+
},
|
|
27
|
+
'presence.set': {
|
|
28
|
+
method: 'PUT',
|
|
29
|
+
service: 'collector',
|
|
30
|
+
path: () => `/api/v1/presence`,
|
|
31
|
+
tags: ['live-write'],
|
|
32
|
+
},
|
|
33
|
+
};
|
|
@@ -27,6 +27,13 @@ export const quoxplan = {
|
|
|
27
27
|
path: () => `/api/v1/quoxplan/roadmaps`,
|
|
28
28
|
tags: ['live-write'],
|
|
29
29
|
},
|
|
30
|
+
// Read-only free-text search over streams (id, name, summary, notes, plan, phase titles).
|
|
31
|
+
'quoxplan.search': {
|
|
32
|
+
method: 'GET',
|
|
33
|
+
service: 'collector',
|
|
34
|
+
path: () => `/api/v1/quoxplan/search`,
|
|
35
|
+
tags: ['live-safe'],
|
|
36
|
+
},
|
|
30
37
|
'quoxplan.roadmap.streams.list': {
|
|
31
38
|
method: 'GET',
|
|
32
39
|
service: 'collector',
|
|
@@ -59,6 +59,12 @@ export const quoxseo = {
|
|
|
59
59
|
path: ({ query = '' }) => `/api/v1/quoxseo/trends${query}`,
|
|
60
60
|
tags: ['live-safe'],
|
|
61
61
|
},
|
|
62
|
+
'quoxseo.queries.rows': {
|
|
63
|
+
method: 'GET',
|
|
64
|
+
service: 'collector',
|
|
65
|
+
path: ({ query = '' }) => `/api/v1/quoxseo/queries/rows${query}`,
|
|
66
|
+
tags: ['live-safe'],
|
|
67
|
+
},
|
|
62
68
|
'quoxseo.inspection': {
|
|
63
69
|
method: 'GET',
|
|
64
70
|
service: 'collector',
|
|
@@ -77,6 +83,12 @@ export const quoxseo = {
|
|
|
77
83
|
service: 'collector',
|
|
78
84
|
path: () => `/api/v1/quoxseo/sites`,
|
|
79
85
|
},
|
|
86
|
+
// Symmetric removal (quoxwebsite#63); org-scoped at the collector proxy.
|
|
87
|
+
'quoxseo.sites.remove': {
|
|
88
|
+
method: 'DELETE',
|
|
89
|
+
service: 'collector',
|
|
90
|
+
path: ({ id }) => `/api/v1/quoxseo/sites/${encodeURIComponent(id)}`,
|
|
91
|
+
},
|
|
80
92
|
// quox#676: governed report delivery (email via instance SMTP and/or the HITL
|
|
81
93
|
// inbox, AEE-witnessed at the collector).
|
|
82
94
|
'quoxseo.report.deliver': {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 'router.*' endpoints: RouterOS identity (quoxai/quox#1236).
|
|
3
|
+
* Collector route: GET /api/v1/mikrotik/tls-fingerprint (requireServiceOrUserAuth).
|
|
4
|
+
* Handshake only: the collector reads the certificate the configured router
|
|
5
|
+
* endpoint presents and sends NO credentials. Nothing is stored or pinned.
|
|
6
|
+
*
|
|
7
|
+
* See cli/lib/api/endpoints/index.js for the fragment convention.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export const router = {
|
|
11
|
+
'router.tlsFingerprint': {
|
|
12
|
+
method: 'GET',
|
|
13
|
+
service: 'collector',
|
|
14
|
+
path: () => `/api/v1/mikrotik/tls-fingerprint`,
|
|
15
|
+
tags: ['live-safe'],
|
|
16
|
+
},
|
|
17
|
+
};
|