@hasna/todos 0.15.1 → 0.15.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.
- package/dist/cli/commands/task-commands.d.ts.map +1 -1
- package/dist/cli/index.js +8 -10
- package/dist/contracts.js +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/index.js +6 -7
- package/dist/mcp/tools/task-crud.d.ts.map +1 -1
- package/dist/mcp.js +1 -1
- package/dist/registry.js +1 -1
- package/dist/release-provenance.json +5 -5
- package/dist/server/index.js +6 -7
- package/package.json +1 -1
|
@@ -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,
|
|
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"}
|
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.
|
|
2126
|
+
version: "0.15.2",
|
|
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",
|
|
@@ -20683,7 +20683,6 @@ function registerTaskCommands(program2) {
|
|
|
20683
20683
|
const globalOpts = program2.opts();
|
|
20684
20684
|
opts.tags = opts.tags || opts.tag;
|
|
20685
20685
|
opts.list = opts.list || opts.taskList;
|
|
20686
|
-
const creator = resolveCreatorIdentity(opts.createdBy || globalOpts.agent);
|
|
20687
20686
|
const router = resolveWritableIdentity(opts.createdBy || globalOpts.agent);
|
|
20688
20687
|
const requestedAssign = opts.assign ? await resolveValidatedAssignee(opts.assign, Boolean(opts.assignSeat), (v) => `--assign ${v} --assign-seat`) : undefined;
|
|
20689
20688
|
const assignee = requestedAssign || (opts.unassigned ? undefined : router.agent_id || undefined);
|
|
@@ -20716,7 +20715,7 @@ function registerTaskCommands(program2) {
|
|
|
20716
20715
|
status: parseStatus(opts.status),
|
|
20717
20716
|
task_list_id: cloudTaskListId,
|
|
20718
20717
|
agent_id: globalOpts.agent || router.agent_id || undefined,
|
|
20719
|
-
created_by:
|
|
20718
|
+
created_by: router.agent_id || undefined,
|
|
20720
20719
|
session_id: globalOpts.session,
|
|
20721
20720
|
project_id: cloudProjectId,
|
|
20722
20721
|
working_dir: process.cwd(),
|
|
@@ -20764,7 +20763,7 @@ function registerTaskCommands(program2) {
|
|
|
20764
20763
|
status: parseStatus(opts.status),
|
|
20765
20764
|
task_list_id: taskListId,
|
|
20766
20765
|
agent_id: globalOpts.agent || router.agent_id || undefined,
|
|
20767
|
-
created_by:
|
|
20766
|
+
created_by: router.agent_id || undefined,
|
|
20768
20767
|
session_id: globalOpts.session,
|
|
20769
20768
|
project_id: projectId,
|
|
20770
20769
|
working_dir: process.cwd(),
|
|
@@ -44037,7 +44036,7 @@ function registerTaskCrudTools(server, ctx) {
|
|
|
44037
44036
|
project_id: exports_external.string().optional().describe("Project ID"),
|
|
44038
44037
|
task_list_id: exports_external.string().optional().describe("Task list ID"),
|
|
44039
44038
|
assigned_to: exports_external.string().optional().describe("Agent ID or name to assign to"),
|
|
44040
|
-
created_by: exports_external.string().optional().describe("Agent who FILED this task. Defaults to the ambient agent identity
|
|
44039
|
+
created_by: exports_external.string().optional().describe("Agent who FILED this task. Defaults to the PROCESS-BOUND ambient identity (--agent / TODOS_AGENT_ID) if set; the machine-shared identity `todos init` persists to disk is never used here, because it names the station, not the caller."),
|
|
44041
44040
|
unassigned: exports_external.boolean().optional().describe("Deliberately file with no assignee. Without it, the task defaults to the filer."),
|
|
44042
44041
|
allow_seat: exports_external.boolean().optional().describe("Allow assigned_to to name a durable seat. A seat queue has no session watching it, so this must be deliberate."),
|
|
44043
44042
|
depends_on: exports_external.array(exports_external.string()).optional().describe("Array of task IDs this task depends on"),
|
|
@@ -44052,14 +44051,13 @@ function registerTaskCrudTools(server, ctx) {
|
|
|
44052
44051
|
try {
|
|
44053
44052
|
const { depends_on, assigned_to, project_id, task_list_id, tags, estimate, confidence, retry_count, deadline, created_by, unassigned, allow_seat, ...rest } = params;
|
|
44054
44053
|
const requestedAssignee = assigned_to ? await validateMcpAssignee(assigned_to, Boolean(allow_seat)) : undefined;
|
|
44055
|
-
const creator = resolveCreatorIdentity(created_by);
|
|
44056
44054
|
const router = resolveWritableIdentity(created_by);
|
|
44057
44055
|
const assignee = requestedAssignee || (unassigned ? undefined : router.agent_id || undefined);
|
|
44058
44056
|
const cloud = getTodosCloudClient();
|
|
44059
44057
|
if (cloud) {
|
|
44060
44058
|
const payload = { ...rest };
|
|
44061
|
-
if (
|
|
44062
|
-
payload.created_by =
|
|
44059
|
+
if (router.agent_id)
|
|
44060
|
+
payload.created_by = router.agent_id;
|
|
44063
44061
|
if (router.agent_id)
|
|
44064
44062
|
payload.agent_id = payload.agent_id ?? router.agent_id;
|
|
44065
44063
|
if (assignee)
|
|
@@ -44085,8 +44083,8 @@ function registerTaskCrudTools(server, ctx) {
|
|
|
44085
44083
|
return { content: [{ type: "text", text: mutationTaskResponse(created) }] };
|
|
44086
44084
|
}
|
|
44087
44085
|
const resolved = { ...rest };
|
|
44088
|
-
if (
|
|
44089
|
-
resolved.created_by =
|
|
44086
|
+
if (router.agent_id)
|
|
44087
|
+
resolved.created_by = router.agent_id;
|
|
44090
44088
|
if (router.agent_id)
|
|
44091
44089
|
resolved.agent_id = resolved.agent_id ?? router.agent_id;
|
|
44092
44090
|
if (assignee)
|
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.
|
|
12035
|
+
version: "0.15.2",
|
|
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.
|
|
12148
|
+
version: "0.15.2",
|
|
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
|
@@ -20867,7 +20867,7 @@ function registerTaskCrudTools(server, ctx) {
|
|
|
20867
20867
|
project_id: exports_external.string().optional().describe("Project ID"),
|
|
20868
20868
|
task_list_id: exports_external.string().optional().describe("Task list ID"),
|
|
20869
20869
|
assigned_to: exports_external.string().optional().describe("Agent ID or name to assign to"),
|
|
20870
|
-
created_by: exports_external.string().optional().describe("Agent who FILED this task. Defaults to the ambient agent identity
|
|
20870
|
+
created_by: exports_external.string().optional().describe("Agent who FILED this task. Defaults to the PROCESS-BOUND ambient identity (--agent / TODOS_AGENT_ID) if set; the machine-shared identity `todos init` persists to disk is never used here, because it names the station, not the caller."),
|
|
20871
20871
|
unassigned: exports_external.boolean().optional().describe("Deliberately file with no assignee. Without it, the task defaults to the filer."),
|
|
20872
20872
|
allow_seat: exports_external.boolean().optional().describe("Allow assigned_to to name a durable seat. A seat queue has no session watching it, so this must be deliberate."),
|
|
20873
20873
|
depends_on: exports_external.array(exports_external.string()).optional().describe("Array of task IDs this task depends on"),
|
|
@@ -20882,14 +20882,13 @@ function registerTaskCrudTools(server, ctx) {
|
|
|
20882
20882
|
try {
|
|
20883
20883
|
const { depends_on, assigned_to, project_id, task_list_id, tags, estimate, confidence, retry_count, deadline, created_by, unassigned, allow_seat, ...rest } = params;
|
|
20884
20884
|
const requestedAssignee = assigned_to ? await validateMcpAssignee(assigned_to, Boolean(allow_seat)) : undefined;
|
|
20885
|
-
const creator = resolveCreatorIdentity(created_by);
|
|
20886
20885
|
const router = resolveWritableIdentity(created_by);
|
|
20887
20886
|
const assignee = requestedAssignee || (unassigned ? undefined : router.agent_id || undefined);
|
|
20888
20887
|
const cloud = getTodosCloudClient();
|
|
20889
20888
|
if (cloud) {
|
|
20890
20889
|
const payload = { ...rest };
|
|
20891
|
-
if (
|
|
20892
|
-
payload.created_by =
|
|
20890
|
+
if (router.agent_id)
|
|
20891
|
+
payload.created_by = router.agent_id;
|
|
20893
20892
|
if (router.agent_id)
|
|
20894
20893
|
payload.agent_id = payload.agent_id ?? router.agent_id;
|
|
20895
20894
|
if (assignee)
|
|
@@ -20915,8 +20914,8 @@ function registerTaskCrudTools(server, ctx) {
|
|
|
20915
20914
|
return { content: [{ type: "text", text: mutationTaskResponse(created) }] };
|
|
20916
20915
|
}
|
|
20917
20916
|
const resolved = { ...rest };
|
|
20918
|
-
if (
|
|
20919
|
-
resolved.created_by =
|
|
20917
|
+
if (router.agent_id)
|
|
20918
|
+
resolved.created_by = router.agent_id;
|
|
20920
20919
|
if (router.agent_id)
|
|
20921
20920
|
resolved.agent_id = resolved.agent_id ?? router.agent_id;
|
|
20922
20921
|
if (assignee)
|
|
@@ -34915,7 +34914,7 @@ var package_default;
|
|
|
34915
34914
|
var init_package = __esm(() => {
|
|
34916
34915
|
package_default = {
|
|
34917
34916
|
name: "@hasna/todos",
|
|
34918
|
-
version: "0.15.
|
|
34917
|
+
version: "0.15.2",
|
|
34919
34918
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
34920
34919
|
type: "module",
|
|
34921
34920
|
main: "dist/index.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-crud.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task-crud.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAoBjD,UAAU,eAAe;IACvB,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IACnC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACvE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC1F,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE;AAuBD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"task-crud.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task-crud.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAoBjD,UAAU,eAAe;IACvB,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IACnC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACvE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC1F,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE;AAuBD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,QA2Y5E"}
|
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.
|
|
44
|
+
version: "0.15.2",
|
|
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.
|
|
12035
|
+
version: "0.15.2",
|
|
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.
|
|
3
|
+
"packageVersion": "0.15.2",
|
|
4
4
|
"repository": "https://github.com/hasna/todos.git",
|
|
5
|
-
"gitCommit": "
|
|
6
|
-
"gitTree": "
|
|
7
|
-
"sourceTreeSha256": "
|
|
8
|
-
"generatedAt": "2026-08-
|
|
5
|
+
"gitCommit": "feac5775161b453688e8f5bef0af3e72d5210106",
|
|
6
|
+
"gitTree": "debb675e5132e0058518024cad510f47590c112c",
|
|
7
|
+
"sourceTreeSha256": "27d6cb7b111d064938d5c1c2c4bd5da9db935cc325fcab47361ff0a6774df8d2",
|
|
8
|
+
"generatedAt": "2026-08-04T01:11:58.000Z"
|
|
9
9
|
}
|
package/dist/server/index.js
CHANGED
|
@@ -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.
|
|
73
|
+
version: "0.15.2",
|
|
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",
|
|
@@ -58727,7 +58727,7 @@ function registerTaskCrudTools(server, ctx) {
|
|
|
58727
58727
|
project_id: exports_external.string().optional().describe("Project ID"),
|
|
58728
58728
|
task_list_id: exports_external.string().optional().describe("Task list ID"),
|
|
58729
58729
|
assigned_to: exports_external.string().optional().describe("Agent ID or name to assign to"),
|
|
58730
|
-
created_by: exports_external.string().optional().describe("Agent who FILED this task. Defaults to the ambient agent identity
|
|
58730
|
+
created_by: exports_external.string().optional().describe("Agent who FILED this task. Defaults to the PROCESS-BOUND ambient identity (--agent / TODOS_AGENT_ID) if set; the machine-shared identity `todos init` persists to disk is never used here, because it names the station, not the caller."),
|
|
58731
58731
|
unassigned: exports_external.boolean().optional().describe("Deliberately file with no assignee. Without it, the task defaults to the filer."),
|
|
58732
58732
|
allow_seat: exports_external.boolean().optional().describe("Allow assigned_to to name a durable seat. A seat queue has no session watching it, so this must be deliberate."),
|
|
58733
58733
|
depends_on: exports_external.array(exports_external.string()).optional().describe("Array of task IDs this task depends on"),
|
|
@@ -58742,14 +58742,13 @@ function registerTaskCrudTools(server, ctx) {
|
|
|
58742
58742
|
try {
|
|
58743
58743
|
const { depends_on, assigned_to, project_id, task_list_id, tags, estimate, confidence, retry_count, deadline, created_by, unassigned, allow_seat, ...rest } = params;
|
|
58744
58744
|
const requestedAssignee = assigned_to ? await validateMcpAssignee(assigned_to, Boolean(allow_seat)) : undefined;
|
|
58745
|
-
const creator = resolveCreatorIdentity(created_by);
|
|
58746
58745
|
const router = resolveWritableIdentity(created_by);
|
|
58747
58746
|
const assignee = requestedAssignee || (unassigned ? undefined : router.agent_id || undefined);
|
|
58748
58747
|
const cloud = getTodosCloudClient();
|
|
58749
58748
|
if (cloud) {
|
|
58750
58749
|
const payload = { ...rest };
|
|
58751
|
-
if (
|
|
58752
|
-
payload.created_by =
|
|
58750
|
+
if (router.agent_id)
|
|
58751
|
+
payload.created_by = router.agent_id;
|
|
58753
58752
|
if (router.agent_id)
|
|
58754
58753
|
payload.agent_id = payload.agent_id ?? router.agent_id;
|
|
58755
58754
|
if (assignee)
|
|
@@ -58775,8 +58774,8 @@ function registerTaskCrudTools(server, ctx) {
|
|
|
58775
58774
|
return { content: [{ type: "text", text: mutationTaskResponse(created) }] };
|
|
58776
58775
|
}
|
|
58777
58776
|
const resolved = { ...rest };
|
|
58778
|
-
if (
|
|
58779
|
-
resolved.created_by =
|
|
58777
|
+
if (router.agent_id)
|
|
58778
|
+
resolved.created_by = router.agent_id;
|
|
58780
58779
|
if (router.agent_id)
|
|
58781
58780
|
resolved.agent_id = resolved.agent_id ?? router.agent_id;
|
|
58782
58781
|
if (assignee)
|