@oxagen/cli 0.4.0 → 0.6.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/README.md +68 -5
- package/dist/agent/__tests__/code-graph.test.d.ts +2 -0
- package/dist/agent/__tests__/code-graph.test.d.ts.map +1 -0
- package/dist/agent/__tests__/code-graph.test.js +83 -0
- package/dist/agent/__tests__/code-graph.test.js.map +1 -0
- package/dist/agent/__tests__/evaluator.test.d.ts +2 -0
- package/dist/agent/__tests__/evaluator.test.d.ts.map +1 -0
- package/dist/agent/__tests__/evaluator.test.js +96 -0
- package/dist/agent/__tests__/evaluator.test.js.map +1 -0
- package/dist/agent/__tests__/fleet-memory.test.d.ts +2 -0
- package/dist/agent/__tests__/fleet-memory.test.d.ts.map +1 -0
- package/dist/agent/__tests__/fleet-memory.test.js +107 -0
- package/dist/agent/__tests__/fleet-memory.test.js.map +1 -0
- package/dist/agent/__tests__/fleet-store.test.d.ts +2 -0
- package/dist/agent/__tests__/fleet-store.test.d.ts.map +1 -0
- package/dist/agent/__tests__/fleet-store.test.js +93 -0
- package/dist/agent/__tests__/fleet-store.test.js.map +1 -0
- package/dist/agent/__tests__/git-isolation.test.d.ts +2 -0
- package/dist/agent/__tests__/git-isolation.test.d.ts.map +1 -0
- package/dist/agent/__tests__/git-isolation.test.js +119 -0
- package/dist/agent/__tests__/git-isolation.test.js.map +1 -0
- package/dist/agent/__tests__/judge.test.d.ts +2 -0
- package/dist/agent/__tests__/judge.test.d.ts.map +1 -0
- package/dist/agent/__tests__/judge.test.js +135 -0
- package/dist/agent/__tests__/judge.test.js.map +1 -0
- package/dist/agent/__tests__/loop-errors.test.d.ts +2 -0
- package/dist/agent/__tests__/loop-errors.test.d.ts.map +1 -0
- package/dist/agent/__tests__/loop-errors.test.js +44 -0
- package/dist/agent/__tests__/loop-errors.test.js.map +1 -0
- package/dist/agent/__tests__/model-router.test.d.ts +2 -0
- package/dist/agent/__tests__/model-router.test.d.ts.map +1 -0
- package/dist/agent/__tests__/model-router.test.js +122 -0
- package/dist/agent/__tests__/model-router.test.js.map +1 -0
- package/dist/agent/__tests__/orchestrator-isolation.test.d.ts +2 -0
- package/dist/agent/__tests__/orchestrator-isolation.test.d.ts.map +1 -0
- package/dist/agent/__tests__/orchestrator-isolation.test.js +134 -0
- package/dist/agent/__tests__/orchestrator-isolation.test.js.map +1 -0
- package/dist/agent/__tests__/orchestrator.test.d.ts +2 -0
- package/dist/agent/__tests__/orchestrator.test.d.ts.map +1 -0
- package/dist/agent/__tests__/orchestrator.test.js +201 -0
- package/dist/agent/__tests__/orchestrator.test.js.map +1 -0
- package/dist/agent/__tests__/pipeline.test.d.ts +2 -0
- package/dist/agent/__tests__/pipeline.test.d.ts.map +1 -0
- package/dist/agent/__tests__/pipeline.test.js +226 -0
- package/dist/agent/__tests__/pipeline.test.js.map +1 -0
- package/dist/agent/__tests__/planner.test.d.ts +2 -0
- package/dist/agent/__tests__/planner.test.d.ts.map +1 -0
- package/dist/agent/__tests__/planner.test.js +98 -0
- package/dist/agent/__tests__/planner.test.js.map +1 -0
- package/dist/agent/__tests__/prompt-enhancer.test.d.ts +2 -0
- package/dist/agent/__tests__/prompt-enhancer.test.d.ts.map +1 -0
- package/dist/agent/__tests__/prompt-enhancer.test.js +107 -0
- package/dist/agent/__tests__/prompt-enhancer.test.js.map +1 -0
- package/dist/agent/__tests__/trace-format.test.d.ts +2 -0
- package/dist/agent/__tests__/trace-format.test.d.ts.map +1 -0
- package/dist/agent/__tests__/trace-format.test.js +104 -0
- package/dist/agent/__tests__/trace-format.test.js.map +1 -0
- package/dist/agent/__tests__/trace-store.test.d.ts +2 -0
- package/dist/agent/__tests__/trace-store.test.d.ts.map +1 -0
- package/dist/agent/__tests__/trace-store.test.js +113 -0
- package/dist/agent/__tests__/trace-store.test.js.map +1 -0
- package/dist/agent/code-graph.d.ts +18 -0
- package/dist/agent/code-graph.d.ts.map +1 -0
- package/dist/agent/code-graph.js +119 -0
- package/dist/agent/code-graph.js.map +1 -0
- package/dist/agent/env.d.ts +11 -0
- package/dist/agent/env.d.ts.map +1 -0
- package/dist/agent/env.js +82 -0
- package/dist/agent/env.js.map +1 -0
- package/dist/agent/evaluator.d.ts +13 -0
- package/dist/agent/evaluator.d.ts.map +1 -0
- package/dist/agent/evaluator.js +146 -0
- package/dist/agent/evaluator.js.map +1 -0
- package/dist/agent/fleet/git-isolation.d.ts +142 -0
- package/dist/agent/fleet/git-isolation.d.ts.map +1 -0
- package/dist/agent/fleet/git-isolation.js +290 -0
- package/dist/agent/fleet/git-isolation.js.map +1 -0
- package/dist/agent/fleet/memory.d.ts +21 -0
- package/dist/agent/fleet/memory.d.ts.map +1 -0
- package/dist/agent/fleet/memory.js +129 -0
- package/dist/agent/fleet/memory.js.map +1 -0
- package/dist/agent/fleet/orchestrator.d.ts +103 -0
- package/dist/agent/fleet/orchestrator.d.ts.map +1 -0
- package/dist/agent/fleet/orchestrator.js +355 -0
- package/dist/agent/fleet/orchestrator.js.map +1 -0
- package/dist/agent/fleet/store.d.ts +13 -0
- package/dist/agent/fleet/store.d.ts.map +1 -0
- package/dist/agent/fleet/store.js +79 -0
- package/dist/agent/fleet/store.js.map +1 -0
- package/dist/agent/fleet/types.d.ts +105 -0
- package/dist/agent/fleet/types.d.ts.map +1 -0
- package/dist/agent/fleet/types.js +17 -0
- package/dist/agent/fleet/types.js.map +1 -0
- package/dist/agent/judge.d.ts +38 -0
- package/dist/agent/judge.d.ts.map +1 -0
- package/dist/agent/judge.js +170 -0
- package/dist/agent/judge.js.map +1 -0
- package/dist/agent/loop.d.ts +61 -0
- package/dist/agent/loop.d.ts.map +1 -0
- package/dist/agent/loop.js +134 -0
- package/dist/agent/loop.js.map +1 -0
- package/dist/agent/memory.d.ts +14 -0
- package/dist/agent/memory.d.ts.map +1 -0
- package/dist/agent/memory.js +118 -0
- package/dist/agent/memory.js.map +1 -0
- package/dist/agent/model-router.d.ts +79 -0
- package/dist/agent/model-router.d.ts.map +1 -0
- package/dist/agent/model-router.js +141 -0
- package/dist/agent/model-router.js.map +1 -0
- package/dist/agent/model.d.ts +9 -0
- package/dist/agent/model.d.ts.map +1 -0
- package/dist/agent/model.js +24 -0
- package/dist/agent/model.js.map +1 -0
- package/dist/agent/pipeline.d.ts +82 -0
- package/dist/agent/pipeline.d.ts.map +1 -0
- package/dist/agent/pipeline.js +320 -0
- package/dist/agent/pipeline.js.map +1 -0
- package/dist/agent/planner.d.ts +16 -0
- package/dist/agent/planner.d.ts.map +1 -0
- package/dist/agent/planner.js +126 -0
- package/dist/agent/planner.js.map +1 -0
- package/dist/agent/project-context.d.ts +13 -0
- package/dist/agent/project-context.d.ts.map +1 -0
- package/dist/agent/project-context.js +66 -0
- package/dist/agent/project-context.js.map +1 -0
- package/dist/agent/prompt-enhancer.d.ts +37 -0
- package/dist/agent/prompt-enhancer.d.ts.map +1 -0
- package/dist/agent/prompt-enhancer.js +115 -0
- package/dist/agent/prompt-enhancer.js.map +1 -0
- package/dist/agent/system-prompt.d.ts +9 -0
- package/dist/agent/system-prompt.d.ts.map +1 -0
- package/dist/agent/system-prompt.js +38 -0
- package/dist/agent/system-prompt.js.map +1 -0
- package/dist/agent/tools.d.ts +19 -0
- package/dist/agent/tools.d.ts.map +1 -0
- package/dist/agent/tools.js +323 -0
- package/dist/agent/tools.js.map +1 -0
- package/dist/agent/trace-format.d.ts +6 -0
- package/dist/agent/trace-format.d.ts.map +1 -0
- package/dist/agent/trace-format.js +74 -0
- package/dist/agent/trace-format.js.map +1 -0
- package/dist/agent/trace-store.d.ts +19 -0
- package/dist/agent/trace-store.d.ts.map +1 -0
- package/dist/agent/trace-store.js +82 -0
- package/dist/agent/trace-store.js.map +1 -0
- package/dist/agent/trace.d.ts +121 -0
- package/dist/agent/trace.d.ts.map +1 -0
- package/dist/agent/trace.js +2 -0
- package/dist/agent/trace.js.map +1 -0
- package/dist/commands/__tests__/replay.test.d.ts +2 -0
- package/dist/commands/__tests__/replay.test.d.ts.map +1 -0
- package/dist/commands/__tests__/replay.test.js +76 -0
- package/dist/commands/__tests__/replay.test.js.map +1 -0
- package/dist/commands/agent.mcp.consent.list.d.ts +3 -0
- package/dist/commands/agent.mcp.consent.list.d.ts.map +1 -0
- package/dist/commands/agent.mcp.consent.list.js +30 -0
- package/dist/commands/agent.mcp.consent.list.js.map +1 -0
- package/dist/commands/agent.mcp.consent.resolve.d.ts +3 -0
- package/dist/commands/agent.mcp.consent.resolve.d.ts.map +1 -0
- package/dist/commands/agent.mcp.consent.resolve.js +34 -0
- package/dist/commands/agent.mcp.consent.resolve.js.map +1 -0
- package/dist/commands/agent.mcp.delete.d.ts +3 -0
- package/dist/commands/agent.mcp.delete.d.ts.map +1 -0
- package/dist/commands/agent.mcp.delete.js +27 -0
- package/dist/commands/agent.mcp.delete.js.map +1 -0
- package/dist/commands/agent.mcp.set_enabled.d.ts +3 -0
- package/dist/commands/agent.mcp.set_enabled.d.ts.map +1 -0
- package/dist/commands/agent.mcp.set_enabled.js +33 -0
- package/dist/commands/agent.mcp.set_enabled.js.map +1 -0
- package/dist/commands/agent.skill.load.d.ts +3 -0
- package/dist/commands/agent.skill.load.d.ts.map +1 -0
- package/dist/commands/agent.skill.load.js +57 -0
- package/dist/commands/agent.skill.load.js.map +1 -0
- package/dist/commands/audit.log.query.d.ts +3 -0
- package/dist/commands/audit.log.query.d.ts.map +1 -0
- package/dist/commands/audit.log.query.js +42 -0
- package/dist/commands/audit.log.query.js.map +1 -0
- package/dist/commands/automation.create.d.ts.map +1 -1
- package/dist/commands/automation.create.js +43 -4
- package/dist/commands/automation.create.js.map +1 -1
- package/dist/commands/automation.disable.d.ts +3 -0
- package/dist/commands/automation.disable.d.ts.map +1 -0
- package/dist/commands/automation.disable.js +24 -0
- package/dist/commands/automation.disable.js.map +1 -0
- package/dist/commands/automation.enable.d.ts +3 -0
- package/dist/commands/automation.enable.d.ts.map +1 -0
- package/dist/commands/automation.enable.js +24 -0
- package/dist/commands/automation.enable.js.map +1 -0
- package/dist/commands/automation.update.d.ts +3 -0
- package/dist/commands/automation.update.d.ts.map +1 -0
- package/dist/commands/automation.update.js +42 -0
- package/dist/commands/automation.update.js.map +1 -0
- package/dist/commands/code.d.ts +14 -0
- package/dist/commands/code.d.ts.map +1 -0
- package/dist/commands/code.js +100 -0
- package/dist/commands/code.js.map +1 -0
- package/dist/commands/config.d.ts +2 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +66 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/conversation.files.list.d.ts +3 -0
- package/dist/commands/conversation.files.list.d.ts.map +1 -0
- package/dist/commands/conversation.files.list.js +39 -0
- package/dist/commands/conversation.files.list.js.map +1 -0
- package/dist/commands/env.d.ts +19 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +64 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/graph.search.d.ts +10 -0
- package/dist/commands/graph.search.d.ts.map +1 -0
- package/dist/commands/graph.search.js +25 -0
- package/dist/commands/graph.search.js.map +1 -0
- package/dist/commands/markdown.generate.d.ts +3 -0
- package/dist/commands/markdown.generate.d.ts.map +1 -0
- package/dist/commands/markdown.generate.js +37 -0
- package/dist/commands/markdown.generate.js.map +1 -0
- package/dist/commands/mcp.add.d.ts +13 -0
- package/dist/commands/mcp.add.d.ts.map +1 -0
- package/dist/commands/mcp.add.js +110 -0
- package/dist/commands/mcp.add.js.map +1 -0
- package/dist/commands/mcp.auth.d.ts +10 -0
- package/dist/commands/mcp.auth.d.ts.map +1 -0
- package/dist/commands/mcp.auth.js +132 -0
- package/dist/commands/mcp.auth.js.map +1 -0
- package/dist/commands/mcp.check.d.ts +10 -0
- package/dist/commands/mcp.check.d.ts.map +1 -0
- package/dist/commands/mcp.check.js +114 -0
- package/dist/commands/mcp.check.js.map +1 -0
- package/dist/commands/mcp.list.d.ts +9 -0
- package/dist/commands/mcp.list.d.ts.map +1 -0
- package/dist/commands/mcp.list.js +93 -0
- package/dist/commands/mcp.list.js.map +1 -0
- package/dist/commands/mcp.permit.d.ts +12 -0
- package/dist/commands/mcp.permit.d.ts.map +1 -0
- package/dist/commands/mcp.permit.js +117 -0
- package/dist/commands/mcp.permit.js.map +1 -0
- package/dist/commands/mcp.remove.d.ts +9 -0
- package/dist/commands/mcp.remove.d.ts.map +1 -0
- package/dist/commands/mcp.remove.js +65 -0
- package/dist/commands/mcp.remove.js.map +1 -0
- package/dist/commands/mermaid.generate.d.ts +3 -0
- package/dist/commands/mermaid.generate.d.ts.map +1 -0
- package/dist/commands/mermaid.generate.js +33 -0
- package/dist/commands/mermaid.generate.js.map +1 -0
- package/dist/commands/ontology.neighbors.d.ts +3 -0
- package/dist/commands/ontology.neighbors.d.ts.map +1 -0
- package/dist/commands/ontology.neighbors.js +34 -0
- package/dist/commands/ontology.neighbors.js.map +1 -0
- package/dist/commands/ontology.query.d.ts +3 -0
- package/dist/commands/ontology.query.d.ts.map +1 -0
- package/dist/commands/ontology.query.js +36 -0
- package/dist/commands/ontology.query.js.map +1 -0
- package/dist/commands/plugin.org.install_bulk.js +1 -1
- package/dist/commands/plugin.org.install_bulk.js.map +1 -1
- package/dist/commands/privacy.erase.d.ts.map +1 -1
- package/dist/commands/privacy.erase.js +2 -1
- package/dist/commands/privacy.erase.js.map +1 -1
- package/dist/commands/privacy.erase.test.d.ts +2 -0
- package/dist/commands/privacy.erase.test.d.ts.map +1 -0
- package/dist/commands/privacy.erase.test.js +132 -0
- package/dist/commands/privacy.erase.test.js.map +1 -0
- package/dist/commands/replay.d.ts +5 -0
- package/dist/commands/replay.d.ts.map +1 -0
- package/dist/commands/replay.js +28 -0
- package/dist/commands/replay.js.map +1 -0
- package/dist/commands/schema/schema.config.d.ts +3 -0
- package/dist/commands/schema/schema.config.d.ts.map +1 -0
- package/dist/commands/schema/schema.config.js +34 -0
- package/dist/commands/schema/schema.config.js.map +1 -0
- package/dist/commands/schema/schema.disable.d.ts +3 -0
- package/dist/commands/schema/schema.disable.d.ts.map +1 -0
- package/dist/commands/schema/schema.disable.js +22 -0
- package/dist/commands/schema/schema.disable.js.map +1 -0
- package/dist/commands/schema/schema.enable.d.ts +3 -0
- package/dist/commands/schema/schema.enable.d.ts.map +1 -0
- package/dist/commands/schema/schema.enable.js +22 -0
- package/dist/commands/schema/schema.enable.js.map +1 -0
- package/dist/commands/schema/schema.export.d.ts +3 -0
- package/dist/commands/schema/schema.export.d.ts.map +1 -0
- package/dist/commands/schema/schema.export.js +31 -0
- package/dist/commands/schema/schema.export.js.map +1 -0
- package/dist/commands/schema/schema.get.d.ts +3 -0
- package/dist/commands/schema/schema.get.d.ts.map +1 -0
- package/dist/commands/schema/schema.get.js +23 -0
- package/dist/commands/schema/schema.get.js.map +1 -0
- package/dist/commands/schema/schema.label.d.ts +5 -0
- package/dist/commands/schema/schema.label.d.ts.map +1 -0
- package/dist/commands/schema/schema.label.js +60 -0
- package/dist/commands/schema/schema.label.js.map +1 -0
- package/dist/commands/schema/schema.list.d.ts +3 -0
- package/dist/commands/schema/schema.list.d.ts.map +1 -0
- package/dist/commands/schema/schema.list.js +30 -0
- package/dist/commands/schema/schema.list.js.map +1 -0
- package/dist/commands/schema/schema.prop.d.ts +5 -0
- package/dist/commands/schema/schema.prop.d.ts.map +1 -0
- package/dist/commands/schema/schema.prop.js +72 -0
- package/dist/commands/schema/schema.prop.js.map +1 -0
- package/dist/commands/schema/schema.reconcile.d.ts +10 -0
- package/dist/commands/schema/schema.reconcile.d.ts.map +1 -0
- package/dist/commands/schema/schema.reconcile.js +65 -0
- package/dist/commands/schema/schema.reconcile.js.map +1 -0
- package/dist/commands/schema/schema.rel.d.ts +5 -0
- package/dist/commands/schema/schema.rel.d.ts.map +1 -0
- package/dist/commands/schema/schema.rel.js +65 -0
- package/dist/commands/schema/schema.rel.js.map +1 -0
- package/dist/commands/schema/schema.version.d.ts +7 -0
- package/dist/commands/schema/schema.version.d.ts.map +1 -0
- package/dist/commands/schema/schema.version.js +96 -0
- package/dist/commands/schema/schema.version.js.map +1 -0
- package/dist/commands/secret.d.ts +23 -0
- package/dist/commands/secret.d.ts.map +1 -0
- package/dist/commands/secret.js +90 -0
- package/dist/commands/secret.js.map +1 -0
- package/dist/commands/skill.create.d.ts +3 -0
- package/dist/commands/skill.create.d.ts.map +1 -0
- package/dist/commands/skill.create.js +52 -0
- package/dist/commands/skill.create.js.map +1 -0
- package/dist/commands/skill.edit.d.ts +3 -0
- package/dist/commands/skill.edit.d.ts.map +1 -0
- package/dist/commands/skill.edit.js +28 -0
- package/dist/commands/skill.edit.js.map +1 -0
- package/dist/commands/skill.enable.d.ts +3 -0
- package/dist/commands/skill.enable.d.ts.map +1 -0
- package/dist/commands/skill.enable.js +31 -0
- package/dist/commands/skill.enable.js.map +1 -0
- package/dist/commands/skill.export.d.ts +3 -0
- package/dist/commands/skill.export.d.ts.map +1 -0
- package/dist/commands/skill.export.js +25 -0
- package/dist/commands/skill.export.js.map +1 -0
- package/dist/commands/skill.metrics.read.d.ts +3 -0
- package/dist/commands/skill.metrics.read.d.ts.map +1 -0
- package/dist/commands/skill.metrics.read.js +56 -0
- package/dist/commands/skill.metrics.read.js.map +1 -0
- package/dist/commands/skill.version.activate.d.ts +3 -0
- package/dist/commands/skill.version.activate.d.ts.map +1 -0
- package/dist/commands/skill.version.activate.js +24 -0
- package/dist/commands/skill.version.activate.js.map +1 -0
- package/dist/commands/skill.version.get.d.ts +3 -0
- package/dist/commands/skill.version.get.d.ts.map +1 -0
- package/dist/commands/skill.version.get.js +43 -0
- package/dist/commands/skill.version.get.js.map +1 -0
- package/dist/commands/skill.version.list.d.ts +3 -0
- package/dist/commands/skill.version.list.d.ts.map +1 -0
- package/dist/commands/skill.version.list.js +38 -0
- package/dist/commands/skill.version.list.js.map +1 -0
- package/dist/commands/skill.version.upload.d.ts +3 -0
- package/dist/commands/skill.version.upload.d.ts.map +1 -0
- package/dist/commands/skill.version.upload.js +28 -0
- package/dist/commands/skill.version.upload.js.map +1 -0
- package/dist/commands/skill.workspace.install.d.ts +3 -0
- package/dist/commands/skill.workspace.install.d.ts.map +1 -0
- package/dist/commands/skill.workspace.install.js +52 -0
- package/dist/commands/skill.workspace.install.js.map +1 -0
- package/dist/commands.test.js +1391 -337
- package/dist/commands.test.js.map +1 -1
- package/dist/components/DevStatus.d.ts.map +1 -1
- package/dist/components/DevStatus.js +3 -2
- package/dist/components/DevStatus.js.map +1 -1
- package/dist/daemon/client.d.ts +30 -0
- package/dist/daemon/client.d.ts.map +1 -0
- package/dist/daemon/client.js +97 -0
- package/dist/daemon/client.js.map +1 -0
- package/dist/daemon/code-graph/builder.d.ts +6 -0
- package/dist/daemon/code-graph/builder.d.ts.map +1 -0
- package/dist/daemon/code-graph/builder.js +215 -0
- package/dist/daemon/code-graph/builder.js.map +1 -0
- package/dist/daemon/code-graph/query.d.ts +29 -0
- package/dist/daemon/code-graph/query.d.ts.map +1 -0
- package/dist/daemon/code-graph/query.js +98 -0
- package/dist/daemon/code-graph/query.js.map +1 -0
- package/dist/daemon/code-graph/types.d.ts +37 -0
- package/dist/daemon/code-graph/types.d.ts.map +1 -0
- package/dist/daemon/code-graph/types.js +5 -0
- package/dist/daemon/code-graph/types.js.map +1 -0
- package/dist/daemon/code-graph/watcher.d.ts +37 -0
- package/dist/daemon/code-graph/watcher.d.ts.map +1 -0
- package/dist/daemon/code-graph/watcher.js +79 -0
- package/dist/daemon/code-graph/watcher.js.map +1 -0
- package/dist/daemon/lifecycle.d.ts +6 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -0
- package/dist/daemon/lifecycle.js +132 -0
- package/dist/daemon/lifecycle.js.map +1 -0
- package/dist/daemon/protocol.d.ts +113 -0
- package/dist/daemon/protocol.d.ts.map +1 -0
- package/dist/daemon/protocol.js +16 -0
- package/dist/daemon/protocol.js.map +1 -0
- package/dist/daemon/server.d.ts +26 -0
- package/dist/daemon/server.d.ts.map +1 -0
- package/dist/daemon/server.js +168 -0
- package/dist/daemon/server.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +262 -310
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +5 -0
- package/dist/lib/api.d.ts.map +1 -0
- package/dist/lib/api.js +52 -0
- package/dist/lib/api.js.map +1 -0
- package/dist/lib/config.d.ts +3 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +16 -3
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/config.test.js +21 -3
- package/dist/lib/config.test.js.map +1 -1
- package/dist/lib/differential-context.d.ts +46 -0
- package/dist/lib/differential-context.d.ts.map +1 -0
- package/dist/lib/differential-context.js +89 -0
- package/dist/lib/differential-context.js.map +1 -0
- package/dist/lib/resolve.d.ts +3 -0
- package/dist/lib/resolve.d.ts.map +1 -0
- package/dist/lib/resolve.js +29 -0
- package/dist/lib/resolve.js.map +1 -0
- package/dist/lib/structured-tool-io.d.ts +31 -0
- package/dist/lib/structured-tool-io.d.ts.map +1 -0
- package/dist/lib/structured-tool-io.js +56 -0
- package/dist/lib/structured-tool-io.js.map +1 -0
- package/dist/repl/__tests__/_queue_demo.test.d.ts +2 -0
- package/dist/repl/__tests__/_queue_demo.test.d.ts.map +1 -0
- package/dist/repl/__tests__/_queue_demo.test.js +40 -0
- package/dist/repl/__tests__/_queue_demo.test.js.map +1 -0
- package/dist/repl/__tests__/components.test.d.ts +2 -0
- package/dist/repl/__tests__/components.test.d.ts.map +1 -0
- package/dist/repl/__tests__/components.test.js +38 -0
- package/dist/repl/__tests__/components.test.js.map +1 -0
- package/dist/repl/__tests__/interactive.queue.test.d.ts +2 -0
- package/dist/repl/__tests__/interactive.queue.test.d.ts.map +1 -0
- package/dist/repl/__tests__/interactive.queue.test.js +124 -0
- package/dist/repl/__tests__/interactive.queue.test.js.map +1 -0
- package/dist/repl/components.d.ts +59 -0
- package/dist/repl/components.d.ts.map +1 -0
- package/dist/repl/components.js +152 -0
- package/dist/repl/components.js.map +1 -0
- package/dist/repl/interactive.d.ts +12 -0
- package/dist/repl/interactive.d.ts.map +1 -0
- package/dist/repl/interactive.js +326 -0
- package/dist/repl/interactive.js.map +1 -0
- package/dist/repl/one-shot.d.ts +9 -0
- package/dist/repl/one-shot.d.ts.map +1 -0
- package/dist/repl/one-shot.js +83 -0
- package/dist/repl/one-shot.js.map +1 -0
- package/dist/tui/__tests__/app.test.d.ts +2 -0
- package/dist/tui/__tests__/app.test.d.ts.map +1 -0
- package/dist/tui/__tests__/app.test.js +136 -0
- package/dist/tui/__tests__/app.test.js.map +1 -0
- package/dist/tui/__tests__/banner.test.d.ts +2 -0
- package/dist/tui/__tests__/banner.test.d.ts.map +1 -0
- package/dist/tui/__tests__/banner.test.js +15 -0
- package/dist/tui/__tests__/banner.test.js.map +1 -0
- package/dist/tui/__tests__/command-form.test.d.ts +2 -0
- package/dist/tui/__tests__/command-form.test.d.ts.map +1 -0
- package/dist/tui/__tests__/command-form.test.js +96 -0
- package/dist/tui/__tests__/command-form.test.js.map +1 -0
- package/dist/tui/__tests__/command-tree.test.d.ts +2 -0
- package/dist/tui/__tests__/command-tree.test.d.ts.map +1 -0
- package/dist/tui/__tests__/command-tree.test.js +55 -0
- package/dist/tui/__tests__/command-tree.test.js.map +1 -0
- package/dist/tui/__tests__/runner.test.d.ts +2 -0
- package/dist/tui/__tests__/runner.test.d.ts.map +1 -0
- package/dist/tui/__tests__/runner.test.js +38 -0
- package/dist/tui/__tests__/runner.test.js.map +1 -0
- package/dist/tui/__tests__/theme.test.d.ts +2 -0
- package/dist/tui/__tests__/theme.test.d.ts.map +1 -0
- package/dist/tui/__tests__/theme.test.js +11 -0
- package/dist/tui/__tests__/theme.test.js.map +1 -0
- package/dist/tui/agent-view/activity-feed.d.ts +3 -0
- package/dist/tui/agent-view/activity-feed.d.ts.map +1 -0
- package/dist/tui/agent-view/activity-feed.js +34 -0
- package/dist/tui/agent-view/activity-feed.js.map +1 -0
- package/dist/tui/agent-view/budget-bar.d.ts +3 -0
- package/dist/tui/agent-view/budget-bar.d.ts.map +1 -0
- package/dist/tui/agent-view/budget-bar.js +53 -0
- package/dist/tui/agent-view/budget-bar.js.map +1 -0
- package/dist/tui/agent-view/compile-panel.d.ts +3 -0
- package/dist/tui/agent-view/compile-panel.d.ts.map +1 -0
- package/dist/tui/agent-view/compile-panel.js +34 -0
- package/dist/tui/agent-view/compile-panel.js.map +1 -0
- package/dist/tui/agent-view/index.d.ts +4 -0
- package/dist/tui/agent-view/index.d.ts.map +1 -0
- package/dist/tui/agent-view/index.js +31 -0
- package/dist/tui/agent-view/index.js.map +1 -0
- package/dist/tui/agent-view/memory-panel.d.ts +3 -0
- package/dist/tui/agent-view/memory-panel.d.ts.map +1 -0
- package/dist/tui/agent-view/memory-panel.js +80 -0
- package/dist/tui/agent-view/memory-panel.js.map +1 -0
- package/dist/tui/agent-view/session-panel.d.ts +3 -0
- package/dist/tui/agent-view/session-panel.d.ts.map +1 -0
- package/dist/tui/agent-view/session-panel.js +44 -0
- package/dist/tui/agent-view/session-panel.js.map +1 -0
- package/dist/tui/agent-view/status-bar.d.ts +7 -0
- package/dist/tui/agent-view/status-bar.d.ts.map +1 -0
- package/dist/tui/agent-view/status-bar.js +22 -0
- package/dist/tui/agent-view/status-bar.js.map +1 -0
- package/dist/tui/app.d.ts +9 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +115 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/banner.d.ts +5 -0
- package/dist/tui/banner.d.ts.map +1 -0
- package/dist/tui/banner.js +17 -0
- package/dist/tui/banner.js.map +1 -0
- package/dist/tui/command-form.d.ts +9 -0
- package/dist/tui/command-form.d.ts.map +1 -0
- package/dist/tui/command-form.js +76 -0
- package/dist/tui/command-form.js.map +1 -0
- package/dist/tui/command-tree.d.ts +30 -0
- package/dist/tui/command-tree.d.ts.map +1 -0
- package/dist/tui/command-tree.js +43 -0
- package/dist/tui/command-tree.js.map +1 -0
- package/dist/tui/fleet-view/agent-row.d.ts +10 -0
- package/dist/tui/fleet-view/agent-row.d.ts.map +1 -0
- package/dist/tui/fleet-view/agent-row.js +80 -0
- package/dist/tui/fleet-view/agent-row.js.map +1 -0
- package/dist/tui/fleet-view/dispatch-input.d.ts +5 -0
- package/dist/tui/fleet-view/dispatch-input.d.ts.map +1 -0
- package/dist/tui/fleet-view/dispatch-input.js +36 -0
- package/dist/tui/fleet-view/dispatch-input.js.map +1 -0
- package/dist/tui/fleet-view/fleet-app.d.ts +11 -0
- package/dist/tui/fleet-view/fleet-app.d.ts.map +1 -0
- package/dist/tui/fleet-view/fleet-app.js +95 -0
- package/dist/tui/fleet-view/fleet-app.js.map +1 -0
- package/dist/tui/fleet-view/fleet-summary.d.ts +6 -0
- package/dist/tui/fleet-view/fleet-summary.d.ts.map +1 -0
- package/dist/tui/fleet-view/fleet-summary.js +19 -0
- package/dist/tui/fleet-view/fleet-summary.js.map +1 -0
- package/dist/tui/fleet-view/index.d.ts +16 -0
- package/dist/tui/fleet-view/index.d.ts.map +1 -0
- package/dist/tui/fleet-view/index.js +61 -0
- package/dist/tui/fleet-view/index.js.map +1 -0
- package/dist/tui/runner.d.ts +7 -0
- package/dist/tui/runner.d.ts.map +1 -0
- package/dist/tui/runner.js +36 -0
- package/dist/tui/runner.js.map +1 -0
- package/dist/tui/theme.d.ts +8 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +10 -0
- package/dist/tui/theme.js.map +1 -0
- package/package.json +12 -7
- package/README.html +0 -379
package/README.html
DELETED
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en" data-theme="dark">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title>@oxagen/cli — Terminal CLI · Oxagen</title>
|
|
7
|
-
<meta name="description" content="The Oxagen terminal CLI — built with Ink (React for CLIs) and commander. Exposes the oxagen binary for interacting with the platform from the terminal." />
|
|
8
|
-
<style>
|
|
9
|
-
/* ============================================================
|
|
10
|
-
Oxagen README design system — self-contained, no external deps.
|
|
11
|
-
Palette + type mirror .agents/skills/oxagen-design-system.
|
|
12
|
-
============================================================ */
|
|
13
|
-
:root {
|
|
14
|
-
--teal:#1fd0b5; --cyan:#10a7da; --blue:#343adc; --indigo:#562cf0;
|
|
15
|
-
--violet:#a269ff; --green:#28c36b; --grad-a:#7182ff; --grad-b:#3cff52;
|
|
16
|
-
--grad: linear-gradient(90deg, var(--grad-a), var(--grad-b));
|
|
17
|
-
--grad-alt: linear-gradient(90deg, #3b4fe6, #be1af0);
|
|
18
|
-
--radius:14px; --radius-sm:9px;
|
|
19
|
-
--mono:"SFMono-Regular",ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;
|
|
20
|
-
--sans:"Aeonik",-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;
|
|
21
|
-
}
|
|
22
|
-
html[data-theme="dark"]{
|
|
23
|
-
--bg:#15151f; --bg-2:#1c1c29; --panel:#1e1e2d; --panel-2:#23233399;
|
|
24
|
-
--ink:#f3f4f7; --ink-soft:#b9bbc9; --ink-faint:#7e8195;
|
|
25
|
-
--border:#2c2c3d; --border-soft:#26263499; --shadow:0 18px 50px -24px #000;
|
|
26
|
-
--code-bg:#13131c;
|
|
27
|
-
}
|
|
28
|
-
html[data-theme="light"]{
|
|
29
|
-
--bg:#f3f5f8; --bg-2:#eaedf3; --panel:#ffffff; --panel-2:#ffffffcc;
|
|
30
|
-
--ink:#0f131c; --ink-soft:#3f4658; --ink-faint:#6c7286;
|
|
31
|
-
--border:#dde1ea; --border-soft:#e7eaf1; --shadow:0 18px 50px -30px #5560871f;
|
|
32
|
-
--code-bg:#0f131c;
|
|
33
|
-
}
|
|
34
|
-
*{box-sizing:border-box}
|
|
35
|
-
html{scroll-behavior:smooth}
|
|
36
|
-
body{
|
|
37
|
-
margin:0; font-family:var(--sans); background:var(--bg); color:var(--ink);
|
|
38
|
-
line-height:1.62; font-size:16px; -webkit-font-smoothing:antialiased;
|
|
39
|
-
transition:background .3s ease,color .3s ease;
|
|
40
|
-
}
|
|
41
|
-
body::before{
|
|
42
|
-
content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
|
|
43
|
-
background:
|
|
44
|
-
radial-gradient(680px 420px at 12% -8%, #562cf02e, transparent 60%),
|
|
45
|
-
radial-gradient(720px 460px at 100% 0%, #1fd0b526, transparent 55%);
|
|
46
|
-
opacity:.9;
|
|
47
|
-
}
|
|
48
|
-
.wrap{position:relative; z-index:1; max-width:1080px; margin:0 auto; padding:0 24px 120px}
|
|
49
|
-
a{color:inherit}
|
|
50
|
-
|
|
51
|
-
/* ---- top bar ---- */
|
|
52
|
-
.topbar{
|
|
53
|
-
position:sticky; top:0; z-index:20; backdrop-filter:blur(14px);
|
|
54
|
-
background:color-mix(in oklab, var(--bg) 78%, transparent);
|
|
55
|
-
border-bottom:1px solid var(--border-soft);
|
|
56
|
-
}
|
|
57
|
-
.topbar .inner{max-width:1080px; margin:0 auto; padding:12px 24px; display:flex; align-items:center; gap:18px}
|
|
58
|
-
.ring{width:26px;height:26px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 4px color-mix(in oklab,var(--grad-a) 22%,transparent);flex:0 0 auto}
|
|
59
|
-
.brand{font-weight:600; letter-spacing:-.01em}
|
|
60
|
-
.brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
|
|
61
|
-
.topnav{display:flex; gap:6px; margin-left:auto; flex-wrap:wrap}
|
|
62
|
-
.topnav a{
|
|
63
|
-
font-size:13px; color:var(--ink-soft); text-decoration:none; padding:6px 11px;
|
|
64
|
-
border-radius:999px; border:1px solid transparent; transition:.18s;
|
|
65
|
-
}
|
|
66
|
-
.topnav a:hover{color:var(--ink); border-color:var(--border); background:var(--panel)}
|
|
67
|
-
.toggle{
|
|
68
|
-
cursor:pointer; border:1px solid var(--border); background:var(--panel);
|
|
69
|
-
color:var(--ink); border-radius:999px; padding:6px 12px; font-size:13px; font-family:var(--sans);
|
|
70
|
-
display:inline-flex; gap:7px; align-items:center; transition:.18s;
|
|
71
|
-
}
|
|
72
|
-
.toggle:hover{border-color:var(--violet)}
|
|
73
|
-
|
|
74
|
-
/* ---- hero ---- */
|
|
75
|
-
header.hero{padding:64px 0 30px}
|
|
76
|
-
.eyebrow{
|
|
77
|
-
display:inline-flex; align-items:center; gap:9px; font-size:12.5px; letter-spacing:.13em;
|
|
78
|
-
text-transform:uppercase; color:var(--ink-faint); font-weight:600;
|
|
79
|
-
}
|
|
80
|
-
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}
|
|
81
|
-
h1{font-size:clamp(34px,5vw,52px); line-height:1.04; letter-spacing:-.025em; margin:18px 0 14px; font-weight:680}
|
|
82
|
-
h1 .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
|
|
83
|
-
.lede{font-size:19px; color:var(--ink-soft); max-width:70ch; margin:0}
|
|
84
|
-
.pkgline{margin-top:22px; display:flex; flex-wrap:wrap; gap:10px; align-items:center}
|
|
85
|
-
|
|
86
|
-
/* ---- chips / badges ---- */
|
|
87
|
-
.chip{
|
|
88
|
-
display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:500;
|
|
89
|
-
padding:5px 11px; border-radius:999px; border:1px solid var(--border); background:var(--panel);
|
|
90
|
-
color:var(--ink-soft);
|
|
91
|
-
}
|
|
92
|
-
.chip code{font-family:var(--mono); font-size:12px; color:var(--ink)}
|
|
93
|
-
.chip.live{border-color:#28c36b55}
|
|
94
|
-
.chip.live .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
|
|
95
|
-
.chip.grad{border:0; background:var(--grad); color:#0b0b12; font-weight:600}
|
|
96
|
-
|
|
97
|
-
/* ---- sections ---- */
|
|
98
|
-
section{margin-top:46px; scroll-margin-top:74px}
|
|
99
|
-
h2{font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); font-weight:600; margin:0 0 18px; display:flex; align-items:center; gap:10px}
|
|
100
|
-
h2::before{content:""; width:22px; height:2px; border-radius:2px; background:var(--grad)}
|
|
101
|
-
h3{font-size:18px; letter-spacing:-.01em; margin:0 0 8px}
|
|
102
|
-
p{color:var(--ink-soft); margin:0 0 14px}
|
|
103
|
-
|
|
104
|
-
.card{background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); padding:22px 24px; box-shadow:var(--shadow)}
|
|
105
|
-
.grid{display:grid; gap:16px}
|
|
106
|
-
@media(min-width:720px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}}
|
|
107
|
-
|
|
108
|
-
.feature{background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); padding:20px}
|
|
109
|
-
.feature .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--bg-2);border:1px solid var(--border);font-size:18px;margin-bottom:12px}
|
|
110
|
-
.feature h3{font-size:15.5px}
|
|
111
|
-
.feature p{font-size:14px; margin:0}
|
|
112
|
-
|
|
113
|
-
/* ---- code blocks + copy ---- */
|
|
114
|
-
.code{position:relative; margin:14px 0}
|
|
115
|
-
.code pre{
|
|
116
|
-
margin:0; background:var(--code-bg); color:#dfe3f2; border:1px solid var(--border);
|
|
117
|
-
border-radius:var(--radius-sm); padding:16px 18px; overflow:auto; font-family:var(--mono);
|
|
118
|
-
font-size:13.5px; line-height:1.65;
|
|
119
|
-
}
|
|
120
|
-
.code pre .c{color:#6f7590}
|
|
121
|
-
.code pre .k{color:#a269ff}
|
|
122
|
-
.code pre .s{color:#3cff52}
|
|
123
|
-
.code pre .n{color:#1fd0b5}
|
|
124
|
-
.copy{
|
|
125
|
-
position:absolute; top:9px; right:9px; cursor:pointer; font-family:var(--sans);
|
|
126
|
-
font-size:11.5px; border:1px solid #ffffff22; background:#ffffff10; color:#dfe3f2;
|
|
127
|
-
padding:4px 10px; border-radius:7px; transition:.15s; backdrop-filter:blur(4px);
|
|
128
|
-
}
|
|
129
|
-
.copy:hover{background:#ffffff20; border-color:var(--green)}
|
|
130
|
-
.copy.done{color:var(--green); border-color:var(--green)}
|
|
131
|
-
|
|
132
|
-
/* ---- tabs ---- */
|
|
133
|
-
.tabs{margin:14px 0}
|
|
134
|
-
.tablist{display:flex; gap:4px; border-bottom:1px solid var(--border); margin-bottom:0; flex-wrap:wrap}
|
|
135
|
-
.tablist button{
|
|
136
|
-
font-family:var(--sans); font-size:13.5px; color:var(--ink-faint); background:none; border:0;
|
|
137
|
-
border-bottom:2px solid transparent; padding:9px 14px; cursor:pointer; transition:.15s; margin-bottom:-1px;
|
|
138
|
-
}
|
|
139
|
-
.tablist button:hover{color:var(--ink)}
|
|
140
|
-
.tablist button[aria-selected="true"]{color:var(--ink); border-bottom-color:var(--violet)}
|
|
141
|
-
.tabpanel{display:none; padding-top:6px}
|
|
142
|
-
.tabpanel.active{display:block}
|
|
143
|
-
|
|
144
|
-
/* ---- details ---- */
|
|
145
|
-
details{background:var(--panel); border:1px solid var(--border); border-radius:var(--radius-sm); margin:10px 0; overflow:hidden}
|
|
146
|
-
details summary{
|
|
147
|
-
cursor:pointer; padding:14px 18px; font-weight:540; list-style:none; display:flex; align-items:center; gap:11px;
|
|
148
|
-
font-size:14.5px;
|
|
149
|
-
}
|
|
150
|
-
details summary::-webkit-details-marker{display:none}
|
|
151
|
-
details summary .caret{transition:.2s; color:var(--ink-faint)}
|
|
152
|
-
details[open] summary .caret{transform:rotate(90deg); color:var(--violet)}
|
|
153
|
-
details .body{padding:0 18px 16px; color:var(--ink-soft); font-size:14.5px}
|
|
154
|
-
details .body p:last-child{margin-bottom:0}
|
|
155
|
-
|
|
156
|
-
/* ---- tables ---- */
|
|
157
|
-
table{width:100%; border-collapse:collapse; font-size:14px; margin:6px 0}
|
|
158
|
-
th,td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--border)}
|
|
159
|
-
th{font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); font-weight:600}
|
|
160
|
-
td code,p code,li code,.body code{font-family:var(--mono); font-size:12.5px; background:var(--bg-2); border:1px solid var(--border-soft); padding:1.5px 6px; border-radius:6px; color:var(--ink)}
|
|
161
|
-
tr:last-child td{border-bottom:0}
|
|
162
|
-
|
|
163
|
-
ul.clean{list-style:none; padding:0; margin:0}
|
|
164
|
-
ul.clean li{padding:9px 0 9px 26px; position:relative; color:var(--ink-soft); border-bottom:1px solid var(--border-soft)}
|
|
165
|
-
ul.clean li:last-child{border-bottom:0}
|
|
166
|
-
ul.clean li::before{content:""; position:absolute; left:4px; top:16px; width:8px; height:8px; border-radius:50%; background:var(--grad)}
|
|
167
|
-
ul.clean li b{color:var(--ink); font-weight:560}
|
|
168
|
-
|
|
169
|
-
/* ---- dep map ---- */
|
|
170
|
-
.deps{display:flex; flex-wrap:wrap; gap:8px}
|
|
171
|
-
.dep{font-family:var(--mono); font-size:12.5px; padding:5px 11px; border-radius:8px; border:1px solid var(--border); background:var(--bg-2); color:var(--ink-soft)}
|
|
172
|
-
.dep.ws{border-color:#562cf055; color:var(--ink)}
|
|
173
|
-
.dep.ws::before{content:"◆ "; color:var(--violet)}
|
|
174
|
-
|
|
175
|
-
/* ---- flow diagram ---- */
|
|
176
|
-
.flow{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-family:var(--mono); font-size:13px}
|
|
177
|
-
.flow .node{padding:7px 13px; border-radius:9px; background:var(--panel); border:1px solid var(--border); color:var(--ink)}
|
|
178
|
-
.flow .arrow{color:var(--violet)}
|
|
179
|
-
.flow .node.hl{border-color:transparent; background:var(--grad); color:#0b0b12; font-weight:600}
|
|
180
|
-
|
|
181
|
-
footer{margin-top:64px; padding-top:26px; border-top:1px solid var(--border); color:var(--ink-faint); font-size:13.5px; display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between}
|
|
182
|
-
footer a{color:var(--ink-soft); text-decoration:none}
|
|
183
|
-
footer a:hover{color:var(--ink)}
|
|
184
|
-
.kbd{font-family:var(--mono); font-size:11.5px; border:1px solid var(--border); border-bottom-width:2px; padding:1px 6px; border-radius:5px; background:var(--bg-2)}
|
|
185
|
-
</style>
|
|
186
|
-
</head>
|
|
187
|
-
<body>
|
|
188
|
-
<div class="topbar">
|
|
189
|
-
<div class="inner">
|
|
190
|
-
<span class="ring" aria-hidden="true"></span>
|
|
191
|
-
<span class="brand">Oxagen <b>·</b> cli</span>
|
|
192
|
-
<nav class="topnav">
|
|
193
|
-
<a href="#what">What</a>
|
|
194
|
-
<a href="#install">Install & usage</a>
|
|
195
|
-
<a href="#layout">Layout</a>
|
|
196
|
-
<a href="#scripts">Scripts</a>
|
|
197
|
-
<a href="#internals">Internals</a>
|
|
198
|
-
</nav>
|
|
199
|
-
<button class="toggle" id="themeBtn" aria-label="Toggle theme"><span id="themeIcon">◐</span><span id="themeLbl">Dark</span></button>
|
|
200
|
-
</div>
|
|
201
|
-
</div>
|
|
202
|
-
|
|
203
|
-
<div class="wrap">
|
|
204
|
-
<header class="hero">
|
|
205
|
-
<span class="eyebrow"><span class="dot"></span> apps/cli · @oxagen/cli</span>
|
|
206
|
-
<h1>The <span class="accent">terminal CLI</span> for Oxagen</h1>
|
|
207
|
-
<p class="lede">A terminal-native interface to the Oxagen platform — built with Ink (React for CLIs) and commander. Exposes the <code>oxagen</code> binary so operators and developers can drive the platform from the shell. This is a local tool, not a deployed web service.</p>
|
|
208
|
-
<div class="pkgline">
|
|
209
|
-
<span class="chip">binary <code>oxagen</code></span>
|
|
210
|
-
<span class="chip">Ink <code>5.2</code></span>
|
|
211
|
-
<span class="chip">commander <code>12</code></span>
|
|
212
|
-
<span class="chip">React <code>19.2</code></span>
|
|
213
|
-
<span class="chip">TypeScript</span>
|
|
214
|
-
</div>
|
|
215
|
-
</header>
|
|
216
|
-
|
|
217
|
-
<section id="what">
|
|
218
|
-
<h2>What this is</h2>
|
|
219
|
-
<div class="card">
|
|
220
|
-
<p><b>apps/cli</b> is the terminal surface of the Oxagen platform. Like the API and MCP server, it exposes the platform's capabilities through a different surface — the principle is that every capability is reachable identically from MCP, API, in-app agent, and CLI. Commander parses subcommands and flags; Ink renders interactive terminal UI components using React. Configuration is shared via <code>@oxagen/config</code>.</p>
|
|
221
|
-
<div class="flow" style="margin-top:6px">
|
|
222
|
-
<span class="node">terminal</span><span class="arrow">→</span>
|
|
223
|
-
<span class="node hl">oxagen <cmd></span><span class="arrow">→</span>
|
|
224
|
-
<span class="node">commander</span><span class="arrow">→</span>
|
|
225
|
-
<span class="node">Ink UI</span><span class="arrow">→</span>
|
|
226
|
-
<span class="node">platform API</span>
|
|
227
|
-
</div>
|
|
228
|
-
</div>
|
|
229
|
-
<div class="grid cols-3" style="margin-top:16px">
|
|
230
|
-
<div class="feature"><div class="ic">✦</div><h3>Ink UI</h3><p>Interactive terminal components are React components rendered by Ink — the same mental model as <code>apps/app</code>, adapted for the terminal viewport.</p></div>
|
|
231
|
-
<div class="feature"><div class="ic">⇄</div><h3>commander routing</h3><p>Subcommands and flags are defined with commander 12. Each subcommand is a discrete module under <code>src/commands/</code>.</p></div>
|
|
232
|
-
<div class="feature"><div class="ic">◇</div><h3>Shared config</h3><p>Reads platform config via <code>@oxagen/config</code> — API base URL, credentials, and workspace context are resolved once and shared across commands.</p></div>
|
|
233
|
-
</div>
|
|
234
|
-
</section>
|
|
235
|
-
|
|
236
|
-
<section id="install">
|
|
237
|
-
<h2>Install & usage</h2>
|
|
238
|
-
<div class="tabs" data-tabs>
|
|
239
|
-
<div class="tablist" role="tablist">
|
|
240
|
-
<button role="tab" aria-selected="true" data-tab="dev">Develop</button>
|
|
241
|
-
<button role="tab" aria-selected="false" data-tab="build">Build & run</button>
|
|
242
|
-
<button role="tab" aria-selected="false" data-tab="usage">Usage</button>
|
|
243
|
-
</div>
|
|
244
|
-
<div class="tabpanel active" data-panel="dev">
|
|
245
|
-
<div class="code"><button class="copy">Copy</button><pre><span class="c"># from the monorepo root</span>
|
|
246
|
-
pnpm install
|
|
247
|
-
pnpm <span class="k">--filter</span> @oxagen/cli dev <span class="c"># runs: tsx src/index.tsx</span></pre></div>
|
|
248
|
-
<p style="font-size:13.5px">In dev mode, <code>tsx</code> executes <code>src/index.tsx</code> directly — no compile step needed. TypeScript is transpiled on the fly.</p>
|
|
249
|
-
</div>
|
|
250
|
-
<div class="tabpanel" data-panel="build">
|
|
251
|
-
<div class="code"><button class="copy">Copy</button><pre><span class="c"># compile TypeScript to dist/</span>
|
|
252
|
-
pnpm <span class="k">--filter</span> @oxagen/cli build <span class="c"># tsc → dist/index.js</span>
|
|
253
|
-
|
|
254
|
-
<span class="c"># the oxagen bin is now runnable via node</span>
|
|
255
|
-
node dist/index.js --help
|
|
256
|
-
|
|
257
|
-
<span class="c"># or link globally (from apps/cli/)</span>
|
|
258
|
-
npm link <span class="c"># makes `oxagen` available in PATH</span></pre></div>
|
|
259
|
-
<p style="font-size:13.5px">The <code>package.json</code> <code>bin</code> field maps <code>oxagen</code> → <code>./dist/index.js</code>. After <code>npm link</code> (or publishing), <code>oxagen</code> is available as a global command.</p>
|
|
260
|
-
</div>
|
|
261
|
-
<div class="tabpanel" data-panel="usage">
|
|
262
|
-
<div class="code"><button class="copy">Copy</button><pre><span class="c"># show all commands and flags</span>
|
|
263
|
-
oxagen --help
|
|
264
|
-
|
|
265
|
-
<span class="c"># example: authenticate with the platform</span>
|
|
266
|
-
oxagen auth login
|
|
267
|
-
|
|
268
|
-
<span class="c"># example: select a workspace</span>
|
|
269
|
-
oxagen workspace select
|
|
270
|
-
|
|
271
|
-
<span class="c"># example: run an agent prompt</span>
|
|
272
|
-
oxagen run <span class="s">"summarise the last 10 events"</span></pre></div>
|
|
273
|
-
</div>
|
|
274
|
-
</div>
|
|
275
|
-
</section>
|
|
276
|
-
|
|
277
|
-
<section id="layout">
|
|
278
|
-
<h2>Source layout</h2>
|
|
279
|
-
<div class="grid cols-2">
|
|
280
|
-
<div class="card">
|
|
281
|
-
<h3>Directory structure</h3>
|
|
282
|
-
<ul class="clean">
|
|
283
|
-
<li><b>src/index.tsx</b> — binary entry point; commander program definition and command wiring</li>
|
|
284
|
-
<li><b>src/commands/</b> — one file per top-level subcommand (e.g. <code>auth.tsx</code>, <code>run.tsx</code>)</li>
|
|
285
|
-
<li><b>src/components/</b> — Ink UI components (spinners, tables, prompts, error displays)</li>
|
|
286
|
-
<li><b>dist/</b> — compiled output from <code>tsc</code>; produced by <code>pnpm build</code></li>
|
|
287
|
-
</ul>
|
|
288
|
-
</div>
|
|
289
|
-
<div class="card">
|
|
290
|
-
<h3>Dependencies</h3>
|
|
291
|
-
<p style="font-size:13.5px">The CLI is intentionally lean. Ink and commander are the only runtime additions beyond the shared config package.</p>
|
|
292
|
-
<div class="deps" style="margin-top:10px">
|
|
293
|
-
<span class="dep ws">@oxagen/config</span>
|
|
294
|
-
<span class="dep">commander <code>12</code></span>
|
|
295
|
-
<span class="dep">ink <code>5.2</code></span>
|
|
296
|
-
<span class="dep">react <code>19.2</code></span>
|
|
297
|
-
</div>
|
|
298
|
-
</div>
|
|
299
|
-
</div>
|
|
300
|
-
</section>
|
|
301
|
-
|
|
302
|
-
<section id="scripts">
|
|
303
|
-
<h2>Scripts</h2>
|
|
304
|
-
<div class="card">
|
|
305
|
-
<p style="font-size:13.5px">All scripts invoked via <code>pnpm --filter @oxagen/cli <script></code> from the monorepo root.</p>
|
|
306
|
-
<table>
|
|
307
|
-
<tr><th>Script</th><th>Command</th><th>Does</th></tr>
|
|
308
|
-
<tr><td><code>dev</code></td><td><code>tsx src/index.tsx</code></td><td>Run the CLI directly via tsx — no compile step, TypeScript transpiled on the fly</td></tr>
|
|
309
|
-
<tr><td><code>start</code></td><td><code>tsx src/index.tsx</code></td><td>Alias for <code>dev</code></td></tr>
|
|
310
|
-
<tr><td><code>build</code></td><td><code>tsc</code></td><td>Compile TypeScript to <code>dist/</code>; produces the deployable <code>oxagen</code> binary</td></tr>
|
|
311
|
-
<tr><td><code>typecheck</code></td><td><code>tsc --noEmit</code></td><td>Type-check without emitting files</td></tr>
|
|
312
|
-
<tr><td><code>lint</code></td><td><code>eslint src/</code></td><td>ESLint over the source tree</td></tr>
|
|
313
|
-
<tr><td><code>test:unit</code></td><td><code>vitest</code></td><td>Vitest unit suite</td></tr>
|
|
314
|
-
</table>
|
|
315
|
-
</div>
|
|
316
|
-
</section>
|
|
317
|
-
|
|
318
|
-
<section id="internals">
|
|
319
|
-
<h2>Internals</h2>
|
|
320
|
-
<details open>
|
|
321
|
-
<summary><span class="caret">▸</span> Config sharing via @oxagen/config</summary>
|
|
322
|
-
<div class="body">
|
|
323
|
-
<p>The CLI reads all platform configuration — API base URL, API key, active workspace, and user identity — from the <code>@oxagen/config</code> workspace package. This is the same config layer used by other packages in the monorepo. Config is resolved once at startup; commands receive a resolved config object and do not read env vars directly.</p>
|
|
324
|
-
<p>The config file location on disk follows the XDG base directory spec: <code>~/.config/oxagen/config.json</code>. The <code>oxagen auth login</code> command writes credentials here; subsequent commands read from it.</p>
|
|
325
|
-
</div>
|
|
326
|
-
</details>
|
|
327
|
-
<details>
|
|
328
|
-
<summary><span class="caret">▸</span> Ink and React in the terminal</summary>
|
|
329
|
-
<div class="body">
|
|
330
|
-
<p>Ink renders React component trees into terminal output using a custom reconciler. This means interactive elements — spinners, selection lists, progress bars, input prompts — are written as standard React components in <code>src/components/</code>. The same component composition patterns used in <code>apps/app</code> apply here: props flow down, state is local, side effects are in hooks.</p>
|
|
331
|
-
<p>The key constraint: Ink renders to a fixed terminal viewport. Components must be aware of terminal width (use <code>useStdoutDimensions()</code> from Ink) and avoid DOM assumptions. There are no <code>div</code>s — Ink's primitive is <code><Box></code> (flexbox) and <code><Text></code>.</p>
|
|
332
|
-
</div>
|
|
333
|
-
</details>
|
|
334
|
-
<details>
|
|
335
|
-
<summary><span class="caret">▸</span> This is not a deployed web service</summary>
|
|
336
|
-
<div class="body">
|
|
337
|
-
<p>Unlike <code>apps/api</code>, <code>apps/mcp</code>, <code>apps/app</code>, and <code>apps/website</code>, the CLI has no Vercel deployment, no production URL, and no HTTP server. It is a local binary installed on the developer or operator's machine. It communicates with the platform by making HTTP requests to the API (<code>apps/api</code>) using the configured API key.</p>
|
|
338
|
-
</div>
|
|
339
|
-
</details>
|
|
340
|
-
</section>
|
|
341
|
-
|
|
342
|
-
<footer>
|
|
343
|
-
<span>@oxagen/cli · v0.1.0 · part of the Oxagen monorepo</span>
|
|
344
|
-
<span><a href="../../README.html">monorepo index ↗</a> · <a href="../../README.md">root readme</a> · press <span class="kbd">T</span> to toggle theme</span>
|
|
345
|
-
</footer>
|
|
346
|
-
</div>
|
|
347
|
-
|
|
348
|
-
<script>
|
|
349
|
-
/* theme toggle (persisted) */
|
|
350
|
-
(function(){
|
|
351
|
-
var root=document.documentElement, btn=document.getElementById('themeBtn'),
|
|
352
|
-
icon=document.getElementById('themeIcon'), lbl=document.getElementById('themeLbl');
|
|
353
|
-
function apply(t){root.setAttribute('data-theme',t); icon.textContent=t==='dark'?'◐':'◑'; lbl.textContent=t==='dark'?'Dark':'Light'; try{localStorage.setItem('oxa-theme',t)}catch(e){}}
|
|
354
|
-
try{var s=localStorage.getItem('oxa-theme'); if(s)apply(s);}catch(e){}
|
|
355
|
-
btn.addEventListener('click',function(){apply(root.getAttribute('data-theme')==='dark'?'light':'dark')});
|
|
356
|
-
document.addEventListener('keydown',function(e){if((e.key==='t'||e.key==='T')&&!/INPUT|TEXTAREA/.test(e.target.tagName))apply(root.getAttribute('data-theme')==='dark'?'light':'dark')});
|
|
357
|
-
})();
|
|
358
|
-
/* copy buttons */
|
|
359
|
-
document.querySelectorAll('.copy').forEach(function(b){
|
|
360
|
-
b.addEventListener('click',function(){
|
|
361
|
-
var pre=b.parentElement.querySelector('pre');
|
|
362
|
-
navigator.clipboard.writeText(pre.innerText).then(function(){
|
|
363
|
-
var o=b.textContent; b.textContent='Copied ✓'; b.classList.add('done');
|
|
364
|
-
setTimeout(function(){b.textContent=o; b.classList.remove('done')},1400);
|
|
365
|
-
});
|
|
366
|
-
});
|
|
367
|
-
});
|
|
368
|
-
/* tabs */
|
|
369
|
-
document.querySelectorAll('[data-tabs]').forEach(function(group){
|
|
370
|
-
var tabs=group.querySelectorAll('[data-tab]'), panels=group.querySelectorAll('[data-panel]');
|
|
371
|
-
tabs.forEach(function(t){t.addEventListener('click',function(){
|
|
372
|
-
tabs.forEach(function(x){x.setAttribute('aria-selected','false')});
|
|
373
|
-
t.setAttribute('aria-selected','true');
|
|
374
|
-
panels.forEach(function(p){p.classList.toggle('active',p.getAttribute('data-panel')===t.getAttribute('data-tab'))});
|
|
375
|
-
})});
|
|
376
|
-
});
|
|
377
|
-
</script>
|
|
378
|
-
</body>
|
|
379
|
-
</html>
|