@nio-cli/cli 0.11.0 → 0.11.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 (47) hide show
  1. package/.env.example +118 -118
  2. package/Dockerfile.gateway +20 -20
  3. package/README.md +539 -539
  4. package/dist/adapters/pg/auth-event-repository.js +4 -4
  5. package/dist/adapters/pg/auth-session-repository.js +2 -2
  6. package/dist/adapters/pg/dependency-event-repository.js +4 -4
  7. package/dist/adapters/pg/login-challenge-repository.js +2 -2
  8. package/dist/adapters/pg/login-ip-repository.js +3 -3
  9. package/dist/adapters/pg/session-repository.js +3 -3
  10. package/dist/app/ai-client.js +4 -1
  11. package/dist/app/ai-client.js.map +1 -1
  12. package/dist/cli/commands/completion.js +28 -28
  13. package/dist/cli/commands/docs/html.js +78 -78
  14. package/dist/cli/copy/auth.json +13 -13
  15. package/dist/cli/copy/flows.json +5 -5
  16. package/dist/cli/copy/init.json +15 -15
  17. package/dist/cli/copy/sync.json +3 -3
  18. package/dist/cli.js +0 -0
  19. package/dist/gateway/index.js +0 -0
  20. package/dist/lib/clients/client-configs.js +13 -5
  21. package/dist/lib/clients/client-configs.js.map +1 -1
  22. package/dist/lib/clients/nio-oc-config.js +14 -2
  23. package/dist/lib/clients/nio-oc-config.js.map +1 -1
  24. package/dist/lib/exec/map-reduce.js +56 -0
  25. package/dist/lib/exec/map-reduce.js.map +1 -0
  26. package/dist/lib/provision/provision.js.map +1 -1
  27. package/dist/lib/shutdown.js +5 -1
  28. package/dist/lib/shutdown.js.map +1 -1
  29. package/dist/mcp-server-lang.js +0 -0
  30. package/dist/mcp-server.js +0 -0
  31. package/dist/tui/app.js +29 -9
  32. package/dist/tui/app.js.map +1 -1
  33. package/dist/tui/attachments.js +117 -0
  34. package/dist/tui/attachments.js.map +1 -0
  35. package/dist/tui/components.js +21 -5
  36. package/dist/tui/components.js.map +1 -1
  37. package/dist/tui/debug.js +1 -1
  38. package/dist/tui/debug.js.map +1 -1
  39. package/dist/tui/opencode.js +7 -7
  40. package/dist/tui/opencode.js.map +1 -1
  41. package/dist/tui/palette.js +3 -3
  42. package/dist/tui/palette.js.map +1 -1
  43. package/dist/tui/state.js +56 -3
  44. package/dist/tui/state.js.map +1 -1
  45. package/docker/docker-compose.yml +114 -114
  46. package/docker/kong.yml +59 -59
  47. package/package.json +99 -97
