@nookplot/runtime 0.5.110 → 0.5.117

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.
Files changed (63) hide show
  1. package/dist/__tests__/autonomous.doomLoop.test.d.ts +2 -0
  2. package/dist/__tests__/autonomous.doomLoop.test.d.ts.map +1 -0
  3. package/dist/__tests__/autonomous.doomLoop.test.js +126 -0
  4. package/dist/__tests__/autonomous.doomLoop.test.js.map +1 -0
  5. package/dist/__tests__/autonomous.getAvailableActions.test.js +41 -0
  6. package/dist/__tests__/autonomous.getAvailableActions.test.js.map +1 -1
  7. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts +2 -0
  8. package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts.map +1 -0
  9. package/dist/__tests__/autonomous.loadedSkillRefs.test.js +150 -0
  10. package/dist/__tests__/autonomous.loadedSkillRefs.test.js.map +1 -0
  11. package/dist/__tests__/codegen-drift.test.d.ts +23 -0
  12. package/dist/__tests__/codegen-drift.test.d.ts.map +1 -0
  13. package/dist/__tests__/codegen-drift.test.js +187 -0
  14. package/dist/__tests__/codegen-drift.test.js.map +1 -0
  15. package/dist/__tests__/doomLoop.test.d.ts +6 -0
  16. package/dist/__tests__/doomLoop.test.d.ts.map +1 -0
  17. package/dist/__tests__/doomLoop.test.js +144 -0
  18. package/dist/__tests__/doomLoop.test.js.map +1 -0
  19. package/dist/__tests__/goalLoop.test.js +111 -0
  20. package/dist/__tests__/goalLoop.test.js.map +1 -1
  21. package/dist/__tests__/hooks.test.js +4 -0
  22. package/dist/__tests__/hooks.test.js.map +1 -1
  23. package/dist/__tests__/onChainActions.parity.test.d.ts +12 -0
  24. package/dist/__tests__/onChainActions.parity.test.d.ts.map +1 -0
  25. package/dist/__tests__/onChainActions.parity.test.js +104 -0
  26. package/dist/__tests__/onChainActions.parity.test.js.map +1 -0
  27. package/dist/__tests__/signing.test.d.ts +2 -0
  28. package/dist/__tests__/signing.test.d.ts.map +1 -0
  29. package/dist/__tests__/signing.test.js +260 -0
  30. package/dist/__tests__/signing.test.js.map +1 -0
  31. package/dist/actionCatalog.generated.d.ts +1 -1
  32. package/dist/actionCatalog.generated.d.ts.map +1 -1
  33. package/dist/actionCatalog.generated.js +152 -22
  34. package/dist/actionCatalog.generated.js.map +1 -1
  35. package/dist/actionCatalog.js +1 -1
  36. package/dist/actionCatalog.js.map +1 -1
  37. package/dist/autonomous.d.ts +11 -0
  38. package/dist/autonomous.d.ts.map +1 -1
  39. package/dist/autonomous.js +98 -0
  40. package/dist/autonomous.js.map +1 -1
  41. package/dist/bounties.js +1 -1
  42. package/dist/bounties.js.map +1 -1
  43. package/dist/doomLoop.d.ts +52 -0
  44. package/dist/doomLoop.d.ts.map +1 -0
  45. package/dist/doomLoop.js +173 -0
  46. package/dist/doomLoop.js.map +1 -0
  47. package/dist/goal/goalLoop.d.ts +3 -0
  48. package/dist/goal/goalLoop.d.ts.map +1 -1
  49. package/dist/goal/goalLoop.js +30 -1
  50. package/dist/goal/goalLoop.js.map +1 -1
  51. package/dist/hooks.d.ts +10 -0
  52. package/dist/hooks.d.ts.map +1 -1
  53. package/dist/hooks.js.map +1 -1
  54. package/dist/signalActionMap.d.ts +13 -1
  55. package/dist/signalActionMap.d.ts.map +1 -1
  56. package/dist/signalActionMap.js +43 -5
  57. package/dist/signalActionMap.js.map +1 -1
  58. package/dist/signing.js +2 -2
  59. package/dist/signing.js.map +1 -1
  60. package/dist/tools.d.ts.map +1 -1
  61. package/dist/tools.js +7 -2
  62. package/dist/tools.js.map +1 -1
  63. package/package.json +2 -2
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Doom-loop detector — catches stuck agents that call the same tool with
3
+ * the same args 3+ times, or cycle through an `A,B,A,B`-style pattern.
4
+ *
5
+ * TypeScript parity with `runtime-py/nookplot_runtime/doom_loop.py`.
6
+ *
7
+ * Consumer-agnostic: callers pass either a list of OpenAI/litellm-shaped
8
+ * messages (`{role, tool_calls: [{function: {name, arguments}}]}`) or a
9
+ * pre-extracted list of `ToolCallSignature` values.
10
+ *
11
+ * The primary entry point is {@link checkForDoomLoop}. The goal loop uses
12
+ * {@link checkForDoomLoopFromSignatures} directly since it tracks action
13
+ * decisions, not raw LLM messages.
14
+ *
15
+ * Returned value is the offending tool name (string) or `null`. For repeating
16
+ * patterns, the first tool in the repeating unit is returned.
17
+ *
18
+ * @module doomLoop
19
+ */
20
+ export declare const DEFAULT_LOOKBACK = 30;
21
+ export declare const IDENTICAL_THRESHOLD = 3;
22
+ export declare const MIN_PATTERN_LEN = 2;
23
+ export declare const MAX_PATTERN_LEN = 5;
24
+ export declare const MIN_PATTERN_REPS = 2;
25
+ export interface ToolCallSignature {
26
+ readonly name: string;
27
+ readonly argsHash: string;
28
+ }
29
+ /**
30
+ * Pull tool-call signatures out of the last `lookback` assistant messages.
31
+ * Non-assistant messages and messages without `tool_calls` are skipped.
32
+ */
33
+ export declare function extractRecentToolSignatures(messages: unknown[], lookback?: number): ToolCallSignature[];
34
+ /** Return the tool name if `threshold` or more identical consecutive calls exist. */
35
+ export declare function detectIdenticalConsecutive(signatures: ToolCallSignature[], threshold?: number): string | null;
36
+ /**
37
+ * Detect an `[A,B]`-style repeating unit at the tail with 2+ repetitions.
38
+ * Scans unit lengths from 2 to 5. The smallest matching pattern wins.
39
+ */
40
+ export declare function detectRepeatingSequence(signatures: ToolCallSignature[]): ToolCallSignature[] | null;
41
+ /** Return the offending tool name, or `null` if no doom loop is present. */
42
+ export declare function checkForDoomLoopFromSignatures(signatures: ToolCallSignature[]): string | null;
43
+ /**
44
+ * Check recent messages for a doom loop.
45
+ * Returns the offending tool name, or `null` if no loop is detected.
46
+ */
47
+ export declare function checkForDoomLoop(messages: unknown[], lookback?: number): string | null;
48
+ /** Compose the system-inject message used after a doom loop is detected. */
49
+ export declare function buildCorrectivePrompt(offender: string): string;
50
+ /** Helper for callers that build their own signature list: hash args and construct. */
51
+ export declare function makeSignature(name: string, args: unknown): ToolCallSignature;
52
+ //# sourceMappingURL=doomLoop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doomLoop.d.ts","sourceRoot":"","sources":["../src/doomLoop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAgDD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,GAAE,MAAyB,GAClC,iBAAiB,EAAE,CAoBrB;AAED,qFAAqF;AACrF,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,SAAS,GAAE,MAA4B,GACtC,MAAM,GAAG,IAAI,CAYf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,iBAAiB,EAAE,GAC9B,iBAAiB,EAAE,GAAG,IAAI,CAmB5B;AAED,4EAA4E;AAC5E,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,iBAAiB,EAAE,GAC9B,MAAM,GAAG,IAAI,CAUf;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,GAAE,MAAyB,GAClC,MAAM,GAAG,IAAI,CAGf;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAE5E"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Doom-loop detector — catches stuck agents that call the same tool with
3
+ * the same args 3+ times, or cycle through an `A,B,A,B`-style pattern.
4
+ *
5
+ * TypeScript parity with `runtime-py/nookplot_runtime/doom_loop.py`.
6
+ *
7
+ * Consumer-agnostic: callers pass either a list of OpenAI/litellm-shaped
8
+ * messages (`{role, tool_calls: [{function: {name, arguments}}]}`) or a
9
+ * pre-extracted list of `ToolCallSignature` values.
10
+ *
11
+ * The primary entry point is {@link checkForDoomLoop}. The goal loop uses
12
+ * {@link checkForDoomLoopFromSignatures} directly since it tracks action
13
+ * decisions, not raw LLM messages.
14
+ *
15
+ * Returned value is the offending tool name (string) or `null`. For repeating
16
+ * patterns, the first tool in the repeating unit is returned.
17
+ *
18
+ * @module doomLoop
19
+ */
20
+ import { createHash } from "node:crypto";
21
+ export const DEFAULT_LOOKBACK = 30;
22
+ export const IDENTICAL_THRESHOLD = 3;
23
+ export const MIN_PATTERN_LEN = 2;
24
+ export const MAX_PATTERN_LEN = 5;
25
+ export const MIN_PATTERN_REPS = 2;
26
+ function stableStringify(value) {
27
+ const replacer = (_key, v) => {
28
+ if (v && typeof v === "object" && !Array.isArray(v)) {
29
+ const sorted = {};
30
+ for (const k of Object.keys(v).sort()) {
31
+ sorted[k] = v[k];
32
+ }
33
+ return sorted;
34
+ }
35
+ return v;
36
+ };
37
+ return JSON.stringify(value, replacer);
38
+ }
39
+ function hashArgs(args) {
40
+ let payload;
41
+ if (typeof args === "string") {
42
+ payload = args;
43
+ }
44
+ else {
45
+ try {
46
+ payload = stableStringify(args);
47
+ }
48
+ catch {
49
+ payload = String(args);
50
+ }
51
+ }
52
+ return createHash("md5").update(payload).digest("hex").slice(0, 12);
53
+ }
54
+ function get(obj, key) {
55
+ if (obj === null || obj === undefined)
56
+ return undefined;
57
+ if (typeof obj !== "object")
58
+ return undefined;
59
+ return obj[key];
60
+ }
61
+ function sigEquals(a, b) {
62
+ return a.name === b.name && a.argsHash === b.argsHash;
63
+ }
64
+ function sliceEquals(a, b) {
65
+ if (a.length !== b.length)
66
+ return false;
67
+ for (let i = 0; i < a.length; i++) {
68
+ if (!sigEquals(a[i], b[i]))
69
+ return false;
70
+ }
71
+ return true;
72
+ }
73
+ /**
74
+ * Pull tool-call signatures out of the last `lookback` assistant messages.
75
+ * Non-assistant messages and messages without `tool_calls` are skipped.
76
+ */
77
+ export function extractRecentToolSignatures(messages, lookback = DEFAULT_LOOKBACK) {
78
+ const recent = messages.length > lookback ? messages.slice(-lookback) : messages;
79
+ const signatures = [];
80
+ for (const msg of recent) {
81
+ if (get(msg, "role") !== "assistant")
82
+ continue;
83
+ const toolCalls = get(msg, "tool_calls");
84
+ if (!Array.isArray(toolCalls) || toolCalls.length === 0)
85
+ continue;
86
+ for (const tc of toolCalls) {
87
+ const fn = get(tc, "function");
88
+ if (fn === undefined || fn === null)
89
+ continue;
90
+ const name = get(fn, "name");
91
+ if (typeof name !== "string" || name.length === 0)
92
+ continue;
93
+ const args = get(fn, "arguments") ?? "";
94
+ signatures.push({ name, argsHash: hashArgs(args) });
95
+ }
96
+ }
97
+ return signatures;
98
+ }
99
+ /** Return the tool name if `threshold` or more identical consecutive calls exist. */
100
+ export function detectIdenticalConsecutive(signatures, threshold = IDENTICAL_THRESHOLD) {
101
+ if (signatures.length < threshold)
102
+ return null;
103
+ let count = 1;
104
+ for (let i = 1; i < signatures.length; i++) {
105
+ if (sigEquals(signatures[i], signatures[i - 1])) {
106
+ count++;
107
+ if (count >= threshold)
108
+ return signatures[i].name;
109
+ }
110
+ else {
111
+ count = 1;
112
+ }
113
+ }
114
+ return null;
115
+ }
116
+ /**
117
+ * Detect an `[A,B]`-style repeating unit at the tail with 2+ repetitions.
118
+ * Scans unit lengths from 2 to 5. The smallest matching pattern wins.
119
+ */
120
+ export function detectRepeatingSequence(signatures) {
121
+ const n = signatures.length;
122
+ for (let seqLen = MIN_PATTERN_LEN; seqLen <= MAX_PATTERN_LEN; seqLen++) {
123
+ const minRequired = seqLen * MIN_PATTERN_REPS;
124
+ if (n < minRequired)
125
+ continue;
126
+ const tail = signatures.slice(-minRequired);
127
+ const pattern = tail.slice(0, seqLen);
128
+ let reps = 0;
129
+ for (let start = n - seqLen; start >= 0; start -= seqLen) {
130
+ const chunk = signatures.slice(start, start + seqLen);
131
+ if (sliceEquals(chunk, pattern)) {
132
+ reps++;
133
+ }
134
+ else {
135
+ break;
136
+ }
137
+ }
138
+ if (reps >= MIN_PATTERN_REPS)
139
+ return pattern;
140
+ }
141
+ return null;
142
+ }
143
+ /** Return the offending tool name, or `null` if no doom loop is present. */
144
+ export function checkForDoomLoopFromSignatures(signatures) {
145
+ if (signatures.length < IDENTICAL_THRESHOLD)
146
+ return null;
147
+ const offender = detectIdenticalConsecutive(signatures, IDENTICAL_THRESHOLD);
148
+ if (offender)
149
+ return offender;
150
+ const pattern = detectRepeatingSequence(signatures);
151
+ if (pattern)
152
+ return pattern[0].name;
153
+ return null;
154
+ }
155
+ /**
156
+ * Check recent messages for a doom loop.
157
+ * Returns the offending tool name, or `null` if no loop is detected.
158
+ */
159
+ export function checkForDoomLoop(messages, lookback = DEFAULT_LOOKBACK) {
160
+ const signatures = extractRecentToolSignatures(messages, lookback);
161
+ return checkForDoomLoopFromSignatures(signatures);
162
+ }
163
+ /** Compose the system-inject message used after a doom loop is detected. */
164
+ export function buildCorrectivePrompt(offender) {
165
+ return (`⚠ Doom loop detected on '${offender}'. Change approach: either use a ` +
166
+ `DIFFERENT tool, or if you must use '${offender}', call it with meaningfully ` +
167
+ `different args. Otherwise declare noop or needs_capability.`);
168
+ }
169
+ /** Helper for callers that build their own signature list: hash args and construct. */
170
+ export function makeSignature(name, args) {
171
+ return { name, argsHash: hashArgs(args) };
172
+ }
173
+ //# sourceMappingURL=doomLoop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doomLoop.js","sourceRoot":"","sources":["../src/doomLoop.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,9 @@ export declare class GoalLoop {
32
32
  private recentSteps;
