fixo-cli 1.0.2 → 1.0.4

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 (82) hide show
  1. package/dist/agent/agent-client.d.ts +3 -0
  2. package/dist/agent/agent-client.d.ts.map +1 -1
  3. package/dist/agent/agent-client.js +63 -9
  4. package/dist/agent/agent-client.js.map +1 -1
  5. package/dist/agent/command-parser.d.ts +37 -0
  6. package/dist/agent/command-parser.d.ts.map +1 -1
  7. package/dist/agent/command-parser.js +297 -1
  8. package/dist/agent/command-parser.js.map +1 -1
  9. package/dist/agent/conversation.d.ts +18 -1
  10. package/dist/agent/conversation.d.ts.map +1 -1
  11. package/dist/agent/conversation.js +31 -2
  12. package/dist/agent/conversation.js.map +1 -1
  13. package/dist/agent/duration.d.ts +24 -0
  14. package/dist/agent/duration.d.ts.map +1 -0
  15. package/dist/agent/duration.js +42 -0
  16. package/dist/agent/duration.js.map +1 -0
  17. package/dist/agent/file-writing-rules.d.ts +19 -0
  18. package/dist/agent/file-writing-rules.d.ts.map +1 -0
  19. package/dist/agent/file-writing-rules.js +31 -0
  20. package/dist/agent/file-writing-rules.js.map +1 -0
  21. package/dist/agent/parser-adapter.d.ts.map +1 -1
  22. package/dist/agent/parser-adapter.js +57 -5
  23. package/dist/agent/parser-adapter.js.map +1 -1
  24. package/dist/agent/provider-cooldown.d.ts.map +1 -1
  25. package/dist/agent/provider-cooldown.js +3 -2
  26. package/dist/agent/provider-cooldown.js.map +1 -1
  27. package/dist/agent/providers-manager.d.ts +6 -0
  28. package/dist/agent/providers-manager.d.ts.map +1 -1
  29. package/dist/agent/providers-manager.js +20 -0
  30. package/dist/agent/providers-manager.js.map +1 -1
  31. package/dist/agent/single-agent.d.ts +25 -0
  32. package/dist/agent/single-agent.d.ts.map +1 -1
  33. package/dist/agent/single-agent.js +136 -27
  34. package/dist/agent/single-agent.js.map +1 -1
  35. package/dist/agent/telemetry.d.ts.map +1 -1
  36. package/dist/agent/telemetry.js +4 -1
  37. package/dist/agent/telemetry.js.map +1 -1
  38. package/dist/agent/tool-executor.d.ts +5 -0
  39. package/dist/agent/tool-executor.d.ts.map +1 -1
  40. package/dist/agent/tool-executor.js +17 -4
  41. package/dist/agent/tool-executor.js.map +1 -1
  42. package/dist/agent/worker-agent.d.ts +8 -0
  43. package/dist/agent/worker-agent.d.ts.map +1 -1
  44. package/dist/agent/worker-agent.js +25 -3
  45. package/dist/agent/worker-agent.js.map +1 -1
  46. package/dist/config.d.ts +11 -1
  47. package/dist/config.d.ts.map +1 -1
  48. package/dist/config.js +2 -1
  49. package/dist/config.js.map +1 -1
  50. package/dist/index.js +5 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/project-memory.d.ts +1 -2
  53. package/dist/project-memory.d.ts.map +1 -1
  54. package/dist/project-memory.js +13 -1
  55. package/dist/project-memory.js.map +1 -1
  56. package/dist/runtime/loop-mitigation.d.ts +48 -0
  57. package/dist/runtime/loop-mitigation.d.ts.map +1 -0
  58. package/dist/runtime/loop-mitigation.js +79 -0
  59. package/dist/runtime/loop-mitigation.js.map +1 -0
  60. package/dist/runtime/session-snapshots.d.ts +52 -2
  61. package/dist/runtime/session-snapshots.d.ts.map +1 -1
  62. package/dist/runtime/session-snapshots.js +76 -1
  63. package/dist/runtime/session-snapshots.js.map +1 -1
  64. package/dist/setup-wizard.d.ts +1 -0
  65. package/dist/setup-wizard.d.ts.map +1 -1
  66. package/dist/setup-wizard.js +42 -1
  67. package/dist/setup-wizard.js.map +1 -1
  68. package/dist/ui/prompt.d.ts.map +1 -1
  69. package/dist/ui/prompt.js +195 -10
  70. package/dist/ui/prompt.js.map +1 -1
  71. package/dist/ui/render-primitives.d.ts +20 -0
  72. package/dist/ui/render-primitives.d.ts.map +1 -1
  73. package/dist/ui/render-primitives.js +41 -0
  74. package/dist/ui/render-primitives.js.map +1 -1
  75. package/dist/ui/session-header.d.ts +13 -0
  76. package/dist/ui/session-header.d.ts.map +1 -1
  77. package/dist/ui/session-header.js +6 -0
  78. package/dist/ui/session-header.js.map +1 -1
  79. package/package.json +6 -2
  80. package/scripts/check-vendor-wasm.js +44 -0
  81. package/vendor/tree-sitter-bash.wasm +0 -0
  82. package/vendor/tree-sitter.wasm +0 -0
