@treeseed/cli 0.10.22 → 0.11.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.
@@ -28,6 +28,12 @@ export declare const COMMAND_HANDLERS: {
28
28
  readonly teams: import("./operations-types.js").TreeseedCommandHandler;
29
29
  readonly projects: import("./operations-types.js").TreeseedCommandHandler;
30
30
  readonly capacity: import("./operations-types.js").TreeseedCommandHandler;
31
+ readonly package: import("./operations-types.js").TreeseedCommandHandler;
32
+ readonly db: import("./operations-types.js").TreeseedCommandHandler;
33
+ readonly hosting: import("./operations-types.js").TreeseedCommandHandler;
34
+ readonly reconcile: import("./operations-types.js").TreeseedCommandHandler;
35
+ readonly ready: import("./operations-types.js").TreeseedCommandHandler;
36
+ readonly operations: import("./operations-types.js").TreeseedCommandHandler;
31
37
  readonly packs: import("./operations-types.js").TreeseedCommandHandler;
32
38
  readonly gh: import("./operations-types.js").TreeseedCommandHandler;
33
39
  readonly railway: import("./operations-types.js").TreeseedCommandHandler;
@@ -23,6 +23,12 @@ import { handleMarket } from "./handlers/market.js";
23
23
  import { handleTeams } from "./handlers/teams.js";
24
24
  import { handleProjects } from "./handlers/projects.js";
25
25
  import { handleCapacity } from "./handlers/capacity.js";
26
+ import { handlePackage } from "./handlers/package.js";
27
+ import { handleTreeDx } from "./handlers/treedx.js";
28
+ import { handleHosting } from "./handlers/hosting.js";
29
+ import { handleReconcile } from "./handlers/reconcile.js";
30
+ import { handleReady } from "./handlers/ready.js";
31
+ import { handleOperations } from "./handlers/operations.js";
26
32
  import { handlePacks } from "./handlers/packs.js";
27
33
  import { handleToolWrapper } from "./handlers/tool-wrapper.js";
28
34
  import {
@@ -75,6 +81,12 @@ const COMMAND_HANDLERS = {
75
81
  teams: handleTeams,
76
82
  projects: handleProjects,
77
83
  capacity: handleCapacity,
84
+ package: handlePackage,
85
+ db: handleTreeDx,
86
+ hosting: handleHosting,
87
+ reconcile: handleReconcile,
88
+ ready: handleReady,
89
+ operations: handleOperations,
78
90
  packs: handlePacks,
79
91
  gh: handleToolWrapper,
80
92
  railway: handleToolWrapper,
@@ -1,4 +1,4 @@
1
- import { existsSync, readFileSync } from "node:fs";
1
+ import { existsSync, readFileSync, writeSync } from "node:fs";
2
2
  import { spawnSync } from "node:child_process";
3
3
  import { createRequire } from "node:module";
4
4
  import { dirname, resolve } from "node:path";
@@ -99,8 +99,23 @@ function colorizeTreeseedCliOutput(output, colorEnabled = true) {
99
99
  }
100
100
  function defaultWrite(output, stream = "stdout") {
101
101
  if (!output) return;
102
- (stream === "stderr" ? process.stderr : process.stdout).write(`${output}
102
+ const fd = stream === "stderr" ? process.stderr.fd : process.stdout.fd;
103
+ const buffer = Buffer.from(`${output}
103
104
  `);
105
+ let offset = 0;
106
+ const retryBuffer = new SharedArrayBuffer(4);
107
+ const retryView = new Int32Array(retryBuffer);
108
+ while (offset < buffer.length) {
109
+ try {
110
+ offset += writeSync(fd, buffer, offset, Math.min(buffer.length - offset, 16384));
111
+ } catch (error) {
112
+ if (error && typeof error === "object" && error.code === "EAGAIN") {
113
+ Atomics.wait(retryView, 0, 0, 10);
114
+ continue;
115
+ }
116
+ throw error;
117
+ }
118
+ }
104
119
  }
105
120
  function defaultSpawn(command, args, options) {
106
121
  return spawnSync(command, args, options);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treeseed/cli",
3
- "version": "0.10.22",
3
+ "version": "0.11.0",
4
4
  "description": "Operator-facing Treeseed CLI package.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -31,7 +31,7 @@
31
31
  "setup:ci": "npm ci",
32
32
  "build": "npm run build:dist",
33
33
  "lint": "npm run build:dist",
34
- "test": "npm run build:dist && node --test --test-concurrency=1 ./scripts/treeseed-help.test.mjs ./scripts/seed.test.mjs ./scripts/projects-deploy.test.mjs ./scripts/wrapper-package.test.mjs",
34
+ "test": "npm run build:dist && node --test --test-concurrency=1 ./scripts/treeseed-help.test.mjs ./scripts/seed.test.mjs ./scripts/projects-deploy.test.mjs ./scripts/wrapper-package.test.mjs ./scripts/hosting-command.test.mjs ./scripts/ready-command.test.mjs ./scripts/operations-smoke.test.mjs ./scripts/reconcile-command.test.mjs",
35
35
  "build:dist": "node ./scripts/run-ts.mjs ./scripts/build-dist.ts",
36
36
  "prepare": "node ./scripts/prepare.mjs",
37
37
  "prepack": "npm run build:dist",
@@ -45,7 +45,7 @@
45
45
  "release:publish": "node ./scripts/run-ts.mjs ./scripts/publish-package.ts"
46
46
  },
47
47
  "dependencies": {
48
- "@treeseed/sdk": "github:treeseed-ai/sdk#0.10.28",
48
+ "@treeseed/sdk": "github:treeseed-ai/sdk#0.11.0",
49
49
  "ink": "^7.0.0",
50
50
  "react": "^19.2.5"
51
51
  },