package/docker/kong.yml CHANGED
@@ -1,59 +1,59 @@
1
- # Config declarativa do Kong (DB-less). Kong entra na frente do `nio-gateway` e aplica as regras de roteamento e plugins (rate-limitng)
2
- _format_version: "3.0"
3
-
4
- services:
5
- - name: nio-gateway
6
- url: http://nio-gateway:3000
7
- routes:
8
- # /register (TP-1) — cria usuário; rate-limit apertado.
9
- - name: nio-gateway-register
10
- paths:
11
- - /register
12
- strip_path: false
13
- plugins:
14
- - name: rate-limiting
15
- config:
16
- minute: 5
17
- policy: local
18
- # /login — alvo de brute-force; rate-limit apertado.
19
- - name: nio-gateway-login
20
- paths:
21
- - /login
22
- strip_path: false
23
- plugins:
24
- - name: rate-limiting
25
- config:
26
- minute: 20
27
- policy: local
28
- - name: nio-gateway-logout
29
- paths:
30
- - /logout
31
- strip_path: false
32
- - name: nio-gateway-logout-all
33
- paths:
34
- - /logout-all
35
- strip_path: false
36
- # /verify-2fa e /security/* — OTP + gerência do 2º fator (spec 0004).
37
- # cada SMS custa; brute-force de OTP de 6 dígitos → limite mais baixo.
38
- - name: nio-gateway-verify-2fa
39
- paths:
40
- - /verify-2fa
41
- strip_path: false
42
- plugins:
43
- - name: rate-limiting
44
- config:
45
- minute: 10
46
- policy: local
47
- - name: nio-gateway-security
48
- paths:
49
- - /security
50
- strip_path: false
51
- plugins:
52
- - name: rate-limiting
53
- config:
54
- minute: 10
55
- policy: local
56
- - name: nio-gateway-health
57
- paths:
58
- - /health
59
- strip_path: false
1
+ # Config declarativa do Kong (DB-less). Kong entra na frente do `nio-gateway` e aplica as regras de roteamento e plugins (rate-limitng)
2
+ _format_version: "3.0"
3
+
4
+ services:
5
+ - name: nio-gateway
6
+ url: http://nio-gateway:3000
7
+ routes:
8
+ # /register (TP-1) — cria usuário; rate-limit apertado.
9
+ - name: nio-gateway-register
10
+ paths:
11
+ - /register
12
+ strip_path: false
13
+ plugins:
14
+ - name: rate-limiting
15
+ config:
16
+ minute: 5
17
+ policy: local
18
+ # /login — alvo de brute-force; rate-limit apertado.
19
+ - name: nio-gateway-login
20
+ paths:
21
+ - /login
22
+ strip_path: false
23
+ plugins:
24
+ - name: rate-limiting
25
+ config:
26
+ minute: 20
27
+ policy: local
28
+ - name: nio-gateway-logout
29
+ paths:
30
+ - /logout
31
+ strip_path: false
32
+ - name: nio-gateway-logout-all
33
+ paths:
34
+ - /logout-all
35
+ strip_path: false
36
+ # /verify-2fa e /security/* — OTP + gerência do 2º fator (spec 0004).
37
+ # cada SMS custa; brute-force de OTP de 6 dígitos → limite mais baixo.
38
+ - name: nio-gateway-verify-2fa
39
+ paths:
40
+ - /verify-2fa
41
+ strip_path: false
42
+ plugins:
43
+ - name: rate-limiting
44
+ config:
45
+ minute: 10
46
+ policy: local
47
+ - name: nio-gateway-security
48
+ paths:
49
+ - /security
50
+ strip_path: false
51
+ plugins:
52
+ - name: rate-limiting
53
+ config:
54
+ minute: 10
55
+ policy: local
56
+ - name: nio-gateway-health
57
+ paths:
58
+ - /health
59
+ strip_path: false
package/package.json CHANGED
@@ -1,97 +1,99 @@
1
- {
2
- "name": "@nio-cli/cli",
3
- "version": "0.11.0",
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
- "type": "module",
6
- "license": "UNLICENSED",
7
- "bin": {
8
- "nio": "dist/cli.js",
9
- "nio-cli": "dist/mcp-server.js",
10
- "nio-gateway": "dist/gateway/index.js",
11
- "nio-lang": "dist/mcp-server-lang.js"
12
- },
13
- "files": [
14
- "dist",
15
- "docker/docker-compose.yml",
16
- "docker/kong.yml",
17
- "Dockerfile.gateway",
18
- ".env.example",
19
- "README.md"
20
- ],
21
- "engines": {
22
- "node": ">=20"
23
- },
24
- "publishConfig": {
25
- "access": "public"
26
- },
27
- "repository": {
28
- "type": "git",
29
- "url": "git+https://github.com/hugoreiis12-png/NIO-CLI-.git"
30
- },
31
- "homepage": "https://github.com/hugoreiis12-png/NIO-CLI-#readme",
32
- "bugs": {
33
- "url": "https://github.com/hugoreiis12-png/NIO-CLI-/issues"
34
- },
35
- "keywords": [
36
- "mcp",
37
- "model-context-protocol",
38
- "cli",
39
- "developer-environment",
40
- "dev-environment",
41
- "environment-orchestration",
42
- "opencode",
43
- "ai-agent",
44
- "tui",
45
- "ink",
46
- "postgres",
47
- "nio"
48
- ],
49
- "scripts": {
50
- "build": "node --input-type=commonjs -e \"fs=require('fs');fs.rmSync('dist',{recursive:true,force:true})\" && tsc && node --input-type=commonjs -e \"const fs=require('fs');fs.cpSync('src/cli/copy','dist/cli/copy',{recursive:true});for(const f of ['cli.js','mcp-server.js','gateway/index.js','mcp-server-lang.js'])fs.chmodSync('dist/'+f,0o755)\"",
51
- "gen:docs": "bun run scripts/gen-reference.ts",
52
- "db:ping": "bun run scripts/db-ping.ts",
53
- "db:tls": "bash scripts/db-tls-setup.sh",
54
- "db:migrate": "bun run scripts/migrate.ts",
55
- "argon2:calibrate": "node scripts/argon2-calibrate.mjs",
56
- "dev:whatsapp-echo": "bun run scripts/whatsapp-echo.ts",
57
- "dev:cli": "bun run src/cli.ts",
58
- "dev:mcp": "bun run src/mcp-server.ts",
59
- "dev:gateway": "bun run src/gateway/index.ts",
60
- "dev:lang": "bun run src/mcp-server-lang.ts",
61
- "dev:docker": "docker compose -f docker/docker-compose.yml up --build",
62
- "prepublishOnly": "npm run build"
63
- },
64
- "dependencies": {
65
- "@clack/prompts": "^1.7.0",
66
- "@modelcontextprotocol/sdk": "^1.30.0",
67
- "@node-rs/argon2": "^2.2.0",
68
- "@opencode-ai/sdk": "1.18.25",
69
- "adm-zip": "^0.6.0",
70
- "boxen": "^7.1.1",
71
- "chalk": "^5.6.2",
72
- "commander": "^12.1.0",
73
- "ink": "^5.2.1",
74
- "jsonwebtoken": "^9.0.3",
75
- "pg": "^8.23.0",
76
- "react": "^18.3.1",
77
- "smol-toml": "^1.8.0",
78
- "update-notifier": "^7.3.1",
79
- "zod": "^4.5.4"
80
- },
81
- "//overrides": "transitivas de @modelcontextprotocol/sdk (transporte HTTP — NIO usa só stdio). Força as versões corrigidas p/ deixar o `bun audit` limpo; ranges compatíveis com os pais.",
82
- "overrides": {
83
- "fast-uri": "^3.1.7",
84
- "hono": "^4.13.7",
85
- "qs": "^6.16.0"
86
- },
87
- "devDependencies": {
88
- "@types/adm-zip": "^0.5.8",
89
- "@types/jsonwebtoken": "^9.0.10",
90
- "@types/node": "^22.20.1",
91
- "@types/pg": "^8.23.1",
92
- "@types/react": "^18.3.31",
93
- "@types/update-notifier": "^6.0.8",
94
- "ink-testing-library": "^4.0.0",
95
- "typescript": "^5.9.3"
96
- }
97
- }
1
+ {
2
+ "name": "@nio-cli/cli",
3
+ "version": "0.11.2",
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
+ "type": "module",
6
+ "license": "UNLICENSED",
7
+ "bin": {
8
+ "nio": "dist/cli.js",
9
+ "nio-cli": "dist/mcp-server.js",
10
+ "nio-gateway": "dist/gateway/index.js",
11
+ "nio-lang": "dist/mcp-server-lang.js"
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "docker/docker-compose.yml",
16
+ "docker/kong.yml",
17
+ "Dockerfile.gateway",
18
+ ".env.example",
19
+ "README.md"
20
+ ],
21
+ "engines": {
22
+ "node": ">=20"
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/hugoreiis12-png/NIO-CLI-.git"
30
+ },
31
+ "homepage": "https://github.com/hugoreiis12-png/NIO-CLI-#readme",
32
+ "bugs": {
33
+ "url": "https://github.com/hugoreiis12-png/NIO-CLI-/issues"
34
+ },
35
+ "keywords": [
36
+ "mcp",
37
+ "model-context-protocol",
38
+ "cli",
39
+ "developer-environment",
40
+ "dev-environment",
41
+ "environment-orchestration",
42
+ "opencode",
43
+ "ai-agent",
44
+ "tui",
45
+ "ink",
46
+ "postgres",
47
+ "nio"
48
+ ],
49
+ "scripts": {
50
+ "build": "node --input-type=commonjs -e \"fs=require('fs');fs.rmSync('dist',{recursive:true,force:true})\" && tsc && node --input-type=commonjs -e \"const fs=require('fs');fs.cpSync('src/cli/copy','dist/cli/copy',{recursive:true});for(const f of ['cli.js','mcp-server.js','gateway/index.js','mcp-server-lang.js'])fs.chmodSync('dist/'+f,0o755)\"",
51
+ "gen:docs": "bun run scripts/gen-reference.ts",
52
+ "db:ping": "bun run scripts/db-ping.ts",
53
+ "db:tls": "bash scripts/db-tls-setup.sh",
54
+ "db:migrate": "bun run scripts/migrate.ts",
55
+ "argon2:calibrate": "node scripts/argon2-calibrate.mjs",
56
+ "dev:whatsapp-echo": "bun run scripts/whatsapp-echo.ts",
57
+ "dev:cli": "bun run src/cli.ts",
58
+ "dev:mcp": "bun run src/mcp-server.ts",
59
+ "dev:gateway": "bun run src/gateway/index.ts",
60
+ "dev:lang": "bun run src/mcp-server-lang.ts",
61
+ "dev:docker": "docker compose -f docker/docker-compose.yml up --build",
62
+ "prepublishOnly": "npm run build"
63
+ },
64
+ "dependencies": {
65
+ "@clack/prompts": "^1.7.0",
66
+ "@modelcontextprotocol/sdk": "^1.30.0",
67
+ "@node-rs/argon2": "^2.2.0",
68
+ "@opencode-ai/sdk": "1.18.25",
69
+ "adm-zip": "^0.6.0",
70
+ "boxen": "^7.1.1",
71
+ "chalk": "^5.6.2",
72
+ "commander": "^12.1.0",
73
+ "ink": "^5.2.1",
74
+ "jimp": "^1.6.1",
75
+ "jsonwebtoken": "^9.0.3",
76
+ "pg": "^8.23.0",
77
+ "react": "^18.3.1",
78
+ "smol-toml": "^1.8.0",
79
+ "update-notifier": "^7.3.1",
80
+ "xlsx": "^0.18.5",
81
+ "zod": "^4.5.4"
82
+ },
83
+ "//overrides": "transitivas de @modelcontextprotocol/sdk (transporte HTTP — NIO usa só stdio). Força as versões corrigidas p/ deixar o `bun audit` limpo; ranges compatíveis com os pais.",
84
+ "overrides": {
85
+ "fast-uri": "^3.1.7",
86
+ "hono": "^4.13.7",
87
+ "qs": "^6.16.0"
88
+ },
89
+ "devDependencies": {
90
+ "@types/adm-zip": "^0.5.8",
91
+ "@types/jsonwebtoken": "^9.0.10",
92
+ "@types/node": "^22.20.1",
93
+ "@types/pg": "^8.23.1",
94
+ "@types/react": "^18.3.31",
95
+ "@types/update-notifier": "^6.0.8",
96
+ "ink-testing-library": "^4.0.0",
97
+ "typescript": "^5.9.3"
98
+ }
99
+ }