@rudderhq/agent-runtime-cursor-local 0.3.5-canary.8 → 0.3.5

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/index.d.ts CHANGED
@@ -5,5 +5,5 @@ export declare const models: {
5
5
  id: string;
6
6
  label: string;
7
7
  }[];
8
- export declare const agentConfigurationDoc = "# cursor agent configuration\n\nAdapter: cursor\n\nUse when:\n- You want Rudder to run Cursor Agent CLI locally as the agent runtime\n- You want Cursor chat session resume across heartbeats via --resume\n- You want structured stream output in run logs via --output-format stream-json\n\nDon't use when:\n- You need webhook-style external invocation (use openclaw_gateway or http)\n- You only need one-shot shell commands (use process)\n- Cursor Agent CLI is not installed on the machine\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown role/persona instructions file such as SOUL.md; Rudder's shared operating contract is prepended separately at runtime\n- promptTemplate (string, optional): run prompt template\n- model (string, optional): Cursor model id (for example auto or gpt-5.3-codex)\n- modelFallbacks (array, optional): ordered fallback attempts as { agentRuntimeType, model, config? }; each may use a different runtime/provider\n- mode (string, optional): Cursor execution mode passed as --mode (plan|ask). Leave unset for normal autonomous runs.\n- command (string, optional): defaults to \"agent\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n\nNotes:\n- Runs are executed with: agent -p --output-format stream-json ...\n- Prompts are piped to Cursor via stdin.\n- Sessions are resumed with --resume when stored session cwd matches current cwd.\n- Rudder realizes only the bundled Rudder skills plus the skills explicitly enabled on the agent's Skills page.\n- Selected skills are linked into a Rudder-managed Cursor home for the run; unselected skills already present in the real user home do not load.\n- Rudder auto-adds --yolo unless one of --trust/--yolo/-f is already present in extraArgs.\n";
8
+ export declare const agentConfigurationDoc = "# cursor agent configuration\n\nAdapter: cursor\n\nUse when:\n- You want Rudder to run Cursor Agent CLI locally as the agent runtime\n- You want Cursor chat session resume across heartbeats via --resume\n- You want structured stream output in run logs via --output-format stream-json\n\nDon't use when:\n- You need webhook-style external invocation (use openclaw_gateway or http)\n- You only need one-shot shell commands (use process)\n- Cursor Agent CLI is not installed on the machine\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown role/persona instructions file such as SOUL.md; Rudder's shared operating contract is prepended separately at runtime\n- promptTemplate (string, optional): run prompt template\n- model (string, optional): Cursor model id (for example auto or gpt-5.3-codex)\n- modelFallbacks (array, optional): ordered fallback attempts as { agentRuntimeType, model, config? }; each may use a different runtime/provider\n- mode (string, optional): Cursor execution mode passed as --mode (plan|ask). Leave unset for normal autonomous runs.\n- command (string, optional): defaults to \"cursor-agent\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n\nNotes:\n- Runs are executed with: cursor-agent -p --output-format stream-json ...\n- Prompts are piped to Cursor via stdin.\n- Sessions are resumed with --resume when stored session cwd matches current cwd.\n- Rudder realizes only the bundled Rudder skills plus the skills explicitly enabled on the agent's Skills page.\n- Cursor subscription authentication is operator-home scoped. When ~/.cursor exists, Rudder launches cursor-agent through an operator HOME credential shim while still passing the Rudder workspace, prompt, and environment explicitly.\n- Selected skills are linked into a Rudder-managed Cursor home for the run; when the operator HOME credential shim is active, Cursor may also see operator-home Cursor configuration needed for local authentication.\n- Rudder auto-adds --yolo unless one of --trust/--yolo/-f is already present in extraArgs.\n";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,WAAW,CAAC;AAC7B,eAAO,MAAM,KAAK,uBAAuB,CAAC;AAC1C,eAAO,MAAM,0BAA0B,SAAS,CAAC;AA4CjD,eAAO,MAAM,MAAM;;;GAA6D,CAAC;AAEjF,eAAO,MAAM,qBAAqB,gjEAoCjC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,WAAW,CAAC;AAC7B,eAAO,MAAM,KAAK,uBAAuB,CAAC;AAC1C,eAAO,MAAM,0BAA0B,SAAS,CAAC;AA4CjD,eAAO,MAAM,MAAM;;;GAA6D,CAAC;AAEjF,eAAO,MAAM,qBAAqB,62EAqCjC,CAAC"}
package/dist/index.js CHANGED
@@ -64,7 +64,7 @@ Core fields:
64
64
  - model (string, optional): Cursor model id (for example auto or gpt-5.3-codex)
65
65
  - modelFallbacks (array, optional): ordered fallback attempts as { agentRuntimeType, model, config? }; each may use a different runtime/provider
66
66
  - mode (string, optional): Cursor execution mode passed as --mode (plan|ask). Leave unset for normal autonomous runs.
67
- - command (string, optional): defaults to "agent"
67
+ - command (string, optional): defaults to "cursor-agent"
68
68
  - extraArgs (string[], optional): additional CLI args
69
69
  - env (object, optional): KEY=VALUE environment variables
70
70
 
@@ -73,11 +73,12 @@ Operational fields:
73
73
  - graceSec (number, optional): SIGTERM grace period in seconds
74
74
 
75
75
  Notes:
76
- - Runs are executed with: agent -p --output-format stream-json ...
76
+ - Runs are executed with: cursor-agent -p --output-format stream-json ...
77
77
  - Prompts are piped to Cursor via stdin.
78
78
  - Sessions are resumed with --resume when stored session cwd matches current cwd.
79
79
  - Rudder realizes only the bundled Rudder skills plus the skills explicitly enabled on the agent's Skills page.
80
- - Selected skills are linked into a Rudder-managed Cursor home for the run; unselected skills already present in the real user home do not load.
80
+ - Cursor subscription authentication is operator-home scoped. When ~/.cursor exists, Rudder launches cursor-agent through an operator HOME credential shim while still passing the Rudder workspace, prompt, and environment explicitly.
81
+ - Selected skills are linked into a Rudder-managed Cursor home for the run; when the operator HOME credential shim is active, Cursor may also see operator-home Cursor configuration needed for local authentication.
81
82
  - Rudder auto-adds --yolo unless one of --trust/--yolo/-f is already present in extraArgs.