33
33
  private spentNook;
34
34
  private stepsExecuted;
35
+ private toolSignatures;
36
+ private doomLoopTriggers;
37
+ private doomLoopNote;
35
38
  constructor(opts: GoalLoopOptions);
36
39
  /**
37
40
  * Run the loop to completion. Returns exactly one of four outcomes.
@@ -1 +1 @@
1
- {"version":3,"file":"goalLoop.d.ts","sourceRoot":"","sources":["../../src/goal/goalLoop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,eAAe,EAEhB,MAAM,YAAY,CAAC;AAapB,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgD;IAC9E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,aAAa,CAAK;gBAEd,IAAI,EAAE,eAAe;IAYjC;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;YAwGlB,mBAAmB;IAwBjC;;;;OAIG;YACW,oBAAoB;IA6BlC;;;;;;;OAOG;YACW,aAAa;YAyDb,kBAAkB;IAuBhC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CA6BzB;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,UAAU,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAgD9F"}
1
+ {"version":3,"file":"goalLoop.d.ts","sourceRoot":"","sources":["../../src/goal/goalLoop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,eAAe,EAEhB,MAAM,YAAY,CAAC;AAqBpB,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgD;IAC9E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,YAAY,CAAuB;gBAE/B,IAAI,EAAE,eAAe;IAYjC;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;YA4HlB,mBAAmB;IA4BjC;;;;OAIG;YACW,oBAAoB;IA6BlC;;;;;;;OAOG;YACW,aAAa;YAyDb,kBAAkB;IAuBhC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CA6BzB;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,UAAU,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAgD9F"}
@@ -19,9 +19,12 @@
19
19
  * @module goal/goalLoop
20
20
  */
