@nio-cli/cli 0.2.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +68 -26
  2. package/dist/app/ai-client.js +44 -0
  3. package/dist/app/ai-client.js.map +1 -0
  4. package/dist/app/docker-manager.js +12 -9
  5. package/dist/app/docker-manager.js.map +1 -1
  6. package/dist/cli/commands/ai.js +61 -0
  7. package/dist/cli/commands/ai.js.map +1 -0
  8. package/dist/cli/commands/auth.js +91 -70
  9. package/dist/cli/commands/auth.js.map +1 -1
  10. package/dist/cli/commands/config.js +4 -2
  11. package/dist/cli/commands/config.js.map +1 -1
  12. package/dist/cli/commands/debug.js +9 -0
  13. package/dist/cli/commands/debug.js.map +1 -1
  14. package/dist/cli/commands/docker.js +25 -0
  15. package/dist/cli/commands/docker.js.map +1 -1
  16. package/dist/cli/commands/docs/content.js +26 -6
  17. package/dist/cli/commands/docs/content.js.map +1 -1
  18. package/dist/cli/commands/init/auth-step.js +2 -1
  19. package/dist/cli/commands/init/auth-step.js.map +1 -1
  20. package/dist/cli/commands/init/handoff.js +20 -0
  21. package/dist/cli/commands/init/handoff.js.map +1 -0
  22. package/dist/cli/commands/init/index.js +24 -38
  23. package/dist/cli/commands/init/index.js.map +1 -1
  24. package/dist/cli/commands/open.js +8 -0
  25. package/dist/cli/commands/open.js.map +1 -1
  26. package/dist/cli/commands/start.js +8 -0
  27. package/dist/cli/commands/start.js.map +1 -0
  28. package/dist/cli/flows/onboarding.js +116 -0
  29. package/dist/cli/flows/onboarding.js.map +1 -0
  30. package/dist/cli/program.js +58 -0
  31. package/dist/cli/program.js.map +1 -0
  32. package/dist/cli.js +26 -53
  33. package/dist/cli.js.map +1 -1
  34. package/dist/gateway/config.js +1 -2
  35. package/dist/gateway/config.js.map +1 -1
  36. package/dist/lib/auth/gateway-client.js +22 -42
  37. package/dist/lib/auth/gateway-client.js.map +1 -1
  38. package/dist/lib/auth/gateway-process.js +54 -0
  39. package/dist/lib/auth/gateway-process.js.map +1 -0
  40. package/dist/lib/auth/nio-config.js +10 -1
  41. package/dist/lib/auth/nio-config.js.map +1 -1
  42. package/dist/lib/clients/client-configs.js +24 -10
  43. package/dist/lib/clients/client-configs.js.map +1 -1
  44. package/dist/lib/debug.js +6 -0
  45. package/dist/lib/debug.js.map +1 -0
  46. package/dist/lib/headroom.js +44 -0
  47. package/dist/lib/headroom.js.map +1 -0
  48. package/dist/lib/ide-tasks.js +54 -0
  49. package/dist/lib/ide-tasks.js.map +1 -0
  50. package/dist/lib/load-env.js +31 -2
  51. package/dist/lib/load-env.js.map +1 -1
  52. package/dist/matrix-logo.js +43 -11
  53. package/dist/matrix-logo.js.map +1 -1
  54. package/dist/tui/app.js +155 -0
  55. package/dist/tui/app.js.map +1 -0
  56. package/dist/tui/components.js +137 -0
  57. package/dist/tui/components.js.map +1 -0
  58. package/dist/tui/debug.js +17 -0
  59. package/dist/tui/debug.js.map +1 -0
  60. package/dist/tui/index.js +2 -0
  61. package/dist/tui/index.js.map +1 -0
  62. package/dist/tui/launch.js +64 -0
  63. package/dist/tui/launch.js.map +1 -0
  64. package/dist/tui/markdown.js +40 -0
  65. package/dist/tui/markdown.js.map +1 -0
  66. package/dist/tui/opencode.js +33 -0
  67. package/dist/tui/opencode.js.map +1 -0
  68. package/dist/tui/palette-source.js +71 -0
  69. package/dist/tui/palette-source.js.map +1 -0
  70. package/dist/tui/palette.js +58 -0
  71. package/dist/tui/palette.js.map +1 -0
  72. package/dist/tui/state.js +132 -0
  73. package/dist/tui/state.js.map +1 -0
  74. package/dist/tui/theme.js +14 -0
  75. package/dist/tui/theme.js.map +1 -0
  76. package/headroom/docker-compose.yml +27 -0
  77. package/package.json +11 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/tui/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { sym } from '../lib/colors.js';
