@hasna/todos 0.11.68 → 0.11.69

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.
@@ -19,6 +19,7 @@ export declare function autoProject(opts: {
19
19
  /** Normalize user-friendly status aliases to canonical TaskStatus values */
20
20
  export declare function normalizeStatus(s: string): string;
21
21
  export declare function normalizeStatusList(statuses: string | string[]): string | string[];
22
+ export declare function printJson(data: unknown): void;
22
23
  export declare function output(data: unknown, jsonMode: boolean): void;
23
24
  export declare const statusColors: Record<string, (s: string) => string>;
24
25
  export declare const priorityColors: Record<string, (s: string) => string>;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/cli/helpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAG7C;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAcvD;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAM7C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAgC7D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,GAAG,SAAS,CAUjF;AAMD,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAGlF;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAI7D;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAM9D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAKhE,CAAC;AAEF,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAQ9C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/cli/helpers.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAK7B,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAG7C;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAcvD;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAM7C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAgC7D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,GAAG,SAAS,CAUjF;AAMD,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAGlF;AA0BD,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE7C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAI7D;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAM9D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAKhE,CAAC;AAEF,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAQ9C"}
package/dist/cli/index.js CHANGED
@@ -1011,7 +1011,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1011
1011
  this._exitCallback = (err) => {
1012
1012
  if (err.code !== "commander.executeSubCommandAsync") {
1013
1013
  throw err;
1014
- }
1014
+ } else {}
1015
1015
  };
1016
1016
  }
1017
1017
  return this;
