@hasna/todos 0.13.5 → 0.13.6

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.
@@ -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.13.5",
73
+ version: "0.13.6",
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",
@@ -1759,6 +1759,10 @@ class PostgresJsonRecordStore {
1759
1759
  conds.push(`payload->>'assigned_to' = ${p(filter.assigned_to)}`);
1760
1760
  if (filter.agent_id !== undefined)
1761
1761
  conds.push(`payload->>'agent_id' = ${p(filter.agent_id)}`);
1762
+ if (filter.created_by !== undefined)
1763
+ conds.push(`LOWER(payload->>'created_by') = LOWER(${p(filter.created_by)})`);
1764
+ if (filter.not_created_by !== undefined)
1765
+ conds.push(`(payload->>'created_by' IS NULL OR LOWER(payload->>'created_by') <> LOWER(${p(filter.not_created_by)}))`);
1762
1766
  if (filter.session_id !== undefined)
1763
1767
  conds.push(`payload->>'session_id' = ${p(filter.session_id)}`);
1764
1768
  if (filter.tags?.length) {
@@ -2272,7 +2276,7 @@ async function createTask(input, store, context) {
2272
2276
  description: input.description ?? null,
2273
2277
  status: input.status ?? "pending",
2274
2278
  priority: input.priority ?? "medium",
2275
- agent_id: input.agent_id ?? null,
2279
+ agent_id: input.agent_id ?? context?.agentId ?? null,
2276
2280
  assigned_to: input.assigned_to ?? null,
2277
2281
  session_id: input.session_id ?? context?.sessionId ?? null,
2278
2282
  working_dir: input.working_dir ?? null,
@@ -2297,7 +2301,8 @@ async function createTask(input, store, context) {
2297
2301
  confidence: input.confidence ?? null,
2298
2302
  reason: input.reason ?? null,
2299
2303
  spawned_from_session: input.spawned_from_session ?? null,
2300
- assigned_by: input.assigned_by ?? null,
2304
+ assigned_by: input.assigned_by ?? input.agent_id ?? context?.agentId ?? null,
2305
+ created_by: input.created_by ?? input.agent_id ?? context?.agentId ?? null,
2301
2306
  assigned_from_project: input.assigned_from_project ?? null,
2302
2307
  task_type: input.task_type ?? null,
2303
2308
  cost_tokens: 0,
@@ -2334,7 +2339,8 @@ async function updateTask(id, input, store) {
2334
2339
  tags: input.tags ?? existing.tags,
2335
2340
  metadata: input.metadata ?? existing.metadata,
2336
2341
  requires_approval: input.requires_approval ?? existing.requires_approval,
2337
- task_list_id: input.task_list_id !== undefined ? input.task_list_id : existing.task_list_id
2342
+ task_list_id: input.task_list_id !== undefined ? input.task_list_id : existing.task_list_id,
2343
+ created_by: existing.created_by
2338
2344
  };
2339
2345
  await store.upsert("tasks", task);
2340
2346
  return task;
@@ -7475,6 +7481,7 @@ function ensureSchema(db) {
7475
7481
  ensureColumn("tasks", "reason", "TEXT");
7476
7482
  ensureColumn("tasks", "spawned_from_session", "TEXT");
7477
7483
  ensureColumn("tasks", "assigned_by", "TEXT");
7484
+ ensureColumn("tasks", "created_by", "TEXT");
7478
7485
  ensureColumn("tasks", "assigned_from_project", "TEXT");
7479
7486
  ensureColumn("tasks", "started_at", "TEXT");
7480
7487
  ensureColumn("tasks", "task_type", "TEXT");
@@ -7637,6 +7644,8 @@ function ensureSchema(db) {
7637
7644
  ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id)");
7638
7645
  ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type)");
7639
7646
  ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_assigned_by ON tasks(assigned_by)");
7647
+ ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_created_by ON tasks(created_by)");
7648
+ ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_assigned_created ON tasks(assigned_to, created_by)");
7640
7649
  ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_rel_source ON task_relationships(source_task_id)");
7641
7650
  ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_rel_target ON task_relationships(target_task_id)");
7642
7651
  ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_rel_type ON task_relationships(relationship_type)");
@@ -13283,13 +13292,14 @@ function createTask2(input, db) {
13283
13292
  const timestamp2 = now();
13284
13293
  const tags = input.tags || [];
13285
13294
  const machineId = currentStorageMachineId(d);
13295
+ const createdBy = input.created_by || input.agent_id || null;
13286
13296
  const assignedBy = input.assigned_by || input.agent_id;
13287
13297
  const assignedFromProject = input.assigned_from_project || null;
13288
13298
  let id = uuid();
13289
13299
  for (let attempt = 0;attempt < 3; attempt++) {
13290
13300
  try {
13291
- d.run(`INSERT INTO tasks (id, short_id, project_id, parent_id, plan_id, task_list_id, cycle_id, title, description, status, priority, agent_id, assigned_to, session_id, working_dir, tags, metadata, version, created_at, updated_at, due_at, estimated_minutes, sla_minutes, confidence, retry_count, max_retries, retry_after, requires_approval, approved_by, approved_at, recurrence_rule, recurrence_parent_id, spawns_template_id, reason, spawned_from_session, assigned_by, assigned_from_project, task_type, machine_id)
13292
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
13301
+ d.run(`INSERT INTO tasks (id, short_id, project_id, parent_id, plan_id, task_list_id, cycle_id, title, description, status, priority, agent_id, assigned_to, session_id, working_dir, tags, metadata, version, created_at, updated_at, due_at, estimated_minutes, sla_minutes, confidence, retry_count, max_retries, retry_after, requires_approval, approved_by, approved_at, recurrence_rule, recurrence_parent_id, spawns_template_id, reason, spawned_from_session, assigned_by, created_by, assigned_from_project, task_type, machine_id)
13302
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
13293
13303
  id,
13294
13304
  null,
13295
13305
  input.project_id || null,
@@ -13325,6 +13335,7 @@ function createTask2(input, db) {
13325
13335
  input.reason || null,
13326
13336
  input.spawned_from_session || null,
13327
13337
  assignedBy || null,
13338
+ createdBy,
13328
13339
  assignedFromProject || null,
13329
13340
  input.task_type || null,
13330
13341
  machineId
@@ -13434,6 +13445,14 @@ function listTasks2(filter = {}, db) {
13434
13445
  conditions.push("agent_id = ?");
13435
13446
  params.push(filter.agent_id);
13436
13447
  }
13448
+ if (filter.created_by) {
13449
+ conditions.push("LOWER(created_by) = LOWER(?)");
13450
+ params.push(filter.created_by);
13451
+ }
13452
+ if (filter.not_created_by) {
13453
+ conditions.push("(created_by IS NULL OR LOWER(created_by) != LOWER(?))");
13454
+ params.push(filter.not_created_by);
13455
+ }
13437
13456
  if (filter.session_id) {
13438
13457
  conditions.push("session_id = ?");
13439
13458
  params.push(filter.session_id);
@@ -13587,6 +13606,14 @@ function countTasks(filter = {}, db) {
13587
13606
  conditions.push("agent_id = ?");
13588
13607
  params.push(filter.agent_id);
13589
13608
  }
13609
+ if (filter.created_by) {
13610
+ conditions.push("LOWER(created_by) = LOWER(?)");
13611
+ params.push(filter.created_by);
13612
+ }
13613
+ if (filter.not_created_by) {
13614
+ conditions.push("(created_by IS NULL OR LOWER(created_by) != LOWER(?))");
13615
+ params.push(filter.not_created_by);
13616
+ }
13590
13617
  if (filter.session_id) {
13591
13618
  conditions.push("session_id = ?");
13592
13619
  params.push(filter.session_id);
@@ -18157,11 +18184,15 @@ async function handleCreateTask(req, ctx, json2, taskToSummary2) {
18157
18184
  const body = await req.json();
18158
18185
  if (!body.title)
18159
18186
  return json2({ error: "Missing 'title'" }, 400);
18187
+ const createdBy = body.created_by ?? body.agent_id ?? "dashboard";
18160
18188
  const task = createTask2({
18161
18189
  title: body.title,
18162
18190
  description: body.description,
18163
18191
  priority: body.priority,
18164
- project_id: body.project_id
18192
+ project_id: body.project_id,
18193
+ agent_id: body.agent_id ?? createdBy,
18194
+ created_by: createdBy,
18195
+ ...body.assigned_to ? { assigned_to: body.assigned_to } : {}
18165
18196
  });
18166
18197
  ctx.broadcastEvent({ type: "task", task_id: task.id, action: "created", agent_id: task.agent_id, project_id: task.project_id });
18167
18198
  return json2(taskToSummary2(task), 201);
@@ -19425,7 +19456,11 @@ function createLocalSqliteTodosStorageAdapter(options = {}) {
19425
19456
  sync: true
19426
19457
  },
19427
19458
  tasks: {
19428
- create: (input) => createTask2(input, database()),
19459
+ create: (input, context) => createTask2({
19460
+ ...input,
19461
+ agent_id: input.agent_id ?? context?.agentId,
19462
+ created_by: input.created_by ?? input.agent_id ?? context?.agentId
19463
+ }, database()),
19429
19464
  get: (id) => getTask(id, database()),
19430
19465
  resolveRef: (ref) => resolveTaskRefLocal(database(), ref),
19431
19466
  list: (filter = {}) => listTasksMaybeSearch(filter, database()),
@@ -22036,6 +22071,8 @@ async function handleV1Request(req, url, dependencies = {}) {
22036
22071
  ...url.searchParams.get("task_list_id") ? { task_list_id: url.searchParams.get("task_list_id") } : {},
22037
22072
  ...url.searchParams.get("assigned_to") ? { assigned_to: url.searchParams.get("assigned_to") } : {},
22038
22073
  ...url.searchParams.get("agent_id") ? { agent_id: url.searchParams.get("agent_id") } : {},
22074
+ ...url.searchParams.get("created_by") ? { created_by: url.searchParams.get("created_by") } : {},
22075
+ ...url.searchParams.get("not_created_by") ? { not_created_by: url.searchParams.get("not_created_by") } : {},
22039
22076
  ...url.searchParams.get("tags") ? {
22040
22077
  tags: url.searchParams.get("tags").split(",").map((tag) => tag.trim()).filter(Boolean)
22041
22078
  } : {},
@@ -44205,6 +44242,41 @@ var init_token_utils = __esm(() => {
44205
44242
  };
44206
44243
  });
44207
44244
 
44245
+ // src/lib/creator-identity.ts
44246
+ import { existsSync as existsSync8, rmSync as rmSync2 } from "fs";
44247
+ import { join as join8 } from "path";
44248
+ function identityFilePath() {
44249
+ return join8(getTodosGlobalDir(), "identity.json");
44250
+ }
44251
+ function readPersistedIdentity() {
44252
+ const path = identityFilePath();
44253
+ if (!existsSync8(path))
44254
+ return null;
44255
+ const parsed = readJsonFile(path);
44256
+ if (!parsed || typeof parsed.agent_id !== "string" || !parsed.agent_id.trim())
44257
+ return null;
44258
+ return parsed;
44259
+ }
44260
+ function canonicalAgentRef(value) {
44261
+ return value.trim().toLowerCase();
44262
+ }
44263
+ function resolveCreatorIdentity(explicit) {
44264
+ const fromExplicit = explicit?.trim();
44265
+ if (fromExplicit)
44266
+ return { agent_id: canonicalAgentRef(fromExplicit), source: "explicit" };
44267
+ const fromEnv = (process.env["TODOS_AGENT_ID"] || process.env["HASNA_TODOS_AGENT_ID"] || "").trim();
44268
+ if (fromEnv)
44269
+ return { agent_id: canonicalAgentRef(fromEnv), source: "env" };
44270
+ const persisted = readPersistedIdentity();
44271
+ if (persisted) {
44272
+ return { agent_id: canonicalAgentRef(persisted.agent_name || persisted.agent_id), source: "persisted" };
44273
+ }
44274
+ return { agent_id: null, source: "none" };
44275
+ }
44276
+ var init_creator_identity = __esm(() => {
44277
+ init_sync_utils();
44278
+ });
44279
+
44208
44280
  // src/pr-groups/http-client.ts
44209
44281
  function normalizeBaseUrl(value) {
44210
44282
  const url = new URL(value);
@@ -45554,6 +45626,8 @@ function registerTaskCrudTools(server, ctx) {
45554
45626
  project_id: exports_external.string().optional().describe("Project ID"),
45555
45627
  task_list_id: exports_external.string().optional().describe("Task list ID"),
45556
45628
  assigned_to: exports_external.string().optional().describe("Agent ID or name to assign to"),
45629
+ created_by: exports_external.string().optional().describe("Agent who FILED this task. Defaults to the ambient agent identity (todos init / TODOS_AGENT_ID)."),
45630
+ unassigned: exports_external.boolean().optional().describe("Deliberately file with no assignee. Without it, the task defaults to the filer."),
45557
45631
  depends_on: exports_external.array(exports_external.string()).optional().describe("Array of task IDs this task depends on"),
45558
45632
  short_id: exports_external.string().nullable().optional().describe("Short ID (auto-generated if not provided, disabled if null)"),
45559
45633
  tags: exports_external.array(exports_external.string()).optional().describe("Tags for the task"),
@@ -45564,12 +45638,18 @@ function registerTaskCrudTools(server, ctx) {
45564
45638
  retry_count: exports_external.number().optional().describe("Max retry count for agent failures")
45565
45639
  }, async (params) => {
45566
45640
  try {
45567
- const { depends_on, assigned_to, project_id, task_list_id, tags, estimate, confidence, retry_count, deadline, ...rest } = params;
45641
+ const { depends_on, assigned_to, project_id, task_list_id, tags, estimate, confidence, retry_count, deadline, created_by, unassigned, ...rest } = params;
45642
+ const creator = resolveCreatorIdentity(created_by);
45643
+ const assignee = assigned_to || (unassigned ? undefined : creator.agent_id || undefined);
45568
45644
  const cloud = getTodosCloudClient();
45569
45645
  if (cloud) {
45570
45646
  const payload = { ...rest };
45571
- if (assigned_to)
45572
- payload.assigned_to = assigned_to;
45647
+ if (creator.agent_id) {
45648
+ payload.created_by = creator.agent_id;
45649
+ payload.agent_id = payload.agent_id ?? creator.agent_id;
45650
+ }
45651
+ if (assignee)
45652
+ payload.assigned_to = assignee;
45573
45653
  if (project_id)
45574
45654
  payload.project_id = project_id;
45575
45655
  if (task_list_id)
@@ -45590,8 +45670,12 @@ function registerTaskCrudTools(server, ctx) {
45590
45670
  return { content: [{ type: "text", text: mutationTaskResponse(created) }] };
45591
45671
  }
45592
45672
  const resolved = { ...rest };
45593
- if (assigned_to)
45594
- resolved.assigned_to = resolveAssignee(assigned_to);
45673
+ if (creator.agent_id) {
45674
+ resolved.created_by = creator.agent_id;
45675
+ resolved.agent_id = resolved.agent_id ?? creator.agent_id;
45676
+ }
45677
+ if (assignee)
45678
+ resolved.assigned_to = resolveAssignee(assignee);
45595
45679
  if (project_id)
45596
45680
  resolved.project_id = resolveId(project_id, "projects");
45597
45681
  if (task_list_id)
@@ -45677,6 +45761,8 @@ function registerTaskCrudTools(server, ctx) {
45677
45761
  project_id: exports_external.string().optional().describe("Filter by project"),
45678
45762
  task_list_id: exports_external.string().optional().describe("Filter by task list"),
45679
45763
  assigned_to: exports_external.string().optional().describe("Filter by assignee (agent ID or name, empty string = unassigned)"),
45764
+ created_by: exports_external.string().optional().describe("Filter by the agent who FILED the task"),
45765
+ not_created_by: exports_external.string().optional().describe('Exclude tasks filed by this agent. With assigned_to=<me> this is the "my inbox, minus my own filings" query.'),
45680
45766
  tags: exports_external.array(exports_external.string()).optional().describe("Filter by tags (AND logic)"),
45681
45767
  created_after: exports_external.string().optional().describe("ISO date \u2014 tasks created after this date"),
45682
45768
  created_before: exports_external.string().optional().describe("ISO date \u2014 tasks created before this date"),
@@ -45869,11 +45955,12 @@ var init_task_crud2 = __esm(() => {
45869
45955
  init_tasks();
45870
45956
  init_types();
45871
45957
  init_token_utils();
45958
+ init_creator_identity();
45872
45959
  init_cloud_router();
45873
45960
  });
45874
45961
 
45875
45962
  // src/lib/project-bootstrap.ts
45876
- import { existsSync as existsSync8, readFileSync as readFileSync3, statSync as statSync4 } from "fs";
45963
+ import { existsSync as existsSync9, readFileSync as readFileSync3, statSync as statSync4 } from "fs";
45877
45964
  import { basename as basename3, dirname as dirname6, resolve as resolve9 } from "path";
45878
45965
  function safeStat(path) {
45879
45966
  try {
@@ -45892,7 +45979,7 @@ function canonicalPath(input) {
45892
45979
  function findUp(start, marker) {
45893
45980
  let current = canonicalPath(start);
45894
45981
  while (true) {
45895
- if (existsSync8(resolve9(current, marker)))
45982
+ if (existsSync9(resolve9(current, marker)))
45896
45983
  return current;
45897
45984
  const parent = dirname6(current);
45898
45985
  if (parent === current)
@@ -45904,7 +45991,7 @@ function readPackageJson(path) {
45904
45991
  if (!path)
45905
45992
  return null;
45906
45993
  const file = resolve9(path, "package.json");
45907
- if (!existsSync8(file))
45994
+ if (!existsSync9(file))
45908
45995
  return null;
45909
45996
  try {
45910
45997
  const parsed = JSON.parse(readFileSync3(file, "utf-8"));
@@ -45926,7 +46013,7 @@ function workspaceMarker(root, rootPackage) {
45926
46013
  if (rootPackage?.workspaces)
45927
46014
  markers.push("package.json#workspaces");
45928
46015
  for (const marker of ["pnpm-workspace.yaml", "turbo.json", "nx.json", "lerna.json", "rush.json", "bun.lock", "bun.lockb"]) {
45929
- if (existsSync8(resolve9(root, marker)))
46016
+ if (existsSync9(resolve9(root, marker)))
45930
46017
  markers.push(marker);
45931
46018
  }
45932
46019
  const kind = markers.find((marker) => marker !== "bun.lock" && marker !== "bun.lockb") ?? null;
@@ -46239,7 +46326,7 @@ var init_tags = __esm(() => {
46239
46326
  });
46240
46327
 
46241
46328
  // src/lib/retention-cleanup.ts
46242
- import { existsSync as existsSync9, unlinkSync } from "fs";
46329
+ import { existsSync as existsSync10, unlinkSync } from "fs";
46243
46330
  function normalizeScopes(scopes) {
46244
46331
  if (!scopes || scopes.length === 0)
46245
46332
  return [...ALL_SCOPES];
@@ -46442,7 +46529,7 @@ function applyRetentionCleanup(input, db) {
46442
46529
  for (const artifact of report.candidates.artifact_files) {
46443
46530
  try {
46444
46531
  const path = artifactStorePath(artifact.relative_path);
46445
- if (!existsSync9(path)) {
46532
+ if (!existsSync10(path)) {
46446
46533
  report.warnings.push(`stored artifact already missing: ${artifact.relative_path}`);
46447
46534
  continue;
46448
46535
  }
@@ -46469,8 +46556,8 @@ var init_retention_cleanup = __esm(() => {
46469
46556
  });
46470
46557
 
46471
46558
  // src/lib/mention-resolver.ts
46472
- import { existsSync as existsSync10, readdirSync as readdirSync2, readFileSync as readFileSync4, statSync as statSync5 } from "fs";
46473
- import { basename as basename4, isAbsolute, join as join8, relative as relative3, resolve as resolve10, sep as sep3 } from "path";
46559
+ import { existsSync as existsSync11, readdirSync as readdirSync2, readFileSync as readFileSync4, statSync as statSync5 } from "fs";
46560
+ import { basename as basename4, isAbsolute, join as join9, relative as relative3, resolve as resolve10, sep as sep3 } from "path";
46474
46561
  function blankResolution(parsed) {
46475
46562
  return {
46476
46563
  input: parsed.input,
@@ -46568,7 +46655,7 @@ function resolveFile(parsed, workspace) {
46568
46655
  return resolution;
46569
46656
  }
46570
46657
  resolution.path = relPath;
46571
- if (!existsSync10(absolutePath)) {
46658
+ if (!existsSync11(absolutePath)) {
46572
46659
  resolution.warnings.push("file does not exist in the local workspace");
46573
46660
  return resolution;
46574
46661
  }
@@ -46601,7 +46688,7 @@ function walkSourceFiles(root, current = root, files = []) {
46601
46688
  if (SKIP_DIRS.has(entry2.name))
46602
46689
  continue;
46603
46690
  }
46604
- const absolutePath = join8(current, entry2.name);
46691
+ const absolutePath = join9(current, entry2.name);
46605
46692
  if (entry2.isDirectory()) {
46606
46693
  if (!SKIP_DIRS.has(entry2.name))
46607
46694
  walkSourceFiles(root, absolutePath, files);
@@ -50293,7 +50380,7 @@ var init_audit_ledger = __esm(() => {
50293
50380
 
50294
50381
  // src/lib/release-compatibility.ts
50295
50382
  import { readFileSync as readFileSync5 } from "fs";
50296
- import { join as join9, resolve as resolve12 } from "path";
50383
+ import { join as join10, resolve as resolve12 } from "path";
50297
50384
  import { Database as Database2 } from "bun:sqlite";
50298
50385
  function pass(id, message, details) {
50299
50386
  return { id, status: "passed", message, details };
@@ -50305,7 +50392,7 @@ function warn(id, message, details) {
50305
50392
  return { id, status: "warning", message, details };
50306
50393
  }
50307
50394
  function readPackageJson2(root) {
50308
- return JSON.parse(readFileSync5(join9(root, "package.json"), "utf8"));
50395
+ return JSON.parse(readFileSync5(join10(root, "package.json"), "utf8"));
50309
50396
  }
50310
50397
  function sortedKeys(value) {
50311
50398
  return Object.keys(value ?? {}).sort((left, right) => left.localeCompare(right));
@@ -80200,7 +80287,7 @@ var init_agent_run_dispatcher = __esm(() => {
80200
80287
  });
80201
80288
 
80202
80289
  // src/lib/verification-providers.ts
80203
- import { existsSync as existsSync11, readFileSync as readFileSync6 } from "fs";
80290
+ import { existsSync as existsSync12, readFileSync as readFileSync6 } from "fs";
80204
80291
  function normalizeName5(name) {
80205
80292
  const normalized = name.trim().toLowerCase();
80206
80293
  if (!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(normalized)) {
@@ -80352,7 +80439,7 @@ Timed out after ${provider.timeout_ms}ms`);
80352
80439
  };
80353
80440
  }
80354
80441
  function runCiLogProvider(input) {
80355
- const text = input.log_text ?? (input.log_path && existsSync11(input.log_path) ? readFileSync6(input.log_path, "utf-8") : "");
80442
+ const text = input.log_text ?? (input.log_path && existsSync12(input.log_path) ? readFileSync6(input.log_path, "utf-8") : "");
80356
80443
  return {
80357
80444
  status: classifyLog(text),
80358
80445
  attempts: 1,
@@ -80364,7 +80451,7 @@ function runBrowserProvider(input) {
80364
80451
  if (!input.artifact_path) {
80365
80452
  return { status: "unknown", attempts: 1, exit_code: null, output_summary: "browser provider needs a screenshot or artifact path" };
80366
80453
  }
80367
- if (!existsSync11(input.artifact_path)) {
80454
+ if (!existsSync12(input.artifact_path)) {
80368
80455
  return { status: "failed", attempts: 1, exit_code: null, output_summary: `artifact not found: ${input.artifact_path}` };
80369
80456
  }
80370
80457
  return {
@@ -83447,6 +83534,7 @@ function task(input) {
83447
83534
  reason: "Bundled deterministic onboarding fixture",
83448
83535
  spawned_from_session: null,
83449
83536
  assigned_by: null,
83537
+ created_by: null,
83450
83538
  assigned_from_project: null,
83451
83539
  task_type: "onboarding",
83452
83540
  cost_tokens: 0,
@@ -84644,8 +84732,8 @@ __export(exports_local_extensions, {
84644
84732
  discoverLocalExtensions: () => discoverLocalExtensions
84645
84733
  });
84646
84734
  import { createHash as createHash10, createVerify } from "crypto";
84647
- import { existsSync as existsSync12, readdirSync as readdirSync3, readFileSync as readFileSync8, statSync as statSync6 } from "fs";
84648
- import { basename as basename5, join as join10, resolve as resolve14 } from "path";
84735
+ import { existsSync as existsSync13, readdirSync as readdirSync3, readFileSync as readFileSync8, statSync as statSync6 } from "fs";
84736
+ import { basename as basename5, join as join11, resolve as resolve14 } from "path";
84649
84737
  function isObject3(value) {
84650
84738
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
84651
84739
  }
@@ -84904,10 +84992,10 @@ function verifyExtensionSignature(input) {
84904
84992
  }
84905
84993
  function inspectExtensionSource(source3) {
84906
84994
  const resolved = resolve14(source3);
84907
- if (!existsSync12(resolved))
84995
+ if (!existsSync13(resolved))
84908
84996
  throw new Error(`extension source not found: ${source3}`);
84909
84997
  const stat = statSync6(resolved);
84910
- const manifestPath = stat.isDirectory() ? [join10(resolved, "todos.extension.json"), join10(resolved, "extension.json")].find(existsSync12) : resolved;
84998
+ const manifestPath = stat.isDirectory() ? [join11(resolved, "todos.extension.json"), join11(resolved, "extension.json")].find(existsSync13) : resolved;
84911
84999
  if (!manifestPath)
84912
85000
  throw new Error(`extension directory ${source3} is missing todos.extension.json`);
84913
85001
  const raw = readFileSync8(manifestPath);
@@ -85003,20 +85091,20 @@ function projectExtensionSources(projectPath) {
85003
85091
  return [];
85004
85092
  const root = resolve14(projectPath);
85005
85093
  const candidates = [
85006
- join10(root, "todos.extension.json"),
85007
- join10(root, ".todos", "todos.extension.json")
85094
+ join11(root, "todos.extension.json"),
85095
+ join11(root, ".todos", "todos.extension.json")
85008
85096
  ];
85009
- const extensionDir = join10(root, ".todos", "extensions");
85010
- if (existsSync12(extensionDir)) {
85097
+ const extensionDir = join11(root, ".todos", "extensions");
85098
+ if (existsSync13(extensionDir)) {
85011
85099
  for (const entry2 of readdirSync3(extensionDir)) {
85012
85100
  if (entry2.startsWith("."))
85013
85101
  continue;
85014
- const full = join10(extensionDir, entry2);
85102
+ const full = join11(extensionDir, entry2);
85015
85103
  if (statSync6(full).isDirectory() || entry2.endsWith(".json"))
85016
85104
  candidates.push(full);
85017
85105
  }
85018
85106
  }
85019
- return candidates.filter(existsSync12);
85107
+ return candidates.filter(existsSync13);
85020
85108
  }
85021
85109
  function discoverLocalExtensions(options = {}) {
85022
85110
  const config2 = loadConfig();
@@ -89423,9 +89511,9 @@ __export(exports_extract, {
89423
89511
  buildCodebaseIndex: () => buildCodebaseIndex,
89424
89512
  EXTRACT_TAGS: () => EXTRACT_TAGS
89425
89513
  });
89426
- import { existsSync as existsSync13, readFileSync as readFileSync9, statSync as statSync7 } from "fs";
89514
+ import { existsSync as existsSync14, readFileSync as readFileSync9, statSync as statSync7 } from "fs";
89427
89515
  import { createHash as createHash12 } from "crypto";
89428
- import { relative as relative5, resolve as resolve15, join as join11 } from "path";
89516
+ import { relative as relative5, resolve as resolve15, join as join12 } from "path";
89429
89517
  function stableHash(value) {
89430
89518
  return createHash12("sha256").update(value).digest("hex");
89431
89519
  }
@@ -89434,8 +89522,8 @@ function normalizePathForMatch(value) {
89434
89522
  }
89435
89523
  function readGitignorePatterns(basePath) {
89436
89524
  const root = statSync7(basePath).isFile() ? resolve15(basePath, "..") : basePath;
89437
- const gitignorePath = join11(root, ".gitignore");
89438
- if (!existsSync13(gitignorePath))
89525
+ const gitignorePath = join12(root, ".gitignore");
89526
+ if (!existsSync14(gitignorePath))
89439
89527
  return [];
89440
89528
  try {
89441
89529
  return readFileSync9(gitignorePath, "utf-8").split(`
@@ -89577,7 +89665,7 @@ function buildCodebaseIndex(options) {
89577
89665
  const files = collectFiles(basePath, extensions, excludes, respectGitignore);
89578
89666
  const indexed = [];
89579
89667
  for (const file of files) {
89580
- const fullPath = statSync7(basePath).isFile() ? basePath : join11(basePath, file);
89668
+ const fullPath = statSync7(basePath).isFile() ? basePath : join12(basePath, file);
89581
89669
  try {
89582
89670
  const source3 = readFileSync9(fullPath, "utf-8");
89583
89671
  const relPath = statSync7(basePath).isFile() ? relative5(resolve15(basePath, ".."), fullPath) : file;
@@ -89608,7 +89696,7 @@ function extractTodos(options, db) {
89608
89696
  const files = collectFiles(basePath, extensions, excludes, respectGitignore);
89609
89697
  const allComments = [];
89610
89698
  for (const file of files) {
89611
- const fullPath = statSync7(basePath).isFile() ? basePath : join11(basePath, file);
89699
+ const fullPath = statSync7(basePath).isFile() ? basePath : join12(basePath, file);
89612
89700
  try {
89613
89701
  const source3 = readFileSync9(fullPath, "utf-8");
89614
89702
  const relPath = statSync7(basePath).isFile() ? relative5(resolve15(basePath, ".."), fullPath) : file;
@@ -90559,7 +90647,7 @@ __export(exports_builtin_templates, {
90559
90647
  BUILTIN_TEMPLATES: () => BUILTIN_TEMPLATES
90560
90648
  });
90561
90649
  import { mkdirSync as mkdirSync7, writeFileSync as writeFileSync4 } from "fs";
90562
- import { join as join12 } from "path";
90650
+ import { join as join13 } from "path";
90563
90651
  function templateMetadata(template) {
90564
90652
  return {
90565
90653
  source: BUILTIN_TEMPLATE_LIBRARY_SOURCE,
@@ -90618,7 +90706,7 @@ function writeBuiltinTemplateFiles(directory) {
90618
90706
  mkdirSync7(directory, { recursive: true });
90619
90707
  const files = [];
90620
90708
  for (const entry2 of exportBuiltinTemplateFiles()) {
90621
- const path = join12(directory, entry2.filename);
90709
+ const path = join13(directory, entry2.filename);
90622
90710
  writeFileSync4(path, `${JSON.stringify(entry2.template, null, 2)}
90623
90711
  `, "utf-8");
90624
90712
  files.push(path);
@@ -91144,16 +91232,16 @@ __export(exports_environment_snapshots, {
91144
91232
  captureEnvironmentSnapshot: () => captureEnvironmentSnapshot
91145
91233
  });
91146
91234
  import { createHash as createHash13 } from "crypto";
91147
- import { existsSync as existsSync14, readFileSync as readFileSync10, statSync as statSync8 } from "fs";
91235
+ import { existsSync as existsSync15, readFileSync as readFileSync10, statSync as statSync8 } from "fs";
91148
91236
  import { hostname as hostname3, platform, arch } from "os";
91149
- import { dirname as dirname8, join as join13, resolve as resolve16 } from "path";
91237
+ import { dirname as dirname8, join as join14, resolve as resolve16 } from "path";
91150
91238
  import { tmpdir as tmpdir3 } from "os";
91151
91239
  function sha2567(value) {
91152
91240
  return createHash13("sha256").update(value).digest("hex");
91153
91241
  }
91154
91242
  function fileRecord(root, relativePath) {
91155
- const path = join13(root, relativePath);
91156
- if (!existsSync14(path))
91243
+ const path = join14(root, relativePath);
91244
+ if (!existsSync15(path))
91157
91245
  return null;
91158
91246
  const stat = statSync8(path);
91159
91247
  if (!stat.isFile())
@@ -91165,7 +91253,7 @@ function manifestRecord(root, relativePath) {
91165
91253
  const base = fileRecord(root, relativePath);
91166
91254
  if (!base)
91167
91255
  return null;
91168
- const parsed = readJsonFile(join13(root, relativePath));
91256
+ const parsed = readJsonFile(join14(root, relativePath));
91169
91257
  if (!parsed)
91170
91258
  return { ...base, redacted: {} };
91171
91259
  const redacted = redactValue({
@@ -91260,8 +91348,8 @@ function commandEnv(env, includeValues) {
91260
91348
  function defaultSnapshotDir() {
91261
91349
  const dbPath = getDatabasePath();
91262
91350
  if (dbPath === ":memory:" || dbPath.startsWith("file::memory:"))
91263
- return join13(tmpdir3(), "hasna-todos", "environment-snapshots");
91264
- return join13(dirname8(resolve16(dbPath)), "environment-snapshots");
91351
+ return join14(tmpdir3(), "hasna-todos", "environment-snapshots");
91352
+ return join14(dirname8(resolve16(dbPath)), "environment-snapshots");
91265
91353
  }
91266
91354
  function snapshotWithId(snapshot) {
91267
91355
  const digest = sha2567(JSON.stringify(snapshot)).slice(0, 24);
@@ -91308,7 +91396,7 @@ function captureEnvironmentSnapshot(input = {}) {
91308
91396
  });
91309
91397
  }
91310
91398
  function writeEnvironmentSnapshot(snapshot, outputPath) {
91311
- const path = outputPath ? resolve16(outputPath) : join13(defaultSnapshotDir(), `${snapshot.id}.json`);
91399
+ const path = outputPath ? resolve16(outputPath) : join14(defaultSnapshotDir(), `${snapshot.id}.json`);
91312
91400
  ensureDir(dirname8(path));
91313
91401
  writeJsonFile(path, snapshot);
91314
91402
  return path;
@@ -92231,27 +92319,27 @@ __export(exports_serve, {
92231
92319
  SECURITY_HEADERS: () => SECURITY_HEADERS,
92232
92320
  MIME_TYPES: () => MIME_TYPES
92233
92321
  });
92234
- import { existsSync as existsSync15 } from "fs";
92235
- import { join as join14, dirname as dirname9, extname } from "path";
92322
+ import { existsSync as existsSync16 } from "fs";
92323
+ import { join as join15, dirname as dirname9, extname } from "path";
92236
92324
  import { fileURLToPath } from "url";
92237
92325
  function resolveDashboardDir() {
92238
92326
  const candidates = [];
92239
92327
  try {
92240
92328
  const scriptDir = dirname9(fileURLToPath(import.meta.url));
92241
- candidates.push(join14(scriptDir, "..", "dashboard", "dist"));
92242
- candidates.push(join14(scriptDir, "..", "..", "dashboard", "dist"));
92329
+ candidates.push(join15(scriptDir, "..", "dashboard", "dist"));
92330
+ candidates.push(join15(scriptDir, "..", "..", "dashboard", "dist"));
92243
92331
  } catch {}
92244
92332
  if (process.argv[1]) {
92245
92333
  const mainDir = dirname9(process.argv[1]);
92246
- candidates.push(join14(mainDir, "..", "dashboard", "dist"));
92247
- candidates.push(join14(mainDir, "..", "..", "dashboard", "dist"));
92334
+ candidates.push(join15(mainDir, "..", "dashboard", "dist"));
92335
+ candidates.push(join15(mainDir, "..", "..", "dashboard", "dist"));
92248
92336
  }
92249
- candidates.push(join14(process.cwd(), "dashboard", "dist"));
92337
+ candidates.push(join15(process.cwd(), "dashboard", "dist"));
92250
92338
  for (const candidate of candidates) {
92251
- if (existsSync15(candidate))
92339
+ if (existsSync16(candidate))
92252
92340
  return candidate;
92253
92341
  }
92254
- return join14(process.cwd(), "dashboard", "dist");
92342
+ return join15(process.cwd(), "dashboard", "dist");
92255
92343
  }
92256
92344
  function getProvidedApiKey(req) {
92257
92345
  const headerKey = req.headers.get("x-api-key");
@@ -92323,7 +92411,7 @@ function json(data, status = 200, headers) {
92323
92411
  });
92324
92412
  }
92325
92413
  function serveStaticFile(filePath) {
92326
- if (!existsSync15(filePath))
92414
+ if (!existsSync16(filePath))
92327
92415
  return null;
92328
92416
  const ext = extname(filePath);
92329
92417
  const contentType = MIME_TYPES[ext] || "application/octet-stream";
@@ -92424,7 +92512,7 @@ data: ${data}
92424
92512
  filteredSseClients.delete(client);
92425
92513
  }
92426
92514
  const dashboardDir = resolveDashboardDir();
92427
- const dashboardExists = existsSync15(dashboardDir);
92515
+ const dashboardExists = existsSync16(dashboardDir);
92428
92516
  if (!dashboardExists) {
92429
92517
  console.error(`
92430
92518
  Dashboard not found at: ${dashboardDir}`);
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/server/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/server/routes.ts"],"names":[],"mappings":"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"}