2
+ export const theme = {
3
+ accent: 'green',
4
+ accentBright: 'greenBright',
5
+ dim: 'gray',
6
+ text: 'white',
7
+ warn: 'yellow',
8
+ err: 'red',
9
+ user: 'cyan',
10
+ border: 'gray',
11
+ };
12
+ export { sym };
13
+ export const NIO_WORDMARK = 'N I O';
14
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,OAAO;IACf,YAAY,EAAE,aAAa;IAC3B,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;CACN,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC;AAGf,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC"}
@@ -0,0 +1,27 @@
1
+ # Headroom — proxy de compressão de contexto entre o client de IA e o LLM.
2
+ # Obrigatório pro `nio ai` (ADR 0007). Mesmo padrão do `docker/docker-compose.yml`:
3
+ # porta pinada em 127.0.0.1, `restart: unless-stopped`, `extra_hosts` p/ Linux.
4
+ #
5
+ # O entrypoint da imagem já é `headroom proxy` — `command` passa só flags.
6
+ # `OPENAI_TARGET_API_URL` roteia as chamadas OpenAI-compatíveis (o operador usa
7
+ # OpenCode Zen) pro Zen; o header Authorization do OpenCode passa transparente,
8
+ # então o Headroom não precisa de API key própria.
9
+ services:
10
+ headroom:
11
+ image: ghcr.io/headroomlabs-ai/headroom:latest
12
+ container_name: nio-headroom
13
+ restart: unless-stopped
14
+ command: ["--host", "0.0.0.0", "--port", "8787"]
15
+ environment:
16
+ OPENAI_TARGET_API_URL: "${NIO_HEADROOM_OPENAI_TARGET:-https://opencode.ai/zen/v1}"
17
+ HEADROOM_UPDATE_CHECK: "off"
18
+ ports:
19
+ - "127.0.0.1:${NIO_HEADROOM_PORT:-8787}:8787"
20
+ extra_hosts:
21
+ - "host.docker.internal:host-gateway"
22
+ volumes:
23
+ - nio_headroom_cache:/root/.headroom
24
+
25
+ volumes:
26
+ nio_headroom_cache:
27
+ name: nio_headroom_cache
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nio-cli/cli",
3
- "version": "0.2.0",
3
+ "version": "0.3.2",
4
4
  "description": "Orquestrador de ambientes de desenvolvimento: escolhe um perfil, responde um wizard e a CLI (com auxílio de IA via MCP) materializa toolchains, linguagens, frameworks, dotfiles e IDE.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -13,6 +13,7 @@
13
13
  "files": [
14
14
  "dist",
15
15
  "docker/docker-compose.yml",
16
+ "headroom/docker-compose.yml",
16
17
  "README.md"
17
18
  ],
18
19
  "engines": {
@@ -37,6 +38,9 @@
37
38
  "dev-environment",
38
39
  "environment-orchestration",
39
40
  "opencode",
41
+ "ai-agent",
42
+ "tui",
43
+ "ink",
40
44
  "postgres",
41
45
  "nio"
42
46
  ],
@@ -51,18 +55,22 @@
51
55
  "dev:lang": "bun run src/mcp-server-lang.ts",
52
56
  "dev:kong": "docker compose -f kong/docker-compose.yml --env-file .env up",
53
57
  "dev:docker": "docker compose -f docker/docker-compose.yml up",
58
+ "dev:headroom": "docker compose -f headroom/docker-compose.yml up",
54
59
  "prepublishOnly": "npm run build"
55
60
  },
56
61
  "dependencies": {
57
62
  "@clack/prompts": "^1.6.0",
58
63
  "@modelcontextprotocol/sdk": "^1.0.4",
59
64
  "@node-rs/argon2": "^2.1.0",
65
+ "@opencode-ai/sdk": "1.18.25",
60
66
  "adm-zip": "^0.5.17",
61
67
  "boxen": "^7.1.1",
62
68
  "chalk": "^5.6.2",
63
69
  "commander": "^12.1.0",
70
+ "ink": "^5.2.1",
64
71
  "jsonwebtoken": "^9.0.3",
65
72
  "pg": "^8.23.0",
73
+ "react": "^18.3.1",
66
74
  "smol-toml": "^1.6.1",
67
75
  "update-notifier": "^7.3.1",
68
76
  "zod": "^4.4.3"
@@ -72,7 +80,9 @@
72
80
  "@types/jsonwebtoken": "^9.0.10",
73
81
  "@types/node": "^22.10.5",
74
82
  "@types/pg": "^8.23.1",
83
+ "@types/react": "^18.3",
75
84
  "@types/update-notifier": "^6.0.8",
85
+ "ink-testing-library": "^4",
76
86
  "typescript": "^5.4.5"
77
87
  }
78
88
  }