82
83
  `;
83
84
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,oBAAoB,CAAC;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAEjD,MAAM,yBAAyB,GAAG;IAChC,MAAM;IACN,cAAc;IACd,YAAY;IACZ,mBAAmB;IACnB,wBAAwB;IACxB,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;IACrB,0BAA0B;IAC1B,6BAA6B;IAC7B,SAAS;IACT,mBAAmB;IACnB,wBAAwB;IACxB,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;IACrB,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;IACd,cAAc;IACd,oBAAoB;IACpB,mBAAmB;IACnB,UAAU;IACV,UAAU;IACV,mBAAmB;IACnB,YAAY;IACZ,qBAAqB;IACrB,YAAY;IACZ,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,MAAM;IACN,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCpC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,oBAAoB,CAAC;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAEjD,MAAM,yBAAyB,GAAG;IAChC,MAAM;IACN,cAAc;IACd,YAAY;IACZ,mBAAmB;IACnB,wBAAwB;IACxB,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;IACrB,0BAA0B;IAC1B,6BAA6B;IAC7B,SAAS;IACT,mBAAmB;IACnB,wBAAwB;IACxB,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;IACrB,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;IACd,cAAc;IACd,oBAAoB;IACpB,mBAAmB;IACnB,UAAU;IACV,UAAU;IACV,mBAAmB;IACnB,YAAY;IACZ,qBAAqB;IACrB,YAAY;IACZ,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,MAAM;IACN,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,4BAA4B,EAAE,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAoLjJ,KAAK,iCAAiC,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D,CAAC;AAEF,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAC5C,OAAO,GAAE,iCAAsC,iBAoDhD;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAsbrG"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,KAAK,4BAA4B,EAAE,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAsLhL,KAAK,iCAAiC,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D,CAAC;AAEF,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAC5C,OAAO,GAAE,iCAAsC,iBAoDhD;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA+brG"}
@@ -1,6 +1,6 @@
1
- import { inferOpenAiCompatibleBiller } from "@rudderhq/agent-runtime-utils";
1
+ import { inferOpenAiCompatibleBiller, resolveOrganizationStorageKey } from "@rudderhq/agent-runtime-utils";
2
2
  import { applyGitCredentialHelperPolicyEnv, applyGitIdentityPreparationEnv, ensureGitIdentityFileConfig } from "@rudderhq/agent-runtime-utils/git-identity";
3
- import { asNumber, asString, asStringArray, buildRudderEnv, ensureAbsoluteDirectory, ensureCommandResolvable, ensureLocalCliCredentialShimsInPath, ensurePathInEnv, ensureRudderCliInPath, ensureRudderSkillSymlink, joinPromptSections, loadAgentInstructionsPrefix, parseObject, readRudderRuntimeSkillEntries, redactEnvForLogs, removeMaintainerOnlySkillSymlinks, renderTemplate, resolveLocalOperatorHome, resolveRudderDesiredSkillNames, runChildProcess, selectPromptTemplate, syncLocalCliCredentialHomeEntries, } from "@rudderhq/agent-runtime-utils/server-utils";
3
+ import { asNumber, asString, asStringArray, buildRudderEnv, ensureAbsoluteDirectory, ensureCommandResolvable, ensureLocalCliCredentialShimsInPath, ensurePathInEnv, ensureRudderCliInPath, ensureRudderSkillSymlink, joinPromptSections, loadAgentInstructionsPrefix, parseObject, prepareAgentInstructionRuntimeContext, readRudderRuntimeSkillEntries, redactEnvForLogs, removeMaintainerOnlySkillSymlinks, renderTemplate, resolveLocalOperatorHome, resolveRudderDesiredSkillNames, runChildProcess, selectPromptTemplate, shouldIncludeRuntimeHeartbeatInstructions, syncLocalCliCredentialHomeEntries, } from "@rudderhq/agent-runtime-utils/server-utils";
4
4
  import fs from "node:fs/promises";
5
5
  import os from "node:os";
6
6
  import path from "node:path";
@@ -98,7 +98,7 @@ function resolveSharedCursorHomeDir(env) {
98
98
  function resolveManagedCursorHomeDir(env, orgId) {
99
99
  const rudderHome = nonEmpty(env.RUDDER_HOME) ?? path.resolve(os.homedir(), ".rudder");
100
100
  const instanceId = nonEmpty(env.RUDDER_INSTANCE_ID) ?? DEFAULT_RUDDER_INSTANCE_ID;
101
- return path.resolve(rudderHome, "instances", instanceId, "organizations", orgId, "cursor-home");
101
+ return path.resolve(rudderHome, "instances", instanceId, "organizations", resolveOrganizationStorageKey(orgId), "cursor-home");
102
102
  }
103
103
  function resolveManagedCursorSkillsDir(homeDir) {
104
104
  return path.join(homeDir, ".cursor", "skills");
@@ -171,8 +171,7 @@ export async function ensureCursorSkillsInjected(onLog, options = {}) {
171
171
  export async function execute(ctx) {
172
172
  const { runId, agent, runtime, config, context, onLog, onMeta, onSpawn, authToken } = ctx;
173
173
  const promptTemplate = selectPromptTemplate(asString(config.promptTemplate, ""), context);
174
- const runtimeScene = asString(context.rudderScene, "");
175
- const command = asString(config.command, "agent");
174
+ const command = asString(config.command, "cursor-agent");
176
175
  const model = asString(config.model, DEFAULT_CURSOR_LOCAL_MODEL).trim();
177
176
  const mode = normalizeMode(asString(config.mode, ""));
178
177
  const workspaceContext = parseObject(context.rudderWorkspace);
@@ -307,14 +306,20 @@ export async function execute(ctx) {
307
306
  applyGitIdentityPreparationEnv(env, preparedGitIdentity);
308
307
  applyGitCredentialHelperPolicyEnv(env);
309
308
  const effectiveEnv = Object.fromEntries(Object.entries({ ...process.env, ...env }).filter((entry) => typeof entry[1] === "string"));
310
- const billingType = resolveCursorBillingType(effectiveEnv);
311
- const runtimeEnv = await ensureLocalCliCredentialShimsInPath({
309
+ const runtimeEnv = Object.fromEntries(Object.entries(await ensureLocalCliCredentialShimsInPath({
312
310
  operatorHome,
313
311
  targetHome: managedHome,
314
312
  cwd,
315
313
  env: ensurePathInEnv(await ensureRudderCliInPath(__moduleDir, effectiveEnv)),
314
+ commands: [
315
+ {
316
+ command: path.basename(command),
317
+ credentialEntries: [".cursor"],
318
+ },
319
+ ],
316
320
  onLog,
317
- });
321
+ })).filter((entry) => typeof entry[1] === "string"));
322
+ const billingType = resolveCursorBillingType(runtimeEnv);
318
323
  if (typeof runtimeEnv.PATH === "string")
319
324
  env.PATH = runtimeEnv.PATH;
320
325
  if (typeof runtimeEnv.Path === "string")
@@ -339,9 +344,11 @@ export async function execute(ctx) {
339
344
  await onLog("stdout", `[rudder] Cursor session "${runtimeSessionId}" was saved for cwd "${runtimeSessionCwd}" and will not be resumed in "${cwd}".\n`);
340
345
  }
341
346
  const instructionsFilePath = asString(config.instructionsFilePath, "").trim();
347
+ const instructionRuntimeContext = prepareAgentInstructionRuntimeContext(context);
342
348
  const loadedInstructions = await loadAgentInstructionsPrefix({
343
349
  instructionsFilePath,
344
- includeHeartbeatInstructions: runtimeScene === "heartbeat",
350
+ includeHeartbeatInstructions: shouldIncludeRuntimeHeartbeatInstructions(context),
351
+ contextSectionsBeforeCurrentTime: instructionRuntimeContext.contextSectionsBeforeCurrentTime,
345
352
  onLog,
346
353
  });
347
354
  const instructionsPrefix = loadedInstructions.prefix;
@@ -398,7 +405,7 @@ export async function execute(ctx) {
398
405
  source: context.wakeSource ?? "on_demand",
399
406
  wakeReason: context.wakeReason ?? null,
400
407
  },
401
- context,
408
+ context: instructionRuntimeContext.promptContext,
402
409
  // Issue and comment context for enriched prompts
403
410
  issue: context.issue ?? null,
404
411
  comment: context.comment ?? null,
@@ -479,7 +486,7 @@ export async function execute(ctx) {
479
486
  };
480
487
  const proc = await runChildProcess(runId, command, args, {
481
488
  cwd,
482
- env,
489
+ env: runtimeEnv,
483
490
  timeoutSec,
484
491
  graceSec,
485
492
  stdin: prompt,
@@ -537,7 +544,7 @@ export async function execute(ctx) {
537
544
  sessionParams: resolvedSessionParams,
538
545
  sessionDisplayId: resolvedSessionId,
539
546
  provider: providerFromModel,
540
- biller: resolveCursorBiller(effectiveEnv, billingType, providerFromModel),
547
+ biller: resolveCursorBiller(runtimeEnv, billingType, providerFromModel),
541
548
  model,
542
549
  billingType,
543
550
  costUsd: attempt.parsed.costUsd,
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/server/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,+BAA+B,CAAC;AAkDvC,wBAAsB,eAAe,CACnC,GAAG,EAAE,kCAAkC,GACtC,OAAO,CAAC,iCAAiC,CAAC,CAyJ5C"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/server/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,+BAA+B,CAAC;AAmDvC,wBAAsB,eAAe,CACnC,GAAG,EAAE,kCAAkC,GACtC,OAAO,CAAC,iCAAiC,CAAC,CA0J5C"}
@@ -19,9 +19,9 @@ function firstNonEmptyLine(text) {
19
19
  .map((line) => line.trim())
20
20
  .find(Boolean) ?? "");
21
21
  }
22
- function commandLooksLike(command, expected) {
22
+ function commandLooksLikeAny(command, expected) {
23
23
  const base = path.basename(command).toLowerCase();
24
- return base === expected || base === `${expected}.cmd` || base === `${expected}.exe`;
24
+ return expected.some((name) => base === name || base === `${name}.cmd` || base === `${name}.exe`);
25
25
  }
26
26
  function summarizeProbeDetail(stdout, stderr, parsedError) {
27
27
  const raw = parsedError?.trim() || firstNonEmptyLine(stderr) || firstNonEmptyLine(stdout);
@@ -32,10 +32,11 @@ function summarizeProbeDetail(stdout, stderr, parsedError) {
32
32
  return clean.length > max ? `${clean.slice(0, max - 1)}…` : clean;
33
33
  }
34
34
  const CURSOR_AUTH_REQUIRED_RE = /(?:authentication\s+required|not\s+authenticated|not\s+logged\s+in|unauthorized|invalid(?:\s+or\s+missing)?\s+api(?:[_\s-]?key)?|cursor[_\s-]?api[_\s-]?key|run\s+'?agent\s+login'?\s+first|api(?:[_\s-]?key)?(?:\s+is)?\s+required)/i;
35
+ const DEFAULT_CURSOR_HELLO_PROBE_TIMEOUT_SEC = 90;
35
36
  export async function testEnvironment(ctx) {
36
37
  const checks = [];
37
38
  const config = parseObject(ctx.config);
38
- const command = asString(config.command, "agent");
39
+ const command = asString(config.command, "cursor-agent");
39
40
  const cwd = asString(config.cwd, process.cwd());
40
41
  try {
41
42
  await ensureAbsoluteDirectory(cwd, { createIfMissing: true });
@@ -92,22 +93,23 @@ export async function testEnvironment(ctx) {
92
93
  code: "cursor_api_key_missing",
93
94
  level: "warn",
94
95
  message: "CURSOR_API_KEY is not set. Cursor runs may fail until authentication is configured.",
95
- hint: "Set CURSOR_API_KEY in adapter env or run `agent login`.",
96
+ hint: "Set CURSOR_API_KEY in adapter env or run `cursor-agent login`.",
96
97
  });
97
98
  }
98
99
  const canRunProbe = checks.every((check) => check.code !== "cursor_cwd_invalid" && check.code !== "cursor_command_unresolvable");
99
100
  if (canRunProbe) {
100
- if (!commandLooksLike(command, "agent")) {
101
+ if (!commandLooksLikeAny(command, ["cursor-agent", "agent"])) {
101
102
  checks.push({
102
103
  code: "cursor_hello_probe_skipped_custom_command",
103
104
  level: "info",
104
- message: "Skipped hello probe because command is not `agent`.",
105
+ message: "Skipped hello probe because command is not `cursor-agent`.",
105
106
  detail: command,
106
- hint: "Use the `agent` CLI command to run the automatic installation and auth probe.",
107
+ hint: "Use the `cursor-agent` CLI command to run the automatic installation and auth probe.",
107
108
  });
108
109
  }
109
110
  else {
110
111
  const model = asString(config.model, DEFAULT_CURSOR_LOCAL_MODEL).trim();
112
+ const helloProbeTimeoutSec = Math.max(1, Number(config.helloProbeTimeoutSec) || DEFAULT_CURSOR_HELLO_PROBE_TIMEOUT_SEC);
111
113
  const extraArgs = (() => {
112
114
  const fromExtraArgs = asStringArray(config.extraArgs);
113
115
  if (fromExtraArgs.length > 0)
@@ -126,7 +128,7 @@ export async function testEnvironment(ctx) {
126
128
  const probe = await runChildProcess(`cursor-envtest-${Date.now()}-${Math.random().toString(16).slice(2)}`, command, args, {
127
129
  cwd,
128
130
  env,
129
- timeoutSec: 45,
131
+ timeoutSec: helloProbeTimeoutSec,
130
132
  graceSec: 5,
131
133
  onLog: async () => { },
132
134
  });
@@ -138,7 +140,7 @@ export async function testEnvironment(ctx) {
138
140
  code: "cursor_hello_probe_timed_out",
139
141
  level: "warn",
140
142
  message: "Cursor hello probe timed out.",
141
- hint: "Retry the probe. If this persists, verify `agent -p --mode ask --output-format json \"Respond with hello.\"` manually.",
143
+ hint: "Retry the probe. If this persists, verify `cursor-agent -p --mode ask --output-format json \"Respond with hello.\"` manually.",
142
144
  });