@@ -43,11 +43,17 @@ export function renderSessionHeader(opts) {
43
43
  const line1 = `${C.SNOW3}${statusLabel(opts.status)}${C.RESET} ${C.SNOW4}·${C.RESET} ${C.SNOW2}${formatDate(opts.startedAt)}${C.RESET}`;
44
44
  const line2 = `${C.SNOW4}Provider:${C.RESET} ${C.SNOW}${providerColor(opts.provider)}${opts.provider}${C.RESET} ${C.SNOW4}·${C.RESET} ${C.SNOW4}Model:${C.RESET} ${C.BLUE}${opts.model}${C.RESET}`;
45
45
  const line3 = `${C.SNOW4}Mode:${C.RESET} ${modeColor(opts.mode)}${opts.mode}${C.RESET} ${C.SNOW4}·${C.RESET} ${C.SNOW4}Routing:${C.RESET} ${C.SNOW2}${opts.routing}${C.RESET} ${C.SNOW4}·${C.RESET} ${C.SNOW4}Context:${C.RESET} ${C.SNOW2}${opts.contextWindow}${C.RESET}`;
46
+ const endpointLine = opts.endpoint
47
+ ? `${C.SNOW4}Endpoint:${C.RESET} ${C.SNOW2}${opts.endpoint}${C.RESET}${opts.endpointFromEnv ? ` ${C.SNOW4}(via FIXO_API_URL)${C.RESET}` : ''}`
48
+ : null;
46
49
  try {
47
50
  process.stdout.write(top + '\n');
48
51
  process.stdout.write(` ${C.SNOW4}│${C.RESET} ${padInside(line1, inner)}${C.SNOW4}│${C.RESET}\n`);
49
52
  process.stdout.write(` ${C.SNOW4}│${C.RESET} ${padInside(line2, inner)}${C.SNOW4}│${C.RESET}\n`);
50
53
  process.stdout.write(` ${C.SNOW4}│${C.RESET} ${padInside(line3, inner)}${C.SNOW4}│${C.RESET}\n`);
54
+ if (endpointLine) {
55
+ process.stdout.write(` ${C.SNOW4}│${C.RESET} ${padInside(endpointLine, inner)}${C.SNOW4}│${C.RESET}\n`);
56
+ }
51
57
  process.stdout.write(bottom + '\n');
52
58
  }
53
59
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"session-header.js","sourceRoot":"","sources":["../../src/ui/session-header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-header.js","sourceRoot":"","sources":["../../src/ui/session-header.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fixo-cli",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "FixO CLI — Autonomous Free Multi-Provider LLM Coding Tool",
5
5
  "type": "module",
6
6
  "bin": {
@@ -10,13 +10,17 @@
10
10
  "main": "dist/index.js",
11
11
  "files": [
12
12
  "dist/",
13
+ "vendor/",
14
+ "scripts/check-vendor-wasm.js",
13
15
  "README.md"
14
16
  ],
15
17
  "scripts": {
16
18
  "build": "tsc && chmod +x dist/index.js",
17
19
  "dev": "tsx src/index.ts",
18
20
  "test": "node --import tsx --test src/__tests__/*.test.ts",
19
- "prepublishOnly": "npm run build"
21
+ "check:vendor": "node scripts/check-vendor-wasm.js",
22
+ "prepack": "npm run check:vendor",
23
+ "prepublishOnly": "npm run build && npm run check:vendor"
20
24
  },
21
25
  "keywords": [
22
26
  "ai",
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * check-vendor-wasm.js — Fails the publish if a required vendored WASM
4
+ * binary is missing or empty. Runs from `prepack`, so any local
5
+ * `npm pack` / `npm publish` will abort before producing a broken
6
+ * tarball. The previous 1.0.x publishes shipped without these blobs
7
+ * and forced the CLI into the slow regex fallback at runtime.
8
+ */
9
+ import { statSync } from 'node:fs';
10
+ import path from 'node:path';
11
+ import { fileURLToPath } from 'node:url';
12
+
13
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
14
+ const root = path.resolve(__dirname, '..');
15
+
16
+ const required = [
17
+ 'vendor/tree-sitter.wasm',
18
+ 'vendor/tree-sitter-bash.wasm',
19
+ ];
20
+
21
+ let failed = false;
22
+ for (const rel of required) {
23
+ const abs = path.join(root, rel);
24
+ try {
25
+ const s = statSync(abs);
26
+ if (!s.isFile() || s.size === 0) {
27
+ console.error(`✗ ${rel} is empty or not a regular file`);
28
+ failed = true;
29
+ } else {
30
+ console.log(`✓ ${rel} (${s.size} bytes)`);
31
+ }
32
+ } catch {
33
+ console.error(`✗ ${rel} is MISSING — refusing to pack/publish.`);
34
+ failed = true;
35
+ }
36
+ }
37
+
38
+ if (failed) {
39
+ console.error(
40
+ '\nThe vendor/ directory is required at runtime. Rebuild or restore\n' +
41
+ 'the WASM blobs before retrying. See parser-adapter.ts for usage.',
42
+ );
43
+ process.exit(1);
44
+ }
Binary file
Binary file