@rubytech/taskmaster 1.18.2 → 1.19.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.
@@ -6,8 +6,8 @@
6
6
  <title>Taskmaster Control</title>
7
7
  <meta name="color-scheme" content="dark light" />
8
8
  <link rel="icon" type="image/png" href="./favicon.png" />
9
- <script type="module" crossorigin src="./assets/index-DYBHelH8.js"></script>
10
- <link rel="stylesheet" crossorigin href="./assets/index-XqRo9tNW.css">
9
+ <script type="module" crossorigin src="./assets/index-BuvDuhk9.js"></script>
10
+ <link rel="stylesheet" crossorigin href="./assets/index-0WHVrpg7.css">
11
11
  </head>
12
12
  <body>
13
13
  <taskmaster-app></taskmaster-app>
@@ -4,14 +4,14 @@ import path from "node:path";
4
4
  * Writes a delivery record to the agent's workspace memory so the admin agent
5
5
  * can discover what was sent by cron jobs when recipients reply later.
6
6
  *
7
- * Files are stored in `memory/shared/cron-activity/` as dated markdown,
8
- * discoverable via the agent's normal memory search.
7
+ * Files are stored in `memory/admin/cron-activity/` as dated markdown,
8
+ * discoverable via the admin agent's normal memory search.
9
9
  */
10
10
  export async function writeCronDeliveryRecord(params) {
11
11
  const { workspaceDir, jobName, jobId, agentOutput, deliveredTo, timestamp } = params;
12
12
  if (!agentOutput.trim() || deliveredTo.length === 0)
13
13
  return null;
14
- const dir = path.join(workspaceDir, "memory", "shared", "cron-activity");
14
+ const dir = path.join(workspaceDir, "memory", "admin", "cron-activity");
15
15
  await fs.promises.mkdir(dir, { recursive: true });
16
16
  const dateSlug = formatDateSlug(timestamp);
17
17
  const nameSlug = slugify(jobName);
@@ -403,8 +403,11 @@ export async function runCronIsolatedAgentTurn(params) {
403
403
  }
404
404
  }
405
405
  // Also persist delivery record to memory for searchability.
406
+ // Always write to the admin agent's workspace so records land in memory/admin/,
407
+ // regardless of which agent is executing the cron job.
408
+ const adminWorkspaceDir = resolveAgentWorkspaceDir(params.cfg, "admin");
406
409
  await writeCronDeliveryRecord({
407
- workspaceDir,
410
+ workspaceDir: adminWorkspaceDir,
408
411
  jobName: params.job.name,
409
412
  jobId: params.job.id,
410
413
  agentOutput: outputText,
@@ -15,7 +15,7 @@ import fs from "node:fs";
15
15
  import path from "node:path";
16
16
  const AUDIT_FILENAME = ".memory-audit.json";
17
17
  /** Paths that are excluded from audit — expected operational writes. */
18
- const EXCLUDED_PREFIXES = ["memory/shared/events/", "memory/shared/cron-activity/"];
18
+ const EXCLUDED_PREFIXES = ["memory/shared/events/", "memory/admin/cron-activity/"];
19
19
  /**
20
20
  * Returns true if a memory write path should be audited.
21
21
  * Auditable paths: memory/shared/** and memory/public/** (excluding exemptions).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/taskmaster",
3
- "version": "1.18.2",
3
+ "version": "1.19.0",
4
4
  "description": "AI-powered business assistant for small businesses",
5
5
  "publishConfig": {
6
6
  "access": "public"