143
145
  }
144
146
  else if ((probe.exitCode ?? 1) === 0) {
@@ -154,7 +156,7 @@ export async function testEnvironment(ctx) {
154
156
  ...(hasHello
155
157
  ? {}
156
158
  : {
157
- hint: "Try `agent -p --mode ask --output-format json \"Respond with hello.\"` manually to inspect full output.",
159
+ hint: "Try `cursor-agent -p --mode ask --output-format json \"Respond with hello.\"` manually to inspect full output.",
158
160
  }),
159
161
  });
160
162
  }
@@ -164,7 +166,7 @@ export async function testEnvironment(ctx) {
164
166
  level: "warn",
165
167
  message: "Cursor CLI is installed, but authentication is not ready.",
166
168
  ...(detail ? { detail } : {}),
167
- hint: "Run `agent login` or configure CURSOR_API_KEY in adapter env/shell, then retry the probe.",
169
+ hint: "Run `cursor-agent login` or configure CURSOR_API_KEY in adapter env/shell, then retry the probe.",
168
170
  });
169
171
  }
170
172
  else {
@@ -173,7 +175,7 @@ export async function testEnvironment(ctx) {
173
175
  level: "error",
174
176
  message: "Cursor hello probe failed.",
175
177
  ...(detail ? { detail } : {}),
176
- hint: "Run `agent -p --mode ask --output-format json \"Respond with hello.\"` manually in this working directory to debug.",
178
+ hint: "Run `cursor-agent -p --mode ask --output-format json \"Respond with hello.\"` manually in this working directory to debug.",
177
179
  });