@@ -12448,6 +12448,7 @@ __export(exports_helpers, {
12448
12448
  resolveTaskId: () => resolveTaskId,
12449
12449
  resolveExplicitProject: () => resolveExplicitProject,
12450
12450
  priorityColors: () => priorityColors,
12451
+ printJson: () => printJson,
12451
12452
  output: () => output,
12452
12453
  normalizeStatusList: () => normalizeStatusList,
12453
12454
  normalizeStatus: () => normalizeStatus,
@@ -12460,6 +12461,7 @@ __export(exports_helpers, {
12460
12461
  });
12461
12462
  import chalk from "chalk";
12462
12463
  import { execSync } from "child_process";
12464
+ import { writeSync } from "fs";
12463
12465
  import { resolve as resolve8 } from "path";
12464
12466
  function handleError(e) {
12465
12467
  console.error(chalk.red(e instanceof Error ? e.message : String(e)));
@@ -12556,9 +12558,35 @@ function normalizeStatusList(statuses) {
12556
12558
  return statuses.map(normalizeStatus);
12557
12559
  return normalizeStatus(statuses);
12558
12560
  }
12561
+ function writeStdoutSync(text) {
12562
+ const buffer = Buffer.from(text);
12563
+ let offset = 0;
12564
+ while (offset < buffer.length) {
12565
+ try {
12566
+ const written = writeSync(1, buffer, offset, buffer.length - offset);
12567
+ if (written <= 0)
12568
+ throw new Error("Unable to write complete stdout payload");
12569
+ offset += written;
12570
+ } catch (error) {
12571
+ const code = typeof error === "object" && error !== null && "code" in error ? error.code : undefined;
12572
+ if (code === "EPIPE") {
12573
+ return;
12574
+ }
12575
+ if (code === "EAGAIN" || code === "EWOULDBLOCK" || code === "EINTR") {
12576
+ Atomics.wait(stdoutRetrySignal, 0, 0, 1);
12577
+ continue;
12578
+ }
12579
+ throw error;
12580
+ }
12581
+ }
12582
+ }
12583
+ function printJson(data) {
12584
+ writeStdoutSync(`${JSON.stringify(data, null, 2)}
12585
+ `);
12586
+ }
12559
12587
  function output(data, jsonMode) {
12560
12588
  if (jsonMode) {
12561
- console.log(JSON.stringify(data, null, 2));
12589
+ printJson(data);
12562
12590
  }
12563
12591
  }
12564
12592
  function formatTaskLine(t) {
@@ -12570,11 +12598,13 @@ function formatTaskLine(t) {
12570
12598
  const plan = t.plan_id ? chalk.magenta(` [plan:${t.plan_id.slice(0, 8)}]`) : "";
12571
12599
  return `${chalk.dim(t.id.slice(0, 8))} ${statusFn(t.status.padEnd(11))} ${priorityFn(t.priority.padEnd(8))} ${t.title}${assigned}${lock}${tags}${plan}`;
12572
12600
  }
12573
- var statusColors, priorityColors;
12601
+ var stdoutRetryBuffer, stdoutRetrySignal, statusColors, priorityColors;
12574
12602
  var init_helpers = __esm(() => {
12575
12603
  init_database();
12576
12604
  init_projects();
12577
12605
  init_package_version();
12606
+ stdoutRetryBuffer = new SharedArrayBuffer(4);
12607
+ stdoutRetrySignal = new Int32Array(stdoutRetryBuffer);
12578
12608
  statusColors = {
12579
12609
  pending: chalk.yellow,
12580
12610
  in_progress: chalk.blue,
@@ -59403,7 +59433,7 @@ __export(exports_environment_snapshots2, {
59403
59433
  registerEnvironmentSnapshotCommands: () => registerEnvironmentSnapshotCommands
59404
59434
  });
59405
59435
  import chalk12 from "chalk";
59406
- function printJson(value) {
59436
+ function printJson2(value) {
59407
59437
  console.log(JSON.stringify(value, null, 2));
59408
59438
  }
59409
59439
  function registerEnvironmentSnapshotCommands(program2) {
@@ -59421,7 +59451,7 @@ function registerEnvironmentSnapshotCommands(program2) {
59421
59451
  include_env_values: Boolean(opts.includeEnvValues)
59422
59452
  });
59423
59453
  if (globalOpts.json) {
59424
- printJson(result);
59454
+ printJson2(result);
59425
59455
  return;
59426
59456
  }
59427
59457
  console.log(chalk12.green("Captured") + ` ${result.snapshot.id}`);
@@ -59438,7 +59468,7 @@ function registerEnvironmentSnapshotCommands(program2) {
59438
59468
  } catch (error) {
59439
59469
  const message = error instanceof Error ? error.message : String(error);
59440
59470
  if (globalOpts.json)
59441
- printJson({ error: message });
59471
+ printJson2({ error: message });
59442
59472
  else
59443
59473
  console.error(chalk12.red(`Error: ${message}`));
59444
59474
  process.exit(1);
@@ -59449,7 +59479,7 @@ function registerEnvironmentSnapshotCommands(program2) {
59449
59479
  try {
59450
59480
  const comparison = compareEnvironmentSnapshotFiles(left, right);
59451
59481
  if (globalOpts.json) {
59452
- printJson(comparison);
59482
+ printJson2(comparison);
59453
59483
  return;
59454
59484
  }
59455
59485
  console.log(`left: ${comparison.left_id}`);
@@ -59464,7 +59494,7 @@ function registerEnvironmentSnapshotCommands(program2) {
59464
59494
  } catch (error) {
59465
59495
  const message = error instanceof Error ? error.message : String(error);
59466
59496
  if (globalOpts.json)
59467
- printJson({ error: message });
59497
+ printJson2({ error: message });
59468
59498
  else
59469
59499
  console.error(chalk12.red(`Error: ${message}`));
59470
59500
  process.exit(1);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "packageName": "@hasna/todos",
3
- "packageVersion": "0.11.68",
3
+ "packageVersion": "0.11.69",
4
4
  "repository": "https://github.com/hasna/todos.git",
5
- "gitCommit": "d97f06bfd03ee6072813a25521c48721cf91e5c2",
6
- "generatedAt": "2026-06-29T05:31:50.736Z"
5
+ "gitCommit": "8de441cfe66d5e61839983b91ed42868d214b8b1",
6
+ "generatedAt": "2026-06-29T19:21:19.104Z"
7
7
  }
@@ -15565,7 +15565,7 @@ class JSONSchemaGenerator {
15565
15565
  if (val === undefined) {
15566
15566
  if (this.unrepresentable === "throw") {
15567
15567
  throw new Error("Literal `undefined` cannot be represented in JSON Schema");
15568
- }
15568
+ } else {}
15569
15569
  } else if (typeof val === "bigint") {
15570
15570
  if (this.unrepresentable === "throw") {
15571
15571
  throw new Error("BigInt literals cannot be represented in JSON Schema");
@@ -58652,7 +58652,7 @@ var require_to_json_schema = __commonJS((exports) => {
58652
58652
  if (val === undefined) {
58653
58653
  if (this.unrepresentable === "throw") {
58654
58654
  throw new Error("Literal `undefined` cannot be represented in JSON Schema");
58655
- }
58655
+ } else {}
58656
58656
  } else if (typeof val === "bigint") {
58657
58657
  if (this.unrepresentable === "throw") {
58658
58658
  throw new Error("BigInt literals cannot be represented in JSON Schema");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/todos",
3
- "version": "0.11.68",
3
+ "version": "0.11.69",
4
4
  "description": "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",