21
21
  import { GOAL_STEP_SYSTEM_PROMPT, buildGoalStepUserPrompt } from "./goalPrompts.js";
22
+ import { buildCorrectivePrompt, checkForDoomLoopFromSignatures, makeSignature, } from "../doomLoop.js";
22
23
  const DEFAULT_MAX_STEPS = 20;
23
24
  const DEFAULT_MAX_NOOPS = 3;
24
25
  const DEFAULT_MAX_REFORMULATIONS = 3;
26
+ const DOOM_LOOP_MAX_TRIGGERS = 3;
27
+ const DOOM_LOOP_SIGNATURE_WINDOW = 30;
25
28
  export class GoalLoop {
26
29
  runtime;
27
30
  goal;
@@ -35,6 +38,9 @@ export class GoalLoop {
35
38
  recentSteps = [];
36
39
  spentNook = 0n;
37
40
  stepsExecuted = 0;
41
+ toolSignatures = [];
42
+ doomLoopTriggers = 0;
43
+ doomLoopNote = null;
38
44
  constructor(opts) {
39
45
  this.runtime = opts.runtime;
40
46
  this.goal = opts.goal;
@@ -123,6 +129,25 @@ export class GoalLoop {
123
129
  if (this.recentSteps.length > 16)
124
130
  this.recentSteps.shift();
125
131
  await this.recordStepRemotely(step + 1, decision.actionName, decision.description, execResult.output, execResult.costNook);
132
+ // --- Doom-loop detection (same tool+args 3x, or A,B,A,B patterns) ---
133
+ // Triggers inject a corrective prompt for the next turn.
134
+ // 3 triggers in one goal short-circuits to blocked_stuck.
135
+ this.toolSignatures.push(makeSignature(decision.actionName, decision.actionParams));
136
+ if (this.toolSignatures.length > DOOM_LOOP_SIGNATURE_WINDOW) {
137
+ this.toolSignatures = this.toolSignatures.slice(-DOOM_LOOP_SIGNATURE_WINDOW);
138
+ }
139
+ const offender = checkForDoomLoopFromSignatures(this.toolSignatures);
140
+ if (offender) {
141
+ this.doomLoopTriggers++;
142
+ if (this.doomLoopTriggers >= DOOM_LOOP_MAX_TRIGGERS) {
143
+ return {
144
+ outcome: "blocked_stuck",
145
+ stuckReason: `doom loop on '${offender}' (${this.doomLoopTriggers} triggers)`.slice(0, 1000),
146
+ spentNook: this.spentNook,
147
+ };
148
+ }
149
+ this.doomLoopNote = buildCorrectivePrompt(offender);
150
+ }
126
151
  // --- Soft budget warning (non-blocking) ---
127
152
  if (this.spentNook > this.budgetNook) {
128
153
  if (this.verbose) {
@@ -138,7 +163,11 @@ export class GoalLoop {
138
163
  // =======================================================================
139
164
  async askLLMForNextAction() {
140
165
  try {
141
- const userPrompt = buildGoalStepUserPrompt(this.goal, this.recentSteps, this.spentNook, this.budgetNook);
166
+ let userPrompt = buildGoalStepUserPrompt(this.goal, this.recentSteps, this.spentNook, this.budgetNook);
167
+ if (this.doomLoopNote) {
168
+ userPrompt = `${this.doomLoopNote}\n\n---\n\n${userPrompt}`;
169
+ this.doomLoopNote = null;
170
+ }
142
171
  const response = await this.inferenceCall({
143
172
  systemPrompt: GOAL_STEP_SYSTEM_PROMPT,
144
173
  userPrompt,
@@ -1 +1 @@
1
- {"version":3,"file":"goalLoop.js","sourceRoot":"","sources":["../../src/goal/goalLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goalLoop.js","sourceRoot":"","sources":["../../src/goal/goalLoop.ts"],"names":[],"mappings":"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"}
package/dist/hooks.d.ts CHANGED
@@ -94,6 +94,15 @@ export interface CompactionFailedPayload {
94
94
  /** How many messages were about to be compacted when the failure occurred. */
95
95
  attemptedMessages?: number;
96
96
  }
97
+ /** Doom-loop detector tripped — same tool+args 3+ times, or A,B,A,B cycle. */
98
+ export interface DoomLoopDetectedPayload {
99
+ /** Tool name responsible for the loop. */
100
+ offender: string;
101
+ /** Number of triggers accumulated for this agent (resets after a forced abort). */
102
+ triggers: number;
103
+ /** The action type whose dispatch tripped the detector. */
104
+ actionType: string;
105
+ }
97
106
  /** Map from event name → payload shape. Keep in lockstep with Python. */
98
107
  export interface HookEventMap {
99
108
  action_start: ActionStartPayload;
@@ -106,6 +115,7 @@ export interface HookEventMap {
106
115
  chat_turn_complete: ChatTurnCompletePayload;
107
116
  memory_compacted: MemoryCompactedPayload;
108
117
  compaction_failed: CompactionFailedPayload;
118
+ doom_loop_detected: DoomLoopDetectedPayload;
109
119
  }
110
120
  export type HookEvent = keyof HookEventMap;
111
121
  export type HookCallback<E extends HookEvent = HookEvent> = (payload: HookEventMap[E]) => void | Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAInD,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qDAAqD;AACrD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,6DAA6D;AAC7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;kFAC8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;iEAE6D;IAC7D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,8EAA8E;AAC9E,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,kBAAkB,CAAC;IACjC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,YAAY,EAAE,kBAAkB,CAAC;IACjC,eAAe,EAAE,qBAAqB,CAAC;IACvC,eAAe,EAAE,WAAW,CAAC;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,kBAAkB,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAC1D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KACrB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAwC;IAEzD;;;;OAIG;IACH,QAAQ,CAAC,CAAC,SAAS,SAAS,EAC1B,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,IAAI,GAAE,eAAoB,GACzB,MAAM,IAAI;IAYb,mEAAmE;IACnE,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAQpE;;;;;OAKG;IACG,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlF;;;OAGG;IACH,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAIhF,wDAAwD;IACxD,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI;IAK9B,qEAAqE;IACrE,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;CAGhC;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,cAAqB,CAAC"}
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAqIA,gEAAgE;AAEhE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IACf,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEzD;;;;OAIG;IACH,QAAQ,CACN,KAAQ,EACR,EAAmB,EACnB,OAAwB,EAAE;QAE1B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,EAAkB,CAAC,CAAC;;YAC9C,IAAI,CAAC,IAAI,CAAC,EAAkB,CAAC,CAAC;QAEnC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,mEAAmE;IACnE,UAAU,CAAsB,KAAQ,EAAE,EAAmB;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAkB,CAAC,CAAC;QAC7C,IAAI,GAAG,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAsB,KAAQ,EAAE,OAAwB;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACvC,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,OAAO,CAAC,UAAU,CACtB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,UAAU,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAsB,KAAQ,EAAE,OAAwB;QACvE,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,KAAiB;QACrB,IAAI,KAAK;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;YACnC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,KAAgB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAgJA,gEAAgE;AAEhE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IACf,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEzD;;;;OAIG;IACH,QAAQ,CACN,KAAQ,EACR,EAAmB,EACnB,OAAwB,EAAE;QAE1B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,EAAkB,CAAC,CAAC;;YAC9C,IAAI,CAAC,IAAI,CAAC,EAAkB,CAAC,CAAC;QAEnC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,mEAAmE;IACnE,UAAU,CAAsB,KAAQ,EAAE,EAAmB;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAkB,CAAC,CAAC;QAC7C,IAAI,GAAG,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAsB,KAAQ,EAAE,OAAwB;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACvC,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,OAAO,CAAC,UAAU,CACtB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,UAAU,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAsB,KAAQ,EAAE,OAAwB;QACvE,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,KAAiB;QACrB,IAAI,KAAK;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;YACnC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,KAAgB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -31,14 +31,26 @@ export declare const CORE_ACTIONS: string[];
31
31
  */
32
32
  export declare const SIGNAL_SELECTION_MODE: Record<string, SelectionMode>;
33
33
  export declare const SIGNAL_CONTEXT_ACTIONS: Record<string, string[]>;
34
+ /**
35
+ * Returns true when progressive disclosure is enabled for this process.
36
+ *
37
+ * Reads `NOOKPLOT_PROGRESSIVE_DISCLOSURE` from the environment. Default off —
38
+ * existing agents see no behavioral change unless they opt in.
39
+ */
40
+ export declare function isProgressiveDisclosureEnabled(): boolean;
34
41
  /**
35
42
  * Derive the full list of available actions for a given signal type and loaded categories.
36
43
  *
37
- * Combines:
44
+ * Default mode:
38
45
  * 1. CORE_ACTIONS (always available, ~30)
39
46
  * 2. SIGNAL_CONTEXT_ACTIONS for the signal type (contextual, 0-6)
40
47
  * 3. All actions from loaded categories (dynamically loaded via browse_tools)
41
48
  *
49
+ * Progressive disclosure mode (NOOKPLOT_PROGRESSIVE_DISCLOSURE=1):
50
+ * Returns CORE_ACTIONS only — signal-context tools become discoverable only
51
+ * via nookplot_search_skills + nookplot_load_skill. More aggressive than
52
+ * browse_tools (which loads a category at a time).
53
+ *
42
54
  * @param signalType - The signal type (e.g. "directive", "bounty_claimed")
43
55
  * @param loadedCategories - Set of category names loaded via browse_tools
44
56
  * @returns Deduplicated array of action names
@@ -1 +1 @@
1
- {"version":3,"file":"signalActionMap.d.ts","sourceRoot":"","sources":["../src/signalActionMap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AAM7E,eAAO,MAAM,YAAY,EAAE,MAAM,EA0BhC,CAAC;AAOF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAqB/D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAoK3D,CAAC;AAGF;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,MAAM,EAAE,CAqBV"}
1
+ {"version":3,"file":"signalActionMap.d.ts","sourceRoot":"","sources":["../src/signalActionMap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AAM7E,eAAO,MAAM,YAAY,EAAE,MAAM,EA4BhC,CAAC;AAOF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAqB/D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAqL3D,CAAC;AAGF;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAGxD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,MAAM,EAAE,CA0BV"}
@@ -40,6 +40,8 @@ export const CORE_ACTIONS = [
40
40
  "check_reputation", "get_comments",
41
41
  // Latent space coordination
42
42
  "discover_bundles_semantic", "update_manifest", "suggest_citations",
43
+ // Skill discovery (SRA — universal capability, not specialization-specific)
44
+ "search_skills", "load_skill",
43
45
  ];
44
46
  // ── Signal Context Actions ──
45
47
  // Per-signal-type additions. Only the actions *specific* to that signal.
@@ -129,15 +131,22 @@ export const SIGNAL_CONTEXT_ACTIONS = {
129
131
  bounty_application_submitted: ["approve_bounty_claimer", "reject_bounty_application"],
130
132
  bounty_application_approved: ["claim_bounty"],
131
133
  bounty_application_rejected: [],
132
- bounty_work_submitted: ["select_bounty_submission"],
134
+ // On-chain submit fires this signal too — the creator's next action is approve/dispute.
135
+ bounty_work_submitted: ["select_bounty_submission", "approve_bounty_work", "dispute_bounty_work"],
133
136
  bounty_submission_selected: ["claim_bounty"],
134
137
  bounty_submission_not_selected: [],
135
138
  // ── Bounties (on-chain lifecycle) ──
136
- bounty_claimed: ["approve_bounty_work", "approve_bounty_claimer", "dispute_bounty_work", "unclaim_bounty"],
139
+ bounty_claimed: [
140
+ "submit_bounty_work", "submit_bounty_onchain", "unclaim_bounty",
141
+ "approve_bounty_work", "approve_bounty_claimer", "dispute_bounty_work",
142
+ ],
137
143
  bounty_work_approved: [],
138
- bounty_disputed: ["cancel_bounty"],
144
+ bounty_disputed: ["cancel_bounty", "expire_disputed_bounty"], // V8: emergency 50/50 exit after 30-day grace
145
+ bounty_dispute_expired: [], // V8: terminal status, no further action
139
146
  bounty_cancelled: [],
147
+ bounty_unclaimed: ["approve_bounty_claimer", "cancel_bounty"],
140
148
  bounty_claimer_approved: ["claim_bounty"],
149
+ bounty_expired: [],
141
150
  // ── Guilds ──
142
151
  guild_opportunity: [
143
152
  "join_guild", "approve_guild", "reject_guild", "leave_guild", "propose_guild", "link_project_to_guild",
@@ -177,6 +186,14 @@ export const SIGNAL_CONTEXT_ACTIONS = {
177
186
  // Content upload + knowledge bundling
178
187
  "upload_mining_content",
179
188
  "bundle_mining_learnings", "create_bundle",
189
+ // RLM trajectory mining (Phase 0a/1 — additive track).
190
+ // Phase 2 will append: rlm_repl_exec, rlm_repl_llm_query,
191
+ // rlm_repl_finalize, rlm_provider_poll.
192
+ // Bare action names (no nookplot_ prefix) — matches ACTION_CATALOG keys
193
+ // and the cli dispatcher's `nookplot_${action.action}` toolName construction
194
+ // at cli/src/commands/listen.ts:505. The prefix is added by the dispatcher,
195
+ // never by the map.
196
+ "discover_rlm", "open_rlm_session", "submit_rlm",
180
197
  ],
181
198
  // ── Mining Notifications ──
182
199
  submission_verified: [
@@ -194,7 +211,9 @@ export const SIGNAL_CONTEXT_ACTIONS = {
194
211
  proposal_received: ["accept_proposal", "reject_proposal"],
195
212
  intent_accepted: ["complete_intent"],
196
213
  // ── Specialization ──
197
- specialization_path: ["record_gap", "update_proficiency", "search_skills", "install_skill"],
214
+ // Note: search_skills and load_skill moved to CORE_ACTIONS (universal capability).
215
+ // install_skill stays here — it's specialization-specific (persisting to disk).
216
+ specialization_path: ["record_gap", "update_proficiency", "install_skill"],
198
217
  // ── Teaching ──
199
218
  teaching_proposed: ["accept_teaching", "reject_teaching"],
200
219
  teaching_accepted: ["deliver_teaching"],
@@ -222,19 +241,38 @@ export const SIGNAL_CONTEXT_ACTIONS = {
222
241
  swarm_subtask_claimed: ["get_swarm"],
223
242
  swarm_result_submitted: ["get_swarm", "aggregate_swarm", "accept_subtask_result", "reject_subtask_result"],
224
243
  };
244
+ /**
245
+ * Returns true when progressive disclosure is enabled for this process.
246
+ *
247
+ * Reads `NOOKPLOT_PROGRESSIVE_DISCLOSURE` from the environment. Default off —
248
+ * existing agents see no behavioral change unless they opt in.
249
+ */
250
+ export function isProgressiveDisclosureEnabled() {
251
+ const v = (typeof process !== "undefined" ? process.env?.NOOKPLOT_PROGRESSIVE_DISCLOSURE : undefined) ?? "0";
252
+ return v === "1" || v.toLowerCase() === "true";
253
+ }
225
254
  /**
226
255
  * Derive the full list of available actions for a given signal type and loaded categories.
227
256
  *
228
- * Combines:
257
+ * Default mode:
229
258
  * 1. CORE_ACTIONS (always available, ~30)
230
259
  * 2. SIGNAL_CONTEXT_ACTIONS for the signal type (contextual, 0-6)
231
260
  * 3. All actions from loaded categories (dynamically loaded via browse_tools)
232
261
  *
262
+ * Progressive disclosure mode (NOOKPLOT_PROGRESSIVE_DISCLOSURE=1):
263
+ * Returns CORE_ACTIONS only — signal-context tools become discoverable only
264
+ * via nookplot_search_skills + nookplot_load_skill. More aggressive than
265
+ * browse_tools (which loads a category at a time).
266
+ *
233
267
  * @param signalType - The signal type (e.g. "directive", "bounty_claimed")
234
268
  * @param loadedCategories - Set of category names loaded via browse_tools
235
269
  * @returns Deduplicated array of action names
236
270
  */
237
271
  export function getAvailableActionsFromMap(signalType, loadedCategories) {
272
+ // Progressive disclosure: CORE only, regardless of signal/categories.
273
+ if (isProgressiveDisclosureEnabled()) {
274
+ return [...CORE_ACTIONS];
275
+ }
238
276
  const actions = new Set(CORE_ACTIONS);
239
277
  // Add signal-specific context actions
240
278
  const contextActions = SIGNAL_CONTEXT_ACTIONS[signalType];
@@ -1 +1 @@
1
- {"version":3,"file":"signalActionMap.js","sourceRoot":"","sources":["../src/signalActionMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signalActionMap.js","sourceRoot":"","sources":["../src/signalActionMap.ts"],"names":[],"mappings":"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"}
package/dist/signing.js CHANGED
@@ -38,7 +38,7 @@ function enqueue(key, fn) {
38
38
  export async function signForwardRequest(privateKey, domain, types, value) {
39
39
  try {
40
40
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
- const mod = await new Function('return import("ethers")')();
41
+ const mod = (await import("ethers"));
42
42
  const ethers = mod.ethers ?? mod;
43
43
  const wallet = new ethers.Wallet(privateKey);
44
44
  return wallet.signTypedData(domain, types, value);
@@ -133,7 +133,7 @@ async function _prepareSignSendInner(connection, privateKey, preparePath, body)
133
133
  return { txHashes: [], meta };
134
134
  }
135
135
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
136
- const mod = await new Function('return import("ethers")')();
136
+ const mod = (await import("ethers"));
137
137
  const ethers = mod.ethers ?? mod;
138
138
  const rpcUrl = connection.config?.rpcUrl ??
139
139
  "https://mainnet.base.org";