178
180
  }
179
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/server/test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/server/test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.test.d.ts","sourceRoot":"","sources":["../../src/server/test.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { chmod, mkdtemp, rm, writeFile } from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { afterEach, describe, expect, it } from "vitest";
5
+ import { testEnvironment } from "./test.js";
6
+ describe("cursor testEnvironment", () => {
7
+ const originalPath = process.env.PATH;
8
+ afterEach(() => {
9
+ process.env.PATH = originalPath;
10
+ });
11
+ it("uses cursor-agent as the default command", async () => {
12
+ const tempDir = await mkdtemp(path.join(os.tmpdir(), "rudder-cursor-agent-"));
13
+ const command = path.join(tempDir, "cursor-agent");
14
+ await writeFile(command, [
15
+ "#!/usr/bin/env node",
16
+ "process.stdout.write(JSON.stringify({ type: 'result', result: 'hello', usage: {} }) + '\\n');",
17
+ ].join("\n"), "utf8");
18
+ await chmod(command, 0o755);
19
+ process.env.PATH = `${tempDir}${path.delimiter}${originalPath ?? ""}`;
20
+ try {
21
+ const result = await testEnvironment({
22
+ orgId: "org-1",
23
+ agentRuntimeType: "cursor",
24
+ config: { cwd: process.cwd() },
25
+ });
26
+ expect(result.checks.map((check) => check.code)).toContain("cursor_hello_probe_passed");
27
+ }
28
+ finally {
29
+ await rm(tempDir, { recursive: true, force: true });
30
+ }
31
+ });
32
+ });
33
+ //# sourceMappingURL=test.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.test.js","sourceRoot":"","sources":["../../src/server/test.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,SAAS,CACb,OAAO,EACP;YACE,qBAAqB;YACrB,+FAA+F;SAChG,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,MAAM,CACP,CAAC;QACF,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,IAAI,EAAE,EAAE,CAAC;QAEtE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;gBACnC,KAAK,EAAE,OAAO;gBACd,gBAAgB,EAAE,QAAQ;gBAC1B,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE;aAC/B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAC1F,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderhq/agent-runtime-cursor-local",
3
- "version": "0.3.5-canary.8",
3
+ "version": "0.3.5",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "homepage": "https://github.com/Undertone0809/rudder",
6
6
  "bugs": {
@@ -67,7 +67,7 @@
67
67
  "typecheck": "tsc --noEmit"
68
68
  },
69
69
  "dependencies": {
70
- "@rudderhq/agent-runtime-utils": "0.3.5-canary.8",
70
+ "@rudderhq/agent-runtime-utils": "0.3.5",
71
71
  "picocolors": "^1.1.1"
72
72
  },
