@rudderhq/agent-runtime-utils 0.2.5-canary.8 → 0.2.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-utils.cli.js","sourceRoot":"","sources":["../src/server-utils.cli.ts"],"names":[],"mappings":"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"}
@@ -1,220 +1,5 @@
1
- import { type ChildProcess } from "node:child_process";
2
- import type { AgentRuntimeSkillSnapshot } from "./types.js";
3
- export interface RunProcessResult {
4
- exitCode: number | null;
5
- signal: string | null;
6
- timedOut: boolean;
7
- stdout: string;
8
- stderr: string;
9
- pid: number | null;
10
- startedAt: string | null;
11
- }
12
- interface RunningProcess {
13
- child: ChildProcess;
14
- graceSec: number;
15
- }
16
- export declare const runningProcesses: Map<string, RunningProcess>;
17
- export declare const MAX_CAPTURE_BYTES: number;
18
- export declare const MAX_EXCERPT_BYTES: number;
19
- type LocalCliCredentialShimCommand = {
20
- command: string;
21
- authCheckArgs?: readonly string[];
22
- credentialEntries?: readonly string[];
23
- };
24
- export interface RudderSkillEntry {
25
- key: string;
26
- runtimeName: string;
27
- source: string;
28
- name: string | null;
29
- description: string | null;
30
- }
31
- export interface InstalledSkillTarget {
32
- targetPath: string | null;
33
- kind: "symlink" | "directory" | "file";
34
- }
35
- interface PersistentSkillSnapshotOptions {
36
- agentRuntimeType: string;
37
- availableEntries: RudderSkillEntry[];
38
- desiredSkills: string[];
39
- installed: Map<string, InstalledSkillTarget>;
40
- skillsHome: string;
41
- locationLabel?: string | null;
42
- installedDetail?: string | null;
43
- missingDetail: string;
44
- externalConflictDetail: string;
45
- externalDetail: string;
46
- warnings?: string[];
47
- }
48
- export declare function readSkillMetadataFromPath(candidatePath: string | null | undefined): Promise<{
49
- name: string | null;
50
- description: string | null;
51
- }>;
52
- export declare function parseObject(value: unknown): Record<string, unknown>;
53
- export declare function asString(value: unknown, fallback: string): string;
54
- export declare function asNumber(value: unknown, fallback: number): number;
55
- export declare function asBoolean(value: unknown, fallback: boolean): boolean;
56
- export declare function asStringArray(value: unknown): string[];
57
- export declare function parseJson(value: string): Record<string, unknown> | null;
58
- export declare function appendWithCap(prev: string, chunk: string, cap?: number): string;
59
- export declare function resolvePathValue(obj: Record<string, unknown>, dottedPath: string): string;
60
- export declare function renderTemplate(template: string, data: Record<string, unknown>): string;
61
- type IssueDocumentPromptInput = {
62
- planDocument?: {
63
- key?: string | null;
64
- title?: string | null;
65
- body?: string | null;
66
- issueId?: string | null;
67
- } | null;
68
- documentSummaries?: Array<{
69
- key?: string | null;
70
- title?: string | null;
71
- latestRevisionNumber?: number | null;
72
- updatedAt?: string | Date | null;
73
- issueId?: string | null;
74
- }> | null;
75
- legacyPlanDocument?: {
76
- key?: string | null;
77
- body?: string | null;
78
- source?: string | null;
79
- } | null;
80
- };
81
- export declare function buildIssueDocumentsPrompt(input: IssueDocumentPromptInput | null | undefined): string;
82
- export declare const DEFAULT_AGENT_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). Continue your Rudder work.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n{{context.issueDocumentsPrompt}}";
83
- export declare const ISSUE_ASSIGN_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). You have been assigned to work on an issue.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Task Context\n\n**Issue:** {{issue.title}}\n**ID:** {{issue.id}}\n**Status:** {{issue.status}}\n**Priority:** {{issue.priority}}\n\n**Description:**\n{{issue.description}}\n\n{{context.issueDocumentsPrompt}}\n\nYour task is to review this issue and begin working on it. Use the available tools to explore the codebase, understand the requirements, and implement a solution.";
84
- export declare const COMMENT_MENTION_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). You were mentioned in a comment and your attention is needed.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Context\n\n**Issue:** {{issue.title}}\n**ID:** {{issue.id}}\n\n**Issue Description:**\n{{issue.description}}\n\n{{context.issueDocumentsPrompt}}\n\n**Comment:**\nFrom: {{comment.authorLabel}} ({{comment.authorKind}})\n\n{{comment.body}}\n\nPlease review the comment above and respond or take action as appropriate.\nAn @mention is an explicit request for attention or collaboration, not an automatic transfer of issue ownership. Only checkout or self-assign when the comment explicitly asks you to take ownership and the normal issue workflow allows it.";
85
- export declare const ISSUE_COMMENTED_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). There is a new comment on an issue you own.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Context\n\n**Issue:** {{issue.title}}\n**ID:** {{issue.id}}\n**Status:** {{issue.status}}\n\n**Issue Description:**\n{{issue.description}}\n\n{{context.issueDocumentsPrompt}}\n\n**Latest Comment:**\nFrom: {{comment.authorLabel}} ({{comment.authorKind}})\n\n{{comment.body}}\n\nReview the new comment and continue the issue from the current state. Respond or take action as needed.";
86
- export declare const ISSUE_CHANGES_REQUESTED_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). A reviewer requested changes on an issue you own.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Context\n\n**Issue:** {{issue.title}}\n**ID:** {{issue.id}}\n**Status:** {{issue.status}}\n\n**Issue Description:**\n{{issue.description}}\n\n{{context.issueDocumentsPrompt}}\n\n**Reviewer Comment:**\nFrom: {{comment.authorLabel}} ({{comment.authorKind}})\n\n{{comment.body}}\n\nReview the requested changes and continue the issue from the current state. Address the reviewer feedback before handing it back for review.";
87
- export declare const ISSUE_RECOVERY_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). This is a recovery run, not a fresh task.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Recovery Context\n\n- Original Run ID: {{context.recovery.originalRunId}}\n- Failure Kind: {{context.recovery.failureKind}}\n- Failure Summary: {{context.recovery.failureSummary}}\n- Recovery Trigger: {{context.recovery.recoveryTrigger}}\n- Recovery Mode: {{context.recovery.recoveryMode}}\n\n## Current Issue Context\n\n- Issue: {{issue.title}}\n- ID: {{issue.id}}\n- Status: {{issue.status}}\n- Priority: {{issue.priority}}\n\n- Description:\n{{issue.description}}\n\n{{context.issueDocumentsPrompt}}\n\nBefore doing anything else, inspect what the previous run already completed and any side effects it may have caused. Continue the remaining work from the current state. Avoid blindly re-running the whole task.";
88
- export declare const RECOVERY_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). This is a recovery run, not a fresh task.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Recovery Context\n\n- Original Run ID: {{context.recovery.originalRunId}}\n- Failure Kind: {{context.recovery.failureKind}}\n- Failure Summary: {{context.recovery.failureSummary}}\n- Recovery Trigger: {{context.recovery.recoveryTrigger}}\n- Recovery Mode: {{context.recovery.recoveryMode}}\n\nBefore doing anything else, inspect what the previous run already completed and any side effects it may have caused. Continue the remaining work from the current state. Avoid blindly re-running the whole task.";
89
- export declare const ISSUE_PASSIVE_FOLLOWUP_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). This is a passive issue follow-up, not a fresh assignment and not a failure recovery.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Why You Were Woken\n\nThe previous run ended without sufficient issue close-out.\n\n- Origin Run ID: {{context.passiveFollowup.originRunId}}\n- Previous Run ID: {{context.passiveFollowup.previousRunId}}\n- Attempt: {{context.passiveFollowup.attempt}} / {{context.passiveFollowup.maxAttempts}}\nReason: {{context.passiveFollowup.reason}}\n\n## Current Issue Context\n\n- Issue: {{issue.title}}\n- ID: {{issue.id}}\n- Status: {{issue.status}}\n- Priority: {{issue.priority}}\n\n- Description:\n{{issue.description}}\n\n{{context.issueDocumentsPrompt}}\n\nBefore changing the issue, inspect the current issue state and any side effects from the previous run. Then do exactly one close-out action: add a progress comment, mark the issue done, block it with a reason, or hand it off explicitly with explanation.";
90
- /**
91
- * Selects the base heartbeat prompt template used by runtimes before final prompt assembly.
92
- *
93
- * Prompt shape by wake trigger:
94
- * - assignment:
95
- * "You are agent ... You have been assigned ..."
96
- * Includes issue title/id/status/priority/description so the agent can start immediately.
97
- * - comment.mention:
98
- * "You were mentioned in a comment ..."
99
- * Includes issue summary plus mention comment author/body so the agent can respond without extra fetches.
100
- * Mentions request attention; ownership transfer still requires an explicit handoff.
101
- * - issue_changes_requested:
102
- * "A reviewer requested changes on an issue you own ..."
103
- * Includes issue summary plus reviewer attribution/comment body so the assignee can act on feedback immediately.
104
- * - issue_commented:
105
- * "There is a new comment on an issue you own ..."
106
- * Includes issue summary plus the newest comment author/body so the assignee can continue immediately.
107
- * - recovery:
108
- * "This is a recovery run, not a fresh task ..."
109
- * Includes original run id, failure metadata, and a continue-preferred instruction to
110
- * inspect prior progress/side effects before resuming.
111
- * - passive issue follow-up:
112
- * "This is a passive issue follow-up, not a fresh assignment ..."
113
- * Includes close-out lineage and tells the agent to comment, finish, block, or hand off.
114
- * - fallback:
115
- * Generic "Continue your Rudder work."
116
- *
117
- * Concrete rendered example (comment mention):
118
- * "You are agent agent-456 (Backend Worker). You were mentioned in a comment and your attention is needed.
119
- * Issue: Stabilize queue worker
120
- * Comment: @agent please check timeout handling in retry path."
121
- *
122
- * Reasoning:
123
- * - Keep backward compatibility: custom configured templates always win.
124
- * - Keep first-turn latency low: include the minimum task context directly in prompt text.
125
- * - Keep behavior deterministic across runtimes: template selection is centralized here.
126
- *
127
- * See also:
128
- * - doc/plans/2026-04-07-agent-prompt-context-injection.md
129
- * - doc/DEVELOPING.md
130
- */
131
- export declare function selectPromptTemplate(configuredTemplate: string | undefined, context: Record<string, unknown>): string;
132
- export declare function joinPromptSections(sections: Array<string | null | undefined>, separator?: string): string;
133
- export declare const RUDDER_AGENT_OPERATING_CONTRACT: string;
134
- export interface LoadedAgentInstructionsPrefix {
135
- prefix: string;
136
- commandNotes: string[];
137
- instructionsFilePath: string;
138
- instructionsDir: string;
139
- soulFilePath: string | null;
140
- toolsFilePath: string | null;
141
- memoryFilePath: string | null;
142
- readFailed: boolean;
143
- metrics: {
144
- instructionsChars: number;
145
- operatingContractChars: number;
146
- instructionEntryChars: number;
147
- soulChars: number;
148
- toolsChars: number;
149
- memoryChars: number;
150
- };
151
- }
152
- export declare function loadAgentInstructionsPrefix(input: {
153
- instructionsFilePath: string;
154
- onLog: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
155
- warningStream?: "stdout" | "stderr";
156
- }): Promise<LoadedAgentInstructionsPrefix>;
157
- export declare function redactEnvForLogs(env: Record<string, string>): Record<string, string>;
158
- export declare function buildRudderEnv(agent: {
159
- id: string;
160
- orgId: string;
161
- }): Record<string, string>;
162
- export declare function defaultPathForPlatform(): "C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem" | "/usr/local/bin:/opt/homebrew/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin";
163
- export declare function ensurePathInEnv(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
164
- export declare function ensureRudderCliInPath(moduleDir: string, env: NodeJS.ProcessEnv): Promise<NodeJS.ProcessEnv>;
165
- export declare function ensureAbsoluteDirectory(cwd: string, opts?: {
166
- createIfMissing?: boolean;
167
- }): Promise<void>;
168
- export declare function resolveRudderSkillsDir(moduleDir: string, additionalCandidates?: string[]): Promise<string | null>;
169
- export declare function listRudderSkillEntries(moduleDir: string, additionalCandidates?: string[]): Promise<RudderSkillEntry[]>;
170
- export declare function readInstalledSkillTargets(skillsHome: string): Promise<Map<string, InstalledSkillTarget>>;
171
- export declare function buildPersistentSkillSnapshot(options: PersistentSkillSnapshotOptions): AgentRuntimeSkillSnapshot;
172
- export declare function readRudderRuntimeSkillEntries(config: Record<string, unknown>, moduleDir: string, additionalCandidates?: string[]): Promise<RudderSkillEntry[]>;
173
- export declare function readRudderSkillMarkdown(moduleDir: string, skillKey: string): Promise<string | null>;
174
- export declare function readRudderSkillSyncPreference(config: Record<string, unknown>): {
175
- explicit: boolean;
176
- desiredSkills: string[];
177
- };
178
- export declare function resolveRudderDesiredSkillNames(config: Record<string, unknown>, availableEntries: Array<{
179
- key: string;
180
- runtimeName?: string | null;
181
- }>): string[];
182
- export declare function writeRudderSkillSyncPreference(config: Record<string, unknown>, desiredSkills: string[]): Record<string, unknown>;
183
- export declare function resolveLocalOperatorHome(sourceEnv?: NodeJS.ProcessEnv): string;
184
- export declare function applyLocalCliHomeEnv(targetEnv: Record<string, string>, sourceEnv?: NodeJS.ProcessEnv): void;
185
- export declare function syncLocalCliCredentialHomeEntries(input: {
186
- sourceHome?: string | null;
187
- targetHome: string;
188
- entries?: readonly string[];
189
- onLog?: ((stream: "stdout" | "stderr", chunk: string) => Promise<void>) | null;
190
- }): Promise<{
191
- linked: string[];
192
- skipped: string[];
193
- }>;
194
- export declare function ensureLocalCliCredentialShimsInPath(input: {
195
- operatorHome?: string | null;
196
- targetHome: string;
197
- env: NodeJS.ProcessEnv;
198
- cwd?: string;
199
- commands?: readonly (string | LocalCliCredentialShimCommand)[];
200
- onLog?: ((stream: "stdout" | "stderr", chunk: string) => Promise<void>) | null;
201
- }): Promise<NodeJS.ProcessEnv>;
202
- export declare function ensureRudderSkillSymlink(source: string, target: string, linkSkill?: (source: string, target: string) => Promise<void>): Promise<"created" | "repaired" | "skipped">;
203
- export declare function removeMaintainerOnlySkillSymlinks(skillsHome: string, allowedSkillNames: Iterable<string>): Promise<string[]>;
204
- export declare function ensureCommandResolvable(command: string, cwd: string, env: NodeJS.ProcessEnv): Promise<void>;
205
- export declare function runChildProcess(runId: string, command: string, args: string[], opts: {
206
- cwd: string;
207
- env: Record<string, string>;
208
- timeoutSec: number;
209
- graceSec: number;
210
- onLog: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
211
- onLogError?: (err: unknown, runId: string, message: string) => void;
212
- onSpawn?: (meta: {
213
- pid: number;
214
- startedAt: string;
215
- }) => Promise<void>;
216
- stdin?: string;
217
- abortSignal?: AbortSignal;
218
- }): Promise<RunProcessResult>;
219
- export {};
1
+ export * from "./server-utils.process.js";
2
+ export * from "./server-utils.prompts.js";
3
+ export * from "./server-utils.instructions.js";
4
+ export * from "./server-utils.cli.js";
220
5
  //# sourceMappingURL=server-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-utils.d.ts","sourceRoot":"","sources":["../src/server-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-utils.d.ts","sourceRoot":"","sources":["../src/server-utils.ts"],"names":[],"mappings":"AASA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { SpawnTarget } from "./server-utils.process.js";
2
+ export interface LoadedAgentInstructionsPrefix {
3
+ prefix: string;
4
+ commandNotes: string[];
5
+ instructionsFilePath: string;
6
+ instructionsDir: string;
7
+ soulFilePath: string | null;
8
+ toolsFilePath: string | null;
9
+ memoryFilePath: string | null;
10
+ readFailed: boolean;
11
+ metrics: {
12
+ instructionsChars: number;
13
+ operatingContractChars: number;
14
+ instructionEntryChars: number;
15
+ soulChars: number;
16
+ toolsChars: number;
17
+ memoryChars: number;
18
+ };
19
+ }
20
+ export declare function toPromptPath(pathValue: string): string;
21
+ export declare function isInsidePath(parentPath: string, childPath: string): boolean;
22
+ export declare function displayInstructionPath(filePath: string, instructionsFilePath: string): string;
23
+ export declare function displayInstructionDir(filePath: string, instructionsFilePath: string): string;
24
+ export declare function loadAgentInstructionsPrefix(input: {
25
+ instructionsFilePath: string;
26
+ onLog: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
27
+ warningStream?: "stdout" | "stderr";
28
+ }): Promise<LoadedAgentInstructionsPrefix>;
29
+ export declare function redactEnvForLogs(env: Record<string, string>): Record<string, string>;
30
+ export declare function buildRudderEnv(agent: {
31
+ id: string;
32
+ orgId: string;
33
+ }): Record<string, string>;
34
+ export declare function defaultPathForPlatform(): "C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem" | "/usr/local/bin:/opt/homebrew/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin";
35
+ export declare function windowsPathExts(env: NodeJS.ProcessEnv): string[];
36
+ export declare function pathExists(candidate: string): Promise<boolean>;
37
+ export declare function fileExists(candidate: string): Promise<boolean>;
38
+ export declare function resolveCommandPath(command: string, cwd: string, env: NodeJS.ProcessEnv): Promise<string | null>;
39
+ export declare function quoteForCmd(arg: string): string;
40
+ export declare function resolveSpawnTarget(command: string, args: string[], cwd: string, env: NodeJS.ProcessEnv): Promise<SpawnTarget>;
41
+ //# sourceMappingURL=server-utils.instructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-utils.instructions.d.ts","sourceRoot":"","sources":["../src/server-utils.instructions.ts"],"names":[],"mappings":"AASA,OAAO,EAAoC,WAAW,EAAg3B,MAAM,2BAA2B,CAAC;AAGx8B,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE;QACP,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAG3E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAY7F;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAI5F;AAED,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACrC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAiJzC;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMpF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkB3F;AAED,wBAAgB,sBAAsB,uJAKrC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,CAEhE;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,oBAOjD;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,oBAOjD;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BrH;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,UAItC;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,WAAW,CAAC,CAkBtB"}
@@ -0,0 +1,252 @@
1
+ import { constants as fsConstants, promises as fs } from "node:fs";
2
+ import path from "node:path";
3
+ import { SENSITIVE_ENV_KEY } from "./server-utils.process.js";
4
+ import { joinPromptSections, RUDDER_AGENT_OPERATING_CONTRACT } from "./server-utils.prompts.js";
5
+ export function toPromptPath(pathValue) {
6
+ return pathValue.split(path.sep).join("/");
7
+ }
8
+ export function isInsidePath(parentPath, childPath) {
9
+ const relativePath = path.relative(parentPath, childPath);
10
+ return relativePath === "" || (!relativePath.startsWith("..") && !path.isAbsolute(relativePath));
11
+ }
12
+ export function displayInstructionPath(filePath, instructionsFilePath) {
13
+ const resolvedFilePath = path.resolve(filePath);
14
+ const resolvedInstructionsPath = path.resolve(instructionsFilePath);
15
+ const instructionsDir = path.dirname(resolvedInstructionsPath);
16
+ if (path.basename(instructionsDir) === "instructions") {
17
+ const agentHome = path.dirname(instructionsDir);
18
+ if (isInsidePath(agentHome, resolvedFilePath)) {
19
+ const relativePath = path.relative(agentHome, resolvedFilePath);
20
+ return relativePath ? `$AGENT_HOME/${toPromptPath(relativePath)}` : "$AGENT_HOME";
21
+ }
22
+ }
23
+ return filePath;
24
+ }
25
+ export function displayInstructionDir(filePath, instructionsFilePath) {
26
+ const displayPath = displayInstructionPath(filePath, instructionsFilePath);
27
+ const lastSlash = displayPath.lastIndexOf("/");
28
+ return lastSlash >= 0 ? `${displayPath.slice(0, lastSlash)}/` : "";
29
+ }
30
+ export async function loadAgentInstructionsPrefix(input) {
31
+ const instructionsFilePath = input.instructionsFilePath.trim();
32
+ const instructionsDir = instructionsFilePath ? `${path.dirname(instructionsFilePath)}/` : "";
33
+ const displayInstructionsFilePath = instructionsFilePath
34
+ ? displayInstructionPath(instructionsFilePath, instructionsFilePath)
35
+ : "";
36
+ const displayInstructionsDir = instructionsFilePath
37
+ ? displayInstructionDir(instructionsFilePath, instructionsFilePath)
38
+ : "";
39
+ const warningStream = input.warningStream ?? "stdout";
40
+ const operatingContractSection = `${RUDDER_AGENT_OPERATING_CONTRACT}\n\n` +
41
+ "The above Rudder agent operating contract was injected by Rudder at runtime.";
42
+ const empty = {
43
+ prefix: operatingContractSection,
44
+ commandNotes: ["Loaded Rudder agent operating contract from runtime code"],
45
+ instructionsFilePath,
46
+ instructionsDir,
47
+ soulFilePath: null,
48
+ toolsFilePath: null,
49
+ memoryFilePath: null,
50
+ readFailed: false,
51
+ metrics: {
52
+ instructionsChars: operatingContractSection.length,
53
+ operatingContractChars: operatingContractSection.length,
54
+ instructionEntryChars: 0,
55
+ soulChars: 0,
56
+ toolsChars: 0,
57
+ memoryChars: 0,
58
+ },
59
+ };
60
+ if (!instructionsFilePath)
61
+ return empty;
62
+ const loadedPaths = new Set();
63
+ const commandNotes = [...empty.commandNotes];
64
+ let entrySection = "";
65
+ try {
66
+ const instructionsContents = await fs.readFile(instructionsFilePath, "utf8");
67
+ loadedPaths.add(path.resolve(instructionsFilePath));
68
+ entrySection =
69
+ `${instructionsContents}\n\n` +
70
+ `The above agent instructions were loaded from ${displayInstructionsFilePath}. ` +
71
+ `Resolve any relative file references from ${displayInstructionsDir}.`;
72
+ await input.onLog("stdout", `[rudder] Loaded agent instructions file: ${displayInstructionsFilePath}\n`);
73
+ }
74
+ catch (err) {
75
+ const reason = err instanceof Error ? err.message : String(err);
76
+ await input.onLog(warningStream, `[rudder] Warning: could not read agent instructions file "${instructionsFilePath}": ${reason}\n`);
77
+ commandNotes.push(`Configured instructionsFilePath ${displayInstructionsFilePath}, but file could not be read; continuing without injected instructions.`);
78
+ }
79
+ async function loadSiblingInstructionFile(siblingInput) {
80
+ const filePath = path.join(path.dirname(instructionsFilePath), siblingInput.fileName);
81
+ const resolvedPath = path.resolve(filePath);
82
+ const displayFilePath = displayInstructionPath(filePath, instructionsFilePath);
83
+ const displayFileDir = displayInstructionDir(filePath, instructionsFilePath);
84
+ if (loadedPaths.has(resolvedPath))
85
+ return { path: filePath, section: "" };
86
+ try {
87
+ const contents = await fs.readFile(filePath, "utf8");
88
+ loadedPaths.add(resolvedPath);
89
+ await input.onLog("stdout", `[rudder] Loaded ${siblingInput.logLabel}: ${displayFilePath}\n`);
90
+ return {
91
+ path: filePath,
92
+ section: `${contents}\n\n` +
93
+ `The above ${siblingInput.label} were loaded from ${displayFilePath}. ` +
94
+ `Resolve any relative file references from ${displayFileDir}.`,
95
+ };
96
+ }
97
+ catch (err) {
98
+ if (err.code !== "ENOENT") {
99
+ const reason = err instanceof Error ? err.message : String(err);
100
+ await input.onLog(warningStream, `[rudder] Warning: could not read ${siblingInput.logLabel} "${filePath}": ${reason}\n`);
101
+ }
102
+ return { path: null, section: "" };
103
+ }
104
+ }
105
+ const soul = await loadSiblingInstructionFile({
106
+ fileName: "SOUL.md",
107
+ label: "agent role and persona instructions",
108
+ logLabel: "agent soul instructions file",
109
+ });
110
+ if (soul.section && soul.path) {
111
+ commandNotes.push(`Loaded agent soul instructions from ${displayInstructionPath(soul.path, instructionsFilePath)}`);
112
+ }
113
+ const tools = await loadSiblingInstructionFile({
114
+ fileName: "TOOLS.md",
115
+ label: "agent tool notes",
116
+ logLabel: "agent tool notes file",
117
+ });
118
+ if (tools.section && tools.path) {
119
+ commandNotes.push(`Loaded agent tool notes from ${displayInstructionPath(tools.path, instructionsFilePath)}`);
120
+ }
121
+ const memory = await loadSiblingInstructionFile({
122
+ fileName: "MEMORY.md",
123
+ label: "agent memory instructions",
124
+ logLabel: "agent memory instructions file",
125
+ });
126
+ if (memory.section && memory.path) {
127
+ commandNotes.push(`Loaded agent memory instructions from ${displayInstructionPath(memory.path, instructionsFilePath)}`);
128
+ }
129
+ const memoryFilePath = memory.section ? memory.path : null;
130
+ const memorySection = memory.section;
131
+ if (entrySection)
132
+ commandNotes.splice(1, 0, `Loaded agent instructions from ${displayInstructionsFilePath}`);
133
+ const prefix = joinPromptSections([operatingContractSection, entrySection, soul.section, tools.section, memorySection]);
134
+ return {
135
+ prefix,
136
+ commandNotes,
137
+ instructionsFilePath,
138
+ instructionsDir,
139
+ soulFilePath: soul.section ? soul.path : null,
140
+ toolsFilePath: tools.section ? tools.path : null,
141
+ memoryFilePath,
142
+ readFailed: !entrySection,
143
+ metrics: {
144
+ instructionsChars: prefix.length,
145
+ operatingContractChars: operatingContractSection.length,
146
+ instructionEntryChars: entrySection.length,
147
+ soulChars: soul.section.length,
148
+ toolsChars: tools.section.length,
149
+ memoryChars: memorySection.length,
150
+ },
151
+ };
152
+ }
153
+ export function redactEnvForLogs(env) {
154
+ const redacted = {};
155
+ for (const [key, value] of Object.entries(env)) {
156
+ redacted[key] = SENSITIVE_ENV_KEY.test(key) ? "***REDACTED***" : value;
157
+ }
158
+ return redacted;
159
+ }
160
+ export function buildRudderEnv(agent) {
161
+ const resolveHostForUrl = (rawHost) => {
162
+ const host = rawHost.trim();
163
+ if (!host || host === "0.0.0.0" || host === "::")
164
+ return "localhost";
165
+ if (host.includes(":") && !host.startsWith("[") && !host.endsWith("]"))
166
+ return `[${host}]`;
167
+ return host;
168
+ };
169
+ const vars = {
170
+ RUDDER_AGENT_ID: agent.id,
171
+ RUDDER_ORG_ID: agent.orgId,
172
+ };
173
+ const runtimeHost = resolveHostForUrl(process.env.RUDDER_LISTEN_HOST ?? process.env.HOST ?? "localhost");
174
+ const runtimePort = process.env.RUDDER_LISTEN_PORT ?? process.env.PORT ?? "3100";
175
+ const apiUrl = process.env.RUDDER_API_URL ?? `http://${runtimeHost}:${runtimePort}`;
176
+ vars.RUDDER_API_URL = apiUrl;
177
+ return vars;
178
+ }
179
+ export function defaultPathForPlatform() {
180
+ if (process.platform === "win32") {
181
+ return "C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem";
182
+ }
183
+ return "/usr/local/bin:/opt/homebrew/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin";
184
+ }
185
+ export function windowsPathExts(env) {
186
+ return (env.PATHEXT ?? ".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean);
187
+ }
188
+ export async function pathExists(candidate) {
189
+ try {
190
+ await fs.access(candidate, process.platform === "win32" ? fsConstants.F_OK : fsConstants.X_OK);
191
+ return true;
192
+ }
193
+ catch {
194
+ return false;
195
+ }
196
+ }
197
+ export async function fileExists(candidate) {
198
+ try {
199
+ await fs.access(candidate, fsConstants.F_OK);
200
+ return true;
201
+ }
202
+ catch {
203
+ return false;
204
+ }
205
+ }
206
+ export async function resolveCommandPath(command, cwd, env) {
207
+ const hasPathSeparator = command.includes("/") || command.includes("\\");
208
+ if (hasPathSeparator) {
209
+ const absolute = path.isAbsolute(command) ? command : path.resolve(cwd, command);
210
+ return (await pathExists(absolute)) ? absolute : null;
211
+ }
212
+ const pathValue = env.PATH ?? env.Path ?? "";
213
+ const delimiter = process.platform === "win32" ? ";" : ":";
214
+ const dirs = pathValue.split(delimiter).filter(Boolean);
215
+ const exts = process.platform === "win32" ? windowsPathExts(env) : [""];
216
+ const hasExtension = process.platform === "win32" && path.extname(command).length > 0;
217
+ for (const dir of dirs) {
218
+ const candidates = process.platform === "win32"
219
+ ? hasExtension
220
+ ? [path.join(dir, command)]
221
+ : exts.map((ext) => path.join(dir, `${command}${ext}`))
222
+ : [path.join(dir, command)];
223
+ for (const candidate of candidates) {
224
+ if (await pathExists(candidate))
225
+ return candidate;
226
+ }
227
+ }
228
+ return null;
229
+ }
230
+ export function quoteForCmd(arg) {
231
+ if (!arg.length)
232
+ return '""';
233
+ const escaped = arg.replace(/"/g, '""');
234
+ return /[\s"&<>|^()]/.test(escaped) ? `"${escaped}"` : escaped;
235
+ }
236
+ export async function resolveSpawnTarget(command, args, cwd, env) {
237
+ const resolved = await resolveCommandPath(command, cwd, env);
238
+ const executable = resolved ?? command;
239
+ if (process.platform !== "win32") {
240
+ return { command: executable, args };
241
+ }
242
+ if (/\.(cmd|bat)$/i.test(executable)) {
243
+ const shell = env.ComSpec || process.env.ComSpec || "cmd.exe";
244
+ const commandLine = [quoteForCmd(executable), ...args.map(quoteForCmd)].join(" ");
245
+ return {
246
+ command: shell,
247
+ args: ["/d", "/s", "/c", commandLine],
248
+ };
249
+ }
250
+ return { command: executable, args };
251
+ }
252
+ //# sourceMappingURL=server-utils.instructions.js.map