@hasna/todos 0.15.2 → 0.15.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.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoDzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACxE,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,SAAS,EAAE,MAAM,GAChB,CAAC,EAAE,CAML;AAYD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAuiBrD"}
1
+ {"version":3,"file":"agent-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoDzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACxE,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,SAAS,EAAE,MAAM,GAChB,CAAC,EAAE,CAML;AAYD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAqjBrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/project-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2QzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QA+kCvD"}
1
+ {"version":3,"file":"project-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/project-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4QzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QAwlCvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/task-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEzC,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAmUD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QA8xDpD"}
1
+ {"version":3,"file":"task-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/task-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEzC,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAmUD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAkzDpD"}
package/dist/cli/index.js CHANGED
@@ -2123,7 +2123,7 @@ var package_default;
2123
2123
  var init_package = __esm(() => {
2124
2124
  package_default = {
2125
2125
  name: "@hasna/todos",
2126
- version: "0.15.2",
2126
+ version: "0.15.4",
2127
2127
  description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
2128
2128
  type: "module",
2129
2129
  main: "dist/index.js",
@@ -20686,8 +20686,11 @@ function registerTaskCommands(program2) {
20686
20686
  const router = resolveWritableIdentity(opts.createdBy || globalOpts.agent);
20687
20687
  const requestedAssign = opts.assign ? await resolveValidatedAssignee(opts.assign, Boolean(opts.assignSeat), (v) => `--assign ${v} --assign-seat`) : undefined;
20688
20688
  const assignee = requestedAssign || (opts.unassigned ? undefined : router.agent_id || undefined);
20689
- if (!assignee && !opts.unassigned) {
20689
+ const ownerless = !assignee && !opts.unassigned;
20690
+ if (ownerless) {
20690
20691
  console.error(chalk3.yellow("Warning: task is ownerless and unattributable \u2014 export TODOS_AGENT_ID=<name> for this session, or pass --agent/--assign <agent> or --unassigned."));
20692
+ } else if (!router.agent_id) {
20693
+ console.error(chalk3.yellow("Warning: task is unattributable \u2014 created_by will be recorded as null. Export TODOS_AGENT_ID=<name> for this session, or pass --agent <agent>, to record who filed it."));
20691
20694
  }
20692
20695
  const cloud = getTodosCloudClient();
20693
20696
  if (cloud) {
@@ -26807,16 +26810,18 @@ function registerProjectCommands(program2) {
26807
26810
  content = `[progress ${pct}%] ${text}`;
26808
26811
  progressPct = pct;
26809
26812
  }
26813
+ const router = resolveWritableIdentity(globalOpts.agent);
26814
+ const agentId = globalOpts.agent || router.agent_id || undefined;
26810
26815
  try {
26811
26816
  const comment = cloud ? await cloudAddComment(cloud, resolvedId, {
26812
26817
  content,
26813
- agent_id: globalOpts.agent,
26818
+ agent_id: agentId,
26814
26819
  session_id: globalOpts.session,
26815
26820
  ...progressPct !== undefined ? { type: "progress", progress_pct: progressPct } : {}
26816
26821
  }) : addComment({
26817
26822
  task_id: resolvedId,
26818
26823
  content,
26819
- agent_id: globalOpts.agent,
26824
+ agent_id: agentId,
26820
26825
  session_id: globalOpts.session
26821
26826
  });
26822
26827
  if (globalOpts.json) {
@@ -27624,6 +27629,7 @@ var init_project_commands = __esm(() => {
27624
27629
  init_projects();
27625
27630
  init_comments();
27626
27631
  init_cloud_router();
27632
+ init_creator_identity();
27627
27633
  init_dependency_graph();
27628
27634
  init_saved_search_views();
27629
27635
  init_sync();
@@ -27724,7 +27730,10 @@ Or pass --force to take over the machine-wide identity.`));
27724
27730
  console.log(` ${chalk6.dim("ID:")} ${result.id}`);
27725
27731
  console.log(` ${chalk6.dim("Name:")} ${result.name}`);
27726
27732
  console.log(`
27727
- ${chalk6.dim("Identity saved \u2014 later commands attribute to this agent automatically.")}`);
27733
+ ${chalk6.dim("Identity saved for diagnostics and --inbox \u2014 it is not attribution.")}
27734
+ ${chalk6.dim("For per-session attribution, set a per-process identity \u2014 it outranks this file and cannot collide with another session on the same machine:")}
27735
+ ${chalk6.dim(`export TODOS_AGENT_ID=${result.name}`)}
27736
+ ${chalk6.dim(`Or pass --agent ${result.name} on each command.`)}`);
27728
27737
  }
27729
27738
  } catch (e) {
27730
27739
  handleError(e);
package/dist/contracts.js CHANGED
@@ -12032,7 +12032,7 @@ var init_tasks = __esm(() => {
12032
12032
  // package.json
12033
12033
  var package_default = {
12034
12034
  name: "@hasna/todos",
12035
- version: "0.15.2",
12035
+ version: "0.15.4",
12036
12036
  description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
12037
12037
  type: "module",
12038
12038
  main: "dist/index.js",
package/dist/index.js CHANGED
@@ -12145,7 +12145,7 @@ var init_dispatches = __esm(() => {
12145
12145
  // package.json
12146
12146
  var package_default = {
12147
12147
  name: "@hasna/todos",
12148
- version: "0.15.2",
12148
+ version: "0.15.4",
12149
12149
  description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
12150
12150
  type: "module",
12151
12151
  main: "dist/index.js",
package/dist/mcp/index.js CHANGED
@@ -34914,7 +34914,7 @@ var package_default;
34914
34914
  var init_package = __esm(() => {
34915
34915
  package_default = {
34916
34916
  name: "@hasna/todos",
34917
- version: "0.15.2",
34917
+ version: "0.15.4",
34918
34918
  description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
34919
34919
  type: "module",
34920
34920
  main: "dist/index.js",
package/dist/mcp.js CHANGED
@@ -41,7 +41,7 @@ var __require = import.meta.require;
41
41
  // package.json
42
42
  var package_default = {
43
43
  name: "@hasna/todos",
44
- version: "0.15.2",
44
+ version: "0.15.4",
45
45
  description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
46
46
  type: "module",
47
47
  main: "dist/index.js",
package/dist/registry.js CHANGED
@@ -12032,7 +12032,7 @@ var init_tasks = __esm(() => {
12032
12032
  // package.json
12033
12033
  var package_default = {
12034
12034
  name: "@hasna/todos",
12035
- version: "0.15.2",
12035
+ version: "0.15.4",
12036
12036
  description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
12037
12037
  type: "module",
12038
12038
  main: "dist/index.js",
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "packageName": "@hasna/todos",
3
- "packageVersion": "0.15.2",
3
+ "packageVersion": "0.15.4",
4
4
  "repository": "https://github.com/hasna/todos.git",
5
- "gitCommit": "feac5775161b453688e8f5bef0af3e72d5210106",
6
- "gitTree": "debb675e5132e0058518024cad510f47590c112c",
7
- "sourceTreeSha256": "27d6cb7b111d064938d5c1c2c4bd5da9db935cc325fcab47361ff0a6774df8d2",
8
- "generatedAt": "2026-08-04T01:11:58.000Z"
5
+ "gitCommit": "f2cba9a1a2f689b5f657a9e4b0343c06bb5a9053",
6
+ "gitTree": "940acc30831db4a32ab7e0ef6d143d50924295ee",
7
+ "sourceTreeSha256": "de35dde8cbad7cf3afceb9b03ae2a70dfff78415251ff1c0f62fbdf18f582415",
8
+ "generatedAt": "2026-08-04T23:12:15.000Z"
9
9
  }
@@ -70,7 +70,7 @@ var package_default;
70
70
  var init_package = __esm(() => {
71
71
  package_default = {
72
72
  name: "@hasna/todos",
73
- version: "0.15.2",
73
+ version: "0.15.4",
74
74
  description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
75
75
  type: "module",
76
76
  main: "dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/todos",
3
- "version": "0.15.2",
3
+ "version": "0.15.4",
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",