73
73
  "devDependencies": {
@@ -6,9 +6,10 @@ description: >
6
6
  sessions. Covers three memory layers: (1) Knowledge graph in PARA folders
7
7
  with atomic YAML facts, (2) Daily notes as raw timeline, (3) Tacit
8
8
  knowledge about user patterns. Also handles shared work files, memory decay,
9
- weekly synthesis, and file-based recall. Trigger on any memory operation:
10
- saving facts, writing daily notes, creating entities, running weekly
11
- synthesis, recalling past context, or managing shared work notes.
9
+ weekly synthesis, Rudder chat and agent work capture, and file-based recall.
10
+ Trigger on any memory operation: saving facts, writing daily notes, creating
11
+ entities, running weekly synthesis, recalling past context, or managing
12
+ shared work notes.
12
13
  allowed-tools: []
13
14
  disable: true
14
15
  ---
@@ -68,8 +69,81 @@ For the atomic fact YAML schema and memory decay rules, see [references/schemas.
68
69
 
69
70
  Raw timeline of events -- the "when" layer.
70
71
 
71
- - Write continuously during conversations.
72
+ - Write continuously during conversations and agent work when a
73
+ memory-worthy signal appears.
72
74
  - Extract durable facts to Layer 1 during heartbeats.
75
+ - Treat daily notes as the first capture layer, not the final destination for
76
+ stable preferences, entity facts, or shared project knowledge.
77
+
78
+ #### Conversation and Agent Work Capture Policy
79
+
80
+ Rudder chat conversations and agent execution events are memory sources when
81
+ they contain durable signal, not because every chat line or routine action
82
+ deserves retention. Capture a concise daily-note entry when a conversation,
83
+ automation, issue run, review, close-out, or other agent work includes any of
84
+ these:
85
+
86
+ - User corrections that change how the agent should behave next time.
87
+ - New or changed preferences, constraints, boundaries, or decisions.
88
+ - Issue proposal intent, acceptance criteria, or priority reasoning that is not
89
+ already explicit in the issue.
90
+ - Automation design rationale, recurring workflow choices, or escalation rules.
91
+ - Agent work patterns that should be repeatable, such as a better triage path,
92
+ validation shortcut, environment workaround, review handoff, or runbook step.
93
+ - Project/product/engineering judgment that will affect future work.
94
+ - Attachment or screenshot evidence that changes task interpretation.
95
+ - Reusable execution lessons, setup friction, validation findings, or failure
96
+ modes that future runs should know.
97
+
98
+ Do not capture:
99
+
100
+ - Greetings, thanks, scheduling chatter, or low-signal status updates.
101
+ - Routine issue comments, heartbeat updates, command outputs, close-out
102
+ summaries, or automation logs that add no new decision, correction, lesson, or
103
+ reusable evidence beyond the source artifact.
104
+ - Full private chat transcripts. Summarize the durable signal instead.
105
+ - Secrets, tokens, credentials, private keys, session cookies, or auth headers.
106
+ - One-time sensitive context that is not needed for future work.
107
+ - Organization-level facts as private personal memory. Record only the routing
108
+ decision in the daily note, then promote the fact to shared project knowledge.
109
+ - Speculation, weak inferences, or unverified assumptions as facts.
110
+
111
+ Recommended daily-note entry format:
112
+
113
+ ```md
114
+ ## HH:MM - Memory capture
115
+
116
+ - Context: conversation, issue, automation, run, or evidence reference; project;
117
+ and why this mattered.
118
+ - User intent: the durable need, correction, preference, or decision.
119
+ - Conclusion/action: what changed or what was done.
120
+ - Reusable lesson: future behavior, command, routing rule, or validation signal.
121
+ - Follow-up/risk: unresolved uncertainty, owner, or promotion target.
122
+ ```
123
+
124
+ Reference the Rudder conversation, issue, or local evidence path when available,
125
+ but keep the note short enough that it can be safely scanned later.
126
+
127
+ #### Promotion and Routing Rules
128
+
129
+ Use daily notes as the intake log, then route the information:
130
+
131
+ - Stable personal operating preferences or recurring user patterns ->
132
+ `$AGENT_HOME/instructions/MEMORY.md`.
133
+ - Entity facts about people, companies, projects, or resources ->
134
+ `$AGENT_HOME/life/<para-bucket>/<entity>/items.yaml`.
135
+ - Project proposals, decisions, reusable know-how, and shared work notes ->
136
+ `$RUDDER_PROJECT_LIBRARY_ROOT` when project context exists, otherwise the
137
+ relevant path under `$RUDDER_ORG_WORKSPACE_ROOT`.
138
+ - Skill behavior problems or repeated workflow failures -> propose or make a
139
+ skill patch in the relevant skill package. Do not hide organization-wide
140
+ behavior fixes only in one agent's personal memory.
141
+ - Secrets or sensitive one-time context -> do not write them to memory; record
142
+ only a redacted operational lesson if future behavior genuinely depends on it.
143
+
144
+ During heartbeat synthesis, review recent chat captures and promote anything
145
+ that has become stable, repeated, or shared. Leave the daily note as the audit
146
+ trail even after promotion.
73
147
 
74
148
  ### Layer 3: Tacit Knowledge (`$AGENT_HOME/instructions/MEMORY.md`)
75
149
 
@@ -87,6 +161,8 @@ Memory does not survive session restarts. Files do.
87
161
  - "Remember this" -> update `$AGENT_HOME/memory/YYYY-MM-DD.md` or the relevant entity file.
88
162
  - Stable user preferences or operating lessons -> update `$AGENT_HOME/instructions/MEMORY.md`.
89
163
  - Learn a lesson -> update AGENTS.md, TOOLS.md, or the relevant skill file.
164
+ - Shared project knowledge -> update the project Library or organization
165
+ workspace, then cite it with a Rudder-renderable link when reporting back.
90
166
  - Make a mistake -> document it so future-you does not repeat it.
91
167
  - On-disk text files are always better than holding it in temporary context.
92
168
 
@@ -0,0 +1,128 @@
1
+ # Conversation and Agent Work Capture Evals
2
+
3
+ Use these lightweight cases when changing the `para-memory-files` skill's
4
+ Rudder chat and agent work capture behavior. They are written for human or
5
+ agent review, not a dedicated automated harness.
6
+
7
+ ### Case: User Corrects Memory Behavior
8
+
9
+ Input:
10
+
11
+ A user says: "No, do not just leave this in your personal MEMORY.md. This
12
+ should become an org skill rule so other agents stop missing chat context."
13
+
14
+ Expected behavior:
15
+
16
+ - Write a concise daily-note chat capture with context, user intent,
17
+ conclusion/action, reusable lesson, and follow-up/risk.
18
+ - Route the stable behavior change toward the relevant skill package or skill
19
+ patch proposal.
20
+ - Update personal MEMORY.md only if there is also a personal operating
21
+ preference for this agent.
22
+
23
+ Must not:
24
+
25
+ - Copy the full transcript into memory.
26
+ - Treat the correction as only a personal preference.
27
+ - Hide the organization-wide fix in one agent's private memory.
28
+
29
+ ### Case: Issue Close-Out Without New Signal
30
+
31
+ Input:
32
+
33
+ An issue comment says: "Done, tests passed, commit abc123." It repeats the
34
+ same evidence already present in the issue and contains no new preference,
35
+ decision, correction, or reusable lesson.
36
+
37
+ Expected behavior:
38
+
39
+ - No daily-note capture is required.
40
+ - If the agent needs an audit trail, rely on the issue itself as the source of
41
+ truth.
42
+
43
+ Must not:
44
+
45
+ - Record low-signal close-out chatter just because it happened in chat.
46
+ - Promote repeated issue status into personal memory.
47
+
48
+ ### Case: Automation Work Produces Reusable Lesson
49
+
50
+ Input:
51
+
52
+ During a scheduled CI patrol automation, the agent discovers that a recurring
53
+ workflow failure should be repaired directly when credentials and local
54
+ reproduction are available, and only escalated when the platform is down or a
55
+ non-substitutable secret is missing.
56
+
57
+ Expected behavior:
58
+
59
+ - Write a concise daily-note memory capture that names the automation context,
60
+ durable escalation rule, action taken, reusable lesson, and follow-up risk.
61
+ - Promote the shared operating rule to the relevant project know-how, skill, or
62
+ agent instruction when it affects future agents or recurring automations.
63
+ - Keep raw logs, credentials, and noisy command output out of memory.
64
+
65
+ Must not:
66
+
67
+ - Ignore the event because it came from automation instead of chat.
68
+ - Store the complete automation transcript or secrets in a personal memory file.
69
+ - Hide an organization-wide automation rule only in one agent's private memory.
70
+
71
+ ### Case: Low-Signal Chat
72
+
73
+ Input:
74
+
75
+ A chat contains greetings, thanks, and "I'll check later" with no task
76
+ definition or durable preference.
77
+
78
+ Expected behavior:
79
+
80
+ - Do not write a memory entry.
81
+ - Continue the conversation normally.
82
+
83
+ Must not:
84
+
85
+ - Create a daily note from politeness or temporary scheduling chatter.
86
+
87
+ ### Case: Project-Level Decision
88
+
89
+ Input:
90
+
91
+ A user explains that future Rudder proposals for non-trivial architecture work
92
+ must live in the project Library first, receive two critique rounds, and only
93
+ then be implemented.
94
+
95
+ Expected behavior:
96
+
97
+ - Capture the chat signal in the daily note.
98
+ - Promote the project-level policy to shared project knowledge under the
99
+ project Library or organization workspace.
100
+ - If it changes agent behavior generally, propose or update the relevant skill.
101
+
102
+ Must not:
103
+
104
+ - Store the policy only in `$AGENT_HOME/instructions/MEMORY.md`.
105
+ - Skip the shared knowledge artifact when the rule affects multiple agents.
106
+
107
+ ### Case: Attachment Changes Task Interpretation
108
+
109
+ Input:
110
+
111
+ A user attaches a screenshot and says the real problem is not the visible
112
+ button style but the workflow confusion shown by the screenshot.
113
+
114
+ Expected behavior:
115
+
116
+ - Capture the daily-note context, including the conversation or issue reference
117
+ and a short description of how the attachment changed the task.
118
+ - Route any reusable product or execution lesson to shared project knowledge
119
+ when it affects future project work.
120
+ - Keep the attachment details summarized and avoid sensitive visual content
121
+ that is not needed for future behavior.
122
+
123
+ Must not:
124
+
125
+ - Preserve the entire image transcript or private visual details in personal
126
+ memory.
127
+ - Ignore the attachment-driven reinterpretation when forming future task
128
+ context.
@@ -17,6 +17,37 @@
17
17
  access_count: 0
18
18
  ```
19
19
 
20
+ ## Daily Note Conversation and Agent Work Capture Entry
21
+
22
+ Daily notes are lightweight chronological logs. Use this structure when a
23
+ Rudder chat, issue run, automation, review, close-out, or other agent execution
24
+ event contains durable signal worth retaining.
25
+
26
+ ```md
27
+ ## HH:MM - Memory capture
28
+
29
+ - Context: conversation, issue, automation, run, or evidence reference; project;
30
+ and why this mattered.
31
+ - User intent: durable correction, preference, constraint, decision, or task
32
+ interpretation.
33
+ - Conclusion/action: what changed, what was done, or where it was routed.
34
+ - Reusable lesson: future behavior, command, validation signal, or routing rule.
35
+ - Follow-up/risk: unresolved uncertainty, owner, promotion target, or none.
36
+ ```
37
+
38
+ Keep entries summarized and redacted:
39
+
40
+ - Do not copy full private transcripts.
41
+ - Do not copy raw automation logs, command output, or routine close-out text
42
+ when they add no durable signal beyond the source artifact.
43
+ - Do not store secrets, tokens, credentials, private keys, session cookies, or
44
+ auth headers.
45
+ - Do not turn one-off sensitive context into durable memory unless the future
46
+ behavioral lesson can be safely stated without the sensitive detail.
47
+ - If the information belongs in shared project knowledge, note the routing
48
+ decision in the daily note and promote it to the project Library or
49
+ organization workspace.
50
+
20
51
  ## Memory Decay
21
52
 
22
53
  Facts decay in retrieval priority over time so stale info does not crowd out recent context.
@@ -21,7 +21,7 @@ organization-skill operations.
21
21
 
22
22
  ## Control-Plane Interface
23
23
 
24
- - Use `rudder ... --json` for normal control-plane work.
24
+ - Use `rudder ... --json` for normal control-plane work. CLI output renders IDs as short IDs by default; `rudder runs ...` commands accept short run IDs. Add `--full-ids` only for debugging or compatibility checks that need raw UUIDs.
25
25
  - Use `rudder agent capabilities --json` when you need machine-readable discovery of supported commands.
26
26
  - Use `references/cli-reference.md` for the stable command catalog.
27
27
  - Treat `references/api-reference.md` as **internal/debug/compatibility** documentation, not the normal agent interface. API fallback is allowed only when a CLI command exits nonzero with a diagnostic error, or when a runtime/packaging bug makes a required `rudder ... --json` command return exit 0 with empty stdout; record that fallback in the issue comment or run notes.
@@ -37,6 +37,10 @@ organization-skill operations.
37
37
  Use `[Agent Name](agent://agent-id)` for reference-only links, and do not rely
38
38
  on plain text agent names as wake requests.
39
39
  - Self-assign only when the wake comment explicitly transfers ownership.
40
+ - If a comment wakes you on an issue not assigned to you, including user-owned
41
+ or unassigned issues, and the comment does not explicitly ask you to
42
+ implement, modify files, close the issue, or take ownership, respond to the
43
+ comment's actual content instead of broadening the wake into issue execution.
40
44
  - Always communicate before exit on active work, except blocked issues with no new context.
41
45
  - Treat `issue_passive_followup` as close-out governance, not a fresh assignment.
42
46
  - Treat `issue_review_closeout_missing` as review close-out governance.
@@ -73,6 +77,7 @@ rudder issue review "<issue-id-or-identifier>" --decision request_changes --comm
73
77
  rudder issue review "<issue-id-or-identifier>" --decision needs_followup --comment-file "<path>" --json
74
78
  rudder issue review "<issue-id-or-identifier>" --decision blocked --comment-file "<path>" --json
75
79
  rudder issue create --org-id "$RUDDER_ORG_ID" ... --json
80
+ rudder user activity --user me --since today --json
76
81
  ```
77
82
 
78
83
  Issue comment and close-out commands accept comment bodies only from files or
@@ -86,6 +91,23 @@ should include local screenshots or images. Do not leave only a local `/tmp/...`
86
91
  or workspace image path in the comment, because board users may not be able to
87
92
  inspect it from Rudder.
88
93
 
94
+ ## User Activity Context
95
+
96
+ Use `rudder user activity --user me --since today --json` when you need a
97
+ user-centered view of recent Rudder behavior before claiming context is missing,
98
+ before answering questions like "what did I do today?", "which agents did I
99
+ talk to?", or "what feedback did I give?", and before turning broad recent
100
+ activity into daily notes, handoff context, or preference candidates.
101
+
102
+ The ledger returns safe excerpts plus source/provenance pointers across
103
+ user-authored chat messages, issue comments, approval comments, and user actor
104
+ activity events. Treat summaries and excerpts as pointers, not ground truth
105
+ when exact wording matters. Inspect the cited source before writing durable
106
+ memory, taste/profile updates, or conclusions about stable user preference. Do
107
+ not use the ledger to bypass organization or project permissions, and do not
108
+ store private content in long-term memory unless it is an explicit durable
109
+ preference or operating lesson.
110
+
89
111
  ## Authentication
90
112
 
91
113
  Rudder injects the runtime context for you. Common env vars:
@@ -116,7 +138,9 @@ Rules:
116
138
 
117
139
  Each organization has one system-managed shared workspace root at:
118
140
 
119
- - `~/.rudder/instances/<instance>/organizations/<org-id>/workspaces`
141
+ - `~/.rudder/instances/<instance>/organizations/<org-storage-key>/workspaces`
142
+
143
+ `<org-storage-key>` is the filesystem-safe storage key for the organization. For UUID-backed organizations it is the Rudder short ID form: the first 12 lowercase hex characters of the UUID with dashes removed. The API and database still use the full organization id.
120
144
 
121
145
  Important files and conventions:
122
146
 
@@ -187,9 +211,11 @@ If asked to make or revise durable project work files, use the Library as a loca
187
211
 
188
212
  When you need to cite a Library file in a chat reply, issue comment, review, blocker, or done comment, use the `markdownLink` returned by `rudder library file ref "$RUDDER_PROJECT_LIBRARY_PATH/<relative-file>" --json`. Do not hand-write `library-entry://...` URLs.
189
213
 
190
- Strong Library links look like normal Markdown, but the target contains only
191
- the stable Library entry id. Title and path are display or lookup details
192
- returned by Rudder, not URL metadata agents should encode:
214
+ Strong Library links look like normal Markdown. The stable Library entry id is
215
+ the identity; Rudder may add a `p` query parameter as a synchronous path hint so
216
+ the UI can navigate immediately before entry metadata finishes loading. Agents
217
+ must not hand-write that query parameter; copy the `mentionHref` or
218
+ `markdownLink` returned by Rudder:
193
219
 
194
220
  ```md
195
221
  [Project work file](library-entry://<entry-id>)
@@ -206,7 +232,8 @@ rudder issue comment "<issue-id-or-identifier>" --body-file "<path>" --json
206
232
  The `ref`, `put`, and `get` JSON responses include:
207
233
 
208
234
  - `libraryEntryId`: stable Library file identity
209
- - `mentionHref`: the raw `library-entry://<entry-id>` target
235
+ - `mentionHref`: the raw `library-entry://<entry-id>` target, optionally with
236
+ Rudder-generated `?p=<url-encoded-path-hint>`
210
237
  - `markdownLink`: the Markdown link to paste into the comment body
211
238
 
212
239
  For close-out comments, copy `markdownLink` from the JSON response into your temporary Markdown comment file and post that link as the Rudder-visible handoff checkpoint. Direct filesystem writes are not complete handoff evidence until the file is cited with the returned `markdownLink`. The `ref` argument is a Library-relative path such as `$RUDDER_PROJECT_LIBRARY_PATH/<relative-file>`, not the absolute `$RUDDER_PROJECT_LIBRARY_ROOT/...` filesystem path. If `$RUDDER_PROJECT_LIBRARY_ROOT` is unset or inaccessible, use `rudder library file get/put "$RUDDER_PROJECT_LIBRARY_PATH/<relative-file>"` as the remote or restricted runtime fallback. Use older `library-file://...` links only when you are preserving or reading legacy content that has no `libraryEntryId`.
@@ -97,6 +97,10 @@ Mention-triggered comment wakes set `wakeComment` and `RUDDER_WAKE_COMMENT_ID`.
97
97
  Issue comments request an agent wake with an agent link whose href includes
98
98
  `intent=wake`. Plain `agent://agent-id` links are reference-only, and plain text
99
99
  agent names should not be treated as wake requests.
100
+ When such a comment wakes an agent on an issue not assigned to you, meaning not
101
+ assigned to the woken agent and including user-owned or unassigned issues, the
102
+ wake is scoped to the comment unless the comment explicitly asks that agent to
103
+ implement, modify files, close the issue, or take ownership.
100
104
 
101
105
  ### Comments
102
106
 
@@ -135,6 +139,7 @@ Use the incremental `after` form when you already know the thread.
135
139
  - `GET /api/orgs/:orgId/goals`
136
140
  - `POST /api/orgs/:orgId/goals`
137
141
  - `GET /api/orgs/:orgId/activity`
142
+ - `GET /api/orgs/:orgId/users/:userId/activity-ledger`
138
143
  - `GET /api/orgs/:orgId/costs/summary`
139
144
  - `GET /api/orgs/:orgId/costs/by-agent`
140
145
  - `GET /api/orgs/:orgId/costs/by-project`
@@ -193,8 +198,8 @@ Workspace file detail responses include renderable reference fields:
193
198
  {
194
199
  "filePath": "projects/rudder/RUD-123.md",
195
200
  "libraryEntryId": "entry-uuid",
196
- "mentionHref": "library-entry://entry-uuid",
197
- "markdownLink": "[RUD-123.md](library-entry://entry-uuid)"
201
+ "mentionHref": "library-entry://entry-uuid?p=projects%2Frudder%2FRUD-123.md",
202
+ "markdownLink": "[RUD-123.md](library-entry://entry-uuid?p=projects%2Frudder%2FRUD-123.md)"
198
203
  }
199
204
  ```
200
205
 
@@ -210,6 +215,11 @@ the remote or restricted runtime fallback. `library-file://...` is legacy weak
210
215
  path syntax and should not be used for new durable Library references when
211
216
  `libraryEntryId` is available.
212
217
 
218
+ The `libraryEntryId` remains the strong identity. The optional `p` query value
219
+ is a Rudder-generated synchronous path hint for fast UI navigation before entry
220
+ metadata is available; agents should copy returned links instead of constructing
221
+ or editing that URL by hand.
222
+
213
223
  ## Approval Workflows
214
224
 
215
225
  - `GET /api/approvals/:approvalId`
@@ -5,13 +5,14 @@ Stable CLI contract for agents using the bundled `rudder` skill. Prefer these co
5
5
  ## Defaults
6
6
 
7
7
  - All commands support `--json`.
8
+ - CLI output renders IDs as short IDs by default; `rudder runs ...` commands accept short run IDs. Add `--full-ids` only when a debugging or compatibility workflow needs raw UUIDs.
8
9
  - `--org-id` defaults to `RUDDER_ORG_ID` when relevant.
9
10
  - `--run-id` defaults to `RUDDER_RUN_ID` and is attached to mutating requests when available.
10
11
  - `issue checkout` defaults `--agent-id` from `RUDDER_AGENT_ID`.
11
12
 
12
13
  ## JSON Output Contract
13
14
 
14
- `rudder ... --json` commands must write valid JSON to stdout on success. If a command cannot produce the requested JSON, it must exit nonzero and write a diagnostic error to stderr. An exit-0 command with empty stdout is a CLI/runtime defect, not a valid empty result.
15
+ `rudder ... --json` commands must write valid JSON to stdout on success. ID fields in CLI JSON use short display IDs by default; pass `--full-ids` to preserve raw UUIDs. Short run IDs returned by CLI output can be passed back into `rudder runs get`, `events`, `log`, `transcript`, `errors`, `cancel`, and `retry`. If a command cannot produce the requested JSON, it must exit nonzero and write a diagnostic error to stderr. An exit-0 command with empty stdout is a CLI/runtime defect, not a valid empty result.
15
16
 
16
17
  Direct API fallback is allowed for heartbeat close-out only when a required CLI command fails diagnostically or returns exit 0 with empty stdout. When using fallback, note the affected command and reason in the issue comment or run notes so the CLI path can be fixed.
17
18
 
@@ -42,6 +43,7 @@ Direct API fallback is allowed for heartbeat close-out only when a required CLI
42
43
  | `rudder project get <project-id-or-shortname> [--org-id <id>]` | Read one project by ID or shortname. | no | no | no | no |
43
44
  | `rudder project create --org-id <id> --name <name>` | Create a project in the organization. | yes | required | no | attached when available |
44
45
  | `rudder project update <project-id-or-shortname> [--org-id <id>]` | Update mutable project fields such as name, description, status, goals, lead agent, target date, color, or archivedAt. | yes | no | no | attached when available |
46
+ | `rudder user activity --user me --since today --json` | Read a user-centered activity ledger with safe excerpts and provenance across chats, issue comments, approval comments, and user actor activity. | no | required | no | no |
45
47
  | `rudder library file list [directory]` | List Library files and folders; file rows include `libraryEntryId` when a strong reference can be generated. | no | required | no | no |
46
48
  | `rudder library file get <path>` | Fallback read when local filesystem access is unavailable; JSON includes `mentionHref` and `markdownLink`. | no | required | no | no |
47
49
  | `rudder library file ref <path>` | Return the stable Markdown reference for one Library file without printing file content. | no | required | no | no |
@@ -97,6 +99,13 @@ Before a successful `todo` or `in_progress` issue run exits, leave one close-out
97
99
  - work is blocked: `rudder issue block <issue> --comment-file <path> [--image <path>]`
98
100
  - ownership changes: add an explicit handoff comment before or with the assignee update
99
101
 
102
+ If a comment wakes you on an issue not assigned to you, including user-owned or
103
+ unassigned issues, treat that comment as the scope of the wake unless it
104
+ explicitly asks you to implement, modify files, close the issue, or take
105
+ ownership. Questions should get answers, corrections should get acknowledgment
106
+ or explanation, and narrow requests should not become permission to finish the
107
+ whole issue.
108
+
100
109
  If an issue has a reviewer, moving it to `blocked` is also a reviewer handoff: the reviewer should confirm the blocker, request changes, approve, or keep explicit follow-up open with `rudder issue review`.
101
110
 
102
111
  Issue comment and close-out commands accept comment bodies only from files or stdin. For any multiline Markdown, command names, code spans, code blocks, test summaries, or screenshot evidence, write the comment to a temporary Markdown file and pass `--body-file <path>` or `--comment-file <path>`, or pass `-` to read the body from stdin.
@@ -125,9 +134,12 @@ printf '%s\n' "$result" | jq -r .markdownLink
125
134
  The relevant JSON fields are:
126
135
 
127
136
  - `libraryEntryId`: stable identity for the Library file.
128
- - `mentionHref`: raw `library-entry://<id>` target.
137
+ - `mentionHref`: raw `library-entry://<id>` target, optionally with a
138
+ Rudder-generated `p` query parameter as a path hint for the current Library
139
+ path.
129
140
  - `markdownLink`: complete Markdown link that the renderer turns into a Library
130
- chip and that continues resolving after Rudder-managed rename or move.
141
+ chip. Its identity remains the entry id; any `p` query value is only a
142
+ synchronous navigation hint and agents should not hand-write it.
131
143
 
132
144
  Use `rudder library file get/put` only when local filesystem access to the
133
145
  Library is unavailable, such as remote or restricted runtimes. `rudder library
@@ -98,7 +98,8 @@ rudder skill scan-projects \
98
98
 
99
99
  Notes:
100
100
 
101
- - Rudder now uses one fixed org workspace root at `~/.rudder/instances/<instance>/organizations/<org-id>/workspaces`.
101
+ - Rudder now uses one fixed org workspace root at `~/.rudder/instances/<instance>/organizations/<org-storage-key>/workspaces`.
102
+ - `<org-storage-key>` is the filesystem storage key. For UUID-backed organizations, use the short ID form: the first 12 lowercase hex characters of the UUID with dashes removed. API calls still use the full organization id.
102
103
  - `scan-projects` should be treated as a compatibility command that scans the shared org workspace plus any legacy project workspace records that still exist.
103
104
  - The org `Resources` catalog is the canonical place to register shared repos, docs, URLs, and connector objects for agents.
104
105
  - Workspaces remains the disk-backed shared file surface. In local trusted runs, durable project work should be written directly under `$RUDDER_PROJECT_LIBRARY_ROOT`; use `$RUDDER_PROJECT_LIBRARY_PATH/<relative-file>` when asking Rudder for a renderable reference. When a run creates or updates a durable Library file, its final chat reply or issue comment should include a user-visible Markdown link to that file.