@rudderhq/agent-runtime-utils 0.7.10 → 0.7.12
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 +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/native-command.d.ts +12 -0
- package/dist/native-command.d.ts.map +1 -0
- package/dist/native-command.js +13 -0
- package/dist/native-command.js.map +1 -0
- package/dist/native-command.test.d.ts +2 -0
- package/dist/native-command.test.d.ts.map +1 -0
- package/dist/native-command.test.js +23 -0
- package/dist/native-command.test.js.map +1 -0
- package/dist/native-process-runner.d.ts +35 -0
- package/dist/native-process-runner.d.ts.map +1 -0
- package/dist/native-process-runner.js +635 -0
- package/dist/native-process-runner.js.map +1 -0
- package/dist/native-process-runner.test.d.ts +2 -0
- package/dist/native-process-runner.test.d.ts.map +1 -0
- package/dist/native-process-runner.test.js +301 -0
- package/dist/native-process-runner.test.js.map +1 -0
- package/dist/network-suspension.d.ts +22 -0
- package/dist/network-suspension.d.ts.map +1 -0
- package/dist/network-suspension.js +97 -0
- package/dist/network-suspension.js.map +1 -0
- package/dist/network-suspension.test.d.ts +2 -0
- package/dist/network-suspension.test.d.ts.map +1 -0
- package/dist/network-suspension.test.js +41 -0
- package/dist/network-suspension.test.js.map +1 -0
- package/dist/rudder-mcp-contract.d.ts +19 -1
- package/dist/rudder-mcp-contract.d.ts.map +1 -1
- package/dist/rudder-mcp-contract.js +47 -2
- package/dist/rudder-mcp-contract.js.map +1 -1
- package/dist/rudder-mcp-tool-descriptors.generated.d.ts +17 -1
- package/dist/rudder-mcp-tool-descriptors.generated.d.ts.map +1 -1
- package/dist/rudder-mcp-tool-descriptors.generated.js +19 -1
- package/dist/rudder-mcp-tool-descriptors.generated.js.map +1 -1
- package/dist/server-utils.cli.d.ts.map +1 -1
- package/dist/server-utils.cli.js +5 -2
- package/dist/server-utils.cli.js.map +1 -1
- package/dist/server-utils.instructions.d.ts +2 -3
- package/dist/server-utils.instructions.d.ts.map +1 -1
- package/dist/server-utils.instructions.js +6 -13
- package/dist/server-utils.instructions.js.map +1 -1
- package/dist/server-utils.process.d.ts +3 -0
- package/dist/server-utils.process.d.ts.map +1 -1
- package/dist/server-utils.process.js +64 -1
- package/dist/server-utils.process.js.map +1 -1
- package/dist/server-utils.prompts.d.ts +4 -3
- package/dist/server-utils.prompts.d.ts.map +1 -1
- package/dist/server-utils.prompts.js +184 -16
- package/dist/server-utils.prompts.js.map +1 -1
- package/dist/server-utils.prompts.test.js +130 -6
- package/dist/server-utils.prompts.test.js.map +1 -1
- package/dist/server-utils.test.js +50 -23
- package/dist/server-utils.test.js.map +1 -1
- package/dist/types.d.ts +30 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { AGENT_ISSUE_CREATION_PROMPT_TEMPLATE, COMMENT_MENTION_PROMPT_TEMPLATE, DEFAULT_AGENT_PROMPT_TEMPLATE, GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE, GOAL_FEEDBACK_PROMPT_TEMPLATE, GOAL_STARTED_PROMPT_TEMPLATE, ISSUE_ASSIGN_PROMPT_TEMPLATE, ISSUE_ASSIGNEE_EXECUTION_RAIL, ISSUE_CHANGES_REQUESTED_PROMPT_TEMPLATE, ISSUE_COMMENTED_PROMPT_TEMPLATE, ISSUE_PASSIVE_FOLLOWUP_PROMPT_TEMPLATE, ISSUE_RECOVERY_PROMPT_TEMPLATE, ISSUE_REVIEW_PROMPT_TEMPLATE, ISSUE_REVIEW_RECOVERY_PROMPT_TEMPLATE, RECOVERY_PROMPT_TEMPLATE, renderTemplate, RUDDER_AGENT_HEARTBEAT_INSTRUCTION, RUDDER_AGENT_OPERATING_CONTRACT, selectPromptTemplate, } from "./server-utils.js";
|
|
2
|
+
import { AGENT_ISSUE_CREATION_PROMPT_TEMPLATE, COMMENT_MENTION_PROMPT_TEMPLATE, DEFAULT_AGENT_PROMPT_TEMPLATE, GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE, GOAL_CONTINUATION_PROMPT_TEMPLATE, GOAL_FEEDBACK_PROMPT_TEMPLATE, GOAL_STARTED_PROMPT_TEMPLATE, ISSUE_ASSIGN_PROMPT_TEMPLATE, ISSUE_ASSIGNEE_EXECUTION_RAIL, ISSUE_CHANGES_REQUESTED_PROMPT_TEMPLATE, ISSUE_COMMENTED_PROMPT_TEMPLATE, ISSUE_PASSIVE_FOLLOWUP_PROMPT_TEMPLATE, ISSUE_RECOVERY_PROMPT_TEMPLATE, ISSUE_REVIEW_PROMPT_TEMPLATE, ISSUE_REVIEW_RECOVERY_PROMPT_TEMPLATE, RECOVERY_PROMPT_TEMPLATE, renderTemplate, RUDDER_AGENT_HEARTBEAT_INSTRUCTION, RUDDER_AGENT_OPERATING_CONTRACT, selectPromptTemplate, } from "./server-utils.js";
|
|
3
3
|
describe("server-utils prompt contracts", () => {
|
|
4
4
|
it("selects the dedicated single-issue prompt for Agent Issue creation wakes", () => {
|
|
5
5
|
const context = {
|
|
@@ -72,19 +72,92 @@ describe("server-utils prompt contracts", () => {
|
|
|
72
72
|
GOAL_STARTED_PROMPT_TEMPLATE,
|
|
73
73
|
GOAL_FEEDBACK_PROMPT_TEMPLATE,
|
|
74
74
|
GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE,
|
|
75
|
+
GOAL_CONTINUATION_PROMPT_TEMPLATE,
|
|
75
76
|
]) {
|
|
76
77
|
expect(template).toContain("This is a Rudder product Goal, not a Codex internal goal.");
|
|
77
78
|
expect(template).toContain("Do not call Codex `create_goal`, `update_goal`, or `get_goal`");
|
|
79
|
+
expect(template).toContain("call `rudder_goal_context` once");
|
|
80
|
+
expect(template).toContain("contract, current Plan, continuation");
|
|
78
81
|
expect(template).toContain("call that typed tool directly");
|
|
79
82
|
expect(template).toContain("Do not load `rudder-docs`, inspect skill files, or run discovery commands");
|
|
80
|
-
expect(template).toContain("
|
|
83
|
+
expect(template).toContain("Do not use shell, Bash, curl, or the `rudder` CLI");
|
|
81
84
|
expect(template).toContain("`rudder_goal_progress`");
|
|
82
85
|
expect(template).toContain("`rudder_goal_change_propose`");
|
|
83
86
|
expect(template).toContain("`rudder_goal_result_propose`");
|
|
84
87
|
expect(template).toContain("automatically attributes progress to this Run");
|
|
85
88
|
expect(template).toContain("A human must accept every terminal Goal result.");
|
|
89
|
+
expect(template).toContain("Never claim that a Plan, wait, review, Checkpoint, proposal, or transition was persisted");
|
|
86
90
|
}
|
|
87
91
|
});
|
|
92
|
+
it("drives every Goal wake through the complete advancement phase router", () => {
|
|
93
|
+
for (const template of [
|
|
94
|
+
GOAL_STARTED_PROMPT_TEMPLATE,
|
|
95
|
+
GOAL_FEEDBACK_PROMPT_TEMPLATE,
|
|
96
|
+
GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE,
|
|
97
|
+
GOAL_CONTINUATION_PROMPT_TEMPLATE,
|
|
98
|
+
]) {
|
|
99
|
+
expect(template).toContain("## Goal Advancement Protocol");
|
|
100
|
+
expect(template).toContain("### Phase 1 - Reconstruct the current state");
|
|
101
|
+
expect(template).toContain("### Phase 2 - Check that the Goal is executable");
|
|
102
|
+
expect(template).toContain("### Phase 3 - Plan or Replan");
|
|
103
|
+
expect(template).toContain("### Phase 4 - Run an optional Plan or Replan review");
|
|
104
|
+
expect(template).toContain("### Phase 5 - Execute one bounded commitment");
|
|
105
|
+
expect(template).toContain("### Phase 6 - Observe and checkpoint");
|
|
106
|
+
expect(template).toContain("When `rudder_goal_checkpoint` is available, call `rudder_goal_checkpoint` exactly once for this bounded Run");
|
|
107
|
+
expect(template).toContain("### Phase 7 - Choose exactly one primary continuation route");
|
|
108
|
+
expect(template).toContain("### Phase 8 - Audit a possible block");
|
|
109
|
+
expect(template).toContain("### Phase 9 - Review and propose the result");
|
|
110
|
+
expect(template).toContain("### Required turn closeout");
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
it("keeps Plan ownership, review authority, Contract changes, and result acceptance distinct", () => {
|
|
114
|
+
for (const template of [
|
|
115
|
+
GOAL_STARTED_PROMPT_TEMPLATE,
|
|
116
|
+
GOAL_FEEDBACK_PROMPT_TEMPLATE,
|
|
117
|
+
GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE,
|
|
118
|
+
GOAL_CONTINUATION_PROMPT_TEMPLATE,
|
|
119
|
+
]) {
|
|
120
|
+
expect(template).toContain("Plan and Replan changes remain Agent-owned");
|
|
121
|
+
expect(template).toContain("They do not silently revise the Goal Contract.");
|
|
122
|
+
expect(template).toContain("label the proposed strategy as Run-local and unpersisted");
|
|
123
|
+
expect(template).toContain("do not imply that Rudder will resume it automatically");
|
|
124
|
+
expect(template).toContain("Invoke a Plan/Replan review only when the Contract, continuation, risk policy, or explicit human instruction requires it");
|
|
125
|
+
expect(template).toContain("A Reviewer returns findings; it does not become the Goal Owner");
|
|
126
|
+
expect(template).toContain("If review is required but no review mechanism is available, report that exact unpersisted gate.");
|
|
127
|
+
expect(template).toContain("Continue under the existing Contract until a human-applied decision says otherwise.");
|
|
128
|
+
expect(template).toContain("Stop execution while a Result Proposal is ready for human Acceptance.");
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
it("requires a materially different Replan before a three-turn blocked conclusion", () => {
|
|
132
|
+
for (const template of [
|
|
133
|
+
GOAL_STARTED_PROMPT_TEMPLATE,
|
|
134
|
+
GOAL_FEEDBACK_PROMPT_TEMPLATE,
|
|
135
|
+
GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE,
|
|
136
|
+
GOAL_CONTINUATION_PROMPT_TEMPLATE,
|
|
137
|
+
]) {
|
|
138
|
+
expect(template).toContain("Do not mark or claim the Goal blocked the first time a blocker appears.");
|
|
139
|
+
expect(template).toContain("If the same blocker persists for three consecutive Goal turns, first perform a Replan audit");
|
|
140
|
+
expect(template).toContain("If Replan finds a viable path, continue through that path.");
|
|
141
|
+
expect(template).toContain("Resuming after a blocked conclusion starts a fresh three-turn audit.");
|
|
142
|
+
expect(template).toContain("no blocker fingerprint schema is required");
|
|
143
|
+
expect(template).toContain("Missing context is not by itself a validated blocked conclusion.");
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
it("gives each real Goal wake a concrete entry and same-turn advancement rule", () => {
|
|
147
|
+
expect(GOAL_STARTED_PROMPT_TEMPLATE).toContain("## Wake Entry - Goal Started");
|
|
148
|
+
expect(GOAL_STARTED_PROMPT_TEMPLATE).toContain("Start at Plan/Replan because activation already confirmed the Contract.");
|
|
149
|
+
expect(GOAL_STARTED_PROMPT_TEMPLATE).toContain("Do not finish by merely restating the Goal or producing a Plan");
|
|
150
|
+
expect(GOAL_FEEDBACK_PROMPT_TEMPLATE).toContain("## Wake Entry - Goal Feedback");
|
|
151
|
+
expect(GOAL_FEEDBACK_PROMPT_TEMPLATE).toContain("new fact or Evidence -> observe and checkpoint");
|
|
152
|
+
expect(GOAL_FEEDBACK_PROMPT_TEMPLATE).toContain("Do not merely acknowledge feedback");
|
|
153
|
+
expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("## Wake Entry - Goal Change Decision");
|
|
154
|
+
expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("If the decision is approved and applied");
|
|
155
|
+
expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("If the proposal was rejected, preserve the current Contract");
|
|
156
|
+
expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("Acknowledging the decision alone is not advancement");
|
|
157
|
+
expect(GOAL_CONTINUATION_PROMPT_TEMPLATE).toContain("## Wake Entry - Goal Continuation");
|
|
158
|
+
expect(GOAL_CONTINUATION_PROMPT_TEMPLATE).toContain("persisted a checkpoint");
|
|
159
|
+
expect(GOAL_CONTINUATION_PROMPT_TEMPLATE).toContain("Do not replay the prior action blindly");
|
|
160
|
+
});
|
|
88
161
|
it("renders a Goal start wake with the outcome, current contract, and continuation", () => {
|
|
89
162
|
const context = {
|
|
90
163
|
wakeReason: "goal_started",
|
|
@@ -101,6 +174,10 @@ describe("server-utils prompt contracts", () => {
|
|
|
101
174
|
summary: "Run the public installation verification.",
|
|
102
175
|
wakeCondition: null,
|
|
103
176
|
},
|
|
177
|
+
goalPlan: {
|
|
178
|
+
revision: 1,
|
|
179
|
+
summary: "Verify the public installer before proposing a result.",
|
|
180
|
+
},
|
|
104
181
|
};
|
|
105
182
|
const template = selectPromptTemplate(undefined, context);
|
|
106
183
|
const rendered = renderTemplate(template, {
|
|
@@ -113,7 +190,10 @@ describe("server-utils prompt contracts", () => {
|
|
|
113
190
|
expect(rendered).toContain("**Goal ID:** goal-started-1");
|
|
114
191
|
expect(rendered).toContain("Customers can install the verified release.");
|
|
115
192
|
expect(rendered).toContain('"contractRevision":3');
|
|
193
|
+
expect(rendered).toContain('"revision":1');
|
|
194
|
+
expect(rendered).toContain("Verify the public installer before proposing a result.");
|
|
116
195
|
expect(rendered).toContain("action: Run the public installation verification.");
|
|
196
|
+
expect(rendered).toContain("Validate and use the persisted initial Plan before replacing it.");
|
|
117
197
|
expect(rendered).not.toContain("Continue your Rudder work.");
|
|
118
198
|
});
|
|
119
199
|
it("renders a Goal feedback wake with runtime feedback body and id", () => {
|
|
@@ -132,6 +212,10 @@ describe("server-utils prompt contracts", () => {
|
|
|
132
212
|
summary: "Repeat the restart acceptance run.",
|
|
133
213
|
wakeCondition: null,
|
|
134
214
|
},
|
|
215
|
+
goalPlan: {
|
|
216
|
+
revision: 4,
|
|
217
|
+
summary: "Exercise restart recovery and compare the runtime identity.",
|
|
218
|
+
},
|
|
135
219
|
goalFeedback: {
|
|
136
220
|
id: "feedback-77",
|
|
137
221
|
body: "Verify the restart path before proposing completion.",
|
|
@@ -148,11 +232,42 @@ describe("server-utils prompt contracts", () => {
|
|
|
148
232
|
expect(rendered).toContain("New feedback requires your review on a Goal you own.");
|
|
149
233
|
expect(rendered).toContain("Goal activation remains reliable after restart.");
|
|
150
234
|
expect(rendered).toContain('"contractRevision":5');
|
|
235
|
+
expect(rendered).toContain('"revision":4');
|
|
236
|
+
expect(rendered).toContain("Exercise restart recovery and compare the runtime identity.");
|
|
151
237
|
expect(rendered).toContain("verification: Repeat the restart acceptance run.");
|
|
152
238
|
expect(rendered).toContain("**Feedback ID:** feedback-77");
|
|
153
239
|
expect(rendered).toContain("Verify the restart path before proposing completion.");
|
|
154
240
|
expect(rendered).not.toContain("Continue your Rudder work.");
|
|
155
241
|
});
|
|
242
|
+
it("routes a continuation wake with checkpoint facts into the same advancement protocol", () => {
|
|
243
|
+
const context = {
|
|
244
|
+
wakeReason: "goal_continuation",
|
|
245
|
+
goal: {
|
|
246
|
+
id: "goal-continuation-1",
|
|
247
|
+
title: "Verify the next bounded release step",
|
|
248
|
+
outcomeStatement: "The release remains verifiable across runs.",
|
|
249
|
+
contractRevision: 2,
|
|
250
|
+
},
|
|
251
|
+
goalPlan: { revision: 3, summary: "Run the recovery verification." },
|
|
252
|
+
goalContinuation: { kind: "verification", summary: "Repeat the recovery check.", wakeCondition: null },
|
|
253
|
+
goalCheckpoint: {
|
|
254
|
+
id: "checkpoint-9",
|
|
255
|
+
summary: "Persisted recovery evidence and queued the next verification.",
|
|
256
|
+
evidenceRefs: ["artifact://release/recovery"],
|
|
257
|
+
planRevision: 3,
|
|
258
|
+
},
|
|
259
|
+
};
|
|
260
|
+
const template = selectPromptTemplate(undefined, context);
|
|
261
|
+
const rendered = renderTemplate(template, {
|
|
262
|
+
agent: { id: "agent-continuation-owner", name: "Owner" },
|
|
263
|
+
context,
|
|
264
|
+
});
|
|
265
|
+
expect(template).toContain("## Wake Entry - Goal Continuation");
|
|
266
|
+
expect(rendered).toContain("## Wake Entry - Goal Continuation");
|
|
267
|
+
expect(rendered).toContain("Persisted recovery evidence and queued the next verification.");
|
|
268
|
+
expect(rendered).toContain('"revision":3');
|
|
269
|
+
expect(rendered).toContain("Repeat the recovery check.");
|
|
270
|
+
});
|
|
156
271
|
it("selects the Goal prompt when only a nested payload indicates the wake kind", () => {
|
|
157
272
|
const context = {
|
|
158
273
|
payload: {
|
|
@@ -197,6 +312,10 @@ describe("server-utils prompt contracts", () => {
|
|
|
197
312
|
kind: "action",
|
|
198
313
|
summary: "Continue with the approved release boundary.",
|
|
199
314
|
},
|
|
315
|
+
goalPlan: {
|
|
316
|
+
revision: 2,
|
|
317
|
+
summary: "Verify installation and rollback against the accepted candidate.",
|
|
318
|
+
},
|
|
200
319
|
goalDecision: {
|
|
201
320
|
proposalId: "proposal-1",
|
|
202
321
|
decision: "approve",
|
|
@@ -213,6 +332,8 @@ describe("server-utils prompt contracts", () => {
|
|
|
213
332
|
expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("## Goal Change Decision");
|
|
214
333
|
expect(rendered).toContain("A human decided a proposed change");
|
|
215
334
|
expect(rendered).toContain('"contractRevision":4');
|
|
335
|
+
expect(rendered).toContain('"revision":2');
|
|
336
|
+
expect(rendered).toContain("Verify installation and rollback against the accepted candidate.");
|
|
216
337
|
expect(rendered).toContain("**Decision:** approve");
|
|
217
338
|
expect(rendered).toContain("**Decision status:** applied");
|
|
218
339
|
expect(rendered).toContain("Keep rollback evidence visible in the final result.");
|
|
@@ -224,7 +345,7 @@ describe("server-utils prompt contracts", () => {
|
|
|
224
345
|
payload: { event: "daily_check" },
|
|
225
346
|
})).toBe(DEFAULT_AGENT_PROMPT_TEMPLATE);
|
|
226
347
|
});
|
|
227
|
-
it("
|
|
348
|
+
it("uses managed Goal context for missing wake facts without inventing a blocked conclusion", () => {
|
|
228
349
|
const rendered = renderTemplate(selectPromptTemplate(undefined, {
|
|
229
350
|
wakeReason: "goal_feedback",
|
|
230
351
|
goal: { id: "goal-missing-context" },
|
|
@@ -232,11 +353,14 @@ describe("server-utils prompt contracts", () => {
|
|
|
232
353
|
agent: { id: "agent-missing-context", name: "Fallback Guard" },
|
|
233
354
|
context: {},
|
|
234
355
|
});
|
|
235
|
-
expect(rendered).toContain("report the missing outcome
|
|
236
|
-
expect(rendered).toContain("report the missing
|
|
237
|
-
expect(rendered).toContain("
|
|
356
|
+
expect(rendered).toContain("load managed Goal context once; otherwise report the missing outcome");
|
|
357
|
+
expect(rendered).toContain("load managed Goal context once; otherwise report the missing current Plan");
|
|
358
|
+
expect(rendered).toContain("load managed Goal context once; otherwise report the missing continuation");
|
|
359
|
+
expect(rendered).toContain("load managed Goal context once; otherwise report the missing feedback body");
|
|
360
|
+
expect(rendered).toContain("Missing context is not by itself a validated blocked conclusion.");
|
|
238
361
|
expect(rendered).not.toContain("load the Goal's current");
|
|
239
362
|
expect(rendered).not.toContain("load the triggering feedback entry");
|
|
363
|
+
expect(rendered).toContain("Do not use shell, Bash, curl, or the `rudder` CLI to read or mutate Goal state");
|
|
240
364
|
});
|
|
241
365
|
it("renders explicit issue ownership and timestamp metadata for issue-aware wakes", () => {
|
|
242
366
|
const issue = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-utils.prompts.test.js","sourceRoot":"","sources":["../src/server-utils.prompts.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-utils.prompts.test.js","sourceRoot":"","sources":["../src/server-utils.prompts.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -877,12 +877,45 @@ describe("selectPromptTemplate", () => {
|
|
|
877
877
|
expect(mentionPrompt).toContain("not an automatic transfer of issue ownership");
|
|
878
878
|
});
|
|
879
879
|
});
|
|
880
|
+
describe("renderTemplate short references", () => {
|
|
881
|
+
it("renders agent-facing entity UUIDs as typed short refs while preserving non-UUID values", () => {
|
|
882
|
+
const agentId = "d573266f-af95-44e6-9303-e903a54662b8";
|
|
883
|
+
const runId = "609695f1-f90a-4b17-be61-4f0c6fe37c42";
|
|
884
|
+
const issueId = "4a6dcb93-e3b8-4ab8-a56e-8ad9bc5e24a2";
|
|
885
|
+
const commentId = "091492ab-3d85-4fcb-b066-1db769eed56d";
|
|
886
|
+
const goalId = "14ff96a7-2518-456a-8aae-480360f0d9aa";
|
|
887
|
+
const projectId = "c9623d48-0f8f-4fb0-965d-2ab264f5e55d";
|
|
888
|
+
const userId = "f2131f87-d8f0-4e43-b955-161c2ac12c46";
|
|
889
|
+
const messageId = "8cbac610-f182-4dae-81dc-03ee6a156deb";
|
|
890
|
+
const rendered = renderTemplate([
|
|
891
|
+
"{{agent.id}}",
|
|
892
|
+
"{{context.recovery.originalRunId}}",
|
|
893
|
+
"{{issue.id}}",
|
|
894
|
+
"{{comment.id}}",
|
|
895
|
+
"{{context.goalRuntime.goalId}}",
|
|
896
|
+
"{{context.agentIssueCreationRequest.projectId}}",
|
|
897
|
+
"{{context.agentIssueCreationRequest.requestedByUserId}}",
|
|
898
|
+
"{{context.messageId}}",
|
|
899
|
+
"{{context.customId}}",
|
|
900
|
+
].join("|"), {
|
|
901
|
+
agent: { id: agentId },
|
|
902
|
+
issue: { id: issueId },
|
|
903
|
+
comment: { id: commentId },
|
|
904
|
+
context: {
|
|
905
|
+
recovery: { originalRunId: runId },
|
|
906
|
+
goalRuntime: { goalId },
|
|
907
|
+
agentIssueCreationRequest: { projectId, requestedByUserId: userId },
|
|
908
|
+
messageId,
|
|
909
|
+
customId: "legacy-identifier",
|
|
910
|
+
},
|
|
911
|
+
});
|
|
912
|
+
expect(rendered).toBe("agt_d573266f|run_609695f1|iss_4a6dcb93|cmt_091492ab|gol_14ff96a7|prj_c9623d48|usr_f2131f87|msg_8cbac610|legacy-identifier");
|
|
913
|
+
});
|
|
914
|
+
});
|
|
880
915
|
describe("loadAgentInstructionsPrefix", () => {
|
|
881
916
|
it("loads the runtime operating contract without an instruction file", async () => {
|
|
882
|
-
const currentTime = new Date("2026-06-15T12:34:56.789Z");
|
|
883
917
|
const loaded = await loadAgentInstructionsPrefix({
|
|
884
918
|
instructionsFilePath: "",
|
|
885
|
-
currentTime,
|
|
886
919
|
onLog: async () => { },
|
|
887
920
|
});
|
|
888
921
|
expect(loaded.prefix).toContain("# Rudder Agent Operating Contract");
|
|
@@ -918,10 +951,9 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
918
951
|
expect(loaded.prefix).toContain("plain text agent names are not wake requests");
|
|
919
952
|
expect(loaded.prefix).toContain("Use wake-intent links only when you intentionally want to wake another agent");
|
|
920
953
|
expect(loaded.prefix).toContain("attach the image with the Rudder CLI `--image <path>` option");
|
|
921
|
-
expect(loaded.prefix).toContain("## Current Time");
|
|
922
|
-
expect(loaded.prefix).toContain("Instruction load time:
|
|
923
|
-
expect(loaded.prefix).toContain("Treat this as the current time for this run");
|
|
924
|
-
expect(loaded.prefix).toMatch(/## Current Time[\s\S]*fresher timestamp\.$/);
|
|
954
|
+
expect(loaded.prefix).not.toContain("## Current Time");
|
|
955
|
+
expect(loaded.prefix).not.toContain("Instruction load time:");
|
|
956
|
+
expect(loaded.prefix).not.toContain("Treat this as the current time for this run");
|
|
925
957
|
expect(loaded.commandNotes).toEqual(["Loaded Rudder agent operating contract from runtime code"]);
|
|
926
958
|
expect(loaded.readFailed).toBe(false);
|
|
927
959
|
expect(loaded.memoryFilePath).toBeNull();
|
|
@@ -1014,7 +1046,6 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
1014
1046
|
try {
|
|
1015
1047
|
const loaded = await loadAgentInstructionsPrefix({
|
|
1016
1048
|
instructionsFilePath: instructionsPath,
|
|
1017
|
-
currentTime: new Date("2026-06-15T23:45:00.000Z"),
|
|
1018
1049
|
onLog: async () => { },
|
|
1019
1050
|
});
|
|
1020
1051
|
expect(loaded.prefix).toContain("# Agent Instructions");
|
|
@@ -1022,10 +1053,10 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
1022
1053
|
expect(loaded.prefix).toContain("# Tools");
|
|
1023
1054
|
expect(loaded.prefix).toContain("# Tacit Memory");
|
|
1024
1055
|
expect(loaded.prefix).not.toContain("# Heartbeat");
|
|
1025
|
-
expect(loaded.prefix
|
|
1056
|
+
expect(loaded.prefix).not.toContain("## Current Time");
|
|
1026
1057
|
expect(loaded.prefix).toContain("The above AGENTS.md, SOUL.md, TOOLS.md, MEMORY.md instruction files were loaded from $AGENT_HOME/instructions.");
|
|
1027
1058
|
expect(loaded.prefix.match(/Resolve any relative file references from \$AGENT_HOME\/instructions\/\./g)).toHaveLength(1);
|
|
1028
|
-
expect(loaded.prefix).
|
|
1059
|
+
expect(loaded.prefix).not.toContain("Instruction load time:");
|
|
1029
1060
|
expect(loaded.commandNotes).toContain("Loaded agent instructions from $AGENT_HOME/instructions/AGENTS.md");
|
|
1030
1061
|
expect(loaded.commandNotes).toContain("Loaded agent soul instructions from $AGENT_HOME/instructions/SOUL.md");
|
|
1031
1062
|
expect(loaded.commandNotes).toContain("Loaded agent tool notes from $AGENT_HOME/instructions/TOOLS.md");
|
|
@@ -1060,8 +1091,7 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
1060
1091
|
const loaded = await loadAgentInstructionsPrefix({
|
|
1061
1092
|
instructionsFilePath: instructionsPath,
|
|
1062
1093
|
includeHeartbeatInstructions: true,
|
|
1063
|
-
|
|
1064
|
-
currentTime: new Date("2026-06-21T05:50:43.024Z"),
|
|
1094
|
+
instructionContextSections: ["## Recent Rudder Context\n\n#### today memory: 2026-06-21.md\n- Calibrate prompt stack"],
|
|
1065
1095
|
onLog: async () => { },
|
|
1066
1096
|
});
|
|
1067
1097
|
const operatingContractIndex = loaded.prefix.indexOf("# Rudder Agent Operating Contract");
|
|
@@ -1069,15 +1099,14 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
1069
1099
|
const toolsIndex = loaded.prefix.indexOf("# Tool Notes");
|
|
1070
1100
|
const memoryIndex = loaded.prefix.indexOf("# Memory Notes");
|
|
1071
1101
|
const recentContextIndex = loaded.prefix.indexOf("## Recent Rudder Context");
|
|
1072
|
-
const currentTimeIndex = loaded.prefix.indexOf("## Current Time");
|
|
1073
1102
|
const heartbeatIndex = loaded.prefix.indexOf("# Rudder Heartbeat Instruction");
|
|
1074
1103
|
expect(operatingContractIndex).toBeGreaterThanOrEqual(0);
|
|
1075
1104
|
expect(soulIndex).toBeGreaterThan(operatingContractIndex);
|
|
1076
1105
|
expect(toolsIndex).toBeGreaterThan(soulIndex);
|
|
1077
1106
|
expect(memoryIndex).toBeGreaterThan(toolsIndex);
|
|
1078
1107
|
expect(recentContextIndex).toBeGreaterThan(memoryIndex);
|
|
1079
|
-
expect(
|
|
1080
|
-
expect(
|
|
1108
|
+
expect(heartbeatIndex).toBeGreaterThan(recentContextIndex);
|
|
1109
|
+
expect(loaded.prefix).not.toContain("## Current Time");
|
|
1081
1110
|
expect(loaded.prefix).toContain("# Persona");
|
|
1082
1111
|
expect(loaded.prefix).toContain("# Tool Notes");
|
|
1083
1112
|
expect(loaded.prefix).toContain("# Memory Notes");
|
|
@@ -1137,8 +1166,7 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
1137
1166
|
const loaded = await loadAgentInstructionsPrefix({
|
|
1138
1167
|
instructionsFilePath: instructionsPath,
|
|
1139
1168
|
includeHeartbeatInstructions: true,
|
|
1140
|
-
|
|
1141
|
-
currentTime: new Date("2026-06-16T09:10:11.000Z"),
|
|
1169
|
+
instructionContextSections: instructionContext.instructionContextSections,
|
|
1142
1170
|
onLog: async () => { },
|
|
1143
1171
|
});
|
|
1144
1172
|
const operatingContractIndex = loaded.prefix.indexOf("# Rudder Agent Operating Contract");
|
|
@@ -1147,7 +1175,6 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
1147
1175
|
const toolsIndex = loaded.prefix.indexOf("# Agent Tools");
|
|
1148
1176
|
const memoryIndex = loaded.prefix.indexOf("# Agent Memory");
|
|
1149
1177
|
const automationsIndex = loaded.prefix.indexOf("## Your Current Automations");
|
|
1150
|
-
const currentTimeIndex = loaded.prefix.indexOf("## Current Time");
|
|
1151
1178
|
const heartbeatIndex = loaded.prefix.indexOf("# Rudder Heartbeat Instruction");
|
|
1152
1179
|
expect(operatingContractIndex).toBeGreaterThanOrEqual(0);
|
|
1153
1180
|
expect(agentContractIndex).toBeGreaterThan(operatingContractIndex);
|
|
@@ -1155,8 +1182,8 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
1155
1182
|
expect(toolsIndex).toBeGreaterThan(soulIndex);
|
|
1156
1183
|
expect(memoryIndex).toBeGreaterThan(toolsIndex);
|
|
1157
1184
|
expect(automationsIndex).toBeGreaterThan(memoryIndex);
|
|
1158
|
-
expect(
|
|
1159
|
-
expect(
|
|
1185
|
+
expect(heartbeatIndex).toBeGreaterThan(automationsIndex);
|
|
1186
|
+
expect(loaded.prefix).not.toContain("## Current Time");
|
|
1160
1187
|
expect(loaded.prefix).toMatch(/# Rudder Heartbeat Instruction[\s\S]*runtime\.$/);
|
|
1161
1188
|
expect(renderTemplate("{{context.rudderWorkspace.orgResourcesPrompt}}", { context: instructionContext.promptContext })).toBe("");
|
|
1162
1189
|
}
|
|
@@ -1169,21 +1196,21 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
1169
1196
|
const topLevelOnly = prepareAgentInstructionRuntimeContext({
|
|
1170
1197
|
rudderResourcesPrompt: canonicalPrompt,
|
|
1171
1198
|
});
|
|
1172
|
-
expect(topLevelOnly.
|
|
1199
|
+
expect(topLevelOnly.instructionContextSections).toEqual([canonicalPrompt]);
|
|
1173
1200
|
expect(renderTemplate("{{context.rudderResourcesPrompt}}", { context: topLevelOnly.promptContext })).toBe("");
|
|
1174
1201
|
const resourcesOnly = prepareAgentInstructionRuntimeContext({
|
|
1175
1202
|
rudderWorkspace: {
|
|
1176
1203
|
resourcesPrompt: canonicalPrompt,
|
|
1177
1204
|
},
|
|
1178
1205
|
});
|
|
1179
|
-
expect(resourcesOnly.
|
|
1206
|
+
expect(resourcesOnly.instructionContextSections).toEqual([canonicalPrompt]);
|
|
1180
1207
|
expect(renderTemplate("{{context.rudderWorkspace.resourcesPrompt}}", { context: resourcesOnly.promptContext })).toBe("");
|
|
1181
1208
|
const legacyOnly = prepareAgentInstructionRuntimeContext({
|
|
1182
1209
|
rudderWorkspace: {
|
|
1183
1210
|
orgResourcesPrompt: canonicalPrompt,
|
|
1184
1211
|
},
|
|
1185
1212
|
});
|
|
1186
|
-
expect(legacyOnly.
|
|
1213
|
+
expect(legacyOnly.instructionContextSections).toEqual([canonicalPrompt]);
|
|
1187
1214
|
expect(renderTemplate("{{context.rudderWorkspace.orgResourcesPrompt}}", { context: legacyOnly.promptContext })).toBe("");
|
|
1188
1215
|
});
|
|
1189
1216
|
it("prefers canonical resourcesPrompt and only clears matching resource prompt aliases", async () => {
|
|
@@ -1196,7 +1223,7 @@ describe("loadAgentInstructionsPrefix", () => {
|
|
|
1196
1223
|
orgResourcesPrompt: legacyPrompt,
|
|
1197
1224
|
},
|
|
1198
1225
|
});
|
|
1199
|
-
expect(prepared.
|
|
1226
|
+
expect(prepared.instructionContextSections).toEqual([canonicalPrompt]);
|
|
1200
1227
|
expect(renderTemplate("{{context.rudderResourcesPrompt}}", { context: prepared.promptContext })).toBe("");
|
|
1201
1228
|
expect(renderTemplate("{{context.rudderWorkspace.resourcesPrompt}}", { context: prepared.promptContext })).toBe("");
|
|
1202
1229
|
expect(renderTemplate("{{context.rudderWorkspace.orgResourcesPrompt}}", { context: prepared.promptContext })).toBe(legacyPrompt);
|